Actors: a model of concurrent computation in distributed systems
Actors: a model of concurrent computation in distributed systems
ACT++: building a concurrent C++ with actors
Journal of Object-Oriented Programming
ACM Transactions on Programming Languages and Systems (TOPLAS)
Transactional memory: architectural support for lock-free data structures
ISCA '93 Proceedings of the 20th annual international symposium on computer architecture
Proceedings of the fourteenth annual ACM symposium on Principles of distributed computing
Curiously recurring template patterns
C++ Report
Operating system principles
Programming dynamically reconfigurable open systems with SALSA
ACM SIGPLAN Notices
False Sharing and Spatial Locality in Multiprocessor Caches
IEEE Transactions on Computers
Towards a Theory of Actor Computation
CONCUR '92 Proceedings of the Third International Conference on Concurrency Theory
Evaluating distributed functional languages for telecommunications software
Proceedings of the 2003 ACM SIGPLAN workshop on Erlang
Software and the Concurrency Revolution
Queue - Multiprocessors
Kilim: Isolation-Typed Actors for Java
ECOOP '08 Proceedings of the 22nd European conference on Object-Oriented Programming
Scala Actors: Unifying thread-based and event-based programming
Theoretical Computer Science
A universal modular ACTOR formalism for artificial intelligence
IJCAI'73 Proceedings of the 3rd international joint conference on Artificial intelligence
Cloud computing for the masses
Proceedings of the 1st ACM workshop on User-provided networking: challenges and opportunities
OpenCL: A Parallel Programming Standard for Heterogeneous Computing Systems
IEEE Design & Test
Proceedings of the second ACM SIGCOMM workshop on Networking, systems, and applications on mobile handhelds
Orleans: cloud computing for everyone
Proceedings of the 2nd ACM Symposium on Cloud Computing
A middleware for transparent group communication of globally distributed actors
Proceedings of the Workshop on Posters and Demos Track
Hi-index | 0.00 |
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.