Foundation for an efficient multi-threaded Scheme system

Suresh Jagannathan, Jim Philbin

Research output: Chapter in Book/Report/Conference proceedingConference contribution

12 Scopus citations


We have built a parallel dialect of Scheme called STING that differs from its contemporaries in a number of important respects. STING is intended to be used as an operating system substrate for modern parallel programming languages. The basic concurrency management objects in STING are first-class lightweight threads of control and virtual processors (VPs). Unlike high-level concurrency structures, STING threads and VPs are not encumbered by complex synchronization protocols. Threads and VPs are manipulated in the same way as any other Scheme structure. STING separates thread policy decisions from thread implementation ones. Implementations of different parallel languages built on top of STING can define their own scheduling and migration policies without requiring modification to the runtime system or the provided interface. Process migration and scheduling can be customized by applications on a per-VP basis. The semantics and implementation of threads minimizes the cost of thread creation, and puts a premium on storage locality. The storage management policies in STING lead to better cache and page utilization, and allows users to experiment with a variety of different execution regimes - from fully delayed to completely eager evaluation.

Original languageEnglish (US)
Title of host publicationProc 92 ACM Conf Lisp Funct Program
PublisherPubl by ACM
Number of pages12
ISBN (Print)0897914813
StatePublished - Dec 1 1992
EventProceedings of the 1992 ACM Conference on Lisp and Functional Programming - San Francisco, CA, USA
Duration: Jun 22 1992Jun 24 1992

Publication series

NameProc 92 ACM Conf Lisp Funct Program


OtherProceedings of the 1992 ACM Conference on Lisp and Functional Programming
CitySan Francisco, CA, USA

ASJC Scopus subject areas

  • General Engineering


Dive into the research topics of 'Foundation for an efficient multi-threaded Scheme system'. Together they form a unique fingerprint.

Cite this