Jump to content

X10 (programming language)

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Modulatum (talk | contribs) at 19:48, 25 August 2008. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

X10 is a programming language being developed by IBM at the Thomas J. Watson Research Center as part of DARPA's High Productivity Computing Systems (HPCS) program. Its primary authors are Kemal Ebcioglu, Vijay Saraswat, and Vivek Sarkar.[1]

X10 is designed specifically for parallel programming. It is an "extended subset" of the Java programming language, strongly resembling it in most aspects, but featuring additional support for arrays and concurrency. X10 uses a Partitioned global address space model. It supports both object-oriented and non-object-oriented programming paradigms.

X10 uses the concept of parent and child relationships for tasks to prevent the lock stalemate that can occur when two or more processes wait for each other to finish before they can complete. A task may spawn one or more child tasks, which may themselves have children. Children cannot wait for a parent to finish, but a parent can wait for a child using the "finish" command.[2]

References

  1. ^ http://www.aurorasoft.net/workshops/lar04/Author_Files/Papers/Vivek_Sarkar_LaR_04_Paper_V1.pdf
  2. ^ Biever, C. "Computer revolution poses problems for programmers", New Scientist (Vol 193, Number 2594)