Dynamic Malleability in MPI Applications
نویسندگان
چکیده
Malleability enables a parallel application’s execution system to split or merge processes modifying the parallel application’s granularity. While process migration is widely used to adapt applications to dynamic execution environments, it is limited by the granularity of the application’s processes. Malleability empowers process migration by allowing the application’s processes to expand or shrink following the availability of resources. We have implemented malleability as an extension to the PCM (Process Checkpointing and Migration) library, a user-level library for iterative MPI applications. PCM is integrated with the Internet Operating System (IOS), a framework for middleware-driven dynamic application reconfiguration. Our approach requires minimal code modifications and enables transparent middleware-triggered reconfiguration. We present experimental results that demonstrate the usefulness of malleability.
منابع مشابه
Malleable iterative MPI applications
Malleability enables a parallel application’s execution system to split or merge processes modifying granularity. While process migration is widely used to adapt applications to dynamic execution environments, it is limited by the granularity of the application’s processes. Malleability empowers process migration by allowing the application’s processes to expand or shrink following the availabi...
متن کاملToward Malleable Model Coupling
Model coupling is a well-known method employed to simulate complex multiphysics and multiscale phenomena. Approaches have concentrated on coupling parallel models involving static data distribution among processes without the consideration of top-level dynamic load balancing. Malleability, the ability to change during execution the number of processes in an application, allows applications to c...
متن کاملProgramming for Malleability with Hybrid MPI-2 and OpenMP – Experiences with a Simulation Program for Global Water Prognosis
This paper reports on our experiences in parallelizing WaterGAP, an originally sequential C++ program for global assessment and prognosis of water availability. The parallel program runs on a heterogeneous SMP cluster and combines different parallel programming paradigms: First, at its outer level, it uses master/slave communication implemented with MPI. Second, within the slave processes, mult...
متن کاملParleda: a Library for Parallel Processing in Computational Geometry Applications
ParLeda is a software library that provides the basic primitives needed for parallel implementation of computational geometry applications. It can also be used in implementing a parallel application that uses geometric data structures. The parallel model that we use is based on a new heterogeneous parallel model named HBSP, which is based on BSP and is introduced here. ParLeda uses two main lib...
متن کاملA new security proof for FMNV continuous non-malleable encoding scheme
A non-malleable code is a variant of an encoding scheme which is resilient to tampering attacks. The main idea behind non-malleable coding is that the adversary should not be able to obtain any valuable information about the message. Non-malleable codes are used in tamper-resilient cryptography and protecting memories against tampering attacks. Many different types of non-malleability have alre...
متن کامل