Transcript Slide 1
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 nonblocking 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