JP3962368B2 - 共用リソースを動的に割り振るためのシステムおよび方法 - Google Patents

共用リソースを動的に割り振るためのシステムおよび方法 Download PDF

Info

Publication number
JP3962368B2
JP3962368B2 JP2003325295A JP2003325295A JP3962368B2 JP 3962368 B2 JP3962368 B2 JP 3962368B2 JP 2003325295 A JP2003325295 A JP 2003325295A JP 2003325295 A JP2003325295 A JP 2003325295A JP 3962368 B2 JP3962368 B2 JP 3962368B2
Authority
JP
Japan
Prior art keywords
buffer
partition
shared resource
partitions
usage history
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
Application number
JP2003325295A
Other languages
English (en)
Other versions
JP2004164607A (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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2004164607A publication Critical patent/JP2004164607A/ja
Application granted granted Critical
Publication of JP3962368B2 publication Critical patent/JP3962368B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • 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/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • 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/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/122Replacement control using replacement algorithms of the least frequently used [LFU] type, e.g. with individual count value
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5011Pool

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)
  • Memory System (AREA)
  • Storage Device Security (AREA)

Description

本発明は、一般に、コンピュータ・システムにおけるメモリ・リソース管理の分野に関し、より具体的には、共用記憶リソース(たとえば、キャッシュ・ラインおよびバッファ)の割振りおよび置換のための改良された方法および装置に関する。
従来のシステムは、コンピュータおよび「ハードウェア」で実現されたその他のデータ処理システムを使用し、その内容に対するプロセスまたは「エージェント」によるその内容へのローカル高速アクセスのために記憶バッファおよびレジスタのアレイを使用する場合が多い。このようなリソースはサイズおよび量が限られているので、競合エージェントの需要の変化に応じるために、そのリソースを絶えず再割振りするための方法が使用されている。このようなリソースは、新たな需要に対処するためにリソースを再割振りする前に、短時間の間、所与のエージェントのために情報を保持する場合が最も多い。
共用ハードウェア・リソース管理技法およびアルゴリズムは、使用可能なリソースをできるだけ効率よく使用する働きをしながら、速度と、コストおよび複雑さとの兼ね合いに対処するものである。最低使用頻度(LRU)アルゴリズムは一般に、1つの区画内の1組の限られた共用リソース・セットを管理するために使用される。このアルゴリズムは、現行または保留中の需要に対する最低使用頻度リソースの再割振りを示唆するものである。しかし、複数のエージェントが同じリソース区画内のリソースを競り合っている場合、1つまたは複数のエージェントがリソース・セットを独占する可能性があり、それにより、複数の競合エージェントが1つのリソースを十分使用する前に互いのリソースを繰返し再割振りすることになる。これに比例してエージェントは1つのリソースを待って相当な時間を浪費するので、この「スラッシング」はシステム・パフォーマンスを大幅に低下させる可能性がある。この状況は「仮想チャネル」SDRAM内の完全共用「オープン・ページ」を管理するときに特に明白であり、その場合、アドレス範囲または「ページ」は高速参照のためにSDRAMデバイス内のバッファに保持される。1つのリソースを複数の区画に分割すると、複数の潜在的独占エージェントを互いに分離することができる。しかし、この方式では、あるエージェントがその区画内のすべてのリソースを使用/要求し損なったときにリソースを浪費する可能性がある。したがって、利用不足の区画から高度利用の区画にリソースを動的に再割振りする必要性が存在する。
1999年、NECエレクトロニクス社の「Virtual Channel Performance Analysis」
本発明の一態様により、1組の限られたリソース・セットを競り合っている複数のエージェントに動的に適合するように、1つの記憶リソースの複数の可変サイズ論理区画に対する複数の記憶リソースの分配を管理するために参照頻度対ミス・レートを使用することによりバッファ・リソースを再割振りするためのシステムおよび方法が提供される。本発明では、エージェントがバッファ・リソースを独占するのを妨げることを所望する。その上、本発明では、要求を再試行したり定期的な再割振りを待たずに、必要なときにバッファ再割振りを提供することを所望する。
本発明の目的は、1つのデータ処理システム内の複数のプロセスまたは「エージェント」に共用ハードウェア・リソースを割り振るための動的に適合可能な負荷依存型手段を提供することにある。最小使用基準を満たし損なったエージェントは、高需要のエージェントに論理的に割り振られたリソースを放棄せざるを得ない。そうではない場合、エージェントは、リソースに関するクロスエージェント・スラッシングなしに、他の高需要のエージェントの存在下でそのリソースの制御を維持する。
本発明の他の目的は、m個の区画に論理的に分割された共用リソース「プール」の使用状況を記録し、前記使用状況記録のプログラム可能な持続性を提供し、プログラム可能なしきい値と需要要件に対するこのような記録の関係に基づいてリソースを割り振るための方法および装置を提供することにある。
共用リソース「プール」は、公称リソース・セット・サイズがnであるm個の区画に論理的に分割される。各区画ごとに小さい「区画参照」カウンタを使用して、その使用状況履歴を記録する。グローバル「持続性参照」カウンタは、プログラム可能なレートで「セット参照」カウンタ履歴を消去する働きをする。低い「区画参照」カウンタ値は低い使用状況を暗示し、必要なときにセット・リソースが高使用状況セット(複数も可)にとって使用可能になるようにする。プログラム可能なしきい値により、システム最適化の基準の「重み付け」が可能になる。
本発明の処理システムは、エージェントと、リソースを有するメモリとに接続する。本発明は、メモリに動作可能に接続されたメモリ制御部と、エージェントに動作可能に接続されたディレクトリと、ディレクトリに動作可能に接続されたリソース管理制御部とを有する。このリソース管理制御部は、複数の区画内にリソースの分配を割り振るように適合されている。それぞれの区画は少なくとも1つのエージェントに関連付けられている。リソース管理制御部は、メモリ制御部に動作可能に接続された置換制御部と、それぞれの区画に関する使用状況履歴を記録するように適合され、置換制御部に動作可能に接続されたカウンタとを含む。置換制御部は、使用状況履歴に応じてそれぞれの区画内のリソースの分配を再割振りするように適合されている。それに加えて、本発明は、しきい値を記憶するためにそれぞれの区画用のしきい値レジスタを含み、しきい値を超える使用状況履歴を有するそれぞれの区画において共用リソースの所定の最低割振りが維持される。
このカウンタは、その区画内のリソースがどのくらいの頻度でアクセスされるかというカウントを各区画ごとに維持するように適合されている。置換制御部は、リソースの分配を連続的に再割振りし、使用レベルが高い区画にリソースを追加し、使用レベルが低い区画からリソースを除去することにより、リソースの分配を再割振りするようにさらに適合されている。また、本発明は、置換制御部に動作可能に接続された状態レジスタも含む。状態レジスタは、各リソースが位置する区画を識別するように適合されている。この状態レジスタは、それぞれのリソースごとに個別の状態レジスタを有する。状態レジスタは、各リソースが位置する区画を識別する識別子タグを含む。
本発明は、複数のエージェント間で共用リソースを割り振るための方法も開示する。本発明は、それぞれの区画が少なくとも1つのエージェントに関連付けられるように複数の区画内にリソースの分配を割り振る。本発明は、それぞれの区画に関する使用状況履歴を記録し、使用状況履歴に応じてそれぞれの区画内のリソースの分配を再割振りする。本発明は、記録プロセスと再割振りプロセスを繰り返す。再割振りプロセスでは、使用レベルが高い区画にリソースを追加し、使用レベルが低い区画からリソースを除去する。使用状況履歴の記録では、その区画内のリソースがどのくらいの頻度でアクセスされるかというカウントを各区画ごとに維持する。
リソースは、そのカウントが所定の値を超えたときにのみ区画間で再割振りすることができる。割振りプロセスではリソースに識別子タグを付加し、識別子タグは各リソースが位置する区画を識別する。
上記ならびにその他の目的、態様、および利点は、添付図面に関連して、以下に示す本発明の好ましい実施形態(複数も可)に関する詳細な説明からより十分に理解されるだろう。
次に添付図面、より具体的には図1を参照すると、本発明による方法および構造の好ましい実施形態が示されている。DRAM技術に関連する本質的に高いアクセス待ち時間は、SDRAMデバイスがサポートする「ページ・モード」規格によって軽減される。この特徴は、関連の内部ビット・アレイまたは「バンク」からの1ページ全体または1行全体のデータ・ビットを収容するのに十分な幅の内部低待ち時間データ・レジスタを含む。デバイス・インタフェース・プロトコルは、システム・アプリケーション・メモリ制御部が行を「オープン」する(レジスタをロードする)か、行を「クローズ」する(レジスタの内容をバンクに書き戻す)か、またはそれが「オープン」している間に低待ち時間で行レジスタにアクセスするための手段を提供する。システム・アプリケーション・メモリ制御部は、メモリ・アレイへの最低平均アクセス待ち時間を達成するためにシステム内に存在するのと同じ数の「オープン」行を維持する働きをする。しかし、大きい記憶ブロックには1つの行レジスタしか関連付けられていないので、所与のバンクについて複数の独立行を必要とする複数のプロセスが独立記憶域へのアクセスを要求するときに重大なスラッシングが発生する。この挙動はオープン行を維持することの利点を完全に否定する可能性があり、場合によっては、いかなるオープン行も維持しない(SDRAMオートプレチャージ・モード)場合よりパフォーマンスが悪化する。
図1を参照すると、標準の4つの直接マッピング行レジスタに対して、16個の完全共用行セグメント・レジスタ101を取り入れ、参照により本明細書に組み込まれる「仮想チャネル・メモリ(VCM)」(1999年、NECエレクトロニクス社の「Virtual Channel Performance Analysis」)として知られる拡張アーキテクチャを取り入れたSDRAMデバイスのブロック図100が示されている。この技術により、高レベルの精巧さをシステム・アプリケーションSDRAM制御部内で使用して、SDRAM行セグメント・レジスタを効率よく管理し、最低平均SDRAM読取り待ち時間を達成することができ、その結果、最高のシステム・パフォーマンスが得られる。
本発明の目的は、1つのデータ処理システム内の複数のプロセスまたは「エージェント」に共用ハードウェア・リソースを割り振るための動的に適合可能な参照負荷依存型手段を提供することにある。一実施形態は、特定のプロセッサ用に予約された区画内にバッファを割り当てることにより、VCMデバイス内の共用行セグメント・レジスタ(バッファ)を効率よく使用するためのハードウェア装置および方法を含み、メモリ制御部ハードウェアは、マルチプロセッサ・システム内のそれぞれの区画によるメモリへのプロセッサ・アクセスを規制する。しかし、当業者であれば、本発明が1つのデータ処理システム内の他の共用リソースの効率のよい動的管理に容易に適用可能であることが分かるだろう。
図2を参照すると、メモリ制御部デバイス202により、VCM203からなるメイン・メモリに接続された1つまたは複数のプロセッサ201を有する処理システム200が示されている。すべてのメモリ活動は、従来のVCMメモリ制御部211によりアドレス/制御信号209上で印加される状態(通常はSDRAM RAS、CAS、アドレス、WE、CKE)によって制御される。VCMデバイスは、j個のデバイスのグループが一斉に操作され、サイズがjkの所与のバッファ・グループによりアクセス可能なメモリの集合ブロックが得られるようにメイン・メモリ203内で相互接続することができ、その場合、kは1つのデバイス・バッファによりアクセス可能なメモリの量である。バッファは、単独で使用されるかまたはユニット化したグループとして使用されるかにかかわらず、ユニットとして管理され、各ユニットはバッファ番号(B#)によって独立して識別することができる。完全共用バッファは制御チップ202の外にあってVCM203デバイス内に存在するので、リモート・バッファの使用状況を追跡するために制御チップ内に完全共用ディレクトリ212が必要である。n個の共用バッファのそれぞれについて1つのディレクトリ項目213が維持され、各項目はレジスタ214と比較器215からなる。このレジスタは少なくともブロック・タグ・アドレス・フィールドと有効ビットとを含み、ブロック・タグ・アドレスは、可能なメモリ・ブロックのうちのどれが共用バッファによってアクセス可能であるかを示し、有効ビットは、そのバッファが有効であるかどうかを示す。
メモリ要求ブロック・アドレス・タグがディレクトリ項目のブロック・タグ・アドレスのものと等しいときに比較器213はメモリ制御部に「ヒット」の信号を送出し、関連の有効ビットがアサートされる。メモリ要求があるSDRAM行に関連するディレクトリ項目を「ヒット」すると、メモリ制御部211はメモリ・アレイ203に対して読取り要求または書込み要求を提示する。メモリ要求がディレクトリ項目をヒットしない場合、メモリ制御部は、「活動化」コマンドを提示して、メモリ・アレイ203内のその行をオープンしなければならない。しかし、ディレクトリ項目置換が必要な場合、メモリ制御部211はまず「プレチャージ」コマンドを出して、新しい行をオープンする前に置換した項目のディレクトリ項目タグ・アドレス用の行をクローズしなければならない。
図3を参照すると、バッファ管理制御論理回路320とそれに関連するサポート・ハードウェアとを有し、バッファの使用状況を管理し、メモリ制御部311からどのタイプのメモリ活動が要求されるかをメモリ制御部320に示す、処理システム300が示されている。また、n個の共用バッファのそれぞれについて1つの状態レジスタ(SR)322が使用され、各レジスタは区画ID(PID)フィールド323とバッファ番号(B#)フィールド324からなる。各レジスタはm個の区画の1つに所与のバッファを相関させる。このレジスタ・セットは、最新使用バッファがスタックの一番上に位置し、LRUバッファがスタックの一番下に位置するように、最低使用頻度(LRU)スタックとして配置され管理される。メモリ参照が有効なバッファをヒットするたびに、それぞれのSR(または関連ポインタ)はそのスタック内の現行位置からスタックの一番上に移動する。メモリ参照がバッファをミスした場合、バッファ置換制御部321は、割振り用のバッファの選択と、無効なバッファが使用不能であるときにスタックの一番下からのLRUバッファの置換を担当する。あるエージェントからのメモリ・アクセスであって、ある区画をターゲットとしておらず、ある区画内でヒットするものは、そのアクセスがその区画に属するものとして扱われる。これにより、区画間のバッファ・アドレスの複製または移動が防止され、すべてのアドレスがすべての区画間で固有のものであることが保証される。
n以上の大きさまでカウント可能な持続性カウンタ325は、それぞれの区画に対する参照レートを正規化するための参照レート量を確立するための手段を提供する。このカウンタはすべての有効なメモリ要求ごとに減分される。プログラム可能カウンタのしきい値レジスタ326は参照レート量のサイズを確立するための手段を提供し、これはパフォーマンスの最適化またはより大きい区画からなるより小さいセットとしての区画の集合に対応するために変更することができる。持続性カウンタ325は、アンダフローしたときに(すなわち、減分されて0になったときに)そのカウンタにしきい値レジスタ326の値がロードされる。区画参照カウンタ327は、所与の区画使用状況を評価可能なしきい値を確立するための関連区画使用状況しきい値328とともに、m個の区画のそれぞれについて維持される。
この実施形態では、最大4プロセッサのシステム内のプロセッサ当たり1つの区画に対応して、4つの固定等サイズ区画を使用するが、代替実施形態では、プログラム可能な区画サイズと数量を使用することができる。その上、代替実施形態では、複合体内の他の区画に対するハンディキャップまたは利点を確立するための手段を備えるために、各区画ごとにプログラム可能ハンディキャップ・レジスタを使用することもできるだろう。この利点は、より高い区画カウント開始点として、またはアクセス当たり1を上回るレートでカウントを進めるための重み付けとして提供することができる。
図4〜6を参照すると、使用状況に応答してバッファを管理するための持続性カウンタ、区画カウンタ、割振り制御部に関する並列動作状態図が示されている。ハードウェアがリセットされるか、またはステップ401でカウンタ325が0になり、有効メモリ・アクセスが行われると、持続性カウンタのアイドル状態400からのハードウェア・リセットまたはいずれかの有効メモリ・アクセス条件の結果として、ステップ402で持続性カウンタ325が最大値326で初期設定される。ステップ401からそうならない場合、カウンタが1だけ減分される。この挙動と平行して、m個の区画のそれぞれがそれぞれのバッファ・セットによりメモリ・アクセスのカウントを維持するように、各区画カウンタも互いに独立して動作する。区画カウンタの状態マシンがアイドル状態410になっている間にハードウェア・リセット条件に応答して、区画カウンタ327はステップ416で最大区画カウントに初期設定される。リセット条件がなく、いずれかの区画がアクセスされたときに、ステップ411で持続性カウンタが0であるかまたはそのアクセスが区画(i)に対するものではなく、しかも区画カウンタ(i)が0であるかまたはそのアクセスが区画(i)に対するものであるか区画(i)をヒットした場合、ステップ414から制御がアイドル状態に戻る。ステップ414からそうならない場合、区画カウンタ(i)が減分され、0まで非活動の程度を登録する。ステップ411からそうならない場合、区画カウント(i)がステップ412で最大区画カウント未満になり、制御がアイドル状態に戻る。というのは、区画カウントが最大になっているからである。ステップ412からそうならない場合、区画カウンタ(i)が増分され、制御がアイドル状態に戻る前に、活動の程度が増加したことを示す。
割振り制御部はすべての区画でのバッファ・ミスに応答し、新たな要求に使用すべきバッファを割り振るよう機能するが、有効なバッファを変位させることが最も多い。ステップ420でのこのような条件の後、ステップ421に進み、いずれかの無効なディレクトリ項目が使用可能である場合、ステップ422でその要求に関連する区画に関連バッファが割り振られる。どの置換にも該当することであるが、ディレクトリ項目はメモリ・アドレス・ブロック・タグで更新され、有効ビットが設定される。対応する状態レジスタ(SR)には区画IDとバッファ番号がロードされ、そのレジスタはLRUスタック内の最新使用位置に移動する。ステップ421からそうならない場合、すべてのディレクトリ項目が有効であり、次にステップ423に進み、いずれかの区画カウンタが不十分な活動を示す(区画カウント(i)が0である)場合、ステップ424で区画カウントが0に等しい最低使用頻度区画内の最低使用頻度バッファが置換のために選択される。ステップ423からそうならない場合、ステップ425に進み、どの区画も利用不足ではなく、現行区画が割振り不足である(すなわち、基本割振りよりバッファ数が少ない)場合、ステップ426でバッファの過剰割振りが行われている最低使用頻度区画内の最低使用頻度バッファが置換のために選択される。ステップ425からそうならない場合、現行区画内の最低使用頻度バッファが置換のために選択される。
したがって、上記で示すように、本発明は、様々なバッファを色々な区画に割り振り、上記で示すテーブル322を使用して、このような割振りを追跡する。あるリソース(バッファ)が1つの区画に割り振られると、そのリソースは、その区画を所有または制御するエージェント(複数も可)のみに使用可能になる(厳密に専用になる)。本発明は、各エージェントまたは区画のバッファ活動レベルに基づいて、このような割振りを行う。換言すれば、一部のエージェントはより多数のバッファを必要とし、他のエージェントは少数のバッファを必要とし、これは経時的に変化することになる。本発明では、より多くのバッファを必要とするエージェントに対し、より多くのバッファを備えた区画を割り振ることができる。それと反対に、所与のエージェントがより少ないバッファを必要とする場合、その関連区画はより少数のバッファを維持することになる。
本発明は初めに、色々なエージェント間に均等にすべてのバッファを割り振る。この初期割振りは基本割振りという。基本割振りでは、全区画間に均等にすべてのバッファを分割する場合もあれば、または各区画に最小数のバッファを提供し、いくつかのバッファを未使用かつ使用可能なものとして残しておく場合もある。その場合、より多くのバッファが必要になると、様々な区画がまず未使用かつ未区分のバッファを使用する。その後、区画は、使用状況履歴に応じて、色々なバッファ間で連続的に再割振りされる。
バッファが使用されると、本発明は、各区画内のバッファ使用を追跡し、その区画が割振り不足のバッファであるかまたは過剰割振りのバッファであるかを判定する。より具体的には、本発明は、どの区画がそのバッファを定期的に使用し、どの区画がそのバッファを定期的に使用しないかという履歴を提供する区画カウンタ(par_count)を維持することにより、バッファ使用を追跡する。本発明は初めに、416でその区画カウンタを指定の値に設定する。本発明の一形式では、各メモリ・アクセスごとに、その区画内のバッファに対してメモリ・アクセスが行われると、所与の区画の区画カウンタが増分され(413)、残りの非アクセス区画の区画カウンタが減分される(415)。このようにして、そのバッファをあまり頻繁に使用しない区画の区画カウンタは低い値を有することになり、そのバッファをより定期的に使用する区画はより高い区画カウントを有することになる。次に、ある区画が追加バッファを必要とし、どの未使用バッファも使用不能である場合、他の区画の区画カウンタがチェックされ、しきい値未満の区画カウントを備えた区画がバッファを必要とする区画にバッファを明け渡すことになる。
より精巧な実施形態では、本発明は持続性カウンタ325を使用して、区画カウンタが減分される回数を制限する。より具体的には、図4および図5に示す処理により、非アクセス区画に関連する区画カウンタは、持続性カウンタが0に到達したときに減分することができ(414、415)、その時点で、持続性カウンタは項目401、402に示すように最大持続性カウンタ326に直ちにプリセットされる。したがって、本発明は、持続性カウンタ325の使用により区画カウンタが減分されるレートを減速する。前述の通り、このレートの減速は、最大持続性カウンタ326を変更することによって調整することができる。
エージェント間でリソースを再割振りする場合、本発明はいくつかの色々な制約を使用して、どの区画がバッファを失うか、どのバッファが除去されるか、どの区画がバッファを獲得できるかを判定する。たとえば、本発明では、区画カウントが指定の数未満になった(または0に達した)場合のみ、ある区画がバッファを失うことができる。同様に、その区画カウンタが指定の数を上回った(または最大値になった)場合のみ、ある区画がバッファを獲得することができる。したがって、非常に単純化した例では、ある区画は、その区画カウンタが0になったときのみ過剰割振りの区画であると分類することができる。同様に、この単純化した例では、ある区画は、その区画カウンタが最大区画カウンタになったときのみ割振り不足の区画であると分類することができる。
さらに、ある区画からバッファを取る場合、色々な方法を使用することができる。一例では、最低使用頻度方法を使用して、過剰割振りの区画からバッファを取る。また、本発明は、各区画が常に少なくとも最小数のバッファを維持するように最小値を設定することもできる。別法として、本発明では、区画がバッファを一切持たないようにすることもできる。同様に、本発明は、各区画によって維持可能な最大数のバッファを設定することができる。このような変数は、特定のシステムのパフォーマンスを最大にするように設計者が変更することができる。
したがって、本発明は、色々な区画間にバッファを動的に割り振って、それぞれの区画に関連する各種エージェントに適当な数量のバッファを提供する。さらに、本発明は、使用状況に応じて、各区画内のバッファの数を絶えず調整する。色々なエージェントにとって使用可能なバッファの数を動的に制御することにより、本発明は、システムをより効率のよいものにし、エージェントの要求および使用状況履歴に応じて使用可能にできるのと同数のバッファに対し、すべてのエージェントが均等にアクセスできるようにする。
好ましい実施形態に関して本発明を説明してきたが、当業者であれば、特許請求の範囲の精神および範囲内の変更を行って本発明を実施できることが分かるだろう。
まとめとして、本発明の構成に関して以下の事項を開示する。
(1)エージェントと共用リソースに接続されたシステムであって、前記システムが、
前記共用リソースに関連する第1の制御部と、
前記エージェントに関連するディレクトリと、
前記ディレクトリに関連するリソース管理制御部であって、前記リソース管理制御部が前記共用リソースの分配を区画内に割り振るように適合され、前記区画のそれぞれが前記エージェントの少なくとも1つに関連付けられているリソース管理制御部とを具備し、
前記リソース管理制御部が、
前記第1の制御部に関連する置換制御部と、
前記置換制御部に関連し、前記区画のそれぞれに関する使用状況履歴を記録するように適合されたカウンタであって、前記置換制御部が前記使用状況履歴に応じて前記区画のそれぞれ内で前記共用リソースの前記分配を再割振りするように適合されたカウンタと、
しきい値を記憶するための前記区画のそれぞれ用のしきい値レジスタであって、前記しきい値を上回る使用状況履歴を有する前記区画のそれぞれで前記共用リソースの所定の最小割振りが維持されるしきい値レジスタとを含む、システム。
(2)前記カウンタが、前記区画内の共用リソースがどのくらいの頻度でアクセスされるかというカウントを各区画ごとに維持するように適合されている、上記(1)に記載のシステム。
(3)前記置換制御部が、前記共用リソースの前記分配を連続的に再割振りするようにさらに適合されている、上記(1)に記載のシステム。
(4)前記置換制御部が、使用レベルが高い区画に共用リソースを追加し、使用レベルが低い区画から共用リソースを除去することにより、前記共用リソースの前記分配を再割振りするように適合されている、上記(3)に記載のシステム。
(5)前記置換制御部に関連する状態レジスタをさらに具備し、前記状態レジスタが、各共用リソースが位置する区画を識別するように適合されている、上記(1)に記載のシステム。
(6)前記状態レジスタが、前記共用リソースのそれぞれごとに個別の状態レジスタを具備する、上記(1)に記載のシステム。
(7)前記状態レジスタのそれぞれが、各共用リソースが位置する区画を識別する識別子タグを含む、上記(6)に記載のシステム。
(8)プロセッサと、バッファを有するメモリに接続された処理システムであって、前記処理システムが、
前記メモリに動作可能に接続されたメモリ制御部と、
前記プロセッサに動作可能に接続されたディレクトリと、
前記ディレクトリに動作可能に接続されたバッファ管理制御部であって、前記バッファ管理制御部が前記バッファの分配を区画内に割り振るように適合され、前記区画のそれぞれが前記プロセッサの少なくとも1つに関連付けられているバッファ管理制御部とを具備し、
前記バッファ管理制御部が、
前記メモリ制御部に動作可能に接続された置換制御部と、
前記置換制御部に動作可能に接続され、前記区画のそれぞれに関する使用状況履歴を記録するように適合されたカウンタであって、前記置換制御部が前記使用状況履歴に応じて前記区画のそれぞれ内で前記バッファの前記分配を再割振りするように適合されたカウンタと、
しきい値を記憶するための前記区画のそれぞれ用のしきい値レジスタであって、前記しきい値を上回る使用状況履歴を有する前記区画のそれぞれで前記バッファの所定の最小割振りが維持されるしきい値レジスタとを含む、システム。
(9)前記カウンタが、前記区画内のバッファがどのくらいの頻度でアクセスされるかというカウントを各区画ごとに維持するように適合されている、上記(8)に記載のシステム。
(10)前記置換制御部が、前記バッファの前記分配を連続的に再割振りするようにさらに適合されている、上記(8)に記載のシステム。
(11)前記置換制御部が、使用レベルが高い区画にバッファを追加し、使用レベルが低い区画からバッファを除去することにより、前記バッファの前記分配を再割振りするように適合されている、上記(10)に記載のシステム。
(12)前記置換制御部に動作可能に接続された状態レジスタをさらに具備し、前記状態レジスタが、各バッファが位置する区画を識別するように適合されている、上記(8)に記載のシステム。
(13)前記状態レジスタが、前記バッファのそれぞれごとに個別の状態レジスタを具備する、上記(8)に記載のシステム。
(14)前記状態レジスタのそれぞれが、各バッファが位置する区画を識別する識別子タグを含む、上記(13)に記載のシステム。
(15)複数のエージェント間で共用リソースを割り振るための方法であって、前記方法が、
複数の区画内に前記リソースの分配を割り振るステップであって、前記区画のそれぞれが前記エージェントの少なくとも1つに関連付けられているステップと、
前記区画のそれぞれに関する使用状況履歴を記録するステップと、
前記使用状況履歴に応じて前記区画のそれぞれ内の前記リソースの前記分配を再割振りするステップと、
所定のしきい値を上回る使用状況履歴を有する前記区画のそれぞれに対し前記共用リソースの所定の最小割振りを維持するステップとを具備する方法。
(16)前記記録ステップと再割振りステップを繰り返すステップをさらに具備する、上記(15)に記載の方法。
(17)前記再割振りステップが、使用レベルが高い区画にリソースを追加するステップと、使用レベルが低い区画からリソースを除去するステップとを具備する、上記(15)に記載の方法。
(18)前記使用状況履歴の前記記録ステップが、前記区画内のリソースがどのくらいの頻度でアクセスされるかというカウントを各区画ごとに維持するステップを具備する、上記(15)に記載の方法。
(19)前記リソースが、前記カウントが所定の値を超えたときにのみ前記区画間で再割振りすることができる、上記(18)に記載の方法。
(20)前記割振りステップが、前記リソースに識別子タグを付加するステップを具備し、前記識別子タグが各リソースが位置する区画を識別する、上記(15)に記載の方法。
(21)複数のプロセッサ間でバッファを割り振るための方法であって、前記方法が、
複数の区画内に前記バッファの分配を割り振るステップであって、前記区画のそれぞれが前記プロセッサの少なくとも1つに関連付けられているステップと、
前記区画のそれぞれに関する使用状況履歴を記録するステップと、
前記使用状況履歴に応じて前記区画のそれぞれ内の前記バッファの前記分配を再割振りするステップと、
所定のしきい値を上回る使用状況履歴を有する前記区画のそれぞれに対し前記バッファの所定の最小割振りを維持するステップとを具備する方法。
(22)前記記録ステップと再割振りステップを繰り返すステップをさらに具備する、上記(21)に記載の方法。
(23)前記再割振りステップが、使用レベルが高い区画にバッファを追加するステップと、使用レベルが低い区画からバッファを除去するステップとを具備する、上記(21)に記載の方法。
(24)前記使用状況履歴の前記記録ステップが、前記区画内のバッファがどのくらいの頻度でアクセスされるかというカウントを各区画ごとに維持するステップを具備する、上記(21)に記載の方法。
(25)前記バッファが、前記カウントが所定の値を超えたときにのみ前記区画間で再割振りすることができる、上記(24)に記載の方法。
(26)前記割振りステップが、前記バッファに識別子タグを付加するステップを具備し、前記識別子タグが各バッファが位置する区画を識別する、上記(21)に記載の方法。
(27)複数のエージェント間で共用リソースを割り振るための方法を実行するためにマシンによって実行可能な複数命令からなるプログラムを具体的に実施するマシンによって読取り可能なプログラム記憶装置であって、前記方法が、
複数の区画内に前記リソースの分配を割り振るステップであって、前記区画のそれぞれが前記エージェントの少なくとも1つに関連付けられているステップと、
前記区画のそれぞれに関する使用状況履歴を記録するステップと、
前記使用状況履歴に応じて前記区画のそれぞれ内の前記リソースの前記分配を再割振りするステップと、
所定のしきい値を上回る使用状況履歴を有する前記区画のそれぞれに対し前記共用リソースの所定の最小割振りを維持するステップとを具備するプログラム記憶装置。
(28)前記方法が、前記記録ステップと再割振りステップを繰り返すステップをさらに具備する、上記(27)に記載のプログラム記憶装置。
(29)前記再割振りステップが、使用レベルが高い区画にリソースを追加するステップと、使用レベルが低い区画からリソースを除去するステップとを具備する、上記(27)に記載のプログラム記憶装置。
(30)前記使用状況履歴の前記記録ステップが、前記区画内のリソースがどのくらいの頻度でアクセスされるかというカウントを各区画ごとに維持するステップを具備する、上記(27)に記載のプログラム記憶装置。
(31)前記リソースが、前記カウントが所定の値を超えたときにのみ前記区画間で再割振りすることができる、上記(30)に記載のプログラム記憶装置。
(32)前記割振りステップが、前記リソースに識別子タグを付加するステップを具備し、前記識別子タグが各リソースが位置する区画を識別する、上記(31)に記載のプログラム記憶装置。
仮想チャネル・メモリ・デバイスのアーキテクチャ・ブロック図である。 仮想チャネル・メモリ・アレイを管理するための共用ディレクトリを有する処理システムを示す図である。 仮想チャネル・メモリ・アレイを管理する装置を有する処理システムを示す図である。 本発明に関連する方法の状態図である。 本発明に関連する方法の状態図である。 本発明に関連する方法の状態図である。
符号の説明
301 プロセッサ
303 仮想チャネルSDRAMメイン・メモリ
307 アドレス/制御バス
308 データ・バス
309 アドレス/制御
310 データ
311 メモリ制御部
312 ディレクトリ
313 項目0
313 項目n
314 タグ
315 比較
321 置換制御部
323 区画ID
327 状態0


Claims (32)

  1. エージェントと共用リソースに接続されたシステムであって、
    前記共用リソースに関連する第1の制御部と、
    前記エージェントに関連するディレクトリと、
    前記ディレクトリに関連し、前記エージェントの少なくとも1つに関連付けられた区画の各々に前記共用リソースの分配の割振りを行うリソース管理制御部とを具備し、
    前記リソース管理制御部が、
    前記第1の制御部に関連する置換制御部と、
    前記置換制御部に関連し前記区画の各々に関する使用状況履歴をカウントする区画カウンタと、
    前記共用リソースに対するアクセスをカウントする持続性カウンタとを含み、
    前記持続性カウンタのカウント値が所定のカウント値となるまで前記区画カウンタにおけるカウントが制限され、
    前記置換制御部が前記使用状況履歴に応じて前記区画の各々で前記共用リソースの分配の再割振りを行い、
    さらに、前記リソース管理制御部が、
    前記区画の各々に対応し、しきい値を記憶するしきい値レジスタを含み、前記共用リソースの所定の最小の割振りを前記しきい値を上回る使用状況履歴を有する前記区画の各々において維持するシステム。
  2. 前記区画カウンタ、前記区画内の共用リソースがどのくらいの頻度でアクセスされるかというカウントを前記使用状況履歴として区画毎に維持する請求項1に記載のシステム。
  3. 前記置換制御部は、さらに前記共用リソースの前記分配を連続的に再割振りする請求項1に記載のシステム。
  4. 前記置換制御部は、使用レベルが高い区画に共用リソースを追加し、使用レベルが低い区画から共用リソースを除去して、前記共用リソースの前記分配を再割振りする請求項3に記載のシステム。
  5. 前記置換制御部に関連して、各共用リソースが位置する区画を識別する状態レジスタをさらに具備する請求項1に記載のシステム。
  6. 前記状態レジスタ、前記共用リソースの各々に対応する個別の状態レジスタを具備する請求項5に記載のシステム。
  7. 前記状態レジスタの各々は、各共用リソースが位置する区画を識別する識別子タグを含む請求項6に記載のシステム。
  8. プロセッサと、バッファを有するメモリに接続された処理システムであって
    前記メモリに動作可能に接続されたメモリ制御部と、
    前記プロセッサに動作可能に接続されたディレクトリと、
    前記ディレクトリに動作可能に接続され、前記プロセッサの少なくとも1つに関連付けられた区画の各々に前記バッファの分配の割振りを行うバッファ管理制御部とを具備し、
    前記バッファ管理制御部が、
    前記メモリ制御部に動作可能に接続された置換制御部と、
    前記置換制御部に動作可能に接続され、前記区画の各々に関する使用状況履歴をカウントする区画カウンタと、
    前記バッファに対するアクセスをカウントする持続性カウンタとを含み、
    前記持続性カウンタのカウント値が所定のカウント値となるまで前記区画カウンタにおけるカウントが制限され、
    前記置換制御部が前記使用状況履歴に応じて前記区画の各々で前記バッファの分配の再割振りを行い、
    さらに、前記バッファ管理制御部が、
    前記区画の各々に対応し、しきい値を記憶するしきい値レジスタを含み、前記バッファの所定の最小の割振りを前記しきい値を上回る使用状況履歴を有する前記区画の各々において維持するシステム。
  9. 前記区画カウンタ、前記区画内のバッファがどのくらいの頻度でアクセスされるかというカウントを前記使用状況履歴として区画毎に維持する請求項8に記載のシステム。
  10. 前記置換制御部は、さらに前記バッファの前記分配を連続的に再割振りする請求項8に記載のシステム。
  11. 前記置換制御部は、使用レベルが高い区画にバッファを追加し、使用レベルが低い区画からバッファを除去して、前記バッファの前記分配を再割振りする請求項10に記載のシステム。
  12. 前記置換制御部に動作可能に接続され、各バッファが位置する区画を識別する状態レジスタをさらに具備する請求項8に記載のシステム。
  13. 前記状態レジスタ、前記バッファの各々に対応する個別の状態レジスタを具備する請求項12に記載のシステム。
  14. 前記状態レジスタの各々は、各バッファが位置する区画を識別する識別子タグを含む請求項13に記載のシステム。
  15. 複数のエージェント間で共用リソースを割り振るための方法であって、
    前記エージェントの少なくとも1つに関連付けられた区画の各々に前記共用リソースの分配の割振りを行う第1のステップと、
    前記区画の各々に関する使用状況履歴をカウントする第2のステップと、
    前記共用リソースに対するアクセスをカウントする第3のステップと、
    前記第3のステップにおけるカウント値が所定のカウント値となるまで前記第2のステップにおけるカウントを制限する第4のステップと、
    前記使用状況履歴に応じて前記区画の各々で前記共用リソースの分配の再割振りを行う第5のステップと、
    所定のしきい値を上回る使用状況履歴を有する前記区画の各々に対し前記共用リソースの所定の最小割振りを維持する第6のステップとを具備する方法。
  16. 前記第2のステップと前記第5のステップを繰り返す第7のステップをさらに具備す請求項15に記載の方法。
  17. 前記第5のステップ、使用レベルが高い区画に共用リソースを追加する第8のステップと、使用レベルが低い区画から共用リソースを除去する第9のステップとを具備す請求項15に記載の方法。
  18. 前記第2のステップ、前記区画内の共用リソースがどのくらいの頻度でアクセスされるかというカウント前記使用状況履歴として区画毎に維持する第10のステップを具備す請求項15に記載の方法。
  19. 前記第2のステップにおけるカウント値が所定の値を超えたとき、前記共用リソースが前記区画間で再割振りされる請求項18に記載の方法。
  20. 前記第1のステップ各共用リソースが位置する区画を識別する識別子タグを前記共用リソースに付加する第11のステップを具備する請求項15に記載の方法。
  21. 複数のプロセッサ間でバッファを割り振るための方法であって、
    前記プロセッサの少なくとも1つに関連付けられた区画の各々に前記バッファの分配の割振りを行う第1のステップと、
    前記区画の各々に関する使用状況履歴をカウントする第2のステップと、
    前記バッファに対するアクセスをカウントする第3のステップと、
    前記第3のステップにおけるカウント値が所定のカウント値となるまで前記第2のステップにおけるカウントを制限する第4のステップと、
    前記使用状況履歴に応じて前記区画の各々で前記バッファの分配の再割振りを行う第5のステップと、
    所定のしきい値を上回る使用状況履歴を有する前記区画の各々に対し前記バッファの所定の最小割振りを維持する第6のステップとを具備する方法。
  22. 前記第2のステップと前記第5のステップを繰り返す第7のステップをさらに具備す請求項21に記載の方法。
  23. 前記第5のステップ、使用レベルが高い区画にバッファを追加する第8のステップと、使用レベルが低い区画からバッファを除去する第9のステップとを具備す請求項21に記載の方法。
  24. 前記第2のステップは、前記区画内のバッファがどのくらいの頻度でアクセスされるかというカウント前記使用状況履歴として区画に維持する第10のステップを具備す請求項21に記載の方法。
  25. 前記第2のステップにおけるカウント値が所定の値を超えたとき、前記バッファが前記区画間で再割振りされる請求項24に記載の方法。
  26. 前記第1のステップは、各バッファが位置する区画を識別する識別子タグを前記バッファに付加する第11のステップを具備する請求項21に記載の方法。
  27. 複数のエージェント間で共用リソースを割り振るための方法を実行するためにマシンによって実行可能な複数命令からなるプログラムを具体的に実施するマシンによって読取り可能なプログラム記憶装置であって、前記方法が、
    前記エージェントの少なくとも1つに関連付けられた区画の各々に前記共用リソースの分配の割振りを行う第1のステップと、
    前記区画の各々に関する使用状況履歴をカウントする第2のステップと、
    前記共用リソースに対するアクセスをカウントする第3のステップと、
    前記第3のステップにおけるカウント値が所定のカウント値となるまで前記第2のステップにおけるカウントを制限する第4のステップと、
    前記使用状況履歴に応じて前記区画の各々で前記共用リソースの分配の再割振りを行う第5のステップと、
    所定のしきい値を上回る使用状況履歴を有する前記区画の各々に対し前記共用リソースの所定の最小割振りを維持する第6のステップとを具備するプログラム記憶装置。
  28. 前記方法が、前記第2のステップと前記第5のステップを繰り返す第7のステップをさらに具備す請求項27に記載のプログラム記憶装置。
  29. 前記第5のステップ、使用レベルが高い区画に共用リソースを追加する第8のステップと、使用レベルが低い区画から共用リソースを除去する第9のステップとを具備す請求項27に記載のプログラム記憶装置。
  30. 前記第2のステップは、前記区画内の共用リソースがどのくらいの頻度でアクセスされるかというカウント前記使用状況履歴として区画毎に維持する第10のステップを具備す請求項27に記載のプログラム記憶装置。
  31. 前記第2のステップにおけるカウント値が所定の値を超えたとき、前記共用リソースが前記区画間で再割振りされる請求項30に記載のプログラム記憶装置。
  32. 前記第1のステップ各共用リソースが位置する区画を識別する識別子タグを前記共用リソースに付加する第11のステップを具備する請求項31に記載のプログラム記憶装置。
JP2003325295A 2002-10-16 2003-09-17 共用リソースを動的に割り振るためのシステムおよび方法 Expired - Fee Related JP3962368B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/271,577 US6851030B2 (en) 2002-10-16 2002-10-16 System and method for dynamically allocating associative resources

Publications (2)

Publication Number Publication Date
JP2004164607A JP2004164607A (ja) 2004-06-10
JP3962368B2 true JP3962368B2 (ja) 2007-08-22

Family

ID=32092498

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003325295A Expired - Fee Related JP3962368B2 (ja) 2002-10-16 2003-09-17 共用リソースを動的に割り振るためのシステムおよび方法

Country Status (3)

Country Link
US (1) US6851030B2 (ja)
JP (1) JP3962368B2 (ja)
CN (1) CN1258146C (ja)

Families Citing this family (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7308474B2 (en) * 2002-11-06 2007-12-11 Oracle International Corporation Techniques for scalably accessing data in an arbitrarily large document by a device with limited resources
US7420983B2 (en) * 2003-03-13 2008-09-02 Alcatel Lucent Dynamic assignment of re-assembly queues
US7093149B2 (en) * 2003-06-09 2006-08-15 Intel Corporation Tiered secondary memory architecture to reduce power consumption in a portable computer system
US7107403B2 (en) * 2003-09-30 2006-09-12 International Business Machines Corporation System and method for dynamically allocating cache space among different workload classes that can have different quality of service (QoS) requirements where the system and method may maintain a history of recently evicted pages for each class and may determine a future cache size for the class based on the history and the QoS requirements
US7356648B2 (en) * 2003-10-02 2008-04-08 International Business Machines Corporation Shared buffer having hardware controlled buffer regions
US8515923B2 (en) * 2003-11-17 2013-08-20 Xerox Corporation Organizational usage document management system
JP4435588B2 (ja) * 2004-01-30 2010-03-17 株式会社日立製作所 ストレージシステム
WO2005116833A1 (en) * 2004-05-21 2005-12-08 Computer Associates Think, Inc. Method and apparatus for dynamic cpu resource management
EP1769353A2 (en) * 2004-05-21 2007-04-04 Computer Associates Think, Inc. Method and apparatus for dynamic memory resource management
JP4233492B2 (ja) * 2004-06-02 2009-03-04 富士通マイクロエレクトロニクス株式会社 アドレス変換装置
US8954584B1 (en) * 2004-08-18 2015-02-10 Oracle America, Inc. Policy engine for automating management of scalable distributed persistent applications in a grid
US20060123217A1 (en) * 2004-12-07 2006-06-08 International Business Machines Corporation Utilization zones for automated resource management
US20070043738A1 (en) * 2005-02-07 2007-02-22 Metavize, Inc. Methods and systems for reputation based resource allocation for networking
US8336054B2 (en) * 2006-07-20 2012-12-18 Hewlett-Packard Development Company, L. P. System and method for allocating capacity of shared resources to a workload
US7587521B2 (en) * 2005-06-23 2009-09-08 Intel Corporation Mechanism for assembling memory access requests while speculatively returning data
US7765366B2 (en) * 2005-06-23 2010-07-27 Intel Corporation Memory micro-tiling
US8332598B2 (en) * 2005-06-23 2012-12-11 Intel Corporation Memory micro-tiling request reordering
US7457910B2 (en) * 2005-06-29 2008-11-25 Sandisk Corproation Method and system for managing partitions in a storage device
US7558941B2 (en) * 2005-06-30 2009-07-07 Intel Corporation Automatic detection of micro-tile enabled memory
US8253751B2 (en) 2005-06-30 2012-08-28 Intel Corporation Memory controller interface for micro-tiled memory access
US8104033B2 (en) * 2005-09-30 2012-01-24 Computer Associates Think, Inc. Managing virtual machines based on business priorty
US8225313B2 (en) 2005-10-19 2012-07-17 Ca, Inc. Object-based virtual infrastructure management
US8122450B2 (en) * 2006-03-30 2012-02-21 International Business Machines Corporation Method and apparatus for distributing memory in a data processing system
US20080005494A1 (en) * 2006-06-07 2008-01-03 Zimmer Vincent J Supporting flash access in a partitioned platform
US8024738B2 (en) * 2006-08-25 2011-09-20 International Business Machines Corporation Method and system for distributing unused processor cycles within a dispatch window
GB0618894D0 (en) * 2006-09-26 2006-11-01 Ibm An entitlement management system
US20080144803A1 (en) * 2006-12-15 2008-06-19 Peeyush Jaiswal Dynamic agent skill balancing
US8878860B2 (en) * 2006-12-28 2014-11-04 Intel Corporation Accessing memory using multi-tiling
US8782772B2 (en) * 2007-09-28 2014-07-15 Microsoft Corporation Multi-session secure tunnel
US8006193B2 (en) * 2007-10-03 2011-08-23 Microsoft Corporation Web service user experience without upfront storage expense
JP5217432B2 (ja) * 2007-12-28 2013-06-19 富士通株式会社 セクタ機能付きキャッシュメモリ
US8291245B2 (en) * 2008-04-17 2012-10-16 International Business Machines Corporation Method, apparatus and system for reducing power consumption based on storage device data migration
US8417842B2 (en) * 2008-05-16 2013-04-09 Freescale Semiconductor Inc. Virtual direct memory access (DMA) channel technique with multiple engines for DMA controller
US8145871B2 (en) * 2008-06-09 2012-03-27 International Business Machines Corporation Dynamic allocation of virtual real memory for applications based on monitored usage
US8516106B2 (en) * 2009-05-18 2013-08-20 International Business Machines Corporation Use tag clouds to visualize components related to an event
US8359421B2 (en) * 2009-08-06 2013-01-22 Qualcomm Incorporated Partitioning a crossbar interconnect in a multi-channel memory system
US20120066444A1 (en) * 2010-09-14 2012-03-15 Advanced Micro Devices, Inc. Resolution Enhancement of Video Stream Based on Spatial and Temporal Correlation
US8688825B1 (en) * 2010-09-22 2014-04-01 Amdocs Software Systems Limited System, method, and computer program for managing distribution of a finite amount of resources
US8694728B2 (en) * 2010-11-09 2014-04-08 Vmware, Inc. Efficient online construction of miss rate curves
US20120263191A1 (en) * 2011-04-12 2012-10-18 Red Hat Israel, Inc. Mechanism For Managing Quotas In a Distributed Virtualization Environment
US8832687B2 (en) * 2011-04-20 2014-09-09 Red Hat Israel, Ltd. Managing quotas in a distributed virtualization environment
US9817700B2 (en) 2011-04-26 2017-11-14 International Business Machines Corporation Dynamic data partitioning for optimal resource utilization in a parallel data processing system
US8954704B2 (en) * 2011-08-12 2015-02-10 International Business Machines Corporation Dynamic network adapter memory resizing and bounding for virtual function translation entry storage
US20130042238A1 (en) 2011-08-12 2013-02-14 International Business Machines Corporation Optimized Virtual Function Translation Entry Memory Caching
WO2013032437A1 (en) * 2011-08-29 2013-03-07 Intel Corporation Programmably partitioning caches
CN102681792B (zh) * 2012-04-16 2015-03-04 华中科技大学 一种固态盘内存分区方法
US9734090B2 (en) 2012-06-21 2017-08-15 Microsoft Technology Licensing, Llc. Partitioned reference counter
JP5974720B2 (ja) 2012-08-09 2016-08-23 富士通株式会社 演算処理装置、情報処理装置および情報処理装置の制御方法
US9201896B2 (en) 2012-11-26 2015-12-01 Red Hat, Inc. Managing distributed storage quotas
US9081623B1 (en) * 2012-12-05 2015-07-14 Amazon Technologies, Inc. Service resource allocation
JP2014182488A (ja) * 2013-03-18 2014-09-29 Fujitsu Ltd 演算処理装置、及び演算処理装置の制御方法
US9753526B2 (en) * 2014-12-23 2017-09-05 Intel Corporation Systems and methods for synergistic software-hardware power budget management
US20170052866A1 (en) * 2015-08-21 2017-02-23 International Business Machines Corporation Managing a shared pool of configurable computing resources which uses a set of dynamically-assigned resources
JP6380320B2 (ja) * 2015-09-29 2018-08-29 京セラドキュメントソリューションズ株式会社 電子機器、情報処理方法及びプログラム
US10649678B2 (en) * 2017-01-13 2020-05-12 Arm Limited Partitioning of memory system resources or performance monitoring
US10218359B2 (en) * 2017-06-29 2019-02-26 Intel Corporation Regional partial reconfiguration of a programmable device
JP7011156B2 (ja) 2017-11-20 2022-01-26 富士通株式会社 ストレージ制御装置およびプログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4035778A (en) * 1975-11-17 1977-07-12 International Business Machines Corporation Apparatus for assigning space in a working memory as a function of the history of usage
USRE36989E (en) * 1979-10-18 2000-12-12 Storage Technology Corporation Virtual storage system and method
US5055999A (en) * 1987-12-22 1991-10-08 Kendall Square Research Corporation Multiprocessor digital data processing system

Also Published As

Publication number Publication date
JP2004164607A (ja) 2004-06-10
CN1258146C (zh) 2006-05-31
CN1490728A (zh) 2004-04-21
US20040078532A1 (en) 2004-04-22
US6851030B2 (en) 2005-02-01

Similar Documents

Publication Publication Date Title
JP3962368B2 (ja) 共用リソースを動的に割り振るためのシステムおよび方法
US7392363B2 (en) System and method of allocating contiguous memory in a data processing system
US8095736B2 (en) Methods and systems for dynamic cache partitioning for distributed applications operating on multiprocessor architectures
US5537635A (en) Method and system for assignment of reclaim vectors in a partitioned cache with a virtual minimum partition size
US10698832B2 (en) Method of using memory allocation to address hot and cold data
US6604174B1 (en) Performance based system and method for dynamic allocation of a unified multiport cache
CN103902474B (zh) 一种支持固态盘缓存动态分配的混合存储系统和方法
US8615634B2 (en) Coordinated writeback of dirty cachelines
US8645627B2 (en) Memory bus write prioritization
US20110246742A1 (en) Memory pooling in segmented memory architecture
US20080301371A1 (en) Memory Cache Control Arrangement and a Method of Performing a Coherency Operation Therefor
KR20090018203A (ko) 프로세서 코어 스택 익스텐션
US6848026B2 (en) Caching memory contents into cache partitions based on memory locations
US20030079087A1 (en) Cache memory control unit and method
US20070079070A1 (en) Cache controller
US6629111B1 (en) Memory allocation system
KR101587579B1 (ko) 가상화 시스템에서 메모리 조정방법
US5996055A (en) Method for reclaiming physical pages of memory while maintaining an even distribution of cache page addresses within an address space
US10705958B2 (en) Coherency directory entry allocation based on eviction costs
EP0919927A2 (en) Dynamic memory allocation technique for maintaining an even distribution of cache page addresses within an address space
CN113918483B (zh) 一种多主设备缓存控制方法及系统
Kim et al. Explicit non-reusable page cache management to minimize last level cache pollution
Aamodt et al. Memory System
CN116483260A (zh) Buffer管理方法、装置及存储设备
JP2000056993A (ja) 外部記憶装置コントローラのキャッシュメモリ制御方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070104

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070109

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070316

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20070316

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070329

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20070316

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

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20070501

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070518

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees