Parallel object monitors
Abstract
Coordination of parallel activities on a shared memory machine is a crucial issue for modern software, even more with the advent of multi-core processors. Unfortunately, traditional concurrency abstractions force programmers to tangle the application logic with the synchronization concern, thereby compromising understandability and reuse, and fall short when fine-grained and expressive strategies are needed. This paper presents a new concurrency abstraction called POM, parallel object monitor, supporting expressive means for coordination of parallel activities over one or more objects, while allowing a clean separation of the coordination concern from application code. Expressive and reusable strategies for concurrency control can be designed, thanks to a full access to the queue of pending requests, parallel execution of dispatched requests together with after-actions, and complete control over reentrancy. A small domain-specific aspect language is provided to adequately configure pre-packaged, off-the-shelf synchronizations.
Patrocinador
This work is partially funded by the
Conicyt-INRIA project OSCAR, and the CoreGRID EU Network of Excellence. ´ E. Tanter is partially funded
by the Millennium Nucleus Center for Web Research, Grant P04-067-F of Mideplan, Chile, as well as by the
FONDECYT Project 11060493.
Identifier
URI: https://repositorio.uchile.cl/handle/2250/125089
DOI: 10.1002/cpe.1261
ISSN: 1532-0626
Quote Item
CONCURRENCY AND COMPUTATION-PRACTICE & EXPERIENCE Volume: 20 Issue: 12 Pages: 1387-1417 Published: AUG 25 2008
Collections