JP5636133B2 - コンピュータシステムのメモリを管理する方法、メモリ管理ユニット及びコンピュータシステム - Google Patents

コンピュータシステムのメモリを管理する方法、メモリ管理ユニット及びコンピュータシステム Download PDF

Info

Publication number
JP5636133B2
JP5636133B2 JP2014505486A JP2014505486A JP5636133B2 JP 5636133 B2 JP5636133 B2 JP 5636133B2 JP 2014505486 A JP2014505486 A JP 2014505486A JP 2014505486 A JP2014505486 A JP 2014505486A JP 5636133 B2 JP5636133 B2 JP 5636133B2
Authority
JP
Japan
Prior art keywords
memory
mode
offline
flag
user process
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014505486A
Other languages
English (en)
Other versions
JP2014515145A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of JP2014515145A publication Critical patent/JP2014515145A/ja
Application granted granted Critical
Publication of JP5636133B2 publication Critical patent/JP5636133B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to 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/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Memory System (AREA)

Description

本発明は、コンピュータの分野に関し、特にコンピュータの分野におけるコンピュータシステムのメモリを管理する方法、メモリ管理ユニット及びコンピュータシステムに関する。
中程度のサーバ又はハイエンドサーバは、ある程度のフレキシビリティを有することが要求され、デバイスのホットスワップ機能は、フレキシビリティの重要な部分である。すなわち、サーバは、キャパシティの拡張とフォルト隔離の課題を達成するため、コンピュータシステムをインタラプトさせることなくデバイスの動的な追加又は削除を実現し、これにより、コンピュータシステムの信頼性、サービス可用性又はエネルギーの節約の要求を満たす。
ホットスワップデバイスは、一般に、例えば、プロセッサ、メモリ又は入出力(IO)周辺デバイスなどを含み、ここで、メモリは、コンピュータシステムの重要なリソースの1つであるため、ホットスワップの最重要な構成部分の1つである。メモリホットプラギング(memory hot−plugging)は、コンピュータシステムをインタラプトさせることなく追加されるメモリデバイスであり、メモリホットドローイング(memory hot−drawing)は、コンピュータシステムをインタラプトさせることなく追加されるメモリデバイスである。メモリホットドローイングは、ターゲットメモリにおいて占有されるメモリをマイグレート及びリカバすることを必要とする。しかしながら、コンピュータシステムには、カーネルにより占有される物理ページとユーザプロセスによりロックされる物理ページとを含むマイグレート不可なページが存在する。
アプリケーションプロセスでは、カーネルにより占有される物理ページはカーネルによるメモリの適用処理においてコンピュータシステムによりマイグレート不可なページとしてマーク付けされるため、コンピュータシステムは、ターゲットメモリをオフラインに配置する目的を達成するため、特定エリア(マイグレート不可なメモリエリア)から物理メモリを割り当てる。ユーザプロセスがメモリに適用されると、メモリは、共通のマイグレート可能なメモリに属するが、ユーザプロセスがメモリをロックすることを指定した後、メモリは、ターゲットメモリをオフラインに配置する際の障害になるマイグレート不可なページとしてマーク付けされる。ユーザプロセスによりロックされたメモリがオフラインに配置可能であるか否かは、メモリのホットスワップを実現する際のキーファクタの1つである。
ユーザプロセスによりロックされるメモリがオフラインに取得することが困難であるという問題のため、繰り返しの試行中にメモリがユーザプロセスによりアンロックされるという予想のため、メモリをマイグレートするために試行が繰り返し行われる。しかしながら、繰り返しの試行を介したマイグレート方法は、ユーザプロセスによりロックされたメモリのアンロックがメモリをマイグレートするための試行によって全く影響を受けないため、メモリがオフラインに配置されることを保証することができず、これら2つの間の必要な関係は存在しない。従って、メモリをオフラインに配置する試行のプロセスにおいて、ユーザプロセスによりロックされるメモリは、永続的にロック状態に維持される可能性がある。
従って、ユーザプロセスによりロックされるメモリをオフラインに配置するため、コンピュータシステムのメモリを管理するのに適した手段が必要とされ、これにより、メモリのホットスワップを実現する。
本発明の実施例は、ユーザプロセスによりロックされたメモリをオフラインに配置し、これによりメモリのホットスワップを実現するコンピュータシステムのメモリを管理する方法、メモリ管理ユニット及びコンピュータシステムを提供する。
一態様では、本発明の実施例は、コンピュータシステムのメモリを管理する方法であって、ユーザプロセスにより送信された割当てリクエストであって、前記ユーザプロセスについて前記コンピュータシステムのメモリの割当てを要求するのに利用される前記割当てリクエストを受信するステップと、前記割当てリクエストに従って前記ユーザプロセスについて前記メモリを割り当てるステップと、前記メモリについてオフラインフラグを設定するステップであって、前記オフラインフラグは前記メモリについてオフラインモードを示す、前記設定するステップと、前記ユーザプロセスにより送信されたロッキングリクエストであって、前記メモリがロックされることを要求するのに利用される前記ロッキングリクエストを受信するステップと、前記メモリのオフラインフラグと前記ロッキングリクエストとに従って前記メモリをロックするステップと、前記メモリのオフラインフラグに従って前記メモリをオフラインに配置するステップとを有する方法を提供する。
他の態様では、本発明の実施例は、ユーザプロセスにより送信される割当てリクエストであって、前記ユーザプロセスについてコンピュータシステムのメモリの割り当てを要求するのに利用される前記割当てリクエストを受信するよう構成される第1受信モジュールと、前記第1受信モジュールにより受信される前記割当てリクエストに従って前記ユーザプロセスについて前記メモリを割り当て、前記メモリのオフラインモードを示すオフラインフラグを前記メモリについて設定するよう構成される割当てモジュールと、前記ユーザプロセスにより送信されるロッキングリクエストであって、前記コンピュータシステムのメモリがロックされることを要求するのに利用される前記ロッキングリクエストを受信するよう構成される第2受信モジュールと、前記メモリのオフラインフラグと前記第2受信モジュールにより受信されるロッキングリクエストとに従って前記メモリをロックするよう構成されるロッキングモジュールと、前記メモリのオフラインフラグに従って前記ロッキングモジュールによりロックされたメモリをオフラインに配置するよう構成されるオフラインモジュールとを有するメモリ管理ユニットを提供する。
さらなる他の態様では、本発明の実施例は、少なくとも1つのメモリと、本発明の実施例によるメモリ管理ユニットとを有するコンピュータシステムを提供する。メモリ管理ユニットは、少なくとも1つのメモリを管理するよう構成される。メモリ管理ユニットは、ユーザプロセスにより送信される割当てリクエストであって、前記ユーザプロセスについてコンピュータシステムのメモリの割り当てを要求するのに利用される前記割当てリクエストを受信するよう構成される第1受信モジュールと、前記第1受信モジュールにより受信される前記割当てリクエストに従って前記ユーザプロセスについて前記メモリを割り当て、前記メモリのオフラインモードを示すオフラインフラグを前記メモリについて設定するよう構成される割当てモジュールと、前記ユーザプロセスにより送信されるロッキングリクエストであって、前記コンピュータシステムのメモリがロックされることを要求するのに利用される前記ロッキングリクエストを受信するよう構成される第2受信モジュールと、前記メモリのオフラインフラグと前記第2受信モジュールにより受信されるロッキングリクエストとに従って前記メモリをロックするよう構成されるロッキングモジュールと、前記メモリのオフラインフラグに従って前記ロッキングモジュールによりロックされたメモリをオフラインに配置するよう構成されるオフラインモジュールとを有する。
上記技術的手段に基づき、本発明の実施例によるコンピュータシステムを管理する方法、メモリ管理ユニット及びコンピュータシステムにおいて、カーネルとユーザプロセスとの間のインタラクションを介し、メモリについてオフラインモードを設定することによって、カーネルは、ユーザプロセスによりロックされたメモリをオフラインに配置するため、メモリのオフラインモードに従ってメモリをオフラインに配置し、これにより、メモリのホットスワップを実現し、システムリソースの浪費を回避することが可能である。
本発明の実施例による技術的手段をより明確に説明するため、実施例を示す添付した図面が以下において概略的に紹介される。以下の説明における添付した図面は、本発明の一部の実施例であり、当業者は、創作的な努力なく添付した図面から他の図面を導出してもよい。
図1Aは、本発明の実施例によるコンピュータシステムのメモリを管理する方法の概略的なフローチャートである。 図1Bは、本発明の他の実施例によるコンピュータシステムのメモリを管理する方法の概略的なフローチャートである。 図1Cは、本発明のさらなる他の実施例によるコンピュータシステムのメモリを管理する方法の概略的なフローチャートである。 図2は、本発明の実施例によるメモリのオフラインモードを変更する方法の概略的なフローチャートである。 図3は、本発明の実施例によるメモリをロックする方法の概略的なフローチャートである。 図4は、本発明の実施例によるロックされたメモリをオフラインに配置する方法の概略的なフローチャートである。 図5は、本発明の実施例によるメモリをアンロックする方法の概略的なフローチャートである。 図6は、本発明の実施例によるメモリ管理ユニットの概略的なブロック図である。 図7は、本発明の他の実施例によるメモリ管理ユニットの概略的なブロック図である。 図8は、本発明のさらなる他の実施例によるメモリ管理ユニットの概略的なブロック図である。 図9は、本発明の実施例によるロッキングモジュールの概略的なブロック図である。 図10は、本発明の実施例によるオフラインモジュールの概略的なブロック図である。 図11は、本発明の実施例による判定モジュールの概略的なブロック図である。 図12は、本発明の実施例によるコンピュータシステムの概略的なブロック図である。
本発明の実施例による技術的手段は、本発明の実施例において添付した図面を参照して以下で明確に説明される。開示される実施例は本発明の実施例の全てでなく一部であることは明らかである。創作的な努力なく本発明の実施例に基づき当業者により取得される他のすべての実施例は、本発明の保護範囲内に属する。
本発明の実施例による技術的手段は、パーソナルコンピュータ(PC)、大規模コンピュータシステム又は各種スーパーコンピュータを含む各種コンピュータシステムに適用可能であることに留意すべきである。本発明の実施例では、少なくとも1つのメモリを含むコンピュータシステムが、説明のための具体例として取り上げられるが、本発明の実施例はこれに限定されるものでない。
図1Aは、本発明の実施例によるコンピュータシステムのメモリを管理する方法100の概略的なフローチャートである。図1Aに示されるように、方法100は以下を含む。
S110:ユーザプロセスに対するコンピュータシステムのメモリの割当てを要求するのに利用されるユーザプロセスにより送信される割り当て要求を受信する。
S120:割り当て要求に従ってユーザプロセスに対してメモリを割り当て、メモリのオフラインモードを示すのに利用されるオフラインフラグをメモリについて設定する。
S130:メモリがロックされることを要求するのに利用されるユーザプロセスにより送信されるロッキングリクエストを受信する。
S140:メモリのオフラインフラグとロッキングリクエストに従ってメモリをロックする。
S150:メモリのオフラインフラグに従ってメモリをオフラインに配置する。
ユーザプロセスにより送信され、コンピュータシステムのメモリの割当てを要求するのに利用される割り当てリクエストを受信した後、コンピュータシステムのカーネル、オペレーティングシステム又はメモリ管理ユニットは、ユーザプロセスに対してメモリを割り当て、メモリのオフラインモードを示すためのオフラインフラグをメモリについて設定し、ユーザプロセスにより送信され、メモリをロックすることを要求するのに利用されるリクエストの受信後、カーネル又はオペレーティングシステムは、ユーザプロセスのロックリクエストとメモリのオフラインフラグとに従ってメモリをロックし、ロックされたメモリをオフラインに配置することが要求されると、メモリのオフラインフラグに従ってメモリをオフラインに配置してもよい。
従って、本発明の実施例によるコンピュータシステムのメモリを管理する方法において、カーネルとユーザプロセスとの間のインタラクションを介し、メモリについてオフラインモードを設定すると、カーネルは、ユーザプロセスによるロックされるメモリをオフラインに配置するため、メモリのオフラインモードに従ってメモリをオフラインに配置可能であり、これにより、メモリのホットスワップを実現し、システムリソースの浪費を回避することが可能である。
本発明の実施例では、オフラインモード又はオフラインポリシーは、デフォルトモード、マイグレートモード、通知モード及び強制アンロックモードの少なくとも1つを含むものであってもよい。任意的には、オフラインモードは、デフォルトモード、マイグレートモード、通知モード及び強制アンロックモードを含む。
デフォルトモードでは、ユーザプロセスは、デフォルトモードを介しメモリがオフラインに配置されることを指定し、ユーザプロセスがオフラインポリシーを指定しないとき、当該モードがまた利用されてもよい。マイグレートモードでは、メモリがロックされる前、メモリは、マイグレート不可エリアにマイグレートされる必要があり、その後にロックされる。通知モードでは、カーネルがメモリをオフラインに配置することが要求される前に、カーネルは、メモリをアンロックするためユーザプロセスをトリガする。強制アンロックモードでは、カーネルは、メモリをオフラインに配置することが要求されると、メモリを強制的にアンロックし、その後にメモリをオフラインに取得してもよい。本発明の実施例の4つのオフラインモードの名称及び概略は、本発明の実施例の理解を容易にするため単に与えられたものであり、本発明の実施例はこれに限定されるものでないことに留意すべきである。さらに、4つのオフラインモードの具体的な意味は、本発明の実施例において説明される具体的な処理を参照して理解されるべきである。
本発明の実施例では、ユーザプロセスは、要求に従って適用されるメモリのオフラインモードを変更する。すなわち、ユーザプロセスは、メモリのオフラインモードを設定する。従って、図1Bに示されるように、本発明の実施例によるコンピュータシステムのメモリを管理する方法100はさらに以下を含むものであってもよい。
S160:メモリについてユーザプロセスにより設定されるオフラインモードを示すモード情報を含み、ユーザプロセスにより送信される変更リクエストを受信する。
S170:モード情報に従ってユーザプロセスにより設定されたオフラインモードを示すようにメモリのオフラインフラグを変更する。
すなわち、ユーザプロセスがメモリについて適用された後、ユーザプロセスは、要求に従って適用されたメモリについてオフラインモードを設定し、モード情報に従ってカーネルがユーザプロセスにより設定されたオフラインモードを示すようにメモリのオフラインフラグを変更するように、モード情報を含む変更リクエストをカーネルに送信してもよい。
本発明の実施例では、カーネルがユーザプロセスにより送信されるロッキングリクエストを受信した後、カーネルは、メモリのオフラインフラグに従ってメモリのオフラインモードを決定し、メモリのオフラインモードがデフォルトモードである場合、カーネルは、所望されるようにメモリのオフラインモードをリセットしてもよい。すなわち、図1Bに示されるように、本発明の実施例による方法100はさらに以下を含むものであってもよい。
S180:メモリのオフラインモードがデフォルトモードである場合、コンピュータシステムの要求に従ってメモリのオフラインモードを再判定し、再判定されたオフラインモードを示すようにメモリのオフラインフラグを変更する。
任意的には、コンピュータシステムがシステム動作パフォーマンスを要求する場合、カーネルは、メモリのオフラインモードがデフォルトモードであると判定し、コンピュータシステムがホットスワップパフォーマンスを要求する場合、カーネルは、メモリのオフラインモードがマイグレートモードであると判定する。
本発明の実施例による方法はカーネル、オペレーティングシステム又はメモリ管理ユニットにより実行可能であることに留意すべきである。説明の簡単化のため、カーネルは以下において実行本体として利用されるが、本発明の実施例はこれに限定されるものでない。
具体的には、ステップS110において、ユーザプロセスは、ユーザプロセスの要求に従ってメモリの割当てを要求するため割当要求をカーネルに送信してもよい。
ステップS120において、カーネルは、割り当て要求に従ってユーザプロセスに対してメモリを割り当て、メモリに対して当該メモリのオフラインモードを示すのに利用されるオフラインフラグを設定する。任意的には、カーネルは、割り当てられたメモリについてデフォルトモードを示すオフラインフラグを設定する。例えば、カーネルは、メモリについてオフラインフラグPG_flagを追加し、当該オフラインフラグにDEFAULTの値を割り当て、すなわち、PG_flag=DEFAULTである。明らかに、カーネルはまたメモリに他のオフラインモードを設定してもよく、本発明の実施例はこれに限定されるものでない。
任意的には、ユーザプロセスは、カーネルにより提供されたインタフェースを介し適用されたメモリについてオフラインモード又はオフラインポリシーを設定又は形成してもよい。具体的には、ステップS160において、ユーザプロセスは、ユーザプロセスの要求に従って、メモリについてユーザプロセスにより設定されたオフラインモードを示すモード情報を含むメモリのオフラインモードを変更するための変更リクエストをカーネルに送信してもよい。例えば、変更リクエストは、DEFAULT、MIGRATE、NOTIFY及びUNLOCKなどの値に割り当てられるBEHAVIORパラメータを含むものであってもよく、それぞれは、ユーザプロセスがメモリのオフラインモードをデフォルトモード、マイグレートモード、通知モード及び強制アンロックモードとなるよう設定することを示す。
ステップS170において、カーネルは、モード情報に従ってメモリのオフラインモードを変更する。具体的には、カーネルは、変更リクエストにおいて送信されるBEHAVIORパラメータに従って、ユーザプロセスにより設定されたオフラインモードを示すようにメモリのオフラインフラグを変更してもよい。
具体的には、例えば、オフラインモードが変更されることが要求されるメモリAについて、カーネルは、変更リクエストに含まれるBEHAVIORパラメータを解析してもよい。BEHAVIOR==DEFAULTである場合、カーネルは、ユーザプロセスがメモリAのオフラインモードをデフォルトモードとなるよう設定すると判定してもよい。このとき、カーネルは、メモリAのオフラインフラグPG_flagを変更してもよく、すなわち、オフラインフラグをDEFAULTの値に割り当て、PG_flag=DEFAULTとしてもよい。BEHAVIOR==MIGRATEである場合、カーネルは、ユーザプロセスがメモリAのオフラインモードをマイグレートモードとなるよう設定していると判定してもよく、このとき、カーネルは、メモリAのオフラインフラグをMIGRATEの値に割り当て、すなわち、PG_flag=MIGRATEとしてもよい。同様に、BEHAVIOR==NOTIFYである場合、カーネルは、ユーザプロセスがメモリAのオフラインモードを通知モードになるよう設定していると判定し、このとき、カーネルはメモリAのオフラインフラグをNOTIFYの値に割り当て、PG_flag=NOTIFYとしてもよい。BEHAVIOR==UNLOCKである場合、カーネルは、ユーザプロセスがメモリAのオフラインモードが強制アンロックモードになるよう設定していると判定し、このとき、カーネルは、メモリAのオフラインフラグをUNLOCKの値に割り当て、すなわち、PG_flag=UNLOCKとしてもよい。
ステップS130において、ユーザプロセスは、ユーザプロセスの要求に従ってコンピュータシステムのメモリをロックするようカーネルに要求してもよい。
ステップS140において、カーネルがユーザプロセスにより送信されたロッキングリクエストを受信した後、カーネルは、ロックされるよう要求されたメモリのオフラインモードを判定する必要があり、具体的なオフラインモードとロッキングリクエストとに従ってメモリをロックする。
具体的には、カーネルは、メモリのオフラインフラグを解析することによって、メモリのオフラインモードを判定してもよい。例えば、メモリのオフラインフラグがPG_flag=DEFAULTであるとカーネルが判定した場合、メモリのオフラインモードはデフォルトモードである。同様に、メモリのオフラインフラグPG_flagがMIGRATE、NOTIFY又はUNLOCKであるとカーネルが判定した場合、メモリのオフラインモードはマイグレートモード、通知モード又は強制アンロックモードであるとカーネルは判定してもよい。
任意的には、メモリのオフラインフラグがデフォルトモード、通知モード又は強制アンロックモードを示す場合、メモリはロックされる。メモリのオフラインモードがマイグレートモードを示す場合、メモリはマイグレートされ、メモリがマイグレートに成功した場合、マイグレートされたメモリはロックされ、マイグレートモードを示すオフラインフラグがマイグレートされたメモリについて設定される。メモリがマイグレートに不成功であった場合、メモリはロックされ、メモリのオフラインフラグは、デフォルトモードを示すよう変更される。
任意的には、メモリのオフラインモードがデフォルトモードであるとカーネルが判定した場合、カーネルは、当該メモリについてより適切なオフラインモードを再判定するようにしてもよい。すなわち、ステップS180において、カーネルは、コンピュータシステムの要求に従ってメモリのオフラインモードを再判定し、再判定されたオフラインモードを示すようにメモリのオフラインフラグを変更する。
ステップS150において、カーネルがユーザプロセスによりロックされたメモリをオフラインに配置する必要がある場合、カーネルは、メモリのオフラインフラグを解析することによって、メモリのオフラインモードを判定し、オフラインモードに従ってメモリをオフラインに配置するようにしてもよい。
任意的には、メモリのオフラインフラグがデフォルトモード又はマイグレートモードを示す場合、メモリはアンロックとなるよう待機され、メモリがアンロックになった後にマイグレートされる。メモリのオフラインフラグが通知モードを示す場合、ユーザプロセスはメモリをアンロックするようトリガされ、メモリがアンロックされた後にメモリはマイグレートされ、メモリがマイグレートされた後にマイグレートされたメモリをロックするようユーザプロセスはトリガされる。メモリのオフラインフラグが強制アンロックモードを示す場合、メモリはアンロックされ、メモリがアンロックされた後にマイグレートされ、マイグレートされたメモリに対して、強制アンロックモードを示すオフラインフラグが設定される。
従って、本発明の実施例によるコンピュータシステムのメモリを管理する方法では、カーネルとユーザプロセスとの間のインタラクションを介し、メモリについてオフラインモードを設定して、カーネルは、ユーザプロセスによりロックされたメモリをオフラインに配置するため、メモリのオフラインモードに従ってメモリをオフラインに配置可能であり、これにより、メモリのホットスワップを実現し、システムリソースの浪費を回避することができる。
本発明の実施例では、任意的には、図1Cに示されるように、ユーザプロセスがロックされたメモリをアンロックするため適用される場合、本発明の実施例による方法100はさらに以下を含む。
S190:メモリがアンロックされることを要求するのに利用されるユーザプロセスにより送信されるアンロッキングリクエストを受信する。
S195:アンロッキングリクエストに従って、メモリのオフラインフラグがマイグレートモードを示す場合、メモリをユーザプロセスが実行されているノードに再マイグレートする。
すなわち、ユーザプロセスがロックされたメモリのアンロックをアクティブに要求するプロセスでは、メモリのオフラインモードがマイグレートモードであることをメモリのオフラインフラグが示す場合、ロックされたメモリがアンロックされる前に、カーネルは、ユーザプロセスが実行されるノードにロックされたメモリを再マイグレートするため、ローカルメモリに適用されてもよい。デフォルトモード、通知モード又は強制アンロックモードであるオフラインモードによるロックされたメモリについて、カーネルは、ユーザプロセスの適用に従ってロックされたメモリを直接アンロックしてもよい。例えば、この場合、MIGRATEオフラインフラグのロックされたメモリについて、アンロックされる前に、メモリは、ユーザプロセスが実行されているノードに再マイグレートされ、システムパフォーマンスをさらに向上させることができる。
上記のステップのシーケンス番号は実行順序を意味しておらず、ステップの実行順序はファンクション及び内部ロジックに従って決定されるべきであり、本発明の実施例の実現処理を何れかの方法に限定することを意図していないことに留意すべきである。
従って、本発明の実施例によるコンピュータシステムのメモリを管理する方法では、カーネルとユーザプロセスとの間のインタラクションを介し、メモリについてオフラインモードを設定して、カーネルは、ユーザプロセスによりロックされたメモリをオフラインに配置するため、メモリのオフラインモードに従ってメモリをオフラインに配置可能であり、メモリのホットスワップを実現し、システムパフォーマンスを向上させ、システムリソースの浪費を回避することができる。
図2〜5に示される特定の実施例を参照して、本発明の実施例によるメモリのオフラインモードを変更する方法、メモリをロックする方法、ロックされたメモリをオフラインに配置する方法、及びメモリをアンロックする方法が、以下で詳細に説明される。
図2に示されるように、本発明の実施例によるメモリのオフラインモードを設定する方法200は以下を含む。
S201:ユーザプロセスは、当該ユーザプロセスの要求に従ってメモリAについて適用される。
S202:カーネルは、ユーザプロセスにより送信される割り当てリクエストに従ってユーザプロセスについてメモリを割り当て、メモリのオフラインモードを示すのに利用されるオフラインフラグを当該メモリについて設定する。任意的には、カーネルは、メモリのオフラインフラグPG_flagをデフォルトモードDEFAULTとなるよう設定し、すなわち、PG_flag=DEFAULTである。
任意的には、ユーザプロセスがメモリAに適用され、メモリAを取得した後、ユーザプロセスは、カーネルにより提供されるインタフェースを介しメモリAのオフラインモードを設定してもよく、ここで、オフラインモードは、デフォルトモード、マイグレートモード、通知モード及び強制アンロックモードを含む。
S203:ユーザプロセスは、メモリのオフラインモードを変更するため適用される変更リクエストをカーネルに送信する。ここで、変更リクエストは、メモリについてユーザプロセスにより設定されるオフラインモードを示すためのモード情報を含み、モード情報は、例えば、BEHAVIORパラメータである。
S204:カーネルは、ユーザプロセスにより提供されるBEHAVIORパラメータなどのモード情報を解析することによって、メモリAについてユーザプロセスにより設定されるオフラインモードを判定する。
メモリAについてユーザプロセスにより設定されたオフラインモードがデフォルトモードである場合、プロセスはステップS205に移行し、メモリAについてユーザプロセスにより設定されるオフラインモードがデフォルトモードでない場合、プロセスはステップS206、S207又はS208に移行する。具体的には、メモリAについてユーザプロセスにより設定されるオフラインモードがマイグレートモードである場合、プロセスはステップS206に移行し、メモリAについてユーザプロセスにより設定されるオフラインモードが通知モードである場合、プロセスはステップS207に移行し、メモリAについてユーザプロセスにより設定されるオフラインモードが強制アンロックモードである場合、プロセスはステップS208に移行する。
S205:カーネルは、メモリのオフラインフラグにDEFAULTの値を割り当て、すなわち、PG_flag=DEFAULTである。このとき、デフォルトモードであるユーザプロセスにより設定されるオフラインモードのメモリAについて、メモリAのオフラインフラグを設定するプロセスは終了する。
S206:カーネルは、メモリAのオフラインフラグに値を割り当て、すなわち、PG_flag=MIGRATEである。このとき、マイグレートモードであるユーザプロセスにより設定されるオフラインモードのメモリAについて、メモリAについてオフラインモードを設定するプロセスは終了する。
S207:カーネルは、メモリAのオフラインフラグにNOTIFYの値を割り当て、すなわち、PG_flag=NOTIFYである。このとき、通知モードであるユーザプロセスにより設定されるオフラインモードのメモリAについて、メモリAのオフラインモードを設定するプロセスは終了する。
S208:カーネルは、メモリAのオフラインフラグにUNLOCKの値を割り当て、すなわち、PG_flag=UNLOCKである。このとき、強制アンロックモードであるユーザプロセスにより設定されるオフラインモードのメモリAについて、メモリAのオフラインモードを設定するプロセスは終了する。
上記のステップのシーケンス番号は実行順序を意味するものでなく、ステップの実行順序はファンクションと内部ロジックとに従って判定されるべきであり、本発明の実施例の実現プロセスを何れかの方法により限定することを意図していないことに留意すべきである。
従って、カーネルとユーザプロセスとの間のインタラクションを介し、メモリについてオフラインモードを設定し、カーネルは、メモリをロックし、ユーザプロセスによりロックされたメモリをオフラインに配置するため、メモリのオフラインモードに従ってメモリをオフラインに配置できる。
図3は、本発明の実施例によるメモリをロックする方法300の概略的なフローチャートである。図3に示されるように、方法300は以下を含む。
S301:ユーザプロセスは、要求に従ってメモリAをロックすることをカーネルに要求する。
S302:カーネルは、メモリAのオフラインフラグPG_flagを解析することによって、メモリAについてオフラインモードを判定する。
メモリAのオフラインモードがデフォルトモードである、すなわち、PG_flag==DEFAULTであるとカーネルが判定した場合、プロセスはステップS303に移行し、メモリAのオフラインモードがデフォルトモードでない、すなわち、PG_flag!=DEFAULTであるとカーネルが判定した場合、プロセスはステップS305、S309又はS310に移行する。具体的には、メモリAのオフラインモードがマイグレートモードである、すなわち、PG_flag==MIGRATEであるとカーネルが判定した場合、プロセスはステップS305に移行し、メモリAのオフラインモードが通知モードである、すなわち、PG_flag==NOTIFYであるとカーネルが判定した場合、プロセスはステップS309に移行し、メモリAのオフラインモードが強制アンロックモードである、すなわち、PG_flag==UNLOCKであるとカーネルが判定した場合、プロセスはステップS310に移行する。
S303:カーネルは、コンピュータシステムのコンフィギュレーション又は要求を判定する。コンピュータシステムがシステム動作パフォーマンスを要求しているとカーネルが判定した場合、プロセスはステップS304に移行し、コンピュータシステムがホットスワップパフォーマンスを要求した場合、プロセスはステップS305に移行する。
S304:メモリAのオフラインモードがデフォルトモードである場合、カーネルは、メモリAをロックし、メモリのオフラインフラグにDEFAULTの値を割り当て、すなわち、PG_flag=DEFAULTとする。このとき、デフォルトモードであるオフラインモードのメモリAについて、メモリAをロックするプロセスは終了する。
S305:メモリAのオフラインモードがマイグレートモードである場合、カーネルは、マイグレート不可エリアであり、一般にプライマリノードに限定されるシステムの指定されたエリアにおいて、メモリBに再適用する。
S306:カーネルは、メモリAをメモリBにマイグレートし、メモリAをリリースする。
S307:カーネルは、メモリAがマイグレートに成功したか判定する。メモリAがマイグレートに成功した場合、プロセスはステップS308に移行し、そうでない場合、プロセスはステップS304に移行する。
S308:カーネルは、メモリBをロックし、メモリBについてオフラインフラグPG_flagを設定し、オフラインフラグにMIGRATEの値を割り当て、PG_flag=MIGRATEである。このとき、マイグレートモードであるオフラインモードのメモリAについて、メモリAをロックするプロセスは終了する。
S309:メモリAのオフラインモードが通知モードである場合、カーネルはメモリAをロックする。このとき、通知モードであるオフラインモードのメモリAについて、メモリAをロックするプロセスは終了する。
S310:メモリAのオフラインモードが強制アンロックモードである場合、カーネルはメモリAをロックする。このとき、強制アンロックモードであるオフラインモードのメモリAについて、メモリAをロックするプロセスは終了する。
上記のステップのシーケンス番号は実行順序を意味せず、ステップの実行順序はファンクションと内部ロジックとに従って決定されるべきであり、本発明の実施例の実現プロセスを何れかの方法により限定することを意図していないことに留意すべきである。
図4は、本発明の実施例によるロックされたメモリをオフラインに配置する方法400の概略的なフローチャートである。図4に示されるように、方法400は以下を含む。
S401:カーネルは、要求に従ってメモリAをオフラインに配置することを決定する。
S402:カーネルは、メモリAのオフラインフラグPG_flagを解析することによって、メモリAについて設定されたオフラインモードを判定する。
メモリAのオフラインモードがデフォルトモードである、すなわち、PG_flag==DEFAULTであるとカーネルが判定した場合、プロセスはステップS403に移行し、メモリAのオフラインモードがデフォルトモードでない、すなわち、PG_flag!=DEFAULTであるとカーネルが判定した場合、プロセスはステップS403、S406又はS408に移行する。具体的には、メモリAのオフラインモードがマイグレートモードであるすなわち、PG_flag==MIGRATEであるとカーネルが判定した場合、プロセスはステップS403に移行し、メモリAのオフラインモードが通知モードである、すなわち、PG_flag==NOTIFYであるとカーネルが判定した場合、プロセスはステップS406に移行し、メモリAのオフラインモードが強制アンロックモードである、すなわち、PG_flag==UNLOCKであるとカーネルが判定した場合、プロセスはステップS408に移行する。
S403:メモリAのオフラインモードがデフォルトモード又はマイグレートモードである場合、カーネルは、メモリAがユーザプロセスによりアンロックされることを待機する。
S404:カーネルは、メモリAがユーザプロセスによりアンロックされているかチェックする。メモリAがアンロックされている場合、プロセスはステップS405に移行し、そうでない場合、プロセスはステップS403に移行し、すなわち、カーネルはメモリAがアンロックされることを待機し続ける。
S405:メモリAがユーザプロセスによりアンロックされている場合、カーネルは、メモリAをマイグレートする。メモリAのマイグレートはメモリAを他のメモリにマイグレートすることであることに留意すべきである。マイグレート後の新たなメモリについて、カーネルは、PG_flag=DEFAULTとなるように新たなメモリのオフラインフラグを設定してもよい。このとき、デフォルトモード又はマイグレートモードであるオフラインモードのメモリAについて、メモリAをオフラインに配置するプロセスは終了する。
S406:メモリAのオフラインモードが通知モードである場合、カーネルは、メモリをアンロックするためユーザプロセスをトリガし、メモリAがユーザプロセスによりアンロックされた後にメモリAをマイグレートする。すなわち、メモリAのオフラインモードが通知モードである場合、プロセスは、ステップS406からステップS404、S405及びS407に移行する。
S407:メモリAがマイグレートした後、カーネルは、マイグレート後の新たなメモリをロックするため、ユーザプロセスをトリガする。マイグレート後の新たなメモリについて、カーネルは、PG_flag=NOTIFYとなるように新たなメモリのオフラインフラグを設定してもよい。このとき、通知モードであるオフラインモードのメモリAについて、メモリAをオフラインに配置するプロセスは終了する。
S408:メモリAのオフラインモードが強制アンロックモードである場合、カーネルはメモリAをアンロックする。
S409:カーネルは、メモリAがアンロックに成功したかチェックする。メモリAがアンロックされた場合、プロセスはステップS410に移行し、そうでない場合、プロセスはステップS408に移行し、すなわち、カーネルは、メモリAをアンロックし続ける。
S410:メモリAがアンロックされた後、カーネルはメモリAをマイグレートし、例えば、メモリAをメモリBにマイグレートする。
S411:カーネルは、新たなメモリBをロックし、新たなメモリBのオフラインモードが強制アンロックモードであることを特定するため、新たなメモリBについてオフラインフラグを設定し、、すなわち、オフラインフラグに割り当てられた値がUNLOCKであり、PG_flag=UNLOCKである。このとき、強制アンロックモードであるオフラインモードのメモリAについて、メモリAをオフラインに配置するプロセスは終了する。
図5は、本発明の実施例によるメモリをアンロックする方法500の概略的なフローチャートである。図5に示されるように、方法500は以下を含む。
S501:ユーザプロセスは、ロックされたメモリAをアンロックするようカーネルに要求する。
S502:カーネルは、メモリAのオフラインフラグを解析することによって、メモリAのオフラインモードを判定する。
メモリAのオフラインモードがデフォルトモードである、すなわち、PG_flag==DEFAULTであるとカーネルが判定した場合、プロセスはステップS504に移行し、メモリAのオフラインモードがデフォルトモードでない、すなわち、PG_flag!=DEFAULTであるとカーネルが判定した場合、プロセスはステップS503又はS504に移行する。具体的には、メモリAのオフラインモードがマイグレートモードである、すなわち、PG_flag==MIGRATEであるとカーネルが判定した場合、プロセスはステップS503及びS504に移行し、メモリAのオフラインモードが通知モードである、すなわち、PG_flag==NOTIFYである、又は強制アンロックモードである、すなわち、PG_flag==UNLOCKであると判定した場合、プロセスはステップS504に直接移行する。
S503:カーネルは、システムパフォーマンスをさらに向上させるため、ユーザプロセスが実行されているノードにメモリAを再マイグレートする。
S504:カーネルはメモリAをアンロックする。このとき、ユーザプロセスによるロックされたメモリAをアンロックするプロセスは終了する。
上記のステップのシーケンス番号は実行順序を意味せず、ステップの実行順序はファンクションと内部ロジックとに従って決定されるべきであり、本発明の実施例の実現プロセスを何れかの方法により限定することを意図していないことが留意されるべきである。
従って、本発明の実施例によるコンピュータシステムのメモリをマイグレートする方法では、カーネルとユーザプロセスとの間のインタラクションを介し、メモリについてオフラインモードを設定して、カーネルは、ユーザプロセスによりロックされたメモリをオフラインに配置するため、メモリのオフラインモードに従ってメモリをオフラインに配置でき、システムパフォーマンスを向上させ、システムリソースの浪費を回避することができる。
図1A〜5を参照して、本発明の実施例によるコンピュータシステムのメモリを管理する方法が詳細に説明され、本発明の実施例によるメモリ管理ユニットとコンピュータシステムとが、以下で図6〜12を参照して詳細に説明される。
図6は、本発明の実施例によるメモリ管理ユニット700の概略的なブロック図である。図6に示されるように、メモリ管理ユニット700は、ユーザプロセスにより送信される割当てリクエストであって、前記ユーザプロセスについてコンピュータシステムのメモリの割り当てを要求するのに利用される前記割当てリクエストを受信するよう構成される第1受信モジュール710と、前記第1受信モジュール710により受信される前記割当てリクエストに従って前記ユーザプロセスについて前記メモリを割り当て、前記メモリのオフラインモードを示すオフラインフラグを前記メモリについて設定するよう構成される割当てモジュール720と、前記ユーザプロセスにより送信されるロッキングリクエストであって、前記コンピュータシステムのメモリがロックされることを要求するのに利用される前記ロッキングリクエストを受信するよう構成される第2受信モジュール730と、前記メモリのオフラインフラグと前記第2受信モジュール730により受信されるロッキングリクエストとに従って前記メモリをロックするよう構成されるロッキングモジュール740と、前記メモリのオフラインフラグに従って前記ロッキングモジュールによりロックされたメモリをオフラインに配置するよう構成されるオフラインモジュール750と有する。
本発明の実施例によるメモリ管理ユニットでは、カーネルとユーザプロセスとの間のインタラクションを介し、メモリについてオフラインモードを設定することによって、カーネルは、ユーザプロセスによりロックされたメモリをオフラインに配置するため、メモリのオフラインモードに従ってメモリをオフラインに配置可能であり、これにより、システムパフォーマンスを向上させ、システムリソースの浪費を回避することが可能である。
本発明の実施例では、任意的には、オフラインモード又はオフラインポリシーは、DEFAULTモード、MIGRATEモード、NOTIFYモード及び強制UNLOCKモードの少なくとも1つを有してもよい。任意的には、オフラインモードは、デフォルトモード、マイグレートモード、通知モード及び強制アンロックモードを有する。
本発明の実施例では、任意的には、図7に示されるように、メモリ管理ユニット700はさらに、モード情報を有し、前記ユーザプロセスにより送信された変更リクエストを受信するよう構成される第3受信モジュール760であって、前記モード情報は前記メモリについてユーザプロセスにより設定されたオフラインモードを示す、前記第3受信モジュール760と、前記第3受信モジュール760により受信されるモード情報に従って前記ユーザプロセスにより設定されたオフラインモードを示すように前記メモリのオフラインフラグを変更するよう構成される変更モジュール770とをさらに有する。
本発明の実施例では、任意的には、図7に示されるように、メモリ管理ユニット700はさらに、前記メモリのオフラインモードがデフォルトモードである場合、前記コンピュータシステムの要求に従って前記メモリについて前記オフラインモードを再判定し、前記再判定されたオフラインモードを示すように前記メモリのオフラインフラグを変更するよう構成される判定モジュール700をさらに有する。
任意的には、図8に示されるように、メモリ管理ユニット700はさらに、前記ユーザプロセスにより送信されるアンロッキングリクエストを受信するよう構成される第4受信モジュール790であって、前記アンロッキングリクエストは前記メモリがアンロックされることを要求するのに利用される、前記第4受信モジュール790と、前記メモリのオフラインフラグが前記マイグレートモードを示すとき、前記ユーザプロセスが前記第4受信モジュールにより受信されるアンロッキングリクエストに従って実行されるノードに前記メモリを再マイグレートするよう構成される再マイグレートモジュール795とをさらに有する。
本発明の実施例では、図9に示されるように、本発明の実施例による前記ロッキングモジュール740は、前記メモリのオフラインフラグが前記デフォルトモード、前記通知モード又は前記強制アンロックモードを示すとき、前記メモリをロックするよう構成される第1ロッキングサブモジュール741と、前記メモリのオフラインフラグが前記マイグレートモードであることを示すとき、前記メモリをマイグレートし、前記メモリがマイグレートに成功したとき、マイグレートされたメモリをロックし、前記マイグレートされたメモリについて、前記メモリがマイグレートに成功したとき、前記マイグレートモードを示すオフラインフラグを設定し、前記メモリがマイグレートに不成功であったとき、前記メモリをロックし、前記メモリがマイグレートに不成功であったとき、前記デフォルトモードを示すように前記メモリのオフラインフラグを変更するよう構成される第2ロッキングサブモジュール742とを有する。
任意的には、図10に示されるように、前記オフラインモジュール750は、前記メモリのオフラインフラグが前記デフォルトモード又は前記マイグレートモードを示すとき、前記メモリがアンロックされることを待機し、前記メモリがアンロックされた後に前記メモリをマイグレートするよう構成される第1オフラインサブモジュール751と、前記メモリのオフラインフラグが前記通知モードを示すとき、前記メモリをアンロックするよう前記ユーザプロセスをトリガし、前記メモリがアンロックされた後に前記メモリをマイグレートし、前記メモリがマイグレートされた後に前記マイグレートされたメモリをロックするため前記ユーザプロセスをトリガするよう構成される第2オフラインサブモジュール752と、前記メモリのオフラインフラグが前記強制アンロックモードを示すとき、前記メモリをアンロックし、前記メモリがアンロックされた後に前記メモリをマイグレートし、前記マイグレートされたメモリをロックし、前記マイグレートされたメモリについて前記強制アンロックモードを示すオフラインフラグを設定するよう構成される第3オフラインサブモジュール753とを有する。
任意的には、図11に示されるように、前記判定モジュール750は、前記コンピュータシステムがシステム動作パフォーマンスを要求するとき、前記メモリのオフラインモードが前記デフォルトモードであると判定するよう構成される第1判定サブモジュール781と、前記コンピュータシステムがホットスワップパフォーマンスを要求するとき、前記メモリのオフラインモードが前記マイグレートモードであると判定するよう構成される第2判定サブモジュール782とを有する。
本発明の実施例によるメモリ管理ユニット700は、本発明の実施例による方法におけるカーネル又はオペレーティングシステムに対応してもよく、メモリ管理ユニット700の各モジュールの上記及び他の処理及び/又は機能はそれぞれ、簡単化のため、ここでは再度詳細には説明されない図1A〜5の方法100〜500の対応するステップを実現するため提供される。
本発明の実施例によるメモリ管理ユニットでは、カーネルとユーザプロセスとの間のインタラクションを介し、メモリについてオフラインモードを設定することによって、カーネルは、ユーザプロセスによりロックされたメモリをオフラインに配置するため、メモリのオフラインモードに従ってメモリをオフラインに配置可能であり、これにより、システムパフォーマンスを向上させ、システムリソースの浪費を回避することが可能である。
図12は、本発明の実施例によるコンピュータシステム800の概略的なブロック図である。図12に示されるように、コンピュータシステムは、少なくとも1つのメモリ810と、本発明の実施例によるメモリ管理ユニット820とを有し、メモリ管理ユニット820は、少なくとも1つのメモリ810を管理するよう構成され、ユーザプロセスにより送信される割当てリクエストであって、前記ユーザプロセスについてコンピュータシステムのメモリの割り当てを要求するのに利用される前記割当てリクエストを受信するよう構成される第1受信モジュールと、前記第1受信モジュール710により受信される前記割当てリクエストに従って前記ユーザプロセスについて前記メモリを割り当て、前記メモリのオフラインモードを示すオフラインフラグを前記メモリについて設定するよう構成される割当てモジュールと、前記ユーザプロセスにより送信されるロッキングリクエストであって、前記コンピュータシステムのメモリがロックされることを要求するのに利用される前記ロッキングリクエストを受信するよう構成される第2受信モジュールと、前記メモリのオフラインフラグと前記第2受信モジュールにより受信されるロッキングリクエストとに従って前記メモリをロックするよう構成されるロッキングモジュールと、前記メモリのオフラインフラグに従って前記ロッキングモジュールによりロックされたメモリをオフラインに配置するよう構成されるオフラインモジュールと有してもよい。
本発明の実施例では、任意的には、オフラインモードは、デフォルトモード、マイグレートモード、通知モード及び強制アンロックモードの少なくとも1つを有する。任意的には、メモリ管理ユニット820はさらに、モード情報を有し、前記ユーザプロセスにより送信された変更リクエストを受信するよう構成される第3受信モジュールであって、前記モード情報は前記メモリについてユーザプロセスにより設定されたオフラインモードを示す、前記第3受信モジュールと、前記第3受信モジュールにより受信されるモード情報に従って前記ユーザプロセスにより設定されたオフラインモードを示すように前記メモリのオフラインフラグを変更するよう構成される変更モジュールとをさらに有する。
任意的には、メモリ管理ユニット820はさらに、前記メモリのオフラインモードがデフォルトモードである場合、前記コンピュータシステムの要求に従って前記メモリについて前記オフラインモードを再判定し、前記再判定されたオフラインモードを示すように前記メモリのオフラインフラグを変更するよう構成される判定モジュールをさらに有する。
任意的には、メモリ管理ユニット820はさらに、前記ユーザプロセスにより送信されるアンロッキングリクエストを受信するよう構成される第4受信モジュールであって、前記アンロッキングリクエストは前記メモリがアンロックされることを要求するのに利用される、前記第4受信モジュールと、前記メモリのオフラインフラグが前記マイグレートモードを示すとき、前記ユーザプロセスが前記第4受信モジュールにより受信されるアンロッキングリクエストに従って実行されるノードに前記メモリを再マイグレートするよう構成される再マイグレートモジュールとをさらに有する。
本発明の実施例では、任意的には、前記ロッキングモジュールは、前記メモリのオフラインフラグが前記デフォルトモード、前記通知モード又は前記強制アンロックモードを示すとき、前記メモリをロックするよう構成される第1ロッキングサブモジュールと、前記メモリのオフラインフラグが前記マイグレートモードであることを示すとき、前記メモリをマイグレートし、前記メモリがマイグレートに成功したとき、マイグレートされたメモリをロックし、前記マイグレートされたメモリについて、前記メモリがマイグレートに成功したとき、前記マイグレートモードを示すオフラインフラグを設定し、前記メモリがマイグレートに不成功であったとき、前記メモリをロックし、前記メモリがマイグレートに不成功であったとき、前記デフォルトモードを示すように前記メモリのオフラインフラグを変更するよう構成される第2ロッキングサブモジュールとを有する。
本発明の実施例では、任意的には、前記オフラインモジュールは、前記メモリのオフラインフラグが前記デフォルトモード又は前記マイグレートモードを示すとき、前記メモリがアンロックされることを待機し、前記メモリがアンロックされた後に前記メモリをマイグレートするよう構成される第1オフラインサブモジュールと、前記メモリのオフラインフラグが前記通知モードを示すとき、前記メモリをアンロックするよう前記ユーザプロセスをトリガし、前記メモリがアンロックされた後に前記メモリをマイグレートし、前記メモリがマイグレートされた後に前記マイグレートされたメモリをロックするため前記ユーザプロセスをトリガするよう構成される第2オフラインサブモジュールと、前記メモリのオフラインフラグが前記強制アンロックモードを示すとき、前記メモリをアンロックし、前記メモリがアンロックされた後に前記メモリをマイグレートし、前記マイグレートされたメモリをロックし、前記マイグレートされたメモリについて前記強制アンロックモードを示すオフラインフラグを設定するよう構成される第3オフラインサブモジュールとを有する。
本発明の実施例によるメモリ管理ユニット820は、本発明の実施例による装置におけるメモリ管理ユニット700に対応してもよく、メモリ管理ユニット820の各モジュールの上記及び他の処理及び/又は機能はそれぞれ、簡単化のため、ここでは再度詳細には説明されない図1A〜5の方法100〜500の対応するステップを実現するため提供される。
本発明の実施例によるコンピュータシステムでは、カーネルとユーザプロセスとの間のインタラクションを介し、メモリについてオフラインモードを設定することによって、カーネルは、ユーザプロセスによりロックされたメモリをオフラインに配置するため、メモリのオフラインモードに従ってメモリをオフラインに配置し、これにより、メモリのホットスワップを実現し、システムパフォーマンスを向上させ、システムリソースの浪費を回避することが可能である。
本発明の実施例のロックされたメモリは、ユーザプロセスにより適用されるロックされたメモリに限定されずものでなく、他の目的のためのロックされたメモリがまた、本発明の実施例による手段を利用することによってオフラインに配置されてもよいことに留意すべきである。さらに、ロックされたメモリのオフラインポリシーのマイグレートポリシーは、ユーザプロセスにより形成され、カーネルにより実行される手段に限定されるものでなく、マイグレートポリシーは、ユーザプロセスが特別なメモリエリアに移動させるために適用されるメモリを指定し、これにより、マイグレートすることなくメモリをオフラインに配置する要求を実現してもよい。
当業者は、ここに開示された実施例に関して説明された具体例のユニット及びアルゴリズムのステップが、電子ハードウェア、コンピュータソフトウェア又はこれら2つの組み合わせにより実現可能であることを理解してもよい。ハードウェアとソフトウェアとの間の互換性を明確に説明するため、各具体例の構成及びステップは、上記説明における機能に従って概略的に説明された。これらの機能がハードウェア又はソフトウェアにより実行されるかは、技術的手段の特定の適用及び設計制約条件に依存する。当業者は、異なる方法を利用して、特定の各適用について説明された機能を実現してもよいが、実現形態は本発明の範囲を超えるとみなされるべきでない。
便宜上及び簡単な説明のため、上記システム、装置及びユニットの詳細な動作プロセスのため、方法の実施例における対応するプロセスが参照され、詳細はここでは再度説明されないことが、当業者に明確に理解できる。
本出願において提供される複数の実施例において、開示されたシステム、装置及び方法は他の方法により実現可能であることが理解されるべきである。例えば、開示された装置の実施例は単なる一例である。例えば、ユニットの分割は、単なる論理的な機能的分割であり、実際の実現形態では他の分割であってもよい。例えば、複数のユニット又はコンポーネントは、他のシステムに合成又は統合されてもよく、あるいは、いくつかの特徴は無視又は実行されなくてもよい。さらに、図示又は説明された結合、直接的な結合又は通信接続は、いくつかのインタフェース、装置又はユニットの間の間接的な結合又は通信接続を介し実現されてもよく、又は電気的、機械的又は他の形式によるものであってもよい。
別々のコンポーネントとして説明されるユニットは、物理的に分離されてもよいし、又はそうでなくてもよい。ユニットして示されるコンポーネントは、物理的ユニットであってもよいし、そうでなくてもよく、すなわち、統合されるか、又は複数のネットワークユニットに分散されてもよい。これらのユニットの一部又は全てが、実際の要求に従って実施例の手段の課題を実現するため選択されてもよい。
さらに、本発明の実施例における機能ユニットは、処理モジュールに統合されてもよいし、又はそれぞれが別々の物理ユニットであってもよく、あるいは、ユニットの2以上が1つのユニットに統合される。統合されたユニットは、ハードウェア又はソフトウェア機能ユニットを介し実現されてもよい。
ソフトウェア機能ユニットの形態により実現され、独立した製品として販売又は利用される場合、統合されたユニットはまた、コンピュータ可読記憶媒体に格納されてもよい。このような理解に基づき、本発明の技術的手段、従来技術に貢献する部分又は技術的手段の全て若しくは一部は、ソフトウェアプロダクトの形態により実質的に実現されてもよい。コンピュータソフトウェアプロダクトは、記憶媒体に格納され、コンピュータ装置(パーソナルコンピュータ、サーバ又はネットワーク装置など)に本発明の実施例において説明される方法のステップの全て又は一部を実行するよう指示するための複数の命令を有する。記憶媒体は、USBフラッシュドライブ、モバイルハードディスク、ROM(Read−Only Memory)、RAM(Random Access Memory)、磁気ディスク若しくは光ディスクなど、プログラムコードを格納可能な各種媒体を含む。
上記説明は、本発明の単なる特定の実施例であるが、本発明の保護範囲はこれに限定されるものでない。何れか等価な改良又は置換が、本発明の技術的範囲内であると当業者に容易にみなされる。従って、本発明の保護範囲は、添付した請求項に従う。

