セキュリティやデータベースの加速機構を搭載

また、M7から追加された機能であるが、64バイトごとのメモリやキャッシュのデータにVersion番号というデータが付けられ、メモリアクセスの度にプロセサがVersion番号の一致を確認する。これにより古いVersionのデータを使ってしまうというプログラムのバグを発見したり、ウイルスなどのメモリアクセスでは正しいVersionを指定することができないので、その感染を防ぐことができるという。

メモリやキャッシュに64バイトごとにVersion情報を付け、プロセサのロード/ストア時に一致をチェックするADI

データベースアクセラレータDAXはローフォーマットからカラムフォーマット、あるいはその逆の変換、パック形式からパッドを含んだ形式などへの変換をメモリ上で行ったり、特定の範囲の値をクエリしたりするエンジンで、データベース処理を高速化する。これもM7から実装された機能である。

形式変換やクエリを高速に実行し、データベース処理を高速化するDAX

Sonomaプロセサの性能

Sonomaプロセサは小規模ノードをコンパクトに低コストに作るというスケールアウト型のシステムに適した設計となっている。OracleはハイエンドのMシリーズとミッドレンジのTシリーズという2系列のSPARCサーバを持っているが、Sonomaはどちらかと言えばTシリーズ向けのプロセサであるので、以下ではT5プロセサと比較を行っている。なお、T5プロセサは、Sonomaより1世代前のS3コアを使う16コアCPUである。

次の図に示すように、T5プロセサの場合はメモリDIMMの接続はバッファチップ経由であり、PCIeもブリッジチップ経由の接続であった。そして、IBはPCIe経由でHCAを接続していた。さらにこれが、Sonomaではどれも直結になり部品数が減ったため、低コスト化、ラック体積の減少、さらには消費電力も減るという結果につながっている。

T5プロセサの時代は、DIMM、PCIeは専用のチップを経由していたが、Sonomaでは、これらは直結となった。また、IBはPCIe経由でHCAを接続していたが、SonomaではHCAをCPUチップに内蔵した

次の図はT5とSonomaのシングルスレッドの性能を比較したもので、赤の棒グラフがSonomaである。メモリレーテンシは約0.7倍に短縮され、整数プログラムの性能は1.3倍に向上、DAXを使うクエリ性能は2.4倍、同じくDAXを使うデコンプレス(圧縮の復元)の性能は8.5倍と大幅に向上している。

シングルスレッドでのT5とSonomaの性能比較

次の図はT5とSonomaのコアあたりの性能の比較で、整数プログラムのスループットは1.3倍、Javaのスループットは1.6倍、クエリのスループットは1.7倍、OLTP+Analyticsは2.6倍となっている。

しかし、T5は16コアであるのに対してSonomaは8コアであり、最初の3つのベンチマークは、チップあたりの性能を比較するとSonomaの方が性能が低いのではないかと思われる。もちろん、チップ単位の性能だけが優劣を決めるのではなく、その分、価格が安く、実装密度が高く、消費電力が少なければ良いわけで、総合的な優劣という点ではSonomaの方が改善されているのであろう。

T5とSonomaのコアあたりの性能比較

Sonomaの最大の目玉はFDR InfiniBandのHCAをCPUチップに内蔵した点である。このHCAはSR-IOVで仮想化してvHCAとして使うことができる。そして、vHCAあたり最大16Mのキューペアの通信を行うことができる。ビジネス系のサーバやストレージサーバなどでは小データサイズの通信が大量に発生するので、多数のキューペアをサポートできるのは大きな利点である。Oracleとして、このような自社のターゲットとする用途に即したカストマイズを行うために、HCAの自社開発を選択したものと思われる。

SonomaはFDR(56Gbps)のIB HCA 2個を内蔵。SR-IOVで仮想化が可能で、vHCAあたり16Mキューペアを処理できる

次の図は、キューペア間の単方向のパケット伝送速度を、使用しているキューペア数を横軸にとって表したグラフで、赤い線はSonomaの特性で、青い線はその他のIBの特性である。この図から分かるのは、使用しているキューペア数が少ない場合は、どちらも同じ性能であるが、使用するキューペア数が多くなると、Sonomaの方が圧倒的多くのパケットを送ることができるという点である。キューペア間のコネクションは仮想的な通信路であり、多数の通信路を作っても高いパケット通信性能が得られるということは複雑な通信を行うアプリケーションにとっては重要な点である。

SnomaのIB HCAは多数のキューペアを使用する状態でも高いパケット転送性能を持っている

まとめ

Sonoma CPUはメモリやI/Oが直結でき、部品数が少なくて済む。加えて、使用している半導体プロセスも標準的であり、結果としてコストや消費電力を減らせる。消費電力も過大ではなく扱い易い。それで非常に高いスループットが得られ、スケールアウト型のサーバに最適であると結んだ。

Sonomaはシステムとしての集積度が高く、スケールアウト型のサーバとして最適