[JA] Eliminating Giant VM Lock in Ruby through Hardware Transactional Memory
MRI uses a Giant VM Lock (GVL) to simplify its internal design, but this kind of lock lowers the multi-thread performance on multi-core machines. In this talk, I will show our results of eliminating the GVL of MRI using Hardware Transactional Memory (HTM). HTM is a new hardware feature implemented in recent CPUs and allows multiple threads to access shared data without using locks. Through HTM, multiple Ruby threads can execute (mostly) in parallel without any source code modification, and the execution results are still compatible with those of the original MRI. Our results show that HTM achieved 1.6- and 1.2-fold speedups in WEBrick and Ruby on Rails, respectively. A code patch for our changes will be made available shortly from our Web site.
- IBM Research - Tokyo
- Job title
Rei Odaira is a researcher at IBM Research - Tokyo. His research interest is in compilers, programming language runtimes, multi-thread programming, and computer architectures. He has been working on Java just-in-time compilers for more than 10 years and recently extending his scope to scripting language runtimes.
- Tokyo, Japan