Multi-threaded OpenSmalltalk VM: Choosing a Strategy for Parallelization

Authors:
Leon Matthes, Marcel Taeumel, Eliot Miranda, Robert Hirschfeld
Published:
In ‹Programming› '24: 8th International Conference on the Art, Science, and Engineering of Programming. March 11, 2024.
Abstract:

Dynamic, object-oriented programming languages are widely regarded as enjoyable and easy to use. These languages lend themselves well to exploration and very short iteration cycles and feedback loops. However, many of them have no or limited support for multithreading. Squeak, a modern Smalltalk programming environment that focuses on interactivity and programming experience, doesn’t support multithreading. We discuss multiple high-level strategies employed by similar languages and runtime environments to support parallel execution. Existing research and implementations using the presented strategies are analyzed to find a good fit for the Squeak/Smalltalk ecosystem. Due to Squeak’s strong focus on interactivity and programming experience, we decided for an approach with limited support for parallelization. Our focus on a straight-forward implementation is based on our observation that reduction of pause times is more important for the programming experience than a model for fully parallel execution.

BibTeX:
@inproceedings{matthes2024,
  title = {{Multi-threaded OpenSmalltalk VM: Choosing a Strategy for Parallelization}},
  author = {Leon Matthes and Marcel Taeumel and Eliot Miranda and Robert Hirschfeld},
  booktitle = {‹Programming› '24: 8th International Conference on the Art, Science, and Engineering of Programming},
  year = 2024,
  doi = {10.1145/3660829.3660846},
}