Pynamic: the Python Dynamic Benchmark

  • Authors:
  • Gregory L. Lee;Dong H. Ahn;Bronis R. de Supinski;John Gyllenhaal;Patrick Miller

  • Affiliations:
  • Lawrence Livermore National Laboratory, Livermore, California 94550. Email: lee218@llnl.gov;Lawrence Livermore National Laboratory, Livermore, California 94550. Email: ahn1@llnl.gov;Lawrence Livermore National Laboratory, Livermore, California 94550. Email: bronis@llnl.gov;Lawrence Livermore National Laboratory, Livermore, California 94550. Email: gyllen@llnl.gov;Lawrence Livermore National Laboratory, Livermore, California 94550. Email: miller220@llnl.gov

  • Venue:
  • IISWC '07 Proceedings of the 2007 IEEE 10th International Symposium on Workload Characterization
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

Python is widely used in scientific computing to facilitate application development and to support features such as computational steering. Making full use of some of Python's popular features, which improve programmer productivity, leads to applications that access extremely high numbers of dynamically linked libraries (DLLs). As a result, some important Python-based applications severely stress a system's dynamic linking and loading capabilities and also cause significant difficulties for most development environment tools, such as debuggers. Furthermore, using the Python paradigm for large scale MPI-based applications can create significant file IO and further stress tools and operating systems. In this paper, we present Pynamic, the first benchmark program to support configurable emulation of a wide-range of the DLL usage of Python-based applications for large scale systems. Pynamic has already accurately reproduced system software and tool issues encountered by important large Python-based scientific applications on our supercomputers. Pynamic provided insight for our system software and tool vendors, and our application developers, into the impact of several design decisions. As we describe the Pynamic benchmark, we will highlight some of the issues discovered in our large scale system software and tools using Pynamic.