Abstract | ||
---|---|---|
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 transactional 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. |
Year | DOI | Venue |
---|---|---|
2014 | 10.1145/2633301.2633305 | ICOOOLPS@ECOOP |
Keywords | Field | DocType |
parallelism,global interpreter lock,design,parallelism and concurrency,experimentation,compilers,transactional memory,measurement,languages,dynamic languages,object-oriented languages,performance | Multithreading,Synchronization,Global Interpreter Lock,Programming language,Concurrency,Computer science,Parallel computing,Transactional memory,Interpreter | Conference |
Citations | PageRank | References |
1 | 0.40 | 12 |
Authors | ||
2 |
Name | Order | Citations | PageRank |
---|---|---|---|
Remigius Meier | 1 | 2 | 1.09 |
Armin Rigo | 2 | 301 | 18.27 |