XMTC

XMTCExplicit Multi-Threading C )は、共有メモリ型の並列プログラミング言語です。C言語の拡張版であり、明示的なマルチスレッドパラダイムに基づいてPRAMのようなプログラミングを容易に実現することを目指しています。メリーランド大学カレッジパーク校のUzi Vishkin博士率いる研究チームによって、XMT PRAM-On-Chipビジョンの一環として開発されています

XMTC および XMT プロジェクト全体の哲学は、並列プログラミングは困難な知的タスクであり、最初にハードウェア システムを構築してからそのプログラミング方法を理解するというアプローチはあまり成功していないというものです。そのため、堅牢なアルゴリズム理論と適度に簡単なハードウェア抽象化が、新しい並列アーキテクチャとプログラミング言語の構築方法を導く仕様になるはずです。並列アルゴリズムの場合、文献が最も多いアルゴリズム理論は PRAM (並列ランダム アクセス マシン) と呼ばれています。これは偶然ではありません。PRAM はアルゴリズムを並列に考える自然な方法だからです。1990 年代初頭、PRAM モデルは、その基盤となっているハードウェア抽象化を実装できなかったため (チップ間の帯域幅が狭く、レイテンシが高いため)、非現実的だと考えられていました。現在では、複数のプロセッサを 1 つのチップに搭載できるため、これらの制限はなくなりました。XMT アーキテクチャでは、この余剰のオンチップ領域を利用して PRAM 抽象化を実装しています。

XMTC言語はC言語の控えめな拡張であり、現在も開発が進められています。基本的な前提は、プログラマーが利用可能なすべての並列処理を公開する責任を負うというものです。これは一見シンプルに聞こえ、多くの従来のアプローチもこの理念を共有していますが、実際には、プログラマーが定義する並列タスクの数が多く、かつタスクが短い場合、プログラムのパフォーマンスは非常に低下します。この問題を回避するには、短い並列タスクを1つの長いタスクにまとめる必要があり、これは通常プログラマーの責任です。XMTCでは、言語が自動的にこれを行い、プログラマーの負担を軽減することが可能です。

XMTC のソフトウェア リリース: PRAM のようなプログラミングにより、標準のコンピューターで XMTC プログラミングを試すことができます。

「https://en.wikipedia.org/w/index.php?title=XMTC&oldid=1305284515」から取得