JPWO2009075177A1 - メモリ再配置システムおよびメモリ再配置方法 - Google Patents

メモリ再配置システムおよびメモリ再配置方法 Download PDF

Info

Publication number
JPWO2009075177A1
JPWO2009075177A1 JP2009545379A JP2009545379A JPWO2009075177A1 JP WO2009075177 A1 JPWO2009075177 A1 JP WO2009075177A1 JP 2009545379 A JP2009545379 A JP 2009545379A JP 2009545379 A JP2009545379 A JP 2009545379A JP WO2009075177 A1 JPWO2009075177 A1 JP WO2009075177A1
Authority
JP
Japan
Prior art keywords
page
color
memory
unit
destination
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
Application number
JP2009545379A
Other languages
English (en)
Other versions
JP5293611B2 (ja
Inventor
一久 石坂
一久 石坂
孝 宮崎
孝 宮崎
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2009545379A priority Critical patent/JP5293611B2/ja
Publication of JPWO2009075177A1 publication Critical patent/JPWO2009075177A1/ja
Application granted granted Critical
Publication of JP5293611B2 publication Critical patent/JP5293611B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

オペレーティングシステム302が、メモリ管理部303とページ移動部304に加えてカラー変更部305を備えている。カラー変更部305は移動先ページ取得部306とページ移動指示部307を備えている。移動先ページ取得部306は未利用の物理ページの集合から指定されたカラーIDを持つ物理ページを取得する。ページ移動指示部307は各種の状況に応じて、この物理ページの移動を指示する。

Description

本発明は、キャッシュメモリおよび論理アドレスと物理アドレスの変換を行うプロセッサを備えたコンピュータシステムにおいて、キャッシュメモリの利用を制御するようにしたメモリ再配置システムおよびメモリ再配置方法に関し、特に、プロセッサのキャッシュを有効に利用するのに好適なメモリ再配置システムおよびメモリ再配置方法に関する。
キャッシメモリを搭載したコンピュータシステムで、プロセッサのキャッシュミスを削減することは、アプリケーションの性能向上や性能のばらつきの抑制のために特に必要である。
物理インデックスキャッシュでは、物理アドレスによってデータのキャッシュメモリ上の格納位置としてのキャッシュセットが決まる。このため、オペレーティングシステムによる論理アドレスと物理アドレスのマッピングによって、アプリケーションのキャッシュメモリ(以下、キャッシュと適宜略称する。)の利用を制御することが可能なことが知られている。この技術によれば、特別なハードウェアやアプリケーションプログラムを修正せずに、オペレーティングシステムによってキャッシュミスの削減を図ることができる。
マッピング時にキャッシュを考慮してスラッシングを防いだり、あるいは積極的にキャッシュヒット率を向上させようとする物理ページ管理手法は、ページカラーリングと呼ばれている。これは、マッピングがページと呼ばれる一定のサイズのメモリ領域を単位として行われることと、どの物理アドレスがどのキャッシュセットに格納されるかは一意に決まるという性質を利用して、キャッシュの同一セットに格納されるページに同一のカラーID(identifier)を割り当てることから呼ばれている。
本発明に関連する第1の関連技術として、以上説明したようなオペレーティングシステムにおけるカラーを考慮したページ割り当て技術が、たとえば、Kessler他著「Page Placement Algorithms for Large Real-Indexe d Caches」 ACM Transactions on
Computer Systems,1992,Vol. 4, No. 10, pp. 338-359(以下、非特許文献1と称する)に開示されている。
ところで図1は、キャッシュを考慮しない場合のメモリ割当機構を示している。メモリ割当機構100は、メモリの割り当てを要求するプロセス101と、この要求に対応するオペレーティングシステム(OS)102とから成っている。オペレーティングシステム102は、メモリの管理を行うメモリ管理部103と、このメモリ管理部103によって空き物理ページのリストとして管理され、プロセス101への割り当ての際に使用されるフリーリスト104と、プロセス101のページテーブル105とを備えている。ここで、プロセスとは、オペレーティングシステムから見たときの実行中の個々のプログラムである。
図2は、図1に示したプロセスへ物理ページを割り当てる動作を表わしたものである。図1と共に説明する。
まず、プロセス101が図示しないOSに対して物理ページの割り当てを要求する(ステップS201)。オペレーティングシステム102のメモリ管理部103は、この要求に基づいてフリーリスト104から空きページを選択する(ステップS202)。続いて、メモリ管理部103が、プロセス101のページテーブル105を書き換えて、論理ページと物理ページをマップする。これによって、プロセス101に物理ページが割り当てられる(ステップS203)。
以上説明したメモリ割当機構100では、物理ページの割り当て時にキャッシュが考慮されない。このため、キャッシュ利用を制御することができない。
図3は、プロセスに特定のキャッシュ領域としてのカラーを割り当てるようにしたメモリ割当機構を示したものである。図3で図1と同一部分には同一の符号を付しており、これらの説明を適宜省略する。このメモリ割当機構100Aでは、オペレーティングシステム102A内にページカラーリングに対応したメモリ管理部103Aが配置されているだけでなく、プロセス101が利用可能なカラーIDを管理するカラーテーブル106を有している。
図4は、図3に示したプロセスへ物理ページを割り当てる場合の動作を示したものである。図3と共に説明する。
まず、プロセス101が物理ページの割り当てを要求する(ステップS211)。オペレーティングシステム102Aのメモリ管理部103Aは、この要求に基づいてカラーテーブル106を検索して、プロセス101に割り当てられたカラーIDを調べる(ステップS212)。次に、メモリ管理部103Aは、フリーリスト104の中からプロセス101に割り当てられたカラーIDを持つ空きページを選択する(ステップS213)。そして、メモリ管理部103Aが、プロセス101のページテーブル105を書き換えて、論理ページと物理ページをマップする。これによって、プロセス101に物理ページが割り当てられる(ステップS214)。
以上説明したメモリ割当機構100Aでは、物理ページの割り当て時にキャッシュが考慮される。このため、キャッシュ利用を制御することが可能になる。
図5は、キャッシュを考慮したメモリ割り当ての効果を説明するためのものである。この図5では、キャッシュがダイレクトマップ(Direct Map)方式を採用してそのサイズが8ページの場合に、ページカラーリングを用いてプロセスAがキャッシュ利用を制御している例を示す。ここで「プロセスA」とは、次に説明する他の「プロセスB」と区別するために使用するプロセスの名称である。この図5に示した例の場合のカラー(color)数は「8」である。この例では、プロセスAの論理ページをカラーIDが「0」,「1」,「2」,「3」の物理ページにマッピングすることによって、プロセスAがキャッシュの半分のみを利用するように制御している。図5の物理メモリで、括弧の外の各数字はページ番号を表わしており、括弧内の数字はカラーIDとしてのカラー番号を表わしている。
ページカラーリングを用いたキャッシュミス削減手法としては、たとえば2つのプロセスに同じカラーIDを割り当てないという手法がある。この手法では、2つのプロセスが利用するデータをそれぞれキャッシュ上の異なるセットに格納し、キャッシュ競合が起こらないようにしている。これにより、2つのプロセスを同時に動かした場合のキャッシュ競合による性能低下や、ばらつきを抑えることができる。
図6は、ページカラーリングによって、2つのプロセスA、Bの利用するキャッシュを分割した例を示している。この例では、一方のプロセスAがキャッシュ上のカラーID{0,1,2,3}の領域を利用することができ、他方のプロセスBはカラーID{4,5}の領域を利用することができる。2つのプロセスはキャッシュ上の同じ領域をアクセスしないため、プロセス間での競合によるキャッシュミスを削減することができる。
ページカラーリングは、プロセスへの物理ページの割り当て時に行われる。このため、ページ割り当て時の状況を考慮して割り当てを行うことができる。たとえば、プロセスAとプロセスBとの優先順位に基づき、優先度の高いプロセスに多くのカラーIDを割り当てることで、多くのキャッシュを利用可能にすることができる。図6では、プロセスAの方にプロセスBよりも多くのカラーIDを割り当てている。
また、たとえば、特開2000-339220号公報の第0012段落および図1(以下、特許文献1と称する)に開示された第2の関連技術では、以上説明したようなページカラーリング技術を用いて、リアルタイムスレッドとその他が利用するキャッシュ領域を分割する技術について開示している。
ところで、図7は、一般的なメモリ再配置技術を示したものである。オペレーティングシステム102Bのページ移動部121が、分散メモリシステム間の2つのノード122 1、1222間でメモリ1231、1232の再配置を行っている。
図8は、一般的なメモリモジュール間のメモリ再配置技術を示したものである。オペレーティングシステム102Bのページ移動部121Aが、複数のメモリモジュール125 1〜1254を持つシステムでの、たとえばメモリモジュール1251とメモリモジュール1253の間の再配置を行っている。
図7にも示したように、分散メモリシステムは、各ノードがプロセッサ1241(1242)とメモリを持つ。このため、たとえば、ノード1221から他のノード1222のメモリ1232へのアクセスは、自ノードのメモリ1231へのアクセスよりも、レイテンシ(latency)と呼ばれる遅延が大きい。したがって、プロセッサが演算に利用するデータは同じノードのメモリ上に配置されることが性能上は望ましい。
しかしながら、複数のノード間でデータを共有する場合、一般にデータをどのノードに配置するかを最適に決定することは困難である。このため、静的に配置を決定するよりも、演算の進行に応じて、データをノード間で動的に移動する戦略が採られることがある。この戦略を実現するために、図7に示すようにオペレーティングシステム102Bがページ移動部121を備え、このページ移動部121が物理ページをノード1221とノード1222の間で再配置する技術が用いられている。
また、主記憶装置が複数のメモリモジュール1251〜1254で構成されるシステムでは、システムを停止させることなくメモリモジュール125を追加したり削減したりするために、オペレーティングシステム102Bのページ移動部121Aによるメモリモジュール1251〜1254間で物理ページを再配置する技術が用いられている。
複数のプロセスが動作するシステムでは、これらプロセスの動作に関わる状況が時間と共に変化する。これに対して、ページカラーリングを用いたキャッシュ制御は、プロセスへの物理ページの割り当て時に行われる。このため、キャッシュ制御に関しては、状況の変化とともに有効性が失われていくという問題がある。
たとえば、図6に示したプロセス間のキャッシュ割り当て制御の例で、優先度が逆転して、ある時点からプロセスAよりもプロセスBの方が優先度が高くなったとする。
図9は、図6に対してプロセスの優先度が逆転した場合を示したものである。図9(a)は図6に示したプロセス間のキャッシュ割り当て制御の場合を示したものであり、プロセスAがキャッシュ上のカラーID{0,1,2,3}の領域を利用できる。これが状況の変化で図9(b)のようにプロセスBの方が優先度が高くなっても、プロセスBはキャッシュ上のカラーID{4,5}しか使えないままである。少量のキャッシュしか使えないこのような状況では、プロセスBの性能を十分上げることができない。
一般に、プロセスのメモリ空間はキャッシュサイズよりも大きい。このため、プロセスが利用できるキャッシュサイズが大きいほどキャッシュミスが少なくなり、性能が向上する。この例では、プロセスBが優先度が高くなったにも関わらず、十分な性能が出ないという問題が生じる。
この問題は、優先度が変更されたにも関わらず、2つのプロセスA、Bがマップしている物理ページが変更されないことによって生じている。前記した本発明の関連技術としてのメモリ再配置技術では、分散メモリシステムにおけるノード間でのページ移動や、メモリモジュール間でのページの移動が可能であるものの、キャッシュを考慮したページの移動が行われていない。
そこで本発明の目的は、特別なハードウェアやアプリケーションプログラムの修正を行うことなく、コンピュータシステムの利用状況に応じて柔軟にプロセスのキャッシュの利用を制御することのできるメモリ再配置システムおよびメモリ再配置方法を提供することにある。
本発明では、(1)論理アドレスと物理アドレスのマッピングの単位となる一定サイズのメモリ領域であるページごとのキャッシュ上の格納位置を、複数の識別情報としてのカラーIDのいずれかにそれぞれ割り当てて、利用されていない物理ページの集合を管理するメモリ管理手段と、(2)移動元ページと移動先ページを指定されて呼び出され、移動元ページの内容を移動先ページにコピーし、移動元ページをマップしているページテーブルを、移動先ページをマップするように書き換えるページ移動手段と、(3)前記したメモリ管理手段の前記した利用されていない物理ページの集合から、指定されたカラーIDを持つ物理ページを取得する移動先ページ取得手段と、指定された物理ページを移動元物理ページとし、前記した移動先ページ取得手段によって取得した物理ページを移動先物理ページとして前記したページ移動手段を呼び出すページ移動指示手段とを有するカラー変更手段とをメモリ再配置システムに具備させる。
また、本発明では、(1)移動元ページと移動先ページを指定されて呼び出され、移動元ページの内容を移動先ページにコピーし、移動元ページをマップしているページテーブルを、移動先ページをマップするように書き換えるページ移動ステップと、(2)論理アドレスと物理アドレスのマッピングの単位となる一定サイズのメモリ領域であるページごとのキャッシュ上の格納位置を、複数の識別情報としてのカラーIDのいずれかにそれぞれ割り当てて、利用されていない物理ページの集合を管理するメモリ管理手段の前記した利用されていない物理ページの集合から、指定されたカラーIDを持つ物理ページを取得する移動先ページ取得ステップと、(3)指定された物理ページを移動元物理ページとし、前記した移動先ページ取得ステップで取得した物理ページを移動先物理ページとして前記したページ移動ステップを呼び出すページ移動指示ステップとをメモリ再配置方法に具備させる。
以上のように本発明によれば、物理ページの割り当て時に限らず、任意の時点でアプリケーションのキャッシュ利用を制御する。したがって、特別なハードウェアやアプリケーションプログラムの修正を行うことなく、最適なキャッシュ制御を実現することができる。
キャッシュを考慮しない場合のメモリ割当機構を示したブロック図である。 図1に示したプロセスへ物理ページを割り当てる動作を表わした流れ図である。 プロセスに特定のキャッシュ領域としてのカラーIDを割り当てるようにしたメモリ割当機構を示したブロック図である。 図3に示したプロセスへ物理ページを割り当てる場合の動作を示した流れ図である。 キャッシュを考慮したメモリ割り当てを示した説明図である。 ページカラーリングによって、2つのプロセスA、Bの利用するキャッシュを分割した例を示した説明図である。 一般的なメモリ再配置技術を示した説明図である。 一般的なメモリモジュール間のメモリ再配置技術を示した説明図である。 図6に対してプロセスの優先度が逆転した場合を示した説明図である。 本発明の第1の実施の形態によるメモリ再配置システムの概要を表わしたブロック図である。 第1の実施の形態で物理ページを他の物理ページに移動する場合を示した説明図である。 本発明の第2の実施の形態によるメモリ再配置システムの概要を表わしたブロック図である。 第2の実施の形態で物理ページを他の物理ページに移動する場合を示した説明図である。 本発明の第3の実施の形態によるメモリ再配置システムの概要を表わしたブロック図である。 第3の実施の形態で物理ページを他の物理ページに移動する場合を示した説明図である。 本発明の第4の実施の形態によるメモリ再配置システムの概要を表わしたブロック図である。 第4の実施の形態で物理ページを他の物理ページに移動する場合を示した説明図である。 本発明の第5の実施の形態によるメモリ再配置システムの概要を表わしたブロック図である。 第5の実施の形態で物理ページを他の物理ページに移動する場合を示した説明図である。 本発明の第1の実施例によるメモリ再配置システムの概要を表わしたブロック図である。 第1の実施例でプロセスAの利用可能カラーIDの変更処理の様子を表わした流れ図である。 第1の実施例で2つのプロセスに対する利用可能カラーID変更後のメモリマップを示した説明図である。 本発明の第2の実施例によるメモリ再配置システムの概要を表わしたブロック図である。 本発明の第3の実施例によるメモリ再配置システムの概要を表わしたブロック図である。 第3の実施例でャッシュの一部の領域へのアクセスの集中を防ぐための処理の流れ図である。 第3の実施例で利用されている物理ページのカラーIDのヒストグラムの一例を表わした特性図である。 第3の実施例でカラーID変更後のヒストグラムとして図26に対応するものを表わした特性図である。 本発明の第4の実施例によるメモリ再配置システムの概要を表わしたブロック図である。 キャッシュ競合ミスを生じるプログラムの要部を示した説明図である。 図29に示した例に対応するキャッシュ競合ミスの解決のための流れ図である。
(第1の実施の形態)
図10は、本発明の第1の実施の形態によるメモリ再配置システムの概要を表わしたものである。本実施の形態のメモリ再配置システム300は、メモリの割り当てを要求するプロセス(もしくはスレッド。以下、本明細書でプロセスと総称する。)301と、この要求に対応するオペレーティングシステム(OS)302とから成っている。オペレーティングシステム302は、メモリ管理部303とページ移動部304およびカラー変更部305を備えている。ここで、カラー変更部305は、移動先ページ取得部306およびページ移動指示部307を備えている。
メモリ管理部303は、利用されていない物理ページを管理し、プロセス301がメモリ割当要求を行った際に、物理ページを割り当てる機能を有している。このメモリ管理部303は、プロセスに物理ページを割り当てる際に、フリーページ集合から特定のカラー集合に含まれるカラーIDをもつページを割り当てる機能を有している。これをページカラーリング機能と称することにする。
なお、オペレーティングシステム302は、プロセス301への割り当ての際に使用されるフリーリスト308と、プロセス301のページテーブル309およびプロセス301が利用可能なカラーIDを管理するカラーテーブル310を有している。これらは、たとえば図3に示したフリーリスト104、ページテーブル105あるいはカラーテーブル106と同様の機能を有するので、重複する説明は原則として省略する。
なお、第1の実施の形態におけるメモリ再配置システム300は、キャッシュの一部の領域へのアクセスが集中するのを防ぐ機能を実現するのに有効なものとなっている。このため、メモリ再配置システム300の発明自体にプロセス301が直接関わる必要はない。また、オペレーティングシステム302におけるフリーリスト308、ページテーブル309およびカラーテーブル310も本発明の成立に直接関係しない。そこで、これらの構成要素は図10にて破線で示している。後に説明する他の実施の形態についても同様である。
本実施の形態でページ移動部304は、移動元ページと移動先ページを指定されて呼び出されるようになっている。そして、移動元ページの内容を移動先ページにコピーし、移動元ページをマップしているページテーブルを、移動先ページをマップするように書き換える機能を有する。ページの移動中は、移動元のページをマップしている。ページ移動部304は、ページテーブル309の該当エントリを無効化し、ページテーブル309をロックすることで、移動中のページに対するメモリアクセスを禁止する。これによりプロセス301の実行中の任意の時点でカラー変更が可能である。
カラー変更部305の移動先ページ取得部306は、移動先カラー集合に含まれるカラーIDを持っている。移動先ページ取得部306は、空きページをメモリ管理部303に対して要求し、取得する。ページ移動指示部307は、ページ移動部304に対して、移動元ページと移動先ページへのページの移動を指示する機能を有する。本実施の形態によるカラー変更部305は、指定された物理ページを指定されたカラーIDの異なる物理ページに移動する機能を有している。
図11は、本実施の形態で、キャッシュの一部の領域へのアクセスが集中するとき、これを回避するために、物理ページを他の物理ページに移動する場合を説明するためのものである。この際、元の物理ページと移動先の物理ページは異なるカラーIDを持つものとする。
本実施の形態では、カラー変更部305が、移動対象の物理ページ番号と移動先のカラーIDを指定されて、カラー変更要求が行われることによって、動作が開始される。
カラー変更部305は、移動対象の物理ページのカラーIDが移動先カラーIDと一致するか調べる(ステップS401)。一致する場合は(Y)、移動を行わず、要求元に応答を返す(ステップS402)。
カラー変更部305は、移動対象の物理ページのカラーIDが移動先カラーIDと一致しない場合(ステップS401:N)、移動対象の物理ページが移動可能かを調べる(ステップS403)。移動不可能な場合は(N)、要求元に移動不可能であるという応答を返す(ステップS402)。たとえばオペレーティングシステム302がロックしているページは移動不可能である。
移動対象の物理ページが移動可能な場合(ステップS403:Y)、移動先ページ取得部306は、メモリ管理部303に移動先カラーIDを指定して空きページを要求する(ステップS404)。
メモリ管理部303は、ステップ404の空きページの要求があったら、移動先カラーIDを持つ空きページが空きページリストに存在するかをチェックする(ステップS405)。移動先カラーIDを持つ空きページが存在する場合には(Y)、管理している空きページリストから指定されたカラーIDのページを返す(ステップS406)。指定されたカラーIDを持つページが空きページリスト中に存在しない場合は(ステップS405:N)、エラーを示す値を返すことになる(ステップS407)。
移動先ページ取得部306は、メモリ管理部303からの返り値を調べる(ステップS408)。この結果、ステップS407でメモリ管理部303よりエラーが返された場合は(Y)、要求元にエラーを示す応答を返す(ステップS402)。
ステップS408でこれ以外の場合(N)、ページ移動指示部307は、移動元ページとして要求されたページを指定し、移動先ページとしてステップS406で取得したページを指定して、ページ移動部304を呼び出す(ステップS409)。
ページ移動部304は、前記した方法によって、ページの移動を行う(ステップS410)。移動が完了したら、ページ移動指示部307に通知する(ステップS411)。
ページ移動指示部307が、移動の完了の通知を受けると、カラー変更部305は要求元に応答を返す(ステップS402)。
以上の動作により、移動対象の物理ページは、指定されたカラーIDを持つ物理ページに移動される。このとき、物理ページに対応する論理アドレスは変更されない。このため、移動元の物理ページをマップしていたプロセス301は、カラーIDが変更されたことを認識する必要はない。
以上説明した第1の実施の形態の変形の可能性を説明する。まず、移動対象として複数の物理ページが指定されてもよい。その場合、それぞれの物理ページに対して以上説明した動作が行われることになる。
次に、移動先カラーIDとしてカラー集合が指定されてもよい。カラー集合が複数のカラーIDを含む場合は、任意のアルゴリズムを用いてその中から移動先カラーIDを選択してよい。
また、アドレスからページ番号は一意に求めることができるため、第1の実施の形態の変形例として、ページ番号の代わりに物理アドレスが指定されてもよい。カラー変更要求は、オペレーティングシステム302内から行われてもよいし、オペレーティングシステム302外から行われてもよい。
(第2の実施の形態)
図12は、本発明の第2の実施の形態によるメモリ再配置システムの概要を表わしたものである。図12で図10と同一部分には同一の符号を付しており、これらの説明を適宜省略する。第2の実施の形態のメモリ再配置システム300Aでは、オペレーティングシステム302A内のカラー変更部305Aが、移動先ページ取得部306Aおよびページ移動指示部307の他に、論理物理ページ変換部311を備えている。
論理物理ページ変換部311は、論理ページが物理ページをマップしているかを調べ、マップしている場合はその物理ページ番号を返す機能を有する。第2の実施の形態では、カラー変更部305Aが、論理物理ページ変換部311を備えることで、論理ページに対応する物理ページを検出する機能を有する。このため、カラー変更用要求時に、物理ページ番号ではなく論理ページ番号を指定することができることになる。
図13は、本実施の形態で、物理ページを他の物理ページに移動する場合を説明するためのものである。ただし、図13で図11と同一部分には同一の符号を付しており、これらの説明を適宜省略する。
本実施の形態では、カラー変更部305Aが、プロセスを特定する識別子(以降プロセスID(あるいはpID)という)、移動対象の論理ページ番号および移動先のカラーIDが指定されて、カラー変更要求が行われることによって、動作が開始される。
論理物理ページ変換部311は、図12に示したプロセス301が指定された論理ページ番号で物理ページをマップしているか調べる(ステップS421)。マップしていない場合は(N)、要求元に応答を返す(ステップS402)。
マップしている場合には(ステップS421:Y)、マップしている物理ページ番号を求める(ステップS423)。そして、求めた物理ページ番号を移動先ページ取得部306Aに渡す。移動先ページ取得部306Aおよびページ移動指示部307のこれ以降の処理の流れは、図11のステップS401〜S411の処理と同じであり、図示および説明を省略する。
(第3の実施の形態)
図14は、本発明の第3の実施の形態によるメモリ再配置システムの概要を表わしたものである。図14で図10と同一部分には同一の符号を付しており、これらの説明を適宜省略する。第3の実施の形態のメモリ再配置システム300Bでは、オペレーティングシステム302B内のカラー変更部305Bが、移動先ページ取得部306Bおよびページ移動指示部307の他に、移動元ページ決定部312を備えている。
移動元ページ決定部312は、プロセスIDとカラー集合を指定されると、プロセス301がマップしている物理ページの中から、カラー集合に含まれるカラーIDを持つ物理ページを特定する機能を有する。
図15は、本実施の形態で、物理ページを他の物理ページに移動する場合を説明するためのものである。ただし、図15で図11と同一部分には同一の符号を付しており、これらの説明を適宜省略する。
本実施の形態では、プロセスID、移動元カラー集合、移動先カラー集合が指定されて、カラー変更部305Bにカラー変更要求が行われることによって、動作が開始される。
移動元ページ決定部312は、図10に示すプロセス301がマップしている物理ページの中から、移動元カラー集合に含まれるカラーIDを持つ物理ページ集合を求める(ステップS441)。そして、移動元カラー集合に含まれるカラーIDを持つ物理ページの集合が空であるかをチェックする(ステップS442)。集合が空の場合は(Y)、要求元へ応答を返す(ステップS402)。
集合が空でない場合は(ステップS442:Y)、移動先ページ取得部306Bが、移動元ページ決定部312が求めた物理ページ集合と、移動先カラー集合を指定されて呼び出される。移動先ページ取得部306Bおよびページ移動指示部307のこれ以降の処理の流れは、図11のステップS401〜S411の処理と同じであり、これらの図示および説明を省略する。
本実施の形態では、プロセスID、移動元カラー集合および移動先カラー集合を指定して移動元ページ決定部312を呼び出すことができるという特徴を持つ。
(第4の実施の形態)
図16は、本発明の第4の実施の形態によるメモリ再配置システムの概要を表わしたものである。図16で図10および図14と同一部分には同一の符号を付しており、これらの説明を適宜省略する。第4の実施の形態のメモリ再配置システム300Cでは、オペレーティングシステム302C内のカラー変更部305Cが、移動先ページ取得部306C、ページ移動指示部307および移動元ページ決定部312Cの他に、移動元カラー決定部313を備えている。
移動元カラー決定部313は、移動先カラー集合を指定されると、移動元カラー集合を決定するカラーIDを決定する。決定された移動元カラー集合には、移動先カラー集合に含まれないカラーIDが含まれる。移動先ページカラー集合に含まれるカラーIDを含んでもよい。
図17は、本実施の形態で、物理ページを他の物理ページに移動する場合を説明するためのものである。ただし、図17で図11および図15と同一部分には同一の符号を付しており、これらの説明を適宜省略する。
本実施の形態では、プロセスIDおよび移動先カラー集合が指定されて、カラー変更部305Cにカラー変更要求が行われることによって、動作が開始される。
移動元カラー決定部313は、移動先カラー集合から、移動元カラー集合を決定する(ステップS461)。そして、移動元カラー集合に含まれるカラーIDを持つ物理ページの集合が空であるかをチェックする(ステップS462)。集合が空の場合は(Y)、要求元へ応答を返す(ステップS402)。
集合が空でない場合は(ステップS462:N)、プロセスIDと決定された移動元カラー集合とを指定して、移動元ページ決定部312Cが呼び出される。これ以降の動作は、図15に示した第3の実施の形態の動作から明らかであり、図示および説明を省略する。
本実施の形態では、プロセスID、移動先カラー集合を指定してカラー変更部305Cを呼び出すことができるという特徴を持つ。
(第5の実施の形態)
図18は、本発明の第5の実施の形態によるメモリ再配置システムの概要を表わしたものである。図18で図10と同一部分には同一の符号を付しており、これらの説明を適宜省略する。第5の実施の形態のメモリ再配置システム300Dでは、オペレーティングシステム302D内のカラー変更部305Dが、移動先ページ取得部306D、ページ移動指示部307の他に、カラー選別部314を備えている。また、メモリ管理部303Dは、指定されたカラーIDの空きページを割り当てる機能を持っていない。本実施の形態では、連続する物理ページは連続するカラーIDを持つ。このため、最低限カラー数分だけ連続するページの集合中には、すべてのカラーIDのページが含まれるという性質を利用する。
本実施の形態の移動先ページ取得部306Dは、メモリ管理部303Dに対して、カラー数分の連続した空きページを要求する機能を有する。メモリ管理部303Dは、指定された数の連続した空きページを割り当て可能かを調べ、割り当て可能ならそのページ集合を返し、割り当て不可能な場合は、エラーを示す値を返す機能を有する。
カラー選別部314は、移動先ページ取得部306Dが取得したページ集合から、移動先カラーとして指定されたカラーID以外のカラーIDを持つページを開放し、指定されたカラーIDのページを移動先ページとして選択する機能を有する。
図19は、本実施の形態で、物理ページを他の物理ページに移動する場合を説明するためのものである。ただし、図19で図11と同一部分には同一の符号を付しており、これらの説明を適宜省略する。
本実施の形態による動作のうち、移動先ページ取得部306Dが呼び出されるまでの動作は、第1の実施の形態と同様である。そこで、この部分の処理はステップS481として表わしており、この部分の説明は省略する。ステップS481の処理でステップS402に進む処理以外の処理結果があると、移動先ページ取得部306Dはメモリ管理部303Dに対して、カラー数分だけ連続する空きページを要求する(ステップS482)。
メモリ管理部303Dは、要求された数だけ連続する空きページ集合が存在するかをチェックする(ステップS483)。存在する場合には(Y)、空きページ集合から任意のページ集合を返す(ステップS484)。そのような空きページ集合が存在しない場合は(ステップS483:N)、エラーを示す値を返す(ステップS485)。
移動先ページ取得部306Dは、メモリ管理部303Dからの返り値を調べる(ステップS486)。この結果、ステップS407でメモリ管理部303よりエラーが返された場合は(Y)、要求元にエラーを示す応答を返す(ステップS402)。これ以外の場合、すなわち空きページ集合が取得された場合(ステップS486:N)、カラー選別部314は、取得された物理ページ集合から指定されたカラーID以外のページをメモリ管理部303Dに対して開放する(ステップS487)。次に、カラー選別部314は、指定されたカラーIDのページを移動先ページとして、ページ移動指示部307を呼び出す(ステップS488)。これ以降は、図11のステップS409以降の処理と同一である。このため、その図示および説明を省略する。
(実施の形態の変形可能性)
以上、第1〜第5の実施の形態について説明した。本発明は以上の実施の形態に限定されるものではない。たとえば、第5の実施の形態と、第2〜4の実施の形態とを組み合わせた実施の形態を採ってもよい。
また、第1〜第4の実施の形態では、オペレーティングシステム302〜302Cがメモリ管理部303〜303C、ページ移動部304、カラー変更部305〜305Cを持つ形態について説明したが、オペレーティングシステム以外がこれに相当する機能を持つ実施の形態を採ってもよい。そのような例として、これらのすべてまたは一部の機能を仮想マシンモニタが持つ場合や、ハードウェアが実装している場合を挙げることができる。
次に、具体的な実施例を用いて本発明を説明する。
(実施例1)
図20は、本発明の第1の実施例によるメモリ再配置システムの概要を表わしたものである。第1の実施例のメモリ再配置システム3000Cは、図16および図17で説明した第4の実施の形態に対応するものである。メモリ再配置システム3000Cは、優先度制御部3010と、プロセスA3011、プロセスB3012、およびオペレーティングシステム3020Cから構成されている。オペレーティングシステム3020Cは、カラー変更部3050C、メモリ管理部3030、ページ移動部3040、および本発明の説明と直接関係しない、破線で示したフリーリスト3080、ページテーブル3090およびカラーテーブル3100から構成されている。このうち、カラー変更部3050Cは、移動元カラー決定部3130、移動元ページ決定部3120C、移動先ページ取得部3060Cおよびページ移動指示部3070によって構成されている。
第1の実施例では、本発明を用いることで、プロセスA3011とプロセスB3012の間でキャッシュ利用量を制御するようにしている。カラー変更部3050C、メモリ管理部3030およびページ移動部3040の機能は、第4の実施の形態におけるカラー変更部305C、メモリ管理部303およびページ移動部304と同一である。優先度制御部3010は、プロセスA3011とプロセスB3012の間の優先度およびキャッシュの割り当てを制御する機能を持つ。本実施例で、キャッシュはダイレクトマップキャッシュであり、キャッシュサイズは8ページである。
本実施例で、ある時点に、プロセスA3011の方がプロセスB3012よりも優先度が高かったものとする。この状況から、後の時点でプロセスB3012の方がプロセスA3011よりも優先度が高い状況に変化する場合を例に挙げて説明する。
先に説明した図6は、プロセスA3011がプロセスB3012よりも優先度が高い状況での、2つのプロセスのメモリマップを示したものである。優先度制御部3010は、プロセスA3011に利用可能なカラー集合{0,1,2,3}と、プロセスB3012に利用可能なカラー集合{4,5}を別に割り当てている。このようにプロセスA3011とプロセスB3012に異なるカラーIDを割り当てることで、それぞれのプロセスが利用可能なキャッシュ領域を分割し、プロセス間のキャッシュ競合による性能低下やばらつきを削減することができる。また、プロセスA3011に対して、より多くのカラーIDを割り当てることで、より多くキャッシュを利用可能にし、より高い性能で動作できるように制御している。
プロセスA3011とプロセスB3012の優先度が逆転した場合の動作を次に説明する。優先度制御部3010は、プロセスA3011とプロセスB3012の優先度を変更すると同時に、カラー変更部3050Cに対して、プロセスA3011はカラー集合{0,1}を利用可能なように、また、プロセスB3012はカラー集合{2,3,4,5}を利用可能なように変更を行う。
図21は、プロセスAの利用可能カラーIDの変更処理の様子を表わしたものである。図20と共に説明する。まず、優先度制御部3010は、カラー変更部3050Cに対して、プロセスA3011のプロセスIDと移動先カラー集合として{0,1}を指定して、カラー変更要求を行う(ステップS501)。これに対して、移動元カラー決定部3030は、移動対象カラー集合として{4,5}を選ぶ(ステップS502)。
移動元ページ決定部3120Cは、移動対象物理ページ集合として、移動対象カラー集合に含まれるカラーIDを持つ物理ページ集合{2,3,10,11}を選ぶ(ステップS503)。移動先ページ取得部3060Cは、利用可能カラー集合{0,1}を指定して、メモリ管理部3030から4つの空きページを要求する(ステップS504)。
メモリ管理部3030から物理ページ集合{16,17,24,25}が返される(ステップS505)。これを基にしてページ移動指示部3070は、移動元ページとして{2,3,10,11}を、また移動先ページとして{16,17,24,25}を指定して、ページ移動部3040を呼び出す(ステップS506)。ページ移動部3040は、移動元ページから移動先ページにデータをコピーし、移動元ページをマップしているページテーブルの対応するエントリを移動先ページに書き換える(ステップS507)。
以上、プロセスAの利用可能カラーIDの変更処理の様子を説明したが、プロセスB3012の利用可能カラーIDの変更についても同様の処理で行われる。
図22は、2つのプロセスに対する利用可能カラーIDの変更後のメモリマップを示したものである。図20と共に説明する。
図22に示すように、プロセスA3011はカラーID{0,1}のキャッシュ領域が利用可能に変更され、プロセスB3012はカラーID{2,3,4,5}のキャッシュ領域が利用可能に変更されている。これにより、プロセスB3012は、変更前よりも高い性能を発揮することが可能になる。このように本実施例ではプロセス間の優先度変更に合わせて、プロセス間の利用可能なキャッシュ量を変更することができるので、状況に合わせたキャッシュ制御を行うことができる。
第1の実施例では、2つのプロセス間でのキャッシュ制御を例にしたが、任意の数のプロセス間でも同様なキャッシュ制御が可能である。また、第1の実施例では優先度制御部3010がオペレーティングシステム3020Cの外部にある例を示したが、優先度制御部3010がオペレーティングシステム3020内に配置されてもよい。
(実施例2)
図23は、本発明の第2の実施例によるメモリ再配置システムの概要を表わしたものである。第2の実施例のメモリ再配置システム3000Bは、図14および図15で説明した第3の実施の形態に対応するものである。メモリ再配置システム3000Bは、優先度制御部3010と、プロセスA3011、プロセスB3012、およびオペレーティングシステム3020Bから構成されている。オペレーティングシステム3020Bは、カラー変更部3050B、メモリ管理部3030、ページ移動部3040、および本発明の説明と直接関係しない、破線で示したフリーリスト3080、ページテーブル3090およびカラーテーブル3100から構成されている。このうち、カラー変更部3050Bは、移動元ページ決定部3120、移動先ページ取得部3060Bおよびページ移動指示部3070によって構成されている。
この第2の実施例では、第1の実施例の場合と同様にプロセスA3011とプロセスB3012との間のキャッシュ制御を行う。本実施例では、この制御の際に優先度制御部3010がプロセスIDと移動先カラー集合に加えて移動元カラー集合を指定して、カラー変更部3050Bを呼び出すことを特徴としている。
この第2の実施例のメモリ再配置システム3000Bの動作は、第2の実施の形態の動作と第1の実施例から明らかである。したがって、動作の具体的説明は省略する。
(実施例3)
図24は、本発明の第3の実施例によるメモリ再配置システムの概要を表わしたものである。第3の実施例のメモリ再配置システム3000は、図10および図11で説明した第1の実施の形態に対応するものである。この実施例ではキャッシュの一部の領域へのアクセスが集中するのを防ぐ機能を実現する。
このため、メモリ再配置システム3000は、オペレーティングシステム3020単独で構成することができる。オペレーティングシステム3020は、カラー分散指示部3200、カラー変更部3050、メモリ管理部3030、ページ移動部3040、および本発明の説明と直接関係しない、破線で示したフリーリスト3080、ページテーブル3090およびカラーテーブル3100から構成されている。このうち、カラー変更部3050は、移動先ページ取得部3060およびページ移動指示部3070によって構成されている。
カラー分散指示部3200は、利用されている物理ページのカラーIDを調べ、特定のカラーIDが多く利用されている場合にカラー変更部3050を呼び出す機能を有する。
図25は、キャッシュの一部の領域へのアクセスの集中を防ぐための処理の流れを表わしたものである。図24と共に説明する。まず、カラー分散指示部3200が、すべてのプロセスによって利用されている物理ページのカラーIDを調べてヒストグラムを作成する(ステップS521)。
図26は、利用されている物理ページのカラーIDのヒストグラムの一例を表わしたものである。ここで、横軸の各数字はカラーIDを示しており、縦軸が使用頻度を表わしている。グラフ内の各数字はページ番号を表わしている。物理ページの再配置前なので、図26に示した例では、カラーID「0」および「1」にアクセスが集中していることが分かる。
図25に戻って説明を続ける。カラー分散指示部3200は、利用されている全物理ページ数をカラー数で割って平均を求める(ステップS522)。図26に示した例では、平均したときのページ数は、2ページとなる。そこで、カラー分散指示部3200は2ページよりも多くのページが利用されているカラーIDを有する物理ページに対して、カラー変更を行う。具体的には、カラー分散指示部3200は、まず、物理ページ番号「16」と移動先カラーID「2」を指定して、カラー変更部3050を呼び出す(ステップS523)。カラー変更部3050は、物理ページ「16」を物理ページ「10」に再配置することで、カラーID変更を行う(ステップS524)。
この後、平均を超えた物理ページが存在するかをチェックする(ステップS525)。存在すれば、ステップS523に戻って、該当ページについてカラー変更部3050によってカラーID変更を行う(ステップS523,S524)。このようにして、平均を超えた物理ページが存在しなくなったら(ステップS525:N)、処理を終了する(エンド)。
図27は、カラーID変更後のヒストグラムを示す。適宜な時間間隔で図25の処理を繰り返せば、カラーIDを均等に分散させることによって、特定のキャッシュ領域へのアクセス集中を削減することができる。
なお、本発明の第3の実施例ではすべてのプロセスによって利用されている物理ページを対象にしたが、これに限定されるものではない。たとえば、頻繁に実行されるプロセスの集合を対象にするようにしてもよいし、単一プロセスを対象にする形態を採ってもよい。また、オペレーティングシステムが利用する物理ページを対象として含めるようにしてもよい。
(実施例4)
図28は、本発明の第4の実施例によるメモリ再配置システムの概要を表わしたものである。第4の実施例のメモリ再配置システム3000Aは、図12および図13で説明した第2の実施の形態に対応するものである。メモリ再配置システム3000Aは、プログラム601と、オペレーティングシステム3020Aから構成されている。オペレーティングシステム3020Aは、カラー変更部3050A、メモリ管理部3030、ページ移動部3040、および本発明の説明と直接関係しない、破線で示したフリーリスト3080、ページテーブル3090およびカラーテーブル3100から構成されている。このうち、カラー変更部3050Aは、論理物理ページ変換部3110、移動先ページ取得部3060Aおよびページ移動指示部3070によって構成されている。
ところで、プロセスが利用する異なるデータが、同じカラーIDを持つ異なる物理ページにマップされる場合、深刻なキャッシュ競合ミスを起こす可能性がある。第4の実施例のメモリ再配置システム3000Aは、このようなプロセス内でのキャッシュ競合ミスを動的に削減するようにしている。
図29は、このようなキャッシュ競合ミスを生じるプログラムの例を表わしたものである。このプログラム601の例では、配列aと配列bとが同じカラーIDを持っている。このようなプログラム601では、物理ページにマップされる場合や、ループを実行する際に、深刻なキャッシュ競合ミスが起こる。本発明の第4の実施例では、このような競合ミスを、データのカラーIDが異なるように指定することによって解決するようにしている。
図30は、図29に示した例に対応するキャッシュ競合ミスの解決のための処理の流れを表わしたものである。図28と共に説明する。プログラム601は、配列aの論理ページ番号とカラー番号を指定して、カラー変更部3050Aを呼び出す(ステップS541)。これを基にしてカラー変更部3050Aは、配列aが割り当てられている物理ページを求め、指定されたカラーIDの物理ページへ移動する(ステップS542)。
ここでプログラム601は、配列bの論理ページ番号と、ステップS541で指定したカラー番号とは異なるカラー番号を指定して、カラー変更部3050Aを呼び出す(ステップS543)。カラー変更部3050Aは、配列bが割り当てられている物理ページを求め、指定されたカラーIDの物理ページへ移動する(ステップS544)。以上により、配列aと配列bは異なるカラーIDを持つ物理ページに割り当てられることになる。
このように、第4の実施例では、プログラム601の実行フェーズが変わり、配列間の競合関係が変更した場合に、当該配列間で同様の動作を行うことによって、動的に競合関係を解消することができる。
以上、実施例を参照して本願発明を説明したが、本願発明は上記実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
この出願は、2007年12月12日に出願された日本出願特願2007−320734を基礎とする優先権を主張し、その開示の全てをここに取り込む。

Claims (9)

  1. 論理アドレスと物理アドレスのマッピングの単位となる一定サイズのメモリ領域であるページごとのキャッシュ上の格納位置を、複数の識別情報としてのカラーIDのいずれかにそれぞれ割り当てて、利用されていない物理ページの集合を管理するメモリ管理手段と、
    移動元ページと移動先ページを指定されて呼び出され、移動元ページの内容を移動先ページにコピーし、移動元ページをマップしているページテーブルを、移動先ページをマップするように書き換えるページ移動手段と、
    前記メモリ管理手段の前記利用されていない物理ページの集合から、指定されたカラーIDを持つ物理ページを取得する移動先ページ取得手段と、指定された物理ページを移動元物理ページとし、前記移動先ページ取得手段によって取得した物理ページを移動先物理ページとして前記ページ移動手段を呼び出すページ移動指示手段とを有するカラー変更手段とを具備するメモリ再配置システム。
  2. 請求項1に記載のメモリ再配置システムにおいて、
    前記カラー変更手段は、オペレーティングシステムから見たときの実行中の個々のプログラムとしてのプロセスを特定する識別子としてのプロセスIDと論理ページ番号とから物理ページ番号を求める論理物理ページ変換手段を具備するメモリ再配置システム。
  3. 請求項1に記載のメモリ再配置システムにおいて、
    前記カラー変更手段は、オペレーティングシステムから見たときの実行中の個々のプログラムとしてのプロセスを特定する識別子としてのプロセスIDと移動元カラー集合および移動先カラー集合とから移動元物理ページ集合を決定する移動先ページ決定手段を具備するメモリ再配置システム。
  4. 請求項3に記載のメモリ再配置システムにおいて、
    前記カラー変更手段は、前記プロセスIDと前記移動先カラー集合とから移動元カラー集合を決定する移動元カラー決定手段を具備するメモリ再配置システム。
  5. 請求項3または請求項4に記載のメモリ再配置システムにおいて、
    前記移動先ページ取得手段は、カラーを指定せずに連続する複数のページを取得し、
    前記カラー変更手段は、前記移動先ページ取得手段の取得した前記複数のページの集合から前記移動先カラー集合に含まれないカラーを持つページを開放し、移動先カラーを持つページを移動先ページとして選択するカラー選別手段を具備するメモリ再配置システム。
  6. 請求項1乃至5のいずれか1項に記載のメモリ再配置システムにおいて、
    利用されている物理ページのカラーIDの平均ページ数を算出する平均ページ数算出手段と、
    該平均ページ数算出手段で算出された平均ページ数を超えるカラーIDを指定して前記カラー変更手段を呼び出して該当するカラーIDの物理ページが減少するように再配置を指示する平均化指示手段とを具備するメモリ再配置システム。
  7. 請求項2乃至5のいずれか1項に記載のメモリ再配置システムにおいて、
    動作中の複数のプロセスの優先度を判別する優先度判別手段と、
    該優先度判別手段で判別された優先度に応じてキャッシュの分配が行われているかを判別するキャッシュ分配適否判別手段と、
    該キャッシュ分配適否判別手段が前記キャッシュの分配が優先度に応じて適正に行われていないと判別するときメモリ再配置によるこれらプロセスへのキャッシュ割り当てを制御するキャッシュ割り当て制御手段とを具備するメモリ再配置システム。
  8. 請求項1乃至5のいずれか1項に記載のメモリ再配置システムにおいて、
    同一のプログラムに存在する同一のカラーIDを有する複数の特定配列を検出する特定配列検出手段と、
    該特定配列検出手段が前記複数の特定配列を検出するたびに前記カラー変更手段を呼び出して前記同一のカラーID以外の予め定めたカラーIDにその論理ページが移動するように再配置を指示するキャッシュ競合回避指示手段とを具備するメモリ再配置システム。
  9. 移動元ページと移動先ページを指定されて呼び出され、移動元ページの内容を移動先ページにコピーし、移動元ページをマップしているページテーブルを、移動先ページをマップするように書き換えるページ移動ステップと、
    論理アドレスと物理アドレスのマッピングの単位となる一定サイズのメモリ領域であるページごとのキャッシュ上の格納位置を、複数の識別情報としてのカラーIDのいずれかにそれぞれ割り当てて、利用されていない物理ページの集合を管理するメモリ管理手段の前記利用されていない物理ページの集合から、指定されたカラーIDを持つ物理ページを取得する移動先ページ取得ステップと、
    指定された物理ページを移動元物理ページとし、前記移動先ページ取得ステップで取得した物理ページを移動先物理ページとして前記ページ移動ステップを呼び出すページ移動指示ステップとを具備するメモリ再配置方法。
JP2009545379A 2007-12-12 2008-11-20 メモリ再配置システム Active JP5293611B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009545379A JP5293611B2 (ja) 2007-12-12 2008-11-20 メモリ再配置システム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2007320734 2007-12-12
JP2007320734 2007-12-12
PCT/JP2008/071136 WO2009075177A1 (ja) 2007-12-12 2008-11-20 メモリ再配置システムおよびメモリ再配置方法
JP2009545379A JP5293611B2 (ja) 2007-12-12 2008-11-20 メモリ再配置システム

Publications (2)

Publication Number Publication Date
JPWO2009075177A1 true JPWO2009075177A1 (ja) 2011-04-28
JP5293611B2 JP5293611B2 (ja) 2013-09-18

Family

ID=40755420

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009545379A Active JP5293611B2 (ja) 2007-12-12 2008-11-20 メモリ再配置システム

Country Status (2)

Country Link
JP (1) JP5293611B2 (ja)
WO (1) WO2009075177A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104572493A (zh) 2013-10-23 2015-04-29 华为技术有限公司 一种存储器资源优化方法和装置
JP6459784B2 (ja) * 2015-06-03 2019-01-30 富士通株式会社 並列計算機、マイグレーションプログラム、及び、マイグレーション方法
CN109299021B (zh) * 2017-07-24 2023-06-16 阿里巴巴集团控股有限公司 页迁移方法、装置和中央处理器

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0659980A (ja) * 1992-08-05 1994-03-04 Matsushita Electric Ind Co Ltd キャッシュ装置
JPH09507599A (ja) * 1994-10-22 1997-07-29 ゲーエムデー−フォルシュングスツェントルム インフォルマチオンシュテクニク ゲーエムベーハー データ格納装置
JP3709586B2 (ja) * 1995-09-28 2005-10-26 マツダ株式会社 階層記憶システムにおけるデバイスアクセス方法
US5752261A (en) * 1996-11-07 1998-05-12 Ncr Corporation Method and apparatus for detecting thrashing in a cache memory
EP0919927A3 (en) * 1997-11-26 2000-05-24 Compaq Computer Corporation Dynamic memory allocation technique for maintaining an even distribution of cache page addresses within an address space
JP2000339220A (ja) * 1999-05-27 2000-12-08 Nippon Telegr & Teleph Corp <Ntt> キャッシュブロック予約方法およびキャッシュブロック予約機能付きコンピュータシステム
JP2004206424A (ja) * 2002-12-25 2004-07-22 Hitachi Ltd データ処理装置及びデータ処理装置におけるデータ転送方法

Also Published As

Publication number Publication date
WO2009075177A1 (ja) 2009-06-18
JP5293611B2 (ja) 2013-09-18

Similar Documents

Publication Publication Date Title
JP7091203B2 (ja) メモリシステムおよび制御方法
US8095736B2 (en) Methods and systems for dynamic cache partitioning for distributed applications operating on multiprocessor architectures
CN110140111B (zh) 存储器系统资源或性能监测的划分
KR101038963B1 (ko) 캐쉬 할당을 위한 장치, 시스템, 방법 및 기계 액세스가능 매체
JP7265478B2 (ja) メモリ分割
CN105095094B (zh) 内存管理方法和设备
US8495318B2 (en) Memory page management in a tiered memory system
KR20190104555A (ko) Tlb 또는 캐시 할당 파티셔닝
CN110168501B (zh) 存储器系统资源或性能监测的划分
GB2509755A (en) Partitioning a shared cache using masks associated with threads to avoiding thrashing
JP7340326B2 (ja) メンテナンス動作の実行
US9832277B2 (en) Systems and methods for adaptive partitioning in distributed cache memories
US10824555B2 (en) Method and system for flash-aware heap memory management wherein responsive to a page fault, mapping a physical page (of a logical segment) that was previously reserved in response to another page fault for another page in the first logical segment
CN103154909A (zh) 分布式高速缓冲存储器一致性协议
WO2005121966A2 (en) Cache coherency maintenance for dma, task termination and synchronisation operations
US20140032854A1 (en) Coherence Management Using a Coherent Domain Table
KR20190105229A (ko) 메모리 시스템 자원 또는 성능 모니터링의 파티셔닝
US20090178052A1 (en) Latency-aware thread scheduling in non-uniform cache architecture systems
KR20230063334A (ko) 캐시 최대 연관성 값에 기초한 캐시 내의 경로들의 할당 제한
CN114375439A (zh) 用于页表行走存储器事务的分区标识符
US7689993B2 (en) Assigning tasks to processors based at least on resident set sizes of the tasks
JP5293611B2 (ja) メモリ再配置システム
Deligiannis et al. Adaptive memory management scheme for MMU-less embedded systems
US10949360B2 (en) Information processing apparatus
JP5196249B2 (ja) キャッシュメモリを利用するためのメモリシステム、その方法及びそのプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110905

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130226

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130328

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: 20130514

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130527

R150 Certificate of patent or registration of utility model

Ref document number: 5293611

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150