Get Lanyrd on your mobile (iPhone, Android and more) - check it out here

Actors on Stage

A session at Nordic Ruby 2011

Computers are being built with more and more CPUs and those CPUs in turn have several cores. Powerful calculations are now performed either on many-cored machines, or on distributed systems. In this context, it's in the developer's interest to start thinking about concurrent programming. But concurrent programming is tricky - one has to deal with race conditions, locks, anything to do with shared state. The last few years have shown that very few developers get this right when faced with conventional shared state threads.

One of the ways to simplify concurrent programming is the actor model. In the actor model, programs are made of actors sending each other messages, and acting on the messages they receive. The actors don't share any state, and communicate purely by messages.

In this talk I explore several ways to implement the actor model in Ruby.

The existing actor implementations in Ruby:

  • Rubinius actors
  • existing actor gems (cross Ruby implementations)

Actor implementations that are a little more 'out there':

  • An actor implementation using zeroMQ I'm working on.
  • bindings with the Akka framework in Scala with JRuby
  • bindings with erlang, the first mainstream implementation of the actor model

And their advantages and drawbacks, and (fun) code examples.

The talk will also allude to the fact that threads in Ruby should ideally have separate state, so that all programs using threads could also use the actor model (or other similar concurrency models).

About the speaker

This person is speaking at this event.
Elise

Invariably curious. bio from Twitter

Coverage of this session

Sign in to add slides, notes or videos to this session

Tell your friends!

When

Time 11:00am11:15am CET

Date Sat 18th June 2011

Short URL

lanyrd.com/sdddg

Official event site

nordicruby.org

View the schedule

Topics

See something wrong?

Report an issue with this session