古いバージョンのブラウザーを使用しています。MSN を最適にご利用いただくために、サポートされているバージョンをご使用ください。

コンピュータの限界を変えるための3つの視点

ITmedia エンタープライズ のロゴ ITmedia エンタープライズ 2016/11/17
コンピュータの限界を変えるための3つの視点: 60年間変わっていないコンピュータの構造(略図) © ITmedia エンタープライズ 提供 60年間変わっていないコンピュータの構造(略図)

 今のITを取り巻く問題として、多くの電力を消費するコンピュータの数をどんどん増やしていかなければいけない状況にあります。今回はこの問題を解決するために私の所属する会社が開発中の新しいコンピュータのアーキテクチャを紹介します。

●60年間変わらないアーキテクチャ

 現代のコンピュータは、階層化された記憶領域とその間を銅線が結ぶアーキテクチャです。これはコンピュータの誕生から約60年間変わっていません。この階層化された記憶領域間を頻繁にデータが行き来することが、電気を消費する一因です。

 記憶領域が階層化されている理由は2つあります。1つは、DRAMで構成されているメインメモリは電源を失うとデータが失われてしまうため、それを永続化する仕組みが必要だからです。もう1つはDRAMの容量単価が高いためメインメモリにそれほど大きい領域を詰めないことから、全てのデータをより安価な外部記憶装置に置き、必要な部分だけメインメモリに置いて処理をするのが一般的だったためです。

 外部記憶装置は、電源が消えてもデータが失われない反面、メインメモリに比べるとデータの移動は非常に低速です。したがって外部記憶上のデータはほとんどの場合、一度メインメモリにロードされてから処理され、必要なら外部記憶に戻されます。この時にデータの移動が発生します。メインメモリと外部記憶の容量の差が大きければ大きいほどこの間の移動が多く発生します。データの移動にはCPUも介在しますので、移動が頻繁に発生すれば、それだけリソースを余計に消費してしまいます。

 特にデータベースの領域ではインメモリ技術がもてはやされています。インメモリデータベース自体はかなり昔からありますが、エンタープライズ分野で本格的に採用され始めたのは「SAP HANA」の登場によるところが大きいでしょう。その後、SQLServerやOracle Databaseもインメモリ技術を本格的に採用しています。

 インメモリデータベースが速いのは、アクセス速度が速いメインメモリに全てのデータを置いているからです。永続化のために最終的には外部記憶装置へデータを書きだすものの、少なくとも読み込み時のデータの移動はありませんから、この部分にかかる外部記憶の待ち時間もデータの移動にかかるコストも削減できます。ですが、メインメモリの構成部品となるDRAMは、定期的にリフレッシュしないとデータを保持できません。この構成を取る限りは常に電気を使用し続けなければならず、劇的な省電力化は望めません。

 それではいっそうこと、この記憶領域を1つにしたら――という発想が出てきます。電源が落ちてもデータを失わないメモリがあったらどうでしょうか。さらに、その容量単価がDRAMより圧倒的に安ければどうでしょうか。このようなメモリがあれば、記憶領域の階層化を排除できます。こうした不揮発性メモリの技術は今後数年でどんどん世の中に出てきます。これが新世代のコンピュータにおけるアーキテクチャの1つめのキーポイントになります。仮に「ユニバーサルメモリ」と呼びましょう。

