図1 統計エンジン「70P1308」と「70P1338」
図1 統計エンジン「70P1308」と「70P1338」
[画像のクリックで拡大表示]

 米Integrated Device Technology,Inc.は,通信機器を通過したパケット群の統計情報を収集するLSI「統計エンジン」を開発した(図1)。例えば,通信事業者と各家庭をつなぐルータに統計エンジンを載せることで,通信事業者は各ユーザーごとの通信データ量をリアルタイムに把握できる。「このような統計情報は,ユーザごとに通信帯域を保証するなどのQoS(quality of service)を実現したり,送受信したパケットの種類に応じて課金するといった新サービスの実現に使える」(日本IDT 代表取締役 会長の神山渡氏)。

 従来このような統計処理は,パケットからヘッダ部を抽出する「ネットワーク・プロセサ」が担っていた。だが,1つのパケットが通過するたびにSRAMにアクセスして情報をやりとりする必要があるため,プロセサに大きな負荷をかけていた。「統計処理にプロセサの処理能力の半分を費やすこともあった」(神山氏)。統計エンジンを採用することで,ネットワーク・プロセサの負担を軽減でき,通信機器の実効的なパケット処理性能を高められるという。ネットワーク・プロセサの負荷軽減を図るという意味では,ネットワーク・サーチ・エンジン(Tech-On!関連記事)と同様の位置づけといえる。

 今回の統計エンジンを構成する主な要素は,256Kの64ビット・カウンタあるいは512Kの32ビット・カウンタと,64ビット加算器である(図2)。SRAMの汎用インタフェースであるQDR-IIでネットワーク・プロセサと接続する。つまり,ネットワーク・プロセサからみれば統計エンジンにはメモリの一種としてアクセスできる。

 統計エンジンの動作手順は以下の通り(図3)。1パケットの入力を受けたネットワーク・プロセサは,パケットのヘッダから送り元や送り先のIPアドレスを取得した後,そのIPアドレスと1対1に対応するメモリ番地へ書き込み処理を行う。書き込み処理を受けた統計エンジン側では,そのメモリ番地に対応するカウンタに1を加算する。これにより,送受信したパケットの数をIPアドレスごとにカウントできる。今回の製品では,1クロック当たり4つのカウンタにアクセスすることが可能だ。

 IDT社は,カウンタ数が最大512Kである「70P1308」,最大256Kである「70P1338」の2品種を用意する。いずれも2006年第2四半期に出荷する。価格は未定である。

図2 512Kのカウンタと64ビットの加算器,各種ロジックとインタフェースから成る
図2 512Kのカウンタと64ビットの加算器,各種ロジックとインタフェースから成る
[画像のクリックで拡大表示]
図3 統計エンジンを搭載した場合(下),搭載しない場合(上)と比べて統計処理に要するサイクル数を1/15に軽減できる
図3 統計エンジンを搭載した場合(下),搭載しない場合(上)と比べて統計処理に要するサイクル数を1/15に軽減できる
[画像のクリックで拡大表示]