A way forward in parallelising dynamic languages

Remigius Meier, Armin Rigo
2014 Proceedings of the 9th International Workshop on Implementation, Compilation, Optimization of Object-Oriented Languages, Programs and Systems PLE - ICOOOLPS '14  
Dynamic languages became very popular in recent years. At some point, the need for concurrency arose, and many of them made the choice to use a single global interpreter lock (GIL) to synchronise the interpreter in a multithreading scenario. This choice, however, makes it impossible to actually run code in parallel. Here we want to compare different approaches to replacing the GIL with a technology that allows parallel execution. We look at fine-grained locking, shared-nothing, and
more » ... memory (TM) approaches. We argue that software-based TM systems are the most promising, especially since they also enable the introduction of large, parallelisable atomic blocks as a better synchronisation mechanism in the language.
doi:10.1145/2633301.2633305 dblp:conf/ecoop/MeierR14 fatcat:cnx6dus3orgc5ifm5lnmoi5xhq