• 検索結果がありません。

JAIST Repository

N/A
N/A
Protected

Academic year: 2021

シェア "JAIST Repository"

Copied!
4
0
0

読み込み中.... (全文を見る)

全文

(1)

Japan Advanced Institute of Science and Technology

JAIST Repository

https://dspace.jaist.ac.jp/

Title コンテクストバッファを用いたマルチスレッド実行方

式に関する研究

Author(s) 上田, 憲吾

Citation

Issue Date 2005‑03

Type Thesis or Dissertation Text version author

URL http://hdl.handle.net/10119/1856 Rights

Description Supervisor:田中 清史, 情報科学研究科, 修士

(2)

コンテクストバッファを用いたマルチスレッド 実行方式に関する研究

上田 憲吾

北陸先端科学技術大学院大学 情報科学研究科

キーワード コンテクストバッファマルチスレッドアーキテクチャ コンテクスト切り 替えコンテクストスワップ

序論

近年のプロセッサは、パイプラインやスーパースカラなどのアーキテクチャ的技術と半 導体の微細化 高集積度により高速化が達成されてきた。しかし、メモリアクセスの速度 は比較的低いため、キャッシュミス等の要因によりプロセッサ内のハードウェア資源が有 効利用されない。メモリアクセスによるレイテンシを隠蔽しハードウェア資源利用の効率 化を図る技術として、マルチスレッドアーキテクチャがある。

マルチスレッドアーキテクチャでは、プロセッサ内に複数のスレッドコンテクスト格納 用レジスタを用意することで、実行スレッドを高速に切り替えることを可能としている。

レイテンシの大きい操作に遭遇した場合には、他のスレッドへ実行を切り替え、パイプラ インをストールすることなく資源を有効活用することが可能となる。

しかし、従来のマルチスレッドアーキテクチャではプロセッサ内の全てのスレッドが キャッシュミスを起こす状況が発生した場合、パイプラインストールは不可避である。プ ロセッサ内のコンテクストを増やすことで、このような状況を減らすことは可能である が、レジスタにかかるハードウェア的コストは大きく現実的ではない。

本研究では、プロセッサの内蔵コンテクストの数を仮想的に増やすコンテクストバッ ファを使用する。キャッシュミス等の要因で待ち状態となったコンテクストと、コンテク ストバッファ内のコンテクストを、アクティブな実行スレッドのバックグラウンドでス ワップすることにより、常に実行可能なスレッドをプロセッサ内に待機させシームレスな コンテクスト切り替えを実現する方式を提案する。

­

(3)

マルチスレッドアーキテクチャ

今日のコンピュータはステートが遷移することで動作している。ステートは、プログラ ムメモリやデータメモリなどのメモリステート、プログラムカウンタやスタックポインタ などの実行履歴を意味するプロセッサステート、そしてレジスタセットによって決定付け られる。このプロセッサステートとレジスタセットはコンテクストと呼ばれる。

今日のプロセッサの大半はシングルスレッドプロセッサアーキテクチャを採用しており、

単一のコンテクストをプロセッサ内に有する。一方マルチスレッドアーキテクチャは、複 数のスレッドに対応したコンテクストをプロセッサ内に有する点でシングルスレッドアー キテクチャとは異なる。複数のコンテクストはプロセッサ内の複数のプロセッサコンテ クストセット()に格納される。参照するコンテクストを切り替えることで、実行ス レッドの高速切り替えが可能となる。マルチスレッド実行方式は、実行中に生じるレイテ ンシを他のスレッドの実行で隠蔽し、複数スレッド全体での実行性能を改善する。

プロセッサコンテクストバッファによる拡張マルチスレッドアーキテ クチャ

本研究では、スレッドコンテクスト専用の記憶領域であるプロセッサコンテクストバッ ファ()を新たに設けからあふれたコンテクストを内に配置する。

マルチスレッド実行方式で重要となる点は、実行可能なスレッドのコンテクストがプロ セッサ内に待機しているかどうかである。本研究では、可能な限りプロセッサ内の には実行可能なスレッドのコンテクストのみを配置し、実行不可能なスレッドのコンテク ストはプロセッサ外のに配置する。プロセッサ内で実行中のコンテクストがキャッ シュミスを起こすと、プロセッサはに対してスワップ要求を出し、キャッシュミス を起こしたコンテクストはに退避される。コンテクストスワップはハードウェアに よって行う。

スワップをハードウェアで行うことによる利点はスワップによるオーバヘッドを隠蔽可 能である点である。プロセッサ内の実行スレッドがキャッシュミス等の原因により待ち状 態に陥った場合、コンテクストバッファに対してスワップ要求を出す。コンテクストのス ワップが行われている間もプロセッサ内にある他の実行可能なスレッドが実行されスワッ プによるオーバヘッドが隠蔽される。

評価

評価はシミュレータによって行う。シミュレータはバイナリコードを入力とし、クロッ クベースで実行を行う。評価対象はスレッド化されたとする。

評価の結果、従来マルチスレッドアーキテクチャをで拡張し、間で

(4)

のコンテクストスワップを行うことで、プロセッサ内のコンテクスト数を仮想的に増加さ せる効果を得られた。

まとめ

本論文では、によりマルチスレッドアーキテクチャを拡張する方法を述べ、コン テクストバッファを用いたコンテクストスワップ手法を提案した。シミュレーションによ る評価を行い、の有効性を示した。

参照

関連したドキュメント

口文字」は患者さんと介護者以外に道具など不要。家で も外 出先でもどんなときでも会話をするようにコミュニケー ションを

学生は、関連する様々な課題に対してグローバルな視点から考え、実行可能な対策を立案・実践できる専門力と総合

ALPS 処理水の海洋放出に 必要な設備等の設計及び運 用は、関係者の方々のご意 見等を伺いつつ、政府方針

3  治療を継続することの正当性 されないことが重要な出発点である︒

と発話行為(バロール)の関係が,社会構造(システム)とその実践(行

SFP冷却停止の可能性との情報があるな か、この情報が最も重要な情報と考えて

解析実行からの流れで遷移した場合、直前の解析を元に全ての必要なパスがセットされた状態になりま

※1 Economically Viable Application of Best Available T echnology