Claims (25)

  1. コンピュータシステムのメモリを管理する方法であって、
    ユーザプロセスにより送信された割当てリクエストであって、前記ユーザプロセスについて前記コンピュータシステムのメモリの割当てを要求するのに利用される前記割当てリクエストを受信するステップと、
    前記割当てリクエストに従って前記ユーザプロセスについて前記メモリを割り当てるステップと、
    前記メモリについてオフラインフラグを設定するステップであって、前記オフラインフラグはロックされたメモリをオフラインに配置することが要求されるときに用いられる前記メモリのための複数のオフラインモードの1つを示す、前記設定するステップと、
    前記ユーザプロセスにより送信されたロッキングリクエストであって、前記メモリがロックされることを要求するのに利用される前記ロッキングリクエストを受信するステップと、
    前記メモリのオフラインフラグに示される前記オフラインモードと前記ロッキングリクエストとに従って前記メモリをロックするステップと、
    オフラインに配置されることが要求されるときに前記ロックされたメモリのオフラインフラグに示される前記オフラインモードに従って前記ロックされたメモリをオフラインに配置するステップと、
    を有する方法。
  2. モード情報を有し、前記ユーザプロセスにより送信される変更リクエストを受信するステップであって、前記モード情報は前記メモリについてユーザプロセスにより設定されたオフラインモードを示す、前記受信するステップと、
    前記モード情報に従って、前記ユーザプロセスにより設定されたオフラインモードを示すため、前記メモリのオフラインフラグを変更するステップと、
    をさらに有する、請求項1記載の方法。
  3. 前記オフラインモードは、デフォルトモード、マイグレートモード、通知モード及び強制アンロックモードの少なくとも1つを有する、請求項1又は2記載の方法。
  4. 前記メモリのオフラインモードが前記デフォルトモードであるとき、前記コンピュータシステムの要求に従って前記メモリについて前記オフラインモードを再判定するステップと、
    前記再判定されたオフラインモードを示すように前記メモリのオフラインフラグを変更するステップと、
    をさらに有する、請求項3記載の方法。
  5. 前記コンピュータシステムの要求に従って前記メモリについて前記オフラインモードを再判定するステップは、
    前記コンピュータシステムがシステム動作パフォーマンスを要求するとき、前記メモリのオフラインモードを前記デフォルトモードであると判定するステップと、
    前記コンピュータシステムがホットスワップパフォーマンスを要求するとき、前記メモリのオフラインモードを前記マイグレートモードであると判定するステップと、
    を有する、請求項4記載の方法。
  6. 前記メモリのオフラインフラグと前記ロッキングリクエストとに従って前記メモリをロックするステップは、
    前記メモリのオフラインフラグが前記デフォルトモード、前記通知モード又は前記強制アンロックモードを示すとき、前記メモリをロックするステップと、
    前記メモリのオフラインフラグが前記マイグレートモードを示すとき、前記メモリをマイグレートするステップと、
    前記メモリのオフラインフラグが前記マイグレートモードを示し、前記メモリがマイグレートに成功すると、マイグレートされたメモリをロックするステップと、
    前記マイグレートされたメモリについて、前記メモリのオフラインフラグが前記マイグレートモードを示し、前記メモリがマイグレートに成功したとき、前記マイグレートモードを示すオフラインフラグを設定するステップと、
    前記メモリのオフラインフラグが前記マイグレートモードを示し、前記メモリがマイグレートに不成功であったとき、前記メモリをロックするステップと、
    前記メモリのオフラインフラグが前記マイグレートモードを示し、前記メモリがマイグレートに不成功であったとき、前記デフォルトモードを示すように前記メモリのオフラインフラグを変更するステップと、
    を有する、請求項3乃至5何れか一項記載の方法。
  7. 前記メモリのオフラインフラグに従って前記メモリをオフラインに配置するステップは、
    前記メモリのオフラインフラグが前記デフォルトモード又は前記マイグレートモードを示すとき、前記メモリがアンロックされることを待機するステップと、
    前記メモリのオフラインフラグが前記デフォルトモード又は前記マイグレートモードを示すとき、前記メモリがアンロックされた後に前記メモリをマイグレートするステップと、
    前記メモリのオフラインフラグが前記通知モードを示すとき、前記メモリをアンロックするように前記ユーザプロセスをトリガするステップと、
    前記メモリのオフラインフラグが前記通知モードを示すとき、前記メモリがアンロックされた後に前記メモリをマイグレートするステップと、
    前記メモリのオフラインフラグが前記通知モードを示すとき、前記メモリがマイグレートされた後に前記マイグレートされたメモリをロックするため、前記ユーザプロセスをトリガするステップと、
    前記メモリのオフラインフラグが前記強制アンロックモードを示すとき、前記メモリをアンロックするステップと、
    前記メモリのオフラインフラグが前記強制アンロックモードを示すとき、前記メモリがアンロックされた後に前記メモリをマイグレートするステップと、
    前記メモリのオフラインフラグが前記強制アンロックモードを示すとき、前記マイグレートされたメモリをロックするステップと、
    前記マイグレートされたメモリについて、前記メモリのオフラインフラグが前記強制アンロックモードを示すとき、前記強制アンロックモードを示すオフラインフラグを設定するステップと、
    を有する、請求項3乃至6何れか一項記載の方法。
  8. 前記ユーザプロセスにより送信されるアンロッキングリクエストを受信するステップであって、前記アンロッキングリクエストは前記メモリがアンロックされることを要求するのに利用される、前記受信するステップと、
    前記メモリのオフラインフラグが前記マイグレートモードを示すとき、前記ユーザプロセスが前記アンロッキングリクエストに従って実行されるノードに前記メモリを再マイグレートするステップと、
    を有する、請求項3乃至7何れか一項記載の方法。
  9. ユーザプロセスにより送信される割当てリクエストであって、前記ユーザプロセスについてコンピュータシステムのメモリの割り当てを要求するのに利用される前記割当てリクエストを受信するよう構成される第1受信モジュールと、
    前記第1受信モジュールにより受信される前記割当てリクエストに従って前記ユーザプロセスについて前記メモリを割り当て、ロックされたメモリをオフラインに配置することが要求されるときに用いられる前記メモリのための複数のオフラインモードの1つを示すオフラインフラグを前記メモリについて設定するよう構成される割当てモジュールと、
    前記ユーザプロセスにより送信されるロッキングリクエストであって、前記コンピュータシステムのメモリがロックされることを要求するのに利用される前記ロッキングリクエストを受信するよう構成される第2受信モジュールと、
    前記メモリのオフラインフラグに示される前記オフラインモードと前記第2受信モジュールにより受信される前記ロッキングリクエストとに従って前記メモリをロックするよう構成されるロッキングモジュールと、
    オフラインに配置されることが要求されるときに前記ロックされたメモリのオフラインフラグに示される前記オフラインモードに従って前記ロッキングモジュールによりロックされたメモリをオフラインに配置するよう構成されるオフラインモジュールと、
    を有するメモリ管理ユニット。
  10. モード情報を有し、前記ユーザプロセスにより送信された変更リクエストを受信するよう構成される第3受信モジュールであって、前記モード情報は前記メモリについてユーザプロセスにより設定されたオフラインモードを示す、前記第3受信モジュールと、
    前記第3受信モジュールにより受信されるモード情報に従って前記ユーザプロセスにより設定されたオフラインモードを示すように前記メモリのオフラインフラグを変更するよう構成される変更モジュールと、
    をさらに有する、請求項9記載のメモリ管理ユニット。
  11. 前記オフラインモードは、デフォルトモード、マイグレートモード、通知モード及び強制アンロックモードの少なくとも1つを有する、請求項9又は10記載のメモリ管理ユニット。
  12. 前記コンピュータシステムの要求に従って前記メモリについて前記オフラインモードを再判定し、前記メモリのオフラインモードが前記デフォルトモードであるとき、前記再判定されたオフラインモードを示すように前記メモリのオフラインフラグを変更するよう構成される判定モジュールをさらに有する、請求項11記載のメモリ管理ユニット。
  13. 前記判定モジュールは、
    前記コンピュータシステムがシステム動作パフォーマンスを要求するとき、前記メモリのオフラインモードが前記デフォルトモードであると判定するよう構成される第1判定サブモジュールと、
    前記コンピュータシステムがホットスワップパフォーマンスを要求するとき、前記メモリのオフラインモードが前記マイグレートモードであると判定するよう構成される第2判定サブモジュールと、
    を有する、請求項12記載のメモリ管理ユニット。
  14. 前記ロッキングモジュールは、
    前記メモリのオフラインフラグが前記デフォルトモード、前記通知モード又は前記強制アンロックモードを示すとき、前記メモリをロックするよう構成される第1ロッキングサブモジュールと、
    前記メモリのオフラインフラグが前記マイグレートモードであることを示すとき、前記メモリをマイグレートし、前記メモリがマイグレートに成功したとき、マイグレートされたメモリをロックし、前記マイグレートされたメモリについて、前記メモリがマイグレートに成功したとき、前記マイグレートモードを示すオフラインフラグを設定し、前記メモリがマイグレートに不成功であったとき、前記メモリをロックし、前記メモリがマイグレートに不成功であったとき、前記デフォルトモードを示すように前記メモリのオフラインフラグを変更するよう構成される第2ロッキングサブモジュールと、
    を有する、請求項11乃至13何れか一項記載のメモリ管理ユニット。
  15. 前記オフラインモジュールは、
    前記メモリのオフラインフラグが前記デフォルトモード又は前記マイグレートモードを示すとき、前記メモリがアンロックされることを待機し、前記メモリがアンロックされた後に前記メモリをマイグレートするよう構成される第1オフラインサブモジュールと、
    前記メモリのオフラインフラグが前記通知モードを示すとき、前記メモリをアンロックするよう前記ユーザプロセスをトリガし、前記メモリがアンロックされた後に前記メモリをマイグレートし、前記メモリがマイグレートされた後に前記マイグレートされたメモリをロックするため前記ユーザプロセスをトリガするよう構成される第2オフラインサブモジュールと、
    前記メモリのオフラインフラグが前記強制アンロックモードを示すとき、前記メモリをアンロックし、前記メモリがアンロックされた後に前記メモリをマイグレートし、前記マイグレートされたメモリをロックし、前記マイグレートされたメモリについて前記強制アンロックモードを示すオフラインフラグを設定するよう構成される第3オフラインサブモジュールと、
    を有する、請求項11乃至14何れか一項記載のメモリ管理ユニット。
  16. 前記ユーザプロセスにより送信されるアンロッキングリクエストを受信するよう構成される第4受信モジュールであって、前記アンロッキングリクエストは前記メモリがアンロックされることを要求するのに利用される、前記第4受信モジュールと、
    前記メモリのオフラインフラグが前記マイグレートモードを示すとき、前記ユーザプロセスが前記第4受信モジュールにより受信されるアンロッキングリクエストに従って実行されるノードに前記メモリを再マイグレートするよう構成される再マイグレートモジュールと、
    をさらに有する、請求項11乃至15何れか一項記載のメモリ管理ユニット。
  17. 少なくとも1つのメモリと、
    前記メモリに接続されるプロセッサと、
    を有するコンピュータシステムであって、
    前記プロセッサは、
    ユーザプロセスについて当該コンピュータシステムのメモリの割当てを要求するのに利用される前記ユーザプロセスにより送信された割当てリクエストを受信し、
    前記割当てリクエストに従って前記ユーザプロセスに前記メモリを割当て、
    ロックされたメモリをオフラインに配置することが要求されるときに用いられる前記メモリのための複数のオフラインモードの1つを示すオフラインフラグを前記メモリについて設定し、
    前記メモリがロックされることを要求するのに利用される前記ユーザプロセスにより送信されるロッキングリクエストを受信し、
    前記メモリのオフラインフラグに示される前記オフラインモードと前記ロッキングリクエストとに従って前記メモリをロックし、
    オフラインに配置されることが要求されるときに前記ロックされたメモリのオフラインフラグに示される前記オフラインモードに従って前記ロックされたメモリをオフラインに配置する、
    よう構成されるコンピュータシステム。
  18. 前記プロセッサはさらに、
    前記メモリのユーザプロセスにより設定されたオフラインモードを示すモード情報を有し、前記ユーザプロセスにより送信される変更リクエストを受信し、
    前記モード情報に従って前記ユーザプロセスにより設定されたオフラインモードを示すように前記メモリのオフラインフラグを変更する、
    よう構成される、請求項17記載のシステム。
  19. 前記オフラインモードは、デフォルトモード、マイグレートモード、通知モード及び強制アンロックモードの少なくとも1つを有する、請求項17又は18記載のシステム。
  20. 前記プロセッサはさらに、
    前記メモリのオフラインモードが前記デフォルトモードであるとき、当該コンピュータシステムの要求に従って前記メモリのオフラインモードを再判定し、
    前記再判定されたオフラインモードを示すように前記メモリのオフラインフラグを変更する、
    よう構成される、請求項19記載のシステム。
  21. 当該コンピュータシステムの要求に従って前記メモリのオフラインモードを再判定する際、前記プロセッサはさらに、
    当該コンピュータシステムがシステム動作パフォーマンスを要求するとき、前記メモリのオフラインモードを前記デフォルトモードであると判定し、
    当該コンピュータシステムがホットスワップパフォーマンスを要求するとき、前記メモリのオフラインモードを前記マイグレートモードであると判定する、
    よう構成される、請求項20記載のシステム。
  22. 前記メモリのオフラインフラグと前記ロッキングリクエストとに従って前記メモリをロックする際、前記プロセッサはさらに、
    前記メモリのオフラインフラグが前記デフォルトモード、前記通知モード又は前記強制アンロックモードを示すとき、前記メモリをロックし、
    前記メモリのオフラインフラグが前記マイグレートモードを示すとき、前記メモリをマイグレートし、
    前記メモリのオフラインフラグが前記マイグレートモードを示し、前記メモリがマイグレートに成功したとき、マイグレートされたメモリをロックし、
    前記マイグレートされたメモリについて、前記メモリのオフラインフラグが前記マイグレートモードを示し、前記メモリがマイグレートに成功したとき、前記マイグレートモードを示すオフラインフラグを設定し、
    前記メモリのオフラインフラグが前記マイグレートモードを示し、前記メモリがマイグレートに不成功であったとき、前記メモリをロックし、
    前記メモリのオフラインフラグが前記マイグレートモードを示し、前記メモリがマイグレートに不成功であったとき、前記デフォルトモードを示すように前記メモリのオフラインフラグを変更する、
    よう構成される、請求項19乃至21何れか一項記載のシステム。
  23. 前記メモリのオフラインフラグに従って前記メモリをオフラインに配置する際、前記プロセッサはさらに、
    前記メモリのオフラインフラグが前記デフォルトモード又は前記マイグレートモードを示すとき、前記メモリがアンロックされるのを待機し、
    前記メモリのオフラインフラグが前記デフォルトモード又は前記マイグレートモードを示すとき、前記メモリがアンロックされた後に前記メモリをマイグレートし、
    前記メモリのオフラインフラグが前記通知モードを示すとき、前記メモリをアンロックするため前記ユーザプロセスをトリガし、
    前記メモリのオフラインフラグが前記通知モードを示すとき、前記メモリがアンロックされた後に前記メモリをマイグレートし、
    前記メモリのオフラインフラグが前記通知モードを示すとき、前記メモリがマイグレートされた後に前記マイグレートされたメモリをロックするため前記ユーザプロセスをトリガし、
    前記メモリのオフラインフラグが前記強制アンロックモードを示すとき、前記メモリをアンロックし、
    前記メモリのオフラインフラグが前記強制アンロックモードを示すとき、前記マイグレートされたメモリをロックし、
    前記マイグレートされたメモリについて、前記メモリのオフラインフラグが前記強制アンロックモードを示すとき、前記強制アンロックモードを示すオフラインフラグを設定する、
    よう構成される、請求項19乃至22何れか一項記載のシステム。
  24. 前記プロセッサはさらに、
    前記メモリがアンロックされることを要求するのに利用される前記ユーザプロセスにより送信されるアンロッキングリクエストを受信し、
    前記メモリのオフラインフラグが前記マイグレートモードを示すとき、前記アンロッキングリクエストに従って前記ユーザプロセスが実行されるノードに前記メモリを再マイグレートする、
    よう構成される、請求項19乃至23何れか一項記載のシステム。
  25. 請求項1乃至8何れか一項記載の方法をコンピュータに実行させるためのコンピュータプログラム。
