Speakers
-
Eleanor McHugh 3.07
-
Elise Huard 3.48
Description:
For the last few years hardware manufacturers have driven increasingly powerful multi-core processors into consumer-grade computing hardware. Power which twenty years ago was restricted to a handful of government-funded research institutes is now available on the desktop, introducing many developers to the conundrum of how best to use it with languages implemented primarily for sequential environments. In this presentation we'll use code to explore the various traditional models for concurrent execution supported directly by Ruby - such as Threads, Processes and Fibres - and their limitations before turning to the approaches pioneered in other languages and seeing how many we can bring into the Ruby fold. Starting with some underlying theory we'll explore Coroutines, Actor Models, Petri Nets, Process Algebras (particularly CSP and the Pi-Calculus), Software Transactional Memory and distributed Map/Reduce algorithms. Along the way we'll present characteristic examples of these techniques drawn from a variety of languages including Go, Occam-Pi, Clojure and Erlang. We'll take some of these examples and demonstrate how to construct similar architectures in Ruby using its native features and libraries such as EventMachine or RevActor. This is a practical session, focused on increasing increasing the knowledge of concurrency and how to work with it. It should help people improve both the structure of applications and the performance of those applications on multi-core hardware.
Comments on this Talk
Tim,
16 Nov 07:05 AM
Excellent verbal presentation, but the visual aids were sucker-punched by small fonts and dark backgrounds. These pitfalls were by no means exclusive to this talk, but I think the code samples would've really added to this session. I plan to review the slides on my own time, and I expect to get a lot out of them. I thought the bits about solving concurrent problems using sequential or cooperative code were particularly interesting.
This one convinced me to go to the Rev, Revactor, and Reia talk, and it was a good primer for the one on Faye (asynchronous services and testing) as well.
Last Five Ratings
-
Marty Haught 4.0
-
jeffbski
-
Matt Todd
-
Laurie
-
David Eisinger
3.87

Really interesting content, a good introduction to concepts and approaches, but the code slides were not useful or instructive at all due to being illegible (both too small and no contrast). Both presenters delivered intelligently and intelligibly.
Understandably, this is hard material to convey in code on slides. However, it also seemed that the presenters did not factor in the delivery of the slides and the situation of the audience.
However, the talk as a whole was valuable, entertaining, and worthwhile.