JP2009245047A - メモリバッファ割当装置およびプログラム - Google Patents

メモリバッファ割当装置およびプログラム Download PDF

Info

Publication number
JP2009245047A
JP2009245047A JP2008089221A JP2008089221A JP2009245047A JP 2009245047 A JP2009245047 A JP 2009245047A JP 2008089221 A JP2008089221 A JP 2008089221A JP 2008089221 A JP2008089221 A JP 2008089221A JP 2009245047 A JP2009245047 A JP 2009245047A
Authority
JP
Japan
Prior art keywords
memory buffer
domain
allocation
dedicated
unit
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
JP2008089221A
Other languages
English (en)
Other versions
JP5040773B2 (ja
Inventor
Hisashi Hinohara
久 日野原
Shigenobu Ono
繁伸 小野
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2008089221A priority Critical patent/JP5040773B2/ja
Priority to US12/414,663 priority patent/US8190795B2/en
Publication of JP2009245047A publication Critical patent/JP2009245047A/ja
Application granted granted Critical
Publication of JP5040773B2 publication Critical patent/JP5040773B2/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/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0284Multiple user address space allocation, e.g. using different base addresses
    • 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
    • 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/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

【課題】仮想計算機システムにおけるメモリバッファ割当装置に関し,メモリバッファのヒット率を向上させる技術を提供する。
【解決手段】メモリバッファ割当装置10において,メモリバッファ分割部12は,メモリバッファの領域を複数に分割し,それぞれを専用メモリバッファと共用メモリバッファに設定する。データ収集部13は,VMシステムにおける各ドメインのCPU使用率や資源使用量等のデータを収集する。専用メモリバッファ割当部11は,CPU使用率が高いドメインから順に,専用メモリバッファを割り当てる。特定ドメイン割当部14は,CPU使用率に関わらず,指定された特定のドメインに,優先的に専用メモリバッファを割り当てる。メモリバッファサイズ設定部15は,実メモリ使用量やI/O発行回数などの資源使用量のデータに基づいて,専用メモリバッファのサイズを変更する。
【選択図】図3

Description

本発明は,仮想計算機システムの技術に関するものであり,特に,メモリバッファの領域の分割,および仮想計算機システムにおける各ドメインへの分割した領域の割り当てを行うメモリバッファ割当装置およびプログラムに関するものである。
現在のサーバシステムでは,プロセッサの高性能化が進んでおり,1000[MIPS]を超えるサーバも多い。高性能プロセッサのコンピュータには,プロセッサとメモリとの性能差を埋めるために,メモリバッファが搭載されている。
図12は,プロセッサとメモリの構造概念図である。図12に示すように,プロセッサ100とメモリストレージ300との間に,メモリバッファ200が設けられている。メモリバッファ200は,メモリストレージ300と比較して容量は少ないが,アクセススピードは速い。メモリバッファ200は,メモリバッファ(1'st)200a,メモリバッファ(2'nd)200b,... といったように,多段階で設計されることもある。
これら,高性能プロセッサの能力をできる限り使用するために,複数のゲストOSを動作させる仮想計算機システム(以下,VM(Virtual Machine )機構)が,多数開発されている。
VM機構は,一台のハードウェア上で一または複数の計算機を仮想的に動作させるシステムである。VM機構の一つの目的は,プロセッサ使用の空き時間をできる限り少なくすることによって実プロセッサの使用効率化を図ることである。
VM機構において,仮想的に実行させる計算機(仮想計算機)内で動作するプロセッサ(仮想プロセッサ)による命令の実行は,命令実行時の仮想プロセッサの動作を,実プロセッサによって擬似的に実行することによって行われ,仮想プロセッサがハードウェアを時分割で使用する。
VM機構における一つの仮想実行環境(仮想OSの環境)をドメイン(Domain)と呼び,複数の異なる仮想OSが独立して実行可能である環境をマルチドメイン環境と称する。
VM機構における仮想計算機へのリソース割当てを行う技術が記載された文献として,例えば特許文献1がある。
特許文献1には,仮想計算機システムにおいて,各OSのCPU負荷に基づき,論理区画の割当量および主記憶とI/Oとについての共用割当時の割当率を決定する。なお,特許文献1には,メモリバッファについての記載は特にない。
特開2007−200346号公報
VM機構では,異なる仮想OSがプロセッサ100にディスパッチされるごとに,メモリストレージ300上の参照領域が大きく変化するため,メモリバッファ200のミスヒットが発生しやすくなる。すなわち,VM機構は,メモリバッファ200のヒット率を考えた場合には効率的なシステムではなく,一定時間ごとにメモリバッファ200のクリアが発生してしまう。そのため,かえって,プロセッサ100のジョブ実行時間が増加してしまい,実プロセッサの高性能を活用できないという問題がある。
通常,実OS配下のジョブは,I/O割り込みなどによって制御権限をOSへ渡してしまうため,タイムシェアリングにより割り当てられた時間いっぱいにハードウェアリソースを使用することはほとんどない。
これに対して,VM機構における各仮想OSは,実OS配下のジョブの場合とは異なり,ほぼタイムシェアリング通りにハードウェアリソースを使用する。そのため,従来は,仮想OSにハードウェアリソースが割り当てられた段階ではメモリバッファ200のヒット率が低く,時間と共にヒット率が安定するといった状態を,仮想OSの制御が遷移するたびに繰り返していた。
図13は,キャッシュの遷移を説明する図である。
ある時刻において,プロセッサ100は,VM機構400におけるドメイン#aの処理に割り当てられているものとする。このとき,ドメイン#aの処理中では,メモリバッファ200には,ドメイン#aのデータが格納された状態となっている。
時間t後には,プロセッサ100がドメイン#yの処理に割り当てられたものとする。ドメイン#yの処理中に,ドメイン#yの処理に必要なデータがメモリバッファ200上に存在しないときにはキャッシュミスとなり,メモリストレージ300から必要なデータを読み込む必要がある。
このとき,ドメイン#yの処理のための新たなデータをメモリバッファ200に読み込むことによって,ドメイン#aのデータがクリアされてしまうものとする。
次に,プロセッサ100がドメイン#aの処理に割り当てられたときには,前回の最後に使用されたドメイン#aのデータが既にメモリバッファ200上に存在しないため,再びキャッシュミスとなり,必要なデータの再読み込み処理が発生してしまう。
このように,プロセッサ100がVM機構400の各ドメインに順に割り当てられると,頻繁にキャッシュミスが発生してしまい,プロセッサ100の高性能を有効に活用できないという問題があった。
本発明は,メモリバッファを備えた仮想計算機システムにおいて,メモリバッファのヒット率を向上させることが可能となるメモリバッファの割り当て処理を提供することを目的とする。
開示する装置では,メモリバッファを分割し,分割されたメモリバッファを,専用メモリバッファと共用メモリバッファとに設定する。仮想計算機マシンの各ドメインのCPU使用率を取得し,CPU使用率が高いドメインから優先的に専用メモリバッファを割り当てる。専用メモリバッファが割り当てられなかったドメインは,共用メモリバッファを使用する。
さらに,一定間隔ごとに,各ドメインのCPU使用率を取得し,専用メモリバッファに割り当てるドメインの見直しを行う。
また,各ドメインのリソース使用状況データを取得し,取得されたリソース使用状況データをもとに,各分割メモリバッファのサイズを変更するようにしてもよい。
また,外部から特定のドメインを指定できるようにし,指定された特定ドメインに対して優先的に専用メモリバッファを割り当てるようにしてもよい。
具体的には,メモリバッファを備えた一つのCPU上で複数の仮想OSが時分割で動作する仮想計算機システムにおいて該メモリバッファの割当てを行うメモリバッファ割当装置は,1)前記メモリバッファをn個の領域に分割し,該n個の領域のうち,所定の分割単位数mの領域を専用メモリバッファとして記憶し,残りの分割単位数n−mの領域を共用メモリバッファとして記憶するメモリバッファ分割部と,2)前記仮想計算機システムにおける各ドメインのCPU使用率を収集するデータ収集部と,3)前記CPU使用率が高いものから順にm個のドメインを,前記専用メモリバッファとして記憶された各領域に1つずつ割り当て,前記CPU使用率が高いものからm+1番目以降のドメインを,前記共用メモリバッファとして記憶された領域に割り当てるメモリバッファ割当部とを備える。
CPU使用率が高いドメインは,メモリバッファの利用率が高いことから,そのようなドメインに対して専用メモリバッファを割り当てることによって,メモリバッファにおける参照領域の変動を抑えて,ヒット率を向上させることができる。
また,上記のメモリバッファ割当装置は,データ収集部が,仮想計算機システムにおける各ドメインのリソース使用状況データを収集し,さらに,収集されたリソース使用状況データ,例えばメモリ使用量,I/O発行回数などに基づき,メモリバッファの分割された領域のサイズを変更するメモリバッファサイズ変更部を備える。
このように,メモリバッファの分割された領域のサイズを,割り当てられたドメインの状態に合わせて変更することで,メモリバッファのヒット率を,より向上させることができる。
また,上記のメモリバッファ割当装置は,メモリバッファ割当部が,指定された特定のドメインを,優先的に専用メモリバッファに割り当てる。
これにより,CPU使用率が低くても処理を遅延させてはならないドメインが存在する場合に,そのドメインに対して専用メモリバッファを優先的に割り当てることができる。
開示した装置によれば,一般的なメモリバッファ制御であるLRU(Least Recently Used)ロジックのみでなく,仮想計算機システムの各ドメインのCPU使用率,資源使用状況を意識したメモリバッファ制御を行うことにより,メモリバッファのヒット率を向上させることが可能となる。
例えば,メモリバッファのヒット率を0.1%向上させるだけでも,メモリの性能がプロセッサと比較して100〜300倍程度遅いため,コンピュータ全体の効率は10%〜30%程度向上する。
メモリバッファのヒット率を0.01%向上させた場合でも,コンピュータ全体の効率は1%〜3%向上することとなり,100CPUを超えるようなマルチプロセッサシステムの場合では,必要CPU数を少なくすることも可能となる。
以下,本発明の実施の形態について,図を用いて説明する。
図1は,開示する装置の本実施の形態における動作モデルの例を示す図である。
図1に示す動作モデルでは,ハードウェア構成として,CPU1とメモリストレージ4とを備え,CPU1が,プロセッサ2とメモリバッファ3とを備える。
かかるハードウェア上で動作するVM機構5において実現される各ドメインは,ハードウェア資源を時分割で共有する。
図1に示す動作モデルにおいて,メモリバッファ3がVM機構5を意識することにより,効率的なメモリバッファ3の使用が可能となる。そのために,本実施の形態のメモリバッファ割当装置10は,メモリバッファ3を分割し,CPU使用率が高いドメインを特定の分割メモリバッファに割付けることにより,メモリバッファ3のヒット率を向上させる。
メモリバッファ3の容量とヒット率は,メモリバッファ3の基本的制御がLRU論理で行われていることから,飽和曲線(Dose Resp )に近い状態となる。このことから,メモリバッファ割当装置が図1に示すようにメモリバッファ3を分割し,その分割メモリバッファをCPU使用率が高いドメインに優先して割り当てることにより,メモリバッファ3内の参照領域の頻繁な変動を防ぎ,メモリバッファ3のヒット率を向上させることが可能となる。
図2は,各ドメインに対するメモリバッファ割当て例を示す図である。
ここでは,メモリバッファ3は,領域#1〜#4に4分割されており,そのうち領域#1〜#3までの3つが専用メモリバッファとして,領域#4が共用メモリバッファとして設定される。
専用メモリバッファの各領域#1〜#3(以下,専用メモリバッファ#1〜#3)は,選定された1つのドメインで使用するように割当てが行われる。専用メモリバッファに割り当てられなかったその他のドメインで,共用メモリバッファの領域#4(以下,共用メモリバッファ#4)を使用する。
また,VM機構5は,時分割で順にハードウェアリソースが割り当てられる6つのドメイン#a〜#fを有する。
VM機構5の管理を行うVM管理装置20が,各ドメイン切替間隔ごとに,各ドメインのCPU使用率を計測する場合に,メモリバッファ割当装置10は,各ドメインの切替毎または複数回に1回のタイミングで,専用メモリバッファの割当て変更のチェックを行う。
図2(A)は,各ドメインのCPU使用率が,「#a>#b>#c>#d>#e>#f」の順である場合のメモリバッファ割当て例を示す図である。
この場合に,メモリバッファ割当装置10は,CPU使用率が高い方からドメイン#a,ドメイン#b,ドメイン#cの3つのドメインを,順に専用メモリバッファ#1,#2,#3に割り当てる。残りのドメイン#d,ドメイン#e,ドメイン#fの3つのドメインは,1つの共用メモリバッファ#4を使用することになる。
図2(B)は,図2(A)の状態から一定時間後に,ドメイン#eのCPU使用率が増加し,各ドメインのCPU使用率が,「#e>#a>#b>#c>#d>#f」の順になった場合の例である。
この場合に,メモリバッファ割当装置10は,CPU使用率が高くなったドメイン#eに,専用メモリバッファを割り当てる。
ここでは,専用メモリバッファが割り当てられていたドメインの中で,最もCPU使用率が低いドメイン#cが割り当てられていた専用メモリバッファ#3に,ドメイン#eが割り当てられる。専用メモリバッファの割当てから外されたドメイン#cは,以後共用メモリバッファ#4を使用する。
図2(C)は,図2(B)の状態からさらにドメイン#eの資源使用量が増加した場合の例である。メモリバッファ割当装置10は,資源使用量が多いドメインに割り当てられた専用メモリバッファのサイズを大きくするサイズ変更を行う。
このような専用メモリバッファサイズ変更は,例えば,専用メモリバッファの割当て変更チェック毎または複数回に1回のタイミングで,VM機構5のVM管理装置20によって計測された各ドメインの実メモリ使用量やI/O発行回数などの資源使用量の情報をもとに,所定のアルゴリズムで判定が行われ,実行される。
図2(C)に示す例では,ドメイン#eが割り当てられた#3の専用メモリバッファのサイズを大きし,その分ドメイン#a,ドメイン#bが割り当てられた#1,#2の専用メモリバッファのサイズが小さくなるように,サイズ変更されている。
また,メモリバッファ割当装置10は,外部入力により特定のドメインを指定して,CPU使用率にかかわらず優先的に専用メモリバッファを割り当てる。
ドメインの中には,CPU使用率が小さくても処理を遅らせてはならないものも存在する可能性がある。そのような場合には,外部入力により特定のドメインを指定し,優先的に専用メモリバッファを割り当てるようにする。
図2(D)は,図2(B)の状態で,ドメイン#fが優先的に専用メモリバッファを割り当てる特定ドメインとして指定された場合の割当て例である。
この場合に,各ドメインのCPU使用率は,「#e>#a>#b>#c>#d>#f」の順である。CPU使用率が最低のドメイン#fが特定ドメインとして指定されているので,ドメイン#fには専用メモリバッファを割り当てる必要がある。専用メモリバッファが割り当てられていたドメインの中で,最もCPU使用率が低いドメイン#bが割り当てられていた専用メモリバッファ#2に,割当て変更でドメイン#fが割り当てられる。専用メモリバッファの割当てから外されたドメイン#bは,以後共用メモリバッファ#4を使用する。
なお,特定ドメインの解除は,指定時と同様に,外部入力により行うことができる。
図2で説明したようなメモリバッファ3の分割および専用メモリバッファの割当てを行うことにより,専用メモリバッファに割り当てられた仮想OSについては,メモリのヒット率が安定した状態を長く維持することができるため,全体としてメモリバッファ3のヒット率の向上を図ることができる。
図3は,本実施の形態によるメモリバッファ割当装置10の構成例を示す図である。
メモリバッファ割当装置10は,専用メモリバッファ割当部11,メモリバッファ分割部12,データ収集部13,特定ドメイン割当部14,メモリバッファサイズ設定部15を備える。
専用メモリバッファ割当部11は,メモリバッファ割当処理の中心処理として,メモリバッファ3の専用メモリバッファの割当てなどの処理を行う。
メモリバッファ分割部12は,メモリバッファ分割数などの外部入力をもとに,メモリバッファ3の分割などの初期設定処理を行う。
データ収集部13は,VM管理装置20からインタフェースを介して,各ドメインのCPU使用率,各ドメインの実メモリ使用量,各ドメインのI/O発行回数などのデータを収集する処理を行う。
特定ドメイン割当部14は,特定ドメイン指定情報などの外部入力をもとに,指定された特定ドメインに専用メモリバッファを割り当てる処理を行う。
メモリバッファサイズ設定部15は,外部変数などの外部入力をもとに,メモリサイズを変更する専用メモリバッファの判定やメモリサイズ変更の処理を行う。
なお,図3では図示されていないが,メモリバッファ割当装置10は,各専用メモリバッファの割当てドメインの情報や,各専用メモリバッファ,共用メモリバッファのサイズ等の情報を管理保持する。
図4および図5は,本実施の形態によるメモリバッファ割当処理フローチャートである。
図4および図5に示すメモリバッファ割当処理は,専用メモリバッファ割当部11による処理であり,本実施の形態によるメモリバッファ割当処理の中心となる処理である。
メモリバッファ分割部12によるメモリバッファ分割処理により(ステップS10),メモリバッファ3の領域を分割する。さらに,データ収集部13によるデータ収集処理により(ステップS11),VM管理装置20からのデータ収集を行う。
専用メモリバッファ割当部11は,データ収集部13からの収集データの入力を待ち合わせ(ステップS12),データ収集部13から,各ドメインのCPU使用率,実メモリ使用量,I/O発行回数などの収集データを引き継ぐ(ステップS13)。
特定ドメイン割当部14による特定ドメイン割当処理により(ステップS14),外部入力で指定されたドメインに専用メモリバッファを割り当てる。
専用メモリバッファへの割当て見直しが未実施のドメインの中で,CPU使用率が最も高いドメインを,専用メモリバッファへの割当てを見直しするドメインとして選定し(ステップS15),選定されたドメインに「割当て見直しフラグ」を設定する(ステップS16)。専用メモリバッファへの割当て見直しの実施/未実施は,ドメインごとに用意された割当て見直しフラグが設定されているか否かで判断できる。なお,特定ドメインに指定されているドメインは,ステップS14の特定ドメイン割当処理で,すでに割当て見直しフラグが設定されている。
選定されたドメインに対してまだ専用メモリバッファが割り当てられていなければ(ステップS17のNO),専用メモリバッファが割り当てられており,さらに割当て見直しが未実施,すなわち割当て見直しフラグが未設定のドメインの中で,最もCPU使用率が低いドメインが使用していた専用メモリバッファを,選定されたドメインに割り当てる(ステップS18)。
選定されたドメインが割り当てられた専用メモリバッファに,割当て見直しフラグを設定する(ステップS19)。各専用メモリバッファについても,各ドメインと同様に,割当て見直しフラグが用意されている。割当て見直し未実施の専用メモリバッファすなわち割当て見直しフラグが未設定の専用メモリバッファがまだ存在すれば(ステップS20のYES),ステップS15の処理に戻る。
各ドメインのCPU使用率,各ドメインの実メモリ使用量,各ドメインのI/O発行回数などの収集データの累計を,ドメインごと,データごとに算出する(ステップS21)。具体的には,前回に算出した累計データを保持しておき,保持している累計データに新たな収集データを加えて,新たな累計データを保持する処理を行う。
メモリバッファサイズ設定カウンタが0になっていれば(ステップS22のYES),メモリバッファサイズ設定部15によるメモリバッファサイズ設定処理により(ステップS23),各専用メモリバッファのサイズの見直しを行う。ここで,メモリバッファサイズ設定処理は,メモリバッファ割当て見直しの所定回数に1度の割合で実行され,メモリバッファサイズ設定カウンタは,その見直し間隔の所定回数をカウントするためのカウンタである。
メモリバッファサイズ設定処理が行われた場合には,メモリバッファサイズ設定カウンタ(見直し間隔)に所定回数の値を設定しなおす(ステップS24)。例えば,専用メモリバッファの割当て見直し処理の10回間隔で専用メモリバッファのサイズ見直しを行いたい場合には,メモリバッファサイズ設定カウンタに10を設定する。また,メモリバッファサイズ設定処理が行われた場合には,次のメモリバッファサイズ設定処理のために,保持しておいたドメインごと,データごとの累計データをクリアする(ステップS25)。
メモリバッファサイズ設定カウンタが0になっていなければ(ステップS22のNO),まだメモリバッファサイズ設定処理を行わないので,メモリバッファサイズ設定カウンタの値を−1する(ステップS26)。
ステップS11の処理に戻り,次のデータ収集から,特定ドメインに対する専用メモリバッファの割当て,特定ドメイン以外のドメインに対する専用メモリバッファの割当て見直し,メモリバッファサイズの設定変更などの処理を繰り返す。なお,各ドメイン,各専用メモリバッファの割当て見直しフラグは,ステップS11の処理に戻るたびに設定がクリアされる。
図6は,本実施の形態によるメモリバッファ分割処理フローチャートである。
図6に示すメモリバッファ分割処理は,メモリバッファ分割部12による処理であり,本実施の形態によるメモリバッファ割当処理の初期処理となる。
メモリバッファ分割数は,外部から入力される。なお,外部からの入力が,専用メモリバッファ数であってもよく,メモリバッファ分割数と専用メモリバッファ数の双方であってもよい。
VM機構5のドメイン数<メモリバッファ分割数+定数pの条件を満たす場合には(ステップS30のYES),指定されたメモリバッファ分割数(=専用メモリバッファ数+1)にメモリバッファ3の領域を分割する(ステップS31)。
各分割メモリバッファを,それぞれ所定数の専用メモリバッファと共有メモリバッファとに設定し,その設定を保持しておく。なお,ここでは共有メモリバッファ数を1としているが,共有メモリバッファ数を複数としてもよい。
VM機構5のドメイン数<メモリバッファ分割数+pの条件を満たさない場合には(ステップS30のNO),メモリバッファ3の分割を実施しない(ステップS32)。
ここで,定数pは整数値である。VM機構5のドメイン数が多い場合には,共用メモリバッファを使用するドメインが多くなってしまい,共用メモリバッファを使用するドメインの性能が低下してしまう問題がある。そこで,メモリバッファ3の分割を行う場合のVM機構5のドメイン数を,メモリバッファ分割数+pに限定する。これにより,共用メモリバッファを使用するドメインが多くなり過ぎることによる性能低下を防止する。例えば,pの値として,3〜5程度の値を設定する。
図7は,本実施の形態によるデータ収集処理フローチャートである。図7に示すデータ収集処理は,データ収集部13による処理である。
データ収集部13は,VM機構5の各ドメインのディスパッチ間隔ごとに,VM管理装置20からインタフェースを介して,各ドメインのCPU使用率,実メモリ使用量,I/O発行回数などのデータを収集する(ステップS40)。収集されたデータを,専用メモリバッファ割当処理に引き継ぐ(ステップS41)。
図8は,本実施の形態による特定ドメイン割当処理フローチャートである。図8に示す特定ドメイン割当処理は,特定ドメイン割当部14による処理である。
特定ドメイン割当部14は,専用メモリバッファを割り当てるドメインの指定情報である特定ドメイン指定情報が外部から入力されている場合には,指定された特定ドメインのリスト情報である特定ドメイン指定テーブルを作成する(ステップS50)。
特定ドメイン指定テーブルから,専用メモリバッファへの割当て見直しが未実施の特定ドメインの中で,CPU使用率が最も高い特定ドメインを,専用メモリバッファへの割当てを見直しする特定ドメインとして選定し(ステップS51),選定された特定ドメインに割当て見直しフラグを設定する(ステップS52)。
選定された特定ドメインに対してまだ専用メモリバッファが割り当てられていなければ(ステップS53のNO),専用メモリバッファが割り当てられたドメインの中から,さらに割当て見直しが未実施,すなわち割当て見直しフラグが未設定,かつ,最もCPU使用率が低いドメインが使用していた専用メモリバッファを,選定された特定ドメインに割り当てる(ステップS54)。
選定された特定ドメインが割り当てられた専用メモリバッファに,割当て見直しフラグを設定する(ステップS55)。
そして,特定ドメイン指定テーブルに,割当て見直し未実施の特定ドメインすなわち割当て見直しフラグが未設定の特定ドメインがまだ存在すれば(ステップS56のYES),ステップS51の処理に戻る。
図9は,本実施の形態によるメモリバッファサイズ設定処理フローチャートである。図9に示すメモリバッファサイズ設定処理は,メモリバッファサイズ設定部15による処理である。
メモリ補正係数α,I/O補正係数β,増減幅などの外部変数は,外部から入力される。メモリ補正係数α,I/O補正係数βなどの資源使用量の変数値は,重視する資源使用量によって変更される値である。管理者は,このような変数値を変更することにより,メモリバッファサイズの設定を調整することができる。
メモリバッファサイズ設定部15は,プロセッサ係数γを,VM管理装置20の内部テーブルから読み込む(ステップS60)。また,専用メモリバッファ割当処理から,ドメインごと,データごとの累計データを引き継ぐ(ステップS61)。
各ドメインについて,以下の式(1)によって,ドメインの基礎値を算出する(ステップS62)。なお,以下の式(1)において,実メモリ使用量は,専用メモリバッファ割当処理から引き継がれたドメインごとの実メモリ使用量の累積値を示し,I/O発行回数は,専用メモリバッファ割当処理から引き継がれたドメインごとのI/O発行回数の累積値を示す。
ドメインの基礎値=(実メモリ使用量×α+I/O発行回数×β)×γ 式(1)
各ドメインの基礎値を合算し,システム全体の基礎値を算出する(ステップS63)。また,各ドメインについて,以下の式(2)によって,ドメインの係数を求める(ステップS64)。
ドメイン係数=ドメインの基礎値/システム全体の基礎値 式(2)
各ドメインについて,以下の式(3)によって,メモリバッファ係数を求める(ステップS65)。
メモリバッファ係数=専用メモリバッファサイズ/総メモリバッファサイズ 式(3)
なお,専用メモリバッファが割り当てられていないドメインについては,メモリバッファ係数を求める必要はない。
専用メモリバッファが割り当てられた,サイズ見直しが未実施のドメインの中で,CPU使用率が最も高い特定ドメインを,専用メモリバッファのサイズを見直しするドメインとして選定し(ステップS66),選定されたドメインにサイズ見直しフラグを設定する(ステップS67)。専用メモリバッファのサイズ見直しの実施/未実施は,ドメインごとに用意されたサイズ見直しフラグが設定されているか否かで判断できる。
選定されたドメインについて,ドメイン係数±増減幅>メモリバッファ係数という条件を満たし(ステップS68のYES),かつサイズ見直し未実施のドメインに割り当てられた専用メモリバッファのサイズの最小値>所定の最低メモリバッファサイズという条件を満たす場合には(ステップS69のYES),専用メモリバッファのサイズ見直しを実施する(ステップS70)。最低メモリバッファサイズは,最低限度のメモリバッファサイズを示す閾値である。
専用メモリバッファのサイズ見直しは,例えば,サイズ見直し未実施のドメインの中で,メモリバッファ係数が最小のドメインに割り当てられた専用メモリバッファのサイズを,最低メモリバッファサイズを下回らない範囲で,所定の単位サイズ分縮小し,その縮小された分だけ,選定されたドメインに割り当てられた専用メモリバッファのサイズを拡張することにより実施される。縮小または拡張する単位量(サイズ)は予め設定する。
なお,共用メモリバッファをサイズ見直しの対象としてもよい。
ドメイン係数±増減幅>メモリバッファ係数という条件を満たさない(ステップS68のNO),またはサイズ見直し未実施のドメインに割り当てられた専用メモリバッファのサイズの最小値>所定の最低メモリバッファサイズという条件を満たさない場合には(ステップS69のNO),専用メモリバッファのサイズ見直しを実施しない(ステップS71)。
専用メモリバッファが割り当てられた,サイズ見直しが未実施のドメインがまだ存在すれば(ステップS72のYES),ステップS66の処理に戻る。なお,各ドメインのサイズ見直しフラグは,メモリバッファサイズ設定処理が終了するたびに設定がクリアされる。
以上説明したメモリバッファ割当装置10による処理は,コンピュータとソフトウェアプログラムとによって実現することができ,そのプログラムをコンピュータ読み取り可能な記録媒体に記録することも,ネットワークを通して提供することも可能である。
図10および図11は,メモリバッファ割当処理の具体的な実施例を説明する図である。以下では,図10および図11に示すデータを用いて,メモリバッファ割当処理の具体的な実施例を説明する。図10(A)は,基礎データを示す。図10(B)は,外部入力データを示す。図10(C)は,メモリバッファ3の状態の変遷を示す。図11は,収集データと累計データを示す。
図10(A)に示すように,VM機構5のドメイン数は4である。それぞれのドメインをドメイン#a,ドメイン#b,ドメイン#c,ドメイン#dとする。
図10(B)に示すようにメモリバッファ分割数が3であり,図10(A)に示すようにVM機構5のドメイン数は4であるので,メモリバッファ分割の条件は満たされている。メモリバッファサイズが12[MB]のメモリバッファ3は,それぞれ4[MB]の専用メモリバッファ#1,専用メモリバッファ#2,共用メモリバッファに分割される。
図10(C)に示すように,本実施例の起点では,専用メモリバッファ#1にはドメイン#aが,専用メモリバッファ#2には,ドメイン#bが割り当てられており,ドメイン#cとドメイン#dは,共用メモリバッファを使用している。また,図11に示すように,本実施例の起点では,ドメイン#aのCPU使用率(図11中のCPU Busy)が40%,ドメイン#bのCPU使用率が30%,ドメイン#cのCPU使用率が10%,ドメイン#dのCPU使用率が10%であるものとする。また,起点でのメモリバッファサイズ設定カウンタの値は,図10(A)に示す設定値,すなわち10であるものとする。
図10(A)に示すように,各ドメインをディスパッチする間隔は10[ms]である。ここでは,各ドメインのディスパッチ4回分のタイミングでデータ収集を行うものとする。
起点後,1回目のデータ収集において,図11のデータ収集No.1に示すように,ドメイン#aのCPU使用率10%,ドメイン#bのCPU使用率30%,ドメイン#cのCPU使用率40%,ドメイン#dのCPU使用率10%が得られる。このとき,CPU使用率が最大のドメイン#cには専用メモリバッファが割り当てられていない。専用メモリバッファが割り当てられているドメインのうち,最小のものはドメイン#aであるので,ドメイン#aに割り当てられていた専用メモリバッファ#1をドメイン#cに割り当てる。ドメイン#aは,共用メモリバッファを使用することになる。ドメイン#cの次にCPU使用率が高いドメインは,専用メモリバッファ#2が割り当てられているドメイン#bであるので,これ以上の割当て変更はない。メモリバッファ3の状態は,図10(C)のデータ収集No.1に示す通りとなる。
その後,データ収集No.10まで,データ収集No.1と同じデータが収集され,新たな専用メモリバッファの割当て変更はなかったものとする。データ収集No.10の段階で,メモリバッファ設定カウンタが0となり,メモリバッファサイズ設定処理が行われる。
この時点でのドメインごと,データごとの累計は,図11の累計に示す通りであるものとする。図10(A)に示すように,プロセッサ係数は1であり,図10(B)に示すように,メモリ補正係数は0.3,I/O補正係数は1であるので,上記の式(1)を用いて各ドメインの基礎値を算出すると,ドメイン#a:6000,ドメイン#b:28000,ドメイン#c:4000,ドメイン#d:8000となり,システム全体の基礎値を算出すると,46000となる。なお,図11において,Memory Size は実メモリ使用量を示し,I/O Count はI/O発行回数を示す。
上記の式(2)を用いて各ドメインのドメイン係数を算出すると,ドメイン#a:0.13,ドメイン#b:0.60,ドメイン#c:0.9,ドメイン#d:0.18となり,上記の式(3)を用いて専用メモリバッファが割り当てられたドメイン#b,ドメイン#cのメモリバッファ係数を算出すると,ドメイン#b:0.33,ドメイン#c:0.33となる。
図10(B)に示すように,増減幅は±10[%]であり,図10(A)に示すように,最低メモリバッファサイズは1[MB]である。ドメイン#cについては,0.18±10[%]<0.33であるので,専用メモリバッファのサイズ見直しを実施しないと判定される。ドメイン#bについては,0.60±10[%]>0.33であり,ドメイン#cに割り当てられた専用メモリバッファサイズ4[MB]>最低メモリバッファサイズ1[MB]であるので,専用メモリバッファのサイズ見直しを実施すると判定される。ここでは,図10(C)のメモリバッファサイズ見直しに示すように,ドメイン#cに割り当てられた専用メモリバッファ#1のサイズが2[MB]に縮小され,ドメイン#bに割り当てられた専用メモリバッファ#2のサイズが6[MB]に拡張される。
以上,本発明の実施の形態について説明したが,本発明は本実施の形態に限られるものではない。例えば、図10(A)や図10(B)に設定されているメモリバッファの分割数や、専用メモリバッファとして割り当てる数、共用メモリバッファとして割り当てる数や他の各値は、適宜変更して構わない。
また,例えば,本実施の形態では,基本的に1'stメモリバッファの分割/割当てについて説明しているが,2'ndメモリバッファ,3'rdメモリバッファ,... についても,分割/割当てを実施可能である。
例えば,2'ndメモリバッファや3'rdメモリバッファについて,分割/割当てを実施する場合には,1'stメモリバッファの4〜8倍程度のサイズが分割の1単位として望ましいと考えられる。これ以上小さいサイズに分割すると,メモリバッファのヒット率が低下するケースが増え,仮想計算機システムの性能低下に繋がる可能性が高くなるからである。
本実施の形態による動作モデルの例を示す図である。 各ドメインに対するメモリバッファ割当て例を示す図である。 本実施の形態によるメモリバッファ割当装置の構成例を示す図である。 本実施の形態によるメモリバッファ割当処理フローチャートである。 本実施の形態によるメモリバッファ割当処理フローチャートである。 本実施の形態によるメモリバッファ分割処理フローチャートである。 本実施の形態によるデータ収集処理フローチャートである。 本実施の形態による特定ドメイン割当処理フローチャートである。 本実施の形態によるメモリバッファサイズ設定処理フローチャートである。 メモリバッファ割当処理の具体的な実施例を説明する図である。 メモリバッファ割当処理の具体的な実施例を説明する図である。 プロセッサとメモリの構造概念図である。 キャッシュ遷移の概念を説明する図である。
符号の説明
1 CPU
2 プロセッサ
3 メモリバッファ
4 メモリストレージ
5 VM機構(仮想計算機機構)
10 メモリバッファ割当装置
11 専用メモリバッファ割当部
12 メモリバッファ分割部
13 データ収集部
14 特定ドメイン割当部
15 メモリバッファサイズ設定部
20 VM管理装置

Claims (6)

  1. メモリバッファを備えた一つのCPU上で複数の仮想OSが時分割で動作する仮想計算機システムにおいて,該メモリバッファの割当てを行うメモリバッファ割当装置であって,
    前記メモリバッファをn個の領域に分割し,該n個の領域のうち,所定の分割単位数mの領域を専用メモリバッファとして記憶し,残りの分割単位数n−mの領域を共用メモリバッファとして記憶するメモリバッファ分割部と,
    前記仮想計算機システムにおける各ドメインのCPU使用率を収集するデータ収集部と,
    前記CPU使用率が高いものから順にm個のドメインを,前記専用メモリバッファとして記憶された各領域に1つずつ割り当て,前記CPU使用率が高いものからm+1番目以降のドメインを,前記共用メモリバッファとして記憶された領域に割り当てるメモリバッファ割当部とを備える
    ことを特徴とするメモリバッファ割当装置。
  2. 前記データ収集部は,前記仮想計算機システムにおける各ドメインのリソース使用状況データを収集し,
    前記リソース使用状況データに基づき,前記分割された領域のサイズを変更するメモリバッファサイズ変更部を備える
    ことを特徴とする請求項1に記載のメモリバッファ割当装置。
  3. 前記メモリバッファ割当部は,指定された特定のドメインを,優先的に専用メモリバッファとして記憶された領域に割り当てる
    ことを特徴とする請求項1または請求項2に記載のメモリバッファ割当装置。
  4. メモリバッファを備えた一つのCPU上で複数の仮想OSが時分割で動作する仮想計算機システムにおいて,該メモリバッファの割当てを行うメモリバッファ割当装置をコンピュータに実現させるためのプログラムであって,
    前記コンピュータを,
    前記メモリバッファをn個の領域に分割し,該n個の領域のうち,所定の分割単位数mの領域を専用メモリバッファとして記憶し,残りの分割単位数n−mの領域を共用メモリバッファとして記憶するメモリバッファ分割部と,
    前記仮想計算機システムにおける各ドメインのCPU使用率を収集するデータ収集部と,
    前記CPU使用率が高いものから順にm個のドメインを,前記専用メモリバッファとして記憶された各領域に1つずつ割り当て,前記CPU使用率が高いものからm+1番目以降のドメインを,前記共用メモリバッファとして記憶された領域に割り当てるメモリバッファ割当部として
    機能させるためのメモリバッファ割当プログラム。
  5. 前記データ収集部は,前記仮想計算機システムにおける各ドメインのリソース使用状況データを収集し,
    前記コンピュータを,前記収集されたリソース使用状況データに基づき,前記領域のサイズを変更するメモリバッファサイズ変更部として
    機能させるための請求項4に記載のメモリバッファ割当プログラム。
  6. 前記メモリバッファ割当部は,指定された特定のドメインを,優先的に専用メモリバッファに割り当てる
    ことを特徴とする請求項4または請求項5に記載のメモリバッファ割当プログラム。
