検索
連載

SPARC M7に実装された「Software in Silicon」とは何かDatabase Watch(2015年11月版)(2/2 ページ)

データベースというソフトウエア技術を追いかける本連載で「SPARC」について言及する日が来るとは思いませんでした。今回はオラクルのデータベース性能を強化するためのチップに実装された技術「Software in Silicon」を深追いします。

Share
Tweet
LINE
Hatena
前のページへ |       

オラクルとサンの融合が結実した「Software in Silicon」技術

photo OOW15で「Software in Silicon」と「SPARC M7」について説明する米オラクル システム技術担当上級副社長のホアン・ロアイザ氏

 OOW15では、そんなオラクルとサンの融合が一段階上の境地に到達したと感じました。OOW15における大きな発表の一つが、SPARCプロセッサーへデータベース性能強化技術を搭載した「Software in Silicon」です。オラクルは「5年をかけて開発した、野心的な技術」と何度も述べていました。5年前というと2010年、そう、サンを買収した頃です。当時より始まった技術開発がいよいよ結実したことになります。

 Software in Siliconとは、OOW15の基調講演でこの技術を説明した米オラクル システム技術担当上級副社長 ホアン・ロアイザ氏の言葉を借りると、「シリコン(チップ)にソフトウエアを実装する技術」です。

 なぜオラクルは、これを革新だとうたうのでしょう。例えば現在も、「SIMD(Single Instruction for Multiple Data/ベクトル)命令セット」でCPUリソースの効率を高め、データ処理を高速化する手法があります。SIMDとは、一つの命令で複数のデータを処理する演算のこと。これまで一人でやっていた作業を、複数人で一気に片付けるようなイメージで、SIMD演算に対応したプロセッサーで実現できます。

 Software in Siliconは、ソフトウエアとプロセッサーで最適化する手法からさらに一歩進み、ソフトウエアそのものを直接プロセッサーへ組み込んで最適化する取り組みです。ロアイザ氏は「これまでのデータベースのアルゴリズムはチップへ実装するには複雑すぎた。そこで、メモリ上のアルゴリズムを極力シンプルにした」とし、今後クラウド時代に必須とされる要素を、コンピューティングスタックの最下層であるプロセッサーの段階で実装し、最適化できるようにしたことがポイントと説明しました。具体的には、「SQL in Silicon」「Capacity(Decompress) in Silicon」「Silicon Secured Memory」、この三つの技術をまとめて同社はSoftware in Siliconと呼んでいます。


photo SPARC M7で拡張された「Software in Silicon」の詳細
photo 「SQL in Silicon」「Capacity(Decompress) in Silicon」「Silicon Secured Memory」の機能をハードウエアレベルでサポートする

SQL処理を高速化する「SQL in Silicon」

 先述したSIMD命令セットも処理の高速化に寄与しますが、「それは画像処理向きで、データベース向きではない。データベースに最適化されていたわけではない」(ロアイザ氏)と言います。

 このため、オラクルはリレーショナルデータベースの操作言語である「SQL」を“プロセッサーレベルでサポート”してデータベース処理を高速化する機能をSPARC M7へ組み込みました。SPARC M7の32個のコアに「Database In-Memory Acceleration Engines」と呼ぶ専用処理のためのコプロセッサーを実装し、これにSQL処理を行わせます。コプロセッサーにデータベース処理を行わせて、余力を他の処理に振ることで、全体的なパフォーマンスの向上を図ります。

photo 「SQL in Silicon」の詳細

データ圧縮/解凍をハードウエアでサポートする「Capacity in Silicon」

 Capacity(Decompress) in Siliconは、圧縮データの解凍処理を最適化する機能をプロセッサーレベルでサポートし、処理を高速化する技術です。データの圧縮/解凍処理でパフォーマンスに与える影響の課題を解消します。


 ロアイザ氏は「データベース処理においては、圧縮より解凍の処理がはるかに重要」と言います。データの圧縮は書き込み時に行えばよいのですが、データの読み出し時は問い合わせのたびに解凍処理を行うことになるからです。頻度の高い解凍処理を担う「Decompression Engines」をプロセッサーへ組み込んで、「オーバーヘッドなしで圧縮データを読み出せるようになる」(ロアイザ氏)ことを目指しました。

プロセッサーレベルでメモリへのアクセス保護を行う「Silicon Secured Memory」

 Silicon Secured Memoryは、メモリのアクセス保護をプロセッサーレベルで実装する技術です。オラクルはクラウド/オンプレミスを問わず、セキュリティを最重要項目に位置付けています。OOW15でラリー・エリソンCTOは「セキュリティ機能/暗号化は常にオンが必須。これは、各ソフトウエアではなく、より下層のレイヤーにあるハードウエアへ実装しなければ実現できない」と話しました。まさに「セキュリティ/暗号化は常にオン」を実現するために必要な技術の一つと言えます。

 仕組みを下図で示します。この図では、メモリにあるデータのポインターに所有者を示す「色」が付いています。この色は一種の目印とイメージするとよいでしょう。アクセスを許可する目印として色を付けておき、その目印と合致する所有者のみデータへのアクセスを許可します。つまり、メモリへの不正アクセスをプロセッサーの処理段階で把握し、防げます。例えば、2014年に見つかったOpenSSLの脆弱(ぜいじゃく)性「Heartbleed」は、もしSilicon Secured Memoryがあったならば根本から防げたとエリソンCTOは説明しました。

photo 「Silicon Secured Memory」の仕組み



 オラクルはデータベース処理において、より効率的に行えるようなハードウエアを開発し、オンプレミス、パブリッククラウド、プライベートクラウドを隔てなく、さらなる高速化とセキュリティを高める施策を両立する構えです。今後もハードウエアへ性能強化や機能強化を積極的に実装し、最適化していくという動きは続いていきそうです。

Copyright © ITmedia, Inc. All Rights Reserved.

前のページへ |       
ページトップに戻る