JP2017199369A - 動的仮想システム・オン・チップのための方法および装置 - Google Patents

動的仮想システム・オン・チップのための方法および装置 Download PDF

Info

Publication number
JP2017199369A
JP2017199369A JP2017083643A JP2017083643A JP2017199369A JP 2017199369 A JP2017199369 A JP 2017199369A JP 2017083643 A JP2017083643 A JP 2017083643A JP 2017083643 A JP2017083643 A JP 2017083643A JP 2017199369 A JP2017199369 A JP 2017199369A
Authority
JP
Japan
Prior art keywords
resource
virtual system
processor device
chips
resources
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2017083643A
Other languages
English (en)
Other versions
JP2017199369A5 (ja
Inventor
ゴイアル・ラジャン
Goyal Rajan
フサイン・ムハンマド・ラジブ
Raghib Hussain Muhammad
ケスラー・リチャード・イー
Richard E Kessler
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cavium LLC
Original Assignee
Cavium LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Cavium LLC filed Critical Cavium LLC
Publication of JP2017199369A publication Critical patent/JP2017199369A/ja
Publication of JP2017199369A5 publication Critical patent/JP2017199369A5/ja
Priority to JP2022094870A priority Critical patent/JP7334396B2/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)
  • Debugging And Monitoring (AREA)
  • Multi Processors (AREA)

Abstract

【課題】仮想マシンが物理マシンの基本リソースを共有できるプロセッサ装置を提供する。【解決手段】複数の仮想システム・オン・チップ204a〜204nであって、複数の仮想システム・オン・チップ204a〜204nと複数のリソース206a〜206nとの間のリソースアライメント208に従って複数のリソース206a〜206nのうちのリソースを利用するように構成された、複数の仮想システム・オン・チップ204a〜204nと、少なくとも1つの事象に応答してリソースアライメント208を動的に修正するように構成されたリソースアライン部201とを備える。【選択図】図2

Description

