TOP特許意匠商標
特許ウォッチ Twitter
公開番号2024180507
公報種別公開特許公報(A)
公開日2024-12-26
出願番号2024177790,2023506646
出願日2024-10-10,2021-03-18
発明の名称サーバおよびプログラム
出願人日本電信電話株式会社
代理人弁理士法人磯野国際特許商標事務所
主分類G06F 9/48 20060101AFI20241219BHJP(計算;計数)
要約【課題】消費電力の低減を図りつつ、APLを改変することなく、サーバ内の遅延を小さくしてパケット転送を行う。
【解決手段】OS70が、リングバッファ72と、ポールリスト186と、を有し、カーネル171内に、ポーリングモデルを用いてパケット到着を監視するthreadを立ち上げるサーバ内遅延制御装置100を備え、ポールリスト186を監視するパケット到着監視部110と、パケットが到着している場合は、リングバッファ72に保持したパケットを参照し、次に行う処理に基づいて該当するキューのエントリをリングバッファ72から削除する刈取りを実行するパケット刈取部120と、パケットが所定期間到着しない場合はスレッドをスリープさせ、かつ、パケット到着時はこのスレッドのハードウェア割込によりスリープ解除を行うsleep管理部130と、を備える。
【選択図】図1
特許請求の範囲【請求項1】
サーバ内遅延制御装置であって、
OSが、
カーネルと、
前記OSを備えるサーバ中のメモリ空間で、前記カーネルが管理するリングバッファと、
インターフェイス部からのハードウェア割込がどのデバイスのものであるかを示すネットデバイスの情報を登録するポールリストと、を有し、
前記カーネル内に、ポーリングモデルを用いてパケット到着を監視するスレッドを立ち上げる前記サーバ内遅延制御装置を備えており、
前記サーバ内遅延制御装置は、
前記ポールリストを監視するパケット到着監視部と、
パケットが到着している場合は、前記リングバッファに保持したパケットを参照し、次に行う処理に基づいて該当するキューのエントリを前記リングバッファから削除する刈取りを実行するパケット刈取部と、
パケットが所定期間到着しない場合は前記スレッドをスリープさせ、かつ、パケット到着時はハードウェア割込により当該スレッドのスリープ解除を行うスリープ管理部と、を備える
ことを特徴とするサーバ内遅延制御装置。
続きを表示(約 2,400 文字)【請求項2】
サーバ内遅延制御装置であって、
仮想マシン内で動作するGuest OSが、
カーネルと、
前記Guest OSを備えるサーバ中のメモリ空間で、前記カーネルが管理するリングバッファと、
インターフェイス部からのハードウェア割込がどのデバイスのものであるかを示すネットデバイスの情報を登録するポールリストと、
刈取りが実行されたパケットのプロトコル処理を行うプロトコル処理部と、を有し、
前記カーネル内に、ポーリングモデルを用いてパケット到着を監視するスレッドを立ち上げる前記サーバ内遅延制御装置を備えており、
前記サーバ内遅延制御装置は、
前記ポールリストを監視するパケット到着監視部と、
パケットが到着している場合は、前記リングバッファに保持したパケットを参照し、次に行う処理に基づいて該当するキューのエントリを前記リングバッファから削除する前記刈取りを実行するパケット刈取部と、
パケットが所定期間到着しない場合は前記スレッドをスリープさせ、かつ、パケット到着時はハードウェア割込により当該スレッドのスリープ解除を行うスリープ管理部と、を備える
ことを特徴とするサーバ内遅延制御装置。
【請求項3】
サーバ内遅延制御装置であって、
仮想マシンおよび前記仮想マシン外に形成された外部プロセスが動作可能なHost OSが、
カーネルと、
前記Host OSを備えるサーバ中のメモリ空間で、前記カーネルが管理するリングバッファと、
インターフェイス部からのハードウェア割込がどのデバイスのものであるかを示すネットデバイスの情報を登録するポールリストと、
前記カーネルにより作成される仮想インターフェイスであるtapデバイスと、を備え、
前記カーネル内に、ポーリングモデルを用いてパケット到着を監視するスレッドを立ち上げる前記サーバ内遅延制御装置を備えており、
前記サーバ内遅延制御装置は、
前記ポールリストを監視するパケット到着監視部と、
パケットが到着している場合は、前記リングバッファに保持したパケットを参照し、次に行う処理に基づいて該当するキューのエントリを前記リングバッファから削除する刈取りを実行するパケット刈取部と、
パケットが所定期間到着しない場合は前記スレッドをスリープさせ、かつ、パケット到着時はハードウェア割込により当該スレッドのスリープ解除を行うスリープ管理部と、を備える
ことを特徴とするサーバ内遅延制御装置。
【請求項4】
前記スリープ中に、前記スレッドが使用するCPUコアのCPU動作周波数を低く設定するCPU周波数設定部を備える
ことを特徴とする請求項1乃至3のいずれか一項に記載のサーバ内遅延制御装置。
【請求項5】
前記スリープ中に、前記スレッドが使用するCPUコアのCPUアイドル状態を省電力モードに設定するCPUアイドル設定部を備える
ことを特徴とする請求項1乃至3のいずれか一項に記載のサーバ内遅延制御装置。
【請求項6】
前記カーネルは、当該カーネルを起動させたまま、処理動作を変更可能なパッチを有する
ことを特徴とする請求項1乃至3のいずれか一項に記載のサーバ内遅延制御装置。
【請求項7】
サーバ内遅延制御装置のサーバ内遅延制御方法であって、
OSが、
カーネルと、
前記OSを備えるサーバ中のメモリ空間で、前記カーネルが管理するリングバッファと、
インターフェイス部からのハードウェア割込がどのデバイスのものであるかを示すネットデバイスの情報を登録するポールリストと、を有し、
前記カーネル内に、ポーリングモデルを用いてパケット到着を監視するスレッドを立ち上げるサーバ内遅延制御装置を備えており、
前記サーバ内遅延制御装置は、
前記ポールリストを監視するステップと、
パケットが到着している場合は、前記リングバッファに保持したパケットを参照し、次に行う処理に基づいて該当するキューのエントリを前記リングバッファから削除する刈取りを実行するステップと、
パケットが所定期間到着しない場合は前記スレッドをスリープさせ、かつ、パケット到着時はハードウェア割込により当該スレッドのスリープ解除を行うステップと、を実行する
ことを特徴とするサーバ内遅延制御方法。
【請求項8】
OSが、
カーネルと、
前記OSを備えるサーバ中のメモリ空間で、前記カーネルが管理するリングバッファと、
インターフェイス部からのハードウェア割込がどのデバイスのものであるかを示すネットデバイスの情報を登録するポールリストと、を有し、
前記カーネル内に、ポーリングモデルを用いてパケット到着を監視するスレッドを立ち上げるサーバ内遅延制御装置を備えており、前記サーバ内遅延制御装置としてのコンピュータに、
前記ポールリストを監視するパケット到着監視手順、
パケットが到着している場合は、前記リングバッファに保持したパケットを参照し、次に行う処理に基づいて該当するキューのエントリを前記リングバッファから削除する刈取りを実行するパケット刈取手順、
パケットが所定期間到着しない場合は前記スレッドをスリープさせ、かつ、パケット到着時はハードウェア割込により当該スレッドのスリープ解除を行うスリープ管理手順、
を実行させるためのプログラム。

