学位論文要旨



No 118087
著者(漢字) 近藤,正章
著者(英字)
著者(カナ) コンドウ,マサアキ
標題(和) ソフトウェア可制御オンチップメモリを用いた高性能・低消費電力プロセッサに関する研究
標題(洋) Software Controlled On-Chip Memory for High-Performance and Low-Power Processor
報告番号 118087
報告番号 甲18087
学位授与日 2003.03.28
学位種別 課程博士
学位種類 博士(工学)
学位記番号 博工第5545号
研究科 工学系研究科
専攻 先端学際工学専攻
論文審査委員 主査: 東京大学 助教授 中村,宏
 東京大学 教授 南谷,崇
 東京大学 教授 廣瀬,通孝
 東京大学 教授 坂井,修一
 筑波大学 助教授 朴,泰祐
内容要旨 要旨を表示する

 近年,プロセッサと主記憶の性能格差の問題が深刻化している.この問題に対処するために従来からキャッシュメモリが用いられているが,データセットの大きなハイパフォーマンスコンピューティング(HPC)分野やマルチメディア系のアプリケーションなど,デー夕集約的(date intensive)なアプリケーションではキャッシュが有効に機能しないことが多い.キャッシュ容量に比ベデータセットが大きく,またデータの時間的局所性がほとんどないため,キャッシュミスによる主記憶へのアクセスが頻発し性能が大きく低下する.

 キャッシュブロッキング(タイリング)は,ソフトウェア的な手法でデータの再利用性を向上させることで,データヘのアクセスをキャッシュという上位階層の記憶に閉じるさせる手法であり,プロセッサチップ上に実装可能なキャッシュ容量がこれからも増大するという技術動向を考えると今後も有望な手法である.しかし,従来のキャッシュでは,データのアロケーションとリプレースメントがハードウェアで制御されるため,どのデータをキャッシュに載せるか指定できない(配列Aは載せたいがBは載せたくない等),ラインコンフリクトによる同一配列のブロック内データの干渉(self-interference)や異なる配列間のデータの干渉(cross-interference)を防げない,等の問題がある.self-interferenceの問題に対しては,適切なブロックサイズを選ぶアルゴリズムや,配列サイズを変更しコンフリクトを防ぐ手法などが提案されているが,いずれもキャッシュ構成に応じてプログラムを変更する必要があり,またcross-interferenceの問題は依然残る.

 また,消費電力の面においてもキャッシュには問題点がある.近年では,キャッシュミス削減のため大容量で連想度の高いキャッシュが用いられるようこなっているが,このような状況のもと,チップ内の電力消費に対して,キャッシュにおける電力消費の占める割合が大きくなってきている.

 従来の連想キャッシュでは,アクセスすべきデータは高々1つのウェイにしか存在しないにも関わらず,キャッシュアクセス時間の増加を防ぐために,タグの検索と同時に全てのウェイを並列にアクセスする.このため,該当するデータが存在しないウェイでは無駄に電力が消費されている一近年では,マルチメディア分野のアプリケーションではもちろんのこと,HPC分野においても,計算機システムの消費電力,あるいは消費エネルギー削減の要求が高まっている.これは,大規模な並列計算機を構成する上で,放熱や設置面積などの面から消費電力を可能な限り小さく抑えることが重要なためである、今後,消費電力が全体の性能を制限する要素の1つになると考えるため,低消費電力化・低消費エネルギー化は今日の計算機システムにとって非常に重要な課題である.

 上記のキャッシュの問題点に対処し,データ集約的なアプリケーションにおいて高性能かつ低消費電力なプロセッサの実現を目的として,本論文では従来のキャッシュに加えて,アドレス指定可能な主記憶の一部をSRAMとして載せる(以降では,そのメモリをSCM:Software Controlled on-chip Memoryと呼ぶ)新しいアーキテクチャ、SCIMA(Software Controlled Integrated MemoryArchitecture)を提案する.また,キャッシュとSCMでハードウェアを共用し,総容量一定のもとSCMとキャッシュ容量比を実行時に再構成できる機構も提案する.

 SCMと主記憶との間のデータ転送は,ISA(命令セットアーキテクチャ)上に定義された命令により行われる.従って,ユーザ(コンパイラ)による明示的なデータのアロケーション、及びリプレースメントが可能となる.そのため,ラインコンフリクトによる性能低下は生じない.また,プロセッサチップと主記憶間のデータ転送を,より大きな粒度で行えることもSCIMAの利点である.メモリアクセス時のレーテンシの影響を抑え高い実効スループットを得るためには,データ転送の粒度を大きくし,転送回数を減らすことが効果的である.しかし,キャッシュではラインサイズを大きくすると,無駄な転送の増加やキャッシュ内のエントリ数が減少することによるコンブリクトミスの増加といった問題が生じる.SCIMAではSCMとオフチップメモリの間の転送をソフトウェアで制御するため,必要なデータのみを大粒度で転送することができる.

 SCIMAではまた,SCMアクセスの際の消費電力を従来のキャッシュアクセスに比べ削減できる.SCMでは,キャッシュとは異なりアクセスすべき位置がアドレスから一意に決定されるため,アクセスすべきデータが存在するウェイのみを選択的にアクセスすることができる.従って、タグの検索と同時に全てのウェイを並列にアクセスする従来の連想キャッシュとは異なり,無駄に電力が消費されることがない.さらに,SCIMAではソフトウェア制御のSCMを用いることで,メモリトラフィックを最小限に抑えることが可能となる.この,オフチップメモリトラフィックの削減は,計算機システムとしての低消費電力化を考える上で効果が大きい.

 しかし,SCMを利用し高性能・低消費電力を得るためには,SCM経由でアクセスするデータの選択とデータ転送のサイズやタイミングを指定しなければならない.それらの戦略は性能最適化・消費電力最適化のためには特に重要である.そのため,本論文ではSCMを用いるための最適化の指針,およびアルゴリズムも提案する.最適化においては,再利用性やデータアクセスの特徴に関して同じ配列内のデータは同じ性質を持つことが多いため,配列を単位として考え,利用される配列の特徴を,再利用性とアクセスの連続性の観点から分類する.その分類に基づき各配列に対する最適化手法を示す.

 本最適化手法を,NAS Parallel BenchmarksのCGおよびFTカーネルと,実アプリケーションであるQCD(Quantum ChromoDynamics)計算に適用し,本論文ではSCIMAの性能と消費エネルギーに関して,従来のキャッシュと比較評価を行なう.評価は,サイクルレベルのシミュレーションにより行なった.

 性能における評価結果より,SCIMAでは従来のキャッシュのみを用いるアーキテクチャに比べ1.5〜3.0倍高速であることがわかった.これは,SCIMAはSCMを用いることで,利用性の有効活用,大粒度データ転送による高実効スループット,そしてフロックストライドデータ転送機能による効率的なデータ転送とチップ内記憶領域の利用が実現でき,高性能化が達成できるためである.

 消費エネルギーにおける評価結果では,SCMアクセス時の選択的ウェイアクセス,およびオフチップメモリトラフィック削減により,従来のキャッシュアーキテクチャに比ベメモリシステムにおける低消エネルギーを5%〜50%も削減できることがわかった.

 これらの評価結果から,SCIMAではSCMを用いることにより,キャッシュアーキテクチャに比べ,高性能かつ低消費電力を実現できるアーキテクチャであると結論付けることができる.

