Native actors: a scalable software platform for distributed, heterogeneous environments

  • Authors:
  • Dominik Charousset;Thomas C. Schmidt;Raphael Hiesgen;Matthias Wählisch

  • Affiliations:
  • HAW Hamburg, Hamburg, Germany;HAW Hamburg, Hamburg, Germany;HAW Hamburg, Hamburg, Germany;Freie Universität Berlin, Berlin, Germany

  • Venue:
  • Proceedings of the 2013 workshop on Programming based on actors, agents, and decentralized control
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

Writing concurrent software is challenging, especially with low-level synchronization primitives such as threads or locks in shared memory environments. The actor model replaces implicit communication by an explicit message passing in a 'hared-nothing' paradigm. It applies to concurrency as well as distribution, but has not yet entered the native programming domain. This paper contributes the design of a native actor extension for C++, and the report on a software platform that implements our design for (a) concurrent, (b) distributed, and (c) heterogeneous hardware environments. GPGPU and embedded hardware components are integrated in a transparent way. Our software platform supports the development of scalable and efficient parallel software. It includes a lock-free mailbox algorithm with pattern matching facility for message processing. Thorough performance evaluations reveal an extraordinary small memory footprint in realistic application scenarios, while runtime performance not only outperforms existing mature actor implementations, but exceeds the scaling behavior of low-level message passing libraries such as OpenMPI.