Computer
Indirect distributed garbage collection: handling object migration
ACM Transactions on Programming Languages and Systems (TOPLAS)
Global arrays: a nonuniform memory access programming model for high-performance computers
The Journal of Supercomputing
PPOPP '90 Proceedings of the second ACM SIGPLAN symposium on Principles & practice of parallel programming
Building a high-performance collective communication library
Proceedings of the 1994 ACM/IEEE conference on Supercomputing
Adapting to Load on Workstation Clusters
FRONTIERS '99 Proceedings of the The 7th Symposium on the Frontiers of Massively Parallel Computation
AfriGraph '01 1st International Conference on Virtual Reality, Computer Graphics and Visualization in Southern Africa ( formerly known as SAGA 2001 )
A Parallel-Object Programming Model for PetaFLOPS Machines and Blue Gene/Cyclops
IPDPS '02 Proceedings of the 16th International Parallel and Distributed Processing Symposium
Enabling rapid development of parallel tree search applications
Proceedings of the 5th IEEE workshop on Challenges of large applications in distributed environments
Scaling molecular dynamics to 3000 processors with projections: a performance analysis case study
ICCS'03 Proceedings of the 2003 international conference on Computational science
Hi-index | 0.00 |
We present efficient support for generalized arrays of parallel data driven objects. The “array elements” are scattered across a parallel machine. Each array element is an object that can be thought of as a virtual processor. The individual elements are addressed by their “index”, which can be an arbitrary object rather than a simple integer. For example, it can be a series of numbers, supporting multidimensional sparse arrays; a bit vector, supporting collections of quadtree nodes; or a string. Messages can be sent to any individual array element from any processor, and the elements can participate in reductions and broadcasts. Individual elements can be created or deleted dynamically at any time. Most importantly, the elements can migrate from processor to processor at any time. The paper discusses support for message delivery and collective operations in face of such dynamic behavior. The migration capabilities of array elements have proven extremely useful, for example, in implementing flexible load balancing strategies and for exploiting workstation clusters adaptively.