TOP > 国内特許検索 > パケット処理装置及びそのメモリアクセス制御方法

パケット処理装置及びそのメモリアクセス制御方法

国内特許コード P200016839
整理番号 6176
掲載日 2020年5月11日
出願番号 特願2018-096227
公開番号 特開2019-200698
出願日 平成30年5月18日(2018.5.18)
公開日 令和元年11月21日(2019.11.21)
発明者
  • 郡川 智洋
  • 川端 明生
  • 大木 英司
  • 何 馥君
出願人
  • 日本電信電話株式会社
  • 国立大学法人京都大学
発明の名称 パケット処理装置及びそのメモリアクセス制御方法
発明の概要 【課題】仮想化環境での使用を前提とした、汎用デバイスから構成される汎用装置で、検索テーブルへの高いメモリアクセス性能を有するパケット処理装置を提供する。
【解決手段】パケット処理においてCPU201からアクセスされるテーブルを記憶したHMC300と、CPU201からのHMC300300の前記テーブルへのメモリアクセスを制御するHMCコントローラ100とを備えたパケット処理装置であって、HMCは並列アクセス可能なS個のブロック(Vault)に区画されており、前記各ブロックは並列アクセス可能なN個のバンクに区画されており、前記テーブルは分割されてHMC300の前記バンクに分散して記憶されており、HMCコントローラ300は、前記アクセスリクエストに対してアクセス対象データが格納されているブロック及びバンクを特定して前記HMC300にアクセスする。
【選択図】図1
従来技術、競合技術の概要

近年のInternet of Things(IoT)やエッジコンピューティング、第5世代モバイルネットワーク(5G)の登場により、ネットワークを流れるトラヒック量や遅延低減化の要求、ネットワークに接続されるデバイス数、さらには通信の多様性は急速に増加している。通信事業者やサービスプロバイダのネットワークは、その規模や信頼性由来の要件から、従来は用途に特化した専用デバイスや独自のアーキテクチャからなる装置により構成されてきた。

しかし、近年の急激なトラヒック需要変動に対する柔軟かつ迅速な装置増減設やネットワーク機能の容易な追加実装を可能にするために、通信事業者ネットワークやサービスプロバイダネットワークのような大規模ネットワークにおいても、ネットワーク仮想化(Network Function Virtualization;NFV)やソフトウェア定義ネットワーク(Software Defined Networking;SDN)などの仮想化技術の活用が期待されている。

このような仮想化技術活用の機運到来の背景には、従来に比べてより汎用的なデバイスの性能向上がある。CPUやDynamic Random Access Memory(DRAM)といった、汎用的で安価なデバイスからなる汎用コンピュータの性能が向上したことにより、従来は専用装置を用いないと実現困難であった数十ギガビット毎秒級のパケット処理が汎用コンピュータ上のソフトウェアにより実現可能になってきている。したがって、今後、大規模ネットワークにおいても、汎用コンピュータを活用したネットワーク構築により、急激な需要変動や新サービスのための機能追加実装を柔軟・迅速・安価に実現することが可能になると期待される。

しかし、このような大規模ネットワークにおいては、以降で議論するように、パケット処理のためのテーブル検索等の処理で、現在の汎用コンピュータアーキテクチャではメモリアクセス性能が支配的な性能ボトルネックとなり、これが大規模ネットワークにおける仮想化技術導入の性能観点での障壁になる。

従来は検索に特化した専用デバイスであるTernary Content-Addressable Memory(TCAM。以降、本表記を使用)を活用することで、パケット処理テーブル検索処理の性能を担保できた。しかし、これは専用デバイスで高価・高消費電力・小容量という課題もあるため、仮想化技術を用いた柔軟かつ低コストな大規模ネットワーク実現に向けて汎用コンピュータに専用デバイスを組み込むというアプローチは望ましくない。

