A Customizable Substrate for Concurrent Languages

Suresh Jagannathan, Jim Philbin

Research output: Contribution to journalArticle

Abstract

We describe an approach to implementing a wide-range of concurrency paradigms in high-level 1992 programming languages. The focus of our discussion is STING, a dialect of Scheme, that supports lightweight threads of control and virtual processors as first-class objects. Given the significant degree to which the behavior of these objects may be customized, we can easily express a variety of concurrency paradigms and linguistic structures within a common framework without loss of efficiency. Unlike parallel systems that rely on operating system services for managing concurrency, STING implements concurrency management entirely in terms of Scheme objects and procedures. It, therefore, permits users to optimize the runtime behavior of their applications without requiring knowledge of the underlying runtime system. This paper concentrates on (a) the implications of the design for building asynchronous concurrency structures, (b) organizing large-scale concurrent computations, and (c) implementing robust programming environments for symbolic computing.

Original languageEnglish (US)
Pages (from-to)55-81
Number of pages27
JournalACM SIGPLAN Notices
Volume27
Issue number7
DOIs
Publication statusPublished - Jan 7 1992
Externally publishedYes

    Fingerprint

ASJC Scopus subject areas

  • Computer Science(all)
  • Computer Graphics and Computer-Aided Design
  • Software

Cite this