審査要旨 要旨を表示する

 高性能計算は、大規模科学技術計算やビジネス応用の高速化を通じて、現代の産業を支える基盤技術としてその重要性を増している。その実現のためには計算機システム自体の高性能化が必須であることは論を待たない。しかしながら、計算機システムの高速化においては、2つの問題がある。第1の問題は、memory wallと呼ばれるプロセッサと主記憶の性能格差の問題である。そのため、たとえ主記憶が遅くても実効的に性能が向上するプロセッサのアーキテクチャが望まれている。第2の問題は、消費電力の増大である。計算機システムにおいて最も消費電力が大きいのはプロセッサであるが、その消費電力が大きく発熱量が多くなると、冷却のためにシステムの実装密度を下げる必要があり、結局システム全体の性能を向上することができない。このため、プロセッサの消費電力を抑えることが必須である。本論文はこの2つの問題の解決を目指した新しいプロセッサアーキテクチャを提案するものであり、"Software Controlled On-Chip Memory for High-Performance and Low-Power Processor(和文題目「ソフトウェア可制御オンチップメモリを用いた高性能・低消費電力プロセッサに関する研究」)"と題し、7章よりなる。

 第1章"Introduction"では、現在のプロセッサが抱えるmemory wallの問題と消費電力の問題を概説し、本論文の目的と構成を述べている。

 第2章"SCIMA"では、本論文の主題である、新しいプロセッサアーキテクチャSCIMA(Software Controlled Integrated Memory Architecture)を提案している。提案するアーキテクチャは、アドレス指定可能な主記憶の一部をプロセッサチップ上に搭載するものである。新たに搭載されるメモリはソフトウェアによる制御が容易に行え、この点が従来のキャッシュメモリとの本質的な違いである。この「ソフトウェア可制御性」が、従来のアーキテクチャの問題点である、memory Wallの問題と消費電力の問題を解決する原理についても論じている。

 第3章"Design of SCIMA"では、ハードウェア記述言語Verilogを用いて提案するアーキテクチャをレジスタトランスファレベルで設計し、CADシステムを用いて論理合成した結果を示している。その結果から、「ソフトウェア可制御メモリ」をプロセッサチップ上に実装することによる面積の増加は無視できるほど小さいこと、またクロック周波数への影響もほとんど無いことを定量的に論じている。この結果は、提案するアーキテクチャが現在の半導体技術において十分実現可能であることを明らかにしている。

 第4章"Optimization"では、「ソフトウェア可制御メモリ」をどのように制御すれば性能向上が得られるか、という最適化について論じている。高性能・低消費電力を達成するためには、「ソフトウェア可制御メモリ」経由でアクセスするデータの選択とデータ転送のタイミングが重要である。本章では、配列データを最適化の対象とし、配列の特徴を再利用性とアクセスの連続性の観点から6つに分類する。そして、各分類に基づいた「ソフトウェア可制御メモリ」の制御方法を提案すると同時に、異なる分類に属する配列が混在する場合の最適化手法を体系化している。また、その最適化を自動的に行うコンパイラを実現する上での問題点を整理し、ソースプログラム中に指示文(directive)を挿入することでその問題を解決することも提案している。

 第5章"Performance and Energy Evaluation"では、提案するアーキテクチャの有効性を性能と消費電力の観点から定量的に評価し論じている。評価においては、従来のアーキテクチャとの比較をシミュレーションにより行うが、現在のみならず将来の半導体技術における有効性を議論できるようにシミュレーションモデルを設定している。評価結果より、提案するアーキテクチャは従来のアーキテクチャに比べ1.5〜3.0倍高速でありmemory wall問題を解決可能であること、および、メモリシステムにおける消費エネルギーを5%〜50%も削減できることがわかった。また提案するアーキテクチャの優位性は今後の半導体加工技術の微細化により、さらに大きくなることがわかった。

 第6章で関連研究を述べた後、第7章で本論文を結論付けている。結論として、VLSI上に実現する際の面積増加が無視できるほど小さく、クロック周波数への影響もほとんど無いこと、またソフトウェア可制御メモリを利用する最適化手法を体系的できること、さらに従来のアーキテクチャに比べ性能と消費電力の両面で優位であることから、提案するアーキテクチャは高性能かつ低消費電力を実現できるプロセッサアーキテクチャである。

 以上を要するに、本論文は、従来のプロセッサが直面している問題を解決し、計算機システムの高速化を実現可能な新しいプロセッサアーキテクチャを提案するものである。

 よって本論文は博士(工学)の学位請求論文として合格と認められる。

UTokyo Repositoryリンク