Skip to main content

The Sisal Project: Real World Functional Programming

  • Chapter
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1808))

Summary

Programming massively-parallel machine is a daunting task for any human programmer and parallelization may even be impossible for any compiler. Instead, the functional programming paradigm may prove to be an ideal solution by providing an implicitly parallel interface to the programmer. We describe here the Sisal project (Stream and Iteration in a Single Assignment Language) and its goal to provide a general-purpose user interface for a wide range of parallel processing platforms.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. S. J. Allan and R. R. Oldehoeft. Parallelism in sisal: Exploiting the HEP architecture. In 19th Hawaii International Conference on System Sciences, pages 538–548, January 1986.

    Google Scholar 

  2. R. Alverson, D. Callahan, D. Cummings, B. Koblenz, A. Portfield, and B. Smith. The Tera computer system. In Proceedings 1990 Int. Conf. on Supercomputing, pages 1–6. ACM Press, June 1990.

    Google Scholar 

  3. B. S. Ang, Arvind, and D. Chiou. StarT the Next Generation: Integrating Global Caches and Dataflow Architecture. Technical Report 354, LCS, Massachusetts Institute of Technology, August 1994.

    Google Scholar 

  4. M. Annavaram and W. Najjar. Comparison of two storage models in data-driven multithreaded architectures. In Proceedings of Symp. on Parallel and Distributed Processing, October 1996.

    Google Scholar 

  5. M. Annavaram, W. Najjar, and L. Roh. Experimental evaluation of blocking and non-blocking multithreaded code execution. Technical Report 97-108, Colorado State University, Department of Computer Science, http://www.cs.colostate.edu/ftppub/TechReports/, March 1997.

  6. J. Backus. Can programming be liberated from the von Neumann style? Communications of the ACM, 21(8):613–641, 1978.

    Article  MATH  MathSciNet  Google Scholar 

  7. A. Böhm and J. Sargeant. Efficient dataflow code generation for sisal. Technical report, University of Manchester, 1985.

    Google Scholar 

  8. A. P. W. Böhm, W. A. Najjar, B. Shankar, and L. Roh. An evaluation of coarse-grain dataflow code generation strategies. In Working Conference on Massively Parallel Programming Models, Berlin, Germany, Sept. 1993.

    Google Scholar 

  9. D. Cann. Compilation Techniques for High Performance Applicative Computation. PhD thesis, Colorado State University, 1989.

    Google Scholar 

  10. D. Cann. Compilation techniques for high performance applicative computation. Technical Report CS-89-108, Colorado State University, 1989.

    Google Scholar 

  11. D. Cann. Retire FORTRAN? a debate rekindled. CACM, 35(8):pp. 81–89, Aug 1992.

    Google Scholar 

  12. D. Cann. Retire Fortran? a debate rekindled. Communications of the ACM, 35(8):81–89, 1992.

    Article  Google Scholar 

  13. D. E. Culler et al. Fine grain parallelism with minimal hardware support: A compiler-controlled Threaded Abstract Machine. In Proc. 4th Int’l Conf. on Architectural Support for Programming Languages and Operating Systems, April 1991.

    Google Scholar 

  14. J. T. Feo, P. J. Miller, and S. K. Skedzielewski. Sisal90. In Proceedings of High Performance Functional Computing, April 1995.

    Google Scholar 

  15. M. Forum. MPI: A Message-Passing Interface Standard, 1994.

    Google Scholar 

  16. G. Fox, S. Hiranandani, K. Kennedy, U. Kremer, C. Tseng, and M. Wu. Fortran D language specification. Technical Report CRPC-TR90079, Center for Research on Parallel Computation, Rice University, P.O. Box 1892, Houston, TX 77251-1892, 1990.

    Google Scholar 

  17. D. Garza-Salazar and W. Böhm. Reducing communication by honoring multiple alignments. In Proceedings of the 9th ACM International Conference on Supercomputing (ICS’95), pages 87–96, Barcelona, 1995.

    Google Scholar 

  18. J. Hicks, D. Chiou, B. Ang, and Arvind. Performance studies of Id on the Monsoon dataflow system. Journal of Parallel and Distributed Computing, 3(18):273–300, July 1993.

    Article  Google Scholar 

  19. H. Hum, O. Macquelin, K. Theobald, X. Tian, G. Gao, P. Cupryk, N. Elmassri, L. Hendren, A. Jimenez, S. Krishnan, A. Marquez, S. Merali, S. Nemawarkar, P. Panangaden, X. Xue, and Y. Zhu. A design study of the EARTH multiprocessor. In Parallel Architectures and Compilation Techniques, 1995.

    Google Scholar 

  20. R. Iannucci. A Dataflow/von Neumann Hybrid Architecture. Technical Report 418, Ph. D Dissertation Technical Report TR-418, Laboratory for Computer Science, MIT, Cambridge, MA, June 1988.

    Google Scholar 

  21. Y. Kodama, H. Sakane, M. Sato, H. Yamana, S. Sakai, and Y. Yamaguchi. The EM-X parallel computer: Architecture and basic performance. In Proceedings of the 22th Annual International Symposium on Computer Architecture, pages 14–23, June 1995.

    Google Scholar 

  22. J. McGraw, S. Skedzielewski, S. Allan, D. Grit, R. Oldehoeft, J. Glauert, I. Dobes, and P. Hohensee. SISAL-Streams and Iterations in a Single Assignment Language, Language Reference Manual, version 1. 2. Technical Report TR M-146, University of California-Lawrence Livermore Laboratory, March 1985.

    Google Scholar 

  23. P. Miller. TWINE: A portable, extensible sisal execution kernel. In J. Feo, editor, Proceedings of Sisal’ 93. Lawrence Livermore National Laboratory, October 1993.

    Google Scholar 

  24. P. Miller. Simple sisal interpreter, 1995. ftp://ftp.sisal.com/pub/LLNL/SSI.

  25. R. S. Nikhil, G. M. Papadopoulos, and Arvind. *T: A multithreaded massively parallel architecture. In Proceedings of the 19th Annual International Symposium on Computer Architecture, pages 156–167, May 1992.

    Google Scholar 

  26. R. S. Nikhil, G. M. Papadopoulos, and Arvind. *T: A multithreaded massively parallel architecture. In Proceedings of the 19th Annual International Symposium on Computer Architecture, pages 156–167, Gold Coast, Australia, May 19–21, 1992. ACM SIGARCH and IEEE Computer Society TCCA. Computer Architecture News, 20(2), May 1992.

    Google Scholar 

  27. R. Oldehoeft and D. Cann. Applicative parallelism on a shared-memory multiprocessor. IEEE Software, January 1988.

    Google Scholar 

  28. G. Papadopoulos. Implementation of a general-purpose dataflow multiprocessor. Technical report TR-432, MIT Laboratory for Computer Science, August 1988.

    Google Scholar 

  29. G. M. Papadopoulos and D. E. Culler. Monsoon: an explicit token-store architecture. In Proceedings of the 17th Annual International Symposium on Computer Architecture, pages 82–91, June 1990.

    Google Scholar 

  30. J. Rannelletti. Graph Transformation algorithms for array memory optimization in applicative languages. PhD thesis, U. California, Davis, 1987.

    Google Scholar 

  31. L. Roh and W. Najjar. Design of storage hierarchy in multithreaded architectures. In IEEE Micro, pages 271–278, November 1995.

    Google Scholar 

  32. L. Roh, W. Najjar, B. Shankar, and A. P. W. Böhm. Generation, optimization and evaluation of multith readed code. J. of Parallel and Distributed Computing, 32(2):188–204, February 1996.

    Article  Google Scholar 

  33. L. Roh, W. A. Najjar, B. Shankar, and A. P. W. Böhm. An evaluation of optimized threaded code generation. In Parallel Architectures and Compilation Techniques, Montreal, Canada, 1994.

    Google Scholar 

  34. S. Sakai, K. Hiraki, Y. Yamaguchi, and T. Yuba. Optimal Architecture Design of a Data-flow Computer. In Japanese Symposium on Parallel Processing, 1989. in Japanese.

    Google Scholar 

  35. S. Skedzielewski and R. Simpson. A simple method to remove reference counting in applicative programs. In Proceedings of CONPAR 88, Sept 1988.

    Google Scholar 

  36. S. K. Skedzielewski, R. K. Yates, and R. R. Oldehoeft. DI: An interactive debugging interpreter for applicative languages. In Proceedings of the ACM SIGPLAN 87 Symposium on Interpreters and Interpretive Techniques, pages 102–109, June 1987.

    Google Scholar 

  37. K. Traub. Monsoon: Dataflow Architectures Demystified. In Proc. Imacs 91 13 th Congress on Computation and Applied Mathematics, 1991.

    Google Scholar 

  38. M. Welcome, S. Skedzielewski, R. Yates, and J. Ranelleti. IF2: An applicative language intermediate form with explicit memory management. Technical Report TR M-195, University of California-Lawrence Livermore Laboratory, December 1986.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2001 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Gaudiot, JL., DeBoni, T., Feo, J., Böhm, W., Najjar, W., Miller, P. (2001). The Sisal Project: Real World Functional Programming. In: Pande, S., Agrawal, D.P. (eds) Compiler Optimizations for Scalable Parallel Systems. Lecture Notes in Computer Science, vol 1808. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45403-9_2

Download citation

  • DOI: https://doi.org/10.1007/3-540-45403-9_2

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-41945-7

  • Online ISBN: 978-3-540-45403-8

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics