Actor Model Software Transactional Memory Data Flow Programming
Actor: an autonomous and concurrent entity sending “messages” In response to a “message”, an actor may › Send an finite set of messages to known actors › Create a finite set of new actors › Define how it will respond to future messages
Translating sequential object implementation to concurrent non- blocking ones Transaction: a finite sequence of local and shared memory machine instructions The illusion: Isolation and Atomicity A shared object plays the role of an STM.
Divide, conquer, merge the processing data MapReduce › Map: map incoming data to intermediate results › Reduce: merge intermediate results to final results › Specialized File System
Relevant: Killim, Clojure
Similars: Erlang, ActorFoundry, Jetlang
STM on Groovy/Java
Map/Reduce
GPars Haskell Based on Groovy and Java Parallel Collection Functions Data Flows and MapReduce Actors forkIO and Mvars STM Foreign Function Interface Nested Data Parallelism
Akka MPI Actors and Remote Actors STM Transactors: Transactional Actors Message Passing Interface Distributed Memory C, C++, Fortran, Boost Library