Encyclopedia of Parallel Computing

2011 Edition
| Editors: David Padua

Fortress (Sun HPCS Language)

  • Guy L. SteeleJr.
  • Eric Allen
  • David Chase
  • Christine Flood
  • Victor Luchangco
  • Jan-Willem Maessen
  • Sukyoung Ryu
Reference work entry
DOI: https://doi.org/10.1007/978-0-387-09766-4_190


Fortress is a programming language designed to support parallel computing for scientific applications at scales ranging from multicore desktops and laptops to petascale supercomputers. Its generality and features for user extension also make it a useful framework for experimental design of domain-specific languages. The project originated at Sun Microsystems Laboratories in 2003 as part of their work on the DARPA HPCS (High Productivity Computing Systems) program [6] and became an open-source project in 2007.


Design Principles

Fortress provides the programmer with a single global address space, an automatically managed heap, and automatically managed thread parallelism. Programs can also spawn threads explicitly.

The three major design principles for Fortress are:
  • Mathematical syntax: Fortress syntax is inspired by mathematical tradition, using the full Unicode character set and two-dimensional notation where relevant. The goal is to simplify the desk-checking of...

This is a preview of subscription content, log in to check access.


  1. 1.
    Allen E, Chase D, Flood C, Luchangco V, Maessen JW, Ryu S, Steele Jr GL (2007) Project Fortress Community website. http://projectfortress.java.net
  2. 2.
    Allen E, Chase D, Hallett J, Luchangco V, Maessen JW, Ryu S, Steele Jr GL, Hochstadt ST (2008) The Fortress Language Specification Version 1.0. http://research.sun.com/projects/plrg/fortress.pdf, March 2008. See also http://research.sun.com/projects/plrg/Publications/fortress1.0beta.pdf, March 2007
  3. 3.
    Allen E, Culpepper R, Nielsen JD, Rafkind J, Ryu S (2009) Growing a syntax. In: ACM SIGPLAN Foundations of Object-Oriented Languages workshop, Savannah, 2009Google Scholar
  4. 4.
    Bailey DH, Barszcz E, Barton JT, Browning DS, Carter RL, Fatoohi RA, Frederickson PO, Lasinski TA, Simon HD, Venkatakrishnan V, Weeratunga SK (1991) The NAS parallel benchmarks. Technical report, Int J Supercomput Appl 5(3):63–73Google Scholar
  5. 5.
    Corbett RP (1982) Enhanced arithmetic for Fortran. ACM SIGPLAN Notices 17(12):41–48, http://doi.acm.org/10.1145/988164.988168
  6. 6.
    High Productivity Computer Systems program of the Defense Advanced Research Projects Agency (United States Department of Defense). http://www.highproductivity.org/ and see also //www.darpa.mil/IPTO/programs/hpcs/hpcs.asp
  7. 7.
    Steele Jr GL (1998) Growing a Language. Invited talk. Abstract in OOPSLA ’98 Addendum: Addendum to the 1998 Proceedings of the Conference on Object-Oriented Programming, Systems, Languages, and Applications. ISBN 1-58113-286-7. ACM, New York, http://doi.acm.org/10.1145/346852.346922 Transcript in Higher-Order and Symbolic Computation 12, 3 (October 1999), 221–236. Video at http://video.google.com/videoplay?docid=-8860158196198824415\#
  8. 8.
    The Unicode Consortium (2006) The Unicode Standard, Version 5.0. Addison-Wesley, BostonGoogle Scholar
  9. 9.
    Wiki Creole project and website. Sponsored by the Wiki Symposium. http://www.wikicreole.org/wiki/Creole1.0

Copyright information

© Springer Science+Business Media, LLC 2011

Authors and Affiliations

  • Guy L. SteeleJr.
    • 1
  • Eric Allen
    • 2
  • David Chase
    • 1
  • Christine Flood
    • 1
  • Victor Luchangco
    • 1
  • Jan-Willem Maessen
    • 3
  • Sukyoung Ryu
    • 4
  1. 1.Oracle LabsBurlingtonUSA
  2. 2.Oracle LabsAustinUSA
  3. 3.GoogleCambridgeUSA
  4. 4.Korea Advanced Institute of Science and TechnologyDaejeonKorea