X10 (programming language)

From Wikipedia, the free encyclopedia

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 will be an "extended subset" of the Java programming language, strongly resembling it in most aspects, but featuring custom designed arrays and concurrency operations. It will support object-oriented and non-object-oriented programming paradigms.

X10 uses the concept of parent and child relationships for tasks in order to prevent the lock stalemate that occurs when two or more processes wait for the other to finish before they can end. A parent has child tasks that themselves can become parents. However parents will have a command called "finish" that they can issue to children. Children cannot wait for a parent to finish but a parent can wait for a child before finishing. This approach of using a tree hierarchy and enforcing that all parent tasks start before child tasks do, a lockout never arises. [1]

[edit] References

  1. ^ Biever, C. "Computer revolution poses problems for programmers", New Scientist (Vol 193, Number 2594)

[edit] External links