JP5039029B2 - 動的論理パーティショニングによるコンピューティング環境におけるコンピュータ・メモリの管理 - Google Patents

動的論理パーティショニングによるコンピューティング環境におけるコンピュータ・メモリの管理 Download PDF

Info

Publication number
JP5039029B2
JP5039029B2 JP2008509450A JP2008509450A JP5039029B2 JP 5039029 B2 JP5039029 B2 JP 5039029B2 JP 2008509450 A JP2008509450 A JP 2008509450A JP 2008509450 A JP2008509450 A JP 2008509450A JP 5039029 B2 JP5039029 B2 JP 5039029B2
Authority
JP
Japan
Prior art keywords
page
page frame
lmb
contents
copying
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
JP2008509450A
Other languages
English (en)
Other versions
JP2008541214A5 (ja
JP2008541214A (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 JP2008541214A publication Critical patent/JP2008541214A/ja
Publication of JP2008541214A5 publication Critical patent/JP2008541214A5/ja
Application granted granted Critical
Publication of JP5039029B2 publication Critical patent/JP5039029B2/ja
Expired - Fee Related 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/109Address translation for multiple virtual address spaces, e.g. segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • 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
    • 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]
    • G06F12/1036Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] for multiple virtual address spaces, e.g. segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device

Landscapes

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

Description

