インターネットで扱うパケットは今後も増え、インターネットのバックボーンで使われるコアルーターには高速化が要求されています。2015年から2020年の5年間でモバイル通信量が8倍になったという調査(シスコシステム調べ)や2006年から2025年の間に通信量は190倍になるという予測(環境省)もあります。現在のコアルーターは基本的に、最大400Gbpsが限界ですが、これを1Tbps以上に引き上げる必要がでてきます。
しかし、単純に性能を2倍にすれば、消費電力も2倍になってしまいます。現在でも、世界中の電力の1%をネットワークが消費しているという試算があります。もしこのままコアルーターなどの消費電力が増えてしまうと、パケット数が何十倍、何百倍にもなったとき、世界中の電力がネットワークに使われてしまいます。つまり、パケット処理性能をあげ、同時に低消費電力化しなければならないのです。
コアルーターは、パケットの宛先を調べ、予め設定されたルーティングテーブル(経路表)に従って適切な経路にパケットを転送します。処理としては単純ですが、回線などからやってくるパケットをそのままのスピードで処理しなければなりません。短い時間で膨大な宛先から適切な経路を検索する必要があり、汎用CPUでは間に合わないため、「TCAM(Ternary Content Addressable Memory)」と呼ばれる特殊なメモリで処理します(図表1右下)。
図表1 パケット処理の仕組みとパケットキャッシュのイメージ
一般的なコアルーターでは、このTCAMが消費電力の40%を占めているといわれており、ここを効率化することで消費電力を削減することが可能になります(図表2)。
図表2 コアルーター内の電力消費要因
研究では、頻繁に行われる通信(フロー)を記録する「パケット処理キャッシュ」を置き、TCAMへのアクセスを減らすことで、処理を高速化しかつ、低消費電力化を行うことを提案しました。
キャッシュメモリは、アクセス速度はTCAMの20倍、消費エネルギーは1/50、記憶エントリ数(回路規模に相当)では1/100であるため、キャッシュメモリへのアクセスで処理が完結すれば、高速化と低消費電力化を同時に達成できます。
フローとは、パケットの宛先や送信元のIPアドレスやポートといった情報です。大量のパケットを扱うコアルーターでは、短い時間でみると、特定のフローを持つパケットが多数到来します。頻出するフローの検索結果をキャッシュに保存しておくと、TCAMを使わずに宛先を決定できるようになります(図表1)。