X10 (プログラミング言語)
表示
パラダイム | オブジェクト指向 |
---|---|
登場時期 | 2004年 |
設計者 | Kemal Ebcioğlu, Vijay Saraswat, and Vivek Sarkar |
開発者 | IBM |
最新リリース | 2.6.2[1]/ 2019年1月8日 |
型付け | 静的で強制的な強い型付け |
影響を受けた言語 | C++, Java |
プラットフォーム | IBM AIX, Linux, Mac OS X, Windows |
ウェブサイト | x10-lang.org |
X10 は、アメリカ合衆国・DARPAのHigh Productivity Computing Systemsにより設立された PERCS スーパーコンピュータ・プロジェクトの一部として、IBMがトーマス・J・ワトソン研究所で開発中の並列処理用のプログラミング言語である。
概要
[編集]X10 の主な草案者は Kemal Ebcioglu、Vijay Saraswat、Vivek Sarkar である[2]。X10 は、Java言語の拡張されたサブセットで、多くの面で非常に似ているが、配列と並行性のためのサポートが追加されている。X10 は区分化大域アドレス空間を使用する。またオブジェクト指向プログラミングと、非オブジェクト指向プログラミングの両方のパラダイムをサポートする。
X10 は、複数のプロセッサが処理完了前に互いの終了を待ってしまうというロックの膠着状態を防止するために、タスクの親子関係の概念を使用する。あるタスクは1つまたは複数の子タスクを生成でき、子タスクも更に子タスクを持つことができる。子は親の終了を待つ事はできないが、親は finish
コマンドを使用して子の終了を待つことができる [3]。
参照
[編集]- ^ http://x10-lang.org/releases/x10-release-262.html
- ^ X10: Programming for Hierarchical Parallelism and NonUniform Data Access (PDFファイル)
- ^ Biever, C 著、「Computer revolution poses problems for programmers」、ニュー・サイエンティスト誌、193巻、No. 2594.
関連項目
[編集]- 並列コンピューティング
- 並行性
- Chapel - クレイのプログラミング言語
- Fortress - サン・マイクロシステムズのプログラミング言語
- Lock-freeとWait-freeアルゴリズム
- PERCS
外部リンク
[編集]- x10-lang.org
- An Overview of X10 2.0 (David Grove、Igor Peshansky、Vijay Saraswat 共著、PowerPoint ファイル)
- X10 Language Specification Version 2.6 (Vijay Saraswatt, Bard Bloom, Igor Peshansky, Olivier Tardieu, and David Grove、PDFファイル)
- Mailing list for users of the X10 programming language (Sourceforge)
- Overview of PGAS languages (Tarek El-Ghazawi、PDFファイル)
- Language and Virtual Machine Challenges for Large-scale Parallel Systems (Vivek Sarkar 著、PDFファイル)
- XTC-X10 (Christian Grothoff)
- X10 FFT (Codehaus)
- X10 LU (Codehaus)