本発明は、データ処理に関し、より詳細には、動的論理パーティショニングによりコンピュータ内でコンピュータ・メモリを管理する方法、システム、および製品に関する。
1948年のEDVACコンピュータ・システムの開発は、しばしばコンピュータ時代の幕開けとして引用される。それ以来、コンピュータ・システムは、極めて複雑な機器へと発展してきた。今日のコンピュータは、EDVACのような初期のシステムに比べてはるかに高度化している。コンピュータ・システムは通例、ハードウェア構成要素およびソフトウェア構成要素、アプリケーション・プログラム、オペレーティング・システム、プロセッサ、バス、メモリ、入出力装置等の組合せを備える。半導体処理とコンピュータ・アーキテクチャの進歩によりコンピュータの性能がますます高まるのに伴い、向上したハードウェアの性能を活用すべくより高度なコンピュータ・ソフトウェアが発展し、その結果、わずか数年前に比べてもはるかに高性能な現在のコンピュータ・システムがもたらされた。
現在、プロセッサの数、入出力(「I/O」)スロットの数、およびメモリ・サイズの点で次第に大規模化しつつあるシステムを開発する傾向が見られる。コンピュータ・ハードウェア設計の進歩により、こうした物理資源の規模が急速に増大し続けているが、一部の主要アプリケーションおよびサブシステムは、スケーラビリティの点で遅れをとっている。そのため、基礎となるコンピュータ・システム自体が機能の粒度を提供するように、物理パーティションまたは論理パーティションによるパーティショニングを備えたシステムを提供する傾向が見られる。物理パーティションは、通例は比較的粗いパーティショニングの粒度を提供する。これは、パーティショニングが、マルチチップ・モジュール(「MCM」)、バックプレーン、ドータ・ボード、マザー・ボード、あるいはその他のシステム・ボード等の物理的境界で行われるためである。論理的にパーティショニングされたシステムでは、1つのCPU、さらには1つのCPUを分割した単位(fraction)、小さなメモリ・ブロック、またはI/Oバス全体ではなく1つのI/Oスロット等、パーティショニングの粒度は、物理パーティションに比べてはるかに細かい。論理パーティショニングでは、所与のコンピュータ資源のセットを物理パーティションに比べて多くの論理パーティションに再分割することができる。
論理パーティションLPAR(「LPAR」)は、オペレーティング・システム(「O/S」)のインスタンスをホストすることが可能なコンピュータ資源のサブセットである。LPARは、特殊なハードウェア・レジスタと、ハイパーバイザと称される信頼できるファームウェア・コンポーネントを通じて実装される。これらのコンポーネントは連携して、各論理パーティションの周囲に強固なアーキテクチャ上の“ボックス”を構築し、そのパーティションに割り当てられたプロセッサ、メモリ、およびI/O資源の排他的なセットにパーティション動作を制限する。現在、コンピュータ・システムがますます大規模になるのに伴い、各O/Sインスタンスとそのサブシステムが良好にスケーリングあるいは機能し、ハードウェアの最適な使用を支援し、結果としてコスト節減につながるように、所与のハードウェア・システム上で数個のオペレーティング・システム・インスタンスを実行できることが、 。静的パーティショニングは、全体的なシステム性能を調整する助けとなるが、現在の論理的にパーティションされたシステムは、リブートを必要とせずに、ハードウェア資源、プロセッサ、メモリ、I/Oスロット等をLPARに、またはLPARから移動する、あるいは1つのLPARから別のLPARに移動することを可能にする、「動的再構成」機能も提供することができる。動的再構成は、作業量の需要に合わせて、必要とするO/Sにハードウェア資源を適時に動的に移動する能力を提供することにより、改良された解決を可能にする。
しかし、現在の一般的な動的再構成ツールは、LPAR内でのハイパーバイザとオペレーティング・システムの協調あるいは連携に依拠しており、これは、いくつかの欠点を持つコンピュータ動作のパターンである。例えば、メモリを動的に再構成する際に、O/Sが固定された(bolted or pinned)ページ・フレームを保持し、それを解放しない場合がある。同一のシステム上で、多種のオペレーティング・システムが同時に別個のLPARで動作することが可能である。例えば、IBMのPOWER(商標)ハイパーバイザは、3つの異なるオペレーティング・システムをサポートする。サポートされるオペレーティング・システムの1つまたは複数が、そのようなハイパーバイザとの協調に必要とされる機能に単に対応しない場合がある。また、協調方式では、逸脱したあるいは悪意のあるO/Sインスタンスが、全く協働しない場合があるだけでなく、実際に効率的なコンピュータ資源管理にとって害になる形で動作する可能性があるため、メモリの管理がはるかに複雑になる。
論理パーティション内のオペレーティング・システムに対して透過に動作する、動的論理パーティショニングによりコンピュータ内のコンピュータ・メモリを管理する方法、システム、および製品が提供される。論理パーティション(「LPAR」)の1つの論理メモリ・ブロック(「LMB」)内のページ・フレームからそのLMBの外にあるページ・フレームに、該LPAR内のオペレーティング・システムのためのページ・テーブルにページ・フレーム番号を有するページ・フレームの内容をハイパーバイザによってコピーすることを含む、動的論理パーティショニングによりコンピュータ内のコンピュータ・メモリを管理する例示的方法、システム、および製品が記載される。
本発明の実施形態は、典型的には、新しいページ・フレーム番号をページ・テーブルに格納することを含み、これは、内容がコピーされるページ・フレームごとに、内容がコピーされる先のページ・フレームを識別する新しいページ・フレーム番号をハイパーバイザによって格納することを含む。典型的な実施形態では、ページ・フレームの内容をコピーすることと、新しいページ・フレーム番号を格納することは、オペレーティング・システムに対して透過に行われる。
典型的な実施形態は、ページ・テーブルにあるすべてのページ・フレームのリストをハイパーバイザによって作成することと、ハイパーバイザがページ・フレームの内容をコピーし、新しいページ・フレーム番号を格納する間、ページ・テーブルにページ・フレームを追加する、ハイパーバイザへのオペレーティング・システムからの呼び出しをハイパーバイザによって監視することと、ページ・テーブルに追加されたページ・フレームをリストに追加することとも含み、ページ・フレームの内容をコピーすることは、リストにあるページ・フレームの内容をコピーすることによって行われる。
一部の実施形態では、2つ以上のサイズのメモリ・ページが、1つのLMBのページ・フレームにマッピングされる。そのような実施形態は典型的には、メモリ管理割り込みをオペレーティング・システムからハイパーバイザにベクトルすることと、オペレーティング・システムのためのメモリ管理動作を、オペレーティング・システムのページ・テーブルから一時的な代替ページ・テーブルに切り替えることを含む。そのような実施形態では、ページ・フレームの内容をコピーすることは、典型的には、LMBのページ・フレームにマッピングされたページの中で最も小さいページと同じサイズのセグメント単位でページ・フレームの内容をコピーすることによって行われる。そのような実施形態におけるページ・フレームの内容をコピーすることは、オペレーティング・システムのページ・テーブルにもあるページ・フレームを一時的な代替ページ・テーブルから削除し、そのような削除されたページ・フレームの状態ビットを、オペレーティング・システムのページ・テーブルに格納することによって行われることができる。
一部の実施形態では、LMBのページ・フレームは、ダイレクト・メモリ・アクセス(「DMA」)のためにマッピングされる場合がある。そのような実施形態におけるページ・フレームの内容をコピーすることは、DMAのためにマッピングされたページ・フレームの内容をコピーする間、ハイパーバイザによりDMA動作を阻止することと、内容がコピーされる先のページ・フレームを識別する新しいページ・フレーム番号を、DMAのためにマッピングされたLMBの各ページ・フレーム用のDMAマップ・テーブルに格納することとを含むことができる。
実施形態は、LMBよりも大きく、かつページ・テーブルを収容するのに十分な大きさの連続した空きメモリのセグメントを作成することを含むことができる。連続した空きメモリのセグメントを作成することは、2つ以上の連続したLMBについて、以下のステップをハイパーバイザにより繰り返し実行することによって達成されることができる:該LMB内のページ・フレームから該LMBの外のページ・フレームに、LPAR内のオペレーティング・システムのためのページ・テーブルにある該LMBのページ・フレームの内容をハイパーバイザによってコピーするステップと、新しいページ・フレーム番号をページ・テーブルに格納するステップであって、内容がコピーされるページ・フレームごとに、内容がコピーされる先のページ・フレームを識別する新しいページ・フレーム番号をハイパーバイザによって格納することを含むステップと、システムの空きメモリ・リストに該LMBを追加するステップ。
実施形態は、プロセッサに対するLMBのアフィニティを向上させることも含むことができる。そのような実施形態では、LMBのページ・フレームの内容をコピーすることは、LMBのページ・フレームの内容を、該LMBの外にある暫定ページ・フレームにコピーすることと、第2のLMBのページ・フレームの内容を該LMBのページ・フレームにコピーすることと、暫定ページ・フレームの内容を第2のLMBのページ・フレームにコピーすることを含むことができる。そのような実施形態では、新しいページ・フレーム番号を格納することは、LMBの内容と第2のLMBの内容の両方について、内容がコピーされる先のページ・フレームを識別する新しいページ・フレーム番号を格納することを含むことができる。
本発明の前述の特徴およびその他の特徴と効果は、添付図面に図示される、以下の本発明の例示的実施形態のより詳細な説明から明らかになろう。(添付図面では、同様の参照符号は、概ね、本発明の例示的実施形態の同様の部分を表す。)
本発明の実施形態に係る、動的論理パーティショニングによりコンピュータ内でコンピュータ・メモリを管理する例示的方法、システム、および製品について、添付図面を図1から参照して説明する。本発明による、動的論理パーティショニングによるコンピュータ内のコンピュータ・メモリの管理は、一般に、自動計算機、すなわちコンピュータを用いて実施される。したがって、さらに説明するために、図1に、本発明の実施形態に係る、動的論理パーティショニングによりコンピュータ・メモリを管理するための例示的コンピュータ(152)を備える、自動計算機のブロック図を示す。図1のコンピュータ(152)は、少なくとも1つのコンピュータ・プロセッサ(156)あるいは「CPU」と、システム・バス(160)を通じてプロセッサ(156)および他のコンピュータ構成要素に接続されたランダム・アクセス・メモリ(168)(「RAM」)とを備える。実際的事項として、本発明の実施形態に係る動的論理パーティショニングによりコンピュータ内でコンピュータ・メモリを管理するシステムは、通例、2つ以上のコンピュータ・プロセッサを備える。図1の例におけるRAM(168)は、論理メモリ・ブロックあるいは「LMB」(101〜110)と呼ばれるセグメントで管理される。
RAM(168)には、実行のスレッドを実装するユーザレベルのデータ処理のためのコンピュータ・プログラム命令であるアプリケーション・プログラム(158)が格納される。RAM(168)には、本発明の実施形態に係る、動的論理パーティショニングによりコンピュータ内でコンピュータ・メモリを管理するために改良されたLPARで資源を管理するためのコンピュータ・プログラム命令のセットである、ハイパーバイザ(102)も格納される。RAM(168)には、オペレーティング・システム(154)も格納される。本発明の実施形態に係るコンピュータで有用なオペレーティング・システムには、Unix(登録商標)(R)、Linux(商標)、Microsoft NT(商標)、AIX(商標)、IBMのi5/OS(商標)、および当業者が着想するその他のオペレーティング・システムがある。オペレーティング・システム(154)およびアプリケーション・プログラム(158)は、LPAR(450)に配置される。図1の例のオペレーティング・システム(154)、アプリケーション・プログラム(158)、およびハイパーバイザ(102)はRAM(168)の中に図示するが、読者は、このようなソフトウェアのコンポーネントは、不揮発性メモリ(166)に格納してもよいことを理解されよう。
図1のシステムは、動的論理パーティショニングをサポートし、一般には、ある論理パーティション(「LPAR」)の1つの論理メモリ・ブロック(「LMB」)にあるページ・フレームからそのLMBの外にあるページ・フレームに、該LPAR内のオペレーティング・システム用のページ・テーブルにページ・フレーム番号を有するページ・フレームの内容をハイパーバイザ(102)によってコピーし、そのページ・テーブルに新しいページ・フレーム番号を格納することにより、コンピュータ・メモリを管理するように動作することが可能であり、格納することは、内容がコピーされるページ・フレームごとに、内容がコピーされる先のページ・フレームを識別する新しいページ・フレーム番号をハイパーバイザによって格納することを含む。図1のシステムでは、ページ・フレームの内容のコピーと、新しいページ・フレーム番号の格納は、オペレーティング・システム(154)に対して透過に実施されることができる。
図1のコンピュータ(152)は、システム・バス(160)を通じてプロセッサ(156)およびコンピュータ(152)の他の構成要素と結合された不揮発性コンピュータ・メモリ(166)を備える。不揮発性コンピュータ・メモリ(166)は、ハード・ディスク・ドライブ(170)、光ディスク・ドライブ(172)、電気的に消去可能なプログラム可能読み取り専用メモリ空間(いわゆる「EEPROM」あるいは「Flash」メモリ)(174)、RAMドライブ(図示せず)、あるいは当業者が着想する任意の他種のコンピュータ・メモリとして実装されることが可能である。
図1の例示的コンピュータは、1つまたは複数のI/Oインタフェース・アダプタ(178)を備える。コンピュータ内の入出力インタフェース・アダプタは、例えば、コンピュータ・ディスプレイ画面等の表示装置(180)への出力、ならびにキーボードやマウス等のユーザ入力装置(181)からのユーザ入力を制御するソフトウェア・ドライバおよびコンピュータ・ハードウェアを通じて、ユーザ対象の入出力を実装する。I/Oアダプタと連携して入出力を実装するI/Oハードウェア資源を本明細書では一般に「I/Oスロット」と称する。
図1の例示的コンピュータ(152)は、データ通信を実装するための通信アダプタ(167)を備える。そのようなデータ通信は、RS−232接続、USB等の外部バス、IPネットワーク等のデータ通信ネットワークを通じて、また当業者に着想される他の方式でシリアルに実施されることができる。通信アダプタは、1台のコンピュータが別のコンピュータに、直接またはネットワークを通じてデータ通信を送信するためのハードウェア・レベルのデータ通信を実装する。本発明の実施形態に係る通信先の可用性を判定するのに有用な通信アダプタの例には、有線のダイヤルアップ通信用のモデム、有線ネットワーク通信用のEthernet(登録商標)(R)(IEEE802.3)アダプタ、および無線ネットワーク通信用の802.11bアダプタがある。
さらに説明するために、図2に、本発明の実施形態に係る動的論理パーティショニングによりコンピュータ・メモリを管理するためのさらなる例示的コンピュータ(152)のブロック図を示す。図2は、本発明の実施形態に係る、動的論理パーティショニングによりコンピュータ内のコンピュータ・メモリを管理するシステムにおける物理メモリの管理をさらに説明する構成となっている。図2のシステムの物理メモリは、マルチチップ・モジュール(「MCM」)(202)内のメモリ・チップ(204)にプロセッサ・チップとともに配置されている。そして、MCMは、バックプレーン(206、208)に実装され、バックプレーンは、システム・バス(160)を通じてデータ通信のために結合されている。バックプレーンのMCMは、バックプレーン・バス(212)を通じてデータ通信のために結合され、MCMのプロセッサ・チップとメモリ・チップは、MCM(222)(MCM(221)の図示を拡大したもの)に参照符号(210)で示すMCMバスを通じてデータ通信のために結合されている。
マルチチップ・モジュールあるいは「MCM」は、1つの基板に組み立てられた2つ以上のベア集積回路(ベア・ダイ)または「チップサイズ・パッケージ」を備える電子システムまたは電子サブシステムである。図2の例では、MCMにあるチップは、コンピュータ・プロセッサとコンピュータ・メモリである。基板は、例えば、プリント回路基板、相互接続パターンを備えた厚膜または薄膜セラミックまたはシリコンである。基板は、MCMパッケージの一体部分であっても、またはMCMパッケージの中に実装してもよい。MCMは、特定用途向け集積回路(「ASIC」)とプリント回路基板の間のパッケージ・レベルを表すため、コンピュータ・ハードウェア・アーキテクチャにおいて有用である。
図2のMCMは、ハードウェア・メモリの分離あるいは「アフィニティ(affinity)」のレベルを表す。MCM(222)のプロセッサ(214)は、以下の場所にある物理メモリにアクセスすることができる。
・メモリ・チップにアクセスするプロセッサ(214)と同じMCMにあるメモリ・チップ(216)
・同じバックプレーン(208)の別のMCMにあるメモリ・チップ(218)、または
・別のバックプレーン(206)の別のMCMにあるメモリ・チップ(220)。
MCM外のメモリへのアクセスは、プロセッサと同じMCMにあるメモリにアクセスするのに比べて時間がかかる。これは、そのようなメモリにアクセスし、そのようなメモリからデータを返すためのコンピュータ命令が、それ自体が現在の計算速度における問題点となるバス・ランドと導線の長さは無論のこと、より多くのコンピュータ・ハードウェア、メモリ管理ユニット、バス・ドライバを経由しなければならないからである。同じバックプレーン外のメモリにアクセスすることも、同じ理由でさらに長い時間がかかる。したがって、それにアクセスするプロセッサと同じMCMにあるメモリは、そのMCM外のメモリよりも近いアフィニティを有すると言え、また、それにアクセスするプロセッサと同じバックプレーンにあるメモリは、別のバックプレーンにあるメモリよりも近いアフィニティを持つと言える。上記のように説明したコンピュータ・アーキテクチャは、説明のためであり、コンピュータ・メモリを制限するものではない。例えば、プリント回路基板に数個のMCMを装着し、そのプリント回路基板をバックプレーンに接続することにより、図2には示さないさらなるアフィニティ・レベルを作り出すことができる。当業者に着想されるコンピュータ・アーキテクチャの他の態様が、プロセッサとメモリのアフィニティに影響を与える可能性があり、そのような態様はすべて、本発明の実施形態に係る動的論理パーティショニングによるメモリ管理の範囲に包含される。
さらなる説明のために、図3に、本発明の実施形態に係る、コンピュータ・メモリを管理する、動的論理パーティショニングを用いたさらなる例示的コンピュータ・システムのブロック図を示す。上述のように、論理パーティショニングは、1台のコンピュータで複数の独立したオペレーティング・システム・イメージを同時に実行できるようにすることにより、柔軟性を提供するコンピュータ設計機能である。
図3のシステムは、ハイパーバイザ(102)、ならびに、LPAR(450、452、454)でアプリケーション・ソフトウェアの複数の実行スレッド(302)を実行することができる3つのプロセッサ(156)および3つのオペレーティング・システム(154)を備える。3つの例の使用は説明のためであり、制限ではない。実際、当業者は、ここで説明するようなシステムは、任意数のLPAR、オペレーティング・システム、プロセッサ、およびスレッドを動作させることが可能であり、その数はシステム内の物理資源の実際の量のみによって制限されることを認識されよう。スレッド(302)は、仮想アドレス空間に編成された仮想メモリ・アドレスで動作する。プロセッサ(156)は、実アドレス空間に編成された物理メモリにアクセスする。
各オペレーティング・システム・イメージ(154)は、実アドレス指定モードでアクセスすることが可能なある範囲のメモリを必要とする。このモードでは、仮想アドレス変換は行われず、アドレスはアドレス0から開始する。オペレーティング・システムは通例、起動カーネル・コード、固定カーネル構造、および割り込みベクトルにこのアドレス範囲を用いる。物理アドレス0の同じメモリ範囲を複数のパーティションが共有することは許可できないので、各LPARは、それ自身の実モード・アドレス指定範囲を持たなければならない。
ハイパーバイザは、各LPARに、一意の実モード・アドレス・オフセットと範囲値を割り当て、次いでパーティションの各プロセッサのレジスタにそれらのオフセット値と範囲値を設定する。これらの値は、そのパーティションに排他的に割り当てられた物理メモリのアドレス範囲に対応する。パーティション・プログラムが実アドレス指定モードで命令およびデータにアクセスすると、ハードウェアは自動的に、実モードのオフセット値を各アドレスに足してから、物理メモリにアクセスする。このようにして、各論理パーティション・プログラミング・モデルは、アドレスが別のアドレス範囲に透過にリダイレクトされているにも関わらず、物理アドレス0へのアクセス権を有するように見える。ハードウェア論理が、それらのパーティションで実行されているオペレーティング・システム・コードによるそれらレジスタの変更を阻止する。割り当てられた範囲の外の実アドレスにアクセスしようとすると、必ずアドレス指定例外割り込みが発生し、この割り込みは、そのパーティションのオペレーティング・システムの例外ハンドラによって処理される。
オペレーティング・システムは、別のタイプのアドレス指定である仮想アドレス指定を用いて、システム内に設置された物理メモリの量を上回る有効アドレス空間をユーザ・アプリケーションのスレッドに与える。オペレーティング・システムは、使用頻度の低いプログラムおよびデータをメモリからディスクにページングし、要求時にそれらを物理メモリに戻すことによってこれを行う。
アプリケーションが仮想アドレス指定モードで命令およびデータにアクセスする際、アプリケーションは、それら命令およびデータのアドレスが、ページ変換テーブル(416)を使用して仮想メモリ管理によって変換されていることを意識しない。本明細書では一般に「ページ・テーブル」と称するこのテーブルは、システム・メモリに常駐し、各パーティションは、パーティションに代わってハイパーバイザによって管理される、独自の排他的なページ・テーブルを有する。プロセッサは、(ハイパーバイザへの呼び出しを介して)このテーブルを用いて、プログラムの仮想アドレス(424)を、そのページが物理メモリにマッピングされている物理アドレス(422)に透過に変換する。スレッドがメモリのページにアクセスする時に、そのページ・フレームが物理メモリからディスクに移動されていた場合、オペレーティング・システムは、ページ・フォルトを受け取る。
非LPAR動作では、オペレーティング・システムが直接ページ・テーブル・エントリを作成および維持し、実モード・アドレス指定を用いてそのテーブルにアクセスする。論理パーティショニング動作では、ページ変換テーブルは、ハイパーバイザからのみアクセス可能な、確保された物理メモリ領域に置かれる。すなわち、あるパーティションのページ・テーブルは、そのパーティションの実モード・アドレス範囲の外に置かれる。そのプロセッサのページ・テーブルの物理アドレスをプロセッサに提供するレジスタは、ハイパーバイザのみによって変更されることができる。
仮想アドレスは、仮想ページ番号(424)と仮想ページ内のオフセットの組合せとして実装される。実アドレスは、実メモリのページを識別するページ・フレーム番号(422)とそのページ内のオフセットの組合せとして実装される。仮想アドレスのオフセットは、その仮想アドレスがマッピングされた実アドレスのオフセットでもある。ページ・テーブルは、仮想アドレスを実アドレスにマッピングするが、オフセットが等しいため、ページ・テーブルは、仮想ページ番号とそれに対応するページ・フレーム番号のみでマッピングする。オフセットは、ページ・テーブルには含まれない。
オペレーティング・システム(154)は、ページ変換マッピングを作成する必要があるとき、プロセッサ(156)でハイパーバイザ(102)への呼び出しを実行し、プロセッサ(156)がハイパーバイザに実行を転送する。ハイパーバイザは、そのパーティションのためにページ・テーブル・エントリを作成し、そのエントリをページ・テーブルに格納する。スレッドも、ハイパーバイザ呼び出しを行って、既存のページ・テーブル・エントリを修正または削除することができる。ページ・テーブル・エントリは、論理メモリ・ブロックあるいは「LBM」と称される専用の物理メモリ領域のみにマッピングされ、LMBは、粗いセグメントで各LMBに割り当てられる。このLMBは、LPARの仮想ページ・アドレス空間をバックアップする物理メモリを提供する。したがって、LPARのメモリは、一般には、物理メモリ内に任意の順序で任意の場所から割り当てることが可能なLMBから構成される。
I/Oハードウェアは、ダイレクト・メモリ・アクセス(「DMA」)動作を用いて、I/Oスロット(407)のI/Oアダプタと、システム・メモリのページ・フレーム(406)の間でデータを移動する。DMA動作は、ページ・テーブルと同様のアドレス再配置の仕組みを用いる。I/Oハードウェアは、I/Oスロット内のI/Oデバイスによって生成されたアドレス(425)を物理メモリ・アドレスに変換する。I/Oハードウェアは、変換制御エントリ(「TCE」)テーブルと称されることもある、物理メモリに格納されたDMAマップ(650)を用いてこの変換を行う。ページ・テーブルと同様に、DMAマップは、パーティションからはアクセスできず、ハイパーバイザからのみアクセス可能なシステム・メモリの物理アドレス領域に常駐する。パーティション・プログラムは、ハイパーバイザ・サービスを呼び出すことにより、そのパーティションに割り当てられたI/Oスロット用のDMAマップ・エントリを作成、修正、または削除することができる。I/OハードウェアがI/OアダプタのDMAアドレスを物理メモリに変換すると、その変換の結果得られるアドレスは、そのパーティションに割り当てられた物理メモリ空間内にある。
さらに説明するために、図4に、ページ・テーブルにあるすべてのページ・フレームのリスト(436)をハイパーバイザにより作成する(426)ことを含む、本発明の実施形態に係る動的論理パーティショニングによりコンピュータ内のコンピュータ・メモリを管理する例示的方法を説明するフロー・チャートを示す。本発明の実施形態に係る有利なメモリ管理機能の実行は、比較的迅速に行われて、過剰なメモリ・フォルトを発生させる危険性と、ユーザ・アプリケーションにおける実行スレッドの視点から見た遅延を低減させる。マッピングされたページを探して大きなデータ構造であるページ・テーブルを探索することは、時間を要する。実際のメモリ管理動作を行うときには、迅速にアクセス可能な構造で記憶された、影響を受けるページ・フレームの簡潔なリストがあることが望ましい。そのようなリストは、リストが生成(assemble)されるまで、例えばバックグラウンドで別個に実行されるハイパーバイザ・プロセスによって構築されることができる。したがって、図4の方法は、ハイパーバイザがページ・フレームの内容をコピーし、新しいページ・フレーム番号を格納する間、ページ・テーブル(416)にページ・フレームを追加する、ハイパーバイザへのオペレーティング・システムからの呼び出しをハイパーバイザによって監視する(428)ことを有利に含む。図4の方法は、ページ・テーブルに追加されたページ・フレームをリスト(436)に追加する(430)ことも含む。
図4の方法は、LPARの1つのLMB(402)にあるページ・フレーム(406)からそのLMB(402)の外にあるページ・フレーム(412)に、該LPAR(450)内のオペレーティング・システム(432)用のページ・テーブル(416)にページ・フレーム番号(422)を有するページ・フレームの内容を、ハイパーバイザによってコピーする(408)ことを含む。LMB(404)を点線の輪郭で示しているのは、影響を受けるすべてのページ・フレームはLMBで編成されているが、メモリ管理動作の対象となるLMB(402)の外にあるページ・フレーム(412)の場所は、対象LMB(402)にない限り問題にならないことを強調するためである。図4の方法では、上述のように、ページ・フレームの内容のコピー(408)は、リスト(436)にあるページ・フレームの内容をコピーする(434)ことによって実行される。図4の方法は、新しいページ・フレーム番号をページ・テーブル(418)に格納する(410)ことも含み、これは、内容がコピーされるページ・フレームごとに、内容がコピーされる先のページ・フレームを識別する新しいページ・フレーム番号をハイパーバイザによって格納することを含む。
こうしたメモリ管理動作の効果がページ・テーブル(416、418)で示される。ページ・テーブル(416、418)は、図4の方法によるメモリ管理動作の前(416)と後(418)とが図示される同じページ・テーブルである。メモリ管理動作の前、ページ・テーブルは、仮想ページ番号346、347、348を、LMB(402)に配置されたページ・フレーム592、593、594にマッピングしている。図4の例におけるメモリ管理動作の後、ページ・テーブルは、仮想ページ番号346、347、348を、LMB(402)の外に配置されたページ・フレーム743、744、745にマッピングしている。ページ・フレーム592、593、594の内容が、ページ・フレーム743、744、745に、移動されるのではなくコピーされたので、ページ・フレーム592、593、594の内容は影響を受けない。しかし、以前にそれらのページ・フレームにマッピングされていた仮想ページは、現在はいずれか他のページ・フレームにマッピングされている。これは、LMB(402)のページ・フレームを他の用途のために実質上解放する。それらのページ・フレームは、空きページ・フレームとしてリストされる、新しいLPAR用の大きなページ・テーブルをインストールするために用いる、プロセッサとメモリとのアフィニティを向上するために用いる、あるいは当業者に着想される他の形で用いることができる。
図4の方法では、ページ・フレームの内容のコピーと、新しいページ・フレーム番号の格納は、オペレーティング・システムに対して透過に行われる。オペレーティング・システムが再マッピングされた仮想ページの1つに次回アクセスした時にメモリ・フォルトが発生すると、LMB(404)の新しいページ・フレームにある物理メモリの内容は、図4の方法のメモリ管理動作が適用される前と同じ内容になる。図4の方法を実行するとき、ハイパーバイザは、資源の解放を要求してオペレーティング・システム(432)への呼び出しを行うことはなく、オペレーティング・システムは、ページ・テーブル・エントリが影響を受けたことを全く意識しない。
さらに説明するために、図5に、本発明の実施形態に係る動的論理パーティショニングによりコンピュータ内のコンピュータ・メモリを管理するさらなる例示的方法を説明するフロー・チャートを示し、この方法では、2つ以上のサイズのメモリ・ページが、LMB(402)のページ・フレーム(406)にマッピングされる。上述のように、LPARは2種以上のオペレーティング・システムをサポートすることができ、各タイプのオペレーティング・システムは、異なるページ・サイズをサポートする場合があり、また各オペレーティング・システムは、2つ以上のページ・サイズをサポートする場合がある。本発明の実施形態に係るメモリ管理機能の有利な実行は、比較的迅速に行われて、過剰なメモリ・フォルトを発生させる危険性と、ユーザ・アプリケーションにおける実行スレッドの視点から見た遅延を低減させる。小さなメモリ・ページの内容のコピーは、大きなページの内容をコピーするのに比べて高速である。したがって、図5の方法は、対象となるオペレーティング・システムが2つ以上のページ・サイズを使用するときには、小さなページ・サイズを用いてメモリのコピー動作を行う方式を有利に提供する。
図5の方法は、オペレーティング・システム(432)からハイパーバイザにメモリ管理割り込みをベクトルする(502)ことを含む。ハイパーバイザは、メモリ管理割り込みがハイパーバイザの割り込みベクトルに誘導されるように、プロセッサ・レジスタにビットを設定することにより、オペレーティング・システムからハイパーバイザにメモリ管理割り込みをベクトルする。この仕組みにより、ページ・フレームでコピー動作が進行中の時に、ハイパーバイザが、ハイパーバイザ内でプロセッサをブロックすることが可能になる。割り込みは、ハイパーバイザのレジスタ資源を用いてハイパーバイザに提示されるので、メモリ・フォルトは、オペレーティング・システムには透過である。
図5の例では、小さなページ・サイズを4KBとすると、オペレーティング・システム(432)は、2つのページ・サイズ、4KBと16KBを使用するものと示される。この事は、ページ・テーブル(416)では、16KBの仮想ページである仮想メモリ・ページ346が、4つの4KBのページ・フレーム、ページ・フレーム592、593、594、595にマッピングされていることで示される。他の4KBの仮想ページ347、348、349は、それぞれ一対一で4KBのページ・フレーム596、597、598にマッピングされる。図5の方法は、オペレーティング・システムのためのメモリ管理動作を、オペレーティング・システムのためのページ・テーブル(416)から一時的な代替ページ・テーブル(512)に切り替え(504)て、4KBのページ・フレームでのコピー動作のみをサポートし、ページ・テーブル(416)に存在するオペレーティング・システムからの大きなページの指示はすべて無視することを含む。図5の方法では、ページ・フレームの内容をコピーする(408)ことは、LMBのページ・フレームにマッピングされたページの中で最も小さいページと同じサイズのセグメント単位でページ・フレームの内容をコピーする(506)ことを含む。すなわち、ハイパーバイザは、4KBのセグメント単位でのみコピー動作を行い、これは4KBのページ・フレーム×4KBページ・フレームである。
メモリ管理割り込みが発生すると、ハイパーバイザは、オペレーティング・システムの実ページ・テーブルを参照して、そのパーティションの実ページ・テーブルが使用中であったならそのメモリ管理割り込みが発生したかどうかを調べる。発生した場合、ハイパーバイザは、メモリ管理割り込みベクトル OSに制御権を渡す。そうでない場合は、一時的な代替ページ・テーブルにページ・フレーム・エントリが挿入される(コピー動作が進行中でなければ)。
図5の方法では、ページ・フレームの内容をコピーする(408)ことは、オペレーティング・システムのページ・テーブルにもあるページ・フレームを、一時的な代替ページ・テーブル(512)から削除する(508)ことも含む。図5の方法では、ページ・フレームの内容をコピーする(408)ことは、そのような削除されたページ・フレームの状態ビットを、オペレーティング・システム(432)のページ・テーブル(416)に格納する(510)ことも含む。そのような削除されたページ・フレームの状態は、参照ビット(メモリ・フォルトにおけるLRU動作のため)および変更ビット(ページが書き込まれており、キャッシュから削除される時にディスクに再度保存しなければならないことを示す)によって示される。
さらに説明するために、図6に、本発明の実施形態に係る動的論理パーティショニングによりコンピュータ内のコンピュータ・メモリを管理するさらなる例示的方法を説明するフロー・チャートを示し、この方法では、LMB(402)のページ・フレーム(406)のうち少なくとも1つが、ダイレクト・メモリ・アクセス(「DMA」)のためにマッピングされる。図6の方法で、ページ・フレームの内容をコピーする(408)ことは、DMAのためにマッピングされたページ・フレーム(423)の内容をコピーする(660)間、DMA動作をハイパーバイザ(図示せず)によって阻止する(658)ことを含む。
図6の方法では、システムRAM(168)中のページ・フレームを通るDMAチャンネル(654)を通じて、データ・ストア(656)のためにディスクI/Oを実装するI/Oアダプタ(図示せず)を含むI/Oスロット(407)によってDMA動作が表される。システムRAMのページ・フレームは、DMAマップ(650)を通じてI/Oアドレスにマッピングされる。図6の方法で、ページ・フレームの内容をコピーする(408)ことは、DMAのためにマッピングされたページ・フレーム550を、LMB(402)の外のページ・フレーム(412)にコピーし(660)、内容がコピーされる先のページ・フレームを識別する新しいページ・フレーム番号を、DMAのためにマッピングされたLMBの各ページ・フレーム用のDMAマップ・テーブル(652)に格納する(662)ことを含む。
DMAマップ(650、652)は、図6の方法によるメモリ管理動作の効果を示す。DMAマップは、変換エントリ・テーブルあるいは「TCEテーブル」とも呼ばれるデータ構造であり、DMAマップの各エントリは、I/Oアドレス空間のアドレスを、システム物理メモリのページ・フレームにマッピングする。I/Oアドレス空間のアドレスは、例えば、I/OアダプタまたはPCI(Peripheral Component Interconnect)バス・アダプタのアドレス空間内のアドレスである。図6で、DMAマップ(650、652)は、それぞれ、図6の方法によるメモリ管理動作の前(650)と後(652)とで同じDMAマップである。図6の例では、I/Oアドレス(425)124は、初め、ページ・フレーム550にマッピングされている。図6の方法によりこのページに対するDMA動作を阻止し、DMAのためにマッピングされたページ・フレームをコピーし、新しいページ・フレーム番号をマップに格納した後、DMAマップ(652)は、ページ・フレーム725にマッピングされたI/Oアドレス124を示す。これは、LMB(402)のページ・フレーム550を他の用途のために実質上解放する。このページ・フレームは、空きページ・フレームとしてリストされる、新しいLPAR用の大きなページ・テーブルをインストールするために他のページ・フレームまたは他のLMBとともに用いられる、プロセッサとメモリのアフィニティを向上するために用いられる、あるいは当業者に着想される他の形で用いられることができる。
ページ・テーブルは通例、多くの場合LMBよりかなり大きい、大きなデータ構造である。システム管理者が、動的に(リブートせずに)新しいLPARを作成しようとする時、新しいLPARのためのページ・テーブルに利用できる連続したメモリが十分にない場合がある。したがって、本発明の実施形態に係る動的論理パーティショニングによるコンピュータ内のコンピュータ・メモリの管理は、LBMより大きく、かつページ・テーブルを収容するのに十分な大きさの連続した空きメモリのセグメントを作成することを有利に含むことができる。
さらなる説明のために、図7に、連続した空きメモリのセグメントを作成する例示的方法を説明するフロー・チャートを示し、この方法は、連続したLMB(401、402)内のページ・フレーム(406)からそれら連続したLMBの外のページ・フレーム(412)に、LPAR(450)内のオペレーティング・システム(432)のためのページ・テーブル(416)にある該連続したLMBのページ・フレームの内容を、ハイパーバイザによってコピーする(602)ことを含む。図7の方法は、新しいページ・フレーム番号をページ・テーブル(418)に格納する(604)ことを含み、これは、内容がコピーされるページ・フレームごとに、内容がコピーされる先のページ・フレームを識別する新しいページ・フレーム番号をハイパーバイザによって格納することを含む。
図7の方法は、LPAR(450)用の空きメモリのリスト(608)に該LMBを追加する(606)ことも含む。図7の例で、LPAR用の空きメモリのリスト(608)にLMBを追加すること(606)は、解放されたページ・フレームのページ・フレーム番号をフリー・リスト(608)に入れることによって行われる。あるいは、LMB内の先頭のページ・フレームのページ・フレーム番号をフリー・リストに掲載して、そのLMB全体が空いていることを示してもよい。解放されたメモリを示す他の方式は、当業者に着想されることができ、そのような方式はすべて本発明の範囲に包含される。
しばしば、ページ・テーブルの空間を作るために3つ以上の連続したLMBが解放されなければならないことがある。このため、図7の方法は、所定の必要なセグメント・サイズ(610)を参照して、解放されたメモリ・セグメントがページ・テーブルを格納するのに十分な大きさであるか、または空きメモリのための他の要件を満たすかどうかを判定する(609)ことを有利に含む。解放されたセグメントの大きさが十分でない場合、解放されたセグメントが十分な大きさになるまで、連続したLMBのページ・フレームの内容をそれら連続したLMBの外にあるページ・フレーム(412)にコピーし(602)、新しいページ・フレーム番号をページ・テーブル(418)に格納し(604)、LPARの空きメモリのリスト(608)にそのLMBを追加する(606)ステップを繰り返す(612)ことによって処理が進行する。
アクセス元のプロセッサに対する、アクセスされるメモリのアフィニティが低下するのに従い、全体的なシステム性能が劣化する。このため、本発明の実施形態に係る動的論理パーティショニングによりコンピュータ内のコンピュータ・メモリを管理することは、プロセッサに対するLMBのアフィニティを向上させることを有利に含むことができる。さらなる説明のために、図8に、プロセッサに対するLMBのアフィニティを向上させる例示的方法を説明するフロー・チャートを示す。図8の方法は、2つのLMB(402、403)についてのプロセッサとメモリのアフィニティに影響する。LMB(402、403)は、互いから離れて位置し、LMB(402)はMCM704に、LMB(403)はMCM(705)にある。上記のように、各MCMは、プロセッサとメモリを含んでいる。図8の方法は、ハイパーバイザ内で実行される。各MCMのプロセッサとメモリは、LPAR(図8には図示せず)のオペレーティング・システムにハイパーバイザによって割り当てられる。
図8の例では、プロセッサ(156)は、同じMCM(704)にあるLMB(402)に近いアフィニティを有し、別のMCM(705)にある、プロセッサ(156)に対して離れて位置するLMB(403)に対してはそれより少ないアフィニティを有する。同様に図8の例で、プロセッサ(157)は、同じMCM(705)にあるLMB(403)に近いアフィニティを有し、別のMCM(704)にある、プロセッサ(157)に対して離れて位置するLMB(402)に対してはそれより少ないアフィニティを有する。LMB(402)は、番号600〜699のページ・フレームを含み、LMB(403)は、ページ・フレーム800〜899を含む。LMBにおけるページ・フレームの割り当ては、説明のためであり、制限ではない。読者は、実際的事項として、LMBは、100をゆうに超えるページ・フレームを含むことを認識されよう。MCM(705)とMCM(704)は、図ではシステム・バス(160)を通じて結合されているが、読者は、このアーキテクチャは単にアフィニティを説明するためのものであり、本発明の制限ではないことを認識されよう。実際、離れたアフィニティは、別々のプリント回路基板を通じて、接続を通じて、バックプレーンまたはドータ・ボードを通じて、また当業者に着想される他の方式で実装することができる。
MCM(704、705)にある2つのパーティションのページ・テーブル・エントリがそれぞれ、ページ・テーブル(416、418、417、419)に示される。ページ・テーブル(416、418)はそれぞれ、アフィニティ向上の動作の前(416)と後(418)のMCM(705)のページ・テーブル・エントリを示す。同様に、ページ・テーブル(417、419)はそれぞれ、アフィニティ向上動作の前(417)と後(419)のMCM(704)のページ・テーブル・エントリを示す。ページ・テーブル(416)は、MCM(705)のプロセッサ(157)で実行中のスレッドで使用されている仮想ページ番号567、568、569が、プロセッサ(157)に対して離れたアフィニティを有するMCM(704)のLMB(402)に物理的に位置するページ・フレーム666、667、668にマッピングされていることを示す。同様に、ページ・テーブル(417)は、MCM(704)のプロセッサ(156)で実行中のスレッドで使用されている仮想ページ番号444、445、446が、プロセッサ(156)に対して離れたアフィニティを有するMCM(705)のLMB(403)に物理的に位置するページ・フレーム853、854、855にマッピングされていることを示す。例えば、プロセッサで使用されている仮想ページにマッピングされたページ・フレームを、そのプロセッサと同じMCMにある物理メモリに配置または移動することができれば、全体的なプロセッサとメモリのアフィニティとメモリ管理の効率を向上させることができる。また、LPARは、複数のMCMにある複数のプロセッサとともに実装されることもでき、そのようなLPARは、複数のページ・テーブルも持つことができ、例えば各MCMに1つのページ・テーブルを有することができる。本発明の実施形態によるプロセッサに対するLMBのアフィニティの向上は、複数のページ・テーブルと複数のMCMにある複数のプロセッサとを備えるそのようなLPARにも有用である。
図8の方法は、ページ・フレーム(408)の内容をコピーすることを含み、これは、基本的には本明細書で上述したように動作するプロセスである。しかし、図8の方法では、アフィニティを向上させるために、LMBのページ・フレームの内容をコピーする(408)ことは、LMB(402)のページ・フレーム(406)の内容を、LMB(402)の外の暫定ページ・フレーム(702)にコピーすることを有利に含む。図8の方法でページ・フレームの内容をコピーする(408)ことは、LMB(403)のページ・フレーム(409)の内容をLMB(402)のページ・フレーム(406)にコピーし(804)、暫定ページ・フレーム(702)の内容をLMB(705)のページ・フレーム(409)にコピーする(806)ことも含む。図8の方法は、新しいページ・フレーム番号を格納する(410)ことも含み、これは概ね上記のように動作するが、ここで、LMB(402)の内容と第2のLMB(403)の内容(409)の両方について、内容がコピーされる先のページ・フレームを識別する新しいページ・フレーム番号を格納する(808)ことを含む。
ページ・テーブル(418、419)は、こうしたアフィニティ向上動作の効果を示す。ページ・テーブル(418)は、MCM(705)のプロセッサ(157)で実行中のスレッドで使用されている仮想ページ番号567、568、569が、同じMCMにあるプロセッサ(157)に対して近いアフィニティを持つようになった、MCM(705)のLMB(403)に物理的に位置するページ・フレーム853、854、855に現在マッピングされていることを示す。同様に、ページ・テーブル(419)は、MCM(704)のプロセッサ(156)で実行中のスレッドで使用されている仮想ページ番号444、445、446が、同じMCMのプロセッサ(156)に対して近いアフィニティを有する、MCM(704)のLMB(402)に物理的に位置するページ・フレーム666、667、668に現在マッピングされていることを示す。
本発明の例示的実施形態について、主に、動的論理パーティショニングによりコンピュータ内のコンピュータ・メモリを管理する、全機能コンピュータ・システムに関連して説明した。ただし、当業者の読者は、本発明は、任意の適切なデータ処理システムで用いる信号担持媒体に配置されたコンピュータ・プログラム製品に実施することも可能であることを認識されよう。そのような信号担持媒体は、磁気媒体、光学媒体、あるいは他の適切な媒体を含む、機械可読の情報用の伝送媒体または記録可能媒体であってよい。記録可能媒体の例には、ハード・ドライブ内の磁気ディスクまたはディスケット、光学ドライブ用のコンパクト・ディスク、磁気テープ、および当業者に着想される他の媒体が含まれる。伝送媒体の例には、音声通信のための電話網、および、例えばイーサネット(登録商標)(R)やインターネット・プロトコルとワールド・ワイド・ウェブを用いて通信するネットワークなどのデジタル・データ通信ネットワークが含まれる。当業者は、適切なプログラミング手段を有するコンピュータ・システムであれば、プログラム製品に実施された本発明の方法のステップを実行することが可能であることを即座に認識されよう。当業者は、本明細書に記載される例示的実施形態の一部は、コンピュータ・ハードウェアにインストールされ、コンピュータ・ハードウェア上で実行されるソフトウェアを対象とするが、ファームウェアまたはハードウェアとして実施された代替の実施形態が、本発明の範囲に十分包含されることを即座に認識されよう。
前述の説明から、本発明の範囲内で、上記の本発明の例示的実施形態に様々な変更を加えることが可能であることが理解されよう。
本発明の実施形態に係る、動的論理パーティショニングによりコンピュータ・メモリを管理するための例示的コンピュータを備える自動計算機のブロック図である。 本発明の実施形態に係る、動的論理パーティショニングによりコンピュータ・メモリを管理するさらなる例示的コンピュータのブロック図である。 本発明の実施形態に係る、コンピュータ・メモリを管理する、動的論理パーティショニングによるさらなる例示的コンピュータ・システムのブロック図である。 本発明の実施形態に係る、動的論理パーティショニングによりコンピュータ内のコンピュータ・メモリを管理する例示的方法を説明するフロー・チャートである。 動的論理パーティショニングによりコンピュータ内のコンピュータ・メモリを管理するさらなる例示的方法を説明するフロー・チャートである。 動的論理パーティショニングによりコンピュータ内のコンピュータ・メモリを管理するさらなる例示的方法を説明するフロー・チャートである。 連続した空きメモリのセグメントを作成する例示的方法を説明するフロー・チャートである。 プロセッサに対するLMBのアフィニティを向上する例示的方法を説明するフロー・チャートである。

