Koichi Sasada is a programmer, mainly developing Ruby interpreter (CRuby/MRI). He received Ph.D (Information Science and Technology) from the University of Tokyo, 2007. Now he is still working on MRI development at Cookpad Inc. He is also a director of Ruby Association.
This talk will introduce the design and implementation of Guild, the concurrency system for Ruby 3 based on actual implementation.
One of big goals of Ruby 3 is better concurrency support. At RubyKaigi 2016, I proposed Guild to achieve better concurrent programming on parallel computers (A proposal of new concurrency model for Ruby 3). At RubyKaigi 2018, I introduced prototype of Guild system (Guild Prototype - RubyKaigi 2018). However, only a few code are working on the prototype.
Guild achieves easier concurrent program and utilize parallel computers by the idea (mostly) no implicit object sharing. To develop Guild system, we need to introduce many hacks to achieve both thread-safty and good performance. In this talk, I will introduce the design of Guild system and the implementation techniques on the actual implementation.