【前へ】

第3章 ハイエンドコンピューティング研究開発の動向

4. SCIMAにおける低消費電力化

4.1 メモリトラフィック削減による低消費電力化
 
SCIMAは、SCM・主記憶間のデータ転送を、page-load/page-store命令により明示的に行うことで、SCMのデータアロケーション・リプレースメントをユーザから制御可能である。そのため、必要なデータのみを必要なタイミングで転送することができる。一方、キャッシュはハードウェア制御により決められたアルゴリズムでそれらの制御が行なわれるため、個々のプログラムに最適なデータアロケーション、リプレースメントを行わせることは難しい。例えば、ソフトウェア的な手法でデータの再利用性を向上させるキャッシュブロッキング(タイリング)[4]を適用する場合、キャッシュではラインコンフリクトによる同一配列のブロック内データの干渉(self interference)や、異なる配列間のデータの干渉(cross interference)により、オフチップメモリトラフィックが増加してしまう。SCMを利用することで、SCIMAではキャッシュに比べ以下の点でトラフィックが削減できる。

(1) コンフリクトミスが生じないため、再利用性のあるデータが偶然に再利用性のないデータにより追い出されることがなく、従ってデータの再利用性を最大限に活用できる。

(2) 転送サイズが可変であるため、ストライド転送となる場合に、必要ないデータの転送が抑制できる。

プロセッサ・主記憶間のデータ転送では、負荷容量の高い外部のメモリバスやI/Oパッドを駆動するため、消費される電力が多い。キャッシュに比べオフチップメモリトラフィックの削減が期待できるSCIMAでは、低消費電力化を図ることができると期待される。

4.2 選択的ウェイアクセスによる低消費電力化
 
従来のNウェイ連想キャッシュでは、キャッシュアクセスが発生すると、アクセスされたアドレスのIndex部をデコードすることで、該当するキャッシュ内のセットを決定する。次に、該当セットのタグ、およびデータアレイの全てのウェイを並列にアクセスし、それぞれのデータを読み出す。そして、読み出されたタグとアクセスされたアドレスのTag部分を比較し、一致するものがあればキャッシュヒットとなり、該当ウェイのデータが選択される。このように、選択すべきデータがタグアレイの内容に依存するため、高速化のためには全てのウェイを並列に読み出す必要がある。
 SCIMAのキャッシュ・SCM統合機構を図3に示す。従来のキャッシュの機構に対し、SCIMAではアクセスされたアドレスがSCM領域に対するものかどうかの判定(SCM-test)と、その際にどのウェイのデータをアクセスすべきかの選択(way-select)を行なう回路が追加される。本機構において、SCM-test回路でキャッシュアクセスと判定された場合は、従来のキャッシュアクセスと同様の動作となる。一方、SCMアクセスと判定された場合は、way-select回路により決定されるウェイ内のデータが選択される。この時、アクセスすべきセットは、SCM-testの判定結果によらず、アドレスのIndex部のみで決定される。従って、選択すべきデータのウェイをキャッシュアクセス時より早い段階で決定することができ、SCMアクセス時には1つのウェイのみを選択的にアクセスすることができるため、消費電力の削減につながる。さらに、選択すべきデータがタグの内容に依存しないため、タグアレイへのアクセスを抑制することによる消費電力の削減も期待される。

図3 SCIMAのSCMアクセス

5. 消費エネルギー評価

5.1 評価モデル
 
SCIMAの低消費電力化の効果について調べるため、オフチップメモリバス、およびキャッシュ/SCMアクセスにおける消費エネルギーを評価する。なお、本稿で以降バスの消費エネルギーと表記した場合には、プロセッサやDIMMのI/Oパッドで消費されるエネルギーも含まれるものとする。
 本評価では、主記憶としてSDRAM[5]を想定する。図4は評価におけるプロセッサと主記憶のモデルを表している。ここでは、64Mx4 SDRAMデバイス(4bit幅)を16個並べ、64bit幅のメモリモジュール(DIMM)を構成する場合について考える。この場合、アドレスバスのビット幅は15ビットである。本稿でモデルとするSDRAMのアクセスタイミングを図5に示す。SDRAMではrowアドレスに続いてcolumnアドレスを発行することで、クロックに同期して連続な数データ(burst length分のデータ)が転送される。また、burst length以上の連続データを転送する際、rowアドレスに変更がなければ、columnアドレスのみを発行することで連続デするータの転送が可能と仮定する。なお、本稿ではburst lengthを4として評価を行なう。

