XMTC とは

XMTC(明示マルチスレッディングC用)は共有メモリ並列プログラミング言語です。それは明示的なマルチスレッドのパラダイムに基づいた簡単なPRAMのようなプログラミングを可能にするように努めるCプログラミング言語の拡張です。 Uzi Vishkin博士が率いるCollege Parkのメリーランド大学の研究チームによるXMT PRAM-On-Chipビジョンの一環として開発されました。
XMTCとXMTプロジェクト全体の考え方は、並列プログラミングは難しい知的作業であり、まずハードウェアシステムを構築し、それをどのようにプログラムするかの考え方はあまり成功していないということです。その理由から、堅牢なアルゴリズム理論と合理的に容易なハードウェア抽象化が、新しい並列アーキテクチャとプログラミング言語を構築する方法を指す仕様でなければなりません。並列アルゴリズムでは、文学が最大のアルゴリズム理論をPRAM(parallel random-access machine)と呼びます。これは偶然ではありません。なぜならPRAMはアルゴリズム的に並行して考える自然な方法なのですから。 1990年代の初め、PRAMモデルは、それが基礎としていたハードウェア抽象化が(チップ間の帯域幅が小さく、レイテンシが高いために)実装できなかったため、非現実的とみなされました。複数のプロセッサを1つのチップにまとめることができるようになったため、これらの制限はもう存在しません。 XMTアーキテクチャは、この過剰なオンチップの不動産を利用してPRAM抽象化を実装しています。
XMTC言語は、Cと進行中の作業の控えめな拡張です。基本的な前提は、プログラマが使用可能なすべての並列処理を公開することです。これは簡単なことではありませんが、以前の多くのアプローチがこの理想を共有していますが、実際にはプログラマが並列タスクを非常に多く定義し、タスクが短いと、プログラムは非常にうまく機能しません。これを回避する方法は、短い並列タスクを長いものに組み合わせることです。これは通常はプログラマの責任です。 XMTCでは、言語がそれを自動的に行うことができ、プログラマから負担を取り除くことができます。
XMTCのソフトウェアリリース:PRAMのようなプログラミングでは、標準的なコンピュータでのXMTCプログラミングを試すことができます。