マイクロスレッド
マイクロスレッドは、マイクロプロセッサ内部で並行に動作可能な小さなコードである。マイクロスレッドは、計算を同時に実行できるコードに分割するために、既存のプロセッサに対していくつか新たな命令を用いた実行モデルを提供する。
マイクロスレッド同士の依存関係の管理は、あるマイクロスレッドにおける計算が別のマイクロスレッドの生成するデータに依存するとき、あるレジスタをセマフォとして用いて計算の完了を同期すことで行われる。
これはデータフローモデルの一形態である。このモデルは、既存のマイクロプロセッサの命令セットに並行性制御のための5命令を追加するだけで適用することができる。
マイクロスレッドのセット は基本的なコードブロックをマイクロコンテキストを共有しながら一つのプロセッサで動作する並行実行単位に静的に分割したものである。マイクロスレッドセットに対するイテレータ が、動的でパラメトリックなマイクロスレッド群を形成する。イテレータはループの並列性を捕捉し、別のプロセッサにスケジュールすることができる。マイクロスレッドセットに対するイテレータは動的に生成され、マイクロスレッド群と呼ばれる。これがモデルが並列性を実現できるようにするための機構であり、この機構は複数のプロセッサや機能単位の上で実行することができる。