JP6149595B2 - キャッシュメモリ制御プログラム,キャッシュメモリを内蔵するプロセッサ及びキャッシュメモリ制御方法 - Google Patents
キャッシュメモリ制御プログラム,キャッシュメモリを内蔵するプロセッサ及びキャッシュメモリ制御方法 Download PDFInfo
- Publication number
- JP6149595B2 JP6149595B2 JP2013168069A JP2013168069A JP6149595B2 JP 6149595 B2 JP6149595 B2 JP 6149595B2 JP 2013168069 A JP2013168069 A JP 2013168069A JP 2013168069 A JP2013168069 A JP 2013168069A JP 6149595 B2 JP6149595 B2 JP 6149595B2
- Authority
- JP
- Japan
- Prior art keywords
- cache
- area
- dedicated
- allocated
- acquisition request
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0871—Allocation or management of cache space
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/126—Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1041—Resource optimization
- G06F2212/1044—Space efficiency improvement
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/60—Details of cache memory
- G06F2212/601—Reconfiguration of cache memory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Devices For Executing Special Programs (AREA)
Description
前記キャッシュメモリ制御工程は,
前記プロセッサによるプロセスの実行中に発行される専用キャッシュ領域の割当を要求する専用領域獲得要求に応答して,前記専用領域獲得要求が対象とする対象処理について前記専用キャッシュ領域を割り当てた場合のキャッシュヒット率と前記共用キャッシュ領域を割り当てた場合のキャッシュヒット率との差と,メモリアクセス頻度とに基づくキャッシュ有効利用度に応じて,前記キャッシュ有効利用度が高い程専用キャッシュ領域を割当て,低い程共用キャッシュ領域を割り当てるキャッシュ領域割当工程と,
前記プロセッサによるプロセスの実行中に発行される割り当て済み専用キャッシュ領域の開放を要求する専用領域開放要求に応答して,前記割り当てられた専用キャッシュ領域の割当を解放する専用キャッシュ領域開放工程とを有し,
前記専用キャッシュ領域が割り当てられた対象処理中に発行されるメモリアクセス命令が,前記プロセッサにより前記割り当てた専用キャッシュ領域を利用して実行される。
[本実施の形態のキャッシュ領域の動的割当の概略]
[専用領域獲得要求での専用キャッシュ領域の割当S15,S16]
[専用キャッシュ領域を利用するメモリアクセスS13]
[専用領域開放要求での専用キャッシュ領域の開放]
[本実施の形態のキャッシュ領域の動的割当処理の詳細]
[キャッシュ領域の割当判定の指標]
[実キャッシュヒット数]
[メモリアクセスの局所性]
[キャッシュ有効利用度,実キャッシュ有効利用度,キャッシュ攪乱力]
[専用領域獲得要求判定処理S16(1)]
[専用領域獲得要求判定処理S16(2)]
[定期割当見直し処理S18]
[定期割当見直し処理S18(1)]
[定期割当見直し処理S18(2)]
[定期割当見直し処理S18(3)]
[プロセス切り替え時のセクタID変換テーブルの入れ替え処理]
[第2の実施の形態]
以下,上記の目次にしたがって本実施の形態を説明する。
図1は,本実施の形態におけるサーバの構成図である。サーバは,プロセッサユニット10と,メインメモリ16と,キーボードや表示装置などの入出力部17と,ハードディスクなどの大容量のストレージ18とを有する。プロセッサユニット10は,機械語命令を実行するCPU12と,キャッシュメモリとキャッシュメモリの制御部を有するキャッシュユニット13と,CPUからメインメモリ16へのアクセスの制御を行うバスインターフェース14とを有する。
図3は,本実施の形態におけるキャッシュ領域の動的割当の概略を示すフローチャート図である。まず,サーバにアプリケーションプログラムAPLをインストールした開発環境でシステムを稼働させる(S1)。まず,コンパイラをプロセッサ(CPU)に実行させて,アプリケーションプログラムAPLをコンパイルする(S2)。このコンパイル工程S2におけるキャッシュ領域の動的割当に関連する部分について以下説明する。
「プロセス全体が専用領域獲得要求の対象処理であり,そのプロセス全体で利用する専用キャッシュ領域を要求するもの」
「専用領域獲得要求の対象処理がプロセス内の一部の処理であるもの」
「専用領域獲得要求の対象処理がメモリの広範囲にアクセスしてキャッシュ領域内のデータを追い出して攪乱するもの」
「専用領域獲得要求の対象処理がキャッシュ領域にデータを固定的に記憶させ,キャッシュミスヒットがほとんど発生しないもの」
「対象処理が超短時間で終了するもの」
「対象処理が専用キャッシュ領域利用時と共用キャッシュ領域利用時とでキャッシュヒット率が大きく異なるもの」
これらを事前に調査しておくことで,本番稼働時において専用領域獲得要求に対して専用キャッシュ領域を割り当てるべきかを適切に判断することができる。
まず,アプリケーションプログラム22のプロセス内で,専用領域獲得要求が発行される(S400)。この専用領域獲得要求にはローカルセクタIDが付与されている。これに応答して,OS20内のキャッシュ割当管理部204は,専用キャッシュ領域の割当を許可するか否かの判定を実行する(S401)。この判定処理については,後述する。そして,割当が許可されると,キャッシュ割当管理部204は,割り当てる専用キャッシュ領域のキャッシュサイズをキャッシュセクタ情報設定部132に設定するとともに,キャッシュシステム13内のセクタID変換テーブル131に,ローカルセクタIDに対応するキャッシュセクタIDの欄に,割り当てた領域のセクタIDを設定する(S402)。
アプリケーションプログラム22のプロセスが実行される場合,使用する専用キャッシュ領域を識別するローカルセクタID付きの命令(機械語命令)が発行される(S403)。そして,CPU12は,そのローカルセクタID付きの命令を解釈して実行する(S403-1)。この実行に際し,CPU12は,セクタID変換テーブル131を参照してローカルセクタIDに対応するキャッシュセクタIDを取得する(S403-2)。すなわち,図7中にS403-2として示す通りである。
次に,アプリケーションプログラム22のプロセスで,専用領域開放要求が発行されると(S404),キャッシュ割当管理部204は,専用キャッシュ領域の開放処理を実行する(S405)。具体的には,セクタID変換テーブル内のローカルセクタIDに対応するキャッシュセクタIDを共用キャッシュ領域のID=0に変更する(S406)。すなわち,図7中にS406として示す通りである。また,キャッシュセクタ情報設定部132内の解放するキャッシュセクタIDのサイズが0に変更される。
以下,キャッシュ領域の動的割当処理の詳細について説明する。動的割当処理は,図3で示されるとおり,専用領域獲得要求に対する判定処理S16と,定期的な割当見直しタイミングでの判定処理S18とがある。それらについて順に説明する前に,キャッシュ領域の割当判定の指標を説明する。
[実キャッシュヒット数]
キャッシュメモリを共用キャッシュ領域と複数の専用キャッシュ領域(攪乱処理キャッシュ領域を含む)とに分割する目的は,キャッシュメモリ全体の単位時間当たりのキャッシュヒット数を最大化することにある。この単位時間当たりのキャッシュヒット数は,次の式により求めることができる。
単位時間当たりのキャッシュヒット数=キャッシュヒット率*メモリアクセス頻度 (1)
したがって,専用領域獲得要求に専用キャッシュ領域を割り当てた場合に,専用領域獲得要求の対象処理のキャッシュヒット数が高ければ,その要求に専用キャッシュ領域を割り当てることで全体のキャッシュヒット数を高めることができる。そして,キャッシュヒット率が高いがメモリアクセス頻度が低い対象処理に対して専用キャッシュ領域を割り当てるよりも,キャッシュヒット率が多少低くてもメモリアクセス頻度が高い対象処理に専用キャッシュ領域を割り当てた方が,式(1)を大きくすることができ,メインメモリにアクセスする時間を短縮する回数が多くなり,全体としてメモリアクセスが短縮できる。
実キャッシュヒット数=Σ(処理のキャッシュヒット数*処理優先度) (2)
すなわち,上記式(2)において,Σは,専用領域獲得要求の対象とする処理のキャッシュヒット数にその処理の優先度を乗算したものを,全処理分累積することを意味する。
次に,専用領域獲得要求の対象の処理には,メモリアクセスの局所性が高いものと低いものがある。メモリアクセスの局所性は,メモリアクセスのアドレスの領域が狭い範囲に集中していれば局所性は高く,広い範囲に分散していれば局所性は低くなる。対象処理のメモリアクセスの局所性が低いと,キャッシュヒット率は低くなる。ただし,キャッシュサイズを大きくすることで局所性が高まり,キャッシュヒット率が高くなる場合がある。
次に,専用領域獲得要求に対して専用のキャッシュ領域を割り当てるか否かの判断の指標として,キャッシュ有効利用度,実キャッシュ有効利用度,キャッシュ攪乱力について説明する。
キャッシュ有効利用度={(専用領域時キャッシュヒット率−共用領域時キャッシュヒット率)*メモリアクセス頻度}/使用専用キャッシュ領域のサイズ (3)
つまり,キャッシュ有効利用度(度合い)とは,共用キャッシュ領域を割り当てた場合よりも専用キャッシュ領域を割り当てた場合のほうがどれくらいキャッシュヒット率が増大するかを示すキャッシュヒット率の差分に,メモリアクセス頻度(単位時間当たりのメモリアクセス数)を乗算したキャッシュヒット数の増大を,単位キャッシュ領域当たりで示す指標である。
実キャッシュ有効利用度=キャッシュ有効利用度*対応処理優先度 (4)
式(3)(4)において,専用領域時キャッシュヒット率を図5のH(x)に,共用領域時キャッシュヒット率をBASEHに,メモリアクセス頻度をMACCESSに,使用専用キャッシュ領域のサイズをxに,対応処理優先度をPRIORITYに置き換えると,式(4)の実キャッシュ有効利用度は,次の通りになる。
実キャッシュ有効利用度=[{H(x)−BASEH}*MACCESS*PRIORITY]/x (4)
この実キャッシュ有効利用度についても,割当済み専用キャッシュ領域に対しては上記の推定キャッシュヒット率を利用することも可能である。
キャッシュ攪乱力=(1−キャッシュヒット率)*メモリアクセス頻度 (5)
キャッシュ攪乱力は,キャッシュ有効利用度とは相反する値となる。そして,このキャッシュ攪乱力は,開発環境下での特性調査でキャッシュヒット率とメモリアクセス頻度が取得されるので,予め処理毎にまたはプロセス毎に算出しておくことができる。このキャッシュ攪乱力がある基準値以上の処理は,キャッシュ攪乱処理と見なして,共用キャッシュ領域や他の専用キャッシュ領域から隔離して,攪乱処理キャッシュ領域に割り当てることで,他の処理のキャッシュヒット率の低下を抑制することができる。
図8は,図3に示した専用領域獲得要求に対する判定処理S16について第1の例のフローチャート図である。この第1の判定処理では,OS20内のキャッシュ割当管理部204が,専用領域獲得要求の対象処理のキャッシュ攪乱力(式(5))を算出して判定し(S30),キャッシュ攪乱力がある第1の基準値より高い場合は(S31のYES),その専用領域獲得要求に攪乱処理キャッシュ領域を割り当てる(S32)。
図10は,図3に示した専用領域獲得要求に対する判定処理S16について第2の例のフローチャート図である。この第2の判定処理では,OS20内のキャッシュ割当管理部204が,専用領域獲得要求の対象処理のキャッシュ攪乱力を算出して第1の基準値より大きい場合に攪乱処理キャッシュ領域を割り当てる(S30,S31,S32)ことは同じである。そして,キャッシュ割当管理部204は,キャッシュ攪乱力が第1の基準値以下の場合に,専用領域獲得要求の対象処理と割当済専用領域の実キャッシュ有効利用度(望ましくは実キャッシュ有効利用値の増加率)を比較判定して(S37),入れ替えることがより効率的である場合は(S37のYES),専用領域獲得要求に専用領域を割り当て,割当済専用領域を開放して,両者を入れ替える(S39)。逆に,入れ替えるのが効率的ではない場合は(S37のNO),専用領域獲得要求に共用キャッシュ領域を割り当てる(S40)。
そこで,上記の比較判定S37について説明する。
SH(x)={SH(x2)/H(x2)}*H(x) (6)
この推定キャッシュヒット率SH(x)を利用すれば,上記の式(4)から,割当済み専用キャッシュ領域の実キャッシュ有効利用度は,次の式(7)のように導くことができる。
CCn=[{SH(x)−BASEH}*MACCESSn*PRIORITYn]/x (7)
ここで,nは,専用領域獲得要求の対象処理を示す。したがって,式(7)はある一つの対象処理に対する推定キャッシュヒット率SH(x)を利用した実キャッシュ有効利用度である。そして,未割当の専用領域獲得要求に対する実キャッシュ有効利用度は,前述の式(4)のとおりであり,以下のようになる。
実キャッシュ有効利用度n=[{H(x)−BASEH}*MACCESSn*PRIORITYn]/x (4)
専用領域獲得要求にはあるサイズxの専用キャッシュ領域が割り当てられる。したがって,割当済み専用キャッシュ領域との入れ替えを判定するためには,単位領域当たりの実キャッシュ有効利用度の増加値(実キャッシュ有効利用度の増加率)を考慮することが有効である。これを利用することで,割当済専用キャッシュ領域のサイズを+1するか−1するかにより実キャッシュ有効利用度がどの程度変化するかを考慮することができる。
CHHn(x)={SH(x)−SH(x-1)}*MACCESSn*PRIORITYn (8)
式(8)からわかるとおり,式(7)のように領域サイズxで除算していないので,CHHn(x)は,実キャッシュ有効利用数の増加率である。以下,式(8)を実キャッシュ有効利用数の増加率と称する。
CHHn(x)={H(x)−H(x-1)}*MACCESSn*PRIORITYn (9)
本実施の形態の判定工程S37では,式(8)の実キャッシュ有効利用数の増加率を割当済み専用キャッシュ領域について算出した割当済専用領域リストLIST-FREEを利用する。以下,この割当済専用領域リストLIST-FREEについて説明する。
y*CCn(y)−Σ(m=1-y)LIST-FREEm.CHH>OVH2*{Σ(m=1-y)LIST-FREEm.PRIORITY} (10)
ここで,yは専用領域のサイズyを,mはリスト内の番号を示し,LIST-FREEm.CHH は実キャッシュ有効利用数の増加率を示し,OVH2は入れ替えに要するオーバーヘッド値を示し,LIST-FREEm.PRIORITYはその処理の優先度を示す。つまり,オーバーヘッド値OVH2が優先度で重み付けされている。
次に,図3の定期割当見直し処理S18について3つの例を説明する。専用領域獲得要求に応答して,OS20内のキャッシュ割当管理部204は,専用キャッシュ領域を割り当てるべきか否か,割当済専用領域と入れ替えすべきか否かを判定した。
図14は,定期割当見直し処理S18の第1の例のフローチャート図である。図15は,定期割当見直し処理S18の第1の例を説明するための図である。図14において,定期的割当見直し処理S18では,キャッシュ割当管理部204は,未割当専用領域と割当済専用領域の入れ替え判定を行う(S50)。この判定処理では,図13で説明した未割当専用領域リストLIST-DEMAND内の未割当専用領域の実キャッシュ有効利用数の増加率CHHn(x)と,割当済専用領域リストLIST-FREE内の割当済専用領域の実キャッシュ有効利用数の増加率CHHn(x)とを比較する(S51)。比較対象は,例えば,図15に矢印で示されるとおり,未割当専用領域リストLIST-DEMAND内の最上位にある最大の増加率と,割当済専用領域リストLIST-FREE内の最上位にある最小の増加率とを比較し,さらに,下位にある増加率どうしを比較する。
LIST-DEMANDm.CHH - LIST-FREEm.CHH > OVH2 * LIST-FREEm.PRIORITY (11)
ここで,mはリストの順番を示し,OVH2は入れ替えに要するオーバヘッド値を示し,LIST-FREEm.PRIORITYは割当済専用領域リストLIST-FREE内の処理の優先度を示す。つまり,比較対象の未割当専用領域の増加率から割当済専用領域の増加率への差分が,入れ替えに伴うオーバーヘッド値OVH2を優先度で重み付けした値を超える場合は,入れ替えで効率がアップすると見なされる。
図16は,定期割当見直し処理S18の第2の例のフローチャート図である。図17は,定期割当見直し処理S18の第2の例を説明するための図である。図16において,定期的割当見直し処理S18では,キャッシュ割当管理部204は,未割当専用領域と割当済専用領域の入れ替え判定を行う(S60)。この判定処理では,図17に示したとおり,未割当専用領域リストLIST-DEMAND内の先頭の未割当専用領域の実キャッシュ有効利用数の増加率CHH1(x)の専用キャッシュ領域サイズxを増加させながら,割当済専用領域リストLIST-FREE内の割当済専用領域の実キャッシュ有効利用数の増加率CHHm(x)を先頭から増加させながら,両者の累積値の比較をする(S61)。
Σ(x=1-y)LIST-DEMAND1.CHH(x)−Σ(m=1-y)LIST-FREEm.CHH >
OVH2*{Σ(m=1-y)LIST-FREEm.PRIORITY} (12)
ここで,yは専用領域のサイズyを,mはリスト内の番号を示し,LIST-DEMAND1.CHH, LIST-FREEm.CHH は実キャッシュ有効利用数の増加率を示し,OVH2は入れ替えに要するオーバーヘッド値を示し,LIST-FREEm.PRIORITYはその処理の優先度を示す。ここでも,オーバーヘッド値OVH2が優先度で重み付けされている。
図18は,定期割当見直し処理S18の第3の例のフローチャート図である。図19は,定期割当見直し処理S18の第3の例を説明するための図である。定期割当見直し処理S18の第3の例では,現実の加重メモリアクセス比に基づく共用キャッシュ領域の理想サイズと,現実の共用キャッシュ領域のサイズとの間に乖離が発生している場合は,共用キャッシュ領域が理想のサイズ比に近づくように,共用キャッシュ領域を未割当専用領域獲得要求に専用キャッシュ領域として割り当てるか,割当済専用キャッシュ領域を開放して共用キャッシュ領域に割り当てるかの入れ替え処理を行う。
MACCESSXn=Σ(m=1-n)MACCESSm * PRIORITYm (13)
RSIZESHR=CEIL{(MACCESSXSHR/MACCESSXALL)* SIZEALL} (14)
ここで,MACCESSXnはn個の対象処理の加重メモリアクセス量の合計値を示し,MACCESSmは対象処理mのメモリアクセス量を示し,PRIORITYmは処理mの優先度を示す。さらに,RSIZESHRは共用キャッシュ領域(SHR)の理想的なサイズを示し,MACCESSXSHR,MACCESSXALL,SIZEALLは共有キャッシュ領域(SHR)へのアクセス量,全キャッシュ領域へのアクセス量,全キャッシュ領域のサイズを示す。また,CEILは切り上げを意味する。
ABS{MACCESSXSHR - MACCESSXALL*(SIZESHR/SIZEALL) > OVH1 (15)
ここで,ABSは絶対値を示している。
ABS{(MACCESSXSHR/MACCESSXALL)*SIZEALL - SIZESHR} > OVH1*( SIZEALL/MACCESSXALL) (16)
ABS{(RSIZESHR - SIZESHR )} >OVH1*( SIZEALL/MACCESSXALL) (16)
すなわち,現実の加重アクセス頻度比による共用キャッシュ領域の理想的なサイズRSIZESHRと,現実のサイズSIZESHRとの差分がオーバーヘッド値を超えるか否かを判定することと同じである。
図25は,アプリケーションプログラムのプロセス22が切り替わるときのセクタID変換テーブルの入れ替え処理を示す図である。OS内のプロセス管理部202は,切り替え元の稼働プロセス22Aがプロセスを停止するときに,そのプロセスの停止処理を行い(S81),同時に,キャッシュ割当管理部204にセクタID変換テーブルの切替制御を指示し(S83),切り替え元の稼働プロセス22AのセクタID変換テーブルを,切り替え先の稼働プロセス22BのセクタID変換テーブルに入れ替えさせる(S84)。その後,プロセス管理部202は,切り替え先の稼働プロセス22Bのプロセス稼働を開始させる(S86)。
第2の実施の形態は,通常のアプリケーションプログラムのプロセス稼働中に,割込・例外処理が発生した場合のキャッシュメモリの動的割当に関する。割込・例外処理は,優先度の高い処理やプログラムであり,CPU内部割込として,数値オーバーフローなどによるプログラム割込,入出力処理要求などのスーパバイザーコール割込などがあり,CPU外部割込として,入出力要求の完了通知などの入出力割込,タイマドリブンによる割込のタイマ割込,コンソール操作による割込のコンソール割込などがある。
キャッシュメモリを共用キャッシュ領域と専用キャッシュ領域とに分割して制御するキャッシュメモリ制御工程をプロセッサに実行させるプロセッサ読み取り可能なキャッシュメモリ制御プログラムであって,
前記キャッシュメモリ制御工程は,
前記プロセッサによるプロセスの実行中に発行される専用キャッシュ領域の割当を要求する専用領域獲得要求に応答して,前記専用領域獲得要求が対象とする対象処理について前記専用キャッシュ領域を割り当てた場合のキャッシュヒット率と前記共用キャッシュ領域を割り当てた場合のキャッシュヒット率との差と,メモリアクセス頻度とに基づくキャッシュ有効利用度に応じて,前記キャッシュ有効利用度が高い程専用キャッシュ領域を割当て,低い程共用キャッシュ領域を割り当てるキャッシュ領域割当工程と,
前記プロセッサによるプロセスの実行中に発行される割り当て済み専用キャッシュ領域の開放を要求する専用領域開放要求に応答して,前記割り当てられた専用キャッシュ領域の割当を解放する専用キャッシュ領域開放工程とを有し,
前記専用キャッシュ領域が割り当てられた対象処理中に発行されるメモリアクセス命令が,前記プロセッサにより前記割り当てた専用キャッシュ領域を利用して実行されるキャッシュメモリ制御プログラム。
付記1において,
前記キャッシュ有効利用度は,前記専用キャッシュ領域を割り当てた場合のキャッシュヒット率と前記共用キャッシュ領域を割り当てた場合のキャッシュヒット率との差に,前記メモリアクセス頻度を乗算し利用する専用キャッシュ領域のサイズで除算した値であるキャッシュメモリ制御プログラム。
付記2において,
キャッシュ領域割当工程では,前記キャッシュ有効利用度に代えて,前記キャッシュ有効利用度に更に前記対象処理の優先度を乗じた実キャッシュ有効利用度に応じて専用キャッシュ領域または共用キャッシュ領域を割り当てるキャッシュメモリ制御プログラム。
付記1において,
前記専用キャッシュ領域を割り当てた場合のキャッシュヒット率は,予め,割り当てる専用キャッシュ領域のサイズを可変させて前記対象処理を前記プロセッサに実行させたときに取得した専用キャッシュ領域サイズ対キャッシュヒット率の特性データであるキャッシュメモリ制御プログラム。
付記1において,
前記共用キャッシュ領域を割り当てた場合のキャッシュヒット率は,前記専用領域獲得要求が発行された対象処理が実行中における前記共用キャッシュ領域のキャッシュヒット率であるキャッシュメモリ制御プログラム。
付記1において,
前記キャッシュ領域割当工程において,前記専用領域獲得要求に応答して,前記専用領域獲得要求が対象とする対象処理についてのキャッシュミス率に前記メモリアクセス頻度を乗算したキャッシュ撹乱力が基準値より高い場合に,前記共用キャッシュ領域と専用キャッシュ領域とは異なる撹乱処理キャッシュ領域を割り当てるキャッシュメモリ制御プログラム。
付記6において,
前記キャッシュ領域割当工程において,前記撹乱処理キャッシュ領域を複数の前記専用領域獲得要求に共通に割り当てるキャッシュメモリ制御プログラム。
付記1において,
前記キャッシュ領域割当工程において,前記専用キャッシュ領域の割当または共用キャッシュ領域の割当にしたがって,前記対象処理に対する前記専用キャッシュ領域と共用キャッシュ領域の割当情報を有する割当情報テーブルを更新し,
前記キャッシュメモリ制御工程は,更に,
前記プロセスが変更されるときに,変更されるプロセスの前記割当情報テーブルを変更後のプロセスの前記割当情報テーブルに切り替える割当情報テーブル切り替え工程を有するキャッシュメモリ制御プログラム。
付記2または3において,
前記キャッシュ領域割当工程において,新たに発行された発行中専用領域獲得要求の前記キャッシュ有効利用度と,前記専用キャッシュ領域が割り当て済みの割当済み専用領域獲得要求の前記キャッシュ有効利用度とを比較し,前記発行中専用領域獲得要求のキャッシュ有効利用度のほうが高い場合に,前記割当済み専用領域獲得要求に対して割り当て済みの専用キャッシュ領域を開放して前記共用キャッシュ領域を割り当て,前記発行中専用領域獲得要求に前記専用キャッシュ領域を割り当てるキャッシュ制御プログラム。
付記2または3において,
前記キャッシュ領域割当工程において,
新たに発行された発行中専用領域獲得要求の前記キャッシュ有効利用度に前記専用キャッシュ領域サイズを乗算したキャッシュ有効利用数と,前記専用キャッシュ領域が割り当て済みの割当済み専用領域獲得要求の単位領域の増加に対するキャッシュヒット率の増加数である増加率に,前記メモリアクセス頻度を乗算したキャッシュ有効利用数の増加率を,前記発行中専用領域獲得要求の専用キャッシュ領域サイズ分だけ累積した累積増加数とを比較し,
前記発行中専用領域獲得要求の前記キャッシュ有効利用数のほうが多い場合に,前記割当済み専用領域獲得要求に対して割り当て済みの専用キャッシュ領域を開放して前記共用キャッシュ領域を割り当て,前記発行中専用領域獲得要求に前記専用キャッシュ領域を割り当てるキャッシュ制御プログラム。
付記10において,
前記キャッシュメモリ制御工程は,更に,
前記プロセス実行中に前記割当済み専用領域獲得要求が対象とする対象処理について前記割当済み専用キャッシュ領域のキャッシュヒット率とアクセス頻度を調査し,前記キャッシュ有効利用数の増加率のリストを有する割当済み専用領域リスト(LIST-FREE)を作成するリスト作成工程を有し,
前記キャッシュ領域割当工程において,
前記割当済み専用領域リスト内の増加数率が小さい順に累積して前記累積増加数を算出するキャッシュ制御プログラム。
付記2または3において,
前記キャッシュメモリ制御工程は,更に,
前記プロセス実行中に,前記専用キャッシュ領域が割り当て済みの割当済み専用領域獲得要求が対象とする対象処理について,前記割当済み専用キャッシュ領域のキャッシュヒット率とアクセス頻度を調査し,前記割当済み専用領域獲得要求の単位領域の増加に対するキャッシュヒット率の増加数である増加率に,前記メモリアクセス頻度を乗算したキャッシュ有効利用数の増加率のリストを有する割当済み専用領域リスト(LIST-FREE)と,前記専用キャッシュ領域が未だ割り当てられていない未割当専用領域獲得要求の前記キャッシュ有効利用数の増加率のリストを有する未割当専用領域リスト(LIST-DEMAND)とを作成するリスト作成工程と,
前記プロセス実行中に定期的に実行され,前記割当済み専用領域リストの最小値より前記未割当専用領域リストの最大値が入れ替え処理に要するオーバーヘッド値以上大きい場合に,対応する前記割当済み専用領域獲得要求に対して割当済みの専用キャッシュ領域を開放して前記共用キャッシュ領域を割り当て,対応する前記未割当専用領域獲得要求に前記専用キャッシュ領域を割り当てる定期的専用領域入れ替え工程とを有するキャッシュ制御プログラム。
付記12において,
前記定期的専用領域入れ替え工程において,前記未割当専用領域リストの最大値に前記専用キャッシュ領域サイズを乗算したキャッシュ有効利用数が,前記割当済み専用領域リストの最小値から順に前記専用キャッシュ領域サイズに対応するリスト数までの割当済み専用領域のキャッシュ有効利用数の増加率の累計値より,オーバーヘッド値以上多い場合に,前記未割当専用領域リストの最大値に対応する未割当専用領域獲得要求に前記専用キャッシュ領域サイズ分だけ前記専用キャッシュ領域を割り当て,前記割当済み専用領域リストの前記リスト数まで前記割当済みの専用キャッシュ領域を開放して前記共用キャッシュ領域を割り当てるキャッシュ制御プログラム。
付記2または3において,
前記キャッシュメモリ制御工程は,更に,
前記プロセス実行中に定期的に実行される定期的専用領域入れ替え工程を有し,
前記定期的専用領域入れ替え工程において,
現実の加重メモリアクセス比に基づく共用キャッシュ領域の理想サイズと,現実の共用キャッシュ領域のサイズとの差分が,オーバーヘッド値を超えて高い場合に,前記共用キャッシュ領域が理想のサイズ比に近づくように,前記共用キャッシュ領域を未だ専用領域が割り当てられていない未割当専用領域獲得要求に専用キャッシュ領域として割り当てるか,または,専用領域が割当済みの割当済専用領域獲得要求に割り当てられた割当済専用キャッシュ領域を開放するかにより,前記専用キャッシュ領域の入れ替え処理を行うキャッシュ制御プログラム。
付記14において,
前記キャッシュメモリ制御工程は,更に,
前記プロセス実行中に,前記割当済み専用領域獲得要求が対象とする対象処理について,前記割当済み専用キャッシュ領域のキャッシュヒット率とアクセス頻度を調査し,前記割当済み専用領域獲得要求の単位領域増加に対するキャッシュヒット率の増加数である増加率に前記メモリアクセス頻度を乗算したキャッシュ有効利用数の増加率のリストを有する割当済み専用領域リスト(LIST-FREE)と,前記未割当専用領域獲得要求の前記キャッシュ有効利用数の増加率のリストを有する未割当専用領域リスト(LIST-DEMAND)とを作成するリスト作成工程を有し,
前記定期的専用領域入れ替え工程において,
前記専用領域借リストのサイズに対しては,前記割当済み専用領域リスト(LIST−FREE)内の前記増加率が少ない順に,前記割当済み専用キャッシュ領域を開放して前記共用キャッシュ領域を割り当て,
前記専用領域候補リストのサイズに対しては,前記未割当専用領域リスト(LIST-DEMAND)内の前記増加率が多い順に,前記専用キャッシュ領域を割り当てる,
キャッシュ制御プログラム。
キャッシュメモリを共用キャッシュ領域と専用キャッシュ領域とに分割して制御するキャッシュメモリ制御工程をプロセッサに実行させるプロセッサ読み取り可能なキャッシュメモリ制御プログラムであって,
前記キャッシュメモリ制御工程は,
前記プロセッサによるプロセスの実行中に発行される専用キャッシュ領域の割当を要求する専用領域獲得要求に応答して,前記専用領域獲得要求が対象とする対象処理についてのキャッシュミス率にメモリアクセス頻度を乗算したキャッシュ撹乱力が基準値より高い場合に,他のキャッシュ領域とはキャッシュデータ管理が隔離された専用キャッシュ領域を割り当てるキャッシュ領域割当工程と,
前記プロセッサによるプロセスの実行中に発行される割り当て済み専用キャッシュ領域の開放を要求する専用領域開放要求に応答して,前記割り当てられた専用キャッシュ領域の割当を開放する専用キャッシュ領域開放工程とを有し,
前記専用キャッシュ領域が割り当てられた対象処理中に発行されるメモリアクセス命令が,前記プロセッサに前記割り当てた専用キャッシュ領域を利用して実行されるキャッシュメモリ制御プログラム。
命令を実行してメモリアクセスを行うCPUと,
前記メモリアクセスが行われるときに参照されるキャッシュメモリと,
前記キャッシュメモリを共用キャッシュ領域と専用キャッシュ領域とに分割して制御するキャッシュメモリ制御ユニットとを有し,
前記キャッシュメモリ制御ユニットは,
前記CPUによるプロセスの実行中に発行される専用キャッシュ領域の割当を要求する専用領域獲得要求に応答して,前記専用領域獲得要求が対象とする対象処理について前記専用キャッシュ領域を割り当てた場合のキャッシュヒット率と前記共用キャッシュ領域を割り当てた場合のキャッシュヒット率との差と,メモリアクセス頻度とに基づくキャッシュ有効利用度に応じて,前記キャッシュ有効利用度が高い程専用キャッシュ領域を割当て,低い程共用キャッシュ領域を割り当てるキャッシュ領域割当ユニットと,
前記CPUによるプロセスの実行中に発行される割り当て済み専用キャッシュ領域の開放を要求する専用領域開放要求に応答して,前記割り当てられた専用キャッシュ領域の割当を解放する専用キャッシュ領域開放ユニットとを有し,
前記専用キャッシュ領域が割り当てられた対象処理中に発行される前記メモリアクセスが,前記割り当てた専用キャッシュ領域を利用して実行されるプロセッサ。
キャッシュメモリを共用キャッシュ領域と専用キャッシュ領域とに分割して制御するキャッシュメモリ制御方法であって,
前記プロセッサによるプロセスの実行中に発行される専用キャッシュ領域の割当を要求する専用領域獲得要求に応答して,前記専用領域獲得要求が対象とする対象処理について前記専用キャッシュ領域を割り当てた場合のキャッシュヒット率と前記共用キャッシュ領域を割り当てた場合のキャッシュヒット率との差と,メモリアクセス頻度とに基づくキャッシュ有効利用度に応じて,前記キャッシュ有効利用度が高い程専用キャッシュ領域を割当て,低い程共用キャッシュ領域を割り当てるキャッシュ領域割当工程と,
前記プロセッサによるプロセスの実行中に発行される割り当て済み専用キャッシュ領域の開放を要求する専用領域開放要求に応答して,前記割り当てられた専用キャッシュ領域の割当を解放する専用キャッシュ領域開放工程とを有し,
前記専用キャッシュ領域が割り当てられた対象処理中に発行されるメモリアクセス命令が,前記プロセッサにより前記割り当てた専用キャッシュ領域を利用して実行されるキャッシュメモリ制御方法。
12:CPU
13:キャッシュユニット
16:メインメモリ
20:OS
21:コンパイラ
22:アプリケーションプログラム
130:キャッシュメモリ
130_1:共用キャッシュ領域
130_2:専用キャッシュ領域
Claims (14)
- キャッシュメモリを共用キャッシュ領域と専用キャッシュ領域とに分割して制御するキャッシュメモリ制御工程をプロセッサに実行させるプロセッサ読み取り可能なキャッシュメモリ制御プログラムであって,
前記キャッシュメモリ制御工程は,
前記プロセッサによるプロセスの実行中に発行される専用キャッシュ領域の割当を要求する専用領域獲得要求に応答して,前記専用領域獲得要求が対象とする対象処理について前記専用キャッシュ領域を割り当てた場合のキャッシュヒット率と前記共用キャッシュ領域を割り当てた場合のキャッシュヒット率との差と,メモリアクセス頻度とに基づくキャッシュ有効利用度に応じて,前記キャッシュ有効利用度が基準値より高い場合専用キャッシュ領域を割当て,低い場合共用キャッシュ領域を割り当てるキャッシュ領域割当工程と,
前記プロセッサによるプロセスの実行中に発行される割り当て済み専用キャッシュ領域の開放を要求する専用領域開放要求に応答して,前記割り当てられた専用キャッシュ領域の割当を解放する専用キャッシュ領域開放工程とを有し,
前記専用キャッシュ領域が割り当てられた対象処理中に発行されるメモリアクセス命令が,前記プロセッサにより前記割り当てた専用キャッシュ領域を利用して実行されるキャッシュメモリ制御プログラム。 - 請求項1において,
前記キャッシュ有効利用度は,前記専用キャッシュ領域を割り当てた場合のキャッシュヒット率と前記共用キャッシュ領域を割り当てた場合のキャッシュヒット率との差に,前記メモリアクセス頻度を乗算し利用する専用キャッシュ領域のサイズで除算した値であるキャッシュメモリ制御プログラム。 - 請求項2において,
キャッシュ領域割当工程では,前記キャッシュ有効利用度に代えて,前記キャッシュ有効利用度に更に前記対象処理の優先度を乗じた実キャッシュ有効利用度に応じて専用キャッシュ領域または共用キャッシュ領域を割り当てるキャッシュメモリ制御プログラム。 - 請求項1において,
前記専用キャッシュ領域を割り当てた場合のキャッシュヒット率は,予め,割り当てる専用キャッシュ領域のサイズを可変させて前記対象処理を前記プロセッサに実行させたときに取得した専用キャッシュ領域サイズ対キャッシュヒット率の特性データであるキャッシュメモリ制御プログラム。 - 請求項1において,
前記キャッシュ領域割当工程において,前記専用領域獲得要求に応答して,前記専用領域獲得要求が対象とする対象処理についてのキャッシュミス率に前記メモリアクセス頻度を乗算したキャッシュ撹乱力が基準値より高い場合に,前記共用キャッシュ領域と専用キャッシュ領域とは異なる撹乱処理キャッシュ領域を割り当てるキャッシュメモリ制御プログラム。 - 請求項2または3において,
前記キャッシュ領域割当工程において,新たに発行された発行中専用領域獲得要求の前記キャッシュ有効利用度と,前記専用キャッシュ領域が割り当て済みの割当済み専用領域獲得要求の前記キャッシュ有効利用度とを比較し,前記発行中専用領域獲得要求のキャッシュ有効利用度のほうが高い場合に,前記割当済み専用領域獲得要求に対して割り当て済みの専用キャッシュ領域を開放して前記共用キャッシュ領域を割り当て,前記発行中専用領域獲得要求に前記専用キャッシュ領域を割り当てるキャッシュ制御プログラム。 - 請求項2または3において,
前記キャッシュ領域割当工程において,
新たに発行された発行中専用領域獲得要求の前記キャッシュ有効利用度に前記専用キャッシュ領域サイズを乗算したキャッシュ有効利用数と,前記専用キャッシュ領域が割り当て済みの割当済み専用領域獲得要求の単位領域の増加に対するキャッシュヒット率の増加数である増加率に,前記メモリアクセス頻度を乗算したキャッシュ有効利用数の増加率を,前記発行中専用領域獲得要求の専用キャッシュ領域サイズ分だけ累積した累積増加数とを比較し,
前記発行中専用領域獲得要求の前記キャッシュ有効利用数のほうが多い場合に,前記割当済み専用領域獲得要求に対して割り当て済みの専用キャッシュ領域を開放して前記共用キャッシュ領域を割り当て,前記発行中専用領域獲得要求に前記専用キャッシュ領域を割り当てるキャッシュ制御プログラム。 - 請求項2または3において,
前記キャッシュメモリ制御工程は,更に,
前記プロセス実行中に,前記専用キャッシュ領域が割り当て済みの割当済み専用領域獲得要求が対象とする対象処理について,前記割当済み専用キャッシュ領域のキャッシュヒット率とアクセス頻度を調査し,前記割当済み専用領域獲得要求の単位領域の増加に対するキャッシュヒット率の増加数である増加率に,前記メモリアクセス頻度を乗算したキャッシュ有効利用数の増加率のリストを有する割当済み専用領域リストと,前記専用キャッシュ領域が未だ割り当てられていない未割当専用領域獲得要求の前記キャッシュ有効利用数の増加率のリストを有する未割当専用領域リストとを作成するリスト作成工程と,
前記プロセス実行中に定期的に実行され,前記割当済み専用領域リストの最小値より前記未割当専用領域リストの最大値が入れ替え処理に要するオーバーヘッド値以上大きい場合に,対応する前記割当済み専用領域獲得要求に対して割当済みの専用キャッシュ領域を開放して前記共用キャッシュ領域を割り当て,対応する前記未割当専用領域獲得要求に前記専用キャッシュ領域を割り当てる定期的専用領域入れ替え工程とを有するキャッシュ制御プログラム。 - 請求項8において,
前記定期的専用領域入れ替え工程において,前記未割当専用領域リストの最大値における専用キャッシュ領域サイズを増加させながら,前記未割当専用領域リストの最大値のキャッシュ有効利用数の増加率が,前記割当済み専用領域リストの最小値から順に前記増加させる専用キャッシュ領域サイズに対応するリスト数までの割当済み専用領域のキャッシュ有効利用数の増加率の累計値より,オーバーヘッド値以上多いか否か判定し,前記判定が多い場合に,前記未割当専用領域リストの最大値に対応する未割当専用領域獲得要求に前記増加させた専用キャッシュ領域サイズの最大のサイズ分だけ前記専用キャッシュ領域を割り当て,前記割当済み専用領域リストの前記リスト数まで前記割当済みの専用キャッシュ領域を開放して前記共用キャッシュ領域を割り当てるキャッシュ制御プログラム。 - 請求項2または3において,
前記キャッシュメモリ制御工程は,更に,
前記プロセス実行中に定期的に実行される定期的専用領域入れ替え工程を有し,
前記定期的専用領域入れ替え工程において,
現実の加重メモリアクセス比に基づく共用キャッシュ領域の理想サイズと,現実の共用キャッシュ領域のサイズとの差分が,オーバーヘッド値を超えて高い場合に,前記共用キャッシュ領域が理想のサイズ比に近づくように,前記共用キャッシュ領域を未だ専用領域が割り当てられていない未割当専用領域獲得要求に専用キャッシュ領域として割り当てるか,または,専用領域が割当済みの割当済専用領域獲得要求に割り当てられた割当済専用キャッシュ領域を開放するかにより,前記専用キャッシュ領域の入れ替え処理を行うキャッシュ制御プログラム。 - 請求項10において,
前記キャッシュメモリ制御工程は,更に,
前記プロセス実行中に,前記割当済み専用領域獲得要求が対象とする対象処理について,前記割当済み専用キャッシュ領域のキャッシュヒット率とアクセス頻度を調査し,前記割当済み専用領域獲得要求の単位領域増加に対するキャッシュヒット率の増加数である増加率に前記メモリアクセス頻度を乗算したキャッシュ有効利用数の増加率のリストを有する割当済み専用領域リストと,前記未割当専用領域獲得要求の前記キャッシュ有効利用数の増加率のリストを有する未割当専用領域リストとを作成するリスト作成工程を有し,
前記定期的専用領域入れ替え工程において,
前記割当済み専用キャッシュ領域を開放する場合,前記割当済み専用領域リスト内の前記増加率が少ない順に,前記割当済み専用キャッシュ領域を開放して前記共用キャッシュ領域を割り当て,
前記専用キャッシュ領域を割り当てる場合,前記未割当専用領域リスト内の前記増加率が多い順に,前記専用キャッシュ領域を割り当てる,
キャッシュ制御プログラム。 - キャッシュメモリを共用キャッシュ領域と専用キャッシュ領域とに分割して制御するキャッシュメモリ制御工程をプロセッサに実行させるプロセッサ読み取り可能なキャッシュメモリ制御プログラムであって,
前記キャッシュメモリ制御工程は,
前記プロセッサによるプロセスの実行中に発行される専用キャッシュ領域の割当を要求する専用領域獲得要求に応答して,前記専用領域獲得要求が対象とする対象処理についてのキャッシュミス率にメモリアクセス頻度を乗算したキャッシュ撹乱力が基準値より高い場合に,他のキャッシュ領域とはキャッシュデータ管理が隔離された専用キャッシュ領域を割り当てるキャッシュ領域割当工程と,
前記プロセッサによるプロセスの実行中に発行される割り当て済み専用キャッシュ領域の開放を要求する専用領域開放要求に応答して,前記割り当てられた専用キャッシュ領域の割当を開放する専用キャッシュ領域開放工程とを有し,
前記専用キャッシュ領域が割り当てられた対象処理中に発行されるメモリアクセス命令が,前記プロセッサにより前記割り当てた専用キャッシュ領域を利用して実行されるキャッシュメモリ制御プログラム。 - 命令を実行してメモリアクセスを行うCPUと,
前記メモリアクセスが行われるときに参照されるキャッシュメモリと,
前記キャッシュメモリを共用キャッシュ領域と専用キャッシュ領域とに分割して制御するキャッシュメモリ制御ユニットとを有し,
前記キャッシュメモリ制御ユニットは,
前記CPUによるプロセスの実行中に発行される専用キャッシュ領域の割当を要求する専用領域獲得要求に応答して,前記専用領域獲得要求が対象とする対象処理について前記専用キャッシュ領域を割り当てた場合のキャッシュヒット率と前記共用キャッシュ領域を割り当てた場合のキャッシュヒット率との差と,メモリアクセス頻度とに基づくキャッシュ有効利用度に応じて,前記キャッシュ有効利用度が基準値より高い場合専用キャッシュ領域を割当て,低い場合共用キャッシュ領域を割り当てるキャッシュ領域割当ユニットと,
前記CPUによるプロセスの実行中に発行される割り当て済み専用キャッシュ領域の開放を要求する専用領域開放要求に応答して,前記割り当てられた専用キャッシュ領域の割当を解放する専用キャッシュ領域開放ユニットとを有し,
前記専用キャッシュ領域が割り当てられた対象処理中に発行される前記メモリアクセスが,前記割り当てた専用キャッシュ領域を利用して実行されるプロセッサ。 - キャッシュメモリを共用キャッシュ領域と専用キャッシュ領域とに分割して制御するキャッシュメモリ制御方法であって,
プロセッサによるプロセスの実行中に発行される専用キャッシュ領域の割当を要求する専用領域獲得要求に応答して,前記専用領域獲得要求が対象とする対象処理について前記専用キャッシュ領域を割り当てた場合のキャッシュヒット率と前記共用キャッシュ領域を割り当てた場合のキャッシュヒット率との差と,メモリアクセス頻度とに基づくキャッシュ有効利用度に応じて,前記キャッシュ有効利用度が基準値より高い場合専用キャッシュ領域を割当て,低い場合共用キャッシュ領域を割り当てるキャッシュ領域割当工程と,
前記プロセッサによるプロセスの実行中に発行される割り当て済み専用キャッシュ領域の開放を要求する専用領域開放要求に応答して,前記割り当てられた専用キャッシュ領域の割当を解放する専用キャッシュ領域開放工程とを有し,
前記専用キャッシュ領域が割り当てられた対象処理中に発行されるメモリアクセス命令が,前記プロセッサにより前記割り当てた専用キャッシュ領域を利用して実行されるキャッシュメモリ制御方法。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2013168069A JP6149595B2 (ja) | 2013-08-13 | 2013-08-13 | キャッシュメモリ制御プログラム,キャッシュメモリを内蔵するプロセッサ及びキャッシュメモリ制御方法 |
| US14/458,424 US9734075B2 (en) | 2013-08-13 | 2014-08-13 | Cache memory control program, processor incorporating cache memory, and cache memory control method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2013168069A JP6149595B2 (ja) | 2013-08-13 | 2013-08-13 | キャッシュメモリ制御プログラム,キャッシュメモリを内蔵するプロセッサ及びキャッシュメモリ制御方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2015036873A JP2015036873A (ja) | 2015-02-23 |
| JP6149595B2 true JP6149595B2 (ja) | 2017-06-21 |
Family
ID=52467680
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2013168069A Active JP6149595B2 (ja) | 2013-08-13 | 2013-08-13 | キャッシュメモリ制御プログラム,キャッシュメモリを内蔵するプロセッサ及びキャッシュメモリ制御方法 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US9734075B2 (ja) |
| JP (1) | JP6149595B2 (ja) |
Families Citing this family (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9842052B2 (en) * | 2015-04-20 | 2017-12-12 | Sap Se | Selective allocation of CPU cache slices to database objects |
| JP6555981B2 (ja) * | 2015-08-24 | 2019-08-07 | キヤノン株式会社 | 情報処理装置及びその制御方法 |
| US20170161193A1 (en) * | 2015-12-02 | 2017-06-08 | International Business Machines Corporation | Hybrid cache |
| US20170212705A1 (en) * | 2016-01-26 | 2017-07-27 | Netapp, Inc. | Dynamic Weighting for Distributed Parity Device Layouts |
| CN106970992A (zh) * | 2017-03-31 | 2017-07-21 | 上海小蚁科技有限公司 | 一种页面缓存方法及装置 |
| EP4038507A4 (en) * | 2019-10-04 | 2022-10-19 | Visa International Service Association | PROCEDURE FOR LAYERED DATA STORAGE IN TENANT-ENABLED CACHE SYSTEMS |
| US11442643B2 (en) | 2020-02-13 | 2022-09-13 | Samsung Electronics Co., Ltd. | System and method for efficiently converting low-locality data into high-locality data |
| US11429299B2 (en) | 2020-02-13 | 2022-08-30 | Samsung Electronics Co., Ltd. | System and method for managing conversion of low-locality data into high-locality data |
| CN112565437B (zh) * | 2020-12-07 | 2021-11-19 | 浙江大学 | 一种面向跨界服务网络的服务缓存方法 |
| US11914527B2 (en) * | 2021-10-26 | 2024-02-27 | International Business Machines Corporation | Providing a dynamic random-access memory cache as second type memory per application process |
| KR102561809B1 (ko) * | 2023-01-10 | 2023-07-31 | 메티스엑스 주식회사 | 적응적 캐시 풀 관리 방법 및 장치 |
| US20250110872A1 (en) * | 2023-09-29 | 2025-04-03 | T-Mobile Usa, Inc. | Systems and methods for demand-based content caching |
Family Cites Families (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0218644A (ja) | 1988-07-06 | 1990-01-22 | Hokuriku Nippon Denki Software Kk | キャッシュメモリ制御方式 |
| JP2002007213A (ja) | 2000-06-26 | 2002-01-11 | Matsushita Electric Ind Co Ltd | キャッシュメモリ制御方法及びプログラム処理方法 |
| JP2002342163A (ja) * | 2001-05-15 | 2002-11-29 | Fujitsu Ltd | マルチスレッドプロセッサ用キャッシュ制御方式 |
| US7155571B2 (en) | 2002-09-30 | 2006-12-26 | International Business Machines Corporation | N-source in-kernel cache for high performance in computer operating systems |
| JP4175185B2 (ja) * | 2003-06-06 | 2008-11-05 | 日本電気株式会社 | ネットワーク情報記録装置 |
| JP2006004203A (ja) | 2004-06-18 | 2006-01-05 | Matsushita Electric Ind Co Ltd | データ処理装置 |
| US8275942B2 (en) | 2005-12-22 | 2012-09-25 | Intel Corporation | Performance prioritization in multi-threaded processors |
| JP2008097572A (ja) * | 2006-09-11 | 2008-04-24 | Matsushita Electric Ind Co Ltd | 演算装置、コンピュータシステム、および携帯機器 |
| JP5217432B2 (ja) | 2007-12-28 | 2013-06-19 | 富士通株式会社 | セクタ機能付きキャッシュメモリ |
| JP2009211649A (ja) | 2008-03-06 | 2009-09-17 | Nec Corp | キャッシュシステム、その制御方法、及び、プログラム |
| JP5040773B2 (ja) * | 2008-03-31 | 2012-10-03 | 富士通株式会社 | メモリバッファ割当装置およびプログラム |
| US8635405B2 (en) * | 2009-02-13 | 2014-01-21 | Nec Corporation | Computational resource assignment device, computational resource assignment method and computational resource assignment program |
-
2013
- 2013-08-13 JP JP2013168069A patent/JP6149595B2/ja active Active
-
2014
- 2014-08-13 US US14/458,424 patent/US9734075B2/en active Active
Also Published As
| Publication number | Publication date |
|---|---|
| US20150052314A1 (en) | 2015-02-19 |
| US9734075B2 (en) | 2017-08-15 |
| JP2015036873A (ja) | 2015-02-23 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP6149595B2 (ja) | キャッシュメモリ制御プログラム,キャッシュメモリを内蔵するプロセッサ及びキャッシュメモリ制御方法 | |
| US9965324B2 (en) | Process grouping for improved cache and memory affinity | |
| CN107273302B (zh) | 管理工作负载存储器分配的方法、设备和系统 | |
| US9977738B2 (en) | NUMA scheduling using inter-VCPU memory access estimation | |
| US9477601B2 (en) | Apparatus and method for determining a sector division ratio of a shared cache memory | |
| JP6166616B2 (ja) | 情報処理方法、情報処理装置及びプログラム | |
| TW201631479A (zh) | 多個資料預取器根據記憶體存取類型的預取效益聽從其他預取器 | |
| TW201631478A (zh) | 根據記憶體存取類型的效益並配合積極層級的預取 | |
| JP2008191949A (ja) | マルチコアシステムおよびマルチコアシステムの負荷分散方法 | |
| JP2015504541A (ja) | マルチプロセッサ・コンピューティング・システムにおけるメモリ・アクセスを動的に最適化する方法、プログラム、及びコンピューティング・システム | |
| US10754547B2 (en) | Apparatus for managing disaggregated memory and method thereof | |
| KR101587579B1 (ko) | 가상화 시스템에서 메모리 조정방법 | |
| Min et al. | VMMB: virtual machine memory balancing for unmodified operating systems | |
| CN114036078A (zh) | 用于管理存储系统中的缓存设备的方法和系统 | |
| KR20100074920A (ko) | 멀티코어 시스템에서의 로드 밸런싱 장치 및 방법 | |
| CN116225686A (zh) | 面向混合内存架构的cpu调度方法和系统 | |
| JP6135392B2 (ja) | キャッシュメモリ制御プログラム,キャッシュメモリを内蔵するプロセッサ及びキャッシュメモリ制御方法 | |
| López-Albelda et al. | FlexSched: Efficient scheduling techniques for concurrent kernel execution on GPUs | |
| JP6241164B2 (ja) | キャッシュメモリ制御プログラム,キャッシュメモリを内蔵するプロセッサ及びキャッシュメモリ制御方法 | |
| Scolari et al. | A survey on recent hardware and software-level cache management techniques | |
| Wang et al. | Interference-aware program scheduling for multicore processors | |
| Wu et al. | NVSwap: Latency-Aware Paging using Non-Volatile Main Memory | |
| Shimchenko et al. | Monk: opportunistic scheduling to delay horizontal scaling | |
| KR100944532B1 (ko) | 스크래치 패드 메모리 시스템 및 그 동적 메모리 관리방법 | |
| JP2014157476A (ja) | 計測装置及び計測方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160510 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170228 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170314 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170410 |
|
| 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: 20170425 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170508 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 6149595 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |