📄 tourstepbystep.txt
字号:
MPI_Allreduce. Now select the properties of the frame to be viewed.Most end users who are interested in the performance of the code sppmshould select the Connected States option with either MPI-Processor Thread view. If you are interested in how the operating systemdispatches threads among CPUs allocated for the job, you may wantto select the Disconnected States option in the Processor view.([fig] <fig: preview deselected few states>AllMPI and OS-related states are deselected in the "Preview" and "Legend"to highlight the user-defined states and the communication among theprocesses.) Statistics Viewer([fig] <fig: statistics viewer>The Statistics Viewerand its "Legend" windows.) The Statistics Viewer can be invoked from the "Preview" through thebutton sequence File->View Statistics. Once the viewer is up, clickon File to select a statistics file([footnote] In AIX's UTE environment,a program like "utestat" is used to generate the statistics file.In MPICH's MPE profiling environment, there is no tool which can generatea separate statistics file yet.) for processing. As shown in Figure[fig: statistics viewer], the statistics file of sppm, sppm.stats.0301,is displayed in the Statistics Viewer and its corresponding "Legend"window. The "Legend" window works like that of "Preview". The titlein the Statistics Viewer provides crucial information regarding thelabel of the y-axis in the viewer and that of the "Legend window".Usually the title has the form, Viewer_Yaxis_Label / Legend_Label/ Name_Of_Statistics. In Figure [fig: statistics viewer], the viewer'sy-axis label is "type"(i.e. MPI and user-defined states) and the labelfor entities in the "Legend" window is "node" ID. The name of thestatistics is called "sum(duration)". The statistics indicate thatthe state MPI_Wait takes the most time in the run and consumes anequal amount of time in each node. The second most time-consumingstate is User Marker Interval, and again each node uses similar amountof time in the User Marker Interval.The statistics file usually contains more than one set of statistics.Another set of statistics can be selected through the Graph menu tab.Clicking on the menu tab will pull down a menu with all availablestatistics data in the file. As soon as a different set of statisticsis selected, both the viewer and the "Legend" windows will be updated.When you want to view another statistics file, be sure to close thecurrent opened file before opening another file. Otherwise, all newlyopened statistics will be added to the existing ones under the Graphmenu tab. Time Lines Window ([fig] <fig: TimeLine in Thread with all>Timelinewindow in Thread view) Let's assume that you select Connected States in Thread view in "Preview",when you click on the Display buttons in the "View & Frame Selector"window. A Time Lines window as shown in Figure [fig: TimeLine in Thread with all]will pop up. The Time Lines window provides a detailed display ofthe sppm trace data as a GANTT chart with the x-axis as time and they-axis as thread ID. The control buttons in the top panel providezoom IN and OUT operations around the zoom focus, which could be setby putting the cursor at the point of interest on the GANNT chartand pressing the key "z". In Figure [fig: TimeLine in Thread with all],the zoom focus is marked by a white line drawn from the top to thebotton of the diagram and is labeled as Zoom Lock in red.([fig] <fig: TimeLine in Thread view all zoomed in>Azoomed in view of the Time Lines window.) After being zoomed in several times, the Time Lines window looks likeFigure [fig: TimeLine in Thread view all zoomed in]. At this resolution,many more details are exposed. For instance, the MPI_Isend statesthat are in navy blue in the figure become noticeable. Clicking onany rectangle in the Time Lines canvas will pop up a "Rectangle Info"box which contains various information regarding the subroutine call(e.g.start and end time of the call), and various call arguments and instructionaddress(es) if there are any. Clicking on the "Rectangle Info" boxagain will remove the box from the screen. Also, clicking on the redcircle at the end of the arrow will pop up a "Arrow Info" box, whichprovides a function similar to that of "Rectangle Info". In Figure[fig: TimeLine in Thread view all zoomed in], MPI_Isend, MPI_Irecv,and MPI_Wait are all nested within the user-defined state "bdrys".This suggests that "bdrys", which is a user-defined subroutine call,makes all these MPI calls. Also, the regularity of the pattern ofarrows can provide insight about how data are exchanged.Several tricks and hidden operations are worth mentioning. First, itis the trick in locating small rectangles: since all the rectangleshave a white border surrounding them, when many small rectangles arenext to each other in very low resolution, they form a completelywhite rectangle. A totally white rectangle usually means a lot moredetails are hidden inside. Second, a trick about scrolling: you candrag on the scroll tab to advance to later time, but scrolling becomesslow when there are many threads with a lot of objects. In this case,click on the white space between the scroll tab and the end arrowtab in the direction that you want to advance to. The operation willallow the next time frame in the canvas to be redrawn immediately.Third, the label of the y-axis in Thread view is (MPI-rank, localthread ID), but it is different in different views. Because of thelimited space on the canvas, the label of the y-axis is actually writtenin the tooltip of the two vertical y-axis label. The tooltip can beactivated by simply putting the cursor over any y-axis integer doubletfor few seconds. Fourth, doubly clicking on any integer doublet labelwill invoke the "Time Lines Manipulation" window as shown in Figure[fig: TimeLines Manipulation]. This window provides various operationson the selected time line, for instance, the adjustment of time lineby changing the offset of the time line for alignment of rectangles,or the swapping of different time lines for organizational purposes.([fig] <fig: TimeLines Manipulation>TheTime Lines Manipulation window.) Fifth, there is a trick about the Definitionswindow, which is located at the bottom of the Time Lines window. TheDefinitions windows consists of a collection of definition panels,each has a checkbox and a definition button corresponding to eachstate/arrow in the Time Lines canvas. The Definitions window can betorn out of the Time Lines window as a standalone window, or it canbe re-attached to any one of the four sides of the Time Lines window.This allows the user to change the arrangement of the state and arrowdefinitions to optimize the use of the Time Lines canvas. All statesand arrows definitions are checked by default. Unchecking any of definitionswill make the corresponding states or arrows invisible. The goal isto help users highlight what they are interesed in by hiding the uninterestingones. Clicking on any of the definition buttons will bring up thehistogram window of the corresponding state/arrow. For example, theforward arrow button will invoke a window as shown in Figure [fig: histogram, forward arrow].([fig] <fig: histogram, forward arrow>Thehistogram for the forward arrow in the frame.) The Histogram windowprovides basic statistics and statistical distribution of the durationof the selected state. The "Blink States" button enables the selectedstate/arrow in the Time Lines window to flash. Again the goal is tohelp highlight the objects. Finally, we note that the memory demandfor Time Lines window is very high, especially on Linux box with JDK-1.1(runninggreen thread). Our experience indicates that the amount of X servermemory needed to have one instance of Time Lines window running isproportional to the size of the Time Lines window and the color depthof the X server. If one plans to run multiple instances of Time Lineswindows at the same time, be sure to have enough physical memory forthe X server and Java Virtual Machine.ReferencesAnthony Chan, William Gropp, Ewing Lusk, Anthony Bomarcich, ThedoreHoover, Yarsun Hsu, Marc Snir, and Eric Wu, Scalable Log File FormatSpecification: Concepts, DRAFT on 1/25/1999.Anthony Chan, William Gropp, and Ewing Lusk, Scalable Log Files forParallel Program Trace Data, DRAFT on 3/20/2000.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -