Actors: a model of concurrent computation in distributed systems
Actors: a model of concurrent computation in distributed systems
Future Generation Computer Systems - Special issue on metacomputing
SETI@home: an experiment in public-resource computing
Communications of the ACM
Programming dynamically reconfigurable open systems with SALSA
ACM SIGPLAN Notices
Adaptive Load Balancing for MPI Programs
ICCS '01 Proceedings of the International Conference on Computational Science-Part II
CoCheck: Checkpointing and Process Migration for MPI
IPPS '96 Proceedings of the 10th International Parallel Processing Symposium
Phoenix: a parallel programming model for accommodating dynamically joining/leaving resources
Proceedings of the ninth ACM SIGPLAN symposium on Principles and practice of parallel programming
The Globus Project: A Status Report
HCW '98 Proceedings of the Seventh Heterogeneous Computing Workshop
Starfish: Fault-Tolerant Dynamic MPI Programs on Clusters of Workstations
HPDC '99 Proceedings of the 8th IEEE International Symposium on High Performance Distributed Computing
Grid Information Services for Distributed Resource Sharing
HPDC '01 Proceedings of the 10th IEEE International Symposium on High Performance Distributed Computing
Load Balancing of Autonomous Actors over Dynamic Networks
HICSS '04 Proceedings of the Proceedings of the 37th Annual Hawaii International Conference on System Sciences (HICSS'04) - Track 9 - Volume 9
The GrADS Project: Software Support for High-Level Grid Application Development
International Journal of High Performance Computing Applications
A Simple MPI Process Swapping Architecture for Iterative Applications
International Journal of High Performance Computing Applications
Worldwide computing: Adaptive middleware and programming technology for dynamic Grid environments
Scientific Programming - Dynamic Grids and Worldwide Computing
Dynamic load balancing of SAMR applications on distributed systems
Scientific Programming - Best papers from SC 2001
The Internet Operating System: Middleware for Adaptive Distributed Computing
International Journal of High Performance Computing Applications
An architecture for reconfigurable iterative MPI applications in dynamic environments
PPAM'05 Proceedings of the 6th international conference on Parallel Processing and Applied Mathematics
Service Oriented Approach to High Performance Scientific Computing
CCGRID '10 Proceedings of the 2010 10th IEEE/ACM International Conference on Cluster, Cloud and Grid Computing
Supporting malleability in parallel architectures with dynamic CPUSETs mapping and dynamic MPI
ICDCN'10 Proceedings of the 11th international conference on Distributed computing and networking
Strategies for Rescheduling Tightly-Coupled Parallel Applications in Multi-Cluster Grids
Journal of Grid Computing
Elastic Scalable Cloud Computing Using Application-Level Migration
UCC '12 Proceedings of the 2012 IEEE/ACM Fifth International Conference on Utility and Cloud Computing
Distributed run-time resource management for malleable applications on many-core platforms
Proceedings of the 50th Annual Design Automation Conference
Structured reasoning about actor systems
Proceedings of the 2013 workshop on Programming based on actors, agents, and decentralized control
Accurate Resource Prediction for Hybrid IaaS Clouds Using Workload-Tailored Elastic Compute Units
UCC '13 Proceedings of the 2013 IEEE/ACM 6th International Conference on Utility and Cloud Computing
Hi-index | 0.00 |
Iterative applications are known to run as slow as their slowest computational component. This paper introduces malleability, a new dynamic reconfiguration strategy to overcome this limitation. Malleability is the ability to dynamically change the data size and number of computational entities in an application. Malleability can be used by middleware to autonomously reconfigure an application in response to dynamic changes in resource availability in an architecture-aware manner, allowing applications to optimize the use of multiple processors and diverse memory hierarchies in heterogeneous environments.The modular Internet Operating System (IOS) was extended to reconfigure applications autonomously using malleability. Two different iterative applications were made malleable. The first is used in astronomical modeling, and representative of maximum-likelihood applications was made malleable in the SALSA programming language. The second models the diffusion of heat over a two dimensional object, and is representative of applications such as partial differential equations and some types of distributed simulations. Versions of the heat application were made malleable both in SALSA and MPI. Algorithms for concurrent data redistribution are given for each type of application. Results show that using malleability for reconfiguration is 10 to 100 times faster on the tested environments. The algorithms are also shown to be highly scalable with respect to the quantity of data involved. While previous work has shown the utility of dynamically reconfigurable applications using only computational component migration, malleability is shown to provide up to a 15% speedup over component migration alone on a dynamic cluster environment.This work is part of an ongoing research effort to enable applications to be highly reconfigurable and autonomously modifiable by middleware in order to efficiently utilize distributed environments. Grid computing environments are becoming increasingly heterogeneous and dynamic, placing new demands on applications' adaptive behavior. This work shows that malleability is a key aspect in enabling effective dynamic reconfiguration of iterative applications in these environments.