OracleはSparc M7のSQLワープドライブにアプリを乗せるチケットを提供する

Table of Contents

OracleはSparc M7のSQLワープドライブにアプリを乗せるチケットを提供する

オラクルは本日、Sparc M7プロセッサのハードウェアアクセラレーションによるSQL処理エンジン向けに、「無料かつオープンなAPIと開発キット」をリリースします。特典を入手するには、こちらから登録してください。

「C/C++、Java、Python を使用するプログラマーがこれらのアクセラレーターを効果的に使用できるようにインターフェイスを公開しています」と Oracle の製品管理担当副社長 Marshall Choy 氏はThe Registerに語った。

オープンで無料です。ライセンス料はかかりません。必要なのは、シンプルで標準的なクリックスルー契約だけです。クリックスルー契約にはいつも疑問を抱いているので、個人的に確認しました。ライセンスはGNU GPLとかなり似ています。

10月のOracle OpenWorldカンファレンスで、これらのエンジン(正式名称はData Analytics Accelerators、略してDAX)について説明しました。DAXは、圧縮されたデータをメモリから最大160GB/秒で読み込み、解凍時に情報を分析・フィルタリングし、その結果をCPUのL3キャッシュに出力することで動作します。

「値の比較や範囲の比較、SELECT タイプの関数の実行、列を減らすためのフィルタリング、検索、データの抽出などのスキャン操作に非常に効果的です」と Choy 氏は語りました。

「データセット内の外れ値をリアルタイムで検出するために使用できます。産業界におけるこの技術の典型的な用途の一つは、不正行為の検出です。例えば、クレジットカードの支出における異常値を見つけることなどです。」

M7は、DAXエンジンを通じて32のストリームを同時に処理できます。これらのストリームは、プロセッサ内の32個のSparcコアとは独立して動作します。これらのアクセラレータは並列処理することで、インメモリ列指向データベースを高速に処理し、単純なSQLクエリ(例えば、このハッカーが2014年に書いた記事の総数を計算するなど)を実行できます。その名前が示すように、DAXユニットは分析処理、つまり大量のデータの読み取りと理解を目的としており、大量のデータの変更や書き込みは行いません。

これらのエンジンはOracle Database 12cでSQLクエリを高速化するために使用されています。そして今、Solaris 11で動作するあらゆるソフトウェア(ただし、常に何らかの制約はあります)がBig RedのAPIを介してこれらのテクノロジーにアクセスできるようになりました。これらのインターフェースにより、アプリケーションはハードウェア内蔵のアクセラレータを利用してデータを高速処理できます。ライブラリは、必要に応じてDAXエンジンをプログラミングするという大変な作業を実行します。

アーティストの想像図…M7のDAXパイプラインの基本レイアウト

OracleはDAXの圧縮と解凍機能に力を入れています。処理前にストレージ内でデータを圧縮することで、1秒あたりにアクセラレータに取り込める情報量が増加し、解凍は分析と同時に行われるため、実質的には無料で利用できるとOracleは述べています。

また、範囲比較も1ステップで実行されるとのことです。例えば、特定の2つの日付間のトランザクション数を取り出したい場合、ハードウェアでは1ステップで実行されます。また、これらはすべてCPUコアのキャッシュとは別に実行されるため、DAXユニットが中間データでコアごとのキャッシュを汚染することはありません。

最終的には、DAXユニットを使用して、毎秒数百万行、場合によっては数十億行もの情報を処理してインタラクティブな分析を実行できるようになるはずです。ただし、この情報は圧縮されたインメモリ列指向データベース形式で保存する必要があることを忘れないでください。高速化のためには努力が必要です。

SQLだけではありません。Oracleは、Apache SparkをM7 CPUのハードウェアアクセラレーションに統合し、「ソフトウェア・イン・シリコン」をサポートするためのアップストリームパッチの提供に取り組んでいます。米国ブラウン大学のコンピュータサイエンス学部では、M7のDAXテクノロジーの大規模データセットでの性能測定を進めているとのことです。

API ライセンスの正確な詳細は執筆時点では公開されていません。わかり次第、この記事を更新します。®

Discover More