Special
» 2015年11月10日 22時00分 公開

Oracle OpenWorld 2015:オラクルが表明した「クラウド」のデザインゴールとハードウエアの関係 (3/4)

[@IT]
PR

メモリのへ不正アクセスを許さないプロセッサー

 サン・マイクロシステムズ(サン)の買収をきっかけにハードウエアビジネスも行うようになったオラクルが、今回のOOWで満を持して発表したのが32コア256スレッドの「SPARC M7」プロセッサーです。4.13GHzで駆動し、スレッドごとのパフォーマンスにも優れ、同時に多数の処理を実行できる能力を持っています。

 このプロセッサーには「ADI(Application Data Integrity)」と呼ばれる機能が備わっていて、プログラムにバッファーオーバーフローが発生するような問題が発生した場合でも、メモリへの不正なアクセスを許さないようになっています。

 一般に、アプリケーションは、自身が必要とするメモリの大きさ(バッファーサイズ)をOSに申告してメモリの割り当てを受けます。仮に、アプリケーションのバグなどが原因で、割り当てられたメモリ領域以外を参照できる状況が発生した場合、メモリ内に記録されているデータを不正に読み出されたり、書き換えられてしまったりします。これが、バッファーオーバーフローが発生してシステムの脆弱性となってしまう理由です。

 ADIは、こうしたバッファーオーバーフローによるセキュリティリスクを回避します。具体的には、メモリ領域を割り当てるとき、同時に特定のメモリアドレスへのアクセスを許可するキーをポインターに埋め込んでアプリケーションに渡します。メモリ上のデータにアクセスする際には、このキーと一致する領域にしかアクセスを許さない仕組みとなっていて、一致しない場合はアプリケーションの実行そのものを停止します。そしてこの機能は「オフ」にならないようになっています(図1)。

スイッチオフは許されないADI スイッチオフは許されないADI

 SPARC M7プロセッサーは、こうした仕組みを持つことで不正アクセスなどを防止できます。加えて、ADIを持つことで、アプリケーションのバグ発見にも貢献します。SPARC M7の開発ツールを用いれば、異常な動作をしたときに「メモリがどういう状態で、何をしようとしたのか」を簡単に把握できるからです。今回のOOWでは、実際に「SASにおいて、致命的なバグを素早く発見することができた」という事例が紹介されました。

「ソフトウエア・イン・シリコン」によるスマートなハードウエア

 SPARC M7には、もう一つの大きな特徴があります。それが「ソフトウエア・イン・シリコン」(Software in Silicon)です。プロセッサー上に組み込まれた、CPUコアとは別の回路を用いて、特定の処理を実行する仕組みを指します。

 SPARC M7では、暗号化を行う「セキュリティ・イン・シリコン」(Security in Silicon)と、SQL処理の一部を行う「SQL・イン・シリコン」(SQL in Silicon)が実装されています。

 Security in Siliconには、AESやRSAといった多くの暗号処理に利用されているアルゴリズムだけでなく、CamelliaやECCといった先進的な暗号処理のためのアルゴリズムをも内蔵しています(図2)。SPARC M7では、対応する暗号化方式であれば常にCPUコアではなく、Security in Siliconを使って暗号化処理が行われます。

SPARC M7が実装するSecurity in Silicon SPARC M7が実装するSecurity in Silicon

 Security in Siliconがどれほど有効であるのかは、ベンチマークの結果を見るとよく分かります。

 「SPECjEnterprise2010」において、1基のSPARC M7を搭載したT7-1サーバー2台で構成されたシステムは、2万5093.06 EjOPSで世界一を更新しました(*2)。この結果を受けて2位となったのは、4基のPOWER7+/8プロセッサーを搭載したサーバー2台で構成されたシステムで、2万2543.34 EjOPSという記録でした。驚くべきことは、SPARC M7の場合はデータ暗号化を施した状態でも1位だったという点です。ちなみに、もし暗号化をしないでベンチマークしても、オラクルの記録は数%しか伸びないそうです。それだけ暗号化処理がCPUの性能に影響を与えないところで行われている、ということを証明しています。

 もう一つのSQL in Siliconでは、結合を伴わないデータ(行)の絞り込みや、圧縮されているデータの解凍などを行います(図3)。これもやはり、CPUコアの負担を小さくするので、SQL処理の高速化が期待できます。ただし、その効果を最大限に発揮するには、In-Memoryオプションを使う必要があります。

DAX:Data Analytics AcceleratorによるSQLの高速化 DAX:Data Analytics AcceleratorによるSQLの高速化

注2)EjOPはSPECjEnterprise Operation per Secondの略。1秒当たりのSPECjEnterprise処理能力を示します。ベンチマーク結果



Oracle DatabaseとJavaのためのハードウエア

 ここまで見てきたように、SPARC M7はOracle Databaseを高速で安全に運用するために生まれた「オラクルのオラクルによるオラクルのためのプロセッサー」の第1世代といえます。

 キーノートなどのセッションでは言及がありませんでしたが、オラクルでは開発チームの体制を変えつつあります。Oracle Databaseだけでなく、Javaのミドルウエア開発チームも、SPARC/Solarisのチームとの間で定期的にミーティングを持つなどして意見を交換しています。

 加えて、いままで離れていた各開発チームのオフィスも同じビルに集結させています。オラクル本社はカリフォルニア州レッドウッドにあり、本社敷地内には六つのビルが立ち並んでいます(写真1)。一方、サンは同じカリフォルニア州のサンタクララが拠点でした(写真2)。距離にして自動車で1時間ほども離れていましたので、現在は共同作業を進めるには格段によい環境になったといえるでしょう。

写真1 オラクル本社(左)、写真2 元サンの拠点(右)

 このようにソフトウエアとハードウエアの開発チームを近付けた背景には、両者の能力を最大化し、最もオラクルらしいプロダクトを実現しようという明確な意図があります。「最もオラクルらしい」とはつまり、Oracle DatabaseやJava実行環境として最も効率の良いハードウエアを作ること、あるいはサンの開発チームが持つ技術的優位性を最大化できるソフトウエアを作ること、と言い換えてもよいでしょう。

Copyright © ITmedia, Inc. All Rights Reserved.


提供:日本オラクル株式会社
アイティメディア営業企画/制作:@IT 編集部/掲載内容有効期限:2015年12月12日

ナビゲータ紹介

日本オラクル入社2年目の増田 佑菜(ますだ ゆうな)です。クラウド・システムの営業部で日々業界のことや技術のことを勉強中です。最近では、お客さまのもとにうかがってお話を聞くなかでSPARC/Solarisの面白さを発見することもしばしば。このコーナーでは、私がお客さまにうかがったSPARC/Solarisの“新発見”を記事で紹介していきます。「SPARC/Solarisの魅力」をたっぷりでお届けします!

特集ページ

関連記事

クラウドの利用やビッグデータの活用など、企業のIT環境は変革期を迎えている。そのIT基盤を支える技術として、あるハードウェアアーキテクチャを再評価する機運が高まっている。その最新動向を追う。

金融や通信、小売など幅広い業界の企業システムとして長年支持を集めてきたプラットフォームが今、大きな進化を遂げようとしている。どのような将来像を提示するのだろうか。

三井住友海上あいおい生命保険では、保険契約に関するシステム基盤を全面更改し、2015年1月から本稼働を開始している。切り替え作業に要した時間はわずか2日足らず。「全く不安がなかった」と信頼を寄せる技術とは。

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。