We are currently developing JCilk,
a Java-based multithreaded programming language. JCilk
extends the Java language to provide call-return semantics
for multithreading, much as Cilk does for C. Java's
built-in thread model does not support the passing of
exceptions or return values from one thread back to the
"parent" thread that created it. JCilk imports Cilk's
fork-join primitives spawn and
sync into Java to provide
procedure-call semantics for concurrent subcomputations.
JCilk integrates exception handling with multithreading by
defining semantics consistent with the existing semantics
of Java's try and catch constructs, but which handle
concurrency in spawned methods.
JCilk is unique in that it supports an exception-handling
mechanism that handles concurrency in spawned methods,
using semantics that are consistent with the existing
semantics of Java's try and catch constructs. Most parallel
languages do not provide an exception-handling mechanism.
The parallel languages that do provide exception support are
built upon serial languages, whose support for exceptions
is only semantically defined for serial execution.
These parallel languages do not extend the
exception-handling semantics to a concurrent context.
JCilk is one of the few parallel languages that address the
issue of integrating exception handling with multithreading
and the first to define a concrete set of semantics
consistent with the existing serial semantics of Java's
exception mechanism.
We have developed a working version of the JCilk system,
including both the compiler and the runtime system. This
is a prototype implementation built in order to test the
semantics that we designed for JCilk. Click
here to download our prototype implementation.
|
|
The JCilk-1 Runtime System by John S. Danaher
Master's Thesis, Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science June,
2005 To download the paper:
ps format
pdf format
BibTeX
|
The JCilk Multithreaded Language by I-Ting Angelina Lee
Master's Thesis, Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science August,
2005 To download the paper:
ps format
pdf format
BibTeX
|
The JCilk Language for Multithreaded Computing by John S. Danaher, I-Ting Angelina Lee, and Charles E. Leiserson Synchronization and Concurrency in Object-Oriented Languages (SCOOL) San Diego, California October,
2005 To download the paper:
ps format
pdf format
BibTeX
|
Programming with Exceptions in JCilk by John S. Danaher, I-Ting Angelina Lee, and Charles E. Leiserson Science of Computer Programming (SCP),
147–171, December,
2006 To download the paper:
ps format
pdf format
BibTeX
|
|