図4 評価モデル

図5 SDRAMのアクセスタイミング

5.2 評価方法
 
評価におけるベンチマークプログラムとして、NAS Parallel Benchmarksの中からCG、FTの2つのカーネル、および筑波大学の計算物理学研究センターで行われているQCD(量子色力学)計算[6]を用いる。評価では、ロード/ストア回数、メモリトラフィック、ビット遷移回数などの情報をシミュレータで採取し、消費エネルギーを求める。ここで、アドレスバスについては、実際にビット遷移回数をシミュレーションにより求める。データバスやキャッシュ/SCMアクセス時のビット遷移においては、遷移確率を0.5と仮定してビット遷移回数を算出した。消費エネルギーは、文献[7]で提案されたキャッシュ消費エネルギーモデルを参考にして求めた。その際、チップ内におけるキャッシュ/SCMアクセス時の負荷容量のパラメータは文献[8]のものを、またバスの負荷容量については[5]のものを採用した。
 また本評価では、チップ内およびバスの駆動電圧をそれぞれ1.8V、3.3Vと仮定して評価を行った。なお、アドレスのデコードに必要な消費エネルギーやタグ比較回路の消費エネルギーは評価には含めないものとする。これは、小規模な組合わせ回路における消費電力は、SRAMアレイアクセスやオフチップメモリへのアクセスに必要な消費電力に比べて非常に小さいと言われており[7]、妥当な仮定と思われる。
 表2に評価におけるメモリ構成の仮定を示す。キャッシュ、およびSCMの構成は、合計64KB、4-wayのキャッシュを、キャッシュ・SCM統合機構により、容量比を再構成した場合を想定する。また、データアレイの各ウェイは、内部でサブアレイに分割されるが、本稿の評価ではCACIT\cite[10]により得られた最適な分割数を用いる。

 このような条件のもと、キャッシュアーキテクチャ(Cacheと表記)とSCIMAの消費エネルギーについて比較評価を行なう。まずSCIMAのトラフィックの削減による消費電力削減の効果を調べるため、バスの消費エネルギーのみを評価する。次に、キャッシュ/SCMアクセスの消費エネルギーも含め、メモリシステム全体の消費エネルギーについて比較を行う。その際、SCIMAでは4.2節で述べた選択的ウェイアクセスを行った場合について、またキャッシュにおいては、MRUアルゴリズムによるウェイ予測[9]を行った場合について評価を行う。

6. 評価結果

6.1 バスの消費エネルギー
 
まず、SCIMAによるメモリトラフィック削減の効果を見るため、図6にCacheとSCIMAのメモリトラフィックを示す。図6は、各ベンチマークプログラムにおいて、ラインサイズ32Bの場合を基準とした相対的なメモリトラフィックである。なお各棒グラフは、キャッシュミスによるトラフィック(cache miss)と、page-load/page-storeによるトラフィック(page-load/store)の内訳も示している。この図から、すべてのプログラムにおいてSCIMAはキャッシュに比べオフチップメモリメモリトラフィックが削減されていることがわかる。これは、SCMを用いることで、必要なデータがコンフリクトなどにより追い出されることなく、再利用性を最大限に活用できた結果である。
 次に、図7に各プログラムにおけるバスの相対消費エネルギーを示す。図中、Ebus_addrはアドレスバスの消費エネルギーを、またEbus_dataはデータバスの消費エネルギーを示している。図7から、SCIMAではCacheに比べ1%から61%もの消費エネルギーが減少していることがわかる。これは、トラフィックの削減に比例して、データバス(Ebus\_data)の消費エネルギーが減少しているためである。さらに、アドレスバスの消費エネルギーが減少していることも理由の1つである。
 アドレスバスのみの消費エネルギーを比較したものを図8に示す。SCIMAではアドレスバスの消費エネルギーも大きく削減されているが、これには次の理由がある。まず、トラフィックが削減されたことにより、そもそもアドレス発行の回数が削減されたためである。また、SCIMAでは大きな連続領域を一度に転送できるため、rowアドレスを1回発行した後、columnアドレスのみで連続領域の転送ができ、rowアドレスの発行が抑制されたことも挙げられる。さらに、連続なcolumnアドレスのシーケンスが発行された場合、ビットの遷移回数が少なくなることも理由の1つである。
 表3に、CGにおけるrowアドレス/columnアドレスの発行回数、およびアドレスバスにおけるビット遷移回数を示す。CGではCacheとSCIMAでメモリトラフィックに大きな違いはないにも関わらず、rowアドレスの発行回数が大きく削減されており、またビット遷移回数もCacheの半分程度となっている。
 以上のことから、SCIMAではトラフィック削減により、実際にデータバス、アドレスバス共に消費エネルギーを削減することができると言える。


