E cient Implementation of the MPI-IO System for Distributed Memory Multiprocessors

نویسنده

  • Maciej Brodowicz
چکیده

My research concentrates on e cient implementation of parallel le systems. Its main focus are MPI-IO systems for distributed memorymultiprocessors. The target platform for the developed code is the NEC Cenju-3 supercomputer, however the sources are directly portable to any homogeneous MPP running the Mach 3.0 microkernel. An important feature of my implementation is that I/O nodes of the underlying architecture need only the ability to transfer blocks of data between local disk and memory plus few standard le operations (open, close, unlink, sync). Thus, the developed MPI-IO system is designed to run not only on machines supporting standard UNIX le system, but also on ones equipped with less sophisticated interfaces (e.g. memory mapped les). Unlike many common MPI-IO implementations providing only library support for MPI-IO functionality ([Thakur et al.], [Fineberg et al.]), this implementation consists of two components: library and server. The library (compliant with MPI-IO draft version 0.5 [MPI-IO]) is linked to the client application. It provides wrappers for MPI-IO functions and performs the rst stage of request processing before submitting them to the server. This minimizes the load on the server (as the requests, which can be completely satis ed within library are never passed on to the server). Tra c reduction can also be achieved; a single remote procedure call to the server can in e ect carry multiple data requests (especially if fragmented MPI datatypes are used). The servers' task is to relay le blocks from the remote to the requesting nodes and to keep track of them in a coherent manner. The blocks are cached exclusively at the server tasks, which simpli es consistency algorithms (no caching at the clients). Servers also coordinate accesses to the parallel les, so that, for example, deletion of a le requested by one of the applications is delayed until there are no accessors for that le, hence minimizing possible damage. The current version of the MPI-IO library supports the full set of data transfer functions (including accesses with explicit, individual and shared pointers as well as their non-blocking counterparts). The library also includes environment initialization and termination calls, as well as le open, close, delete, control, sync and seek operations. Asynchronous request processing is achieved with set of test, wait and request free functions using native MPI-IO representations. The library takes advantage of le hints ( le info), which are used to de ne custom striping of le data across the disks. They also inform the system about anticipated access patterns. The servers implement the parallel le system. In order to maximize the performance, a number of improvements (some suggested by theoretical research papers) was incorporated to the code:

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

ثبت نام

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

منابع مشابه

Integrating MPI and the Nanothreads Programming Model

This paper presents a prototype runtime system that integrates MPI, used on distributed memory systems, and Nanothreads Programming Model (NPM), a programming model for shared memory multiprocessors. This integration does not alter the independence of the two models, since the runtime system is based on a multilevel design that supports each of them individually but offers the capability to com...

متن کامل

Program Flow Graph Construction For Static Analysis of MPI Programs

The Message Passing Interface (MPI) has been widely used to develop e cient and portable parallel programs for distributed memory multiprocessors and workstation/PC clusters. In this paper, we present an algorithm for building a program ow graph representation of an MPI program. As an extension of the control ow graph representation of sequential codes, this representation provides a basis for ...

متن کامل

MPI/IO on DAFS over VIA: Implementation and Performance Evaluation

In this paper, we describe an implementation of MPI-IO on top of the Direct Access File System (DAFS) standard. The implementation is realized by porting ROMIO on top of DAFS. We identify one of the main mismatches between MPI-IO and DAFS is memory management. Three different design alternatives for memory management are proposed, implemented, and evaluated. We find that memory management in th...

متن کامل

Hierarchical MPI+OpenMP Implementation of Parallel PIC Applications on Clusters of Symmetric MultiProcessors

The hierarchical combination of decomposition strategies for the development of parallel Particle-in-cell simulation codes, targeted to hierarchical distributed-shared memory architectures, is discussed in this paper, along with its MPI+OpenMP implementation. Particular emphasis is given to the devised dynamic workload balancing technique.

متن کامل

Performing BMMC Permutations E ciently on Distributed-Memory Multiprocessors with MPI

This paper presents an architecture-independent method for performing BMMC permutations on multiprocessors with distributed memory. All interprocessor communication uses the MPI function MPI_Sendrecv_replace(). The number of elements and number of processors must be powers of 2, with at least one element per processor, and there is no inherent upper bound on the ratio of elements per processor....

متن کامل

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


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

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

دوره   شماره 

صفحات  -

تاریخ انتشار 1998