Your current filters are…
by Hari Krishnan and Sai Venkatakrishnan
Ruby is a wonderful language for rapid development, it is easy to learn, we have wonderful frameworks, an active and dynamic community. But when it comes to concurrency Ruby is plagued with problems, controversies and urban legends. A lot of people would know about green threads in Ruby, GIL and its inherent limitations. But that it only one part of the big picture. Ruby offers much more than threads to helps us with concurrency.
This presentation explores other options of writing highly concurrent applications in Ruby and options available in it. We cover topics ranging from Actor like message passing concurrency in Ruby, dataflow concurrency of how we can coordinate across different threads, Event driven methods, coroutine based concurrency which never blocks ;) and finally Software Transactional Memory. We look at lots of code, some serious looking yet colorful performance graphs comparisons, and conditions at which each of these forms are concurrency are effective and ineffective.
by Hemant Kumar
I have been building client/servers in Ruby for past 3 years and drawing from that experience I would talk about Threads in Ruby, Reactor pattern in Ruby, Eventmachine, Revactor, Packet, Actor pattern in Ruby, protocol parsing (ragel). Touching upon various threading implementation in MRI1.8, Ruby1.9 and JRuby. Best practices regarding threading. Writing threaded clients/servers. When threading model suffices and when it breaks down. Non-Blocking IO in Ruby. Select VS other advanced selectors. When to use NIO model and when to look for alternatives. Using Actor pattern in conjunction with Reactors for better scalability. And at last if time permits, I would present my ideas on building better network protocols and using ragel for protocol parsing.
20th–21st March 2010