X10 (programming language)

X10is aprogramming languagebeing developed byIBMat theThomas J. Watson Research Centeras part of the Productive, Easy-to-use, Reliable Computing System (PERCS) project funded byDARPA'sHigh Productivity Computing Systems(HPCS) program.

X10
ParadigmObject-oriented
Designed byKemal Ebcioğlu, Saravanan Arumugam, Vijay Saraswat, and Vivek Sarkar
DeveloperIBM
First appeared2004;20 years ago(2004)
Stable release
2.6.2 / January 8, 2019;5 years ago(2019-01-08)
Typing disciplineStatic,strong,safe,constrained
OSIBM AIX,Linux,Mac OS X,Windows
LicenseEclipse Public License1.0
Filename extensions.x10
Websitex10-lang.org
Influenced by
C++,Java

History

edit

Its primary authors are Kemal Ebcioğlu, Saravanan Arumugam (Aswath), Vijay Saraswat, and Vivek Sarkar.[1]

X10 is designed specifically forparallel computingusing thepartitioned global address space(PGAS) model. A computation is divided among a set ofplaces,each of which holds some data and hosts one or moreactivitiesthat operate on those data. It has a constrained type system for object-oriented programming, a form ofdependent types.Other features include user-defined primitivestructtypes; globally distributedarrays,and structured and unstructured parallelism.[2]

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

See also

edit

References

edit
  1. ^Ebcioğlu, Kemal; Saraswat, Vijay; Sarkar, Vivek. "X10: Programming for Hierarchical Parallelism and NonUniform Data Access".CiteSeerX10.1.1.135.9826.
  2. ^Saraswat, Vijay; Bloom, Bard; Peshansky, Igor; Tardieu, Olivier; Grove, David (January 4, 2019)."X10 Language Specification Version 2.6.2"(PDF).
  3. ^Biever, C. "Computer revolution poses problems for programmers".New Scientist.193(2594).
edit