Featherweight threads and ANDF compilation of concurrency

  • Ben Sloman
  • Tom Lake
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 966)


We present an intermediate representation called ThreadTDF, a component of the Parallel TDF system for compiling distributed concurrent programs to shared and distributed memory multiprocessors. ThreadTDF is a parallel extension of the TDF architecture neutral distribution format (ANDF) for sequential programs. ThreadTDF provides featherweight thread mechanisms for explicitly scheduling dynamic finegrain concurrent computations within procedures (and more generally within static local scopes). Communication between address spaces is supported by remote service request mechanisms based upon asynchronous activation of remote threads and synchronous remote procedure calls. In ThreadTDF variable lifetimes bound the lifetimes of featherweight threads declared in their scope. We show how a compiler uses thread lifetime information to integrate resource allocation and communication with thread scheduling for efficient intraprocedural concurrency. Initial performance results are given for the SPARC processor.


Procedure Call Intermediate Representation Context Switch Register Allocation SS10 SS10 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    V. Bala and J. Ferrante. Explicit data placement(XDP): A methodology for explicit compile-time representation and optimisation of data movement. ACM SIGPLAN notices, 28(1):28–31, January 1993.Google Scholar
  2. 2.
    Robert D. Blumofe and Charles E. Leiserson. Scheduling multithreaded computations by work stealing. In Proceedings of the 35th Annual Symposium on Foundations of Computer Science (FOCS '94), pages 356–368, Santa Fe, New Mexico, November 1994.Google Scholar
  3. 3.
    Frédéric Broustaut, Christian Fabre, François de Ferrière, éric Ivanov, and Mauro Fiorentini. Verification of ANDF components. In Proceedings of the 1995 ACM Workshop on Intermediate Representations, 1995.Google Scholar
  4. 4.
    Daved E. Culler, Seth Copen Goldstein, Klaus Erik Schauser, and Thorsten von Eicken. TAM — a compiler controlled threaded abstract machine. Report, Computer science division, University of California, 1993.Google Scholar
  5. 5.
    Mark Debbage, Mark Hill, Sean Wykes, and Denis Nicole. Southampton's Portable Occam Compiler (SPOC): User Guide. University of Southampton, Southampton, UK, March 1994.Google Scholar
  6. 6.
    Stephen L. Diamond and Gianluigi Castelli. Architecture Neutral Distribution Format (ANDF). IEEE Micro, 14(6):73–76, December 1994.Google Scholar
  7. 7.
    DRA. TDF Specification, Issue 3. Open Software Systems Group, St. Andrews Rd, Malvern, Worcs, WR14 3PS, UK, March 1994. Obtainable via WWW from Scholar
  8. 8.
    P. W. Edwards, D. I. Bruce, D. J. C. Hutchinson, I. F. Currie, and P. D. Hammond. TDF and parallel object oriented languages. Deliverable 2.2 IED3/1/1059, Defense Research Agency, Open Software Systems Group, St. Andrews Rd, Malvern, Worcs, WR14 3PS, UK, 1992. October.Google Scholar
  9. 9.
    Ian Foster, Carl Kesselman, and Steven Tuecke. Nexus: Runtime support for taskparallel programming languages. Technical report, Mathematics and Computer Science Division, Argonne National Laboratory, Argonne, IL, 1994.Google Scholar
  10. 10.
    E. W. Giering, Frank Mueller, and T. P. Baker. Implementing Ada 9X features using POSIX threads: Design issues (draft). Technical report, New York University, Computer Science Department, New York, NY 10003, USA, 1993.Google Scholar
  11. 11.
    Matthew Haines, David Cronk, and Piyush Mehrotra. On the design of Chant: A talking threads package. In Proceedings of Supercomputing 94, pages 350–359, November 1994. Washington, DC.Google Scholar
  12. 12.
    S. Hiranandani, K. Kennedy, and C. Tseng. Preliminary experiences with the Fortran D compiler. In Supercomputing 93, pages 338–350, November 1993. Portland, Oregon.Google Scholar
  13. 13.
    Wilson C. Hsieh, Kirk L. Johnson, M. Frans Kaashoek, Deborah A. Wallach, and William E. Weihl. Efficient implementation of high-level languages on user-level communication architectures. Technical report, MIT, Massachusetts Institute of Technology, Laboratory for Computer Science, Cambridge, Massachusetts 02139, May 1994.Google Scholar
  14. 14.
    V. B. Muchnick and A. V. Shafarenko. F-code: A portable software platform for data-parallel lanaguages. Technical report, Dept. of Electronic and Electrical Engineering, University of Surrey, April 1992.Google Scholar
  15. 15.
    Ben Sloman and Tom Lake. Extending TDF for concurrency and distribution. Report, GLOSSA, 59 Alexandra Road, Reading, RG1 5PG, UK, January 1995.Google Scholar
  16. 16.
    T. von Eicken, D. E. Culler, S. C. Goldstein, and K. E. Schauser. Active messages: a mechanism for integrated communication and computation. In Proceedings of the 19th International Symposium on Computer Architecture, pages 256–266, May 1992. Gold Coast, Australia.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1995

Authors and Affiliations

  • Ben Sloman
    • 1
    • 2
  • Tom Lake
    • 2
  1. 1.Department of Computer ScienceUniversity of ReadingWhiteknightsUK
  2. 2.GLOSSAReadingUK

Personalised recommendations