Parallel object monitors

  • Authors:
  • Denis Caromel;Luis Mateu;Guillaume Pothier;Éric Tanter

  • Affiliations:
  • OASIS Project, Université de Nice-CNRS-INRIA 2004, Rt. des Lucioles, Sophia Antipolis, France;PLEIAD Lab, Computer Science Department (DCC), University of Chile, Avenida Blanco Encalada 2120, Santiago, Chile and Synopsys Chile R&D Center, Av. Vitacura 5250. Piso 7, Of. 708, Santiago, Chile;PLEIAD Lab, Computer Science Department (DCC), University of Chile, Avenida Blanco Encalada 2120, Santiago, Chile;PLEIAD Lab, Computer Science Department (DCC), University of Chile, Avenida Blanco Encalada 2120, Santiago, Chile

  • Venue:
  • Concurrency and Computation: Practice & Experience
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

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. Copyright © 2007 John Wiley & Sons, Ltd.