Home
VampirServer 8.4.0 User Manual - Technische Universität Dresden
Contents
1. export VAMPIRSERVER LICENSE 2 my path my vampir license The variable VAMPIRSERVER LICENSE has precedence over VAMPIR LIC ENSE if both variables are defined Please note that both variables also influ ence the respective license activation file location which normally is lt install dir gt etc vampir activation The alternative license file name above for example results in the following activation file location my path my vampir activation 3 4 Customizing Launch Scripts The invocation an initialization of VampirServer depends on host specific charac teristics like the MPI system the batch system or the memory and processor ar chitecture The required checks and adjustments are hidden in fully transparent GWT 5s 3 4 CUSTOMIZING LAUNCH SCRIPTS launch scripts so that host specific customization is reduced to a minimum Vam pirServer automatically uses a default launch script which has been selected during the software installation process Sometimes additional launch scripts are beneficial to support multiple system setups If required the user can man ually select a specific launch script by adding the launch script s name to the invocation command as described on page 10 Additionally custom launch argu ments like a batch job reservation number can be forwarded to the launch scripts Example launch scripts are located in lt install dir gt etc server launcher custom 3 4 1 Adding Batch Support LSF to the
2. vampirserver stop 9991 Shutting down VampirServer 9991 VampirServer 9991 is down Please note that the server ID is an optional argument If it is omitted the stan dard control interface will terminate the most recently launched server instance Repeated invocation of vampirserver stop Will terminate server instances one by one until no active servers are left 3 1 4 Listing Server Related Information list The standard control interface of VampirServer can list related status and setup information of program instances Currently two list types are supported the servers list includes all VampirServer instances that have been started by the user Alternatively the aunchers list provides the names of all pre defined launch modules The following command on the command line will list all known server in stances 5 vampirserver list servers 24947 mars 30055 4x mpi 24948 neptun 30056 16x smp 24949 mars 30057 8x ap The output lines have the following format lt server id gt lt host name gt lt port number gt lt ntasks gt lt launcher gt Each line starts with a server id which is a unique number for every server in stance It is followed by the network location of VampirServer s master service process The information consists of the host name and the port number sep arated by a colon The Vampir performance visualizer requires this information during a connection setup A line ends with brac
3. version Show program version Table 3 2 Command line options of the vampirserver core program A summary of all supported command line options of the server core is given in Table 3 2 The server program will run until it is terminated either manually with the key sequence Ctrl C on the command line or automatically by the host s batch sys tem Alternatively a small utility program is provided that triggers an internal shutdown of the server program On systems without automatic MPI cleanup this utility can help to ensure that no orphaned processes remain on the system Type vampirserver shutdown p lt host gt lt port gt on the command line to trigger a server core shutdown The server core will terminate with the following output Server shutdown triggered by client 3 3 2 Environment Variables The VampirServer core evaluates the following environment variables for config uration purposes These variables overwrite the built in defaults Use them with care Please note that some MPI implementations require special command line options e g VAMPIRSERVER DRIVER to correctly propagate environment variables among their processes Consult the documentation of your MPI instal lation for further details VAMPIRSERVER MODE The server core currently supports two modes of parallel operation mode and thread mode Setting the environment variable VAMPIRSERVER MODE to thread mode with 5
4. CH CHR Che cH System s launch program for MPI programs MPIRUN mpirun Startup timeout in seconds TIMEOUT 5 Launch vampir server process launch vs 4 S MPIRUN S PREFIX bin vampirserver core opt gt S tmpfile 2 gt amp 1 amp disown Return process ID or job ID as shutdown reference OUT CUSTOM Kill vampir server process kill vs Kill server process job kill 9 5 CUSTOM 2 gt dev null Wait for server to terminate while kill 0 S IN CUSTOM 2 gt dev null sleep 1 done Return the path of a global temporary file tmpfile IN SERVER internal job ID for server identification echo S HOME vampir tmp vampirserver IN_SERVER tmp Parse non Vampir command line arguments for customization IN CUSTOM ARG A IN CUSTOM Copyright c 2011 ZIH Technische Universitaet Dresden Germany 29 GW T A 1 DEFAULT MPI LAUNCH SCRIPT 53 parse_custom_args 54 55 temp getopt a Q 56 if 0 then echo Terminating gt amp 2 exit 1 fi 57 eval set Stemp 58 while true do 59 case 51 in 60 a IN CUSTOM 5 2 shift 2 61 5 62 shift break 63 25 64 echo Error Internal gt amp 2 exit 1 65 T 66 esac 67 done 68 if n 1 then 69 IN CUSTOM ARG 51 70 fi 71 72 73 74 Terminate the given server 75 stop 76 77 IN HOST
5. MPI Launch Script This section describes the customization of a launch script step by step Based on the default MPI launch script a new script with support for the LSF batch system is created The default MPI launch script is located at lt nstall dir gt etc server launcher mpi Its full listing is available at A 1 The modified launch script with LSF support is listed in A 2 The following steps need to be done to add LSF support to the default MPI launch script 1 Batch jobs usually have to wait some time before they are executed There fore the timeout is increased from five seconds to 300 seconds in line 17 2 Starting VampirServer as a batch job is LSF specific Lines 2 25 have been extended to use LSF for job submission Listing 3 1 Startup Snippet with Pure MPI Support 16 Startup timeout in seconds 17 TIMEOUT 5 18 19 Launch vampir server process 20 launch vs 21 S MPIRUN S PREFIX bin vampirserver core opt gt tmpfile 2 gt amp 1 amp 22 disown 23 24 Return process ID or job ID as shutdown reference 25 OUT CUSTOM 26 Listing 3 2 Startup Snippet with LSF Support 16 Startup timeout in seconds 17 TIMEOUT 300 18 19 Launch vampir server process 20 launch vs 21 local submission echo Submitting LSF batch job this might take a while 22 submission bsub n IN NTASKS 1 o tmpfile MPIRUN PREFIX bin vampirserver core opt 23 24
6. Major advantages of this parallel and distributed approach are 1 Performance data which tends to be bulky is kept at the location where it was created 2 Parallel data processing significantly increases the scalability of the analy sis process 3 The applied performance analysis paradigm is easy to handle and works efficiently from arbitrary remote end user platforms 4 Very large trace files can be browsed and visualized interactively VampirServer translates a program s performance data into a variety of graph ical representations providing developers with a good understanding of perfor mance issues concerning their parallel and serial applications VampirServer en ables quick focusing on appropriate levels of detail which facilitates the detection and explanation of various performance bottlenecks such as load imbalances and communication deficiencies This documentation is intended to be used both as a startup guide and as reference manual CHAPTER 2 INSTALLATION 2 Installation The platform specific executables for server and client as well as their corre sponding license files are needed so as to run the VampirServer tool Server and client are available in platform specific installation packages Please contact for the purchase of software licenses Once you obtained the installation files proceed with the following steps 1 Start the VampirServer Installer by typing vampirserver 8 4 0 platform set
7. dependent The necessary parameters and environment variables are normally set au tomatically by the standard control interface vampirserver which makes GWT forschung innovation use of launch scripts located in lt install dir gt etc server launcher If nec essary these scripts can be complemented with system specific settings like specific MPI or batch parameters Example scripts are located in lt install dir gt etc server launcher custom Please note that this procedure addresses system administrators or experienced users CHAPTER 3 VAMPIR SERVER 3 Vampir Server 3 1 Using the Standard Control Interface VampirServer is a parallel program that supports both distributed and shared memory computer systems Unfortunately the startup procedure of parallel pro grams on high performance computers is somewhat platform dependent There fore VampirServer is shipped with a standard control interface that takes care of all platform dependent settings The control interface is a command line pro gram named vampirserver This control interface is the preferred way to manage VampirServer analysis sessions A default VampirServer instance can be started with the following command line sequence vampirserver start which results in the following output Launching VampirServer VampirServer 8 4 0 Licensed to Fred Flintstone Slate Rock and Gravel Inc Running 4 analysis processes abort with vampirserver stop
8. export VAMPIRSERVER MODE thread mode 18 CHAPTER 3 VAMPIR SERVER enables the built in thread parallelization of the vampir core MPI parallelization is enabled by setting VAMPIRSERVER MODE to mpi mode with export VAMPIRSERVER MODE mpi mode The server core will start in mode if the variable VAMPIRSERVER MODE is not defined or set to an unknown string VAMPIRSERVER DRIVER In MPI mode the server core requires an MPI specific driver module named vampirserver driver so that is normally setup during installation Speaking tech nically this driver module is a dynamically linked shared object library By default the module is located in lt install dir gt lib vampirserver driver so The environ ment variable VAMPIRSERVER DRIVER can be used to overwrite this default location Use the following command line to set an alternative file name and path 5 export VAMPIRSERVER DRIVER 2 my path my driver so This option can be used to support multiple MPI implementations on the same host Please note that such a setup requires expert knowledge about the host system VAMPIRSERVER LICENSE VAMPIR LICENSE The server core requires a valid Vampir Professional license After a standard installation the license file is located in lt install dir gt etc vampir license An al ternative file name and path can be set with either VAMPIRSERVER LICENSE or VAMPIR LICENSE with the following command line
9. implementations might require different steps Please consult the MPI documentation of your computer system A server core instance can be started manually with the following command line sequence mpirun np number of processes install dir bin vampirserver core Or 5 mpiexec np number of processes install dir bin vampirserver core Please note that the number of MPI processes must at least be two Its recom mended upper boundary is the number of processes and threads in the trace files to be processed plus one The plus one results from the fact that Vam pirServer uses a master worker data processing model with one master and n worker tasks The thread mode of the server core needs to be invoked without mpirun or a similar prefix Simply type 5 export VAMPIRSERVER MODE thread mode vampirserver core The server core will automatically detect the optimal number of threads for your system Alternatively the number of threads can be set manually with the com mand line option n 17 EM GWT iscurio 3 3 USING THE BACK END CONTROL INTERFACE a authZMODE Authentication mode crpw rnd or none c chost NAME Cluster node that is going to listen for requests h help Show this help n nthreads Number of analysis threads 1 16 if VAMPIRSERVER MODE is set to thread mode p port NUMBER END Port range the server is going to listen for requests V
10. s launch scripts take care of the parallel startup process for differ ent system types and configurations For portability reasons they are generic and use default system parameters for example the default batch system queue or the default MPI run time system Some systems require users to provide user specific information for job submission like certain batch queues reserva tion codes or accounting information VampirServer s standard control interface can forward this kind of user specific information to the actual launch script in the form of custom arguments Custom arguments need to be separated from standard arguments by means of two dashes The following command line sequence starts VampirServer and hands over the custom argument a providing the value 4711 21 50 51 52 53 54 55 57 58 59 60 61 62 64 65 66 67 68 69 70 71 137 138 139 140 141 142 143 144 Ay GWT corscsinesinnovatin 3 4 CUSTOMIZING LAUNCH SCRIPTS vampirserver start n 4 mpi a 4711 During startup the server will printout the following Launching VampirServer Custom argument A 4711 VampirServer 8 4 0 Licensed to Fred Flintstone Slate Rock and Gravel Inc Running 4 analysis processes abort with vampirserver stop 12991 VampirServer 12991 listens on bedrock 30000 All example launch scripts are pre equipped with reading support for custom arguments Its custom application needs to be added m
11. the launch behavior which is turned off by default Prior to using this functionality make sure that VampirServer is reachable and configured on the remote system by typing 5 ssh lt remote address gt vampirserver start on the command line of the local computer system The resulting output should look like Launching VampirServer Estimating the number of processing elements overwrite with n option VampirServer 8 4 0 Licensed to Fred Flintstone Slate Rock and Gravel Inc Running 4 analysis processes abort with vampirserver stop 12991 VampirServer 12991 listens on bedrock 30000 26 CHAPTER 4 VAMPIR PROXY The following command line sequence on the local computer system creates a proxy connection to the remote computer system bedrock eu and automatically starts a new instance of the VampirServer program vampir proxy server startup multi bedrock eu A successful setup is prompted with the following message Waiting for confirmation from the remote side This may take some tim Listening on localhost 30000 Type quit and press Enter to exit vampir proxy The command line option server startup multi implies that each proxy session starts its a own instance of the VampirServer program This is not desirable in all situations Alternatively server startup single starts only one instance of the VampirServer program that is shared among other sessions started with
12. this option Finally server startup no prohibits automatic startup of VampirServer even if it has been made the default configuration during software installation By default VampirServer is started with 1 to 16 parallel tasks depending on the available CPU resources It is possible to set the number of tasks manually with the command line option server tasks Entering the command line sequence 5 vampir proxy server tasks 32 server startup multi bedrock eu on the local system sets up a proxy session with bedrock eu and starts a Vam pirServer instance with 32 parallel analysis tasks on bedrock eu Please note that this option requires server startup multi to take effect When combined with server startup single this option will only influence the initial startup of the shared VampirServer instance With server startup no it has no effect at all The automatic startup process of VampirServer is performed by a script agent located at lt nstall dir gt etc proxy agent Use the server script filepath option to specify an alternative script agent Make sure that the alternative file path points to a valid script location on the remote system 5 vampir proxy server script home fred proxy agent bedrock eu 27 APPENDIX A APPENDIX A Appendix A 1 Default MPI Launch Script file launcher mpi Gbrief Pure MPI startup sequence without batch job creation author Holger Brunst SOS
13. to as local system The remote system is the machine where Vam pirServer will be running The following input on the command line interface will start a proxy instance on the local system 5 vampir proxy lt user gt lt host gt The proxy command on the local system will automatically establish a connec tion to the remote system host A successful connection setup is quoted with the following message Waiting for confirmation from the remote side This may take some tim Listening on localhost 30000 Type quit and press Enter to exit vampir proxy 24 CHAPTER 4 VAMPIR PROXY On the local system you can now connect to the remote VampirServer instance by connecting to localhost 30000 see Section 3 2 for further details An error is indicated as follows VAMPIR PROXY Error Could not find the vampir proxy executable on the remote host On the local system VampirProxy listens on network port 30000 for incoming connect request from the Vampir performance visualizer The port number can be changed with the command line option P port In order to connect to a remote system VampirProxy uses the remote shell program ssh as the transport It is possible to set a different remote shell pro gram and additional command line arguments with the option E lt command gt The proxy invocation vampir proxy P 30003 E ssh c blowfish bedrock eu for example uses the remote shell program ssh wit
14. 12991 VampirServer 12991 listens on bedrock 30000 The vampirserver command line program provides a generic interface to a set of administrative commands general invocation syntax is as follows vampirserver command arguments The following commands are supported help start stop list version We will now discuss the commands one by one A short summary of all supported com mands and arguments is given in Section 3 1 7 3 1 1 Obtaining a Command Overview help Issuing the following command on the command line vampirserver help provides a brief overview of all commands and their arguments 4 GW T 3 1 USING THE STANDARD CONTROL INTERFACE USAGE vampirserver subcommand arguments custom arguments SUBCOMMANDS help h help show this little help config Interactively configures VampirServer for the given host system MPI support can be enabled or disabled The default launch script can be set s silent use default answers for all questions list ls servers launchers List server related information Currently this command lists all active servers or the available launch scripts launchers If no argument is provided all active servers are listed start up n p t LAUNCHER Start a new server instance LAUNCHER identifies the launch script to be used a auth MODE set authentication mode crpw rnd none n ntasks NUMBER set the
15. 164 break 165 fi 166 167 Stop this loop when server exited with an error code 168 if grep q Your job looked like Error tmpfile 2 gt dev null then 169 break 170 fi 171 172 Check timeout 173 if timeout begin TIMEOUT then 174 break 175 fi 176 done 177 178 179 Buffer server output 180 OUT MESSAGE 181 if e S tmpfile then 182 OUT MESSAGE cat tmpfile 183 fi 34 184 185 186 187 188 189 190 191 192 193 194 APPENDIX A APPENDIX Kill server in case of a failure if S success then IN CUSTOM OUT CUSTOM stop fi success 35
16. 192 y 4 GWT 52e A 2 MPI LAUNCH SCRIPT WITH LSF SUPPORT if S success then IN CUSTOM OUT CUSTOM stop fi 5 A 2 MPI Launch Script with LSF Support Copyright c 2011 ZIH Technische Universitaet Dresden Germany Gfile launcher lsf Gbrief MPI startup sequence with LSF job creation Gauthor Holger Brunst SR OSE Ge System s launch program for MPI programs MPIRUN mpirun Custom batch job arguments BATCH_OPT Startup timeout in seconds TIMEOUT 300 Launch vampir server process launch vs local submission echo Submitting LSF batch job this might take a while submission bsub n 5 5 NTASKS 1 o tmpfile BATCH_OPT MPIRUN 54 PREFIX bin vampirserver core 5 Return process ID or job ID as shutdown reference OUT CUSTOM echo S submission grep is submitted sed s Job lt gt is submitted x Kill vampir server process kill vs Kill server process job bkill gt dev null IN CUSTOM Wait for server to terminate while false do No waiting needed Already done by bkill sleep 1 done Return the path of a global temporary file tmpfile IN SERVER internal job ID for server identification echo S HOME vampir tmp vampirserver IN_SERVER tmp 32 APPENDIX A APPENDIX 52 Parse non Vampir command line arguments for customizat
17. EFIX lib vampirserver driver so 109 fi 110 export VAMPIRSERVER MODE mpi mode 111 112 113 Use default for startup timeout 114 if S IN TIMEOUT then 115 TIMEOUT S IN TIMEOUT 116 fi 117 33 GW T A 2 MPI LAUNCH SCRIPT WITH LSF SUPPORT 118 119 Use default for number of analysis tasks 120 if z IN_NTASKS then 121 IN_NTASKS 4 122 fi 123 124 125 Detect MPI implementation Make sure that VAMPIRSERVER_DRIVER and VAMPIRSERVER_MODE 126 are exported to all MPI ranks 127 if MPIRUN version 2 gt amp 1 grep q Open MPI then 128 Open MPI 129 MPIRUN MPIRUN x VAMPIRSERVER_DRIVER x VAMPIRSERVER_MODE 130 fi 131 132 133 Set number of MPI ranks 134 MPIRUN MPIRUN np IN_NTASKS 1 135 136 137 Forward options 138 opt opt IN_FORWARD 139 140 141 Example custom arguments 142 parse_custom_args IN_CUSTOM 143 if n IN_CUSTOM_ARG_A then 144 echo Custom argument A IN_CUSTOM_ARG_A 145 fi 146 if n IN_CUSTOM_ARG_B then 147 echo Custom argument B IN_CUSTOM_ARG_B 148 fi 149 150 151 Launch vampir server in background 152 launch_vs 153 154 155 Wait and read server output 156 local begin date s 157 while true do 158 local listen 159 listen grep Server listens on tmpfile 2 dev null 160 161 Stop this loop when server has printed his communication link 162 if 5 0 then 163 success true
18. GWT forschung innovation VampirServer User Manual ERN CELLE tt EERE EERE BEB CEEE BEERS BETE E ELLI EN NN E E E EH HERES BEEBE E1 EJ EJ E ESI ESI EI I BEER HOBBES ae E EI El BH HD I EI E A E E E E RD E1 EJ EJ EJ ESI ES EI E GWT forschung innovation Copyright 2014 GWT TUD GmbH Blasewitzer Str 43 01307 Dresden Germany http gwtonline de Support Feedback Bug Reports Please provide us feedback We are very interested to hear what people like dislike or what features they are interested in If you experience problems or have suggestions about this application or manual please contact service vampir eu When reporting a bug please include as much detail as possible in order to reproduce it Please send the version number of your copy of VampirServer along with the bug report Please visit http vampir eu for updates and new versions http vampir eu Manual Version VampirServer 8 4 0 November 2014 Contents Contents 1 Introduction 1 2 Installation 3 3 Vampir Server 7 3 1 Using the Standard 7 3 1 1 Obtaining a Command Overview help 7 3 1 2 Starting New Server Instance start 8 3 1 3 Stopping an Existing Server Instance stop 10 1 4 Listing Ser
19. IP address of host 78 IN PORT listen port of host 79 IN SERVER internal job ID for server identification 80 IN CUSTOM Launcher custom data Here PID of mpirun 81 82 Terminate VampirServer 83 kill vs 84 85 Clean up temporary output file 86 rm f tmpfile IN_SERVER 87 88 89 90 Start a new server instance 91 start 92 93 IN FORWARD options to be forwarded to server 94 IN NTASKS number of analysis tasks 95 IN SERVER internal job ID for server identification 96 IN TIMEOUT timeout of startup process 97 IN CUSTOM custom arguments from the command line 98 OUT MESSAGE server output 99 4 OUT CUSTOM launcher custom data 100 8 true if successful false otherwise 101 102 local success false 103 local tmpfile tmpfile IN 104 105 if z S VAMPIRSERVER DRIVER then 106 export VAMPIRSERVER DRIVER S PREFIX lib vampirserver driver so 107 fi 108 export VAMPIRSERVER MODE mpi mode 109 110 111 Use default for startup timeout 112 if S IN TIMEOUT then 113 TIMEOUT IN_TIMEOUT 114 fi 115 116 117 Use default for number of analysis tasks 118 if z S IN_NTASKS then 30 APPENDIX A APPENDIX 119 IN NTASKS 4 120 fi 121 122 123 Detect MPI implementation Make sure that VAMPIRSERVER DRIVER and VAMPIRSERVER MODE 124 are exported to all MPI ranks 125 if S MPIRUN version 2 g
20. Return process ID or job ID as shutdown reference 25 OUT CUSTOM echo S submission grep is submitted sed s Job s is submitted x 26 20 CHAPTER 3 VAMPIR SERVER 3 Stopping a VampirServer instance is LSF specific likewise Lines 32 to 35 have been altered to properly terminate the respective LSF job Listing 3 3 Snippet with MPI Shutdown 29 Kill vampir server process 30 kill vs 31 Kill server process job 32 kill 9 IN CUSTOM 2 gt dev null 33 34 Wait for server to terminate 35 while kill 0 S IN CUSTOM 2 gt dev null do 36 sleep 1 37 done 38 Listing 3 4 Snippet with LSF Shutdown 29 Kill vampir server process 30 kill vs 31 Kill server process job 32 bkill dev null IN CUSTOM 33 34 Wait for server to terminate 35 while false do No waiting needed Already done by bkill 36 sleep 1 37 done 38 The resulting LSF launch script needs to be saved to lt install dir gt etc server launcher Isf It can be tested by adding the launch script s file name to Vam pirServer s start command vampirserver start lsf User defined launch scripts not located in lt install dir gt etc server launcher are supported as well In this case an absolute file path with a leading slash has to be added to the start command vampirserver start tmp custom script 3 4 2 Adding Custom Launch Arguments VampirServer
21. anually to a launch script according to the individual demands Please note that this is an advanced task which addresses system administrators or experienced users The relevant parts in the launch scripts are Listing 3 5 Custom Argument Parser in MPI Launch Script Parse non Vampir command line arguments for customization IN CUSTOM ARG IN CUSTOM ARG parse custom args temp getopt a Q if 0 then echo Terminating gt amp 2 exit 1 fi eval set Stemp while true do case 51 in IN CUSTOM A S 2 shift 2 77 shift break EF x echo Error Internal gt amp 2 exit 1 77 done if n 1 then IN CUSTOM 51 fi and Listing 3 6 Custom Argument Application in MPI Launch Script Example custom arguments parse_custom_args IN_CUSTOM if n S IN CUSTOM AJ then echo Custom argument A IN CUSTOM AJ fi if n S IN CUSTOM B then echo Custom argument B IN CUSTOM fi Please add your customizations accordingly 22 CHAPTER 4 VAMPIR PROXY 4 Vampir Proxy VampirProxy is a command line tool that supports the user in establishing a con nection between the Vampir performance visualizer running on a local desktop computer and a remote instance of the VampirServer performance processor It fully automates the setup of so called communication tunnels Hi
22. ate the following output in return Launching VampirServer VampirServer 8 4 0 Licensed to Fred Flintstone Slate Rock and Gravel Inc Running 32 analysis processes abort with vampirserver stop 13227 VampirServer 13227 listens on bedrock 30000 Please note that it is recommended to have at least as many cores in your computer system as the specified concurrency level Otherwise a performance degradation will be observed During its lifetime VampirServer listens on a specific socket port for incoming connection requests from the Vampir performance visualizer At startup Vam pirServer picks a free port in the range of 30000 30099 Sometimes it is desirable to use one specific port or a different port range The port selection behavior can be modified with the option p Issuing the following command on the command line vampirserver start p 47011 starts a new instance of VampirServer that listens to port number 47011 Vam pirServer generates the following output in return Launching VampirServer VampirServer 8 4 0 Licensed to Fred Flintstone Slate Rock and Gravel Inc Running 32 analysis processes abort with vampirserver stop 17653 VampirServer 17653 listens on bedrock 47011 If port 47011 is already in use by another application the invocation of Vam pirServer fails with the following error message Error Failed to listen to network port 47011 Depending on
23. ation Error Could not start VampirServer Please visit http vampir eu activation in order to obtain a li cense activation code file Alternatively send the printed registration in formation in an e mail to service vampir eu In both cases an activa tion code file will be sent to you by e mail Copy the activation file vam pir activation to lt install dir gt etc and start over at this item 5 Start the Vampir visualization program which has to be installed inde pendently from VampirServer Establish a connection to VampirServer from within the visualization program by clicking on Menu File Open Re mote Complete the input fields Server and Port If both Vampir and VampirServer are executed on the same computer system you would typi cally have to enter localhost and a port number between 30000 and 30099 VampirServer s startup output VampirServer 12991 listens on bedrock 30000 assists you in finding the right connection parameters It tells you exactly on which host VampirServer runs and to which port it listens The progress and status of the connection setup is indicated in the Vampir performance visualizer Once it is connected to a VampirServer instance its usage is identical to the stand alone Vampir program Please consult the Vampir user manual for further reading 6 Do further optional customization The process of launching the Vam pirServer core program vampirserver core is slightly platform
24. by adding the above line to your lo gin scripts or by creating an appropriate software module for the software Contact your local system administrator for further details 3 Copy the license file vampir license that you received separately to lt install dir gt etc and make sure that it is readable i e the right permissions bits are set for all users and writable for the user who is doing the setup procedure See Section 8 3 2 for further details 4 Start the VampirServer program with vampirserver start smp This should result in a message similar to the following Launching VampirServer Estimating the number of processing elements gt overwrite with n option VampirServer 8 4 0 Licensed to Fred Flintstone Slate Rock and Running 4 analysis processes abort with vampirserver stop 12991 VampirServer 12991 listens on bedrock 30000 CHAPTER 2 INSTALLATION Certain Vampir license types require to be activated for individual comput ers If this is the case for your license VampirServer will print out the following message instead Launching VampirServer Dear customer your license needs to be activated Please visit http vampir eu activation BEGIN REGISTRATION Licenseld 7592bbc4c9 Serial 114 05 4 9 4 4 5004 6 923329 30 cem END REGISTRATION An activation file named vampir activ
25. d and shared memory parallelization with threads is used instead Currently three default launch scripts are shipped with VampirServer e ap is a pure MPI startup sequence based on for Cray systems e mpi provides a pure MPI startup sequence without batch job creation e Smp is an alternative startup sequence for a threaded shared memory execution without MPI parallelization and without batch job creation Launch scripts can customized by system administrators and users See Sec tion 3 4 for further details By default VampirServer searches for script files in lt install dir gt etc server launcher Alternatively an absolute file path with a lead ing to an arbitrary location in the file system can be specified as launch script argument The server program is executed as a background process It runs until it is terminated either manually see Section below or automatically by the host computer s batch system 3 1 3 Stopping an Existing Server Instance stop The standard control interface keeps track of all VampirServer launches Upon startup a specific server ID is assigned to each server instance and printed as follows VampirServer server id listens on lt host gt lt port gt 10 CHAPTER 3 VAMPIR SERVER A given active server instance can be terminated by issuing a stop command with the respective server ID Issuing the following command on the command line will stop server instance 9991
26. er command line tool Commands Arguments and Description config cf s Configure server settings S silent Use defaults for all questions help Show a brief command overview start up a n p t SCRIPT Start a new server instance a auth MODE Set the authentication mode n ntasks NUMBER Set the number of analysis tasks p NUMBER END Set port range the server is go ing to listen on t timeout NUMBER Set the startup timeout to NUMBER seconds SCRIPT Name of the launch script to be used Separator for custom launch script parameters stop ex SERVER ID Stop a given server instance SERVER ID Sever specific ID assigned dur ing startup list Is servers launchers List server related information servers List all launched servers launchers List all available launch modules version Show program version Table 3 1 Commands and arguments of the VampirServer control interface E GWT 5s 3 2 CONNECTING VAMPIR TO VAMPIRSERVER 3 1 8 Environment Variables The VampirServer standard control interface evaluates the following environment variables These variables overwrite the built in defaults Use them with care VAMPIRSERVER HOST If VampirServer is supposed to run on multiple hosts that share home directories this variable is applicable Setting it to the respective host name guarantees
27. ften consist of login and compute nodes The lat ter are typically protected and hidden behind a firewall VampirProxy can also connect to VampirServer instances behind a firewall The following example as sumes that a VampirServer instance is active on the compute node node42 of the remote system bedrock eu The following command line sequence starts a proxy session to VampirServer on node42 port 30000 via the login node bedrock eu vampir proxy a node42 bedrock eu On some remote systems the executable vampir proxy might not be in the default search path when invoked as SSH remote command VampirProxy will consequently fail with the following error message VAMPIR PROXY Error Could not find the vampir proxy executable on the remote host The problem usually can be solved by extending the default search path on the remote system If this is not possible or does not solve the problem for some unknown reason it is possible to specify the absolute remote path of vampir proxy as follows vampir proxy proxy exec home barnie vampir proxy bedrock eu 4 4 Launching VampirServer via VampirProxy VampirProxy facilitates the connection setup between the Vampir performance browser and VampirServer The previous sections assume that VampirServer is started manually by the user VampirProxy can also automatically launch pro gram instances of VampirServer The command line options server startup and server script control
28. gh perfor mance computing resources usually require such communication tunnels for re mote data visualization VampirProxy can automatically launch and connect to remote VampirServer instances 4 1 Prerequisites First of all make sure that the vampir proxy program is installed properly on your local system and the remote computer system Also make sure that vampir proxy exists in the search path on the remote computer system You can verify this by typing ssh lt remote address gt vampir proxy on the command line of your local computer system The following output will be printed to your console if the invocation was successful USAGE vampir proxy OPTIONS user hostname OPTIONS Local options evaluated when hostname is set C config local FILE local configuration file P proxy port NUMBER local proxy listen port default 30000 E rsh COMMAND remote shell invocation default ssh default use remote configuration file Options which are forwarded executed on the remote side c config FILE configuration file on the remote side default SHOME vampir proxy config install dir etc proxy config s config section NAME section in the configuration file default DEFAULT h help show this help i list list active servers on the remote side proxy exec PROGRAM proxy file path on the remote side default SPATH vampir proxy a server host ADDRESS server address default localhost
29. h blowfish encryption for trans port and offers its service on the local network port 30003 The connection is established to a remote system named bedrock eu 4 3 Connecting to a VampirServer Remote Station When connected to a remote system VampirProxy tries to forward all requests to the remote VampirServer instance listening on port 30000 For this basic example we assume that VampirServer was manually started beforehand see Section 1 2 It is possible to alter this default behavior with the command line options p lt port gt and a host which can be used to contact an alternative server on or reachable from the remote system Entering the following command line sequence on the local system sets up a proxy session between port 300xx default on the local system and port 25000 on the remote system called bedrock eu vampir proxy p 25000 bedrock eu This example assumes that VampirServer has been started manually beforehand on bedrock eu and that it has been configured to listen on port 25000 see Sec tion 3 1 2 If required the local port of VampirProxy can be changed with the P capital option Entering vampir proxy p 25000 P 25001 bedrock eu on the local system starts a proxy session that connects to a VampirServer in stance on bedrock eu port 25000 and forwards its service to the local system on port 25001 25 7 4 GWT 2 4 4 LAUNCHING VAMPIRSERVER VAMPIRPROXY Large computer systems o
30. ion 53 IN CUSTOM ARG A 54 CUSTOM B 55 parse custom args 56 57 temp getopt Q 58 if 0 then echo Terminating gt amp 2 exit 1 fi 59 eval set Stemp 60 while true do 61 case 51 in 62 a IN CUSTOM A 2 shift 2 63 2 64 shift break 65 D 66 echo Error Internal gt amp 2 exit 1 67 BH 68 esac 69 done 70 if n 1 then 71 IN CUSTOM ARG B 1 72 fi 73 74 75 76 Terminate the given server 77 stop 78 79 IN HOST IP address of host 80 IN PORT listen port of host 81 IN SERVER internal job ID for server identification 82 IN CUSTOM Launcher custom data Here PID of mpirun 83 84 Terminate VampirServer 85 kill_vs 86 87 Clean up temporary output file 88 rm f tmpfile IN SERVER 89 90 91 92 Start a new server instance 93 start 94 95 IN FORWARD options to be forwarded to server 96 IN NTASKS number of analysis tasks 97 IN SERVER internal job ID for server identification 98 IN TIMEOUT timeout of startup process 99 IN CUSTOM custom arguments from the command line 100 OUT MESSAGE server output 101 OUT CUSTOM launcher custom data 102 8 true if successful false otherwise 103 104 local success false 105 local tmpfile tmpfile IN SERVER 106 107 if z S VAMPIRSERVER_DRIVER then 108 export VAMPIRSERVER DRIVER S PR
31. kets enclosing the degree of par allelism ntasks and the name of the auncher startup module for a particular server instance 3 1 5 Configuring the Server config The VampirServer program needs to be configured for the given host system prior to being used for the first time Normally this configuration is done during 11 GWT 2 3 1 USING THE STANDARD CONTROL INTERFACE the software installation see Section 2 It is however possible to re configure VampirServer at any time by typing vampirserver config on the command line Re configuration can become necessary if default startup parameters need to be changed or if the system s message passing library MPI has been updated or replaced During the configuration the following questions will be asked e Would you like to enable MPI support in VampirServer y e MPI Compiler used for VampirServer customization usr bin mpicc e Compiler flags for shared object creation shared fPIC e Default VampirServer launch configuration ap mpi smp mpi Default answers to these questions are provided in brackets The default an swers can be confirmed by simply pressing the enter key on the keyboard Al ternatively the appropriate system settings can be entered For automatic non interactive configuration the command line option silent can be set The resulting configuration assumes default values for all parame ters 3 1 6 Authentication Vam
32. name and clicking on the Open button After loading has been completed Vampir will depict the Master Timeline the Function Summary and the respective Function Legend Please consult the Vampir manual for further information Recently viewed trace files can be re opened via Menu File Open Recent 14 CHAPTER 3 VAMPIR SERVER Open Remote File Help Servers Default Description Server localhost Port 30000 6 Authentication None E Connection type Socket SSH More Options Q cancel connect Figure 3 1 Connect to Server Dialog 2 Open Remote File Help Favorite Links Path var traces homepage amp X Recent Traces Large NT Filesystem Small traces EXE All trace files otf otf2 elg esd ej Open Open Subset Cancel Figure 3 2 Open Remote Trace File Dialog 3 2 1 SSH Tunneling Network firewalls often prohibit to directly connect to an active VampirServer instance on a given port like 30000 In such a situation ssh tunneling can be used to set up a secure network tunnel from a local computer running the Vampir browser to the remote computer where VampirServer is active The following command line sequence sets up a network tunnel from ocal port on your local 15 GWT 5s 3 2 CONNECTING VAMPIR TO VAMPIRSERVER computer to the remote port of the given remote computer ssh L local p
33. number of analysis tasks p port NUMBER END set port range the server is going to listen t timeout NUMBER set the startup timeout to NUMBER seconds stop ex SERVER ID Stop the given server or the most recent server if no SERVER ID is provided The server ID is printed during startup Alternatively use the list command to print a list of available servers version v version show VampirServer s revision 3 1 2 Starting a New Server Instance start Issuing the following command on the command line 5 vampirserver start starts a new instance of VampirServer as a background process Upon startup VampirServer will generate the following output Launching VampirServer VampirServer 8 4 0 Licensed to Fred Flintstone Slate Rock and Gravel Inc Running 4 analysis processes abort with vampirserver stop 12991 VampirServer 12991 listens on bedrock 30000 The last output line provides the server ID 12991 the host address bedrock and the socket port 30000 where the server awaits connection requests from the Vampir performance visualizer By default VampirServer will start with a concurrency level of four analysis tasks For analysis sessions with large data volumes this concurrency level can be increased with the option n CHAPTER 3 VAMPIR SERVER vampirserver start n 32 which starts a new instance of VampirServer with 32 parallel worker tasks Vam pirServer will gener
34. ort remote node remote port lt user gt lt remote computer gt Remote port needs to be set to the port number printed at the startup of Vam pirServer VampirServer server id listens on remote node remote port The parameter user is optional and specifies your login name on the remote computer Please consult the SSH manual for further information about network tunnels Once the network tunnel is set up the Vampir performance browser needs to be connected locally to ocalhost on local port The following example starts a VampirServer instance on the remote computer bedrock eu and sets up a tunnel from an aribtrary local computer First Vam pirServer is started with bedrock vampirserver start Launching VampirServer VampirServer 8 4 0 Licensed to Fred Flintstone Slate Rock and Gravel Inc Running 4 analysis processes abort with vampirserver stop 13227 VampirServer 13227 listens on node42 30000 The following command line sequence on the local computer sets up an SSH tunnel to node42 on the remote computer bedrock eu local ssh L 30001 node42 30000 bedrock eu Finally Vampir on the local computer is connected to the remote server by means of the Open Remote dialog which appears when klicking on File Open Remote in Vampirs main menu Prior to clicking on the Connect button localhost and 30001 needs to be entered in the respective input fields Server and Por
35. p server port NUMBER server listen port default 30000 server script SCRIPT script that starts vampir server default SHOME vampir proxy agent lt install_dir gt etc proxy agent server startup MODE Start server on remote host 23 2 4 2 STARTING A PROXY SESSION single multi default no n server tasks NUMBER number of worker tasks excluding boss default 4 v verbose increase verbosity If the command vampir proxy has not been found on the remote side the follow ing output will be printed to your console bash vampir proxy command not found Make sure that the install path of vampir proxy is permanently added to your default search path see the shell documentation about the PATH environment variable on your remote computer Finally check that VampirServer is installed properly on your remote com puter system by typing vampirserver start which should result in an output similar to Launching VampirServer VampirServer 8 4 0 Licensed to Fred Flintstone Slate Rock and Gravel Inc Running 4 analysis processes abort with vampirserver stop 12991 VampirServer 12991 listens on bedrock 30000 See Section 2 for the installation of VampirServer 4 2 Starting a Proxy Session VampirProxy needs to be started on the computer system that runs the Vam pir performance visualizer In the following section this computer system will be referred
36. pirServer has encrypted password support for client Vampir authentica tior Authentication can be activated or deactivated with the a command line option Issuing the following command on the command line vampirserver start a crpw rnd starts a new instance of VampirServer that requires password authentication dur ing the connection setup with Vampir VampirServer will generate the following output Launching VampirServer VampirServer 8 4 0 Licensed to Fred Flintstone Slate Rock and Gravel Inc Running 4 analysis processes lt abort with vampirserver stop 12991 User fred Password jfvUzFHJaWtp VampirServer 12991 listens on bedrock 30000 System administrator rights might be necessary Please note that the data transfer protocol itself is not encrypted 12 CHAPTER 3 VAMPIR SERVER User is the login name of the user who started VampirServer Password is a random password that needs to be entered on the client side in order to connect to the given instance of VampirServer Authentication can be disabled by starting VampirServer with the following command line sequence 5 vampirserver start a none 3 1 7 Command Line Reference The standard control interface of VampirServer is a powerful front end for manag ing service instances It hides platform dependent setup steps from the software user Table 3 1 gives a brief overview of the commands that are understood by the vampirserv
37. t Unfortunately the setup process of a tunneled Vampir VampirServer session is somewhat cumbersome Therefore Vampir 7 5 introduced an alternative remote connection type SSH that renders this user driven setup process obsolete It involves a new component called VampirProxy which automatically takes care of the above steps See Section 4 for further information 16 CHAPTER 3 VAMPIR SERVER 3 3 Using the Back End Control Interface VampirServer s processing core is a parallel distributed program whose invoca tion slightly depends on the host platform These dependencies are handled au tomatically by the standard control interface described in Section Therefore it is recommended to use VampirServer s standard control interface by default However it is possible to directly start the VampirServer processing core from the command line Please note that this is only recommended to experienced users or system administrators This section describes the server core s invoca tion syntax and options 3 3 1 Manual Invocation The server core currently supports two modes of parallel operation MPI mode and thread mode For the former MPI has to be installed and configured prop erly before starting the server The exact command line is MPI implementation dependent If LAM MPI is used lamboot must be executed on the command line prior to using mpirun If MPICH is used a machine file might be needed see MPICH user manual Other MPI
38. t amp 1 grep q Open MPI then 126 Open MPI 127 MPIRUN MPIRUN x VAMPIRSERVER DRIVER x VAMPIRSERVER MODE 128 fi 129 130 131 Set number of MPI ranks 132 MPIRUN S MPIRUN np IN_NTASKS 1 133 134 135 Forward options 136 opt S opt IN FORWARD 137 138 139 Example custom arguments 140 parse custom args IN CUSTOM 141 if n S IN CUSTOM then 142 echo Custom argument A IN CUSTOM AJ 143 fi 144 if n 5 CUSTOM then 145 echo Custom argument B IN CUSTOM 146 fi 147 148 149 Launch vampir server in background 150 launch vs 151 152 153 Wait and read server output 154 local begin date 5 155 while true do 156 local listen 157 listen grep Server listens on tmpfile 2 dev null 158 159 Stop this loop when server has printed his communication link 160 if 0 then 161 success true 162 break 163 fi 164 165 Stop this loop when server exited with an error code 166 if grep q Error tmpfile 2 gt dev null then 167 break 168 fi 169 170 Check timeout 171 if timeout begin TIMEOUT then 172 break 173 fi 174 done 175 176 177 Buffer server output 178 OUT MESSAGE 179 if e S tmpfile then 180 OUT MESSAGE cat tmpfile 181 fi 182 183 184 Kill server in case of a failure 31 185 186 187 188 189 190 191
39. that Vampir instances on different hosts are managed in separate lists VAMPIRSERVER LAUNCHER Sets the dafault launch script that is used when no script name is given during startup The following command sequence export VAMPIRSERVER_LAUNCHER ap 5 vampirserver start has the same effect as 5 vampirserver start This variable can be handy on systems that support custom software modules 3 2 Connecting Vampir to VampirServer The VampirServer program has to be used in combination with the Vampir perfor mance data browser which can connect to multiple instances of VampirServer Once a connection has been established between Vampir and VampirServer trace files containing performance data can be read and analyzed A new remote session can be created by clicking on Open Remote in the File menu As a result an input dialog appears as depicted in Figure 8 1 On the right hand side the server s host name network port and authentication mode can be specified The default parameters are localhost port 30000 and no authentication None Clicking on the Connect button starts the connection setup Once the connection is established a file dialog is opened which allows to browse the remote files on VampirServer s host system as depicted in Fig ure 3 2 The trace files to be loaded have to be compliant with the OTF or the Epilog trace file format A compliant trace file can be loaded by selecting the respective file
40. the host platform the startup of VampirServer involves the allo cation of system resources through the installed batch system The initialization and provision of system resources can induce long delays if they are temporarily unavailable VampirServer s startup process timeouts if system resources are unavailable for a certain period of time The respective waiting time in seconds can be set with the option The startup command vampirserver start t 600 GWT 2 3 1 USING THE STANDARD CONTROL INTERFACE terminates after 60 seconds if the allocation of system resources could not be achieved It generates the following output Launching VampirServer Error Could not start VampirServer The invocation an initialization of VampirServer depends on host specific char acteristics like the MPI system the batch system or the memory and processor architecture The required checks and adjustments are hidden in fully transpar ent launch scripts so that host specific customization is reduced to a minimum VampirServer automatically uses a default launch script which is selected dur ing the software installation process Sometimes additional launch scripts are beneficial to support multiple system setups If required the user can manually select a specific launch script by adding the launch script s name to the invoca tion command 5 vampirserver start smp launches VampirServer in thread mode i e MPI parallelization is disable
41. up bin on your command line You will be asked a few questions Default answers to these questions are provided in brackets Please confirm the default answers by pressing the enter key on your keyboard Alternatively you can enter the appropriate settings for your compupter system Contact your system s administrator if you are not sure about the right answers The VampirServer Installer copies the software into the directory lt install dir gt By default lt install dir gt is set to opt local vampir 8 4 0 if installed with root permissions or HOME vampir 8 4 0 otherwise After success ful installation the following files reside in lt install dir gt INSTALL txt bin vampir proxy vampirserver vampirserver core vampirserver shutdown doc vampirserver manual pdf vampirserver release notes txt etc proxy server etc proxy agent agent auto start config etc server launcher GWT forschung innovation ap mpi smp etc server launcher custom llbg lsf mpi intel pbs slurm lib driver lib driver config h MpiModCore c MpiModDef h MpiModProto h In case of a configuration error detailed error messages can be found in lt install dir gt vampirserver config log 2 Adjust the system environment variable PATH as follows export PATH S PATH install dir bin Make sure that this variable is set accordingly whenever you want to use VampirServer This can be achieved
42. ver Related Information list 11 1 5 Configuring the Server config 11 LP 12 3 1 7 Command Line 13 3 1 8 Environment Variables 14 3 2 Connecting Vampir to VampirServer 14 3 2 1 SSH Tunneling x 939m ee ew E we EUR 15 17 3 3 1 17 3 3 2 Environment Varidbles us o e mn 18 3 4 Customizing Launch 5 5 19 20 big Gob 21 4 Vampir Proxy 23 41 23 24 25 26 29 29 CHAPTER 1 INTRODUCTION 1 Introduction VampirServer is a software tool for analyzing the run time behavior of parallel software programs It visualizes the program execution by means of event traces gathered by monitoring software like VampirTrace Score P Scalasca or TAU The visualization takes place after the completion of the monitored program by using data that has been captured during the program execution and stored in so called trace files VampirServer is based on parallelized analysis algorithms Data analysis and visualization are implemented as a client server framework The server compo nent can be installed on a segment of a parallel production environment The corresponding clients visualize the performance results graphically on remote desktop computers
Download Pdf Manuals
Related Search
Related Contents
Reporting Extensions User Manual KWP2000 PLUS Operation Manual: National Instruments 374318A-01 Network Card User Manual XR-2590 Notice d`emploi PRO8520HD User Guide Mapgen User`s manual Olympus VN-732PC Copyright © All rights reserved.
Failed to retrieve file