Chores: enhanced run-time support for shared-memory parallel computing
- 1 February 1993
- journal article
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Computer Systems
- Vol. 11 (1) , 1-32
- https://doi.org/10.1145/151250.151251
Abstract
Parallel computing is increasingly important in the solution of large-scale numerical problems. The difficulty of efficiently hand-coding parallelism, and the limitations of parallelizing compilers, have nonetheless restricted its use by scientific programmers.In this paper we propose a new paradigm,chores, for the run-time support of parallel computing on shared-memory multiprocessors. We consider specifically uniform memory access shared-memory environments, although the chore paradigm should also be appropriate for use within the clusters of a large-scale nonuniform memory access machine.We argue that chore systems attain both the high efficiency of compiler approaches for the common case of data parallelism, and the flexibility and performance of user-level thread approaches for functional parallelism. These benefits are achieved within a single, simple conceptual model that almost entirely relieves the programmer and compiler from concerns of granularity, scheduling, and enforcement of synchronization constraints. Measurements of a prototype implementation demonstrate that the chore model can be supported more efficiently than can traditional approaches to either data or functional parallelism alone.Keywords
This publication has 15 references indexed in Scilit:
- Program structuring for effective parallel portabilityIEEE Transactions on Parallel and Distributed Systems, 1993
- Scheduler activationsACM Transactions on Computer Systems, 1992
- First-class user-level threadsPublished by Association for Computing Machinery (ACM) ,1991
- Lazy task creation: a technique for increasing the granularity of parallel programsIEEE Transactions on Parallel and Distributed Systems, 1991
- The effect of scheduling discipline on spin overhead in shared memory parallel systemsIEEE Transactions on Parallel and Distributed Systems, 1991
- The performance implications of thread management alternatives for shared-memory multiprocessorsIEEE Transactions on Computers, 1989
- How to write parallel programs: a guide to the perplexedACM Computing Surveys, 1989
- Firefly: a multiprocessor workstationIEEE Transactions on Computers, 1988
- WorkCrews: An abstraction for controlling parallelismInternational Journal of Parallel Programming, 1988
- Mean-Value Analysis of Closed Multichain Queuing NetworksJournal of the ACM, 1980