一方、このメモリアクセス性能高めるデバイスとしてHybrid Memory Cube(HMC。以降、本表記を使用)が2013年4月に仕様が開示され、既にスーパーコンピュータ等の領域で使用されている。HMCは、3次元形状を持つ半導体の層が4~8枚積層され、各層がシリコン貫通電極によって接続されている。その積層した縦の列を“Vault”と呼び、各Vaultは、独立したDRAMベースのメモリであり独立にアクセス可能で並列動作が可能である。また、Vault内には、各層ごとに数個のBankと呼ばれる領域がある。同一Vault内でこれらBankは、共有バスにより接続されているが、共有バス衝突が発生しない範囲内で並列に動作(Bank間interleaving。以降、本表記を使用)可能。このため、汎用メモリデバイスながらきわめて高い性能を実現できる可能性を有している。

前述のように、パケット処理におけるルーティングやフィルタリング等のためのテーブル検索処理は、特に高いメモリアクセス性能を要求するため、従来のネットワーク装置においては、TCAMのような専用の高速なメモリを使用されている。しかし、上記した仮想化技術を用いた柔軟かつ低コストな大規模ネットワーク実現に向けてTCAMのような専用デバイスを汎用コンピュータに組み込むというアプローチから望ましくないとともに、検索処理に限らず今後より多くのネットワーク機能が仮想化されていくうえでは、汎用コンピュータにおけるメモリアクセスの高性能化が必要である。

一方、新しいメモリのアーキテクチャを持つHMCについては、HMC内に検索テーブルを配置して、HMCのもつ広帯域を活用した高速な読み出しに関する検討も存在するが(非特許文献1参照)、TCAMのようなテーブル検索の専用メモリでないため、検索処理に要求されるメモリアクセス性能に達していないとともに、後述する本発明のようにHMCのもつ並列構造を積極的に活用する方式はまだ検討されていない。

NFVを考慮した汎用コンピュータを適用した従来の技術のパケット処理装置構成には、図20に示すような(1)のDDRx DRAM及び(2)のHMCを使用したアーキテクチャがある。

図20の(1)では、上記したようにDouble-Data-Rate 3(DDR3)DRAMや速度がこの2倍となるDouble-Data-Rate 4(DDR4)DRAMを採用している。最近は、更にDDR4の2倍程度高速なDouble-Data-Rate 5(DDR5)等が次世代メモリとして登場してきている。このような、Double-Data-Rate x DRAM(DDRx DRAM。以降、本表記を使用)は、パケット処理においてパケットバッファやアドレス検索テーブル等に使用される。CPUは、マルチコア化されたマルチスレッドでの処理技術が一般化しており、並列処理が可能となっている。また、マルチコアCPUは、各CPUコア内や各CPUコアで共通に使用する低容量で高速動作可能なキャッシュメモリを内蔵しており、キャッシュメモリに納まる範囲内の処理であれば高い処理性能を発揮する。しかしながら、これらキャッシュメモリは、容量が小さく容量不足によりメインメモリであるDDRx DRAMへのアクセスが頻発した場合、性能のボトルネックが生じる。これは、DDRx DRAMは、アクセス速度がキャッシュメモリと比較して遅いとともに、アクセスの並列度がないかもしくは並列度があっても低いため、複数のCPUコア側が同時に多くのアクセス要求を出す場合、DDRx DRAM側がアクセス中でビジー状態となり、CPUコア側で待ち合わせ状態となるためである。

図20の(2)では、メモリとしてHMCを使用し、これをパケットバッファや検索テーブルとして使用している例を示している。HMCアクセス速度は、DDRx DRAMより高速ではあるが、TCAMのようなテーブル検索の専用メモリでないため、検索処理に要求されるメモリアクセス性能に達してないとともに、後述する本発明のようにHMCのもつ並列構造を積極的に活用する方式はまだ検討されていないため、前述したように、パケット処理装置の仮想化及び将来的にさらなるパケット通信速度の高速化、トラヒックの爆発的な増加、低遅延化等によるメモリアクセス性能不足による性能劣化が主要な性能ボトルネックとなることが予想される。

産業上の利用分野

本発明は、通信ネットワークにおける大規模トラヒックフローを対象とするパケット処理装置及びそのメモリアクセス制御方法に関する。

