パケットキャプチャを支える高速データ書き込み技術
2018年7月時点の内容です
ここ30年あまりでイーサネットは目覚ましい進化を遂げてきました。転送速度は10M、100M、1G、10G、100Gと指数関数的に増加し、ビジネスにおける利用シーンだけをとっても、多岐にわたって活用されています。それに伴い、パケットキャプチャにも高速回線・大容量が求められるようになっています。ここでは、「高速に大容量なデータを書き込む技術」について紹介します。
外部記憶装置の特性と課題
外部記憶装置の多くは、時間的に書き込み性能が変化し、長時間安定した高い書き込み性能を実現できないという問題があります。図1のグラフは、SSDの書き込み性能テストを行った際のデータです。コンピュータ装置における処理負荷が変動しない状態で、一定速度で発生するデータをコンピュータ装置からSSDに書き込み続け、書き込み性能(MB/s)の時間的変化を計測しました。横軸が時間(秒)、縦軸が書き込み性能(MB/s)を示しています。この結果から分かるように長時間連続で書き込みを行うと、性能はばらつき、一定の割合で極端に性能が低下する現象が見られます。
図1:SSD書き込み性能の変化
解決策
従来、このような性能低下を解決するためには、アクセス負荷管理装置など専用のハードウェアを必要とし、多大な時間とコストが必要でした。しかし、以下二つの処理を同時に行うことにより、専用装置を用いなくても、性能低下の問題を解決できることを発見、開発を行いました。これにより、安定した高い書き込み性能を実現できます。
1. 並列処理
複数の外部記憶装置を用いて、個々のストレージ(※1)毎に書き込み処理を並列化
2. ロードバランス
ストレージで書き込み性能が低下した場合、次の書き込みデータ(※2)を書き込み性能が高いストレージへ割り振ること
書き込みプロセスは、高速化を図るために非同期的に処理をしています。ただし、非同期で処理する場合、いつ書き込まれたかを書き込みプロセスの中では判断できません。そこで、書き込み監視プロセスを別に独立して設け、書き込み処理中の性能を管理しています。
大容量パケットキャプチャ/ 解析システム
「SYNESIS」への適用
この書き込み高速化の仕組み(高速データ書き込み技術)は、汎用的なハードウェアとOSで利用できます。ネットワークの間欠的な障害を捕捉するためには安定した書き込みが重要となるため、自社開発製品である大容量パケットキャプチャ/ 解析システム「SYNESIS」では、パケットをストレージに書き込む際に本技術を使い、100Gbpsワイヤースピードのパケット全てをキャプチャすることを可能にしました。本技術は、「データ書き込み装置及び方法」として特許出願中(※3)です。IoTの普及によるネットワークに接続されるデバイスの増加、ネットワーク上で生成される膨大なデータを利用するビッグデータ解析の進展など、ますますネットワークは高速・大容量になることが想定されます。今後もICTの変化に追随できるよう、常に将来を見据えた開発を行ってまいります。
※1) 外部記憶装置単体、もしくは複数をRAID 技術などでグルーピングした仮想的な外部記憶装置
※2) 保存対象のデータを特定のサイズごとに分割したもの
※3) 2018年7月1日現在
図2:書き込み処理の並列化とロードバランス