THREADED-C: Where is it coming from? Where is it going?

For the last few years, THREADED-C has been used for programming the EARTH multi-threaded parallel machine. The THREADED-C language can be seen as a direct interface to the EARTH architecture model. This means that a lot of low-level details have to be taken care of when writing THREADED-C programs. Although this situation has been somewhat alleviated with the version 1.1 of the portable THREADED-C compiler, which allows for symbolic thread names, THREADED-C still remains a low-level parallel programming language.

In this talk, we take a look at the past evolution of THREADED-C and look at some of its weaknesses, including the fact that in its current form, it enocurages a patholocical form of coupling between fibers. We also suggest some possible directions for its future evolution. Our conclusion it that some higher-level abstractions have to be introduced in the languages. Of course, a remaining question is just how much higher-level.

To get the slides