Improving Squeak/Pharo support for running on multicores on the RoarVM

Mentor: Stefan Marr
Second mentor:
Level: Intermediate
Invited students: Marcus Ihlar
Students interested: Marcus Ihlar(very), Le Nam(very)(no biography!!!)


Currently, Squeak and Pharo make strong assumptions about the VM they run on. This includes the assumption that Smalltalk processes are not executed in parallel. The various tools and kernel parts are only to a certain degree thread safe. The goal is to improve the thread safety step by step to enable parallel execution.

Technical Details

This would be a first step support for parallel systems, independent of an actual VM. Involves in-image pure Smalltalk programming and requires a certain set of knowledge in parallel programming. The parts that are not threadsafe are typically easy to discover either by observing race conditions or finding patterns in the code that rely on single-threaded scheduling semantics.

Benefits to the Student

The student will get a deep insight in multicore programming and concurrency problems. This kind of experience is still missing from many curricula and is required in many software development projects.

Benefits to the Community

Improving support for today's hardware parallelism.

Updated: 18.3.2012