カーボンニュートラルな社会の実現に向けたデータプレーン制御を支える技術

Vol.75 No.1 2023年6月 オープンネットワーク技術特集 ~オープンかつグリーンな社会を支えるネットワーク技術と先進ソリューション~

5Gモバイルネットワークにおけるデータプレーントラフィックは、今後も急激な増加が続くと考えられています。モバイル通信事業者は、これらに対応するために設備を増強する必要があり、場所・電力に対する課題に直面しています。NECは、さまざまな技術をモバイルネットワークへ適用することにより、これらの課題解決に貢献しています。地球環境を保全し、次世代へ継承してくために、NECは継続的にカーボンニュートラル技術の研究開発を推進し、社会実装へ貢献しています。本稿では、これらの主要技術を紹介します。

1. はじめに

5Gモバイルネットワークにおける、データプレーントラフィックはユースケースの多様化、コンテンツのリッチ化により、今後も急激な増加が続くと考えられており、モバイル通信事業者には、大容量のデータトラフィックに対応したモバイルネットワークの実現が求められています。

一方、世界ではカーボンニュートラルな社会の実現に向けた活動が活発になっており、モバイル通信事業者も環境目標を定め、事業活動を行っています。

このような社会背景において、モバイル通信事業者は増え続けるトラフィックへの対応と、設備削減や電力削減といったカーボンニュートラルの実現の両立が求められています。

本稿では、これらの要件を実現するための技術について説明します。

2. データプレーン装置のソフトウェア提要

従来のモバイルネットワークにおけるデータプレーン装置は、ソフトウェアとハードウェアが一体となった専用装置として実装されるのが一般的でした。しかし、近年の仮想化技術の発展やソフトウェアのオープン化に伴い、データプレーン装置もソフトウェアでの実装が可能になってきており、結果として、汎用ハードウェアを用いた安価で高性能なデータプレーン装置を作り上げることが可能になってきています。一方、汎用装置においては、汎用OSや汎用通信ドライバを利用するのが一般的ですが、これらは調達性やコストパフォーマンス、各種アプリケーションとの相互接続性に優れている一方、汎用OSの動作やハードウェアリソースの利用効率の低下/電力効率を実現するため、難易度の高いチューニングが必要というような課題を有しており、これらの解決が急務となっています。

このような技術進化や時代背景の流れのなかで、データプレーン装置の要件は、専用ハードウェアから汎用ハードウェア、クラウドネイティブから大容量、更にカーボンニュートラルへと変化を遂げてきています。

2.1 高性能データプレーンソフトウェアの実現

NECのデータプレーンソフトウェアでは、各ハードウェア技術の特性を把握しつつ、ハードウェアリソースの利用効率を最大限に活用することにより、サーバごとのチューニングを必要とせずに、高性能を実現しています。これにより、汎用サーバの選択の多様性による低コスト化と高スループットの両立を実現しています。具体的には、汎用OSを活用しオープン化を実現したうえで、CPUのアーキテクチャ、DPDK(Data Plane Development Kit)などのネットワークデバイス、汎用OSが提供する機能に関して、それぞれの特性を把握し、処理効率の最大化を目指したデータプレーンパケット処理方式を確立しています(図1)。前述の施策について、次に具体的な技術を述べます。

図1 高性能データプレーンソフトウェアの実現