仮想マシンとは、物理マシンをソフトウエアで実現したものであって、物理マシンと同様に動作するものである。複数の仮想マシンが1つの物理マシン上に実現される場合があり、これにより、物理マシンの基本リソースを共有できる。
例示的な一実施形態によれば、プロセッサ装置が、複数の仮想システム・オン・チップであって、前記複数の仮想システム・オン・チップと複数のリソースとの間のリソースアライメントに従って前記複数のリソースのうちのリソースを利用するように構成された、複数の仮想システム・オン・チップを備えてもよい。前記プロセッサ装置は、少なくとも1つの事象に応答して前記リソースアライメントを動的に修正するように構成されたリソースアライン部をさらに備えてもよい。
前記リソースアライン部は、さらに、前記少なくとも1つの事象に応答して前記プロセッサ装置のスループットを達成するために、前記リソースアライメントを動的に修正するように構成されてもよい。
前記プロセッサ装置は、さらに、前記リソースアライン部に動作可能に結合された設定部であって、前記リソースアライメントに対する少なくとも1つの修正に応答して、修正済の前記リソースアライメントを動的に適用するように構成された設定部を備えてもよい。
前記設定部は、さらに、前記リソースアライン部が前記リソースアライメントを修正したことを検出するように構成されてもよい。
前記設定部は、さらに、前記リソースアライン部が前記リソースアライメントを修正したことを示す通信を前記リソースアライン部から受信するように構成されてもよい。
修正済の前記リソースアライメントを動的に適用するために、前記設定部は、修正済の前記リソースアライメントに従って前記複数の仮想システム・オン・チップに前記リソースを利用させるように、前記プロセッサ装置のコンフィグレーションを更新するようにさらに構成されてもよい。
前記少なくとも1つの修正は、前記複数の仮想システム・オン・チップのうちの所与の仮想システム・オン・チップと前記複数のリソースのうちの所与のリソースとの間のアライメントに対する修正を含んでもよい。前記設定部は、前記所与の仮想システム・オン・チップが前記所与のリソースの使用を放棄することに基づいて、または、当該使用に適用された予め決められた時間値の期限切れに基づいて、前記少なくとも1つの修正を適用するようにさらに構成されてもよい。
前記プロセッサ装置は前記リソースアライン部に動作可能に結合された監視部をさらに備えもよい。前記監視部は、前記少なくとも1つの事象の少なくとも1つのインスタンスを監視するように構成され、かつ、前記リソースアライメントを動的に修正するように前記リソースアライン部をトリガするために、前記少なくとも1つの事象の前記少なくとも1つのインスタンスを前記リソースアライン部に伝達するように構成されてもよい。
前記少なくとも1つの事象の前記少なくとも1つのインスタンスを監視するために、前記少なくとも1つの監視部は、前記複数のリソースのうちの少なくとも1つのリソースの状態、または前記複数の仮想システム・オン・チップのうちの少なくとも1つの仮想システム状態を監視するようにさらに構成されてもよい。
前記少なくとも1つのリソースの前記状態は、故障状態、利用状態、または故障状態と利用状態の組合せを含んでもよい。
前記少なくとも1つの仮想システム状態は、故障状態、利用状態、または故障状態と利用状態の組合せを含んでもよい。
前記リソースアライメントは、前記複数のリソースと前記複数の仮想システム・オン・チップとの間に複数のマッピングを含んでもよい。前記リソースアライメントを動的に修正するために、前記リソースアライン部は、前記少なくとも1つの事象に応答して前記複数のマッピングのうちの少なくとも1つのマッピングを動的に修正するようにさらに構成されてもよい。
前記少なくとも1つのマッピングは、前記複数のリソースのうちの所与のリソースを前記複数の仮想システム・オン・チップのうちの所与の仮想システム・オン・チップにアラインしてもよい。前記少なくとも1つのマッピングを動的に修正することは、前記所与の仮想システム・オン・チップが前記所与のリソースを採用できないように、かつ、少なくとも1つの他の仮想システム・オン・チップが前記所与のリソースを採用できるようにするために、前記複数の仮想システム・オン・チップのうちの前記少なくとも1つの他の仮想システム・オン・チップに前記所与のリソースをアラインすることを含んでもよい。
前記リソースアライメントを動的に修正するために、前記リソースアライン部は、少なくとも1つのマッピングを前記リソースアライメントに追加するようにさらに構成されてもよく、前記少なくとも1つのマッピングは、前記複数の仮想システム・オン・チップのうちの1つの仮想システム・オン・チップに、前記複数のリソースのうちの1つのリソースをアラインする。
前記リソースアライメントは、前記複数のリソースと前記複数の仮想システム・オン・チップとの間に複数のマッピングを含んでもよく、前記リソースアライメントを動的に修正するために、前記複数のマッピングから少なくとも1つのマッピングを削除することを含んでもよい。
前記リソースアライメントは、前記複数の仮想システム・オン・チップのうちの2つ以上の仮想システム・オン・チップが前記複数のリソースのうちの所与のリソースを共有できるようにしてもよい。
前記複数の仮想システム・オン・チップのうちの前記2つ以上の仮想システム・オン・チップそれぞれは、前記所与のリソースに関して前記仮想システム・オン・チップそれぞれに割り当てられた各使用率に基づいて前記所与のリソースを使用するように構成されてもよい。
前記リソースアライメントは、前記複数の仮想システム・オン・チップのうちの所与の仮想システム・オン・チップが所与のリソースを独占的に使用できるようにしてもよい。
前記少なくとも1つの事象は、前記プロセッサ装置の外部で生じる外部事象を含んでもよい。
前記少なくとも1つの事象は、時刻に基づく事前スケジュールされた事象を含んでもよい。
前記少なくとも1つの事象は、前記複数のリソースのうちの所定のリソースの誤動作を示す故障事象を含んでもよい。
前記少なくとも1つの事象は、前記複数のリソースのうちの少なくとも1つのリソースがオーバサブスクリプション(oversubscription)であることを示すか、または、前記複数の仮想システム・オン・チップのうちの少なくとも1つの仮想システム・オン・チップがオーバサブスクリプションであることを示す、オーバサブスクリプション事象を含んでもよい。
前記少なくとも1つの事象は、前記複数の仮想システム・オン・チップのうちの所与の仮想システム・オン・チップにアラインされた、前記複数のリソースのうちの所与のリソースが、前記所与の仮想システム・オン・チップによる使用率であって、閾値未満の使用率を有することを示すアイドル事象を含んでもよい。
前記リソースアライメントはスループットの損失を防止するように動的に修正されてもよく、前記スループットの損失は、防止されなければ前記少なくとも1つの事象によってもたらされる。
さらなる例示的な実施形態によれば、方法が、プロセッサ装置の複数の仮想システム・オン・チップを設定する工程であって、前記複数の仮想システム・オン・チップと複数のリソースとの間のリソースアライメントに従って前記複数のリソースのうちのリソースを利用するように設定する工程を備えてもよい。前記方法は、少なくとも1つの事象に応答して前記リソースアライメントを動的に修正する工程をさらに備えてもよい。
前記少なくとも1つの事象に応答して前記リソースアライメントを動的に修正する工程は、前記少なくとも1つの事象に応答して前記プロセッサ装置のスループットを達成してもよい。
前記方法は、前記リソースアライメントに対する少なくとも1つの修正に応答して、修正済の前記リソースアライメントを動的に適用する工程をさらに備えてもよい。
前記方法は、前記リソースアライメントに対する前記少なくとも1つの修正を検出する工程をさらに備えてもよい。
前記方法は、前記リソースアライメントに対する前記少なくとも1つの修正の通信を受信する工程をさらに備えてもよい。
前記方法は、修正済の前記リソースアライメントに従って前記複数の仮想システム・オン・チップに前記リソースを利用させるように、前記プロセッサ装置のコンフィグレーションを更新する工程をさらに備えてもよい。
前記少なくとも1つの修正は、前記複数の仮想システム・オン・チップのうちの所与の仮想システム・オン・チップと前記複数のリソースのうちの所与のリソースとの間のアライメントに対する修正を含んでもよい。前記少なくとも1つの修正を適用することは、前記所与の仮想システム・オン・チップが前記所与のリソースの使用を放棄することに基づくか、または、当該使用に適用された予め決められた時間値の期限切れに基づいてもよい。
前記方法は、前記少なくとも1つの事象の少なくとも1つのインスタンスを監視する工程と、前記リソースアライメントの動的修正をトリガするために、前記少なくとも1つの事象の前記少なくとも1つのインスタンスを伝達する工程とをさらに備えてもよい。
前記監視する工程は、前記複数のリソースのうちの少なくとも1つのリソースの状態、または、前記複数の仮想システム・オン・チップのうちの少なくとも1つの仮想システム状態を監視する工程を含んでもよい。
前記リソースアライメントは、前記複数のリソースと前記複数の仮想システム・オン・チップとの間に複数のマッピングを含んでもよく、前記リソースアライメントを動的に修正する工程は、前記少なくとも1つの事象に応答して前記複数のマッピングのうちの少なくとも1つのマッピングを動的に修正する工程を含んでもよい。
前記少なくとも1つのマッピングは、前記複数のリソースのうちの所与のリソースを前記複数の仮想システム・オン・チップのうちの所与の仮想システム・オン・チップにアラインしてもよい。前記少なくとも1つのマッピングを動的に修正する前記工程は、前記所定の仮想システム・オン・チップが前記所与のリソースを採用できないように、かつ、少なくとも1つの他の仮想システム・オン・チップが前記所与のリソースを採用できるようにするために、前記複数の仮想システム・オン・チップのうちの前記少なくとも1つの他の仮想システム・オン・チップに前記所与のリソースをアラインする工程を含んでもよい。
前記リソースアライメントを動的に修正する工程は、少なくとも1つのマッピングを前記リソースアライメントに追加する工程を含んでもよく、前記少なくとも1つのマッピングは、前記複数の仮想システム・オン・チップのうちの1つの仮想システム・オン・チップに、前記複数のリソースのうちの1つのリソースをアラインしてもよい。
前記リソースアライメントは、前記複数のリソースと前記複数の仮想システム・オン・チップとの間に複数のマッピングを含んでもよく、前記リソースアライメントを動的に修正する前記工程は、前記複数のマッピングから少なくとも1つのマッピングを削除する工程を含んでもよい。
前記方法は、前記複数の仮想システム・オン・チップのうちの2つ以上の仮想システム・オン・チップが、前記リソースアライメントに基づいて、前記複数のリソースのうちの所与のリソースを共有できるようにする工程をさらに備えてもよい。
前記2つ以上の仮想システム・オン・チップが前記所与のリソースを共有できるようにする前記工程は、前記所与のリソースに関して前記仮想システム・オン・チップそれぞれに割り当てられた各使用率に基づいて前記所与のリソースを使用するように前記2つ以上の仮想システム・オン・チップを構成する工程を含んでもよい。
前記方法は、前記複数の仮想システム・オン・チップのうちの所与の仮想システム・オン・チップが、前記リソースアライメントに基づいて、所与のリソースを独占的に使用できるようにする工程をさらに備えてもよい。
前記リソースアライメントを動的に修正する前記工程はスループットの損失を防止してもよく、前記スループットの損失は、防止されなければ前記少なくとも1つの事象によってもたらされる。
さらに別の例示的な実施形態は、プロセッサによってロードされ実行されると、本明細書に開示する方法を前記プロセッサに実行し終えるようにさせる、一連の命令を記憶した非一時的コンピュータ可読媒体を含んでもよい。
なお、開示の実施形態は、方法、装置、システム、またはプログラムコードを具現化したコンピュータ可読媒体の形式で実現され得る。
前述の内容は、以下の本発明の例示的な実施形態のさらに具体的な説明から明らかになるであろう。添付の図面において、異なる図を通して同一の参照符号は同一の部分を指すものとする。図面は必ずしも縮尺通りではなく、むしろ、本発明の実施形態の説明に重点が置かれている。
プロセッサ装置の例示的な実施形態のブロック図である。 プロセッサ装置の別の例示的な実施形態のブロック図である。 リソースアライメントの例示的な実施形態のブロック図である。 リソースアライメントの別の例示的な実施形態のブロック図である。 方法の例示的な実施形態のフロー図である。 随意で開示の実施形態において用いられるコンピュータの例示的な内部構造のブロック図である。
仮想システム・オン・チップ(VSoC)とは、物理マシンの基本リソースを異なる仮想システム間で共有できるようにするマシンを実現したものである。VSoC実装下では、2つ以上のオペレーティングシステムアプリケーションが、互いに完全に独立しかつ保護された状態で、同一の物理マシン上に共存できる。異なる仮想システム間における物理マシンのリソースの割当ては、ハードウエアおよびソフトウエアの構成の組合せを利用して行われてもよい。
2つ以上の仮想システム・オン・チップにリソースを割当てることにより、開示の実施形態は、当該2つ以上の仮想システム・オン・チップの間でリソースを保護しつつ共有可能にしながら、1つのチップに埋め込まれた、2つ以上のアプリケーションおよびオペレーティングシステムの実行に対処してもよい。
プロセッサ装置は、多種多様なネットワーク・ストレージ機器において使用され得る。これらの機器には、ルータ、スイッチ、セキュリティ・アプライアンス、コンテンツアウェアのスイッチ、トリプルプレイゲートウェイ、アグリゲーション装置およびゲートウェイ、ストレージアレイ、ストレージネットワーク機器、ならびに、サーバなどの、仮想化を活用する可能性のある任意の好適な装置もしくはシステムが含まれる。開示の実施形態によれば、プロセッサ装置のVSoCは、いずれのリソースがプロセッサ装置のいずれのVSoCによる使用に割り当てられるかを定義するリソースアライメントに基づいて、当該VSoCに割り当てられたリソースを利用してもよい。リソースは、処理コア、メモリ、キャッシュ、入出力(I/O)ポート、I/O装置、ハードウエアアクセラレータ、オペレーティングシステム、およびソフトウエアアプリケーションなどの、VSoCによって利用される可能性がある任意の好適なリソースを含んでもよい。
例えば、プロセッサ装置は、当該プロセッサ装置が高スループットを達成できるように処理コアの負荷を低減する特定用途コプロセッサのような、リソースを含んでもよい。処理コアは、フル機能かつ高性能である、整数または浮動小数点の論理演算装置(ALU)の実装であってよく、業界標準C/C++のような任意の好適なプログラミング環境を直接サポートしてもよい。処理コアは、仮想システム・オン・チップ内のフル機能オペレーティングシステムを起動して動作させるために必要な全ての要求事項を有してもよい。
リソースはプロセッサ装置の内部にあっても外部にあってもよい。リソースアライメントは、プロセッサ装置のリソースをプロセッサ装置の仮想システム・オン・チップに対応するサブセットにグループ分けするアライメントを含んでもよい。サブセットのリソースの一部が重複してもよい。例えば、リソースアライメントで定義されているように、処理コアのようなリソースが、2つ以上の仮想システム・オン・チップによって共有されてもよい。開示の実施形態によれば、処理コアのようなリソースは、リソースアライメントに基づいて、2つ以上の異なる仮想システム・オン・チップによって利用されてもよい。共有は、その仮想システム・オン・チップに割り当てられた割合に基づいてもよい。
リソースの共有は、その仮想システム・オン・チップに割り当てられた範囲に基づいてリソースを共有することを含んでもよい。例えば、2つ以上の仮想システム・オン・チップがメモリのような同一のリソースにアラインされてもよい。仮想システム・オン・チップそれぞれは、当該メモリの特定の範囲に限定されてもよく、これにより、当該メモリ内の各メモリ位置が隔離される。
あるいは、リソースは、リソースアライメントに従って、特定のVSoCによって独占的に使用されてもよい。例えば、特定種類のI/Oポートのようないくつかのリソースは、共有されなくてもよい。
リソースアライメントは動的に修正されてもよい。本明細書では、リソースアライメントを動的リソースアライメント、リソース割当て、または動的リソース割当てという場合がある。開示の実施形態によれば、リソースアライメントは、プロセッサ装置のリソースを複数の仮想システム・オン・チップにいかに分配するかを定義してもよい。リソースアライメントは、ランタイムの前に作成されてもよく、あるいはランタイムの間に作成されてもよい。リソースアライメントは、少なくとも1つの事象に基づいて、ランタイムの間に動的に修正されてもよい。リソースアライメントは、タイマー、監視されるメトリクス(基準)、または外部事象に基づいて、ランタイム中に動的に修正されてもよい。例えば、少なくとも1つの事象は、時刻を示すタイマーに基づいてもよい。少なくとも1つの事象はメトリクスに基づいてもよい。メトリクスの例としては、ランタイム使用状況メトリクス、フォールトメトリクス、サービス品質(QoS)メトリクス、および高度もしくは低度の透かしなどの、任意の好適なメトリクスが挙げられる。
図1は、プロセッサ装置102の例示的な実施形態のブロック図100である。プロセッサ装置102は、複数の仮想システム・オン・チップ104a〜nを備える。複数の仮想システム・オン・チップ104a〜nは、複数の仮想システム・オン・チップ104a〜nと複数のリソース106a〜mとの間のリソースアライメント108に従って複数のリソース106a〜mを利用するように構成されてもよい。リソースアライメント108は、複数のリソース106a〜mのうちのいずれのリソースが複数の仮想システム・オン・チップ104a〜nのうちのいずれの仮想システム・オン・チップに割り当てられるかを定義してもよい。プロセッサ装置102は、少なくとも1つの事象114に応答してリソースアライメント108を動的に修正するように(112)構成されたリソースアライン部110をさらに備える。一実施形態によれば、プロセッサ装置102は、少なくとも1つの処理コア(図示せず)と、一連の命令を記憶した少なくとも1つのメモリ(図示せず)とを含んでもよい。当該一連の命令は、少なくとも1つの処理コアによってロードされて実行されると、プロセッサ装置102にリソースアライン部110を実装させる。別の実施形態によれば、リソースアライン部110を実装するために、プロセッサ装置102は1つ以上の回路装置を含んでもよい。この回路装置の例としては、2010年4月28日出願の米国特許出願第12/769,463号(米国特許第8,826,271号、その全教示が参照により本明細書に援用される)および後述する図6に開示のものまたはその等価物などが挙げられる。
複数のリソース106a〜mは、処理コア、メモリ、キャッシュ、入出力(I/O)ポート、I/O装置、ハードウエアアクセラレータ、オペレーティングシステム、およびソフトウエアアプリケーションなどの、VSoCによって利用される可能性がある任意の好適なリソースを含んでもよい。このようなリソースはプロセッサ装置102の内部にあっても外部にあってもよい。複数の仮想システム・オン・チップ104a〜nと複数のリソース106a〜mとの間のリソースアライメント108は、複数の仮想システム・オン・チップ104a〜nのうちの仮想システム・オン・チップの間で一部のリソースは共有されて一部のリソースは共有されないように、複数のリソース106a〜mを区分けしてもよい。リソースアライメント108は、複数のリソース106a〜mのうちのいずれのリソースが複数の仮想システム・オン・チップ104a〜nのうちのいずれの仮想システム・オン・チップによる使用に割り当てられるかを定義してもよい。
リソースアライン部110は、少なくとも1つの事象114に応答して、プロセッサ装置102のスループットを達成するようにリソースアライメント108を動的に修正するようにさらに構成されてもよい。例えば、この動的リソースアライメント108は、スループット要求事項を維持するために、必要に応じて特定の仮想システム・オン・チップに対してリソースを追加したりリソースを削除したりするように、修正されてもよい。
少なくとも1つの事象は、プロセッサ装置の外部で生じる外部事象を含んでもよい。例えば、ネットワーク環境において、外部事象は、ボーダゲートウェイプロトコル(BGP)ルートフラップであってもよい。ネットワーク環境において、BGPルートフラップは、ルーティングされるパケットを減らす必要があることを知らせてもよい。このため、リソースアライメントは、パケットアプリケーションをサポートする仮想システム・オン・チップからリソースを削除するように修正されてもよい。外部事象はウイルス攻撃の通知であってもよい。ウイルス攻撃の通知は、プロセッサ装置102の計算量を増加してパケットのより厳密な検査が必要であることを知らせるものであってもよい。動的リソースアライメント108は、例えば、処理コアのような好適なリソースなどのより多くのリソースを、パケット検査用のアプリケーションを含む所与のVSoCに割当てるように修正されてもよい。BGPルートフラップおよびウイルス攻撃通知は、外部事象の例であるが、外部事象はプロセッサ装置外部のいかなる好適な事象であってもよい。
少なくとも1つの事象は、時刻に基づく事前スケジュールされた事象を含んでもよい。時刻は、プロセッサ装置の利用が極めて頻繁である(例えば高トラフィック負荷である)と理解される時間かもしれない。時刻に応じてリソースを仮想システム・オン・チップに再アライン(本明細書では再割当てともいう)することにより、当該時刻において利用が極めて頻繁である仮想システム・オン・チップに追加のリソースを前もって配分できるようにしておいてもよい。このため、この動的再アライメントは、前もって、トラフィックの廃棄を防止しプロセッサ装置に対するスループット要求事項を守るように、修正されてもよい。
少なくとも1つの事象は、複数のリソースのうちの所与のリソースの誤動作を示す故障事象を含んでもよい。誤動作中のリソースとVSoCとの間のアライメントは、VSoCがもはや誤動作中のリソースにアクセスせず、その代わりに別のリソースとアラインされるように、修正されてもよい。
少なくとも1つの事象はオーバサブスクリプション事象を含んでもよい。オーバサブスクリプション事象は、複数のリソースのうちの少なくとも1つのリソースがオーバサブスクリプションであることを示すか、または、複数の仮想システム・オン・チップのうちの少なくとも1つの仮想システム・オン・チップがオーバサブスクリプションであることを示す。このようなオーバサブスクリプションは、メトリクスに基づいて判断されてもよい。例えば、トラフィック廃棄を反映するQoSメトリクスが、オーバサブスクリプション事象を判断するために使用されてもよい。オーバサブスクリプション事象に応答して、少なくとも1つのリソースにアラインされる仮想システム・オン・チップの数が、動的リソースアライメントを修正することによって低減されてもよい。さらに、少なくとも1つの仮想システム・オン・チップにアラインされるリソースの数が、動的リソースアライメントを修正することによって増加されてもよい。
少なくとも1つの事象は、アイドル事象を含んでもよい。アイドル事象は、複数の仮想システム・オン・チップのうちの所与の仮想システム・オン・チップにアラインされた、複数のリソースのうちの所与のリソースが、当該所与の仮想システムによる使用率であって、閾値未満である使用率を有することを示す。このため、動的リソースアライメントは、当該所与のリソースを共有している仮想システム・オン・チップの数を増加するように修正されてもよい。
リソースアライメントは、スループットの損失を防止するように動的に修正されてもよい。なお、スループットの損失は、防止されなければ、少なくとも1つの事象によってもたらされる。例えば、特定の時刻におけるトラフィック損失を示す履歴メトリクスに基づいて、動的リソースアライメントは、将来当該特定の時刻にトラフィック損失が生じないように、当該特定の時刻において修正されてもよい。このため、少なくとも1つの事象は時刻に基づく事前スケジュールされた事象を含んでもよい。
図2は、プロセッサ装置202の別の例示的な実施形態のブロック図200である。プロセッサ装置202は、複数の仮想システム・オン・チップ204a〜nを備える。複数の仮想システム・オン・チップ204a〜nは、複数の仮想システム・オン・チップ204a〜nと複数のリソース206a〜mとの間のリソースアライメント208に従って複数のリソース206a〜mのリソースを利用するように構成されてもよい。プロセッサ装置202はリソースアライン部210をさらに備える。リソースアライン部210は、少なくとも1つの事象214に応答してリソースアライメント208を動的に修正するように構成されてもよい。
プロセッサ装置202は、リソースアライン部210に動作可能に結合された設定部216をさらに備える。設定部216は、リソースアライメント208に対する少なくとも1つの修正220に応答して、修正済リソースアライメント218を動的に適用するように構成されてもよい。設定部216は、リソースアライメント208の内容を監視することによってリソースアライン部210がリソースアライメント208を修正したことを検出するように構成されてもよい。
例えば、リソースアライメント208はデータ構造であってもよく、設定部216は、データ構造の内容の変更を監視するように構成されてもよい。いくつかの実施形態によれば、リソースアライメント208に対する少なくとも1つの修正220に基づいて割り込み(図示せず)がアサートされてもよい。リソースアライメント208に対する少なくとも1つの修正220を検出することは、アサートされる割り込みに応じてもよい。しかし、リソースアライメント208に対する少なくとも1つの修正220を検出することは、任意の好適なやり方で行われてもよい。
例えば、いくつかの実施形態によれば、設定部216は、リソースアライン部210がリソースアライメント208を修正したことを示すリソースアライン部210からの通信222を、受信するように構成されてもよい。通信222は、プロセッサ装置202のメールボックスを介して送信された通信メッセージ、および開放されるセマフォなどの、任意の好適な通信機構であってもよい。
修正済リソースアライメント218を動的に適用するために、設定部216は、コンフィグレーション更新221を送信してプロセッサ装置202のコンフィグレーション224を更新し、複数の仮想システム・オン・チップ204a〜nに修正済リソースアライメント218に従って複数のリソース206a〜mを利用させてもよい。例えば、コンフィグレーション224は、複数のリソース206a〜mへのVSoCのアクセス許可を強制するハードウエアレジスタコンフィグレーション設定(図示せず)を含んでもよい。コンフィグレーション224は、複数のリソース206a〜mへのVSoCのアクセス許可を強制する任意の好適なコンフィグレーション設定を含んでもよい。コンフィグレーション224は、プロセッサ装置202用の対処情報(図示せず)を含んでもよく、この対処情報はリソースアライメント208に依存する。
例えば、対処情報は、プロセッサ装置202の2次キャッシュコントローラ(図示せず)用のコンフィグレーションを含んでよく、2次キャッシュコントローラは、複数のリソース206a〜mに含まれるメモリへのメモリアクセスを制御する。例えば、プロセッサ装置のメモリを伴う全てのアクセスは、2次キャッシュコントローラによって制御される2次キャッシュ(図示せず)を通るようにルーティングされてもよい。なぜなら、2次キャッシュは、プロセッサ装置202のメモリアクセスのための中心位置として作用し得るからである。
複数の仮想システム・オン・チップ204a〜nは、オペレーティングシステムおよび埋め込まれたアプリケーションを実行する仮想実行環境として作用してもよい。設定部216は、コンフィグレーション224を更新して、各VSoCがリソースアライメント208に従ってその対応するリソースにアクセスするようにしてもよい。複数の仮想システム・オン・チップ204a〜nによって保護が提供されていると仮定して、プロセッサ装置202の各VSoC内で動作しているアプリケーションおよびオペレーティングシステムは、プロセッサ装置202の他の仮想システム・オン・チップ内で動作している他のアプリケーションおよびオペレーティングシステムを認識しなくてもよい。
コンフィグレーション224は、リソースまたはリソースのパーティションへのVSoCアクセスを、リソースアライメント208における記述に従って、可能にするかまたは防止してもよい。例えば、動的ランダムアクセスメモリ(DRAM)などのリソースのパーティションは、1つのパーティションが1つのVSoCによってアクセスされて他の仮想システム・オン・チップによってはアクセスされないように構成されてもよい。コンフィグレーション224は、仮想システム・オン・チップのあるグループが所与のリソースまたはその一部を共有できるようにし、他の仮想システム・オン・チップが当該所与の共有リソースにアクセスできないようにしてもよい。
コンフィグレーション224は、共有リソースへのVSoC優先順位を強制して、1つのVSoCが、プロセッサ装置の他の仮想システム・オン・チップよりも優先的に共有リソースにアクセスするための厳密な優先順位または重みづけされた優先順位を有するようにしてもよい。このような優先順位情報(図示せず)は、コンフィグレーション224の一部として含まれてもよく、またはリソースアライメント208の一部として記憶されてもよい。
少なくとも1つの修正220は、複数の仮想システム・オン・チップ204a〜nのうちの所与の仮想システム・オン・チップと、複数のリソース206a〜mのうちの所与のリソースとの間のアライメントに対する修正を含んでもよい。設定部216は、当該所与の仮想システム・オン・チップが所与のリソースの使用を放棄することに基づいて、または当該使用に適用された予め決められた時間値の期限切れに基づいて、少なくとも1つの修正220を適用するようにさらに構成されてもよい。
例えば、少なくとも1つの修正220は、上記所与の仮想システム・オン・チップとは異なる仮想システム・オン・チップに上記所与のリソースをアラインしても(すなわち、割り当てても)よいが、上記所与のリソースは依然として上記所与の仮想システム・オン・チップによって使用中であるかもしれない。設定部216は、プロセッサ装置202においてローカルにアクセスされ得るリソース使用中情報219に基づいて、上記所与のリソースが上記所与の仮想システム・オン・チップによって依然として使用中であることを判断してもよい。そのようなリソース使用中情報219は、複数の仮想システム・オン・チップ204a〜nによって更新されてもよく、またはその他の任意の好適な方法で更新されてもよい。
設定部216は、上記所与の仮想システム・オン・チップが上記所与のリソースの使用を放棄するまで、上記少なくとも1つの修正220の適用を遅らせてもよい。あるいは、設定部216が、上記所与の仮想システム・オン・チップが上記所与のリソースの使用を放棄するのを待つ、予め決められた時間値を採用してもよい。設定部216は、予め決められた時間値の期限切れに基づいて上記少なくとも1つの修正220を適用してもよい。
プロセッサ装置202は、リソースアライン部210に動作可能に結合された監視部226をさらに備えてもよい。監視部226は、少なくとも1つの事象214の少なくとも1つのインスタンスを監視し、かつ、少なくとも1つの事象214の少なくとも1つのインスタンスをリソースアライン部210に伝達して、リソースアライン部210をトリガして(起動して)リソースアライメント208を動的に修正させるように、構成されてもよい。
少なくとも1つの事象214の少なくとも1つのインスタンスを監視するために、少なくとも1つの監視部226は、複数のリソース206a〜mのうちの少なくとも1つのリソースの状態または複数の仮想システム・オン・チップ204a〜nのうちの少なくとも1つの仮想システム状態を監視するようにさらに構成されてもよい。複数のリソース206a〜mのうちの少なくとも1つのリソースの状態は、故障状態、利用状態、またはこれらの組合せを含んでもよい。複数の仮想システム・オン・チップ204a〜nのうちの少なくとも1つの仮想システム状態は、故障状態、利用状態、またはこれらの組合せを含んでもよい。
少なくとも1つの事象214の少なくとも1つのインスタンスを監視するために、監視部226は、プロセッサ装置202の監視情報227を監視してもよい。監視情報227は、時刻、オーバサブスクリプションメトリクス、アイドルメトリクス、リソース透かし、ネットワーク情報、リソース故障情報などの情報を含んでもよい。監視情報227は、リソースアライメント208を少なくとも1つの事象214に応答して動的修正することが有利と思われる、少なくとも1つの事象214を判断するために監視され得る、任意の好適な情報を含んでもよい。
監視部226は、事象スケジューラ229を含んでもよい。事象スケジューラ229は、再アライメントスケジュール(図示せず)に基づいて少なくとも1つの事象214をスケジュールしてもよい。再アライメントスケジュールは、静的スケジュール、または周期的にそれ自体で調整を行う動的スケジュールであってもよい。再アライメントスケジュールは、1つ以上の時刻エントリを含んでもよい。例えば、再アライメントスケジューラは、プロセッサ装置の性能に関して再アライメントが有利である時刻エントリを1つ以上含んでもよい。再アライメントスケジュールは、プロセッサ装置全体の使用状況メトリクスに基づいて、VSoC使用状況メトリクス、およびリソースメトリクスなどの任意の好適なメトリクス毎に動的に調整されてもよい。再アライメントは、BGPルートフラップのような外部事象などの任意の好適な外部事象に基づいてもよい。
一実施形態によれば、リソースはメモリであってもよい。メモリは1つ以上のチャンクを含んでもよい。1つ以上のチャンクそれぞれは、メモリからの対応する固定数のビットを含む、当該メモリの1区画であってもよい。固定数のビットは連続してもよい。あるいは、1つ以上のチャンクは、メモリ内に分散している、当該メモリからの固定数のビットを含んでもよい。1つ以上のチャンクはそれぞれ、少なくとも1つの事象に基づいて、解放されてもよく、または所定のVSoCに割当てられてもよい。少なくとも1つの事象は、再アライメントスケジュールに応じてもよく、このため、メモリの1つ以上のチャンクがスケジュールに基づいて動的に再アラインされてもよい。例えば、少なくとも1つの事象は再アライメントスケジュールに応じてもよいため、メモリの1つ以上のチャンクは、所与のVSoCが例えば低負荷であると分かっている時に、スケジュールどおりに解放されてもよい。その一方で、メモリの1つ以上のチャンクは、所与のVSoCが高負荷であると分かっている時に、スケジュールどおりに所定のVSoCに割り当てられてもよい。
開示の実施形態によれば、監視部226は、様々なメトリクスを監視して、上述した故障、オーバサブスクリプション、またはアイドルの事象を判断するように構成されてもよい。例えば、監視部226は、パリティエラーまたは誤り訂正符号(ECC)エラーなどのメトリクスを監視して故障事象を判断するように構成されてもよい。監視部226は、パリティエラーまたは誤り訂正符号(ECC)エラーに対して閾値を適用して、故障事象を判断してもよい。故障事象は、任意の好適な方法で判断されてもよい。例えば、リソースは、故障事象を判断するために使用され得る、ハードウエア故障インジケータまたは劣化種類インジケータを有してもよい。QoS統計のようなメトリクスが、オーバサブスクリプションまたはアイドルの事象を判断するために監視部226によって監視されてもよい。リソースアライメントを動的に修正して、所与の仮想システム・オン・チップが例えばシルバーグレードのような好適なQoSグレードなどの特定のQoS要求事項を満たすようしてもよい。
一実施形態によれば、プロセッサ装置202は、少なくとも1つの処理コア(図示せず)と、一連の命令を記憶する少なくとも1つのメモリ(図示せず)とを含んでもよい。当該一連の命令は、少なくとも1つの処理コアによって読み込まれて実行されると、プロセッサ装置202に、リソースアライン部210、設定部216および監視部226を実装させる。別の実施形態によれば、リソースアライン部210、設定部216および監視部226を実装するために、プロセッサ装置202は1つ以上の回路装置を含んでもよい。この回路装置の例としては、2010年4月28日出願の米国特許出願第12/769,463号(米国特許第8,826,271号、その全教示が参照により本明細書に援用される)および後述する図6に開示のものまたはその等価物などが挙げられる。
図3はリソースアライメント308の例示的な実施形態のブロック図300である。リソースアライメント308は、複数のリソース306a〜mと複数の仮想システム・オン・チップ304a〜nとの間に複数のマッピング340a〜kを含んでもよい。リソースアライメント308を動的に修正するために、上述した図1のリソースアライン部110または図2のリソースアライン部210などのリソースアライン部が、上述した図1の少なくとも1つの事象114または図2の少なくとも1つの事象214などの少なくとも1つの事象に応答して、複数のマッピング340a〜kのうちの少なくとも1つのマッピングを動的に修正するように、さらに構成されてもよい。
少なくとも1つのマッピングは、複数のリソース306a〜mのうちの所与のリソースを複数の仮想システム・オン・チップ304a〜nのうちの所与の仮想システム・オン・チップにアラインしてもよい。例えば、マッピング1,1304aは、VSoC1304aをリソース1306aにマッピングし、マッピング1,2304bはVSoC1304aをリソース2306bにマッピングし、マッピング2,2304cはVSoC2304bをリソース2306bにマッピングし、マッピングI,j304kはVSoCi304iをリソースj306jにマッピングする。
少なくとも1つのマッピングを動的に修正することは、複数の仮想システム・オン・チップ304a〜nのうちの少なくとも1つの他の仮想システム・オン・チップに所与のリソースをアラインして、所与の仮想システムが当該所与のリソースを採用できないようにし、当該少なくとも1つの他の仮想システムが当該所与のリソースを採用できるようにすることを、含んでもよい。例えば、少なくとも1つのマッピングを修正することは、マッピングI,j304kを削除しかつマッピングn,j340lを追加して、VSoCi304iがリソースj306jを使用できなくしかつVSoCn304nがリソースj306jを採用できるようにすることを含んでもよい。
リソースアライメント308を動的に修正するために、上述した図1のリソースアライン部110または図2のリソースアライン部210などのリソースアライン部が、少なくとも1つのマッピングをリソースアライメント308に追加するようにさらに構成されてもよく、少なくとも1つのマッピングは、複数の仮想システム・オン・チップ304a〜nのうちの1つの仮想システム・オン・チップに複数のリソース306a〜mのうちの1つのリソースをアラインする。例えば、マッピングn,j340lを追加することにより、VSoCn304nがリソースj306jを採用できるようにしてもよい。
リソースアライメント308は、複数のリソース306a〜mと複数の仮想システム・オン・チップ304a〜nとの間に複数のマッピング340a〜kのような複数のマッピングを含んでもよく、リソースアライメント308を動的に修正するために、マッピングI,j304kのような複数のマッピング340a〜kから少なくとも1つのマッピングを削除することを含んでもよい。
リソースアライメント308は、複数の仮想システム・オン・チップ304a〜nのうちの2つ以上の仮想システム・オン・チップが複数のリソース306a〜mのうちの所与のリソースを共有できるようにしてもよい。例えば、リソースアライメント308のマッピング1,2340bおよびマッピング2,2340cによって、リソース2306bがVSoC1304aおよびVSoC2304bによって共有される。
複数の仮想システム・オン・チップ304a〜nのうちの2つ以上の仮想システム・オン・チップそれぞれは、所与のリソースに関して各仮想システムに割り当てられた各使用率に基づいて当該所定のリソースを使用するように構成されてもよい。使用率は、所定のリソースの種類、各仮想システム・オン・チップ上で動作しているアプリケーションの種類、またはこれらの組合せに応じてもよい。
使用率は、対応する仮想システム・オン・チップによって制御されてもよい。使用率は、仮想マシンモニタ(VMM)(図示せず)(本明細書ではハイパーバイザーともいう)によって監視されてもよい。仮想マシンモニタは、ウォッチドッグに基づいて、対応する仮想システム・オン・チップに所与のリソースの使用を放棄させてもよい。
リソースアライメント308は、複数の仮想システム・オン・チップのうちの所与の仮想システム・オン・チップが所与のリソースを独占的に使用できるようにしてもよい。例えば、リソース1306aは、特定種類のI/Oポートのような非共有リソースであってもよく、その他の任意の好適な非共有リソースであってもよく、マッピング1,1340aによって、VSoC1304aがリソース1306aを独占的に使用できる。
図4はリソースアライメント408のさらなる例示的な実施形態のブロック図400である。リソースアライメント408は、複数のエントリ460a〜460nを含むリソースアライメント表であってもよい。複数のエントリ460a〜460nはそれぞれ、固有の仮想システム・オン・チップ識別子462をリソース識別子464に関連付ける。例えば、複数のエントリ460a〜460nは、固有の仮想システム・オン・チップ識別子466a〜466nをリソース識別子468a〜468nにそれぞれ関連付けてもよい。
固有の仮想システム・オン・チップ識別子466a〜466nはそれぞれ、上述したような図1、図2および図3それぞれの複数の仮想システム・オン・チップ104a〜n、204a〜n、および304a〜nなどの複数の仮想システム・オン・チップのうちの1つの仮想システム・オン・チップを、一意に識別してもよい。リソース識別子468a〜468nは、図1、図2および図3それぞれの複数のリソース106a〜106m、206a〜206m、および306a〜306mなどの複数のリソースのうちのいずれのリソースが、固有の仮想システム・オン・チップ識別子466a〜466nによって識別される、対応する1つ以上の仮想システム・オン・チップによって利用され得るかを示してもよい。
例えば、リソースアライメント408のエントリ460bは、仮想システム識別子466bをリソース識別子468bに関連付けてもよい。一実施形態によれば、リソース識別子468a〜468nはビットマップを含んでもよく、ビットマップ内の各ビットが対応リソースのアライメント表示を提供する。しかし、リソース識別子は、仮想システム・オン・チップをリソースにアラインする任意の好適な方法で実現されてもよい。本明細書では、リソース識別子のビットマップの各ビットはリソースアライメント表示ともいう。
仮想システム・オン・チップ識別子466a〜466nのような仮想システム・オン・チップ識別子に関連付けられた、リソース識別子468a〜468nのようなリソース識別子のビットマップの各ビットは、第1の状態を有し、当該ビットに関連付けられた各リソースを仮想システム・オン・チップ識別子に関連付けられたVSoCにマッピングしてもよい。すなわち、各リソースはVSoCにアラインされる。ビットマップの各ビットは、第2の状態を有し、各リソースと仮想システム・オン・チップ識別子に関連付けられたVSoCとの間にマッピングが存在しないこと、すなわち、各リソースとVSoCはアラインされていないことを反映してもよい。例えば、ビットマップ468aのビット470を使用して、仮想システム・オン・チップ識別子466aに関連付けられた仮想システム・オン・チップを、ビット470のビット位置に関連付けられたリソースにアラインしてもよい。ビット470は、第1の状態「1」を有し、仮想システム・オン・チップをリソースにアラインし、これにより、当該仮想システム・オン・チップが当該リソースを使用できるようにしてもよい。その一方で、ビット470は、第2の状態「0」を有し、当該仮想システム・オン・チップが当該リソースを使用できないようにしてもよい。リソースは、ビットマップ内の対応するビットを修正することにより、1つの仮想システム・オン・チップから別の仮想システム・オン・チップに「移され」てもよい。
例えば、リソース識別子468bのビット472および468cのビット472の474はそれぞれ、1つの特定のリソースに関連付けられてもよい。特定のリソースは、ビット472および474のビット位置に関連付けてもよい。ビット472の値を「1」から「0」に変更することによってビット472を修正することにより、仮想システム・オン・チップ識別子466bに関連付けられた仮想システム・オン・チップに関するリソースアライメントを、当該仮想システム・オン・チップがもはや当該特定のリソースにアクセスできなくなるように変更してもよい。ビット474の値を「0」から「1」に変更することによってビット474を修正することにより、仮想システム・オン・チップ識別子466cに関連付けられた仮想システム・オン・チップに関するリソースアライメントを、当該仮想システム・オン・チップが当該特定のリソースにアクセス可能となるように、変更してもよい。このため、特定のリソースは、事実上(すなわち物理的にではなく)1つの仮想システム・オン・チップから別の仮想システム・オン・チップに「移され」たことになる。
特定のリソースに関連付けられたリソース種類に基づいて、開示の実施形態は、特定のリソースに対応するリソースアライメントのリソースアライメント表示に微細な更新を提供してもよい。例えば、上述したリソース識別子468bのビット472およびリソース識別子468cのビット474を修正することは微細に修正を行うことを含んでもよく、これによってビット472および474の値に対する修正が、ビット472を含むリソース識別子468bおよびビット474を含むリソース識別子468cにそれぞれ関連付けられたVSoCに同時に認識できるようにしてもよい。微細な更新が、特定のリソースへの独占的アクセスをそれぞれ要求する異なるVSoCの間で起こり得る競合を防止し得る。
開示の実施形態によれば、メモリ位置またはI/Oポートなどの非共有リソース種類のような、独占的に使用され得るリソースなどの任意の好適な種類の同一リソースに対応するリソースアライメント表示は、微細に更新されてもよい。その一方で、処理コアのような共有リソース種類などの任意の好適な共有リソース種類を有する同一リソースに対応するリソースアライメント表示は、個々に修正されてもよい。なお、共有および非共有のリソース種類の例は、リソースの種類のこれら具体例の共有または非共有に限定するものではない。例えば、いくつかの例では、I/Oポートが共有リソースであってもよく、処理コアが非共有リソースであってもよい。
開示の実施形態によれば、仮想システム・オン・チップ識別子462のような仮想システム・オン・チップ識別子は、受信パケット(図示せず)からフィールドを抽出することに基づいて判断されてもよい。抽出されたフィールドは、5―タプルキーのようなキーを構成するために使用されてもよい。当該キーは、仮想システム・オン・チップ識別子にキーをマッピングするルックアップテーブル(LUT)(図示せず)に対して索引を付けるために使用され得る。このため、受信パケットは、当該キーについてLUT内で見つかった仮想システム・オン・チップ識別子462に基づく所与のVSoCに対して、スケジュールされてもよい。キーについてLUT内で見つかった仮想システム・オン・チップ識別子462を使用して、対応するリソース識別子464が所与のVSoCについて識別されてもよい。対応するリソース識別子464は、上述したように、いずれのリソースが所与のVSoCによって採用され得るかを示す。
受信パケットを処理するために所与のVSoCが特定のリソースを採用している間、当該特定のリソースがもはや当該所与のVSoCにアラインされないように、少なくとも1つの事象がリソースアライメント408を修正させるかもしれない。このため、設定部216は、当該特定のリソースが当該所与のVSoCによって使用されなくなるまで、または予め決められた時間値が期限切れするまで、修正済リソースアライメント218を検出しコンフィグレーション更新221の適用を遅らせてもよい。このようにしなければ、当該所与のVSoCが当該特定のリソースを使用できなくなってしまう。
図5は、本方法(500)の例示的な実施形態のフロー図である。本方法は、開始(502)し、プロセッサ装置の複数の仮想システム・オン・チップを、当該複数の仮想システム・オン・チップと複数のリソースとの間のリソースアライメントに従って当該複数のリソースのうちのリソースを利用するように設定してもよい(504)。本方法は、少なくとも1つの事象(508)に応答してリソースアライメントを動的に修正してもよく、本方法は、その後、例示的な本実施形態において終了(508)する。
開示の実施形態によれば、セキュリティ・アプライアンス(図示せず)がプロセッサ装置102または202を含んでもよい。プロセッサ装置102または202はネットワークサービスプロセッサであってもよい。セキュリティ・アプライアンスは、1つのネットワークインタフェースで受信したパケットを別のネットワークインタフェースに切り替え得る独立型システムであってもよく、パケットを転送する前に受信パケットに対して複数のセキュリティ機能を実行してもよい。例えば、セキュリティ・アプライアンスは、広域ネットワーク(WAN)のような任意の好適なネットワークにおいて受信され得るパケットに対してセキュリティ処理を行い、その後、処理されたパケットをローカルエリアネットワーク(LAN)のような任意の好適なネットワークに転送するために、使用されてもよい。
プロセッサ装置102または202は、受信パケットにカプセル化された開放型システム間相互接続(OSI)ネットワークL2〜L7層プロトコルを処理するように構成されてもよい。当業者とっては周知であるように、OSI参照モデルは7つのネットワークプロトコル層(L1〜L7)を定義する。物理層(L1)は、プロセッサ装置を伝送媒体に接続する実際の電気的および物理的インタフェースを記述する。データリンク層(L2)はデータフレーミングを行う。ネットワーク層(L3)はデータをパケットにフォーマット化する。トランスポート層(L4)はエンド・ツー・エンドトランスポートを担う。セッション層(L5)は、装置間の通信、例えば通信が半二重であるか全二重であるかを管理する。プレゼンテーション層(L6)は、データフォーマット化およびプレゼンテーション、例えば構文、制御コード、特殊図形、および文字セッなどを管理する。アプリケーション層(L7)は、ユーザ間の通信、例えばファイル転送や電子メールなどを許可する。
プロセッサ装置102または202は、上位層ネットワークプロトコル、例えばL4〜L7についての作業(例えばパケット処理動作)をスケジュール化しキューに入れ、受信パケットにおける上位層ネットワークプロトコルの処理がパケットをワイヤスピードで転送することを可能にする。パケットをワイヤスピードで転送するようにプロトコルを処理するため、プロセッサ装置102または202は、ネットワークデータ転送速度を低下させない。プロセッサ装置102または202は、物理ハードウエアインタフェースであり得るネットワークインタフェース(図示せず)からパケットを受信してもよく、かつ、受信したパケットにL2〜L7ネットワークプロトコル処理を行ってもよい。その後、プロセッサ装置102または202は、処理済みパケットをネットワークインタフェースを介してネットワーク内の別のホップへ、最終宛先へ、または別のバスを介してホストプロセッサによるさらなる処理のために、転送してもよい。複数の仮想システム・オン・チップ104a〜nまたは複数の仮想システム・オン・チップ204a〜nなどの複数の仮想システム・オン・チップは、ネットワークセキュリティプロトコルの処理のためのアプリケーションを含んでもよい。ネットワークセキュリティプロトコルの例としては、ファイアウォール、アプリケーションファイアウォール、IPセキュリティ(IPSec)および/もしくはセキュアソケットレイヤ(SSL)を含む仮想プライベートネットワーク(VPN)、侵入検知システム(IDS)、およびアンチウイルス(AV)などの、任意の好適なネットワークプロトコルが挙げられる。
複数の仮想システム・オン・チップ104a〜nまたは204a〜nは、複数の仮想システム・オン・チップ104a〜nまたは204a〜nにアラインされた複数の処理コアを用いて高アプリケーション性能を発揮してもよい。処理コアはそれぞれ、データプレーン動作、コントロールプレーン動作、およびこれらの組合せの実行に専用であってもよい。データプレーン動作は、パケットを転送するためのパケット動作を含んでもよい。コントロールプレーン動作は、複雑な上位層プロトコルの一部を処理することを含んでもよい。複雑な上位層プロトコルの例としては、インターネットプロトコルセキュリティ(IPSec)、伝送制御プロトコル(TCP)、およびセキュアソケットレイヤ(SSL)などの、任意の好適な上位層プロトコルが挙げられる。データプレーン動作が、これら複雑な上位層プロトコルの他の部分を処理することを含んでもよい。
開示の実施形態によれば、複数の処理コア、メモリ、入出力ポートなどのリソースは、ランタイムの間に1つ以上の仮想システム・オン・チップに動的に割当てられてもよい。リソース割当ては、上述したように、少なくとも1つの事象に基づいて2つ以上の仮想システム・オン・チップの間で動的に再アラインされてもよい。
複数の処理コアは、データプレーンアプリケーションまたはコントロールプレーンアプリケーションをサポートする仮想システム・オン・チップに割当てられてもよい。リソースは、データプレーンに割り当てられたこれら仮想システム・オン・チップの間で再アラインされてもよい。例えば、第1のリソースセットが、データプレーン使用に利用可能であると特定されて、例えばIDSまたはAVのタイプのVSoCの転送のような、1つのデータプレーンVSoCから別のデータプレーンVSoCに動的に割り当てられてもよい。同様に、第2のリソースセットがコントロールプレーン使用に利用可能であると特定されて、当該第2のリソースセットが1つのコントロールプレーンVSoCから別のコントロールプレーンVSoCに動的に割り当てられてもよい。開示の実施形態によれば、リソースはVSoCに動的にアラインされてもよい。
図6は、本発明の様々な実施形態が実装され得るコンピュータ600の内部構造の例のブロック図である。コンピュータ600はシステムバス602を含み、バスは、コンピュータまたは処理システムの構成部品の間におけるデータ転送のために使用される1組のハードウエア線である。システムバス602は、実際のところ共有電線管である。共有電線管は、コンピュータシステムの異なる要素(例えば、プロセッサ、ディスク記憶装置、メモリ、入出力ポート、ネットワークポートなど)を接続し、コンピュータシステムの異なる要素間での情報の転送を可能にする。システムバス602には、様々な入出力装置(例えば、キーボード、マウス、ディスプレイ、プリンタ、スピーカなど)をコンピュータ600に接続するためのI/O装置インタフェース604が結合されている。ネットワークインタフェース606によって、コンピュータ600が、ネットワークに取付けられた様々な他の装置に接続できる。メモリ608は、本発明の実施形態を実現するために使用され得るコンピュータソフトウエア命令610およびデータ612のための揮発性記憶装置を提供する。ディスク記憶装置614は、本発明の実施形態を実装するために使用され得るコンピュータソフトウエア命令610およびデータ612のための不揮発性記憶装置を提供する。中央処理装置618もまたシステムバス602に結合されており、コンピュータ命令の実行に備える。
本明細書に開示するさらなる例示的な実施形態は、コンピュータプログラム製品を使用して構成されてもよい。例えば、制御は、例示的な実施形態を実装するためのソフトウエア内にプログラムされてもよい。さらなる例示的な実施形態は、プロセッサによって実行され得る命令であって、読み込まれて実行されるとプロセッサに本明細書で記載した方法を完了させる命令を含む非一時的コンピュータ可読媒体を含んでもよい。なお、本明細書で開示したブロック図およびフロー図のリソースアライン部110もしくは210、設定部216、および監視部226などの任意の要素のような、ブロック図およびフロー図の各要素は、ソフトウエア、ハードウエア(2010年4月28日出願の米国特許出願第12/769,463号(米国特許第8,826,271号、その全教示が参照により本明細書に援用される)に開示された1つ以上の回路装置および先述した図6またはその等価物など)、ファームウエア、これらの組合せ、または将来確定されるその他の同様の実現物において実装されてもよい。さらに、本明細書で説明したブロック図およびフロー図の各要素は、ソフトウエア、ハードウエア、またはファームウエアにおいて組み合わされてもよく、分割されてもよい。ソフトウエアに実装する場合には、ソフトウエアは本明細書で開示した例示的な実施形態をサポート可能な任意の言語で書かれていてもよい。ソフトウエアは、例えばランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、コンパクトディスク読み取り専用メモリ(CD―ROM)等、任意の形態のコンピュータ可読媒体に記憶されてもよい。動作においては、汎用もしくは特定用途向けプロセッサまたは処理コアが、当該技術分野で周知のやり方でソフトウエアをロードし実行する。さらに、ブロック図およびフロー図は、より多くのまたは少ない数の要素を含んでよく、それらの要素は、異なる配置または向きであってもよく、異なるように表現されてもよい。なお、本明細書で開示した実施形態の実行を説明する、ブロック図、フロー図および/またはネットワーク図、ならびにブロック図およびフロー図の数が実装時に決定されてもよい。
本発明をその例示的な実施形態を参照して具体的に示して説明したが、当業者であれば、添付の特許請求の範囲に包含される本発明の範囲から逸脱することなく、形式および詳細の様々な変更が可能であることを理解するであろう。

