Planned intervention: On Wednesday April 3rd 05:30 UTC Zenodo will be unavailable for up to 2-10 minutes to perform a storage cluster upgrade.
Published April 27, 2020 | Version 1
Conference paper Open

An R7RS Compatible Module System for Termite Scheme

Description

The Termite Scheme language is an existing extension of
Gambit Scheme that has features well suited for programming
heterogeneous distributed systems using a message passing
style. The language supports sending messages containing
procedures and continuations, which simplifies migrating
tasks between nodes during their execution.

A longstanding issue with the original implementation of
Termite is that compiled procedures and continuations can
only be sent to other nodes if the compiled code is already
loaded in the program receiving the message. This is tedious
to arrange in the typical case, and hard or impossible for hot
code updates which are an important use case (updating a
service without interrupting its execution).

Our work has implemented a solution to this problem:
an R7RS compatible module system that automates the
distribution of compiled code. The module system uses a
version control system to manage module versions and provide
a way to distribute code from network accessible repositories.
Modules are identified uniquely using the repository location
and version number. This allows multiple versions of the
same module to coexist in a program, an essential feature to
support hot code updates.

We explain the implementation of our module system and
how it solves various issues related to Termite Scheme and
programming distributed systems. Through an experimental
evaluation we have observed speed improvements for RPC of
close to one order of magnitude.

Files

main.pdf

Files (593.2 kB)

Name Size Download all
md5:0c68c01ba894d91c9fdca82158f0afbf
593.2 kB Preview Download

Additional details

Related works

Compiles
2677-3465 (ISSN)