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