JP2014505486A 2011-08-31 2011-08-31 コンピュータシステムのメモリを管理する方法、メモリ管理ユニット及びコンピュータシステム Active JP5636133B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2011/079202 WO2012083724A1 (zh) 2011-08-31 2011-08-31 管理计算机系统内存的方法、内存管理单元和计算机系统

Publications (2)

Publication Number Publication Date
JP2014515145A JP2014515145A (ja) 2014-06-26
JP5636133B2 true JP5636133B2 (ja) 2014-12-03

Family

ID=45761450

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014505486A Active JP5636133B2 (ja) 2011-08-31 2011-08-31 コンピュータシステムのメモリを管理する方法、メモリ管理ユニット及びコンピュータシステム

Country Status (8)

Country Link
US (1) US20130246729A1 (ja)
EP (1) EP2642387B1 (ja)
JP (1) JP5636133B2 (ja)
KR (1) KR101532397B1 (ja)
CN (1) CN102369518B (ja)
AU (1) AU2011348864B2 (ja)
RU (1) RU2565519C2 (ja)
WO (1) WO2012083724A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103514164B (zh) * 2012-06-15 2016-12-21 阿里巴巴集团控股有限公司 数据迁移方法及系统
CN105159838B (zh) * 2015-08-27 2018-06-26 华为技术有限公司 访问内存的方法及计算机系统
CN105117295A (zh) * 2015-09-18 2015-12-02 北京金山安全软件有限公司 一种内存资源释放方法、装置及电子设备
CN113688068B (zh) * 2021-10-25 2022-02-15 支付宝(杭州)信息技术有限公司 图数据加载方法及装置

