日本オラクルは「SPARC M6」プロセッサを32個搭載するサーバ機の販売を開始すると発表した。32Tバイトの広大なメモリによってデータベースの処理性能を高められるという。さらに次世代の「SPARC M7」プロセッサに投入する、データベースのクエリ処理など特定のアプリケーション処理を高速かつ安全にする「Software in Silicon」技術の詳細も明らかにした。
日本オラクルは2013年10月23日、「SPARC M6」プロセッサを最大32個搭載する「SPARC M6-32」サーバと、同サーバとストレージシステムを組み合わせたエンジニアドシステム「Oracle SuperCluster M6-32」を同日販売開始すると発表した。同サーバの特徴は、最大32Tバイトという大容量メモリを搭載し、データベース管理システム(DBMS)などのアプリケーションをすべてメモリ内で実行することで、処理性能を大幅に向上させたこと。オラクルによると、280億行のデータに対するクエリを1秒未満で処理するという。
米Oracleのシステムズ・プロダクト・マネジメント&ストラテジ担当でシニア・バイスプレジデントのDavid Lawler氏は、「インメモリ処理を特徴としたDBMSはほかにもあるが、それらの多くは既存のアーキテクチャのまま通常ストレージ装置に格納するデータをメモリ内に置いただけだ。それだとせいぜい5〜7倍程度しか速くならない。当社のDBMSは、インメモリ処理に最適化しており10倍高速化する」という。
さらに同氏は、2015年上半期に量産出荷が予定されている「SPARC M7」プロセッサに、「Software in Silicon」と呼ぶ、アプリケーションソフトウェアの特定処理に向けたアクセラレータを実装し、さらなる高速化と安全性の確保を図ることも明らかにした。
Software in Siliconは、次の4分野に関して開発が進められている。(1)データベースのクエリ、(2)Javaプログラムの実行、(3)データ圧縮処理、(4)アプリケーションデータ保護である。
例えばデータベースのクエリ処理に関しては、従来の命令を利用した処理だと、メモリ内に格納されたデータ列に対して順にデータを取り出し、比較などの処理を施し、必要に応じてデータを書き戻すといった処理を実施する。これに対してSoftware in Siliconではデータ列に対してまとめて処理を施す命令が用意され、これを使うと実行時にプロセッサのパイプラインを乱したり、余計なメモリアクセスを発生させたりしないことで、処理性能が向上するという。
アプリケーションデータ保護については、プログラムの実行時にメモリへの不正なデータ書き込みを防ぐハードウェア機能だとしている。ソフトウェアの信頼性と安全性を向上させる。これは、バッファオーバーランなどによる不正なデータ書き込みを防ぐだけでなく、同じプロセスであっても変数領域を確保したプログラムとは異なるプログラムからのデータ書き込みや、正しいプログラムからの書き込みであっても変数領域確保時と異なるデータ型の値を格納しようとする処理も防ぐ。プログラムがメモリ上に確保した変数領域に、どのプログラムがどのデータ型として使用するかといったタグ情報を付加することで実現するという。
一般に、高級言語のソースコードではデータ型などを指定して変数を確保(宣言)することで、宣言時と異なるデータ型のデータをその変数に格納しようとするとコンパイル時にエラーを発する処理系はある。ただし、C言語などデータ型に関して緩い処理系の場合は、ポインタ操作などで異なるデータ型の値を格納できてしまうことがある。さらに同じプロセスならばメモリ空間は共通で、一般にプロセス内のどのメモリ領域にもデータを書き込めてしまう。このような動作でも、実行時に防止可能だ。なおこの機能を利用するには対応するコンパイラで再コンパイルする必要があるものの、ソースコードに手を加える必要はないという。
SPARC M6-32サーバに採用されたSPARC M6プロセッサは、動作周波数が3.6GHzで、8スレッドの同時稼働可能なコアを12個内蔵する。1プロセッサ(ソケット)当たりの、同時稼働可能スレッド数は96、接続可能なメモリ容量は1Tバイトである。プロセッサのアーキテクチャ上は最大96ソケット構成が可能だが、「32ソケットを超える規模の要求は少ないので、M6については32ソケットを超える構成を採るサーバ機の発売予定はない」(Lawler氏)。価格は、6585万8531円(税別)〜である。
Copyright © ITmedia, Inc. All Rights Reserved.