Article ID | Journal | Published Year | Pages | File Type |
---|---|---|---|---|
433985 | Science of Computer Programming | 2014 | 13 Pages |
While the actor model of concurrency is well appreciated for its ease of use, its scalability is often criticized. Indeed, the fact that execution within an actor is sequential prevents certain actor systems to take advantage of multicore architectures. In order to combine scalability and ease of use, we propose Parallel Actor Monitors (PAMs), as a means to relax the sequentiality of intra-actor activity in a structured and controlled way. A PAM is a modular, reusable scheduler that permits one to introduce intra-actor parallelism in a local and abstract manner. PAM allows the stepwise refinement of local parallelism within a system on a per-actor basis, without having to deal with low-level synchronization details and locks. We present the general model of PAM and its instantiation in the AmbientTalk language. Benchmarks confirm the expected performance gain.