100 likes | 211 Views
Overview of AIMS. Hans Sherburne UPC Group HCS Research Laboratory University of Florida. Color encoding key: Blue: Information Red: Negative note Green: Positive note. Basic Information. Name: Automated Instrumentation and Monitoring System Developer: NAS (NASA)
E N D
Overview of AIMS Hans Sherburne UPC Group HCS Research Laboratory University of Florida Color encoding key: Blue: Information Red: Negative note Green: Positive note
Basic Information • Name: Automated Instrumentation and Monitoring System • Developer: NAS (NASA) • Current Version: • AIMS V3.7.2 • (last updated in ’99) • Website: • http://www.nas.nasa.gov/Groups/Tools/Projects/AIMS/ • Contact: • ?
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
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
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
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
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
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 3rd party statistical drawing packages (i.e. Excel) for visualization
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
References [1] AIMS User Manual: http://www.nas.nasa.gov/Software/AIMS/manual/c1LM.html [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 1995. Vol. 25, No. 4, pages 429- 461