JP2008089221A 2008-03-31 2008-03-31 メモリバッファ割当装置およびプログラム Active JP5040773B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008089221A JP5040773B2 (ja) 2008-03-31 2008-03-31 メモリバッファ割当装置およびプログラム
US12/414,663 US8190795B2 (en) 2008-03-31 2009-03-31 Memory buffer allocation device and computer readable medium having stored thereon memory buffer allocation program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008089221A JP5040773B2 (ja) 2008-03-31 2008-03-31 メモリバッファ割当装置およびプログラム

Publications (2)

Publication Number Publication Date
JP2009245047A true JP2009245047A (ja) 2009-10-22
JP5040773B2 JP5040773B2 (ja) 2012-10-03

Family

ID=41118832

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008089221A Active JP5040773B2 (ja) 2008-03-31 2008-03-31 メモリバッファ割当装置およびプログラム

Country Status (2)

Country Link
US (1) US8190795B2 (ja)
JP (1) JP5040773B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013016015A (ja) * 2011-07-04 2013-01-24 Fujitsu Semiconductor Ltd メモリアクセス制御装置、及びメモリアクセス制御方法
JP2013527516A (ja) * 2010-03-26 2013-06-27 バーチャルメトリックス・インコーポレイテッド コンピュータシステムの細粒度パフォーマンスリソース管理
JP2015036873A (ja) * 2013-08-13 2015-02-23 富士通株式会社 キャッシュメモリ制御プログラム,キャッシュメモリを内蔵するプロセッサ及びキャッシュメモリ制御方法
WO2017013701A1 (ja) * 2015-07-17 2017-01-26 株式会社日立製作所 計算機システム及びデータベース管理方法
KR101813245B1 (ko) * 2016-07-27 2017-12-28 주식회사 한컴엠디에스 모니터링 데이터 수집 시스템

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8402201B2 (en) 2006-12-06 2013-03-19 Fusion-Io, Inc. Apparatus, system, and method for storage space recovery in solid-state storage
KR101636377B1 (ko) * 2009-10-23 2016-07-06 삼성전자주식회사 재구성 프로세서, 재구성 제어 장치 및 방법, 그리고, 스레드 모델링 방법
JP2011164994A (ja) * 2010-02-10 2011-08-25 Toshiba Corp メモリシステム
US20120066444A1 (en) * 2010-09-14 2012-03-15 Advanced Micro Devices, Inc. Resolution Enhancement of Video Stream Based on Spatial and Temporal Correlation
KR101696804B1 (ko) * 2010-10-05 2017-01-16 삼성전자주식회사 가상화 환경에서의 자원사용정책 조정장치 및 방법
US20120239860A1 (en) 2010-12-17 2012-09-20 Fusion-Io, Inc. Apparatus, system, and method for persistent data management on a non-volatile storage media
US8996807B2 (en) 2011-02-15 2015-03-31 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for a multi-level cache
US8874823B2 (en) 2011-02-15 2014-10-28 Intellectual Property Holdings 2 Llc Systems and methods for managing data input/output operations
US9201677B2 (en) * 2011-05-23 2015-12-01 Intelligent Intellectual Property Holdings 2 Llc Managing data input/output operations
US9003104B2 (en) 2011-02-15 2015-04-07 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for a file-level cache
US8769533B2 (en) * 2011-07-18 2014-07-01 International Business Machines Corporation Check-point based high availability: network packet buffering in hardware
US9116812B2 (en) 2012-01-27 2015-08-25 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for a de-duplication cache
US10359972B2 (en) 2012-08-31 2019-07-23 Sandisk Technologies Llc Systems, methods, and interfaces for adaptive persistence
US8904067B2 (en) * 2012-03-13 2014-12-02 Microsoft Corporation Adaptive multi-threaded buffer
US10339056B2 (en) 2012-07-03 2019-07-02 Sandisk Technologies Llc Systems, methods and apparatus for cache transfers
US9612966B2 (en) 2012-07-03 2017-04-04 Sandisk Technologies Llc Systems, methods and apparatus for a virtual machine cache
TWI484333B (zh) * 2012-07-12 2015-05-11 Phison Electronics Corp 彈性緩衝器模組及傳輸介面之彈性緩衝方法
KR102002921B1 (ko) 2012-12-05 2019-07-23 삼성전자주식회사 버퍼 운영 방법 및 그에 따른 반도체 저장 장치
US9842053B2 (en) 2013-03-15 2017-12-12 Sandisk Technologies Llc Systems and methods for persistent cache logging
CN103309745B (zh) * 2013-04-19 2017-04-05 无锡成电科大科技发展有限公司 云架构的虚拟资源配置的方法及装置
KR101897624B1 (ko) 2016-01-19 2018-10-04 서울대학교산학협력단 이종 시스템에서의 데이터 분배 기법
WO2017126924A1 (ko) * 2016-01-19 2017-07-27 서울대학교 산학협력단 이종 시스템에서의 데이터 분배 기법
US11868652B2 (en) * 2021-02-25 2024-01-09 SK Hynix Inc. Utilization based dynamic shared buffer in data storage system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08147218A (ja) * 1994-11-24 1996-06-07 Fujitsu Ltd キャッシュ制御装置
JP2002342163A (ja) * 2001-05-15 2002-11-29 Fujitsu Ltd マルチスレッドプロセッサ用キャッシュ制御方式
JP2004178571A (ja) * 2002-11-11 2004-06-24 Matsushita Electric Ind Co Ltd キャッシュ制御装置、キャッシュ制御方法、コンピュータシステム
JP2007299423A (ja) * 2003-11-12 2007-11-15 Matsushita Electric Ind Co Ltd キャッシュメモリおよびその制御方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6542926B2 (en) * 1998-06-10 2003-04-01 Compaq Information Technologies Group, L.P. Software partitioned multi-processor system with flexible resource sharing levels
US7065630B1 (en) * 2003-08-27 2006-06-20 Nvidia Corporation Dynamically creating or removing a physical-to-virtual address mapping in a memory of a peripheral device
US7624240B1 (en) * 2006-10-17 2009-11-24 Vmware, Inc. Separate swap files corresponding to different virtual machines in a host computer system
JP4476307B2 (ja) 2007-03-26 2010-06-09 株式会社日立製作所 仮想計算機システム及びプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08147218A (ja) * 1994-11-24 1996-06-07 Fujitsu Ltd キャッシュ制御装置
JP2002342163A (ja) * 2001-05-15 2002-11-29 Fujitsu Ltd マルチスレッドプロセッサ用キャッシュ制御方式
JP2004178571A (ja) * 2002-11-11 2004-06-24 Matsushita Electric Ind Co Ltd キャッシュ制御装置、キャッシュ制御方法、コンピュータシステム
JP2007299423A (ja) * 2003-11-12 2007-11-15 Matsushita Electric Ind Co Ltd キャッシュメモリおよびその制御方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013527516A (ja) * 2010-03-26 2013-06-27 バーチャルメトリックス・インコーポレイテッド コンピュータシステムの細粒度パフォーマンスリソース管理
JP2013016015A (ja) * 2011-07-04 2013-01-24 Fujitsu Semiconductor Ltd メモリアクセス制御装置、及びメモリアクセス制御方法
JP2015036873A (ja) * 2013-08-13 2015-02-23 富士通株式会社 キャッシュメモリ制御プログラム,キャッシュメモリを内蔵するプロセッサ及びキャッシュメモリ制御方法
WO2017013701A1 (ja) * 2015-07-17 2017-01-26 株式会社日立製作所 計算機システム及びデータベース管理方法
JPWO2017013701A1 (ja) * 2015-07-17 2018-03-22 株式会社日立製作所 計算機システム及びデータベース管理方法
US11321302B2 (en) 2015-07-17 2022-05-03 Hitachi, Ltd. Computer system and database management method
KR101813245B1 (ko) * 2016-07-27 2017-12-28 주식회사 한컴엠디에스 모니터링 데이터 수집 시스템

