Safe-for-Space Threads in Standard ML

نویسندگان

  • Edoardo Biagioni
  • Kenneth Cline
  • Peter Lee
  • Chris Okasaki
  • Christopher A. Stone
چکیده

Threads can easily be implemented using first-class continuations, but the straightforward approaches for doing so lead to space leaks, especially in a language with exceptions like Standard ML. We show how these space leaks arise and give a new implementation for threads that is safe for space.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Lightweight checkpointing for concurrent ML

Transient faults that arise in large-scale software systems can often be repaired by re-executing the code in which they occur. Ascribing a meaningful semantics for safe re-execution in multithreaded code is not obvious, however. For a thread to re-execute correctly a region of code, it must ensure that all other threads that have witnessed its unwanted effects within that region are also rever...

متن کامل

Concurrent ML as a Discrete Event Simulation Language

Two common approaches to discrete event simulation, event scheduling (ES) and process interaction (PI) share a fundamental reliance on creating and dispatching continuations. In ES, the model builder implements individual steps of the simulation as procedures or methods, then explicitly schedules the steps by making calls to delay and queueing operations. Modeled entities’ behavior is spread ac...

متن کامل

Procs and Locks: A Portable Multiprocessing Platform for Standard ML of New Jersey

in Multilisp) and rely on sophisticated runtime system support ; they don't attempt to be extensible or portable. The Lisp-based system most closely resembling ours is STING [20, 21], a concurrent dialect of Scheme speci-cally intended as a substrate for building higher-level parallel computing environments. STING's basic data types are threads and virtual processors; the system provides ex-ibi...

متن کامل

Isolating Determinism in Multi-threaded Programs

Futures are a program abstraction that express a simple form of fork-join parallelism. The expression future (e) declares that e can be evaluated concurrently with the future’s continuation. Safe-futures provide additional deterministic guarantees, ensuring that all data dependencies found in the original (non-future annotated) version are respected. In this paper, we present a dynamic analysis...

متن کامل

The Health Policy Process in Vietnam: Going Beyond Kingdon’s Multiple Streams Theory; Comment on “Shaping the Health Policy Agenda: The Case of Safe Motherhood Policy in Vietnam”

This commentary reflects upon the article along three broad lines. It reflects on the theoretical choices and omissions, particularly highlighting why it is important to adapt the multiple streams framework (MSF) when applying it in a socio-political context like Vietnam’s. The commentary also reflects upon the analytical threads tackled by Ha et al; for instance, it highlights the opportunitie...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:
  • Higher-Order and Symbolic Computation

دوره 11  شماره 

صفحات  -

تاریخ انتشار 1998