第36回 コンピュータの並列処理とバス幅の増大前田真一の最新実装技術あれこれ塾(3/3 ページ)

» 2015年06月03日 10時00分 公開
[前田真一MONOist]
前のページへ 1|2|3       

3.スーパーコンピュータ

 このコプロセッサのたくさんの単純な計算を複数の小さなコンピュータで並列処理させる考えは、シミュレータなどの科学計算にも有効だとの考えが生まれました。

 シミュレーションといっても実に多様ですが、実は多くのシミュレーションは膨大な数の単純な演算から成り立っています。

 いま、単純な2次元の例で考えてみます。多くのシミュレーションでは解析する対象をセルと呼ばれる小さな領域に分けて解析します(図10)。

図10:多くのシミュレータはセルを使う

 このセルの形状はいろいろなものがあり、大きさも均一に分けたり、境界部を外形に合わせたり、変化の大きいところを細かく分けたりといろいろです。

 ここでは最も単純な正方形にします。

 セルAにはセルa、b、c、dの4つのセルが接しています(図11)。

図11:2次元の簡単なモデル

 セルAとセルaの持つエネルギー(電圧や電界、磁界、温度などシミュレータによって異なります)の差によってある伝達関数FaでAとaの間でエネルギーが移動します。同じようにAとbの間の伝達関数はFb、AとcはFc、AとdはFdとなります(図12)。

図12:セル間のエネルギー伝達関数

 この伝達関数はシミュレータによっていろいろありますが、関数自体はそれほど複雑なものではありません。

 いまA、a、b、c、dの持つエネルギーをEA(t)、Ea(t)、Eb(t)、Ec(t)、Ed(t)とすると次のタイミングではAの持つエネルギー、EA(t+1)は、

 EA(t+1)=E(At)+Fa(E(At)−E(at))+

 Fb(EA(t)−Eb(t))+Fc(EA(t)−Ec(t))

 +Fd(EA(t)−Ed(t))

となります(図13)。

図13:cellのエネルギー変化

 伝達関数を使ったこの演算自体はそれほど複雑なものではありません。しかし、その演算数は膨大なものとなります。セルaはA以外にも3つのセルに接しています。セルb、c、dも同様に他のセルと接しています。

 全てのセルに対してこの単純な演算を実行した結果、次のタイミングでの各セルの状態が分かり、それが次のタイミングでの計算のデータになります。これが3次元になればセルの総数もお互いに接するセルの数も増えます。セルの形状が複雑になれば、また、セルの総数もお互いに接するセルの数も増えます。

 このような比較的簡単な演算を、膨大な数で行うには、多くのコプロセッサで並列処理をさせるのが効率的です。

 このため科学計算用のアクセラレータが製品化されました。例えば、インテル社のXeonPhiコプロセッサでは幾つかの製品がありますが、60個程度のコプロセッサと、6〜16GBのメモリからなっています(図14)。

図14:Xeon Phi(from Intel)

 コプロセッサは4つの演算が並列処理できます。これがPCI-Expressボードに組み込まれ、1つのシステムで、複数枚を実装することができます。このような、メモリバスの並列化を見越して、新しいメモリ規格であるWide I/O規格では512bitのバス幅、規格策定中のHBM規格では1024bitのバス幅を規格としています。

 もちろん今後、全てのコンピュータが多数のコプロセッサを持ち、大きな並列バスをもつとは限りません。

 今後、ますます増大するネットワークをコントロールするためのネットワークサーバ、膨大なビッグデータを処理するためのコンピュータなど、求められる機能は同じではありません。

 今後は、単純にコンピュータとか、スーパーコンピュータというだけでなく、目的とするアプリケーションに最適化されたコンピュータが求められてくるでしょう。

参考資料

  • 1 「パソコン・グラフィックス入門」(1983年、オーム社):大原茂之、倉田了一(前田真一)、長谷川正治、加藤直之 共著

筆者紹介

photo
photo

前田 真一(マエダ シンイチ)

KEI Systems、日本サーキット。日米で、高速システムの開発/解析コンサルティングを手掛ける。

近著:「現場の即戦力シリーズ 見てわかる高速回路のノイズ解析」(技術評論社)


前のページへ 1|2|3       

Copyright © ITmedia, Inc. All Rights Reserved.