2.1.1 アーキテクチャの変革

  • (1)
    処理のシンプル化・効率化
    • メモリアクセスの高速化
      CPUにはCPUコアごとにキャッシュメモリ*1が存在し、アクセスしたデータを一時的に保管できますが、アプリケーションはキャッシュのヒット率(参照するデータがキャッシュ上にある確率)を高めることで、物理メモリへのアクセス頻度を減らし処理を高速にすることができます。キャッシュメモリのサイズはとても小さいため、アプリケーションが参照するデータは、キャッシュサイズを意識してデータ設計しています。データへアクセスする前にキャッシュ上に読み出す(プリフェッチ)ことを意識して実装し効率化を図っています。
      また、CPUにはCPUコアごとにTLB(Translation Look aside Buffer)と呼ばれる仮想アドレスと物理アドレスのマッピングを記憶するキャッシュがあります。キャッシュできる範囲を超えてアクセスするとTLBミスが発生し、メモリアクセス性能が低下してしまいます。TLBミスを起こさないようにするため、CPUコア上で動作するアプリケーションが参照するメモリ領域はキャッシュサイズに収まるようデータ設計を行っています。
    • 命令実行の高速化
      CPUには、データキャッシュと同様に命令をキャッシュする機構があり、同じ処理を複数回実施することで1回目は物理メモリへのアクセスが発生しますが、2回目以降はキャッシュ上にある命令をロードして処理できるため、CPU負荷を軽減することができます。命令キャッシュの利用効率を高めるため、複数パケットをまとめて処理するように実装しています(バルク化)。
  • (2)
    CPU利用効率の改善
    • CPUリソースの利用効率最大化
      汎用ハードウェアに搭載されているCPUは、多コアの構成となっています。CPUコア数に影響を受けずに、CPUリソースの利用効率を最大にするため、前述のソフトウェア処理のシンプル化と合わせて、CPUコアごとに処理の独立性を高めています。また、CPUコア間で排他制御が不要になるように設計しています。具体的には、CPUコアごとに独立したメモリ領域を割り当て、ユーザーごとに特定のCPUコアに括り付けて処理できるように実装しています。パケット処理に割り当てるCPUコア数を変動可能とし、CPUコア数の増減によらずCPUコア当たりの性能を最大にしています。
  • *1
    CPUがデータや命令などの情報を取得/更新する際に使用する高速小容量メモリのこと。

2.2 省電力化の実現

一般的にアプリケーションを高性能にするためには、高度なアプリケーション処理が追加されるため、CPU処理が増大し、消費電力が増加する傾向にあります。

NECは高性能と省電力を両立するため、次のような技術研究を推進しています(図2)。

図2 省電力化の実現

2.2.1 NICへの処理オフロード

アプリケーションが有する機能の一部をNIC(Network Interface Card)が備える機能に置き換え(オフロード)、ソフトウェア処理を最適化することで、CPU処理を削減し、省電力を実現しています。また、ソフトウェア処理上の条件分岐を最小限にすることで、処理全体をシンプルにし、更なる高い処理効率を実現しています。

2.2.2 電力制御技術

DPDKによるパケット処理を行う場合、高性能を実現するため、NICに対するポーリング監視が常時実行され、CPUコアの使用率が常に100%状態となる課題があります。通常モバイル通信事業者は、一日のうちの数時間のピーク時間帯に合わせて設備設計を行うため、大半の時間帯は稼働率が低い運用となっており、無駄な電力消費が発生しています。この課題を解決すべく、トラフィック量に応じたサーバ電力制御の最適化に関する検証に取り組んでいます。

サーバ電力制御最適化は、トラフィック量に応じて、サーバのCPUの状態を動的に制御・最適化して、閑散時間帯の消費電力量の大幅な削減を実現しています。この基礎技術により、約30%の電力削減効果を確認できています。

3. おわりに

Beyond 5G/6G時代に向けて、CPUやNICなどの汎用ハードウェア技術も進化し、それぞれのベンダーの優位点を融合した、ヘテロジニアスコンピューティング*2が実現する世界が訪れると考えています。

NECは、このような時代においても、汎用ハードウェアの特性を生かした先端技術をいち早くとり込み、モバイルネットワークの進化、社会課題の解決に貢献していきます。

  • *2
    異なる種類のプロセッサを組み合わせて構築したコンピュータシステムのこと。

4. 謝辞

これらの成果は、国立研究開発法人新エネルギー・産業技術総合開発機構(NEDO)の 「ポスト5G情報通信システム基盤強化研究開発事業」(JPNP20017)の委託事業の結果、得られたものです。

執筆者プロフィール

黒澤 祐介
テレコムキャリアソフトウェア開発統括部
ディレクター
石倉 諭
テレコムキャリアソフトウェア開発統括部
主任
中澤 達也
テレコムキャリアソフトウェア開発統括部
主任
馬場 翔平
BSS/OSS統括部
主任
大森 一輝
テレコムキャリアソフトウェア開発統括部
プロフェッショナル
宮垣 貴之
テレコムキャリアソフトウェア開発統括部
プロフェッショナル

関連URL