Showing posts from June, 2014

The actor model of computation

This video has Professor Carl Hewitt in it. Hewitt is the original creator of the concept of actors.

Hewitt created the concept of actors in 1973 with Bishop, and Steiger.
Everything is in this paper and it's 11 page.

If you have little time, you can read only the bottom of page 12 of Gul Agha's PhD thesis.  page 12, section "2.1.3 Actors"

If you have more time:

Baker was a PhD student with Hewitt. He and Hewitt wrote the "laws of actors" in 1977 (see below).
Agha was also a PhD student with Hewitt and he reformulated the concepts in his thesis.

After that, Joe Armstrong (at Ericsson) advanced the subject (he also did his PhD on the topic).

Anyway, below are the 4 most important pieces of work in the literature (according to me).

Hewitt, Bishop, Steiger 1973    
Hewitt, C., Bishop, P. & Steiger, R. A universal modular ACTOR formalism for artificial intelligence. In Proceedings of the 3rd internationa…

Early prototype of our work with actors for genomics

Our work on biosal (bsal) is advancing well.

Here is an example of what you can do easily with the actor model.
This actor machine emulator contains 4 biosal nodes, each with 24 threads and 23 workers (23 worker threads and 1 communication thread). The actor machine executes actors, and the behavior of actor is specified with scripts (in C 1999).

The command I used on the supercomputer to launch the app:

# 4 physical computers, with a fast interconnect
# 4 bsal nodes
# 24 threads per bsal node

#       -d depth       Depth of each processor (number of threads)
#       -N pes         PEs per node
#       -n width       Number of processors needed

aprun -n 4 -N 1 -d 24 biosal/example_controller -threads-per-node 24 datasets/Iowa_Continuous_Corn/*

This is the standard output. This actor computation ran in 3 minutes, 39 seconds. The nice thing about running an actor computation is that the actor machine can collect easily a lot of metrics. These metrics are displayed at the end of the log.