Claims (24)

  1. 動的論理パーティショニングによりコンピュータ内のコンピュータ・メモリを管理する方法であって、
    論理パーティション(「LPAR」)の専用の物理メモリ領域である1つの論理メモリ・ブロック(「LMB」)内のページ・フレームから前記LMBの外のページ・フレームに、前記LPAR内のオペレーティング・システムのためのページ・テーブルにページ・フレーム番号を有するページ・フレームの内容をハイパーバイザによってコピーすることと、
    前記ページ・フレーム番号のマッピングを更新するために前記ページ・テーブルに新しいページ・フレーム番号を格納することであって、内容がコピーされるページ・フレームごとに、内容がコピーされる先のページ・フレームを識別する新しいページ・フレーム番号を前記ハイパーバイザによって格納することを含むこととを備え、
    ページ・フレームの内容をコピーすることと、新しいページ・フレーム番号を格納することは、前記オペレーティング・システムに対して透過に行われる方法。
  2. 前記ページ・テーブルにあるすべてのページ・フレームのリストを前記ハイパーバイザによって作成することと、
    前記ハイパーバイザがページ・フレームの内容をコピーし、新しいページ・フレーム番号を格納する間、前記ページ・テーブルにページ・フレームを追加する、前記ハイパーバイザへの前記オペレーティング・システムからの呼び出しを前記ハイパーバイザによって監視することと、
    前記ページ・テーブルに追加されたページ・フレームを前記リストに追加することとをさらに備え、
    ページ・フレームの内容をコピーすることは、前記リストにあるページ・フレームの内容をコピーすることをさらに備える請求項1に記載の方法。
  3. 2つ以上のサイズのメモリ・ページが前記LMBの前記ページ・フレームにマッピングされ、前記方法はさらに、
    メモリ管理割り込みを前記オペレーティング・システムから前記ハイパーバイザにベクトルすることと、
    前記オペレーティング・システムのためのメモリ管理動作を、前記オペレーティング・システムの前記ページ・テーブルから一時的な代替ページ・テーブルに切り替えることとを備え、
    ページ・フレームの内容をコピーすることは、前記LMBのページ・フレームにマッピングされたページの中で最も小さいページと同じサイズのセグメント単位でページ・フレームの内容をコピーすることをさらに備える請求項1または2に記載の方法。
  4. ページ・フレームの内容をコピーすることはさらに、
    前記オペレーティング・システムの前記ページ・テーブルにもあるページ・フレームを前記一時的な代替ページ・テーブルから削除することと、
    そのような削除されたページ・フレームの状態ビットを、前記オペレーティング・システムの前記ページ・テーブルに格納することとを備える請求項3に記載の方法。
  5. 前記LMBの前記ページ・フレームの少なくとも1つは、ダイレクト・メモリ・アクセス(「DMA」)のためにマッピングされ、ページ・フレームの内容をコピーすることはさらに、
    DMAのためにマッピングされたページ・フレームの内容をコピーする間、前記ハイパーバイザによりDMA動作を阻止することと、
    内容がコピーされる先のページ・フレームを識別する新しいページ・フレーム番号を、DMAのためにマッピングされた前記LMBの各ページ・フレーム用のDMAマップ・テーブルに格納することとを備える請求項1ないし4のいずれか一項に記載の方法。
  6. LMBよりも大きく、かつページ・テーブルを収容するのに十分な大きさの連続した空きメモリのセグメントを作成することをさらに備える請求項1ないし5のいずれか一項に記載の方法。
  7. 連続した空きメモリのセグメントを作成することは、2つ以上の連続したLMBについて、前記ハイパーバイザにより、
    該LMB内のページ・フレームから該LMBの外のページ・フレームに、前記LPAR内のオペレーティング・システムのためのページ・テーブルにある該LMBのページ・フレームの内容を前記ハイパーバイザによってコピーするステップと、
    新しいページ・フレーム番号を前記ページ・テーブルに格納するステップであって、内容がコピーされるページ・フレームごとに、内容がコピーされる先のページ・フレームを識別する新しいページ・フレーム番号を前記ハイパーバイザによって格納することを含むステップと、
    空きメモリ・リストに該LMBを追加するステップと
    を繰り返し実行することをさらに備える請求項6に記載の方法。
  8. プロセッサに対するLMBのアフィニティを向上させることをさらに備え、
    前記LMBのページ・フレームの内容をコピーすることはさらに、
    前記LMBのページ・フレームの内容を、前記LMBの外にある暫定ページ・フレームにコピーし、
    第2のLMBのページ・フレームの内容を前記LMBのページ・フレームにコピーし、 前記暫定ページ・フレームの内容を前記第2のLMBのページ・フレームにコピーすることを備え、
    新しいページ・フレーム番号を格納することはさらに、前記LMBの内容と前記第2のLMBの内容の両方について、内容がコピーされる先のページ・フレームを識別する新しいページ・フレーム番号を格納することを備える請求項1ないし7のいずれか一項に記載の方法。
  9. 動的論理パーティショニングによりコンピュータ内のコンピュータ・メモリを管理する装置であって、前記装置は、コンピュータ・プロセッサと、前記コンピュータ・プロセッサに動作可能に結合されたコンピュータ・メモリとを備え、さらに
    論理パーティション(「LPAR」)の専用の物理メモリ領域である1つの論理メモリ・ブロック(「LMB」)内のページ・フレームから前記LMBの外のページ・フレームに、前記LPAR内のオペレーティング・システムのためのページ・テーブルにページ・フレーム番号を有するページ・フレームの内容をハイパーバイザによってコピーする手段と、
    前記ページ・フレーム番号のマッピングを更新するために前記ページ・テーブルに新しいページ・フレーム番号を格納する手段であって、内容がコピーされるページ・フレームごとに、内容がコピーされる先のページ・フレームを識別する新しいページ・フレーム番号を前記ハイパーバイザによって格納する手段とを備え、
    前記コピーする手段および前記格納する手段が前記オペレーティング・システムに対して透過的に動作する装置。
  10. 前記ページ・テーブルにあるすべてのページ・フレームのリストを前記ハイパーバイザによって作成する手段と、
    前記コピーする手段がページ・フレームの内容をコピーし、前記格納する手段が新しいページ・フレーム番号を格納する間、前記ページ・テーブルにページ・フレームを追加する、前記ハイパーバイザへの前記オペレーティング・システムからの呼び出しを前記ハイパーバイザによって監視する手段と、
    前記ページ・テーブルに追加されたページ・フレームを前記リストに追加する手段とをさらに備え、
    前記コピーする手段は、前記リストにあるページ・フレームの内容をコピーする請求項9に記載の装置。
  11. 2つ以上のサイズのメモリ・ページが前記LMBの前記ページ・フレームにマッピングされ、前記装置はさらに、
    メモリ管理割り込みを前記オペレーティング・システムから前記ハイパーバイザにベクトルする手段と、
    前記オペレーティング・システムのためのメモリ管理動作を、前記オペレーティング・システムの前記ページ・テーブルから一時的な代替ページ・テーブルに切り替える手段とを備え、
    前記コピーする手段は、前記LMBのページ・フレームにマッピングされたページの中で最も小さいページと同じサイズのセグメント単位でページ・フレームの内容をコピーする請求項9または10に記載の装置。
  12. 前記コピーする手段はさらに、
    前記オペレーティング・システムの前記ページ・テーブルにもあるページ・フレームを前記一時的な代替ページ・テーブルから削除する手段と、
    そのような削除されたページ・フレームの状態ビットを、前記オペレーティング・システムの前記ページ・テーブルに格納する手段とを備える請求項11に記載の装置。
  13. 前記LMBの前記ページ・フレームの少なくとも1つは、ダイレクト・メモリ・アクセス(「DMA」)のためにマッピングされ、前記コピーする手段はさらに、
    DMAのためにマッピングされたページ・フレームの内容をコピーする間、前記ハイパーバイザによりDMA動作を阻止する手段と、
    内容がコピーされる先のページ・フレームを識別する新しいページ・フレーム番号を、DMAのためにマッピングされた前記LMBの各ページ・フレーム用のDMAマップ・テーブルに格納する手段とを備える請求項9ないし12のいずれか一項に記載の装置。
  14. LMBよりも大きく、かつページ・テーブルを収容するのに十分な大きさの連続した空きメモリのセグメントを作成する手段をさらに備える請求項9ないし13のいずれか一項に記載の装置。
  15. 連続した空きメモリのセグメントを作成する手段は、2つ以上の連続したLMBについて、
    該LMB内のページ・フレームから該LMBの外のページ・フレームに、前記LPAR内のオペレーティング・システムのためのページ・テーブルにある該LMBのページ・フレームの内容を前記ハイパーバイザによってコピーする手段と、
    新しいページ・フレーム番号を前記ページ・テーブルに格納する手段であって、内容がコピーされるページ・フレームごとに、内容がコピーされる先のページ・フレームを識別する新しいページ・フレーム番号を前記ハイパーバイザによって格納する手段と、
    空きメモリ・リストに該LMBを追加する手段と
    をさらに備える請求項14に記載の装置。
  16. プロセッサに対するLMBのアフィニティを向上させる手段さらに備え、
    前記LMBのページ・フレームの内容をコピーする手段はさらに、
    前記LMBのページ・フレームの内容を、前記LMBの外にある暫定ページ・フレームにコピーする手段と、
    第2のLMBのページ・フレームの内容を前記LMBのページ・フレームにコピーする手段と、
    前記暫定ページ・フレームの内容を前記第2のLMBのページ・フレームにコピーする手段とを備え、
    新しいページ・フレーム番号を格納する手段はさらに、前記LMBの内容と前記第2のLMBの内容の両方について、内容がコピーされる先のページ・フレームを識別する新しいページ・フレーム番号を格納する手段を備える請求項9ないし15のいずれか一項に記載の装置。
  17. 動的論理パーティショニングによりコンピュータ内のコンピュータ・メモリを管理するコンピュータ・プログラムであって、前記コンピュータ・プログラムは、信号担持媒体に配置され、前記コンピュータ・プログラムは、
    論理パーティション(「LPAR」)の専用の物理メモリ領域である1つの論理メモリ・ブロック(「LMB」)内のページ・フレームから前記LMBの外のページ・フレームに、前記LPAR内のオペレーティング・システムのためのページ・テーブルにページ・フレーム番号を有するページ・フレームの内容をハイパーバイザによってコピーする手順と、
    前記ページ・フレーム番号のマッピングを更新するために前記ページ・テーブルに新しいページ・フレーム番号を格納する手順であって、内容がコピーされるページ・フレームごとに、内容がコピーされる先のページ・フレームを識別する新しいページ・フレーム番号を前記ハイパーバイザによって格納する手順と
    をコンピュータに実行させ、
    ページ・フレームの内容をコピーする手順と、新しいページ・フレーム番号を格納する手順は、前記オペレーティング・システムに対して透過に行われるコンピュータ・プログラム。
  18. 前記ページ・テーブルにあるすべてのページ・フレームのリストを前記ハイパーバイザによって作成する手順と、
    前記ハイパーバイザがページ・フレームの内容をコピーし、新しいページ・フレーム番号を格納する間、前記ページ・テーブルにページ・フレームを追加する、前記ハイパーバイザへの前記オペレーティング・システムからの呼び出しを前記ハイパーバイザによって監視する手順と、
    前記ページ・テーブルに追加されたページ・フレームを前記リストに追加する手順と
    をさらにコンピュータに実行させ、
    ページ・フレームの内容をコピーする手順は、前記リストにあるページ・フレームの内容をコピーする手順をさらに備える請求項17に記載のコンピュータ・プログラム。
  19. 2つ以上のサイズのメモリ・ページが前記LMBの前記ページ・フレームにマッピングされ、前記コンピュータ・プログラムはさらに、
    メモリ管理割り込みを前記オペレーティング・システムから前記ハイパーバイザにベクトルする手順と、
    前記オペレーティング・システムのためのメモリ管理動作を、前記オペレーティング・システムの前記ページ・テーブルから一時的な代替ページ・テーブルに切り替える手順とをコンピュータに実行させ、
    ページ・フレームの内容をコピーする手順は、前記LMBのページ・フレームにマッピングされたページの中で最も小さいページと同じサイズのセグメント単位でページ・フレームの内容をコピーする手順をさらに備える請求項17または18に記載のコンピュータ・プログラム。
  20. ページ・フレームの内容をコピーする手順はさらに、
    前記オペレーティング・システムの前記ページ・テーブルにもあるページ・フレームを前記一時的な代替ページ・テーブルから削除する手順と、
    そのような削除されたページ・フレームの状態ビットを、前記オペレーティング・システムの前記ページ・テーブルに格納する手順とを備える請求項19に記載のコンピュータ・プログラム。
  21. 前記LMBの前記ページ・フレームの少なくとも1つは、ダイレクト・メモリ・アクセス(「DMA」)のためにマッピングされ、ページ・フレームの内容をコピーする手順はさらに、
    DMAのためにマッピングされたページ・フレームの内容をコピーする間、前記ハイパーバイザによりDMA動作を阻止する手順と、
    内容がコピーされる先のページ・フレームを識別する新しいページ・フレーム番号を、DMAのためにマッピングされた前記LMBの各ページ・フレーム用のDMAマップ・テーブルに格納する手順とを備える請求項17ないし20のいずれか一項に記載のコンピュータ・プログラム。
  22. LMBよりも大きく、かつページ・テーブルを収容するのに十分な大きさの連続した空きメモリのセグメントを作成する手順をさらに備える請求項17ないし21のいずれか一項に記載のコンピュータ・プログラム。
  23. 連続した空きメモリのセグメントを作成する手順は、2つ以上の連続したLMBについて、
    該LMB内のページ・フレームから該LMBの外のページ・フレームに、前記LPAR内のオペレーティング・システムのためのページ・テーブルにある該LMBのページ・フレームの内容を前記ハイパーバイザによってコピーする手順と、
    新しいページ・フレーム番号を前記ページ・テーブルに格納する手順であって、内容がコピーされるページ・フレームごとに、内容がコピーされる先のページ・フレームを識別する新しいページ・フレーム番号を前記ハイパーバイザによって格納する手順と、
    空きメモリ・リストに該LMBを追加する手順と
    を繰り返し実行することをさらに備える請求項22に記載のコンピュータ・プログラム。
  24. プロセッサに対するLMBのアフィニティを向上させる手順をさらに備え、
    前記LMBのページ・フレームの内容をコピーする手順はさらに、
    前記LMBのページ・フレームの内容を、前記LMBの外にある暫定ページ・フレームにコピーする手順と、
    第2のLMBのページ・フレームの内容を前記LMBのページ・フレームにコピーする手順と、
    前記暫定ページ・フレームの内容を前記第2のLMBのページ・フレームにコピーする手順とを備え、
    新しいページ・フレーム番号を格納する手順はさらに、前記LMBの内容と前記第2のLMBの内容の両方について、内容がコピーされる先のページ・フレームを識別する新しいページ・フレーム番号を格納する手順を備える請求項17ないし23のいずれか一項に記載のコンピュータ・プログラム。
