JP5104340B2 - 計算機装置およびそのキャッシュリカバリ方法 - Google Patents
計算機装置およびそのキャッシュリカバリ方法 Download PDFInfo
- Publication number
- JP5104340B2 JP5104340B2 JP2008014645A JP2008014645A JP5104340B2 JP 5104340 B2 JP5104340 B2 JP 5104340B2 JP 2008014645 A JP2008014645 A JP 2008014645A JP 2008014645 A JP2008014645 A JP 2008014645A JP 5104340 B2 JP5104340 B2 JP 5104340B2
- Authority
- JP
- Japan
- Prior art keywords
- history information
- cache
- data
- switching
- identifier
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Description
これに対し、仮想計算機を識別する手段を用いることにより、他の仮想計算機への悪影響を抑止する方法が知られている(例えば、特許文献1参照)。
例えば、特許文献1では、キャッシュの無効化命令以外には、性能低下を防ぐ効果がないという問題があった。
本発明に係る計算機装置1は、複数の仮想計算機を切替えて動作させる装置である。
計算機装置1は、高速キャッシュ2と、高速キャッシュ2に転送するデータ3aを記憶する記憶部3と、仮想計算機を一意に識別する識別子4aにアドレス4bが関連づけられた履歴情報4を格納する履歴情報格納部5と、動作する仮想計算機の切替えがあると、履歴情報格納部5を参照して切替え後の仮想計算機の識別子に一致する履歴情報4に含まれる識別子4aの有無を判断する判断部6と、一致した識別子4aに関連づけられたアドレス4bに基づいて、記憶部3が記憶しているデータ3aを特定させ、特定したデータ3aを高速キャッシュ2に転送させる転送指示部7と、を有する。
まず、本発明の概要について説明し、その後、実施の形態を説明する。
図1は、本発明の概要を示す図である。なお、以下の説明では、1台の計算機装置1上で複数の仮想計算機が動作している環境を前提とする。その場合、各仮想計算機は1つずつ切替わりながら動作しているものとする。
高速キャッシュ2は、例えばCPU内部のキャッシュメモリ等である。
履歴情報格納部5は、仮想計算機を一意に識別する識別子4aにアドレス4bが関連づけられた履歴情報4を格納する。アドレス4bは、識別子4aによって特定される仮想計算機が動作時に必要とするデータのアドレスであり、例えばキャッシュにフェッチ(取り込み)されるメモリデータのアドレスが取り出され、アドレス4bとして識別子4aに関連づけられている。この履歴情報4は、1つまたは複数格納される。
図2は、計算機装置のハードウェア構成例を示す図である。
計算機装置10は、CPU101によって装置全体が制御されている。CPU101には、バス107を介してRAM(Random Access Memory)102、ハードディスクドライブ(HDD:Hard Disk Drive)103、グラフィック処理装置104、入力インタフェース105、通信インタフェース106、およびリカバリコントローラ15が接続されている。
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。このようなハードウェア構成の計算機装置10においてキャッシュリカバリを行うために、計算機装置10内には、以下のような機能が設けられる。
計算機装置10は、キャッシュ11と、メモリ12と、キャッシュ履歴テーブル13と、VM−IDレジスタ14と、リカバリコントローラ15と、AND回路16とを有している。
キャッシュ履歴テーブル13は、例えばRAM102やCPU101内の高速メモリ、レジスタの一部分により構成されており、複数の履歴エントリ21、21、・・・を有している。
リカバリコントローラ15は、仮想計算機の切替えをきっかけとしてCPU101が生成するVM切替信号が入力されると、キャッシュ11へのキャッシュデータのリカバリを行うためのリカバリ動作(後述)を行う。それ以外の場合は、キャッシュ履歴テーブル13の履歴エントリ21、21、・・・にバリッドビット、VM−IDおよびキャッシュデータのアドレスを関連づけて記録する記録動作(後述)を行う。
次に、履歴エントリ21、21、・・・に格納される履歴データの記録方法(フェッチアドレス記録方法)について説明する。
リカバリコントローラ15は、メモリ12からキャッシュ11へのキャッシュデータのフェッチを観察する(ステップS1)。
リカバリコントローラ15は、ステップS1〜S3を繰り返し行う。これにより、履歴エントリ21、21、・・・にそれぞれ履歴データが格納される。
図6は、リカバリ動作を説明する図である。
前処理として、CPU101が、VM−IDレジスタ14に新たなVM−IDを格納するとともに、VM切替信号を生成する。この時点では、新たな仮想計算機による動作は開始されていない。
リカバリコントローラ15は、キャッシュ履歴テーブル13上の各履歴エントリ21、21、・・・を逐次チェックしていく(ステップS12)。
参照したアドレスのデータがメモリ12からフェッチされ(ステップS16)、再度キャッシュ11に格納されることによりキャッシュデータの復元が完了する。
次に、変形例として履歴エントリを拡張した例を示す。
<変形例>
図7は、履歴エントリを拡張した例を示す図である。
また、リカバリコントローラ15は、ハードウェア構成されているため、処理速度が速く、仮想計算機の切替えと並行して処理を行うことができる。また、ソフトウェアによる対応も不要である。
図8は、第2の実施の形態の計算機装置を示す図である。
以下、第2の実施の形態の計算機装置10aについて、前述した第1の実施の形態との相違点を中心に説明し、同様の事項については、その説明を省略する。
計算機装置10aのキャッシュ履歴テーブル13aは、テーブル内の記録場所を仮想計算機に関連づけて履歴データを管理している。具体的には、テーブル内を図7中上側から順番に各仮想計算機用にエリア分けしたbank単位で履歴データを管理している。1つのbank21bは、仮想計算機のVM−IDに等しい(または対応する)ID(VM#0、VM#1、・・・)を有しており、各bank21bには、それぞれバリッドビットおよびアドレスが格納される。
VM切替入力信号をトリガーとしてリカバリコントローラ15がリカバリ動作を開始する(ステップS21)。
リカバリコントローラ15は、チェックしたVM−IDに一致するVM−IDを有するキャッシュ履歴テーブル13a上のbank21bを検索する(ステップS23)。
参照したアドレスのデータが、メモリ12からフェッチされ(ステップS27)、再度キャッシュ11に格納されことにより、キャッシュデータの復元が完了する。
この第2の実施の形態の計算機装置10aによれば、第1の実施の形態の計算機装置10と同様の効果が得られる。
以下、第3の実施の形態の計算機装置について、前述した第1の実施の形態との相違点を中心に説明し、同様の事項については、その説明を省略する。
キャッシュ11には、データ格納領域としてキャッシュエントリ11aが設けられている。
図10は、第3の実施の形態の履歴データの記録方法を説明する図である。なお、図10に示す計算機装置10bは、計算機装置10と同様の部分については図示を省略しており、同時期に行う動作については、同じステップ番号を付している。
そして、データ追出しやデータ無効化が発生すると、キャッシュ11から追出されたり(Ejected)、無効化されたり(Invalidated)したキャッシュエントリ11a内に記録されていたアドレスと、その同じキャッシュエントリ11a内に記録されていたVM−IDを読み込む(ステップS2a)。
この第3の実施の形態の計算機装置10bによれば、第1の実施の形態の計算機装置10と同様の効果が得られる。
第4の実施の形態の計算機装置は、履歴エントリに格納されている履歴データの形態およびその制御方法が第1の実施の形態の計算機装置10と異なっている。
本実施の形態の履歴エントリ21に格納されている履歴データは、VM−ID、Aビット(アクセスビット)およびデータアドレス(address)で構成されている。なお、図11では、キャッシュ履歴テーブル13等の図示を省略している。
本実施の形態の計算機装置は、アクセス監視部41と、AND回路42〜44とを有している。
AND回路42は、AND回路16とは別個に設けられ、VM−IDレジスタ14に格納されている現在動作している仮想計算機のVM−IDと履歴エントリ21に格納されている履歴データのVM−IDとの一致を判断する。
AND回路43は、アクセス監視部41が監視しているアドレスと履歴エントリ21内のアドレスとの一致を判断するために設けられている。
AND回路44は、AND回路42の出力とAND回路43の出力がともに「1」のときのみAビットをONする。
本実施の形態の計算機装置は、プログラム実行部101aと、タイマ101bと、AND回路45、47と、OR回路46と、Aビットクリア実行部48とを有している。
また、クリア信号を出力するタイミングは、特に限定されないが、例えば、仮想計算機の割当て時間等に応じて設定するのが好ましく、一例としては、仮想計算機の割当て時間が5ms〜15msの場合、100μm毎や1ms毎等が挙げられる。また、タイマ101bにおいては、新たなクリア信号を出力するのではなく、上記タイミングの信号が存在すれば既存の信号をそのまま用いるようにしてもよい。
AND回路47は、AND回路45の出力とOR回路46の出力がともに「1」のときは「1」を出力する。
このように、リカバリ動作とは別に、履歴データの使用頻度に従ってAビットはONまたはOFFする。
図6に示す第1の実施の形態の計算機装置10のリカバリ動作と異なる点について説明し、同様の点については説明を省略する。
そして、第4の実施の形態の計算機装置10cによれば、AビットをONまたはOFFする機構を設け、AビットがONになっている履歴データのみリカバリ、プリフェッチを行うようにしたので、リカバリ対象の選択基準を高精度化することができる。これにより、無駄なキャッシュリカバリを防止することができ、リソースとしてのキャッシュ使用の効率化を図ることができる。また、迅速なキャッシュリカバリを行うことができる。
以下、第5の実施の形態の計算機装置について、前述した第4の実施の形態との相違点を中心に説明し、同様の事項については、その説明を省略する。
図15は、第5の実施の形態の履歴データを示す図である。
図16は、第5の実施の形態の計算機装置を示す図である。
優先対象設定部51には、参照要求と更新要求のどちらを優先するのかが設定されている。
図17は、ランクを示す図である。
有効ランク制御部53は、優先対象設定部51および有効ランク設定部52により設定された設定基準に基づいて、履歴データに含まれる参照ビットおよび変更ビットが設定基準を満たしているか否かを判断する。例えば、優先対象設定部51には参照要求が優先されることが設定され、有効ランク設定部52にランク2が設定されているときは、図17に示すランクテーブル52aが参照され、参照ビットおよび更新ビットがともに「1」の履歴データ、または参照ビットが「1」、更新ビットが「0」の履歴データのみ設定基準を満たしていると判断する。そして、有効ランク制御部53は、設定基準を満たしているときは、「1」を出力し、満たしていないときは「0」を出力する。
リカバリコントローラ15は、キャッシュ履歴テーブル13上の各履歴エントリ21、21、・・・を逐次チェックしていく(ステップS12)。
そして、第5の実施の形態の計算機装置10dによれば、参照ビットおよび更新ビットという、より細かい段階的な判断基準を設けたことにより、リカバリ対象の履歴データの絞り込みができ、さらに、リカバリとキャッシュリソース使用の効率化を図ることができる。
図示していないが、バリッドビットの代わりに、ビットを使用せず、CPUやシステムが備える「タイム・スタンプ・カウンタ」や、「CPUサイクル数カウンタ」等、単調増加するカウンタのカウンタ値を履歴データとともに記録し、より具体的な使用時刻を特定するようにしてもよい。この場合、ビットの定期的なクリア動作を省略することができる。また、この場合、リカバリ動作時のリカバリ対象の履歴データの選出基準として有効数や具体的な時刻を用いることもできる。
以下、第6の実施の形態の計算機装置について、前述した第4の実施の形態との相違点を中心に説明し、同様の事項については、その説明を省略する。
図18は、第6の実施の形態の計算機装置を示す図である。
有効閾値設定部61には、カウンタ比較部62が比較するカウンタの閾値(例えば10回以上等)が設定されている。
リカバリコントローラ15は、キャッシュ履歴テーブル13上の各履歴エントリ21、21、・・・を逐次チェックしていく(ステップS12)。
そして、第6の実施の形態の計算機装置10eによれば、カウンタを用いたので、より細かいリカバリ対象の履歴データの絞り込みができ、さらに、リカバリとキャッシュリソース使用の効率化を図ることができる。
なお、本実施の形態では、キャッシュのアクセス種別によらず、アクセスの度にカウンタをインクリメントするようにしたが、本発明はこれに限らず、例えば、アクセス種別(参照、更新)により、1回のカウンタ増分に重み付けを行い、更新に比べ参照を優先させたり、参照のみを有効としたりするよう制御してもよい。
また、本実施の形態では、単調増加のカウンタを用いたが、本発明はこれに限らず、例えば、エイジング方式のカウンタ(エイジングカウンタ)を利用することもできる。
各履歴エントリ21に格納されている全てのデータのエイジングカウンタが、クロック割り込みやメモリアクセス命令時に以下のルールで更新される。
(2)アクセスのなかった履歴データのエイジングカウンタは右シフトのみ行う。
次に、第7の実施の形態の計算機装置について説明する。
第7の実施の形態の計算機装置は、履歴データの格納方法および取り出し方法が第2の実施の形態の計算機装置10aと異なっている。
第7の実施の形態の計算機装置は、各bank21bに対し、FIFO(First In First Out)制御を行うFIFO制御部71をさらに有している。。
まず、FIFO制御部71は、キャッシュアクセス時に、該当する履歴データがVM#1のbank21b内に存在しない場合は、そのキャッシュ履歴を履歴データとしてbank21bの入口en1側(図20中、上側)にエンキューする。
そしてbank21bが一杯になった場合は、FIFO制御部71は、キューの出口ex1側(図20中、下側)に最も近い履歴データを廃棄する。
そしてリカバリ時には、リカバリコントローラ15が、FIFO制御部71が指定した個数分の履歴データを用いてリカバリを行う。すなわち、本実施の形態の計算機装置(リカバリコントローラ15)は、LIFO(Last In First Out)制御を行う。
そして、第7の実施の形態の計算機装置によれば、履歴エントリの記録管理にFIFO制御を行い、リカバリ動作時にLIFO制御を行うようにしたので、CPU101とキャッシュ11との間のアクセスを監視したり、ビットのON/OFFを行ったりする必要がないので、計算機装置の構成を大幅に拡張することなく、リカバリとキャッシュリソース使用の効率化を図ることができる。また、リカバリ対象とする履歴データの個数を変えることで、計算機装置の性能に応じた処理を実行させることができる。
以下、第8の実施の形態の計算機装置について、前述した第4の実施の形態との相違点を中心に説明し、同様の事項については、その説明を省略する。
図21は、第8の実施の形態の計算機装置を示す図である。
ライトバック監視部81は、キャッシュ11からのメモリ12へのライトバック(CPU101からメモリ12にデータ書込が行われても、キャッシュ11上のデータを更新するだけで、条件が整わない限りメモリ12への書き込み反映を行わない方式)を監視し、ライトバックを検出すると、OR回路83にそのキャッシュデータのアドレスを出力する。
OR回路83は、ライトバック監視部81または無効化信号監視部82のいずれか一方からアドレスが出力されると、そのアドレスを出力する。
このAND回路43aは、これらのアドレスが一致したときは「1」を出力し、それ以外は「0」を出力する。
この第8の実施の形態の計算機装置によれば、第4の実施の形態の計算機装置10cと同様の効果が得られる。
以下、第9の実施の形態の計算機装置について、前述した第4の実施の形態との相違点を中心に説明し、同様の事項については、その説明を省略する。
第9の実施の形態の計算機装置10fは、キャッシュ11の代わりにキャッシュ11bを有し、キャッシュ履歴テーブル13に格納される履歴データは、キャッシュ11bのLRU情報(後述)に応じてセットされるUビットを有している。
キャッシュ11bは、キャッシュアドレス/データ格納部111と、LRU情報格納部112とを有している。
ここで、SET#n内のキャッシュデータが書き換えられる場合、最も古いデータが廃棄され、新しくキャッシュされたデータに置き換わる。すなわち、図23では、SET#n内のキャッシュラインWay#2のキャッシュデータが、SET#nにおける次の置換対象(リプレース対象)である。
図24は、第9の実施の形態の計算機装置のUビットの制御方法を示す図である。
なお、この処理は、リカバリ動作前に行われる処理である。
次に、LRU情報反映部15aが、見つかったキャッシュアドレス/データ格納部111に対応するLRU情報格納部112からLRU情報を取り出す(ステップS36)。
そして、第9の実施の形態の計算機装置10fによれば、キャッシュに最小限の機能を追加することで、キャッシュ履歴テーブル13にbankを設定しなくてもキャッシュリカバリの効率化を図ることができ、計算機装置の構造の簡易化を図ることができる。
Uビットのバリエーションとして、第5の実施の形態の計算機装置10dにて説明したランクのような概念を導入することもできる。
以上の第1〜第9の実施の形態に関し、更に以下の付記を開示する。
高速キャッシュと、
前記高速キャッシュに転送するデータを記憶する記憶部と、
仮想計算機を一意に識別する識別子に所定のアドレスが関連づけられた履歴情報を格納する履歴情報格納部と、
動作する仮想計算機の切替えがあると、前記履歴情報格納部を参照して切替え後の仮想計算機の前記識別子に一致する前記履歴情報に含まれる前記識別子の有無を判断する判断部と、
一致した前記識別子に関連づけられた前記所定のアドレスに基づいて、前記記憶部が記憶している前記データを特定させ、特定した前記データを前記高速キャッシュに転送させる転送指示部と、
を有することを特徴とする計算機装置。
前記データのアドレスを、前記識別子取得部が取得した前記識別子に関連づけて前記履歴情報を生成する履歴情報生成部と、
をさらに有し、
前記履歴情報格納部は、前記識別子毎に定められた履歴情報格納領域を有しており、
前記判断部は、切替え後の前記仮想計算機の前記識別子により特定される前記履歴情報格納領域を参照することを特徴とする付記1記載の計算機装置。
前記判断部は、切替え後の前記仮想計算機の前記識別子により特定される前記履歴情報格納領域を参照することを特徴とする付記1または2記載の計算機装置。
前記高速キャッシュからの前記データの追い出しまたは無効化を監視する監視部と、
前記データの追い出しまたは無効化が発生すると、追い出されたまたは無効化された前記データと、前記データに含まれている前記識別子とを関連づけて、前記履歴情報を生成する履歴情報生成部と、
をさらに有することを特徴とする付記1または2記載の計算機装置。
前記高速キャッシュへのアクセスを観測し、アクセスのあったデータに対応する前記履歴情報の前記アクセス頻度情報のアクセスの頻度を増加させるアクセス頻度増加部と、をさらに有し、
前記判断部は、前記判断の際、前記アクセス頻度情報により示されるアクセス頻度が予め定められた条件を満たす前記履歴情報に含まれる前記識別子の有無を判断することを特徴とする付記1または2記載の計算機装置。
(付記9) 所定時間アクセスがない前記アクセス頻度情報のアクセス履歴を消去する履歴消去実行部をさらに有することを特徴とする付記5記載の計算機装置。
(付記11) 前記アクセス頻度情報は、カウンタで構成されており、前記アクセス頻度増加部は、アクセスのあったデータに対応する前記履歴情報の前記カウンタをインクリメントし、前記判断部は、所定値以上のカウンタ値を備える前記履歴情報に含まれる前記識別子の有無を判断することを特徴とする付記5または9記載の計算機装置。
前記履歴情報格納領域へ前記履歴情報をFIFO方式により格納するFIFO制御部をさらに有し、
前記FIFO制御部は、前記高速キャッシュへのアクセスを観測し、アクセスのあったデータに対応する前記履歴情報が、前記履歴情報格納領域に格納されているか否かを判断し、格納されている場合、アクセスのあったデータに対応する前記履歴情報を取り出して前記履歴情報格納領域に再度エンキューし、
前記判断部は、切替え後の前記仮想計算機の前記識別子により特定される前記履歴情報格納領域を参照することを特徴とする付記1または2記載の計算機装置。
(付記14) 前記判断部の判断対象とする前記履歴情報の個数は、前記履歴情報格納領域の入口側から所定個指定されることを特徴とする付記12記載の計算機装置。
前記監視部から得られた無効化する前記データに対応する前記履歴情報を前記履歴情報格納部から削除する履歴情報削除部と、をさらに有することを特徴とする付記1または2記載の計算機装置。
アクセスの頻度を示すアクセス頻度情報を前記履歴情報に付加する付加部と、
前記仮想計算機の切替えがあると、前記高速キャッシュに格納されている前記データが廃棄対象となるか否かの指標を示すLRU情報に対応する前記履歴情報の前記アクセス頻度情報のアクセスの頻度を増加させるアクセス頻度増加部と、をさらに有し、
前記判断部は、前記判断の際、前記アクセス頻度情報により示されるアクセス頻度が予め定められた条件を満たす前記履歴情報に含まれる前記識別子の有無を判断することを特徴とする付記1または2記載の計算機装置。
前記アクセス頻度増加部は、前記データが次の廃棄対象になることを示す前記LRU情報以外の前記アクセス頻度情報のビットを有効とし、
前記判断部は、前記ビットが有効とされている前記履歴情報に含まれる前記識別子の有無を判断することを特徴とする付記17記載の計算機装置。
(付記22) 前記アクセス頻度情報は、カウンタで構成されており、前記アクセス頻度増加部は、アクセスのあったデータに対応する前記履歴情報の前記カウンタをインクリメントし、前記判断部は、所定値以上のカウンタ値を備える前記履歴情報に含まれる前記識別子の有無を判断することを特徴とする付記17記載の計算機装置。
動作する仮想計算機の切替えがあると、判断部が、仮想計算機を一意に識別する識別子に所定のアドレスが関連づけられた履歴情報を格納する履歴情報格納部を参照して切替え後の仮想計算機の前記識別子に一致する前記履歴情報に含まれる前記識別子の有無を判断し、
転送指示部が、一致した前記識別子に関連づけられた前記所定のアドレスに基づいて、記憶部上のそのアドレスに記憶されている前記データを前記高速キャッシュに転送させる、
ことを特徴とする計算機装置のキャッシュリカバリ方法。
2 高速キャッシュ
3 記憶部
3a データ
4 履歴情報
4a 識別子
4b アドレス
5 履歴情報格納部
6 判断部
7 転送指示部
11、11b キャッシュ
11a キャッシュエントリ
12 メモリ
13、13a キャッシュ履歴テーブル
14 VM−IDレジスタ
15 リカバリコントローラ
15a LRU情報反映部
16、42、43、43a、44、45、47 AND回路
21、21a 履歴エントリ
21b bank
41 アクセス監視部
46、83 OR回路
48 ビットクリア実行部
51 優先対象設定部
52 有効ランク設定部
52a ランクテーブル
53 有効ランク制御部
61 有効閾値設定部
62 カウンタ比較部
71 FIFO制御部
81 ライトバック監視部
82 無効化信号監視部
84 履歴データ削除部
101a プログラム実行部
101b タイマ
111 キャッシュアドレス/データ格納部
112 LRU情報格納部
211 領域
Claims (9)
- 複数の仮想計算機を切替えて動作させる計算機装置において、
キャッシュと、
前記キャッシュに転送するデータを記憶する記憶部と、
前記複数の仮想計算機それぞれの識別子に対応付けられた複数の履歴情報格納領域を有し、前記記憶部から前記キャッシュに転送されたデータのアドレスに、動作中の仮想計算機を一意に識別する識別子が関連づけられた履歴情報を、該履歴情報に関連づけられた識別子に対応する履歴情報格納領域に格納する履歴情報格納部と、
動作する仮想計算機の切替えがあると、切替え後の仮想計算機の識別子により特定される履歴情報格納領域を参照して、切替え後の該仮想計算機の識別子に関連づけられた履歴情報の有無を判断する判断部と、
切替え後の該仮想計算機の識別子に関連づけられた履歴情報のアドレスに基づいて、前記記憶部が記憶しているデータを特定させ、特定した該データを前記キャッシュに転送させる転送指示部と、
を有することを特徴とする計算機装置。 - 複数の仮想計算機を切替えて動作させる計算機装置において、
キャッシュと、
前記キャッシュに転送するデータを記憶する記憶部と、
前記キャッシュからのデータの追い出しまたは無効化を監視する監視部と、
前記キャッシュに転送されたデータには、動作中の仮想計算機を一意に識別する識別子が含まれており、データの追い出しまたは無効化が発生すると、追い出されたまたは無効化されたデータのアドレスに、該データに含まれている識別子が関連づけられた履歴情報を格納する履歴情報格納部と、
動作する仮想計算機の切替えがあると、前記履歴情報格納部を参照して切替え後の仮想計算機の識別子に関連づけられた履歴情報の有無を判断する判断部と、
切替え後の該仮想計算機の識別子に関連づけられた履歴情報のアドレスに基づいて、前記記憶部が記憶しているデータを特定させ、特定した該データを前記キャッシュに転送させる転送指示部と、
を有することを特徴とする計算機装置。 - 複数の仮想計算機を切替えて動作させる計算機装置において、
キャッシュと、
前記キャッシュに転送するデータを記憶する記憶部と、
前記キャッシュに転送されたデータのアドレスに、仮想計算機を一意に識別する識別子が関連づけられた履歴情報を格納する履歴情報格納部と、
前記キャッシュに転送されたデータへのアクセスの頻度を示すアクセス頻度情報を前記履歴情報に付加する付加部と、
前記キャッシュへのアクセスを観測し、アクセスのあったデータに対応する履歴情報のアクセス頻度情報のアクセスの頻度を増加させるアクセス頻度増加部と、
動作する仮想計算機の切替えがあると、前記履歴情報格納部を参照して、アクセス頻度情報により示されるアクセス頻度が予め定められた条件を満たす履歴情報のうち、切替え後の仮想計算機の識別子に関連づけられた履歴情報の有無を判断する判断部と、
切替え後の該仮想計算機の識別子に関連づけられた識別情報のアドレスに基づいて、前記記憶部が記憶しているデータを特定させ、特定した該データを前記キャッシュに転送させる転送指示部と、
を有することを特徴とする計算機装置。 - 所定時間アクセスがないアクセス頻度情報のアクセス履歴を消去する履歴消去実行部をさらに有することを特徴とする請求項3記載の計算機装置。
- アクセス頻度情報は、カウンタで構成されており、前記アクセス頻度増加部は、アクセスのあったデータに対応する履歴情報のカウンタをインクリメントし、前記判断部は、所定値以上のカウンタ値を備える履歴情報の有無を判断することを特徴とする請求項3または4記載の計算機装置。
- 複数の仮想計算機を切替えて動作させる計算機装置において、
キャッシュと、
前記キャッシュに転送するデータを記憶する記憶部と、
前記複数の仮想計算機それぞれの識別子に対応付けられた複数の履歴情報格納領域を有する履歴情報格納部と、
前記記憶部から前記キャッシュに転送されたデータのアドレスに、動作中の仮想計算機を一意に識別する識別子が関連づけられた履歴情報を、該履歴情報に関連づけられた識別子に対応する履歴情報格納領域へFIFO方式により格納し、前記キャッシュへのアクセスを観測し、アクセスのあったデータに対応する履歴情報が、履歴情報格納領域に格納されているか否かを判断し、格納されている場合、アクセスのあったデータに対応する履歴情報を取り出して履歴情報格納領域に再度エンキューするFIFO制御部と、
動作する仮想計算機の切替えがあると、切替え後の仮想計算機の識別子により特定される履歴情報格納領域を参照して、切替え後の該仮想計算機の識別子に関連づけられた履歴情報の有無を判断する判断部と、
切替え後の該仮想計算機の識別子に関連づけられた履歴情報のアドレスに基づいて、前記記憶部が記憶しているデータを特定させ、特定した該データを前記キャッシュに転送させる転送指示部と、
を有することを特徴とする計算機装置。 - 複数の仮想計算機を切替えて動作させる計算機装置において、
キャッシュと、
前記キャッシュに転送するデータを記憶する記憶部と、
前記記憶部から前記キャッシュに転送されたデータのアドレスに、動作中の仮想計算機を一意に識別する識別子が関連づけられた履歴情報を格納する履歴情報格納部と、
前記キャッシュのデータを無効化する情報を監視する監視部と、
前記監視部から得られた無効化するデータに対応する履歴情報を前記履歴情報格納部から削除する履歴情報削除部と、
動作する仮想計算機の切替えがあると、前記履歴情報格納部を参照して、切替え後の仮想計算機の識別子に関連づけられた履歴情報の有無を判断する判断部と、
切替え後の該仮想計算機の識別子に関連づけられた履歴情報のアドレスに基づいて、前記記憶部が記憶しているデータを特定させ、特定した該データを前記キャッシュに転送させる転送指示部と、
を有することを特徴とする計算機装置。 - 複数の仮想計算機を切替えて動作させる計算機装置において、
キャッシュと、
前記キャッシュに転送するデータを記憶する記憶部と、
前記記憶部から前記キャッシュに転送されたデータのアドレスに、動作中の仮想計算機を一意に識別する識別子が関連づけられた履歴情報を格納する履歴情報格納部と、
前記記憶部に記憶されているデータを前記キャッシュに割り当てる方式としてセットアソシアティブ方式を使用して、データを前記キャッシュに割り当てる割り当て部と、
前記キャッシュに転送されたデータへのアクセスの頻度を示すアクセス頻度情報を前記履歴情報に付加する付加部と、
動作する仮想計算機の切替えがあると、前記キャッシュに格納されているデータが廃棄対象となるか否かの指標を示すLRU情報に対応する履歴情報のアクセス頻度情報のアクセスの頻度を増加させるアクセス頻度増加部と、
動作する仮想計算機の切替えがあると、前記履歴情報格納部を参照して、アクセス頻度情報により示されるアクセス頻度が予め定められた条件を満たす履歴情報のうち、切替え後の仮想計算機の識別子に関連づけられた履歴情報の有無を判断する判断部と、
切替え後の該仮想計算機の識別子に関連づけられた履歴情報のアドレスに基づいて、前記記憶部が記憶しているデータを特定させ、特定した該データを前記キャッシュに転送させる転送指示部と、
を有することを特徴とする計算機装置。 - 複数の仮想計算機を切替えて動作させる計算機装置のキャッシュリカバリ方法において、
前記計算機装置が、
記憶部からキャッシュに転送されたデータのアドレスに、動作中の仮想計算機を一意に識別する識別子が関連づけられた履歴情報を、前記複数の仮想計算機それぞれの識別子に対応付けられた複数の履歴情報格納領域を有する履歴情報格納部の、該履歴情報に関連づけられた識別子に対応する履歴情報格納領域に格納し、
動作する仮想計算機の切替えがあると、切替え後の前記仮想計算機の前記識別子により特定される前記履歴情報格納領域を参照して、切替え後の仮想計算機の識別子に関連づけられた履歴情報の有無を判断し、
切替え後の該仮想計算機の識別子に関連づけられた履歴情報のアドレスに基づいて、前記記憶部が記憶しているデータを特定させ、特定した該データを前記キャッシュに転送させる、
ことを特徴とする計算機装置のキャッシュリカバリ方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008014645A JP5104340B2 (ja) | 2007-04-24 | 2008-01-25 | 計算機装置およびそのキャッシュリカバリ方法 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007114666 | 2007-04-24 | ||
JP2007114666 | 2007-04-24 | ||
JP2008014645A JP5104340B2 (ja) | 2007-04-24 | 2008-01-25 | 計算機装置およびそのキャッシュリカバリ方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008293472A JP2008293472A (ja) | 2008-12-04 |
JP5104340B2 true JP5104340B2 (ja) | 2012-12-19 |
Family
ID=40168091
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008014645A Expired - Fee Related JP5104340B2 (ja) | 2007-04-24 | 2008-01-25 | 計算機装置およびそのキャッシュリカバリ方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5104340B2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014109007A1 (ja) * | 2013-01-09 | 2014-07-17 | 株式会社 日立製作所 | ストレージ階層管理システム |
US9501418B2 (en) | 2014-06-26 | 2016-11-22 | HGST Netherlands B.V. | Invalidation data area for cache |
US9910780B2 (en) * | 2015-10-28 | 2018-03-06 | International Business Machines Corporation | Pre-loading page table cache lines of a virtual machine |
US10031834B2 (en) | 2016-08-31 | 2018-07-24 | Microsoft Technology Licensing, Llc | Cache-based tracing for time travel debugging and analysis |
US10496537B2 (en) * | 2018-02-23 | 2019-12-03 | Microsoft Technology Licensing, Llc | Trace recording by logging influxes to a lower-layer cache based on entries in an upper-layer cache |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6134643A (ja) * | 1984-07-27 | 1986-02-18 | Fujitsu Ltd | バツフア制御方式 |
JPH02307145A (ja) * | 1989-05-22 | 1990-12-20 | Nippon Telegr & Teleph Corp <Ntt> | 仮想計算機システム |
JPH04219842A (ja) * | 1990-12-20 | 1992-08-10 | Nec Corp | キャッシュ制御方式 |
JPH0793221A (ja) * | 1993-09-28 | 1995-04-07 | Hitachi Ltd | 仮想計算機システム及びその制御方法 |
JPH07105091A (ja) * | 1993-10-01 | 1995-04-21 | Hitachi Ltd | キャッシュの制御装置および制御方法 |
US6587937B1 (en) * | 2000-03-31 | 2003-07-01 | Rockwell Collins, Inc. | Multiple virtual machine system with efficient cache memory design |
JP2006099335A (ja) * | 2004-09-29 | 2006-04-13 | Seiko Epson Corp | コンテキスト処理装置 |
-
2008
- 2008-01-25 JP JP2008014645A patent/JP5104340B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2008293472A (ja) | 2008-12-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10963387B2 (en) | Methods of cache preloading on a partition or a context switch | |
US7793049B2 (en) | Mechanism for data cache replacement based on region policies | |
US9043556B2 (en) | Optimizing a cache back invalidation policy | |
US8041897B2 (en) | Cache management within a data processing apparatus | |
JPWO2008155815A1 (ja) | 情報処理装置 | |
US20100217937A1 (en) | Data processing apparatus and method | |
JP2023507078A (ja) | プリフェッチレベルの降格 | |
JP5104340B2 (ja) | 計算機装置およびそのキャッシュリカバリ方法 | |
US9483400B2 (en) | Multiplexed memory for segments and pages | |
JP2017072982A (ja) | 情報処理装置、キャッシュ制御方法およびキャッシュ制御プログラム | |
JP2009059077A (ja) | キャッシュシステム | |
US6711651B1 (en) | Method and apparatus for history-based movement of shared-data in coherent cache memories of a multiprocessor system using push prefetching | |
WO2014185652A1 (ko) | 쓰기 트래픽이 적은 캐시 메모리 블록 교체 방법 및 이를 이용한 캐시 서브시스템을 가지는 정보 처리 장치 | |
EP1980945B1 (en) | Memory access control apparatus and memory access control method | |
JP2018536219A (ja) | 仮想マシンのページ・テーブル・キャッシュ・ラインをプリロードする方法、コンピューティング・システム、およびコンピュータ・プログラム | |
US12066935B2 (en) | Cache line compression prediction and adaptive compression | |
JP2017072981A (ja) | 情報処理装置、キャッシュ制御方法およびキャッシュ制御プログラム | |
US8356141B2 (en) | Identifying replacement memory pages from three page record lists | |
US20010032297A1 (en) | Cache memory apparatus and data processing system | |
KR101976320B1 (ko) | 라스트 레벨 캐시 메모리 및 이의 데이터 관리 방법 | |
CN114450668A (zh) | 电路和方法 | |
US10366013B2 (en) | Caching structure for nested preemption | |
JP4371043B2 (ja) | ストレージシステム、スナップショット制御方法およびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100820 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120626 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120817 |
|
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: 20120904 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120917 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20151012 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |