Server README file version 1.0 $Author: spencer $ $Date: 2001/04/27 17:20:59 $ $Revision: 1.4 $ $Source: /cvs/homes/papi/papi/tools/perfometer/README-SERVER,v $ Created by: Thomas Spencer Created on: 4/25/01 Overview Before reading this file, please read the README file for perfometer. It explains the installation and general usage of perfometer, the server and GUI. Also, the README-COMM file explains all of the message types that are used and their syntax. The main purpose of the server is to allow multiple processes to be monitored. It works by passing messages from multiple applications to the GUI. It also passes messages from the GUI to the appropriate application. The server provides extra functionality to set an alarm for applications. Until the alarm is breached, the server discards all messages and does not send them to the GUI. When the alarm is breached, the server alerts the GUI. There is also a Tcl/Tk GUI called server_gui that can be used to start the server. It has buttons for all of the options which you may find easier to use. Installation The server is written in C which requires Pthreads and the PAPI library. If MPI support is desired, MPI must be installed on the system. There are two additions to the compilation of the server which affect the output during execution. These flags can be added to the line on the makefile which compiles the server. -DDEBUG Prints runtime messages about the execution of the server. -DDEBUG_VERBOSE Prints messages being sent and received. Using The Server The server has the following command line syntax: server [-nogui eventname@eventname@...] [-f filename] host port host port ... or server -h * -nogui eventname This will allow applications to be monitored without the GUI. Multiple events to be monitored can be specified, separated by @. Eventnames are recognized by beginning with PAPI_. If something else is given for eventname, the results are unspecified. If no eventnames are specified, the default of PAPI_TOT_CYC@PAPI_FP_INS will be used. * -f filename This creates a trace file that the GUI can later read and use to graph the results. * host port These are the host and port number of the application[s] that are to be monitored. * -h Short description on how to use the server. Monitoring one application The server can be used to monitor one application the same as multiple applications as described below. However, the application can be run without the server as explained in the perfometer README. Monitoring multiple applications or an MPI program First, start all of the applications that are to be monitored. They will display the port number that they are listening on. For an MPI application, only one port will be provided, the rest will be auto-exchanged. There are two options, you can specify the applications on the server command line, or you can specify the applications in the GUI. Second, execute the server and it will print out a port number that it is listening on. Third, start the GUI and connect to the host and port the server is on. If the applications are supplied on the server's command line, then all the connections will be setup and the GUI will begin graphing the performance data from all the applications. If the applications are NOT supplied by the server, a pop-up window will appear in the GUI. The information is then typed into the list, with one host and port per line, such as: somewhere.com 3545 another.com 3545 Then, all the connections will be setup and the GUI will begin graphing the performance data.