hal-00720012, version 1
A Language for Multi-threaded Active Objects
N° RR-8021 (2012)
Abstract: The active object programming model is particularly adapted to easily program distributed objects: it separates objects into several activities, each manipulated by a single thread, preventing data races. However, this programming model has its limitations in terms of expressiveness -- risk of deadlocks -- and of efficiency on multicore machines. To overcome these limitations, this paper presents an extension of the active object model, called multi-active objects, that allows each activity to be multithreaded. The new model is implemented as a Java library and relies on method annotations to decide which requests can be run in parallel. It provides implicit parallelism, sparing the programmer from low-level concurrency mechanisms. We define the operational semantics of the multi-active objects and study the basic properties of this model. The benefits of our proposal are highlighted using two different applications: the NAS Parallel Benchmarks and a peer-to-peer overlay. This report presents the multi-active object programming model, its implementation in Java, its formal semantics and properties, and some experiments showing its efficiency.
- 1:
- INRIA – Université Nice Sophia Antipolis [UNS] – CNRS : UMR7271
- 2:
- ETH Zurich
- Domain : Computer Science/Distributed, Parallel, and Cluster Computing
- Keywords : programming languages – active objects – parallelism – distribution
- Internal note : RR-8021
- Available versions : v1 (2012-07-23) v2 (2013-02-15)
- hal-00720012, version 1
- http://hal.inria.fr/hal-00720012
- oai:hal.inria.fr:hal-00720012
- From:
- Submitted on: Monday, 23 July 2012 13:41:16
- Updated on: Monday, 23 July 2012 13:59:41






Associated documents
Export