Claims (72)

  1. 複数の仮想システム・オン・チップであって、当該複数の仮想システム・オン・チップと複数のリソースとの間のリソースアライメントに従って前記複数のリソースのうちのリソースを利用するように構成された、複数の仮想システム・オン・チップと、
    少なくとも1つの事象に応答して前記リソースアライメントを動的に修正するように構成されたリソースアライン部とを備えたプロセッサ装置。
  2. 請求項1に記載のプロセッサ装置において、前記リソースアライン部が、さらに、前記少なくとも1つの事象に応答して当該プロセッサ装置のスループットを達成するために、前記リソースアライメントを動的に修正するように構成されている、プロセッサ装置。
  3. 請求項1に記載のプロセッサ装置において、さらに、
    前記リソースアライン部に動作可能に結合された設定部であって、前記リソースアライメントに対する少なくとも1つの修正に応答して、修正済の前記リソースアライメントを動的に適用するように構成された設定部を備えた、プロセッサ装置。
  4. 請求項3に記載のプロセッサ装置において、前記設定部が、さらに、前記リソースアライン部が前記リソースアライメントを修正したことを検出するように構成されている、プロセッサ装置。
  5. 請求項3に記載のプロセッサ装置において、前記設定部が、さらに、前記リソースアライン部が前記リソースアライメントを修正したことを示す通信を前記リソースアライン部から受信するように構成されている、プロセッサ装置。
  6. 請求項3に記載のプロセッサ装置において、修正済の前記リソースアライメントを動的に適用するために、前記設定部が、修正済の前記リソースアライメントに従って前記複数の仮想システム・オン・チップに前記リソースを利用させるように、前記プロセッサ装置のコンフィグレーションを更新するように構成されている、プロセッサ装置。
  7. 請求項3に記載のプロセッサ装置において、前記少なくとも1つの修正が、前記複数の仮想システム・オン・チップのうちの所与の仮想システム・オン・チップと前記複数のリソースのうちの所与のリソースとの間のアライメントに対する修正を含み、
    前記設定部が、さらに、前記所与の仮想システム・オン・チップが前記所与のリソースの使用を放棄することに基づいて、または、当該使用に適用された予め決められた時間値の期限切れに基づいて、前記少なくとも1つの修正を適用するように構成されている、
    プロセッサ装置。
  8. 請求項1に記載のプロセッサ装置において、さらに、
    前記リソースアライン部に動作可能に結合された監視部を備え、
    前記監視部が、前記少なくとも1つの事象の少なくとも1つのインスタンスを監視するように構成され、かつ、前記リソースアライメントを動的に修正するように前記リソースアライン部をトリガするために、前記少なくとも1つの事象の前記少なくとも1つのインスタンスを前記リソースアライン部に伝達するように構成されている、プロセッサ装置。
  9. 請求項8に記載のプロセッサ装置において、前記少なくとも1つの事象の前記少なくとも1つのインスタンスを監視するために、前記少なくとも1つの監視部が、前記複数のリソースのうちの少なくとも1つのリソースの状態、または前記複数の仮想システム・オン・チップの少なくとも1つの仮想システム状態を監視するように構成されている、
    プロセッサ装置。
  10. 請求項9に記載のプロセッサ装置において、前記複数のリソースのうちの前記少なくとも1つのリソースの前記状態が、故障状態、利用状態、または故障状態と利用状態の組合せである、プロセッサ装置。
  11. 請求項9に記載のプロセッサ装置において、前記複数の仮想システム・オン・チップの前記少なくとも1つの仮想システム状態が、故障状態、利用状態、または故障状態と利用状態の組合せである、プロセッサ装置。
  12. 請求項1に記載のプロセッサ装置において、
    前記リソースアライメントが、前記複数のリソースと前記複数の仮想システム・オン・チップとの間に複数のマッピングを含み、
    前記リソースアライメントを動的に修正するために、前記リソースアライン部が、さらに、前記少なくとも1つの事象に応答して前記複数のマッピングのうちの少なくとも1つのマッピングを動的に修正するように構成されている、プロセッサ装置。
  13. 請求項12に記載のプロセッサ装置において、
    前記少なくとも1つのマッピングが、前記複数のリソースのうちの所与のリソースを前記複数の仮想システム・オン・チップのうちの所与の仮想システム・オン・チップにアラインし、
    前記少なくとも1つのマッピングを動的に修正することが、前記所与の仮想システム・オン・チップが前記所与のリソースを採用できないように、かつ、少なくとも1つの他の仮想システム・オン・チップが前記所与のリソースを採用できるようにするために、前記複数の仮想システム・オン・チップのうちの前記少なくとも1つの他の仮想システム・オン・チップに前記所与のリソースをアラインすることを含む、プロセッサ装置。
  14. 請求項1に記載のプロセッサ装置において、前記リソースアライメントを動的に修正するために、前記リソースアライン部が、さらに、少なくとも1つのマッピングを前記リソースアライメントに追加するように構成され、前記少なくとも1つのマッピングが、前記複数の仮想システム・オン・チップのうちの1つの仮想システム・オン・チップに、前記複数のリソースのうちの1つのリソースをアラインする、プロセッサ装置。
  15. 請求項1に記載のプロセッサ装置において、
    前記リソースアライメントが、前記複数のリソースと前記複数の仮想システム・オン・チップとの間に複数のマッピングを含み、
    前記リソースアライメントを動的に修正するために、前記複数のマッピングから少なくとも1つのマッピングを削除することを含む、プロセッサ装置。
  16. 請求項1に記載のプロセッサ装置において、前記リソースアライメントが、前記複数の仮想システム・オン・チップのうちの2つ以上の仮想システム・オン・チップが前記複数のリソースのうちの所与のリソースを共有できるようにする、プロセッサ装置。
  17. 請求項16に記載のプロセッサ装置において、前記複数の仮想システム・オン・チップのうちの前記2つ以上の仮想システム・オン・チップそれぞれが、前記所与のリソースに関して前記仮想システム・オン・チップそれぞれに割り当てられた各使用率に基づいて前記所与のリソースを使用するように構成されている、プロセッサ装置。
  18. 請求項1に記載のプロセッサ装置において、前記リソースアライメントが、前記複数の仮想システム・オン・チップのうちの所与の仮想システム・オン・チップが所与のリソースを独占的に使用できるようにする、プロセッサ装置。
  19. 請求項1に記載のプロセッサ装置において、前記少なくとも1つの事象が、当該プロセッサ装置の外部で生じる外部事象を含む、プロセッサ装置。
  20. 請求項1に記載のプロセッサ装置において、前記少なくとも1つの事象が、時刻に基づく事前スケジュールされた事象を含む、プロセッサ装置。
  21. 請求項1に記載のプロセッサ装置において、前記少なくとも1つの事象が、前記複数のリソースのうちの所与のリソースの誤動作を示す故障事象を含む、プロセッサ装置。
  22. 請求項1に記載のプロセッサ装置において、前記少なくとも1つの事象が、前記複数のリソースのうちの少なくとも1つのリソースがオーバサブスクリプションであることを示すか、または、前記複数の仮想システム・オン・チップのうちの少なくとも1つの仮想システム・オン・チップがオーバサブスクリプションであることを示す、オーバサブスクリプション事象を含む、プロセッサ装置。
  23. 請求項1に記載のプロセッサ装置において、前記少なくとも1つの事象が、前記複数の仮想システム・オン・チップのうちの所与の仮想システム・オン・チップにアラインされた、前記複数のリソースのうちの所与のリソースが、前記所与の仮想システム・オン・チップによる使用率であって、閾値未満である使用率を有することを示すアイドル事象を含む、プロセッサ装置。
  24. 請求項1に記載のプロセッサ装置において、前記リソースアライメントがスループットの損失を防止するように動的に修正され、前記スループットの損失は、防止されなければ前記少なくとも1つの事象によってもたらされる、プロセッサ装置。
  25. プロセッサ装置の複数の仮想システム・オン・チップを設定する工程であって、前記複数の仮想システム・オン・チップと複数のリソースとの間のリソースアライメントに従って前記複数のリソースのうちのリソースを利用するように設定する工程と、
    少なくとも1つの事象に応答して前記リソースアライメントを動的に修正する工程とを備えた方法。
  26. 請求項25に記載の方法において、前記少なくとも1つの事象に応答して前記リソースアライメントを動的に修正する前記工程が、前記少なくとも1つの事象に応答して前記プロセッサ装置のスループットを達成する、方法。
  27. 請求項25に記載の方法において、さらに、
    前記リソースアライメントに対する少なくとも1つの修正に応答して、修正済の前記リソースアライメントを動的に適用する工程を備えた、方法。
  28. 請求項27に記載の方法において、さらに、
    前記リソースアライメントに対する前記少なくとも1つの修正を検出する工程を備えた、方法。
  29. 請求項27に記載の方法において、さらに、
    前記リソースアライメントに対する前記少なくとも1つの修正の通信を受信する工程を備えた、方法。
  30. 請求項27に記載の方法において、さらに、
    修正済の前記リソースアライメントに従って前記複数の仮想システム・オン・チップに前記リソースを利用させるように、前記プロセッサ装置のコンフィグレーションを更新する工程を備えた、方法。
  31. 請求項27に記載の方法において、前記少なくとも1つの修正が、前記複数の仮想システム・オン・チップのうちの所与の仮想システム・オン・チップと前記複数のリソースのうちの所与のリソースとの間のアライメントに対する修正を含み、前記少なくとも1つの修正を適用することが、前記所与の仮想システム・オン・チップが前記所与のリソースの使用を放棄することに基づくか、または、当該使用に適用された予め決められた時間値の期限切れに基づく、方法。
  32. 請求項25に記載の方法において、さらに、
    前記少なくとも1つの事象の少なくとも1つのインスタンスを監視する工程と、
    前記リソースアライメントの動的修正をトリガするために、前記少なくとも1つの事象の前記少なくとも1つのインスタンスを伝達する工程とを備えた、方法。
  33. 請求項32に記載の方法において、前記監視する工程が、前記複数のリソースのうちの少なくとも1つのリソースの状態、または、前記複数の仮想システム・オン・チップの少なくとも1つの仮想システム・オン・チップ状態を監視する工程を含む、方法。
  34. 請求項33に記載の方法において、前記複数のリソースのうちの前記少なくとも1つのリソースの前記状態が、故障状態、利用状態、または故障状態と利用状態の組合せである、方法。
  35. 請求項33に記載の方法において、前記複数の仮想システム・オン・チップの前記少なくとも1つの仮想システム状態が、故障状態、利用状態、または故障状態と利用状態の組合せである、方法。
  36. 請求項25に記載の方法において、
    前記リソースアライメントが、前記複数のリソースと前記複数の仮想システム・オン・チップとの間に複数のマッピングを含み、
    前記リソースアライメントを動的に修正する前記工程が、前記少なくとも1つの事象に応答して前記複数のマッピングのうちの少なくとも1つのマッピングを動的に修正する工程を含む、方法。
  37. 請求項36に記載の方法において、
    前記少なくとも1つのマッピングが、前記複数のリソースのうちの所与のリソースを前記複数の仮想システム・オン・チップのうちの所与の仮想システム・オン・チップにアラインし、
    前記少なくとも1つのマッピングを動的に修正する前記工程が、前記所与の仮想システム・オン・チップが前記所与のリソースを採用できないように、かつ、少なくとも1つの他の仮想システム・オン・チップが前記所与のリソースを採用できるようにするために、前記複数の仮想システム・オン・チップのうちの前記少なくとも1つの他の仮想システム・オン・チップに前記所与のリソースをアラインする工程を含む、方法。
  38. 請求項25に記載の方法において、前記リソースアライメントを動的に修正する前記工程が、少なくとも1つのマッピングを前記リソースアライメントに追加する工程を含み、前記少なくとも1つのマッピングが、前記複数の仮想システム・オン・チップのうちの1つの仮想システム・オン・チップに、前記複数のリソースのうちの1つのリソースをアラインする、方法。
  39. 請求項25に記載の方法において、
    前記リソースアライメントが、前記複数のリソースと前記複数の仮想システム・オン・チップとの間に複数のマッピングを含み、
    前記リソースアライメントを動的に修正する前記工程が、前記複数のマッピングから少なくとも1つのマッピングを削除する工程を含む、方法。
  40. 請求項25に記載の方法において、さらに、
    前記複数の仮想システム・オン・チップのうちの2つ以上の仮想システム・オン・チップが、前記リソースアライメントに基づいて、前記複数のリソースのうちの所与のリソースを共有できるようにする工程を備えた、方法。
  41. 請求項40に記載の方法において、
    前記2つ以上の仮想システム・オン・チップが前記所与のリソースを共有できるようにする前記工程が、前記所与のリソースに関して前記仮想システム・オン・チップそれぞれに割り当てられた各使用率に基づいて前記所与のリソースを使用するように前記2つ以上の仮想システム・オン・チップを構成する工程を含む、方法。
  42. 請求項25に記載の方法において、さらに、
    前記複数の仮想システム・オン・チップのうちの所与の仮想システム・オン・チップが、前記リソースアライメントに基づいて、所与のリソースを独占的に使用できるようにする工程を備えた、方法。
  43. 請求項25に記載の方法において、前記少なくとも1つの事象が、プロセッサ装置の外部で生じる外部事象を含む、方法。
  44. 請求項25に記載の方法において、前記少なくとも1つの事象が、時刻に基づく事前スケジュールされた事象を含む、方法。
  45. 請求項25に記載の方法において、前記少なくとも1つの事象が、前記複数のリソースのうちの所与のリソースの誤動作を示す故障事象を含む、方法。
  46. 請求項25に記載の方法において、前記少なくとも1つの事象が、前記複数のリソースのうちの少なくとも1つのリソースがオーバサブスクリプションであることを示すか、または、前記複数の仮想システム・オン・チップのうちの少なくとも1つの仮想システム・オン・チップがオーバサブスクリプションであることを示す、オーバサブスクリプション事象を含む、方法。
  47. 請求項25に記載の方法において、前記少なくとも1つの事象が、前記複数の仮想システム・オン・チップのうちの所与の仮想システム・オン・チップにアラインされた、前記複数のリソースのうちの所与のリソースが、前記所与の仮想システム・オン・チップによる使用率であって、閾値未満の使用率を有することを示すアイドル事象を含む、方法。
  48. 請求項25に記載の方法において、前記リソースアライメントを動的に修正する前記工程がスループットの損失を防止し、前記スループットの損失は、防止されなければ前記少なくとも1つの事象によってもたらされる、方法。
  49. 符号化した一連の命令を有する非一時的コンピュータ可読媒体であって、プロセッサ装置によってロードされ実行されると、前記一連の命令が前記プロセッサ装置に、
    プロセッサ装置の複数の仮想システム・オン・チップを設定する手順であって、前記複数の仮想システム・オン・チップと複数のリソースとの間のリソースアライメントに従って前記複数のリソースのうちのリソースを利用するように設定する手順と、
    少なくとも1つの事象に応答して前記リソースアライメントを動的に修正する手順とを実行させる非一時的コンピュータ可読媒体。
  50. 請求項49に記載の非一時的コンピュータ可読媒体において、前記少なくとも1つの事象に応答して前記リソースアライメントを動的に修正する前記手順が、前記少なくとも1つの事象に応答して前記プロセッサ装置のスループットを達成する、非一時的コンピュータ可読媒体。
  51. 請求項49に記載の非一時的コンピュータ可読媒体において、前記一連の命令が前記プロセッサ装置に、さらに、
    前記リソースアライメントに対する少なくとも1つの修正に応答して、修正済の前記リソースアライメントを動的に適用する手順を実行させる、非一時的コンピュータ可読媒体。
  52. 請求項51に記載の非一時的コンピュータ可読媒体において、前記一連の命令が前記プロセッサ装置に、さらに、
    前記リソースアライメントに対する前記少なくとも1つの修正を検出する手順を実行させる、非一時的コンピュータ可読媒体。
  53. 請求項51に記載の非一時的コンピュータ可読媒体において、前記一連の命令が前記プロセッサ装置に、さらに、
    前記リソースアライメントに対する前記少なくとも1つの修正の通信を受信する手順を実行させる、非一時的コンピュータ可読媒体。
  54. 請求項51に記載の非一時的コンピュータ可読媒体において、前記一連の命令が前記プロセッサ装置に、さらに、
    修正済の前記リソースアライメントに従って前記複数の仮想システム・オン・チップに前記リソースを利用させるように、前記プロセッサ装置のコンフィグレーションを更新する手順を実行させる、非一時的コンピュータ可読媒体。
  55. 請求項51に記載の非一時的コンピュータ可読媒体において、前記少なくとも1つの修正が、前記複数の仮想システム・オン・チップのうちの所与の仮想システム・オン・チップと前記複数のリソースのうちの所与のリソースとの間のアライメントに対する修正を含み、前記少なくとも1つの修正を適用することが、前記所与の仮想システム・オン・チップが前記所与のリソースの使用を放棄することに基づくか、または、当該使用に適用された予め決められた時間値の期限切れに基づく、非一時的コンピュータ可読媒体。
  56. 請求項49に記載の非一時的コンピュータ可読媒体において、前記一連の命令が前記プロセッサ装置に、さらに、
    前記少なくとも1つの事象の少なくとも1つのインスタンスを監視する手順と、
    前記リソースアライメントの動的修正をトリガするために、前記少なくとも1つの事象の前記少なくとも1つのインスタンスを伝達する手順とを実行させる、非一時的コンピュータ可読媒体。
  57. 請求項56に記載の非一時的コンピュータ可読媒体において、前記一連の命令が前記プロセッサ装置に、さらに、
    前記複数のリソースのうちの少なくとも1つのリソースの状態、または、前記複数の仮想システム・オン・チップのうちの少なくとも1つの仮想システム・オン・チップ状態を監視する手順を実行させる、非一時的コンピュータ可読媒体。
  58. 請求項57に記載の非一時的コンピュータ可読媒体において、前記複数のリソースのうちの前記少なくとも1つのリソースの前記状態が、故障状態、利用状態、または故障状態と利用状態の組合せである、非一時的コンピュータ可読媒体。
  59. 請求項57に記載の非一時的コンピュータ可読媒体において、前記複数の仮想システム・オン・チップの前記仮想システム状態が、故障状態、利用状態、または故障状態と利用状態の組合せである、非一時的コンピュータ可読媒体。
  60. 請求項49に記載の非一時的コンピュータ可読媒体において、
    前記リソースアライメントが、前記複数のリソースと前記複数の仮想システム・オン・チップとの間に複数のマッピングを含み、
    前記一連の命令が前記プロセッサ装置に、さらに、前記少なくとも1つの事象に応答して前記複数のマッピングのうちの少なくとも1つのマッピングを動的に修正する手順を実行させる、非一時的コンピュータ可読媒体。
  61. 請求項60に記載の非一時的コンピュータ可読媒体において、
    前記少なくとも1つのマッピングが、前記複数のリソースのうちの所与のリソースを前記複数の仮想システム・オン・チップのうちの所与の仮想システム・オン・チップにアラインし、
    前記一連の命令が前記プロセッサ装置に、さらに、前記所与の仮想システム・オン・チップが前記所与のリソースを採用できないように、かつ、少なくとも1つの他の仮想システム・オン・チップが前記所与のリソースを採用できるようにするために、前記複数の仮想システム・オン・チップのうちの前記少なくとも1つの他の仮想システム・オン・チップに前記所与のリソースをアラインする手順を実行させる、非一時的コンピュータ可読媒体。
  62. 請求項49に記載の非一時的コンピュータ可読媒体において、前記一連の命令が前記プロセッサ装置に、さらに、少なくとも1つのマッピングを前記リソースアライメントに追加する手順を実行させ、前記少なくとも1つのマッピングが、前記複数の仮想システム・オン・チップのうちの1つの仮想システム・オン・チップに、前記複数のリソースのうちの1つのリソースをアラインする、非一時的コンピュータ可読媒体。
  63. 請求項49に記載の非一時的コンピュータ可読媒体において、
    前記リソースアライメントが、前記複数のリソースと前記複数の仮想システム・オン・チップとの間に複数のマッピングを含み、
    前記一連の命令が前記プロセッサ装置に、さらに、前記複数のマッピングから少なくとも1つのマッピングを削除する手順を実行させる、非一時的コンピュータ可読媒体。
  64. 請求項49に記載の非一時的コンピュータ可読媒体において、前記一連の命令が前記プロセッサ装置に、さらに、
    前記複数の仮想システム・オン・チップのうちの2つ以上の仮想システム・オン・チップが、前記リソースアライメントに基づいて、前記複数のリソースのうちの所与のリソースを共有できるようにする手順を実行させる、非一時的コンピュータ可読媒体。
  65. 請求項64に記載の非一時的コンピュータ可読媒体において、前記一連の命令が前記プロセッサ装置に、さらに、
    前記複数の仮想システム・オン・チップのうちの2つ以上の仮想システム・オン・チップが、前記所与のリソースに関して前記仮想システム・オン・チップそれぞれに割り当てられた各使用率に基づいて前記所与のリソースを使用する手順を実行させる、非一時的コンピュータ可読媒体。
  66. 請求項49に記載の非一時的コンピュータ可読媒体において、前記一連の命令が前記プロセッサ装置に、さらに、
    前記複数の仮想システム・オン・チップのうちの所与の仮想システム・オン・チップが、前記リソースアライメントに基づいて、所与のリソースを独占的に使用できるようにする手順を実行させる、非一時的コンピュータ可読媒体。
  67. 請求項49に記載の非一時的コンピュータ可読媒体において、前記少なくとも1つの事象が、プロセッサ装置の外部で生じる外部事象を含む、非一時的コンピュータ可読媒体。
  68. 請求項49に記載の非一時的コンピュータ可読媒体において、前記少なくとも1つの事象が、時刻に基づく事前スケジュールされた事象を含む、非一時的コンピュータ可読媒体。
  69. 請求項49に記載の非一時的コンピュータ可読媒体において、前記少なくとも1つの事象が、前記複数のリソースのうちの所与のリソースの誤動作を示す故障事象を含む、非一時的コンピュータ可読媒体。
  70. 請求項49に記載の非一時的コンピュータ可読媒体において、前記少なくとも1つの事象が、前記複数のリソースのうちの少なくとも1つのリソースがオーバサブスクリプションであることを示すか、または、前記複数の仮想システム・オン・チップのうちの少なくとも1つの仮想システム・オン・チップがオーバサブスクリプションであることを示す、オーバサブスクリプション事象を含む、非一時的コンピュータ可読媒体。
  71. 請求項49に記載の非一時的コンピュータ可読媒体において、前記少なくとも1つの事象が、前記複数の仮想システム・オン・チップのうちの所与の仮想システム・オン・チップにアラインされた、前記複数のリソースのうちの所与のリソースが、前記所与の仮想システム・オン・チップによる使用率であって、閾値未満の使用率を有することを示すアイドル事象を含む、非一時的コンピュータ可読媒体。
  72. 請求項49に記載の非一時的コンピュータ可読媒体において、前記リソースアライメントを動的に修正する前記手順がスループットの損失を防止し、前記スループットの損失は、防止されなければ前記少なくとも1つの事象によってもたらされる、非一時的コンピュータ可読媒体。
