Using idle workstations in a shared computing environment
SOSP '87 Proceedings of the eleventh ACM Symposium on Operating systems principles
Memory coherence in shared virtual memory systems
ACM Transactions on Computer Systems (TOCS)
Recovery in distributed systems using optimistic message logging and check-pointing
Journal of Algorithms
Data-parallel programming on MIMD computers
Data-parallel programming on MIMD computers
The high performance Fortran handbook
The high performance Fortran handbook
Distributed snapshots: determining global states of distributed systems
ACM Transactions on Computer Systems (TOCS)
A migratable user-level process package for PVM
Journal of Parallel and Distributed Computing - Special issue on workstation clusters and network-based computing
Thread migration and its applications in distributed shared memory systems
Journal of Systems and Software
Runtime performance of parallel array assignment: an empirical study
Supercomputing '96 Proceedings of the 1996 ACM/IEEE conference on Supercomputing
OpenMP on networks of workstations
SC '98 Proceedings of the 1998 ACM/IEEE conference on Supercomputing
Adaptive Parallelism and Piranha
Computer
A Case for NOW (Networks of Workstations)
IEEE Micro
Adaptive and reliable parallel computing on networks of workstations
ATEC '97 Proceedings of the annual conference on USENIX Annual Technical Conference
Automatic node selection for high performance applications on networks
Proceedings of the seventh ACM SIGPLAN symposium on Principles and practice of parallel programming
Adaptive use of a cluster of PCs for data warehousing applications: some problems and issues
SAC '00 Proceedings of the 2000 ACM symposium on Applied computing - Volume 2
OpenMP on networks of workstations for software DSMs
Journal of Computer Science and Technology
Production Job Scheduling for Parallel Shared Memory Systems
IPDPS '01 Proceedings of the 15th International Parallel & Distributed Processing Symposium
DyRecT: Software Support for Adaptive Parallelism on NOWs
IPDPS '00 Proceedings of the 15 IPDPS 2000 Workshops on Parallel and Distributed Processing
Communication Bandwidth of Parallel Programming Models on Hybrid Architectures
ISHPC '02 Proceedings of the 4th International Symposium on High Performance Computing
Adaptive Parallelism for OpenMP Task Parallel Programs
LCR '00 Selected Papers from the 5th International Workshop on Languages, Compilers, and Run-Time Systems for Scalable Computers
Adaptive Distributed Applications on Heterogeneous Networks
HCW '99 Proceedings of the Eighth Heterogeneous Computing Workshop
Dyn-MPI: Supporting MPI on Non Dedicated Clusters
Proceedings of the 2003 ACM/IEEE conference on Supercomputing
Dyn-MPI: Supporting MPI on medium-scale, non-dedicated clusters
Journal of Parallel and Distributed Computing
Compiler optimization techniques for OpenMP programs
Scientific Programming
Dynamic reconfiguration of grid-aware applications in ASSIST
Euro-Par'05 Proceedings of the 11th international Euro-Par conference on Parallel Processing
Adjusting process count on demand for petascale global optimization
Parallel Computing
Hi-index | 0.00 |
We present a system that allows OpenMP programs to execute on a network of workstations with a variable number of nodes. The ability to adapt to a variable number of nodes allows a program to take advantage of additional nodes that become available after it starts execution, or to gracefully scale down when the number of available nodes is reduced. We demonstrate that the cost of adaptation is modest; the system allows a program to adapt at a moderate rate without much performance loss.Two ideas underlie the efficiency of our design. First, we recognize that OpenMP programs exhibit convenient adaptation points during their execution, points at which the cost of adaptation can be much reduced. Second, by allowing a process a certain grace period before it must leave a node, we insure that most adaptations can occur at these adaptation points, and thus at low cost. Migration of a process, a much more expensive method for providing adaptivity, is used only as a back-up solution, when the process cannot reach an adaptation point within the grace period.Our implementation consists of an OpenMP pre-processor that generates TreadMarks distributed shared memory (DSM) programs, and a version of TreadMarks modified to adapt to a variable number of nodes. Using a DSM as the underlying substrate facilitates the data (re-)distribution necessary after an adaptation.