図9 メモリシステム全体の消費エネルギー

6.2 メモリシステム全体の消費エネルギー
 
本節では、バスの消費エネルギーに加え、キャッシュ/SCMアクセスの際の消費エネルギーを評価し、メモリシステム全体の消費エネルギーについて検討する。
 図9に、各ベンチマークプログラムにおける、キャッシュ/SCMアクセスにおける消費エネルギー(Echip)と、バスにおける消費エネルギー(Ebus)の合計を示す。Cacheモデルにおいて、CacheとCacheWPはそれぞれウェイ予測を行なわなかった場合と行なった場合を表している。また、SCIMAall, SCIMAselは、SCIMAモデルにおいてSCMアクセス時にも全ウェイを並列にアクセスした場合と、選択的にウェイをアクセスした場合の違いである。SCIMAでは、アドレスからアクセスすべきウェイを一意に決定できるため、常に選択的ウェイアクセスが可能であるが、比較のためにSCIMAallも評価した。
 また、表4に、32Bのキャッシュラインにおける両モデルのキャッシュ/SCMアクセス回数を示す。表4には、CacheWPモデルでのウェイ予測の際のヒット率(WPヒット率)と、SCIMAモデルのキャッシュ/SCMアクセス回数中にSCMアクセスが占める割合(SCMアクセスの割合)も示している。

 まず、選択的ウェイアクセスを行なわないCacheとSCIMAallを比較する。FTを除き、キャッシュ/SCMアクセス回数はほとんど変わらないため(表4参照)、チップ内の消費エネルギー(Echip)に差はない。しかし、SCIMAではバスの消費エネルギーが削減されているため、合計の消費エネルギーはSCIMAの方が少なくなっている。なお、FTにおいてチップ内の消費エネルギーがSCIMAで少ないのは、Cacheモデルの場合にコンフリクトミス頻発による性能低下を防ぐ目的で、計算領域を一時的なscratch配列にコピーするため、キャッシュアクセス回数がSCIMAよりも多くなるためである。
 次に、全ウェイを並列にアクセスせずに、データの存在するウェイをのみ選択的にアクセスすることで、キャッシュ/SCMアクセス時の消費エネルギーを削減したCacheWPとSCIMAselについて比較する。
 CacheWPでは、ウェイ予測が成功した場合、今回仮定した連想度4のキャッシュではタグアレイアクセスの消費エネルギーは変わらないものの、データアレイアクセスの消費エネルギーが4分の1になる。今回評価したベンチマークプログラムでは、ウェイ予測のヒット率が高いため(表4参照)、チップ内の消費エネルギーが60%〜72%ほども削減されている。
 また、SCIMAselでは、SCMアクセスの場合にデータアレイアクセスの消費エネルギーが約4分の1になるが、その他にタグアレイアクセスの消費エネルギーも削減できる。表4より、SCIMAではロード/ストア命令の大部分がSCMへのアクセスであるため、チップ内の消費エネルギー削減率は75%〜77%とCacheWPの場合に比べ、より高くなっている。
 合計の消費エネルギーについて比較すると、SCIMAselではチップ内部、およびバスの消費エネルギーの両方がCacheWPに比べ削減されるため、両モデル間の消費エネルギーの差はさらに大きくなる。例えばFTでは、約50%もの消費エネルギーが、また最も低いCGの128Bラインサイズの場合でさえ5%の消費エネルギーがCacheWPに比べ削減されている。従って、SCIMAはメモリシステム全体として見た場合、キャッシュアーキテクチャに比べ低消費エネルギー化を達成できるアーキテクチャであると結論付けることができる。

