Explicit multi-threading とは

Explicit Multi-Threading(XMT)は、並列ランダムアクセスマシン(PRAM)並列計算モデルを中心に設計された並列計算機の構築とプログラミングのためのコンピュータ科学のパラダイムです。 XMTのより直接的な説明は、シリアルコンピューティングを簡単にする初歩的な抽象化から始まります。シリアルプログラムでの実行に使用できる単一の命令はすぐに実行されます。この抽象化の結果は、実行のために次に利用可能な命令の段階的(誘導的)説明である。 Vishkin(2011)のImmediate Concurrent Execution(ICE)と呼ばれるXMTの基本的な並列抽象化は、同時に実行できる命令が無期限に多くの命令がすぐに実行できるということです。 ICEの結果は、次に実行可能な命令を段階的に(誘導的に)解説することである。シリアルフォンノイマンのコンピュータ(これまで成功した唯一の汎用プラットフォーム)を超えて移動しているXMTの願いは、コンピュータサイエンスは、単純な1ラインコンピューティングの抽象化で数学的誘導を再び増やすことができるということです。
ランダムアクセスマシン(RAM)は、コンピュータ科学で標準的なシリアルコンピューティングのアルゴリズムと複雑さを研究するために使用される抽象的なマシンモデルです。 PRAM計算モデルは、パラレル・コンピューティングの並列アルゴリズムと複雑さを、それらがまだ構築されていないときに同様に研究するために導入された抽象並列機械モデルです。研究者は、PRAMモデルのための並列アルゴリズムの知識の大部分を開発しました。これらの並列アルゴリズムは、並列アルゴリズムに対する他のアプローチの基準によって単純であることも知られている。
PRAMモデルのためのこの並列アルゴリズム知識とその相対的単純さは、これらの並列アルゴリズムによってプログラミングが導かれるコンピュータを構築する動機となった。並列プログラマの生産性は、並列コンピュータの成功のためには長い間重要であると考えられてきたため、アルゴリズムの簡素化が重要です。
マルチコアコンピュータは、1つの集積回路ダイに集積された2つ以上のプロセッサコアを中心に構築されています。汎用コンピューティングを含む多くのアプリケーションドメインで広く使用されています。 Explicit Multi-Threading(XMT)は、数十万、数百、または数千のプロセッサコアを持つマルチコアコンピュータを構築およびプログラミングするためのコンピューティングパラダイムです。
2011年と2012年に公開された実験的な作業は、最先端のマルチコアコンピュータと同じ問題よりも、XMTプロトタイプの高度なPRAMアルゴリズムの方がはるかに高速です。
2018年に発表された作業では、ロックステップの並列プログラミング(ICEを使用)が、XMTシステム上で最も手作業でチューニングされたマルチスレッドコードと同じパフォーマンスを達成できることが示されています。このような帰納的ロック・ステップ・アプローチは、プログラマに挑戦するために知られている他の多くのコア・システムのマルチスレッド・プログラミング・アプローチとは対照的です。
XMTのパラダイムはUzi Vishkinによって導入されました。