JP2017083643A 2016-04-22 2017-04-20 動的仮想システム・オン・チップのための方法および装置 Pending JP2017199369A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022094870A JP7334396B2 (ja) 2016-04-22 2022-06-13 動的仮想システム・オン・チップのための方法および装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/136,330 US10235211B2 (en) 2016-04-22 2016-04-22 Method and apparatus for dynamic virtual system on chip
US15/136,330 2016-04-22

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2022094870A Division JP7334396B2 (ja) 2016-04-22 2022-06-13 動的仮想システム・オン・チップのための方法および装置

Publications (2)

Publication Number Publication Date
JP2017199369A true JP2017199369A (ja) 2017-11-02
JP2017199369A5 JP2017199369A5 (ja) 2020-02-20

Family

ID=60020886

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2017083643A Pending JP2017199369A (ja) 2016-04-22 2017-04-20 動的仮想システム・オン・チップのための方法および装置
JP2022094870A Active JP7334396B2 (ja) 2016-04-22 2022-06-13 動的仮想システム・オン・チップのための方法および装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2022094870A Active JP7334396B2 (ja) 2016-04-22 2022-06-13 動的仮想システム・オン・チップのための方法および装置

Country Status (6)

Country Link
US (1) US10235211B2 (ja)
JP (2) JP2017199369A (ja)
KR (2) KR102362826B1 (ja)
CN (2) CN116820763A (ja)
DE (1) DE102017206710A1 (ja)
TW (1) TWI800480B (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019207624A (ja) * 2018-05-30 2019-12-05 富士通株式会社 情報処理システム、情報処理システムの制御方法及び管理装置の制御プログラム
JP7342753B2 (ja) 2020-03-18 2023-09-12 株式会社デンソー 車両用位置特定装置及び車両用位置特定方法
JP7448653B2 (ja) 2019-11-25 2024-03-12 インターナショナル・ビジネス・マシーンズ・コーポレーション サーバ内の仮想ドロワー

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8826271B2 (en) 2010-04-28 2014-09-02 Cavium, Inc. Method and apparatus for a virtual system on chip
US11159376B2 (en) * 2018-05-24 2021-10-26 International Business Machines Corporation System and method for network infrastructure analysis and convergence
WO2020105749A1 (ko) * 2018-11-21 2020-05-28 엘지전자 주식회사 차량에 구비되는 장치 및 그 제어 방법
WO2020145432A1 (ko) * 2019-01-09 2020-07-16 엘지전자 주식회사 Multi soc 시스템을 통해 차량을 제어하는 방법
WO2022187432A2 (en) * 2021-03-03 2022-09-09 Battelle Memorial Institute Systems and methods for providing virtual system-on-chip (vsoc) instances

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001331331A (ja) * 2000-05-18 2001-11-30 Nec Corp 唯一プロセス・マルチスレッドオペレーティングシステム
JP2009075766A (ja) * 2007-09-19 2009-04-09 Toshiba Corp 仮想計算機システム及び同システムにおけるスケジュール調整方法
US20110271277A1 (en) * 2010-04-28 2011-11-03 Cavium Networks, Inc. Method and apparatus for a virtual system on chip
US20110296019A1 (en) * 2010-05-28 2011-12-01 James Michael Ferris Systems and methods for managing multi-level service level agreements in cloud-based networks
JP2012018515A (ja) * 2010-07-07 2012-01-26 Fujitsu Ltd 情報処理装置,制御方法,制御プログラム
US20120102135A1 (en) * 2010-10-22 2012-04-26 Netapp, Inc. Seamless takeover of a stateful protocol session in a virtual machine environment
JP2013257789A (ja) * 2012-06-13 2013-12-26 Fujitsu Marketing Ltd サーバ制御装置およびサーバ制御プログラム
WO2014147802A1 (ja) * 2013-03-21 2014-09-25 富士通株式会社 情報処理装置、資源割当方法、及びプログラム
JP2015529918A (ja) * 2012-08-23 2015-10-08 アマゾン・テクノロジーズ、インコーポレイテッド 仮想計算機インスタンスのスケーリング
US20160092677A1 (en) * 2014-09-30 2016-03-31 Amazon Technologies, Inc. Allocation of shared system resources

Family Cites Families (64)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6381682B2 (en) 1998-06-10 2002-04-30 Compaq Information Technologies Group, L.P. Method and apparatus for dynamically sharing memory in a multiprocessor system
US6587938B1 (en) 1999-09-28 2003-07-01 International Business Machines Corporation Method, system and program products for managing central processing unit resources of a computing environment
US7054930B1 (en) * 2000-10-26 2006-05-30 Cisco Technology, Inc. System and method for propagating filters
JP2002202959A (ja) 2000-12-28 2002-07-19 Hitachi Ltd 動的な資源分配をする仮想計算機システム
JP4087072B2 (ja) 2001-01-25 2008-05-14 株式会社日立製作所 ストレージシステム及び仮想プライベートボリューム制御方法
US7561526B2 (en) * 2002-12-17 2009-07-14 Nortel Networks Limited Communication network route determination
US7299468B2 (en) 2003-04-29 2007-11-20 International Business Machines Corporation Management of virtual machines to utilize shared resources
WO2005036806A2 (en) 2003-10-08 2005-04-21 Unisys Corporation Scalable partition memory mapping system
DE102004037024B4 (de) * 2004-07-30 2006-07-13 Siemens Ag Verfahren und Netzelement für ein die Dienstgüte erhaltendes Umrouten von Verkehr in Netzen mit langsamer Routenkonvergenz
US20060070065A1 (en) 2004-09-29 2006-03-30 Zimmer Vincent J Memory support for heterogeneous virtual machine guests
US7831749B2 (en) 2005-02-03 2010-11-09 Solarflare Communications, Inc. Including descriptor queue empty events in completion events
US8141156B1 (en) * 2005-12-28 2012-03-20 At&T Intellectual Property Ii, L.P. Method and apparatus for mitigating routing misbehavior in a network
US8295275B2 (en) 2006-03-20 2012-10-23 Intel Corporation Tagging network I/O transactions in a virtual machine run-time environment
JP4756603B2 (ja) 2006-10-10 2011-08-24 ルネサスエレクトロニクス株式会社 データプロセッサ
US7958320B2 (en) 2006-12-05 2011-06-07 Intel Corporation Protected cache architecture and secure programming paradigm to protect applications
US8024728B2 (en) 2006-12-28 2011-09-20 International Business Machines Corporation Virtual machine dispatching to maintain memory affinity
US8200992B2 (en) 2007-09-24 2012-06-12 Cognitive Electronics, Inc. Parallel processing computer systems with reduced power consumption and methods for providing the same
CN101631110B (zh) 2008-07-15 2013-01-02 国际商业机器公司 基于相对位置动态确定连接建立机制的装置和方法
US8898049B2 (en) 2009-04-20 2014-11-25 International Business Machines Corporation System level power profiling of embedded applications executing on virtual multicore system-on-chip platforms
US9740533B2 (en) * 2009-08-03 2017-08-22 Oracle International Corporation Altruistic dependable memory overcommit for virtual machines
US11132237B2 (en) * 2009-09-24 2021-09-28 Oracle International Corporation System and method for usage-based application licensing in a hypervisor virtual execution environment
CN201540564U (zh) * 2009-12-21 2010-08-04 东南大学 利用虚存机制对片上异构存储资源动态分配的电路
KR101658035B1 (ko) * 2010-03-12 2016-10-04 삼성전자주식회사 가상 머신 모니터 및 가상 머신 모니터의 스케줄링 방법
US8543728B2 (en) * 2010-03-25 2013-09-24 Verizon Patent And Licensing Inc. Dampening interface flapping
US8543471B2 (en) 2010-08-24 2013-09-24 Cisco Technology, Inc. System and method for securely accessing a wirelessly advertised service
CN102369688B (zh) * 2011-04-07 2013-08-07 华为技术有限公司 资源动态调整方法和调度设备
US8484392B2 (en) * 2011-05-31 2013-07-09 Oracle International Corporation Method and system for infiniband host channel adaptor quality of service
US8954961B2 (en) * 2011-06-30 2015-02-10 International Business Machines Corporation Geophysical virtual machine policy allocation using a GPS, atomic clock source or regional peering host
US20130024857A1 (en) * 2011-07-19 2013-01-24 Nexenta Systems, Inc. Method and system for flexible resource mapping for virtual storage appliances
US9639379B1 (en) * 2011-07-19 2017-05-02 Open Invention Network Llc Dynamic configuration of virtual machines
US20130024856A1 (en) * 2011-07-19 2013-01-24 Nexenta Systems, Inc. Method and apparatus for flexible booting virtual storage appliances
TWI533146B (zh) * 2011-11-10 2016-05-11 財團法人資訊工業策進會 虛擬資源調整裝置、方法及儲存其之電腦可讀取紀錄媒體
US8977886B2 (en) 2012-02-14 2015-03-10 Alcatel Lucent Method and apparatus for rapid disaster recovery preparation in a cloud network
US20130263117A1 (en) * 2012-03-28 2013-10-03 International Business Machines Corporation Allocating resources to virtual machines via a weighted cost ratio
US8964735B2 (en) 2012-05-18 2015-02-24 Rackspace Us, Inc. Translating media access control (MAC) addresses in a network hierarchy
US20140007097A1 (en) * 2012-06-29 2014-01-02 Brocade Communications Systems, Inc. Dynamic resource allocation for virtual machines
KR101393237B1 (ko) * 2012-07-23 2014-05-08 인하대학교 산학협력단 그리드 컴퓨팅에서 동적 유효자원 재배치 기반 작업 할당 장치 및 방법
CN103888420A (zh) * 2012-12-20 2014-06-25 中国农业银行股份有限公司广东省分行 一种虚拟服务器系统
US9286086B2 (en) * 2012-12-21 2016-03-15 Commvault Systems, Inc. Archiving virtual machines in a data storage system
EP2936754B1 (en) * 2013-01-11 2020-12-02 Huawei Technologies Co., Ltd. Network function virtualization for a network device
JP2014138407A (ja) * 2013-01-18 2014-07-28 Hitachi Ltd ノード装置、通信システム及び仮想スイッチの切替方法
US9135126B2 (en) * 2013-02-07 2015-09-15 International Business Machines Corporation Multi-core re-initialization failure control system
US20140258595A1 (en) * 2013-03-11 2014-09-11 Lsi Corporation System, method and computer-readable medium for dynamic cache sharing in a flash-based caching solution supporting virtual machines
TW201525717A (zh) * 2013-12-25 2015-07-01 Univ Nat Pingtung Sci & Tech 雲端服務的資源調適方法
US9519596B2 (en) * 2014-03-06 2016-12-13 Stmicroelectronics (Grenoble 2) Sas Resource access control in a system-on-chip
US9838253B2 (en) 2014-04-10 2017-12-05 Fujitsu Limited Object-oriented network virtualization
US9424063B2 (en) * 2014-04-29 2016-08-23 Vmware, Inc. Method and system for generating remediation options within a cluster of host computers that run virtual machines
WO2015178032A1 (ja) 2014-05-23 2015-11-26 日本電気株式会社 通信装置、通信方法、通信システムおよびプログラム
US9690608B2 (en) * 2014-06-12 2017-06-27 Vmware, Inc. Method and system for managing hosts that run virtual machines within a cluster
US9800592B2 (en) * 2014-08-04 2017-10-24 Microsoft Technology Licensing, Llc Data center architecture that supports attack detection and mitigation
CN104331331B (zh) * 2014-11-02 2017-07-28 中国科学技术大学 任务数目和性能感知的可重构多核处理器的资源分配方法
US9584377B2 (en) * 2014-11-21 2017-02-28 Oracle International Corporation Transparent orchestration and management of composite network functions
US9462084B2 (en) * 2014-12-23 2016-10-04 Intel Corporation Parallel processing of service functions in service function chains
JP6447217B2 (ja) * 2015-02-17 2019-01-09 富士通株式会社 実行情報通知プログラム、情報処理装置および情報処理システム
JP2016163180A (ja) * 2015-03-02 2016-09-05 日本電気株式会社 通信システム、通信方法、及びプログラム
US9769206B2 (en) * 2015-03-31 2017-09-19 At&T Intellectual Property I, L.P. Modes of policy participation for feedback instances
CN104915151B (zh) * 2015-06-02 2018-12-07 杭州电子科技大学 多虚拟机系统中一种主动共享的内存超量分配方法
US9973432B2 (en) * 2015-07-10 2018-05-15 International Business Machines Corporation Load balancing in a virtualized computing environment based on a fabric limit
US10169066B2 (en) * 2015-08-06 2019-01-01 Ionroad Technologies Ltd. System and method for enhancing advanced driver assistance system (ADAS) as a system on a chip (SOC)
JP2017107274A (ja) * 2015-12-07 2017-06-15 富士通株式会社 仮想マシン増設方法、情報処理装置および仮想マシン増設システム
US9967165B2 (en) * 2015-12-07 2018-05-08 Keysight Technologies Singapore (Holdings) Pte. Ltd. Methods, systems, and computer readable media for packet monitoring in a virtual environment
US20170177395A1 (en) * 2015-12-21 2017-06-22 Mingqiu Sun Embedded architecture based on process virtual machine
EP3188017A1 (en) * 2015-12-29 2017-07-05 Harmonic Inc. Scheduler of processes having timed predictions of computing loads
JP6604220B2 (ja) * 2016-02-02 2019-11-13 富士通株式会社 管理装置、管理システム、及びスケーリング方法

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001331331A (ja) * 2000-05-18 2001-11-30 Nec Corp 唯一プロセス・マルチスレッドオペレーティングシステム
JP2009075766A (ja) * 2007-09-19 2009-04-09 Toshiba Corp 仮想計算機システム及び同システムにおけるスケジュール調整方法
US20110271277A1 (en) * 2010-04-28 2011-11-03 Cavium Networks, Inc. Method and apparatus for a virtual system on chip
US20110296019A1 (en) * 2010-05-28 2011-12-01 James Michael Ferris Systems and methods for managing multi-level service level agreements in cloud-based networks
JP2012018515A (ja) * 2010-07-07 2012-01-26 Fujitsu Ltd 情報処理装置,制御方法,制御プログラム
US20120102135A1 (en) * 2010-10-22 2012-04-26 Netapp, Inc. Seamless takeover of a stateful protocol session in a virtual machine environment
JP2013257789A (ja) * 2012-06-13 2013-12-26 Fujitsu Marketing Ltd サーバ制御装置およびサーバ制御プログラム
JP2015529918A (ja) * 2012-08-23 2015-10-08 アマゾン・テクノロジーズ、インコーポレイテッド 仮想計算機インスタンスのスケーリング
WO2014147802A1 (ja) * 2013-03-21 2014-09-25 富士通株式会社 情報処理装置、資源割当方法、及びプログラム
US20160092677A1 (en) * 2014-09-30 2016-03-31 Amazon Technologies, Inc. Allocation of shared system resources

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019207624A (ja) * 2018-05-30 2019-12-05 富士通株式会社 情報処理システム、情報処理システムの制御方法及び管理装置の制御プログラム
JP7102950B2 (ja) 2018-05-30 2022-07-20 富士通株式会社 情報処理システム、情報処理システムの制御方法及び管理装置の制御プログラム
JP7448653B2 (ja) 2019-11-25 2024-03-12 インターナショナル・ビジネス・マシーンズ・コーポレーション サーバ内の仮想ドロワー
JP7342753B2 (ja) 2020-03-18 2023-09-12 株式会社デンソー 車両用位置特定装置及び車両用位置特定方法

Also Published As

Publication number Publication date
KR102516167B1 (ko) 2023-03-30
TW202328915A (zh) 2023-07-16
KR20170121056A (ko) 2017-11-01
DE102017206710A1 (de) 2017-10-26
CN107436808B (zh) 2023-07-07
US20170308408A1 (en) 2017-10-26
US10235211B2 (en) 2019-03-19
TW201810035A (zh) 2018-03-16
JP2022123018A (ja) 2022-08-23
CN107436808A (zh) 2017-12-05
JP7334396B2 (ja) 2023-08-29
CN116820763A (zh) 2023-09-29
KR20220017985A (ko) 2022-02-14
TWI800480B (zh) 2023-05-01
KR102362826B1 (ko) 2022-02-11

Similar Documents

Publication Publication Date Title
JP7334396B2 (ja) 動的仮想システム・オン・チップのための方法および装置
US11824962B2 (en) Methods and apparatus for sharing and arbitration of host stack information with user space communication stacks
US10263832B1 (en) Physical interface to virtual interface fault propagation
US7996569B2 (en) Method and system for zero copy in a virtualized network environment
US10003534B2 (en) Multiple active L3 gateways for logical networks
US11048569B1 (en) Adaptive timeout mechanism
US9313302B2 (en) Stateless packet segmentation and processing
US9473394B1 (en) Proactive flow table for virtual networks
US10768958B2 (en) Using virtual local area networks in a virtual computer system
WO2018023498A1 (zh) 网络接口卡、计算设备以及数据包处理方法
US11729098B2 (en) Methods and apparatus to manage a physical network to reduce network dependencies in a multi-fabric virtual network
US11277382B2 (en) Filter-based packet handling at virtual network adapters
CN115733782A (zh) 用于数据包处理操作的双用户空间-内核空间数据路径
WO2023114184A1 (en) Encrypted data packet forwarding
US20180165156A1 (en) Communication apparatus, system, method, and non-transitory medium
TWI838190B (zh) 動態虛擬晶片上系統之方法、其處理器設備以及其非暫態電腦可讀取媒體
WO2018157543A1 (zh) 定时器实现方法及相关装置
US11477274B2 (en) Capability-aware service request distribution to load balancers

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200108

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200108

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210303

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210309

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20210607

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20210817

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210906

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20220215