6.3 性能と消費エネルギーの関係
 
次に、クロックレベルの性能評価を用いたCacheモデルとSCIMAモデルの性能評価結果を図10に示す。この図からわかるように、SCIMAはキャッシュアーキテクチャに比べ高性能が達成できる。従って、SCIMAはSCMを用いることで、高性能かつ低消費電力を実現できるアーキテクチャである。この性能と消費エネルギーの関係について議論するため、図11にCacheモデルとSCIMAモデルのED積(Energy-Delay Product)を示す。両モデルとも、消費エネルギーは選択的ウェイアクセスを行なった場合を想定している。
 図11より、SCIMAはCacheに比べED積を大きく改善できることがわかる。この結果から、性能と消費エネルギーの両方を考えた場合、キャッシュアーキテクチャに対するSCIMAの優位性はさらに増すと考えられる。

図10 性能評価結果(COLPFig12)

図11 ED積 (fig9, SWoPP02)

7. まとめと今後の課題
 
本稿では、ソフトウェア制御のオンチップメモリを用いるSCIMAのアーキテクチャの概要、オンチップメモリを用いた性能向上手法、ならびに、オンチップメモリ利用による低消費電力化について評価を行なった。また、キャッシュ/SCMアクセスにおける消費電力を含めて評価し、メモリシステム全体の低消費電力化の効果についても検討した。
 評価結果より、SCIMAではトラフィック削減により、キャッシュに比べ実際にデータバス、アドレスバスの消費エネルギーを削減できることがわかった。また、SCIMAではキャッシュ/SCMアクセスに費やされる消費エネルギーも大きく削減できることから、メモリシステム全体として見た場合、キャッシュアーキテクチャに比べ大幅な消費エネルギー削減効果が得られることがわかった。今後は、さらに詳細なモデルで評価を行なう予定である。

参考文献

[1] 中村 宏、近藤 正章、大河原 英喜、朴 泰祐, “ハイパフォーマンスコンピューテティング向けアーキテクチャSCIMA”、情報処理学会論文誌、Vol. 41、No. SIG 5(HPS 1)、 pp.15-27,2000年8月

[2] 近藤 正章、中村 宏、朴 泰祐, “SCIMAにおける性能最適化手法の検討”、 情報処理学会論文誌、 Vol. 42、 No. SIG 12(HPS 4)、 pp.37-48、 2001年11月

[3] 近藤 正章、 大根田 拓、 田中 慎一、 中村 宏、 “ソフトウェア可制御オンチップメモリを用いた低消費電力化の検討”、 並列処理シンポジウム JSPP2002、 pp.285-288、2002年5月

[4] M.Lam, E.Rothberg and M.Wolf, “The cache performance and optimizations of Blocked Algorithms”, Proc. ASPLOS-IV, pp.63-74, 1991

[5] PC SDRAM Specification、 Revision 1.7, Intel Corporation, Nov. 1999

[6] S.Aoki, et al. “Performance of lattice QCD programs on CP-PACS”, Parallel Computing 25、 pp.1243-1255, 1999。

[7] M.B.Kamble, and K.Ghose, “Analytical Energy Dissipation Models For Low Power Caches”, Proc. of 1998 Internatilnal Symposium on Low Power Electronics and Design, pp.143-148, Aug. 1998

[8] M.B.Kamble, and K.Ghose, “Energy-Efficiency of VLSI Caches: A comparative Study”, Proc. of the IEEE 10th Int'l. Conf. on VLSI Design, pp.261-267, Jan. 1997

[9] K.Inoue, T.Ishihara, and K. Murakami, “Way-Predicting Set-Associative Cache for High Performance and Low Energy Consumption”, Proc. of the Int'l. Symp. on Low Power Electronics and Design, pp. 273-275, Aug. 1999.

[10] S. Wilton and N. Jouppi, “CACTI: An Enhanced Access and Cycle Time Model for On-Chip Caches”, WRL Research Report 93/5, July 1994.

 

【次へ】