JP2018181378A - ハードウェア内で変換索引バッファ(tlb)シュートダウンを指示および追跡するための方法およびシステム、並びに非一時的なコンピュータ可読媒体 - Google Patents
ハードウェア内で変換索引バッファ(tlb)シュートダウンを指示および追跡するための方法およびシステム、並びに非一時的なコンピュータ可読媒体 Download PDFInfo
- Publication number
- JP2018181378A JP2018181378A JP2018146132A JP2018146132A JP2018181378A JP 2018181378 A JP2018181378 A JP 2018181378A JP 2018146132 A JP2018146132 A JP 2018146132A JP 2018146132 A JP2018146132 A JP 2018146132A JP 2018181378 A JP2018181378 A JP 2018181378A
- Authority
- JP
- Japan
- Prior art keywords
- tlb
- core
- request
- processor
- processor core
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 85
- 238000013519 translation Methods 0.000 title claims abstract description 9
- 230000015654 memory Effects 0.000 claims abstract description 68
- 230000008569 process Effects 0.000 claims abstract description 63
- 238000012545 processing Methods 0.000 claims abstract description 31
- 206010010099 Combined immunodeficiency Diseases 0.000 description 21
- 238000007726 management method Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 230000014616 translation Effects 0.000 description 4
- 238000001360 collision-induced dissociation Methods 0.000 description 3
- 238000012552 review Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000035755 proliferation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45583—Memory management, e.g. access or allocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/15—Use in a specific computing environment
- G06F2212/152—Virtualized environment, e.g. logically partitioned system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/68—Details of translation look-aside buffer [TLB]
- G06F2212/682—Multiprocessor TLB consistency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/68—Details of translation look-aside buffer [TLB]
- G06F2212/683—Invalidation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
本願は、2016年6月8日に出願された米国仮特許出願第62/347495号の出願日の利益を主張し、その開示が参照により本明細書に組み込まれる。
マルチコアプロセッサおよび仮想プロセッサの普及により、仮想メモリの使用が増えている。仮想メモリは、システムのプロセッサ上で動作する各プロセスに使用される実際の物理メモリがシステム内に分散されても、各プロセスに連続したメモリを与えているという錯覚を提供する。この場合、仮想メモリは、一般的にページごとに分けられ、各ページは、システムの物理メモリの位置にマッピングされる。ページテーブルを使用することによって、データを格納している対応の物理メモリアドレスにデータの仮想メモリページをマッピングすることができる。仮想メモリページを対応する物理アドレスに変換する速度を高めるために、プロセッサの各コアは、物理メモリアドレスに最近変換した仮想メモリページを格納する変換索引バッファ(Translation Lookaside Buffer、TLB)を実装することができる。
interrupt)命令を各目標プロセッサコアに送信することによって達成される。指示されたプロセッサコアは、マッピング解除されたエントリを各々のTLBテーブルから削除し、削除が完了すると、TLBシュートダウンを開始したプロセッサに知らせることができる。開始したプロセッサ上のOSソフトウェアは、さらに他の処理を再開する前に、すべての応答が戻るまで待機しなければならない。同様に、受信したプロセッサコアは、さらに他の処理を再開する前に、TLBシュートダウン要求の処理を完了しなければならない。
本開示内のさまざまな実施形態は、一般的に、TLBシュートダウン要求の処理に関する。1つの態様は、ハードウェア内でTLBシュートダウンを指示および追跡するための
方法を含む。この場合、1つ以上のプロセッサコアを備える1つ以上のプロセッサは、一プロセッサコア上で実行中のプロセスが1つ以上の仮想メモリページと以前に関連付けられた1つ以上の物理メモリアドレスとの関連性を失わせたことを決定することができる。関連性の喪失を引き起こしたプロセスを実行しているプロセッサコアは、TLBシュートダウン要求を生成することができる。プロセッサコアは、TLBシュートダウン要求を他のコアに送信することができる。TLBシュートダウン要求は、識別情報と、関連性が喪失され且つ他のコアに対応するTLBからフラッシュされる必要のある仮想メモリページを示すシュートダウンアドレスと、他のコアがTLBシュートダウン要求の処理完了を通知する場所を示す通知アドレスとを含むことができる。
概要
本願の技術は、変換索引バッファ(Translation Lookaside Buffer、TLB)シュートダウンを効率的に処理するためのシステムおよび方法並びにコンピュータ可読媒体に関する。従来のマルチコアプロセッサおよび仮想マシン(VM)環境において、TLBシュートダウンは、第1コアから送信され、プロセッサ上の他のコア(またはコアのサブセット)の各々によって受信される。各々の受信コアは、対応するTLBを見直し、TLBシュートダウンによって除去する必要があると示された仮想ページを含んでいるか否かを判断する必要がある。TLBシュートダウンを成功に行ったまたは行う必要がないと判断された場合、受信コアは、送信コアに対して、TLBシュートダウンの処理完了を個別に通知する必要がある。特にTLBシュートダウンが仮想マシンのプロセスインスタンスによって開始される場合、複数層のソフトウェアを介した通信がすべてのコアによるさらに他の処理を大幅に遅延させる可能性があるため、この処理は、莫大な時間およびリソースを要する。
図1は、TLBシュートダウンを実行できるシステム100を示している。システムは、少なくとも1つのプロセッサ103を含む。また、システム100は、ページテーブル131と、物理メモリ141と、二次メモリ151と、電力管理ユニット161とをさらに含む。
にコンパイルされたスクリプトまたは独立ソースコードモジュール群を含む任意の他のコンピュータ言語で格納されことができる。機能、方法および命令のルーチンは、以下で詳しく説明される。
、ハイパーバイザ231などのハイパーバイザまたは仮想マシンマネージャ(VMM)を含むオペレーティングシステムを動作させることができる。いくつかの実施形態において、ハイパーバイザ221は、ホスト231なしでプロセッサ103上で直接動作することができる。このような応用を達成するために、ハイパーバイザおよびVMMは、互換的に使用される。さらに、当業者であれば認識するように、ホスト231上のオペレーティングシステムは、Linux(登録商標)オペレーティングシステム、Windows(登録商標)オペレーティングシステム、または仮想マシンをサポートすることができる任意適切な他のオペレーティングシステムであってもよい。
システムを実行し、VM201は、Windows(登録商標)オペレーティングシステムを実
行し、VM203は、Solaris(登録商標)オペレーティングシステムを実行してもよい
。オペレーティングシステムのさまざまな組み合わせは、当業者には容易に明らかであり、本明細書において詳細に説明しない。いくつかの実施形態において、VMは、他のVM内にネストすることができる。例えば、VM201は、別のゲストVMをホストすることができる。
TLBシュートダウン要求を効率的に処理するために、仮想メモリページを削除する必要があるTLBに関連付けられたコアのみに、TLBシュートダウンを指示および追跡することによって、TLBシュートダウンを低減することができる。例えば、図4に示すように、1つ以上のプロセッサコア上で実行しているプロセスが、1つ以上の仮想メモリページと以前に関連付けられた1つ以上の物理メモリアドレスとの関連性を失わせた場合、ブロック401に示すように、関連性の喪失を引き起こしたコアによって、TLBシュートダウン要求を生成することができる。上記で説明したように、TLBシュートダウン要求は、シュートダウンが必要であるか否かを各受信コアに迅速に判断させることを可能にする識別情報、各TLBからフラッシュされる必要のある仮想メモリページを示すシュートダウンアドレス、および受信コアがTLBシュートダウン要求の処理完了を通知できる
場所を示す通知アドレスを含む。
各コアにおいて、受信コアの識別情報とTLBシュートダウン要求に含まれる識別情報との比較を行うことができる。受信コアの識別情報とTLBシュートダウン要求に含まれる識別情報とが一致しない場合、ブロック503に示すように、TLBシュートダウン要求を無視してもよい。そうでない場合、受信コアは、各々のTLBを検討し、シュートダウンアドレスを含むか否かを判断する。シュートダウンアドレスを含む場合、ブロック505に示すように、そのアドレスを無効化する。
、回路基板、シャーシなどに割り当てられてもよい。
Claims (20)
- ハードウェア内で変換索引バッファ(TLB)シュートダウンを指示および追跡するための方法であって、
1つ以上のプロセッサコアをそれぞれ備える1つ以上のプロセッサによって、第1プロセッサコア上で実行中のプロセスが1つ以上の仮想メモリページと以前に関連付けられた1つ以上の物理メモリアドレスとの関連性を失わせたことを検出するステップと、
前記第1プロセッサコアによって、TLBシュートダウン要求を生成するステップと、
前記第1プロセッサコアによって、前記TLBシュートダウン要求を前記1つ以上のプロセッサコアのうち他のプロセッサコアに送信するステップとを含み、
前記TLBシュートダウン要求は、
関連性が喪失され且つ前記他のプロセッサコアに対応するTLBからフラッシュされる必要のある仮想メモリページを示すシュートダウンアドレスと、
前記他のプロセッサコアがTLBシュートダウン要求の処理完了を通知する場所を示す通知アドレスと、
識別情報とを含む、方法。 - 前記方法は、前記他のプロセッサコアが前記TLBシュートダウン要求の処理を完了した場合、前記他のプロセッサコアから通知を受信するステップをさらに含み、
前記通知は、前記通知アドレスで受信される、請求項1に記載の方法。 - 前記1つ以上のプロセッサは、1つ以上の仮想マシンを実行し、
前記仮想マシンは、1つ以上の仮想コンピュータプロセッサ(VCPU)を含み、
前記プロセスは、前記1つ以上のVCPU上で実行される第1プロセスである、請求項1に記載の方法。 - 電力管理ユニットによって、前記TLBシュートダウン要求を受信した第2コアが低電力状態にあるか否かを判断するステップと、
前記第2コアが低電力状態にある場合、前記電力管理ユニットによって、前記TLBシュートダウン要求を通知するステップとをさらに含む、請求項1に記載の方法。 - 高度なプログラム可能な割込みコントローラ(APIC)によって、前記TLBシュートダウン要求を受信した第2コアが低電力状態にあるか否かを判断するステップと、
前記第2コアが低電力状態にある場合、前記APICによって、前記TLBシュートダウン要求を通知するステップとをさらに含む、請求項1に記載の方法。 - 前記識別情報は、構成要素の識別子を含み、
前記構成要素は、VM、前記VMに含まれたVCPU、プロセッサコア、および/または、VCPUもしくはプロセッサコア内で実行されるプロセスのうち1種以上を含む、請求項3に記載の方法。。 - 前記識別情報によって識別された前記構成要素のすべてが前記TLBシュートダウンを通知するまで、前記識別された構成要素から受信した通知の数を追跡するステップと、
前記識別情報によって識別された前記構成要素のすべてから通知を受信した場合、前記第1プロセッサコアによって、前記TLBシュートダウン要求を完了するステップとをさらに含む、請求項6に記載の方法。 - ハードウェア内で変換索引バッファ(TLB)シュートダウンを指示および追跡するためのシステムであって、
1つ以上のプロセッサを備え、各プロセッサは1つ以上のプロセッサコアを含み、
前記1つ以上のプロセッサは、
第1プロセッサコア上で実行中のプロセスが1つ以上の仮想メモリページと以前に関連付けられた1つ以上の物理メモリアドレスとの関連性を失わせたことを決定し、
TLBシュートダウン要求を生成し、
前記TLBシュートダウン要求を前記1つ以上のプロセッサコアのうち他のプロセッサコアに送信するように構成され、
前記TLBショットダウン要求は、
関連性が喪失され且つ前記他のプロセッサコアに対応するTLBからフラッシュされる必要のある仮想メモリページを示すシュートダウンアドレスと、
前記他のプロセッサコアがTLBシュートダウン要求の処理完了を通知する場所を示す通知アドレスと、
識別情報とを含む、システム。 - 前記1つ以上のプロセッサは、前記他のプロセッサコアが前記TLBシュートダウン要求の処理を完了した場合、前記他のプロセッサコアから通知を受信するように構成され、
前記通知は、前記通知アドレスで受信される、請求項8に記載のシステム。 - 前記1つ以上のプロセッサは、1つ以上の仮想マシンを実行するように構成され、
前記仮想マシンは、1つ以上の仮想コンピュータプロセッサ(VCPU)を含み、
前記プロセスは、前記1つ以上のVCPU上で実行される第1プロセスである、請求項8に記載のシステム。 - 前記システムは、電力管理ユニットをさらに備え、
前記電力管理ユニットは、前記TLBシュートダウン要求を受信した第2コアが低電力状態にあるか否かを判断し、前記第2コアが低電力状態にある場合、前記TLBシュートダウン要求を通知するように構成される、請求項8に記載のシステム。 - 高度なプログラム可能な割込みコントローラ(APIC)をさらに備え、
前記APICは、前記TLBシュートダウン要求を受信した第2コアが低電力状態にあるか否かを判断し、前記第2コアが低電力状態にある場合、前記TLBシュートダウン要求を通知するように構成される、請求項8に記載のシステム。 - 前記識別情報は、構成要素の識別子を含み、
前記構成要素は、VM、前記VMに含まれたVCPU、プロセッサコア、および/または、VCPUもしくはプロセッサコア内で実行されるプロセスのうち1種以上を含む、請求項10に記載のシステム。 - 前記1つ以上のプロセッサは、前記識別情報によって識別された前記構成要素のすべてが前記TLBシュートダウンを通知するまで、前記識別された構成要素から受信した通知の数を追跡し、前記識別情報によって識別された前記構成要素のすべてから通知を受信した場合、前記TLBシュートダウン要求を完了するように構成される、請求項13に記載のシステム。
- 命令を格納する非一時的なコンピュータ可読媒体であって、前記命令は、1つ以上のプロセッサコアをそれぞれ備える1つ以上のプロセッサによって実行されると、前記1つ以上のプロセッサに、ハードウェア内で変換索引バッファ(TLB)シュートダウンを指示および追跡するための方法を実行させ、
前記方法は、
第1プロセッサコア上で実行中のプロセスが1つ以上の仮想メモリページと以前に関連付けられた1つ以上の物理メモリアドレスとの関連性を失わせたことを検出するステッ
プと、
TLBシュートダウン要求を生成するステップと、
前記TLBシュートダウン要求を前記1つ以上のプロセッサコアのうち他のプロセッサコアに送信するステップとを含み、
前記TLBシュートダウン要求は、
関連性が喪失され且つ前記他のプロセッサコアに対応するTLBからフラッシュされる必要のある仮想メモリページを示すシュートダウンアドレスと、
前記他のプロセッサコアがTLBシュートダウン要求の処理完了を通知する場所を示す通知アドレスと、
識別情報とを含む、非一時的なコンピュータ可読媒体。 - 前記方法は、前記他のプロセッサコアが前記TLBシュートダウン要求の処理を完了した場合、前記他のプロセッサコアから通知を受信するステップをさらに含み、
前記通知は、前記通知アドレスで受信される、請求項15に記載の非一時的なコンピュータ可読媒体。 - 前記方法は、前記第2コアが低電力状態にある場合、前記電力管理ユニットから、前記TLBシュートダウン要求の通知を受信するステップをさらに含む、請求項15に記載の非一時的なコンピュータ可読媒体。
- 前記方法は、第2コアが低電力状態にある場合に、高度なプログラム可能な割込みコントローラ(APIC)から、前記TLBシュートダウン要求の通知を受信するステップをさらに含む、請求項15に記載の非一時的なコンピュータ可読媒体。
- 前記方法は、1つ以上の仮想マシンを実行させるステップをさらに含み、
前記仮想マシンは、1つ以上の仮想コンピュータプロセッサ(VCPU)を含み、
前記プロセスは、前記1つ以上のVCPU上で実行される第1プロセスである、請求項15に記載の非一時的なコンピュータ可読媒体。 - 前記方法は、前記識別情報によって識別された前記構成要素のすべてが前記TLBシュートダウンを通知するまで、前記識別された構成要素から受信した通知の数を追跡するステップと、
前記識別情報によって識別された前記構成要素のすべてから通知を受信した場合、前記第1プロセッサコアによって、前記TLBシュートダウン要求を完了するステップとをさらに含む、請求項15に記載の非一時的なコンピュータ可読媒体。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662347495P | 2016-06-08 | 2016-06-08 | |
US62/347,495 | 2016-06-08 | ||
US201615293627A | 2016-10-14 | 2016-10-14 | |
US15/293,627 | 2016-10-14 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016246448A Division JP6382924B2 (ja) | 2016-06-08 | 2016-12-20 | ハードウェア内で変換索引バッファ(tlb)シュートダウンを指示および追跡するための方法およびシステム、並びに非一時的なコンピュータ可読媒体 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2018181378A true JP2018181378A (ja) | 2018-11-15 |
JP2018181378A5 JP2018181378A5 (ja) | 2019-02-07 |
JP6716645B2 JP6716645B2 (ja) | 2020-07-01 |
Family
ID=57569990
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016246448A Active JP6382924B2 (ja) | 2016-06-08 | 2016-12-20 | ハードウェア内で変換索引バッファ(tlb)シュートダウンを指示および追跡するための方法およびシステム、並びに非一時的なコンピュータ可読媒体 |
JP2018146132A Active JP6716645B2 (ja) | 2016-06-08 | 2018-08-02 | ハードウェア内で変換索引バッファ(tlb)シュートダウンを指示および追跡するための方法およびシステム、並びに非一時的なコンピュータ可読媒体 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016246448A Active JP6382924B2 (ja) | 2016-06-08 | 2016-12-20 | ハードウェア内で変換索引バッファ(tlb)シュートダウンを指示および追跡するための方法およびシステム、並びに非一時的なコンピュータ可読媒体 |
Country Status (6)
Country | Link |
---|---|
EP (2) | EP3255550B1 (ja) |
JP (2) | JP6382924B2 (ja) |
CN (2) | CN107480075B (ja) |
DE (2) | DE102016124749B4 (ja) |
DK (2) | DK3502906T3 (ja) |
GB (1) | GB2551226A (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108710584B (zh) * | 2018-05-22 | 2021-08-31 | 郑州云海信息技术有限公司 | 一种提高tlb刷新效率的方法 |
CN114595164B (zh) * | 2022-05-09 | 2022-08-16 | 支付宝(杭州)信息技术有限公司 | 在虚拟化平台中管理tlb高速缓存的方法和装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63286944A (ja) * | 1987-05-20 | 1988-11-24 | Hitachi Ltd | アドレス変換バツフア無効化方式 |
US20060026359A1 (en) * | 2004-07-30 | 2006-02-02 | Ross Jonathan K | Multiprocessor system having plural memory locations for respectively storing TLB-shootdown data for plural processor nodes |
JP2006209797A (ja) * | 1995-03-20 | 2006-08-10 | Fujitsu Ltd | キャッシュコヒーレンス装置 |
US20140189285A1 (en) * | 2012-12-29 | 2014-07-03 | Shaun M. Conrad | Apparatus and Method For Tracking TLB Flushes On A Per Thread Basis |
WO2015124899A1 (en) * | 2014-02-21 | 2015-08-27 | Arm Limited | Invalidating stored address translations |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01109452A (ja) * | 1987-10-22 | 1989-04-26 | Fujitsu Ltd | 変換索引バッファ情報の消去制御方式 |
JP2806778B2 (ja) * | 1994-01-28 | 1998-09-30 | 甲府日本電気株式会社 | 変換索引バッファクリア命令処理方式 |
US5906001A (en) * | 1996-12-19 | 1999-05-18 | Intel Corporation | Method and apparatus for performing TLB shutdown operations in a multiprocessor system without invoking interrup handler routines |
US20040117590A1 (en) * | 2002-12-12 | 2004-06-17 | International Business Machines Corp. | Aliasing support for a data processing system having no system memory |
US7073043B2 (en) * | 2003-04-28 | 2006-07-04 | International Business Machines Corporation | Multiprocessor system supporting multiple outstanding TLBI operations per partition |
US7188229B2 (en) * | 2004-01-17 | 2007-03-06 | Sun Microsystems, Inc. | Method and apparatus for memory management in a multi-processor computer system |
US7454590B2 (en) * | 2005-09-09 | 2008-11-18 | Sun Microsystems, Inc. | Multithreaded processor having a source processor core to subsequently delay continued processing of demap operation until responses are received from each of remaining processor cores |
JP4908017B2 (ja) * | 2006-02-28 | 2012-04-04 | 富士通株式会社 | Dmaデータ転送装置及びdmaデータ転送方法 |
US20120203831A1 (en) * | 2011-02-03 | 2012-08-09 | Kent Schoen | Sponsored Stories Unit Creation from Organic Activity Stream |
CN101398768B (zh) * | 2008-10-28 | 2011-06-15 | 北京航空航天大学 | 一种分布式虚拟机监视器系统的构建方法 |
CN102262557B (zh) * | 2010-05-25 | 2015-01-21 | 运软网络科技(上海)有限公司 | 通过总线架构构建虚拟机监控器的方法及性能服务框架 |
US9916257B2 (en) * | 2011-07-26 | 2018-03-13 | Intel Corporation | Method and apparatus for TLB shoot-down in a heterogeneous computing system supporting shared virtual memory |
CN104204990B (zh) * | 2012-03-30 | 2018-04-10 | 英特尔公司 | 在使用共享虚拟存储器的处理器中加速操作的装置和方法 |
US9411745B2 (en) * | 2013-10-04 | 2016-08-09 | Qualcomm Incorporated | Multi-core heterogeneous system translation lookaside buffer coherency |
CN105993005B (zh) | 2014-07-21 | 2019-06-04 | 上海兆芯集成电路有限公司 | 具有地址转译快取的处理器及其操作方法 |
JP6663108B2 (ja) * | 2016-02-29 | 2020-03-11 | 富士通株式会社 | 物理演算処理装置、情報処理装置及び情報処理装置の制御方法 |
-
2016
- 2016-12-14 EP EP16204029.9A patent/EP3255550B1/en active Active
- 2016-12-14 EP EP19151501.4A patent/EP3502906B1/en active Active
- 2016-12-14 DK DK19151501.4T patent/DK3502906T3/da active
- 2016-12-14 DK DK16204029.9T patent/DK3255550T3/da active
- 2016-12-14 GB GB1621246.6A patent/GB2551226A/en not_active Withdrawn
- 2016-12-19 DE DE102016124749.9A patent/DE102016124749B4/de active Active
- 2016-12-19 DE DE202016008132.3U patent/DE202016008132U1/de active Active
- 2016-12-20 JP JP2016246448A patent/JP6382924B2/ja active Active
- 2016-12-21 CN CN201611191432.0A patent/CN107480075B/zh active Active
- 2016-12-21 CN CN202011089886.3A patent/CN112286839B/zh active Active
-
2018
- 2018-08-02 JP JP2018146132A patent/JP6716645B2/ja active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63286944A (ja) * | 1987-05-20 | 1988-11-24 | Hitachi Ltd | アドレス変換バツフア無効化方式 |
JP2006209797A (ja) * | 1995-03-20 | 2006-08-10 | Fujitsu Ltd | キャッシュコヒーレンス装置 |
US20060026359A1 (en) * | 2004-07-30 | 2006-02-02 | Ross Jonathan K | Multiprocessor system having plural memory locations for respectively storing TLB-shootdown data for plural processor nodes |
US20140189285A1 (en) * | 2012-12-29 | 2014-07-03 | Shaun M. Conrad | Apparatus and Method For Tracking TLB Flushes On A Per Thread Basis |
WO2015124899A1 (en) * | 2014-02-21 | 2015-08-27 | Arm Limited | Invalidating stored address translations |
Also Published As
Publication number | Publication date |
---|---|
EP3502906B1 (en) | 2021-06-16 |
DE202016008132U1 (de) | 2017-04-24 |
GB201621246D0 (en) | 2017-01-25 |
JP6716645B2 (ja) | 2020-07-01 |
GB2551226A (en) | 2017-12-13 |
EP3255550A1 (en) | 2017-12-13 |
DK3502906T3 (da) | 2021-08-30 |
JP6382924B2 (ja) | 2018-08-29 |
EP3502906A1 (en) | 2019-06-26 |
EP3255550B1 (en) | 2019-04-03 |
CN112286839A (zh) | 2021-01-29 |
JP2017220211A (ja) | 2017-12-14 |
CN107480075B (zh) | 2020-10-27 |
CN112286839B (zh) | 2024-05-10 |
DK3255550T3 (da) | 2019-07-15 |
DE102016124749A1 (de) | 2017-12-14 |
CN107480075A (zh) | 2017-12-15 |
DE102016124749B4 (de) | 2023-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10977191B2 (en) | TLB shootdowns for low overhead | |
US9671970B2 (en) | Sharing an accelerator context across multiple processes | |
US9772962B2 (en) | Memory sharing for direct memory access by a device assigned to a guest operating system | |
US9854036B2 (en) | Method for migrating memory data of virtual machine, and related apparatus and cluster system | |
US10367688B2 (en) | Discovering changes of network interface controller names | |
US11836091B2 (en) | Secure memory access in a virtualized computing environment | |
US20160239323A1 (en) | Virtual Remote Direct Memory Access Management | |
EP3274896B1 (en) | Configuration of a memory controller for copy-on-write with a resource controller | |
CN108073451B (zh) | 一种多核cpu上异构操作系统间中断处理方法及装置 | |
JP6716645B2 (ja) | ハードウェア内で変換索引バッファ(tlb)シュートダウンを指示および追跡するための方法およびシステム、並びに非一時的なコンピュータ可読媒体 | |
US10341177B2 (en) | Parallel computing system and migration method | |
US9684529B2 (en) | Firmware and metadata migration across hypervisors based on supported capabilities | |
US20230185593A1 (en) | Virtual device translation for nested virtual machines | |
US11860792B2 (en) | Memory access handling for peripheral component interconnect devices | |
US11409551B2 (en) | Emulating VPID correctly for a nested hypervisor | |
US9652296B1 (en) | Efficient chained post-copy virtual machine migration | |
US20230214247A1 (en) | Robust resource removal for virtual machines | |
US20240211293A1 (en) | Efficient queue shadowing for virtual machines | |
EP4321998A1 (en) | Performance optimized task duplication and migration | |
CN117591252A (zh) | 性能优化的任务复制和迁移 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20181217 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20181217 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20191029 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20191029 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200124 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20200512 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200610 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6716645 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |