A Run-Time Performance Monitor for Message-Passing Parallel Programs

نویسندگان

  • K. Zhang
  • C. Sun
چکیده

A fundamental problem with parallel program monitoring tools is the intrusiveness introduced by instrumenting a monitor into the original program for collecting trace data. An intrusive monitor may alter the order of program events and distort the timing information. This may result in a change in the probability of making particular non-deterministic choices, and thus change the program behaviour. This paper presents an instrumentation approach for monitoring parallel message-passing programs with a minimum intrusiveness. The approach uses virtual clocks to time and control the ordering of communication events during monitoring, and to reeect the real time execution when running without monitoring. Its main improvement over some previous approaches is that it not only preserves the partial ordering of events, but also collecting accurate timing information. It is therefore suitable for both program debugging and performance tuning. The paper describes how the approach collects timing information maintaining the original ordering of events. It also reports the results of a preliminary performance evaluation of our approach on a multiprocessor system.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A Message-Passing Distributed Memory Parallel Algorithm for a Dual-Code Thin Layer, Parabolized Navier-Stokes Solver

In this study, the results of parallelization of a 3-D dual code (Thin Layer, Parabolized Navier-Stokes solver) for solving supersonic turbulent flow around body and wing-body combinations are presented. As a serial code, TLNS solver is very time consuming and takes a large part of memory due to the iterative and lengthy computations. Also for complicated geometries, an exceeding number of grid...

متن کامل

PARC++: A Parallel C++

PARC++ is a system that supports object-oriented parallel programming in C++. PARC++ provides the user with a set of predefined C++ classes that can easily be used for the construction of parallel C++ programs. With the help of PARC++ objects, the programmer is able to create and start new processes (threads), to synchronize their activities (Blocklock, Monitor) and to manage communication via ...

متن کامل

Asynchronous Parallel Simulation of Parallel Programs

Parallel simulation of parallel programs for large datasets has been shown to ooer signiicant reduction in the execution time of many discrete event models. This paper describes the design and implementation of MPI-SIM, a library for the execution driven parallel simulation of task and data parallel programs. MPI-SIM can be used to predict the performance of existing programs written using MPI ...

متن کامل

Analyzing Data-structure Movements in Message-Passing Programs

In this paper we show that the analysis of interprocessor data movement in terms of sourcelevel data structures can be e ective in performance debugging. We present a method for the low overhead run time monitoring of interprocessor communication in terms of data structures. We show how performance indices based on postmortem analysis of the collected trace data can guide the user directly to t...

متن کامل

Parallel Simulation of Data Parallel Programs

Accurate simulations of parallel programs for large datasets can often be slow; parallel execution has been shown to ooer signiicant potential in reducing the execution time of many discrete-event sim-ulators. In this paper, we describe the design and implementation of a parallel simulator called DPSIM that simulates the execution of data parallel programs on contemporary message-passing parall...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2007