発明の詳細な説明【技術分野】
【0001】
本発明は、サーバ内遅延制御装置、サーバ内遅延制御方法およびプログラムに関する。
続きを表示(約 2,400 文字)【背景技術】
【0002】
NFV(Network Functions Virtualization:ネットワーク機能仮想化)による仮想化技術の進展などを背景に、サービス毎にシステムを構築して運用することが行われている。また、上記サービス毎にシステムを構築する形態から、サービス機能を再利用可能なモジュール単位に分割し、独立した仮想マシン(VM:Virtual Machineやコンテナなど)環境の上で動作させることで、部品のようにして必要に応じて利用し運用性を高めるといったSFC(Service Function Chaining)と呼ばれる形態が主流となりつつある。
【0003】
仮想マシンを構成する技術としてLinux(登録商標)とKVM(kernel-based virtual machine)で構成されたハイパーバイザー環境が知られている。この環境では、KVMモジュールが組み込まれたHost OS(物理サーバ上にインストールされたOSをHost OSと呼ぶ)がハイパーバイザーとしてカーネル空間と呼ばれるユーザ空間とは異なるメモリ領域で動作する。この環境においてユーザ空間にて仮想マシンが動作し、その仮想マシン内にGuest OS(仮想マシン上にインストールされたOSをGuest OSと呼ぶ)が動作する。
【0004】
Guest OSが動作する仮想マシンは、Host OSが動作する物理サーバとは異なり、(イーサーネットカードデバイスなどに代表される)ネットワークデバイスを含むすべてのHW(hardware)が、HWからGuest OSへの割込処理やGuest OSからハードウェアへの書き込みに必要なレジスタ制御となる。このようなレジスタ制御では、本来物理ハードウェアが実行すべき通知や処理がソフトウェアで擬似的に模倣されるため、性能がHost OS環境に比べ、低いことが一般的である。
【0005】
この性能劣化において、特にGuest OSから自仮想マシン外に存在するHost OSや外部プロセスに対して、HWの模倣を削減し、高速かつ統一的なインターフェイスにより通信の性能と汎用性を向上させる技術がある。この技術として、virtioというデバイスの抽象化技術、つまり準仮想化技術が開発されており、すでにLinux(登録商標)を始め、FreeBSD(登録商標)など多くの汎用OSに組み込まれ、現在利用されている。
【0006】
virtioでは、コンソール、ファイル入出力、ネットワーク通信といったデータ入出力に関して、転送データの単一方向の転送用トランスポートとして、リングバッファで設計されたキューによるデータ交換をキューのオペレーションにより定義している。そして、virtioのキューの仕様を利用して、それぞれのデバイスに適したキューの個数と大きさをGuest OS起動時に用意することにより、Guest OSと自仮想マシン外部との通信を、ハードウェアエミュレーションを実行せずにキューによるオペレーションだけで実現することができる。
【0007】
[割込モデルによるパケット転送(汎用VM構成の例)]
図9は、汎用Linux kernel(登録商標)およびVM構成のサーバ仮想化環境における、割込モデルによるパケット転送を説明する図である。
HW10は、NIC(Network Interface Card)11(物理NIC)(インターフェイス部)を有し、Host OS20、仮想マシンを構築するハイパーバイザーであるKVM30、仮想マシン(VM1,VM2)40、およびGuest OS50により構築された仮想通信路を経由してuser space(ユーザスペース)60上のパケット処理APL(Application)1との間でデータ送受信の通信を行う。以下の説明において、図9の太矢印に示すように、パケット処理APL1が、HW10からのパケットを受け取るデータの流れをRx側受信と称し、パケット処理APL1が、HW10にパケットを送信するデータの流れをTx側送信と称する。
【0008】
Host OS20は、kernel21、Ring Buffer22、およびDriver23を有し、kernel21は、kernel threadであるvhost-netモジュール221と、tapデバイス222と、仮想スイッチ(br)223と、を有する。
【0009】
tapデバイス222は、仮想ネットワークのカーネルデバイスであり、ソフトウェアでサポートされている。仮想マシン(VM1)40は、仮想ブリッジ(bridge)に作成される仮想スイッチ(br)223を介してGuest OS50とHost OS20が通信できる。tapデバイス222は、この仮想ブリッジに作成されるGuest OS50の仮想NIC(vNIC)と繋がるデバイスである。
【0010】
Host OS20は、Guest OS50の仮想マシン内で構築された構成情報(共有バッファキューの大きさ、キューの数、識別子、リングバッファへアクセスするための先頭アドレス情報など)をvhost-netモジュール221にコピーし、仮想マシン側の端点の情報をHost OS20内部に構築する。このvhost-netモジュール221は、virtioネットワーキング用のカーネルレベルのバックエンドであり、virtioパケット処理タスクをユーザ領域(ユーザ空間)からkernel21のvhost-netモジュール221に移すことで仮想化のオーバーヘッドを低減できる。
(【0011】以降は省略されています)