Also Published As

Publication number Publication date
JP5040773B2 (ja) 2012-10-03
US8190795B2 (en) 2012-05-29
US20090248922A1 (en) 2009-10-01

Similar Documents

Publication Publication Date Title
JP5040773B2 (ja) メモリバッファ割当装置およびプログラム
JP5744909B2 (ja) アクセラレータ・リソースを動的に管理するための方法、情報処理システム、およびコンピュータ・プログラム
JP2009528610A (ja) タスクの実行フェーズに基づいてキャッシュパーティションを動的にリサイズする方法及び装置
CA2463748A1 (en) Method and apparatus for dispatching tasks in a non-uniform memory access (numa) computer system
KR101356033B1 (ko) 하이브리드 주메모리 시스템 및 이를 위한 태스크 스케줄링 방법
JP2007257097A (ja) 仮想計算機システム及びその物理リソース再構成方法並びにプログラム
JP6296678B2 (ja) ソフトリアルタイムオペレーティングシステムの実時間性を確保する方法及び装置
JP2004110795A (ja) 二層マルチスレッド化構造で最適パフォーマンスのためにスレッドの置き換えを実施する方法および装置
KR20080023358A (ko) 스케줄 제어 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체 및 스케줄 제어 방법
CN111897647B (zh) 一种多核系统中多线程调度方法、装置及设备
US10725940B2 (en) Reallocate memory pending queue based on stall
KR101140914B1 (ko) 컴퓨팅 자원들을 제어하는 기술
KR101392584B1 (ko) 리소스 모니터링을 이용한 동적 데이터 처리 장치 및 그 방법
Xu et al. Prophet: Scheduling executors with time-varying resource demands on data-parallel computation frameworks
Gifford et al. Dna: Dynamic resource allocation for soft real-time multicore systems
US20220237016A1 (en) Apparatus for determining resource migration schedule
WO2014141419A1 (ja) 仮想計算機システムおよびスケジューリング方法
JP7221585B2 (ja) 情報処理装置、情報処理システム、情報処理装置制御方法及び情報処理装置制御プログラム
JP6135392B2 (ja) キャッシュメモリ制御プログラム,キャッシュメモリを内蔵するプロセッサ及びキャッシュメモリ制御方法
KR101848418B1 (ko) 불균일 기억 장치 접근(numa) 구조에서 메모리 정책기반 쓰레드 재배치 방법
JP2010282550A (ja) 仮想計算機システム及びその物理資源の割当方法
JP7367365B2 (ja) タスク実行管理装置、タスク実行管理方法、および、タスク実行管理プログラム
JP6969268B2 (ja) 計算機およびcpuコア割当方法
JP2022550064A (ja) マルチスレッドマイクロプロセッサにおける共有リソース割り当て
Sawamura et al. Evaluating the impact of memory allocation and swap for vertical memory elasticity in VMs

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090227

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101216

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101216

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120312

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120327

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120528

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120625

R150 Certificate of patent or registration of utility model

Ref document number: 5040773

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150720

Year of fee payment: 3