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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
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.
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.
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.
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.
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.
J. Backus. Can programming be liberated from the von Neumann style? Communications of the ACM, 21(8):613–641, 1978.
A. Böhm and J. Sargeant. Efficient dataflow code generation for sisal. Technical report, University of Manchester, 1985.
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.
D. Cann. Compilation Techniques for High Performance Applicative Computation. PhD thesis, Colorado State University, 1989.
D. Cann. Compilation techniques for high performance applicative computation. Technical Report CS-89-108, Colorado State University, 1989.
D. Cann. Retire FORTRAN? a debate rekindled. CACM, 35(8):pp. 81–89, Aug 1992.
D. Cann. Retire Fortran? a debate rekindled. Communications of the ACM, 35(8):81–89, 1992.
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.
J. T. Feo, P. J. Miller, and S. K. Skedzielewski. Sisal90. In Proceedings of High Performance Functional Computing, April 1995.
M. Forum. MPI: A Message-Passing Interface Standard, 1994.
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.
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.
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.
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.
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.
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.
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.
P. Miller. TWINE: A portable, extensible sisal execution kernel. In J. Feo, editor, Proceedings of Sisal’ 93. Lawrence Livermore National Laboratory, October 1993.
P. Miller. Simple sisal interpreter, 1995. ftp://ftp.sisal.com/pub/LLNL/SSI.
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.
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.
R. Oldehoeft and D. Cann. Applicative parallelism on a shared-memory multiprocessor. IEEE Software, January 1988.
G. Papadopoulos. Implementation of a general-purpose dataflow multiprocessor. Technical report TR-432, MIT Laboratory for Computer Science, August 1988.
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.
J. Rannelletti. Graph Transformation algorithms for array memory optimization in applicative languages. PhD thesis, U. California, Davis, 1987.
L. Roh and W. Najjar. Design of storage hierarchy in multithreaded architectures. In IEEE Micro, pages 271–278, November 1995.
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.
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.
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.
S. Skedzielewski and R. Simpson. A simple method to remove reference counting in applicative programs. In Proceedings of CONPAR 88, Sept 1988.
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.
K. Traub. Monsoon: Dataflow Architectures Demystified. In Proc. Imacs 91 13 th Congress on Computation and Applied Mathematics, 1991.
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.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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