この特許をJ-PlatPatで参照する
Flag Counter

関連特許

日本電信電話株式会社
情報処理装置、学習方法、及びプログラム
4日前
日本電信電話株式会社
最適化装置、最適化方法、及びプログラム
3日前
日本電信電話株式会社
操作生成装置、操作生成方法、及びプログラム
4日前
日本電信電話株式会社
プログラム生成装置、プログラム生成方法及びプログラム
3日前
日本電信電話株式会社
基地局及び端末
5日前
日本電信電話株式会社
撮像素子及び撮像装置
3日前
日本電信電話株式会社
サーバおよびプログラム
3日前
日本電信電話株式会社
無線通信システム、無線通信方法、無線通信装置及び無線通信プログラム
3日前
日本電信電話株式会社
レピュテーション提供装置、レピュテーション提供方法、及びプログラム
4日前
日本電信電話株式会社
モデル学習装置、行動認識装置、モデル学習方法、およびモデル学習プログラム
5日前
日本電信電話株式会社
ネットワーク障害箇所特定装置、ネットワーク障害箇所特定方法、及びプログラム
4日前
日本電信電話株式会社
開花制御遺伝子を欠損した植物の開花を促進させる方法、種子形成時期を早期化させる方法、および植物体
3日前
個人
物品
24日前
個人
認証システム
1か月前
個人
自動精算システム
17日前
個人
保証金管理システム
1か月前
個人
管理サーバ
3日前
個人
救急搬送システム
24日前
個人
鑑定証明システム
1か月前
キヤノン株式会社
印刷装置
17日前
個人
生成AIとの常時接続システム
24日前
株式会社MRC
集客システム
1か月前
個人
VRによる人体各部位の立体化
3日前
個人
技術マッチングシステム
1か月前
株式会社SEKT
文字認識装置
13日前
トヨタ自動車株式会社
推定装置
10日前
個人
未来型家系図構築システム
12日前
トヨタ自動車株式会社
分析装置
1か月前
株式会社COLORS
表示装置
18日前
キヤノン株式会社
印刷管理装置
1か月前
個人
コンテンツ開示順位判定システム
19日前
株式会社ネットブリッジ
展示販売装置
1か月前
キヤノン株式会社
情報処理装置
5日前
個人
文字入力方法、文字入力プログラム
1か月前
ミサワホーム株式会社
プログラム
1か月前
ローム株式会社
ソース機器
24日前
続きを見る