Overview of AIMS Hans Sherburne UPC Group HCS Research Laboratory University of Florida Color encoding key: Blue: Information Red: Negative note Green: Positive note
2 Basic Information Name: Automated Instrumentation and Monitoring System Developer: NAS (NASA) Current Version: AIMS V3.7.2 (last updated in ’99) Website: Contact: ?
3 AIMS Overview AIMS was not chosen for a full evaluation Not updated since ’99 Support for MPI and PVM programs written in C and FORTRAN Unfortunately support for C programs and Linux seems to have only been in initial stages (According to website and README files) Some tools are mentioned in various publications, but seem to be absent in latest release and user’s guide Xisk MK – modeling kernel
4 AIMS Major Software Components xinstrument Source code instrumentation monitor Runtime performance monitoring library Various tools to process and display performance data View Kernel Displays performance data, primarily through an interactive Gantt-chart style view Tally Derives statistics from collected performance data Sysconfig Maps physical paths of network traffic
5 Instrumentation AIMS data collection is facilitated by source code instrumentation User may select to gather trace data or profile (summary) data xinstrument – GUI for inserting instrumentation User selects all subroutines, all communication, all i/o User may also select constructs by name All functions of loaded files are instrumented Only selected events are “triggered” based on profile Profile is read at the beginning of execution This approach eliminates the need for recompilation after changing selected constructs for monitoring
6 Measurement monitor – library used to record performance data Events recorded at each node: state entrance/exit, communication, I/O, barriers, data- structure definitions, markers The library attempts to correct clock skew and drift of timestamps for recorded events makefile must me modified to accommodate the modified source files
7 Analysis tracesort – sorting utility to improve viewing performance (mandatory for Intel iPSC/860 and Paragon versions of AIMS) pc -“intrusion correction” component Uses a simple model to predict message transmission time Accounts for overhead introduced by each even recorded Processes sorted traces, and attempts to maintain: Causality of communication Correct partial ordering along threads of control No false deadlocks introduced in trace
8 More Analysis Tally Generation of statistical data, organized into several tables Data for each function Routine name, busy time, global blocking time, send blocking time, receive blocking time, inclusive execution time, percentage of time in communication, index of communication compared to other functions Aggregated data per node Node number, busy time, global blocking time, send blocking time, receive blocking time, inclusive execution time, percentage of time in communication, percentage of communication time caused by contention NCPU “The NCPU for a given subroutine and a given k is the amount of CPU time used by that subroutine when k processors are busy, divided by k. “[1] Routine Concurrency “…indicates the amount of time spent by each subroutine when k copies were executing simultaneously “ [1] Tabular data can be fed into various 3 rd party statistical drawing packages (i.e. Excel) for visualization
9 Presentation “View Kernel” (VK) is responsible for visualization Main view is a Gantt-chart timeline (OverVIEW) Variants with color-coded information embedded are available lseek, io_wait, read, write time lseek, io_wait, read, write sizes Message sizes Additional functionality, available via pop-up dialogs Source code correlation Construct-tree correlation Other views Spokes - A view processes displayed arranged in a circle, messages as lines connecting processes SysConfig - A view showing network interconnections and paths of messages corresponding to selections in main view
10 References [1]AIMS User Manual: [2]J. C. Yan, S. R. Sarukkai, and P. Mehra. "Performance Measurement, Visualization and Modeling of Parallel and Distributed Programs using the AIMS Toolkit". Software Practice & Experience. April Vol. 25, No. 4, pages