JP2008509450A 2005-05-05 2006-05-04 動的論理パーティショニングによるコンピューティング環境におけるコンピュータ・メモリの管理 Expired - Fee Related JP5039029B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/122,801 2005-05-05
US11/122,801 US20060253682A1 (en) 2005-05-05 2005-05-05 Managing computer memory in a computing environment with dynamic logical partitioning
PCT/EP2006/062046 WO2006117394A2 (en) 2005-05-05 2006-05-04 Managing computer memory in a computing environment with dynamic logical partitioning

Publications (3)

Publication Number Publication Date
JP2008541214A JP2008541214A (ja) 2008-11-20
JP2008541214A5 JP2008541214A5 (ja) 2009-02-19
JP5039029B2 true JP5039029B2 (ja) 2012-10-03

Family

ID=36685798

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008509450A Expired - Fee Related JP5039029B2 (ja) 2005-05-05 2006-05-04 動的論理パーティショニングによるコンピューティング環境におけるコンピュータ・メモリの管理

Country Status (7)

Country Link
US (1) US20060253682A1 (ja)
EP (1) EP1880284A2 (ja)
JP (1) JP5039029B2 (ja)
KR (1) KR100992034B1 (ja)
CN (1) CN100570563C (ja)
TW (1) TWI365385B (ja)
WO (1) WO2006117394A2 (ja)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200705180A (en) * 2005-07-29 2007-02-01 Genesys Logic Inc Adjustable flash memory management system and method
US8165177B2 (en) * 2006-12-22 2012-04-24 Lenovo (Singapore) Pte. Ltd. System and method for hybrid virtual machine monitor file system operations
US20080307190A1 (en) * 2007-06-07 2008-12-11 Richard Louis Arndt System and Method for Improved Virtual Real Memory
US20090037678A1 (en) * 2007-07-31 2009-02-05 Giles Chris M Protected portion of partition memory for computer code
JP5210730B2 (ja) * 2007-11-28 2013-06-12 株式会社日立製作所 仮想マシンモニタ及びマルチプロセッサシステム
US8819675B2 (en) 2007-11-28 2014-08-26 Hitachi, Ltd. Virtual machine monitor and multiprocessor system
US8432908B2 (en) * 2008-02-06 2013-04-30 Broadcom Corporation Efficient packet replication
US8225068B2 (en) * 2008-06-09 2012-07-17 International Business Machines Corporation Virtual real memory exportation for logical partitions
US8024546B2 (en) * 2008-10-23 2011-09-20 Microsoft Corporation Opportunistic page largification
US8201024B2 (en) * 2010-05-17 2012-06-12 Microsoft Corporation Managing memory faults
CN102314382A (zh) * 2010-07-06 2012-01-11 中兴通讯股份有限公司 一种紧急探查系统信息的方法及模块
US8589657B2 (en) 2011-01-04 2013-11-19 International Business Machines Corporation Operating system management of address-translation-related data structures and hardware lookasides
US9069598B2 (en) * 2012-01-06 2015-06-30 International Business Machines Corporation Providing logical partions with hardware-thread specific information reflective of exclusive use of a processor core
US9092359B2 (en) * 2012-06-14 2015-07-28 International Business Machines Corporation Identification and consolidation of page table entries
US9753860B2 (en) * 2012-06-14 2017-09-05 International Business Machines Corporation Page table entry consolidation
US9811472B2 (en) 2012-06-14 2017-11-07 International Business Machines Corporation Radix table translation of memory
US9116750B2 (en) * 2012-08-08 2015-08-25 International Business Machines Corporation Optimizing collective communications within a parallel computer
US9058268B1 (en) 2012-09-20 2015-06-16 Matrox Graphics Inc. Apparatus, system and method for memory management
US9009421B2 (en) * 2012-11-13 2015-04-14 International Business Machines Corporation Dynamically improving memory affinity of logical partitions
US9342342B2 (en) * 2013-03-15 2016-05-17 International Business Machines Corporation Refreshing memory topology in virtual machine operating systems
GB2516087A (en) * 2013-07-11 2015-01-14 Ibm Virtual Machine Backup
GB2516083A (en) 2013-07-11 2015-01-14 Ibm Virtual Machine Backup
US9298516B2 (en) * 2013-10-01 2016-03-29 Globalfoundries Inc. Verification of dynamic logical partitioning
US9639478B2 (en) 2014-01-17 2017-05-02 International Business Machines Corporation Controlling direct memory access page mappings
KR102320044B1 (ko) 2014-10-02 2021-11-01 삼성전자주식회사 Pci 장치, 이를 포함하는 인터페이스 시스템, 및 컴퓨팅 시스템
TWI534619B (zh) * 2015-09-11 2016-05-21 慧榮科技股份有限公司 動態邏輯分段方法以及使用該方法的裝置
TWI777268B (zh) * 2020-10-07 2022-09-11 大陸商星宸科技股份有限公司 虛擬記憶管理方法及處理器

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60117350A (ja) * 1983-11-30 1985-06-24 Toshiba Corp メモリマッピング装置
JPS6123262A (ja) * 1984-07-11 1986-01-31 Fujitsu Ltd ドメイン動的再配置処理方式
JPS6299844A (ja) * 1985-10-28 1987-05-09 Hitachi Ltd アドレス変換装置
JP2635058B2 (ja) * 1987-11-11 1997-07-30 株式会社日立製作所 アドレス変換方式
JP2610966B2 (ja) * 1988-10-24 1997-05-14 富士通株式会社 仮想計算機制御方法
US5237668A (en) 1989-10-20 1993-08-17 International Business Machines Corporation Process using virtual addressing in a non-privileged instruction to control the copying of a page of data in or between multiple media
JPH04348434A (ja) * 1991-05-27 1992-12-03 Hitachi Ltd 仮想計算機システム
US5675769A (en) * 1995-02-23 1997-10-07 Powerquest Corporation Method for manipulating disk partitions
US6262985B1 (en) * 1998-03-30 2001-07-17 Nortel Networks Limited Method and apparatus for full range translation of large external identifier to small internal identifier
JP2001051900A (ja) * 1999-08-17 2001-02-23 Hitachi Ltd 仮想計算機方式の情報処理装置及びプロセッサ
US6629162B1 (en) * 2000-06-08 2003-09-30 International Business Machines Corporation System, method, and product in a logically partitioned system for prohibiting I/O adapters from accessing memory assigned to other partitions during DMA
US7003771B1 (en) * 2000-06-08 2006-02-21 International Business Machines Corporation Logically partitioned processing system having hypervisor for creating a new translation table in response to OS request to directly access the non-assignable resource
US6907600B2 (en) * 2000-12-27 2005-06-14 Intel Corporation Virtual translation lookaside buffer
GB0125628D0 (en) * 2001-10-25 2001-12-19 Ibm Computer system with watchpoint support
US6804729B2 (en) * 2002-09-30 2004-10-12 International Business Machines Corporation Migrating a memory page by modifying a page migration state of a state machine associated with a DMA mapper based on a state notification from an operating system kernel
US7000051B2 (en) * 2003-03-31 2006-02-14 International Business Machines Corporation Apparatus and method for virtualizing interrupts in a logically partitioned computer system
GB2406668B (en) * 2003-10-04 2006-08-30 Symbian Ltd Memory management in a computing device
JP2005267240A (ja) * 2004-03-18 2005-09-29 Hitachi Global Storage Technologies Netherlands Bv デフラグメントを行う方法及び記憶装置
JP4186852B2 (ja) * 2004-03-19 2008-11-26 日本電気株式会社 エミュレーション方式及びプログラム
US7206915B2 (en) * 2004-06-03 2007-04-17 Emc Corp Virtual space manager for computer having a physical address extension feature
US7574537B2 (en) * 2005-02-03 2009-08-11 International Business Machines Corporation Method, apparatus, and computer program product for migrating data pages by disabling selected DMA operations in a physical I/O adapter

