Description
The RoarVM uses a simple static approach to parallelism. The number of cores that are used is defined at startup time which allows to decrease the necessary complexity for thread support significantly. This approach could be applied relatively straightforwardly to the Squeak interpreter and eventually the CogVM. Existing libraries and approaches can be reused, but need to be ported to Squeak's Slang-based implementation.
Technical Details
Since the RoarVM is implemented in C++, the main part is to identify where which part of the RoarVM belongs in the Slang implementation. Furthermore, some of the libraries need to be translated from C++ to slang.
Benefits to the Student
Getting a deeper knowledge of a bytecode interpreting VM and low-level concurrency and performance issues.
Benefits to the Community
Enabling parallel execution of Smalltalk on a 100% compatible platform that has the same performance characteristics as the current VMs.
|