特許請求の範囲 【請求項1】
パケット処理において演算装置からアクセスされるテーブルを記憶した記憶装置と、前記演算装置からの前記記憶装置の前記テーブルへのアクセスリクエストに基づき前記記憶装置へのメモリアクセスを制御する制御装置とを備えたパケット処理装置であって、
前記記憶装置の記憶領域は互いに並列アクセス可能なS個(Sは2以上の自然数)のブロックに区画されており、
前記各ブロックの記憶領域は互いに並列アクセス可能なN個(Nは2以上の自然数)のバンクに区画されており、
前記テーブルは分割されて前記記憶装置の前記バンクに分散して記憶されており、
前記制御装置は、前記アクセスリクエストに対してアクセス対象データが格納されているブロック及びバンクを特定して前記記憶装置にアクセスする
ことを特徴とするパケット処理装置。

【請求項2】
前記テーブルをN個の分割テーブルに等分割し、前記S個のブロックのそれぞれにおいて、前記N個の分割テーブルを前記N個のバンクに対応させて記憶した
ことを特徴とする請求項1記載のパケット処理装置。

【請求項3】
前記制御装置は、さらに、ブロック識別子及びバンク識別子の組により特定される記憶領域へのアクセス状態を管理するアクセス状態管理部と、同一データが分散記憶されたブロック識別子及びバンク識別子の組により特定される複数の記憶領域からアクセス状態がアクセス可能である記憶領域を選択し、選択した記憶領域へのアクセスを行うアクセス制御部とを備えた
ことを特徴とする請求項1又は2記載のパケット処理装置。

【請求項4】
前記制御装置は、さらに、前記演算装置からのアクセスリクエストの種別を識別するリクエスト識別部と、前記リクエスト識別部により識別された種別が前記テーブルの更新リクエストの場合に当該更新リクエストに基づき前記S個のブロックのそれぞれにおいてテーブルの更新処理を行うデータ更新制御部とを備えた
ことを特徴とする請求項1乃至3何れか1項記載のパケット処理装置。

【請求項5】
前記制御装置は、さらに、前記演算装置からのアクセスリクエストによる前記記憶装置の負荷を監視する負荷監視部と、前記負荷監視部により計測された負荷に基づき1つ以上のブロックにおいて第1のバンクに記憶されている分割テーブルを第2のバンクにコピーする分割変動制御部とを備えた
ことを特徴とする請求項1乃至4何れか1項記載のパケット処理装置。

【請求項6】
前記アクセスリクエストはパケットに付随するパケット付随情報を含み、
前記テーブルは前記パケット付随情報に基づき分割されている
ことを特徴とする請求項1乃至5何れか1項記載のパケット処理装置。

【請求項7】
前記記憶装置は、複数のデータ記憶素子層とメモリコントロール機能層とを互いに接続するように積層するとともに、各データ記憶素子層を平面上においてS個の区画に分割するとともに各データ記憶素子層の同一区画間を互いに接続することによりブロックを形成した
ことを特徴とする請求項1乃至6何れか1項記載のパケット処理装置。

【請求項8】
パケット処理において演算装置からアクセスされるテーブルを記憶した記憶装置と、前記演算装置からの前記記憶装置の前記テーブルへのアクセスリクエストに基づき前記記憶装置へのメモリアクセスを制御する制御装置とを備えたパケット処理装置におけるメモリアクセス制御方法であって、
前記記憶装置の記憶領域は互いに並列アクセス可能なS個(Sは2以上の自然数)のブロックに区画されており、
前記各ブロックの記憶領域は互いに並列アクセス可能なN個(Nは2以上の自然数)のバンクに区画されており、
前記テーブルは分割されて前記記憶装置の前記バンクに分散して記憶されており、
前記制御装置は、前記アクセスリクエストに対してアクセス対象データが格納されているブロック及びバンクを特定して前記記憶装置にアクセスする
ことを特徴とするパケット処理装置のメモリアクセス制御方法。
国際特許分類(IPC)
Fターム
画像

※ 画像をクリックすると拡大します。

JP2018096227thum.jpg
出願権利状態 公開
ライセンスをご希望の方、特許の内容に興味を持たれた方は、下記までご連絡ください。


PAGE TOP

close
close
close
close
close
close
close