Also Published As

Publication number Publication date
KR20080007448A (ko) 2008-01-21
WO2006117394A3 (en) 2007-01-04
US20060253682A1 (en) 2006-11-09
KR100992034B1 (ko) 2010-11-05
EP1880284A2 (en) 2008-01-23
CN101171572A (zh) 2008-04-30
CN100570563C (zh) 2009-12-16
JP2008541214A (ja) 2008-11-20
WO2006117394A2 (en) 2006-11-09
TW200707230A (en) 2007-02-16
TWI365385B (en) 2012-06-01

Similar Documents

Publication Publication Date Title
JP5039029B2 (ja) 動的論理パーティショニングによるコンピューティング環境におけるコンピュータ・メモリの管理
US10423435B1 (en) Page swapping in virtual machine environment
US7376949B2 (en) Resource allocation and protection in a multi-virtual environment
US6880022B1 (en) Transparent memory address remapping
US7971027B2 (en) Mark page-out pages as critical for cooperative memory over-commitment
JP5608243B2 (ja) 仮想化環境においてi/o処理を行う方法および装置
US9213623B2 (en) Memory allocation with identification of requesting loadable kernel module
US6877158B1 (en) Logical partitioning via hypervisor mediated address translation
US7721023B2 (en) I/O address translation method for specifying a relaxed ordering for I/O accesses
KR20070100367A (ko) 하나의 가상 머신에서 다른 가상 머신으로 메모리를동적으로 재할당하기 위한 방법, 장치 및 시스템
WO2018176911A1 (zh) 一种虚拟磁盘文件格式转换方法和装置
US7873754B2 (en) Structure for option ROM characterization
KR101401523B1 (ko) 복수의 가상 머신들 간 조립 공유 gpu 스케줄링 방법 및 장치
KR100515229B1 (ko) 멀티프로세서 시스템에서 가상화된 물리적 메모리를관리하는 방법 및 시스템
US6925546B2 (en) Memory pool configuration system
US8473460B2 (en) Driver model for replacing core system hardware
JP2007183952A (ja) ゲストがメモリ変換されたデバイスにアクセスする方法及び装置
JP2005353070A (ja) 動的なホスト区画ページ割り当てのための方法および装置
US8566479B2 (en) Method and system to allow logical partitions to access resources
US11922072B2 (en) System supporting virtualization of SR-IOV capable devices
JP6242502B2 (ja) 仮想計算機システムの制御方法及び仮想計算機システム
JP4692912B2 (ja) リソース割り当てシステム、及びリソース割り当て方法
CN113312141A (zh) 用于虚拟机的虚拟串行端口
US20220318040A1 (en) System and method for providing page migration
JPH1063525A (ja) 情報処理装置、情報処理システム及びその制御方法

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081222

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090220

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110922

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111004

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111229

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120207

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120501

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

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

Free format text: PAYMENT UNTIL: 20150713

Year of fee payment: 3

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