Family Cites Families (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0827755B2 (ja) * 1991-02-15 1996-03-21 インターナショナル・ビジネス・マシーンズ・コーポレイション データの単位を高速度でアクセスする方法
JPH0997205A (ja) * 1995-09-28 1997-04-08 Canon Inc フラッシュrom管理方法及び装置及びコンピュータ制御装置
US5933847A (en) * 1995-09-28 1999-08-03 Canon Kabushiki Kaisha Selecting erase method based on type of power supply for flash EEPROM
US6038680A (en) * 1996-12-11 2000-03-14 Compaq Computer Corporation Failover memory for a computer system
US6493796B1 (en) * 1999-09-01 2002-12-10 Emc Corporation Method and apparatus for maintaining consistency of data stored in a group of mirroring devices
JP2001167001A (ja) * 1999-10-28 2001-06-22 Hewlett Packard Co <Hp> 自己回復するメモリ構成
US6823424B2 (en) * 2000-01-26 2004-11-23 Hewlett-Packard Development Company, L.P. Rebuild bus utilization
US6832301B2 (en) * 2001-09-11 2004-12-14 International Business Machines Corporation Method for recovering memory
US6684292B2 (en) * 2001-09-28 2004-01-27 Hewlett-Packard Development Company, L.P. Memory module resync
US7673090B2 (en) * 2001-12-19 2010-03-02 Intel Corporation Hot plug interface control method and apparatus
US7028215B2 (en) * 2002-05-03 2006-04-11 Hewlett-Packard Development Company, L.P. Hot mirroring in a computer system with redundant memory subsystems
US6874076B2 (en) * 2002-09-30 2005-03-29 International Business Machines Corporation Method, system, and computer program product for migrating data from one real page to another
US6947051B2 (en) * 2003-02-18 2005-09-20 Microsoft Corporation Video memory management
US6990545B2 (en) * 2003-04-28 2006-01-24 International Business Machines Corporation Non-disruptive, dynamic hot-plug and hot-remove of server nodes in an SMP
US7107411B2 (en) * 2003-12-16 2006-09-12 International Business Machines Corporation Apparatus method and system for fault tolerant virtual memory management
US7380039B2 (en) * 2003-12-30 2008-05-27 3Tera, Inc. Apparatus, method and system for aggregrating computing resources
US7840772B2 (en) * 2004-09-10 2010-11-23 Hewlett-Packard Development Company, L.P. Physical memory control using memory classes
RU2272362C1 (ru) * 2004-09-21 2006-03-20 Военный университет связи Способ управления потоками при передаче пакетов данных
US7467324B1 (en) * 2004-09-30 2008-12-16 Ayaya Inc. Method and apparatus for continuing to provide processing on disk outages
US7222200B2 (en) * 2004-10-14 2007-05-22 Dell Products L.P. Method for synchronizing processors in SMI following a memory hot plug event
CN1811742A (zh) * 2005-01-28 2006-08-02 乐金电子(惠州)有限公司 闪存的界面设备及其方法
US7383412B1 (en) * 2005-02-28 2008-06-03 Nvidia Corporation On-demand memory synchronization for peripheral systems with multiple parallel processors
JP4274140B2 (ja) * 2005-03-24 2009-06-03 日本電気株式会社 ホットスワップ機能付きメモリシステム及びその障害メモリモジュールの交換方法
JP4474648B2 (ja) * 2005-03-25 2010-06-09 日本電気株式会社 メモリシステム及びそのホットスワップ方法
US7437529B2 (en) * 2005-06-16 2008-10-14 International Business Machines Corporation Method and mechanism for efficiently creating large virtual memory pages in a multiple page size environment
US20070083482A1 (en) * 2005-10-08 2007-04-12 Unmesh Rathi Multiple quality of service file system
US7472249B2 (en) * 2006-06-30 2008-12-30 Sun Microsystems, Inc. Kernel memory free algorithm
US20080127182A1 (en) * 2006-11-29 2008-05-29 Newport William T Managing Memory Pages During Virtual Machine Migration
US20080228770A1 (en) * 2007-03-15 2008-09-18 Halcrow Michael A Method for Performing Recoverable Live Context Migration in a Stacked File System
US20090006402A1 (en) * 2007-06-28 2009-01-01 Holger Bohle Methods and systems for the dynamic selection of a locking strategy
KR20090005921A (ko) * 2007-07-10 2009-01-14 삼성전자주식회사 대칭적 다중 프로세서 시스템에서의 로드 밸런싱 방법 및장치
JP2009211132A (ja) * 2008-02-29 2009-09-17 Hitachi Ltd 記憶システム及びデータ移行方法
US9128964B2 (en) * 2008-03-31 2015-09-08 Verizon Patent And Licensing Inc. Selective mapping of integrated data
US8140825B2 (en) * 2008-08-05 2012-03-20 International Business Machines Corporation Systems and methods for selectively closing pages in a memory
EP2315126A4 (en) * 2008-08-11 2012-06-20 Fujitsu Ltd PEST INFORMATION COLLECTION PROGRAM, PASSING INFORMATION COLLECTION METHOD, AND PASSING INFORMATION COLLECTION SYSTEM
US8200771B2 (en) * 2008-10-10 2012-06-12 International Business Machines Corporation Workload migration using on demand remote paging
JP5338435B2 (ja) * 2009-03-31 2013-11-13 富士通株式会社 情報処理プログラム、情報処理装置および情報処理方法
US8973004B2 (en) * 2009-06-26 2015-03-03 Oracle America, Inc. Transactional locking with read-write locks in transactional memory systems
US8549249B1 (en) * 2009-09-21 2013-10-01 Tilera Corporation Supporting secondary atomic operations using primary atomic operations
US20110161620A1 (en) * 2009-12-29 2011-06-30 Advanced Micro Devices, Inc. Systems and methods implementing shared page tables for sharing memory resources managed by a main operating system with accelerator devices
US8438571B2 (en) * 2010-02-24 2013-05-07 International Business Machines Corporation Thread speculative execution and asynchronous conflict
CN102222037B (zh) * 2010-04-15 2014-04-02 国际商业机器公司 用于定位java程序的瓶颈的方法和设备
US8799904B2 (en) * 2011-01-21 2014-08-05 International Business Machines Corporation Scalable system call stack sampling
US8869172B2 (en) * 2011-09-30 2014-10-21 Quietus Systems Inc. Method and system method and system for exception-less system calls for event driven programs
US9176911B2 (en) * 2012-12-11 2015-11-03 Intel Corporation Explicit flow control for implicit memory registration

Also Published As

Publication number Publication date
RU2565519C2 (ru) 2015-10-20
EP2642387A4 (en) 2014-01-22
AU2011348864A1 (en) 2013-10-10
EP2642387A1 (en) 2013-09-25
KR101532397B1 (ko) 2015-06-29
JP2014515145A (ja) 2014-06-26
AU2011348864B2 (en) 2017-05-25
RU2013142946A (ru) 2015-03-27
CN102369518A (zh) 2012-03-07
EP2642387B1 (en) 2015-07-15
KR20130122692A (ko) 2013-11-07
WO2012083724A1 (zh) 2012-06-28
CN102369518B (zh) 2014-07-09
US20130246729A1 (en) 2013-09-19

Similar Documents

Publication Publication Date Title
EP3487149B1 (en) Data shard storage method, device and system
EP2784670B1 (en) Memory management method, memory management device and numa system
JP5510556B2 (ja) 仮想マシンのストレージスペースおよび物理ホストを管理するための方法およびシステム
CN107534579B (zh) 资源管理的系统和方法
JP4119162B2 (ja) 多重化計算機システム、論理計算機の割当方法および論理計算機の割当プログラム
US6944847B2 (en) Virtualization of input/output devices in a logically partitioned data processing system
EP3185516A1 (en) Address processing method, related device and system
WO2012068867A1 (zh) 虚拟机管理系统及其使用方法
JP5636133B2 (ja) コンピュータシステムのメモリを管理する方法、メモリ管理ユニット及びコンピュータシステム
US8056084B2 (en) Method and system for dynamically reallocating a resource among operating systems without rebooting of the computer system
CN107113193B (zh) 一种确定vnf的处理策略的方法、装置及系统
WO2014173364A1 (zh) 共享资源访问方法和装置
WO2009092322A1 (zh) 一种多处理器系统故障恢复的方法及装置
CN114518955A (zh) 一种基于kubernetes的Flink云原生部署架构方法及系统
JP2008225520A (ja) 仮想マシン環境においてメモリ資源を配置するメモリ資源配置制御方法、仮想マシンシステム及びプログラム
CN104461705A (zh) 一种业务访问的方法及存储控制器、集群存储系统
CN110019475B (zh) 数据持久化处理方法、装置及系统
CN112711469A (zh) 云主机迁移方法、装置、计算机设备和存储介质
CN107203329B (zh) 存储管理方法及设备
CN112153628A (zh) 码号资源的激活管理、指令处理、重启管理方法、装置
CN110046138B (zh) 一种iSCSI目标器多实例处理方法及分布式存储系统
US20060230246A1 (en) Memory allocation technique using memory resource groups
CN107615872B (zh) 一种释放连接的方法、装置及系统
JP2014139702A (ja) 仮想計算機システムとその制御方法、プログラム、および集積回路
JP2005148875A (ja) 論理区画の資源動的割り当て変更方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140701

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140912

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141017

R150 Certificate of patent or registration of utility model

Ref document number: 5636133

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250