●データの移動を変える

 銅線によるデータの伝送には電気が使われます。銅線の上を頻繁にデータが移動すれば、それだけ電気の使用量が増えるのは先ほど触れたとおりです。また、銅線では高速にアクセスするために距離を短くする必要があります。例えば、皆さんのコンピュータの中を見ると、メモリはCPUのすぐ近くにあるはずです。

 ネットワークのケーブルはどうでしょうか。10Gbなどの高いビットレートでは比較的長いケーブルに光ケーブルが使われています。銅線を光に替えることで、長距離でも同じエネルギーで信号を送ることができ、その距離も伸ばすことができるようになります。これが新世代アーキテクチャの2つめのキーポイントになります。ここには「フォトニクス」という技術が使われます。

 このように記憶領域の階層化を排除して光で結べば、巨大な一層の消えない記憶領域を用意することができます。これは一度書いたら明示的に消すまでデータが失われなくなりますので、記憶を保つためにCPUを使える状態で維持している必要性がなくなります。

 見方を変えると、現代のコンピュータはCPU中心のコンピューティングといえます。コンピュータはCPUに電源が入り、CPUが管理しているメモリにデータがロードされて、初めてデータを操作できるようになります。また他のCPUの配下にあるメモリ上のデータにアクセスしようとすると、必ずどこかのCPUを経由しなければなりません。

 つまり、CPUが門番のような役割を果たしているわけです。このため、もしメモリを増設しようすれば同じ種類のCPUを接続する必要があり、サーバはそのCPUの制限に合わせて構成されることになります。

 しかし一度書いたら消えない巨大なメモリ空間があれば、CPUにまつわる制約を変えることができます。この空間にはデータが既にあり、CPUの電源が入っていなくても既にメモリ上にあるのです。これを「メモリ主導型コンピューティング」と呼んでいます。

●さらば汎用的CPU

 メモリ主導型のコンピューティングでは、CPUは部品になります。ですからCPUはメモリ上に格納されているデータに対してどのような操作をしたいのかという目的に応じて、必要な機能に特化した物へ付け替えればよいという発想に転換できます。例えば、データをあるルールでデータを並べ替えたければ、並べ替えが得意なCPUをその作業時に付ければよいのです。

 こうすれば、CPUにはコンピュータの中心としての役割が必ずしも必要なくなります。今のCPUは中心にあるがゆえに融通がきかず、どのような処理も高度に処理する能力を有している必要があるため、汎用的になっています。中心でなくなれば、シンプルになり、目的に特化することで省スペース化、省電力化が可能になります。これが新しいアーキテクチャの3つ目のキーポイント、「目的特化型コア」の採用です。

 この新しいアーキテクチャは、ユニバーサルメモリと目的特化型のCPUコアをフォトニクスで結ぶことで、消費電力の圧倒的な削減を実現できるようになります。また、データの移動をはじめとする多くの無駄を省いてCPUのパワーをより効率的に使えるようになります。大量のデータも一つの階層に全て格納できます。アクセススピードはメモリとほぼ同じですから、必要なデータを瞬時に参照できるでしょう。前々回の航空機の例のように、過去のあらゆる事象のデータを格納し、そのデータを利用してシミュレーションしたシナリオのデータをさらに格納したり、あるいは新しい条件を加えて計算し直したりといったことができるようになるのです。

 繰り返しますが消費電力は圧倒的に少なくなります。小型化すれば電力事情の厳しい場所――例えば、自動車の中にも大容量記憶媒体を設置できるようになります。集められたデータはその場で分析され、必要な情報だけを外に出すといったことが可能になるでしょう。

 今回は、新世代コンピューティングのアーキテクチャについて説明しました。私の所属する会社ではこのアーキテクチャ開発のプロジェクトを「The Machine」と呼んでいます。次回は記憶領域の問題について、もう少し詳しく説明しましょう。

●三宅祐典(みやけ ゆうすけ)

日本ヒューレット・パッカード株式会社の「The Machineエバンジェリスト」。Hewlett Packard Enterprise(HPE)の中央研究所「Hewlett Packard Labs」が認定するエバンジェリストであるとともに、普段はミッションクリティカルなサーバ製品を担当するプリセールスSEとして導入提案や技術支援を行う。ベンチマークセンターのエンジニアとしてHP-UXとOracleデータベースの拡販支援やサイジングを担当後、プリセールスエンジニアとして主に流通業のお客様やパートナー様の提案支援を経験し、現在に至る。趣味はスキー、ダイビングといった道具でカバーできるスポーツ。三宅氏のブログはこちら。

ITmedia エンタープライズの関連記事

image beaconimage beaconimage beacon