pycon logo

PyCon 2011 Atlanta

March 9th–17th

Log in or Sign Up

Capture, Store, Analyze, and Compare Supercomputer Performance Metrics with Python and MySQL

log in to bookmark this presentaton

Experienced / Poster
Sandia National Labs analyzes high-performance computing environments to optimize application performance, analyze system architectures, and provide design guidance for future systems. We discuss the process of using our open source GUI Python software tools, Pylot and Co-Pylot, to capture, store, analyze, and compare performance data through direct access and display of MySQL database tables.


As a leading entity in supercomputer development and application, Sandia National Laboratories has developed a performance analysis suite for capturing, storing, analyzing, and comparing supercomputer performance metrics. This suite consists of two Python software tools, Pylot and Co-Pylot.

Co-Pylot is a relatively simple interface that enables easy batch transfer of performance data and other relevant metrics as they are generated to a remote MySQL database server for persistent storage. Once captured, the performance data can be extracted, organized, filtered, and analyzed using Pylot, a more functionally complex interface. Pylot allows the user to directly access the MySQL database table, to display the table using an intuitive GUI interface, and to present user-selected MySQL fields in a variety of views. These views include statistical data, bar and pie charts, Cartesian or log-log or semi-log plots, reference curves for comparisons, and Kiviat diagrams (also called radar charts) for multivariate datasets.

In addition, Pylot's built-in storage buffer provides the ability to store, compare, and analyze data from multiple databases, again using an intuitive GUI. This capability is critical for studying performance variations of a code running on a particular architecture, comparing application performance across architectures, or comparing multiple applications on one or more architectures, all difficult feats when using MySQL alone. Values in up to four database fields at a time can be mathematically combined to generate a new set of data for plotting and analysis while leaving the original database table intact.

Further, Pylot provides the ability to easily move MySQL databases and tables between computers/servers, including the analyst’s laptop. This coherency of databases across multiple analysis platforms can be used, for example, to provide local access to databases, thus avoiding network latency issues associated with accessing remote servers. This has the additional benefit of serving as a distributed backup system for databases.