Partners

  • Rutgers University
  • Syracuse University
  • University of California, Santa Barbara

    Related Information

  • Publication List
  • Presentation Slides
  • PIs Workshop, August 1998
  • Performance Prediction for Large Scale Data Intensive Applications on Large Scale Parallel Machines

    In recent years, I/O-intensive parallel programs have emerged as one of the leading consumers of cycles on parallel machines. Examples of I/O-intensive applications include satellite data processing, medical image databases, high performance relational databases, data mining, and detailed scientific modeling of complex phenomena. It is critical that future parallel machines be designed to accommodate the characteristics of I/O-intensive applications. To be able to do this, hardware designers need tools to accurately predict and analyze the performance of alternative designs for these applications. Conversely, application developers need tools to predict the performance of their applications on existing and future parallel machines in a straightforward way, so that they can be assured of good performance not just on existing machines, but also for the foreseeable future. Performance prediction of applications on parallel machines is a widely studied area. Previous work in this area has mainly focused on performance prediction of compute intensive scientific applications. Performance prediction for data intensive (I/O-intensive) applications on existing and future parallel machines poses several challenges. The vast amount of data processed by these applications requires expensive hardware configurations and renders virtually impossible direct experimentation on the target machine. It also rules out the use of detailed simulation techniques, because of long running times for simulations of large parallel configurations and large datasets. The complexity of these applications hinders the application of analytical methods.

    In this work, we are developing a simulation-based framework to predict the performance of data intensive applications on existing and future parallel machines. Our framework consists of two components; application emulators and a suite of simulators. Application emulators accurately capture the behavior of data intensive applications and enable experimentation with critical application components (e.g., input data partitioning, data declustering, processing structure, etc.) easily and flexibly. Our suite of simulators model the I/O and communication subsystems of the parallel machine at a sufficiently detailed level for accuracy in predicting application performance, while providing relatively coarse grain models of the execution of instructions within each processor. We have developed application emulators for three I/O-intensive applications, two satellite data processing applications and a medical image database system for large scale parallel machines. We have also developed a suite of simulation models that are both sufficiently accurate and execute quickly, so are capable of simulating parallel machine configurations of up to thousands of processors on a high-performance workstation. These simulators model the I/O and communication subsystems of the parallel machine at a sufficiently detailed level for accuracy in predicting application performance, while providing relatively coarse grain models of the execution of instructions within each processor. We introduce a new technique, loosely coupled simulation, that embeds the processing structure of the application in the form of a simple dependency graph into the simulator while preserving the application workload. This technique allows accurate, yet relatively inexpensive performance prediction for very large scale parallel machines.