JP2014522033A - リソースマイグレーションのための方法、装置及びシステム - Google Patents

リソースマイグレーションのための方法、装置及びシステム Download PDF

Info

Publication number
JP2014522033A
JP2014522033A JP2014521906A JP2014521906A JP2014522033A JP 2014522033 A JP2014522033 A JP 2014522033A JP 2014521906 A JP2014521906 A JP 2014521906A JP 2014521906 A JP2014521906 A JP 2014521906A JP 2014522033 A JP2014522033 A JP 2014522033A
Authority
JP
Japan
Prior art keywords
node
memory
migrated
unprocessed
affinity
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.)
Pending
Application number
JP2014521906A
Other languages
English (en)
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 JP2014522033A publication Critical patent/JP2014522033A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration

Landscapes

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

Abstract

本発明の実施例は、ノード間のメモリアクセス及びノード間のキャッシュアクセスを回避し、ノード間の高速帯域幅を保持し、システム性能を改善するために、プロセッサの分野に関するリソースマイグレーションのための方法及び装置を開示する。本発明は、ノードが除去された場合、ノードのプロセスを取得し、プロセスとプロセスに対応するメモリとの間のマッピング及びプロセスのアフィニティに従って、プロセスとプロセスに対応するメモリとがマイグレーションされる宛先ノードを判定し、ノードのプロセスとプロセスに対応するメモリとを宛先ノードにマイグレーションすることを含む。本発明の実施例は、主にリソースマイグレーション手順に適用される。

Description

本発明は、プロセッサ技術の分野に関し、特にリソースマイグレーション(resource migration)のための方法、装置及びシステムに関する。
サーバシステムが実行している状況で、デバイス又はノード(node)がシステムに挿入された場合又はシステムから除去された(取り外された)場合、システムの通常動作は影響を受け得ない。現在では、Linux(登録商標)カーネルは、論理CPUにおいて挿入又は除去動作を実現し、セクション(section)を単位として取り、メモリでの挿入又は除去を実行する。現在では、ノードが除去される手順に2つの技術的対策が適用されており、ノードが除去された場合、ノードのメモリ情報は、セクションを単位として取ることにより他のアイドルのメモリにマイグレーションされる。同時に、ノードの論理CPUのプロセスは、他の論理CPUにマイグレーションされる。メモリ情報及びプロセスは別々にマイグレーションされる。
リソースマイグレーションのための方法、装置及びシステムを実施するプロセスにおいて、発明者は、従来技術が少なくとも以下の問題を有することを見出した。現在では、ノードが除去される手順において、ノードのプロセスと、ノードのメモリ情報とは別々にマイグレーションされるため、ノード間のメモリアクセス及びノード間のキャッシュ(cache)アクセスを行わせるために、ノードのプロセスと、ノードの中に存在してプロセスに対応するメモリ情報とは、異なるノードにマイグレーションされる。これにより、ノード間の高速帯域幅を占有し、システム性能を低減する。
本発明の実施例は、ノード間のメモリアクセス及びノード間のキャッシュアクセスを回避し、ノード間の高速帯域幅を保持し、システム性能を改善するために、リソースマイグレーションのための方法、装置及びシステムを提供する。
前述の目的を解決するため、本発明の実施例は、以下の技術的対策を採用する。
リソースマイグレーションのための方法は、ノードが除去された場合、プロセスと対応するメモリとの間のマッピング及びプロセスのアフィニティを含むノードのプロセス情報を取得し、プロセスとプロセスに対応するメモリとの間のマッピング及びプロセスのアフィニティに従って、プロセスとプロセスに対応するメモリとがマイグレーションされる宛先ノードを判定し、ノードのプロセスとプロセスに対応するメモリとを宛先ノードにマイグレーションすることを含む。
リソースマイグレーションのための装置は、ノードが除去された場合、プロセスとプロセスに対応するメモリとの間のマッピング及びプロセスのアフィニティを含むノードのプロセス情報を取得するように構成された第1の取得ユニットと、プロセスとプロセスに対応するメモリとの間のマッピング及びプロセスのアフィニティに従って、プロセスとプロセスに対応するメモリとがマイグレーションされる宛先ノードを判定するように構成された第1の判定ユニットと、ノードのプロセスとプロセスに対応するメモリとを宛先ノードにマイグレーションするように構成された第1のマイグレーションユニットとを含む。
リソースマイグレーションのためのシステムは、各ノードがCPUとメモリとを含む複数のノードを含み、複数のノードは、移入対象のノードと、移出対象のノードと、制御ノードとを含み、制御ノードのCPUは、移出対象のノードが除去された場合、移出対象のノードのプロセス情報を取得し、プロセス情報に従って、プロセスとプロセスに対応するメモリとがマイグレーションされる移入対象のノードを判定し、移出対象のノードのプロセスとプロセスに対応するメモリとを移入対象のノードにマイグレーションするように構成され、プロセス情報は、プロセスとプロセスに対応するメモリとの間のマッピング及びプロセスのアフィニティを有する。
本発明の実施例で提供されるリソースマイグレーションのための方法、装置及びシステムでは、ノードが除去された場合、プロセスとプロセスに対応するメモリとがマイグレーションされる宛先ノードは、プロセスとプロセスに対応するメモリとの間のマッピング及びプロセスのアフィニティに従って判定され、ノードのプロセスとプロセスに対応するメモリとは、宛先ノードにマイグレーションされる。これにより、ノードのプロセスとプロセスに対応するメモリとが同じ宛先ノードにマイグレーションされることが可能になることで、ノード間のメモリアクセス及びノード間のキャッシュアクセスを回避し、ノード間の高速帯域幅を保持し、システム性能を改善する。
本発明の実施例1により提供されるリソースマイグレーションのための方法のフローチャート 本発明の実施例2により提供されるリソースマイグレーションのための方法のフローチャート 本発明の実施例2により提供されるリソースマイグレーションのための他の方法のフローチャート 本発明の実施例2により提供されるリソースマイグレーションのための他の方法のフローチャート 本発明の実施例2により提供されるリソースマイグレーションのための方法の例の概略図 本発明の実施例3により提供されるリソースマイグレーションのための他の装置の構成のブロック図 本発明の実施例3により提供されるリソースマイグレーションのための他の装置の構成のブロック図 本発明の実施例3により提供されるリソースマイグレーションのための他の装置の構成のブロック図 本発明の実施例3により提供されるリソースマイグレーションのための他の装置の構成のブロック図 本発明の実施例3により提供されるリソースマイグレーションのための他の装置の構成のブロック図 本発明の実施例3により提供されるリソースマイグレーションのためのシステムの構成のブロック図
本発明の実施例又は従来技術における技術的対策を明瞭に説明するために、以下に、実施例又は従来技術を説明するために必要な添付図面について簡単に紹介する。明らかに、以下の説明における添付図面は、本発明の単にいくつかの実施例を示しているに過ぎず、当業者は、創造的取り組みを行うことなく、依然として添付図面から他の図面を導くことができる。
以下に、本発明の実施例の添付図面を参照して、本発明の実施例の技術的対策を明瞭且つ完全に説明する。明らかに、記載の実施例は、本発明の実施例の全てではなく、単なる一部に過ぎない。創造的取り組みを行うことなく、本発明の実施例に基づいて当業者により得られる全ての他の実施例も本発明の保護範囲内に入るものとする。
<実施例1>
本発明の実施例は、リソースマイグレーション(resource migration)のための方法を提供する。図1に示すように、この方法は以下のステップを含む。
101:ノードが除去された場合、プロセスと対応するメモリとの間のマッピング及びプロセスのアフィニティを含むノードのプロセス情報を取得する。プロセスは、VMA(Virtual Memory Area)マッピングに従ってプロセスに対応するメモリを見つけることができ、アフィニティ(affinity)は、プロセスが或る特定のノードの或る特定のCPUで強制的に実行されるという特性である。
102:プロセスとプロセスに対応するメモリとの間のマッピング及びプロセスのアフィニティに従って、プロセスとプロセスに対応するメモリとがマイグレーションされる宛先ノードを判定する。
103:ノードのプロセスとプロセスに対応するメモリとを宛先ノードにマイグレーションする。
ノードのプロセスとプロセスに対応するメモリとが宛先ノードにマイグレーションされる場合、マイグレーションは、以下の方法で実施されてもよいが、以下の方法に限定されない点に留意すべきである。プロセスで伝達される優先度に従って、ノードのプロセスとプロセスに対応するメモリとを宛先ノードにマイグレーションし、優先度が高いプロセスを優先的にマイグレーションする。本発明の実施例は、これに対する限定はなく、ユーザは特定の要件に従って設定を実行してもよい。
本発明の実施例により提供されるリソースマイグレーションのための方法では、ノードが除去された(取り外された)場合、プロセスとプロセスに対応するメモリとがマイグレーションされる宛先ノードは、プロセスとプロセスに対応するメモリとの間のマッピング及びプロセスのアフィニティに従って判定され、ノードのプロセスとプロセスに対応するメモリとは、宛先ノードにマイグレーションされる。これにより、ノードのプロセスとプロセスに対応するメモリとが同じ宛先ノードにマイグレーションされることが可能になることで、ノード間のメモリアクセス及びノード間のキャッシュアクセスを回避し、ノード間の高速帯域幅を保持し、システム性能を改善する。
<実施例2>
本発明の実施例は、リソースマイグレーションのための方法を提供する。図2に示すように、特に図5を説明のための例として挙げることにより、この方法は以下のステップを含む。
201:ノードが除去された場合、プロセスと対応するメモリとの間のマッピング及びプロセスのアフィニティを含むノードのプロセス情報を取得する。
特に、図5では、ノード6が除去されるノードであり、プロセス1000、1001、1005、2001、2003、2004及び2006がノード内のプロセスである。
202:プロセスとプロセスに対応するメモリとの間のマッピングを分析する。
特に、図5では、プロセス1000、1001及び1005に対応するメモリは、メモリ1に位置し、プロセス2000及び2003に対応するメモリは、メモリ1に位置し、プロセス2004及び2006に対応するメモリは、ノード1のメモリに位置する。
203:対応するメモリが複数のプロセスに使用されることを検出した場合、複数のプロセスを1つのグループにグループ化する。
複数のプロセスは以下の方法に従ってグループにグループ化されてもよいが、以下の方法に限定されない点に留意すべきである。この方法は、同じ識別子を各グループの複数のプロセスに割り当てる。本発明の実施例は、これに対する限定はなく、特にユーザは実際の状況に従って設定を実行してもよい。
特に図5では、メモリ1においてメモリの一部は、プロセス1000、1001及び1005により使用されるため、プロセス1000、1001及び1005は1つのグループにグループ化され、グループ1として識別される。メモリ1においてメモリの一部は、プロセス2000及び2003により使用されるため、プロセス2001及び2003は1つのグループにグループ化され、グループ2として識別される。
204:1つのグループにグループ化された複数のプロセスのアフィニティを満たすノードを探索し、1つのグループにグループ化された複数のプロセスと対応するメモリとがマイグレーションされる宛先ノードとしてそのノードを判定する。
特に図5では、ノード6及びノード5は、グループ1のプロセス1000、1001及び1005のアフィニティを満たすノードであり、ノード6及びノード4は、グループ2のプロセス2001及び2003のアフィニティを満たすノードである。
優先的に、ノード6のプロセスとプロセスに対応するメモリとがノード6にマイグレーションされることを回避するために、ノード5は、グループ1のプロセス1000、1001及び1005のアフィニティを満たすノードとして選択され、グループ1のプロセスがマイグレーションされる宛先ノードとして判定される。ノード4は、グループ2のプロセス2001及び2003のアフィニティを満たすノードとして選択され、グループ2のプロセスがマイグレーションされる宛先ノードとして判定される。
205:まず、ノードのプロセスに対応するメモリを宛先ノードにマイグレーションし、次に、ノードのプロセスを宛先ノードにマイグレーションする。
特に図5では、グループ2のプロセス2001及び2003はノード4にマイグレーションされる。まず、グループ1のプロセス1000、1001及び1005に対応するメモリ1におけるメモリの一部がノード5にマイグレーションされ、次に、グループ1のプロセス1000、1001及び1005がノード5にマイグレーションされる。
プロセスとプロセスに対応するメモリとの間との間のマッピング及びプロセスのアフィニティに従って判定された宛先ノードは、当該ノードを含まない。これにより、プロセスとプロセスに対応するメモリとが当該ノードにマイグレーションされることを回避し、ノードが除去される時間を短縮する。
更に、不要なメモリのマイグレーションを低減し、ノードが除去される時間を短縮するために、図3に示すように、特に図5を説明のための例として挙げることにより、この方法は以下のステップを更に含む。
301:複数のプロセスに対応するメモリがノードではなく他のノードに位置することを検出した場合、複数のプロセスを1つのグループにグループ化する。
特に図5では、プロセス2004及び2006に対応するメモリがノード1に位置するため、プロセス2004及び2006は1つのグループにグループ化され、グループ3として記される。
302:他のノードが1つのグループにグループ化された複数のプロセスのアフィニティを満たす場合、ステップ303を実行し、そうでない場合、ステップ305を実行する。
303:1つのグループにグループ化された複数のプロセスがマイグレーションされる宛先ノードとして他のノードを判定する。
特に図5では、ノード1がプロセス2004及び2006のアフィニティを満たす場合、ノード1は、グループ3のプロセスがマイグレーションされる宛先ノードとして判定される。
304:1つのグループにグループ化された複数のプロセスを宛先ノードにマイグレーションする。
特に図5では、グループ3のプロセス2004及び2006は、ノード4にマイグレーションされる。
305:1つのグループにグループ化された複数のプロセスのアフィニティを満たすノードを探索し、1つのグループにグループ化された複数のプロセスと対応するメモリとがマイグレーションされる宛先ノードとしてそのノードを判定する。
特に図5では、ノード1がプロセス2004及び2006のアフィニティを満たさない場合、当該ノードを除き、グループ3のプロセスのアフィニティを満たすノードが探索され、当該ノードが、グループ3のプロセスがマイグレーションされる宛先ノードとして判定されう。
306:1つのグループにグループ化された複数のプロセスと対応するメモリとを宛先ノードにマイグレーションする。
特に図5では、まず、ノード1に存在してグループ3のプロセス2004及び2006に対応するメモリが宛先ノードにマイグレーションされ、次に、グループ3のプロセス2004及び2006が宛先ノードにマイグレーションされる。
当該ノードを除く他のノードにおける対応するメモリの複数のプロセスは、1つのグループにグループ化され、複数のプロセスが他のノードにマイグレーションされるため、不要なメモリマイグレーションが低減され、ノードが除去される時間が短縮される。
更に、ノードが除去された場合、ノードの全てのプロセス及びメモリが移出(emigrate)されることを確保するため、ノードの全てのプロセスとプロセスに対応するメモリとのマイグレーションが終了した後に、図4に示すように、特に図5を説明のための例として挙げることにより、この方法は以下のステップを更に含む。
401:ノードの全てのメモリをスキャンし、未処理のメモリを取得する。
特に図5では、メモリ2及びメモリ3が未処理のメモリである。
402:未処理のメモリとメモリに対応するプロセスとのマッピングに従って、未処理のメモリに対応するプロセスの動作状況を取得し、動作状況が処理中である場合、ステップ403を実行し、動作状況が中断中(being obstructed)である場合、ステップ405を実行する。
403:未処理のメモリがマイグレーションされる宛先ノードとして未処理のメモリに対応するプロセスが位置するノードを判定する。
特に図5では、メモリ3に対応するプロセスがノード3で処理中であり、ノード2は、メモリ3がマイグレーションされる宛先ノードとして判定される。
404:未処理のメモリを宛先ノードにマイグレーションする。
特に図5では、メモリ3は、ノード2にマイグレーションされる。
405:未処理のメモリに対応するプロセスのアフィニティを満たすノードを探索し、未処理のメモリがマイグレーションされる宛先ノードとしてそのノードを判定する。
特に図5では、メモリ2に対応するプロセスは、中断状態にあり、メモリ2に対応するプロセスのアフィニティを満たすノードが探索される。ノード3がメモリ2に対応するプロセスのアフィニティを満たすノードとして探索された場合、ノード3は、メモリ2がマイグレーションされる宛先ノードとして判定される。
406:未処理のメモリを宛先ノードにマイグレーションする。
特に図5では、メモリ2は、ノード3にマイグレーションされる。
ノードの全てのプロセスとプロセスに対応するメモリとが完全にマイグレーションされた後に、ノードがスキャンされ、未処理のメモリが取得され、未処理のメモリがマイグレーションされる宛先ノードが判定され、マイグレーションが実行される。これにより、ノードが除去された場合に情報が失われないことを確保するように、ノードが除去された場合、ノードの全てのプロセスとメモリとが完全に移出される。
本発明の実施例により提供されるリソースマイグレーションのための方法では、ノードが除去された場合、プロセスとプロセスに対応するメモリとがマイグレーションされる宛先ノードは、プロセスとプロセスに対応するメモリとの間のマッピング及びプロセスのアフィニティに従って判定され、ノードのプロセスとプロセスに対応するメモリとは、宛先ノードにマイグレーションされる。これにより、ノードのプロセスとプロセスに対応するメモリとが同じ宛先ノードにマイグレーションされることが可能になることで、ノード間のメモリアクセス及びノード間のキャッシュアクセスを回避し、ノード間の高速帯域幅を保持し、システム性能を改善する。
<実施例3>
本発明の実施例は、リソースマイグレーションのための装置を提供する。図6に示すように、この装置は、第1の取得ユニット51と、第1の判定ユニット52と、第1のマイグレーションユニット53とを含む。
第1の取得ユニット51は、ノードが除去された場合、プロセスとプロセスに対応するメモリとの間のマッピング及びプロセスのアフィニティを含むノードのプロセス情報を取得するように構成される。
第1の判定ユニット52は、第1の取得ユニット51により取得されたプロセスとプロセスに対応するメモリとの間のマッピング及びプロセスのアフィニティに従って、プロセスとプロセスに対応するメモリとがマイグレーションされる宛先ノードを判定するように構成される。宛先ノードは、当該ノードを含まない。
第1のマイグレーションユニット53は、ノードのプロセスとプロセスに対応するメモリとを第1の判定ユニット52により判定された宛先ノードにマイグレーションするように構成される。
ノードのプロセス及びプロセスに対応するメモリが宛先ノードにマイグレーションされる場合、マイグレーションは、以下の方法により実施されてもよいが、以下の方法に限定されない点に留意すべきである。プロセスで伝達される優先度に従って、ノードのプロセスとプロセスに対応するメモリとを第1の判定ユニット52により判定された宛先ノードにマイグレーションし、優先度が高いプロセスを優先的にマイグレーションする。本発明の実施例は、これに対する限定はなく、ユーザは特定の要件に従って設定を実行してもよい。
本発明の実施例は、リソースマイグレーションのための装置を提供する。図7に示すように、第1の判定ユニット52は、第1の分析モジュール521と、第1のグループ化モジュール522と、第1の判定モジュール523とを含む。
第1の分析モジュール521は、プロセスとプロセスに対応するメモリとの間のマッピングを分析するように構成される。
第1のグループ化モジュール522は、対応するメモリが複数のプロセスに使用されることを第1の分析モジュール521が検出した場合、複数のプロセスを1つのグループにグループ化するように構成される。
第1の判定モジュール523は、第1のグループ化モジュール522により1つのグループにグループ化された複数のプロセスのアフィニティを満たすノードを探索し、第1のグループ化モジュール522により1つのグループにグループ化された複数のプロセスと対応するメモリとがマイグレーションされる宛先ノードとしてそのノードを判定するように構成される。
本発明の実施例は、リソースマイグレーションのための装置を提供する。図8に示すように、第1の判定ユニット52は、第2のグループ化モジュール524と、第2の判定モジュール525と、第3の判定モジュール526とを更に含む。
第2のグループ化モジュール524は、複数のプロセスに対応するメモリがノードを除く他のノードに位置することを第1の分析モジュール521が検出した場合、複数のプロセスを1つのグループにグループ化するように構成される。
第2の判定モジュール525は、他のノードが複数のプロセスのアフィニティを満たす場合、第2のグループ化モジュール524により1つのグループにグループ化された複数のプロセスがマイグレーションされる宛先ノードとして他のノードを判定するように構成される。
第3の判定モジュール526は、他のノードが複数のプロセスのアフィニティを満たさない場合、第2のグループ化モジュール524により1つのグループにグループ化された複数のプロセスのアフィニティを満たすノードを探索し、第2のグループ化モジュール524により1つのグループにグループ化された複数のプロセスと対応するメモリとがマイグレーションされる宛先ノードとしてそのノードを判定するように構成される。
本発明の実施例は、リソースマイグレーションのための装置を提供する。図9に示すように、第1のマイグレーションユニット53は、第1のマイグレーションモジュール531と、第2のマイグレーションモジュール532とを含む。
第1のマイグレーションモジュール531は、ノードのプロセスもプロセスに対応するメモリも第1の判定ユニット52により判定された宛先ノードに位置しない場合、まず、ノードのプロセスに対応するメモリを第1の判定ユニット52により判定された宛先ノードにマイグレーションし、次に、ノードのプロセスを第1の判定ユニット52により判定された宛先ノードにマイグレーションするように構成される。
第2のマイグレーションモジュール532は、ノードのプロセスに対応するメモリが第1の判定ユニット52により判定された宛先ノードに位置する場合、ノードのプロセスを第1の判定ユニット52により判定された宛先ノードにマイグレーションするように構成される。
本発明の実施例は、リソースマイグレーションのための装置を提供する。図10に示すように、この装置は、第2の取得ユニット54と、第3の取得ユニット55と、第2の判定ユニット56と、第3の判定ユニット57と、第2のマイグレーションモジュール58とを更に含む。
第2の取得ユニット54は、ノードの全てのメモリをスキャンし、未処理のメモリを取得するように構成される。
第3の取得ユニット55は、第2の取得ユニット54により取得された未処理のメモリと未処理のメモリに対応するプロセスとのマッピングに従って、第2の取得ユニット54により取得された未処理のメモリに対応するプロセスの動作状況を取得するように構成される。
第2の判定ユニット56は、第3の取得ユニット55により取得された動作状況が処理中である場合、未処理のメモリがマイグレーションされる宛先ノードとして未処理のメモリに対応するプロセスが位置するノードを判定するように構成される。
第3の判定ユニット57は、第3の取得ユニット55により取得された動作状況が中断中である場合、未処理のメモリに対応するプロセスのアフィニティを満たすノードを探索し、未処理のメモリがマイグレーションされる宛先ノードとしてそのノードを判定するように構成される。
第2のマイグレーションユニット58は、未処理のメモリを第2の判定ユニット56又は第3の判定ユニット57により判定された宛先ノードにマイグレーションするように構成される。
本発明の実施例は、リソースマイグレーションのためのシステムを提供する。このシステムは、複数のノードを含み、各ノードは、CPUとメモリとを含む。図11に示すように、このシステムは、移入対象のノード(to-be-immigrated node)61と、移出対象のノード(to-be-emigrated node)62と、制御ノード63とを含む。
制御ノード63のCPUは、移出対象のノード62が除去された場合、プロセスとプロセスに対応するメモリとの間のマッピング及びプロセスのアフィニティを含む移出対象のノード62のプロセス情報を取得し、プロセスとプロセスに対応するメモリとの間のマッピング及びプロセスのアフィニティに従って、プロセスとプロセスに対応するメモリとがマイグレーションされる移入対象のノード61を判定し、移出対象のノード62のプロセスとプロセスに対応するメモリとを移入対象のノード61にマイグレーションするように構成される。
制御ノード63のCPUは、移出対象のノード62の全てのメモリをスキャンし、未処理のメモリを取得し、未処理のメモリと未処理のメモリに対応するプロセスとのマッピングに従って、未処理のメモリに対応するプロセスの動作状況を取得し、動作状況が処理中である場合、未処理のメモリに対応するプロセスが位置するノードが、未処理のメモリがマイグレーションされる移入対象のノード61であることを判定し、動作状況が中断中である場合、未処理のメモリに対応するプロセスのアフィニティを満たすノードを探索し、未処理のメモリがマイグレーションされる移入対象のノード61としてそのノードを判定し、未処理のメモリを移入対象のノード61にマイグレーションするように更に構成される。
制御ノード63のCPUがこの技術的対策を実行する特定の方法については、リソースマイグレーションのための装置がこの技術的対策を実行する方法の説明に参照が行われてもよく、ここでは再び詳細は繰り返されない点に留意すべきである。
本発明の実施例により提供されるリソースマイグレーションのための装置及びシステムでは、ノードが除去された場合、プロセスとプロセスに対応するメモリとがマイグレーションされる宛先ノードは、プロセスとプロセスに対応するメモリとの間のマッピング及びプロセスのアフィニティに従って判定され、ノードのプロセスとプロセスに対応するメモリとは、宛先ノードにマイグレーションされる。これにより、ノードのプロセスとプロセスに対応するメモリとが同じ宛先ノードにマイグレーションされることが可能になることで、ノード間のメモリアクセス及びノード間のキャッシュアクセスを回避し、ノード間の高速帯域幅を保持し、システム性能を改善する。
更に、当該ノードを除く他のノードにおいて、対応するメモリの複数のプロセスは1つのグループにグループ化され、複数のプロセスが他のノードにマイグレーションされるため、不要なメモリマイグレーションが低減される。一方、プロセスとプロセスに対応するメモリとの間のマッピング及びプロセスのアフィニティに従って判定された宛先ノードは、当該ノードを含まない。これにより、プロセスと想定される対応するメモリが当該ノードにマイグレーションされることを回避する。不要なメモリマイグレーションが低減され、ノードでのマイグレーションが回避されるため、ノードが除去される時間が短縮される。
更に、ノードの全てのプロセスとプロセスに対応するメモリとが完全にマイグレーションされた後に、ノードがスキャンされ、未処理のメモリが取得され、未処理のメモリがマイグレーションされる宛先ノードが判定され、マイグレーションが実行される。これにより、ノードが除去された場合に情報が失われないことを確保するように、ノードが除去された場合、ノード全てのプロセスとメモリとが完全に移出される。
実施例の前述の説明を通じて、本発明がソフトウェアに必要なユニバーサルハードウェアを加えたもので実施されてもよく、また、明らかにハードウェアにより実施されてもよいことが、当業者に明らかになる。しかし、多くの場合に、ソフトウェアでの実施が好まれる。このような理解に基づいて、従来技術に対して本質的に又は部分的に寄与する本発明の技術的対策は、ソフトウェアプロダクトの形式で実装されてもよい。コンピュータソフトウェアプロダクトは、可読記憶媒体(例えば、コンピュータのフロッピー(登録商標)ディスク、ハードディスク又は光ディスク)に格納され、コンピュータデバイス(パーソナルコンピュータ、サーバ又はネットワークデバイス)に対して本発明の実施例に記載の方法を実行するように命令する複数の命令を含む。
前述の説明は、単に本発明の特定の実施例についてのものであり、本発明の保護範囲を限定することを意図するものではない。本発明に開示された技術的範囲内で当業者により容易に考えられる如何なる変更又は置換も、本発明の保護範囲内に入るものとする。従って、本発明の保護範囲は、特許請求の範囲の保護範囲に従うものとする。

Claims (11)

  1. リソースマイグレーションのための方法であって、
    ノードが除去された場合、プロセスと前記プロセスに対応するメモリとの間のマッピング及び前記プロセスのアフィニティを有する前記ノードのプロセス情報を取得するステップと、
    前記プロセスと前記プロセスに対応する前記メモリとの間の前記マッピング及び前記プロセスの前記アフィニティに従って、前記プロセスと前記プロセスに対応する前記メモリとがマイグレーションされる宛先ノードを判定するステップと、
    前記ノードの前記プロセスと前記プロセスに対応する前記メモリとを前記宛先ノードにマイグレーションするステップと
    を有する方法。
  2. 前記宛先ノードは、移入対象のノードであり、前記ノードは、移出対象のノードであり、前記移入対象のノードと前記移出対象のノードとは同じノードではない、請求項1に記載のリソースマイグレーションのための方法。
  3. 前記プロセスと前記プロセスに対応する前記メモリとの間の前記マッピング及び前記プロセスの前記アフィニティに従って、前記プロセスと前記プロセスに対応する前記メモリとがマイグレーションされる宛先ノードを判定するステップは、
    前記プロセスと前記プロセスに対応する前記メモリとの間の前記マッピングを分析するステップと、
    前記対応するメモリが複数のプロセスに使用されることを検出した場合、前記複数のプロセスを1つのグループにグループ化するステップと、
    1つのグループにグループ化された複数のプロセスのアフィニティを満たすノードを探索し、1つのグループにグループ化された前記複数のプロセスと前記対応するメモリとがマイグレーションされる宛先ノードとして前記ノードを判定するステップと
    を有する、請求項1に記載のリソースマイグレーションのための方法。
  4. 前記プロセスと前記プロセスに対応する前記メモリとの間の前記マッピングを分析した後に、
    複数のプロセスに対応する前記メモリが前記ノードではなく他のノードに位置する場合、前記複数のプロセスを1つのグループにグループ化するステップと、
    前記他のノードが1つのグループにグループ化された前記複数のプロセスのアフィニティを満たす場合、1つのグループにグループ化された前記複数のプロセスがマイグレーションされる宛先ノードとして前記他のノードを判定するステップと、
    前記他のノードが1つのグループにグループ化された前記複数のプロセスのアフィニティを満たさない場合、1つのグループにグループ化された前記複数のプロセスのアフィニティを満たすノードを探索し、1つのグループにグループ化された前記複数のプロセスと前記対応するメモリとがマイグレーションされる宛先ノードとして前記ノードを判定するステップと
    を更に有する、請求項3に記載のリソースマイグレーションのための方法。
  5. 前記ノードの前記プロセスと前記プロセスに対応する前記メモリとを前記宛先ノードにマイグレーションするステップは、
    前記プロセスで伝達される優先度に従って、前記ノードの前記プロセスと前記プロセスに対応する前記メモリとを前記宛先ノードにマイグレーションするステップを有する、請求項1に記載のリソースマイグレーションのための方法。
  6. 前記ノードの前記プロセスと前記プロセスに対応する前記メモリとを前記宛先ノードにマイグレーションするステップは、
    前記ノードの前記プロセスも前記プロセスに対応する前記メモリも前記宛先ノードに位置しない場合、まず、前記ノードの前記プロセスに前記対応するメモリを前記宛先ノードにマイグレーションし、次に、前記ノードの前記プロセスを前記宛先ノードにマイグレーションするステップと、
    前記ノードの前記プロセスに対応する前記メモリが前記宛先ノードに位置する場合、前記ノードの前記プロセスを前記宛先ノードにマイグレーションするステップと
    を有する、請求項1に記載のリソースマイグレーションのための方法。
  7. 前記ノードの前記プロセスと前記プロセスに対応する前記メモリとを前記宛先ノードにマイグレーションした後に、
    前記ノードの全てのメモリをスキャンし、未処理のメモリを取得するステップと、
    前記メモリと前記メモリに対応する前記プロセスとのマッピングに従って、前記未処理のメモリに対応するプロセスの動作状況を取得するステップと、
    前記動作状況が処理中である場合、前記未処理のメモリがマイグレーションされる宛先ノードとして前記未処理のメモリに対応する前記プロセスが位置するノードを判定するステップと、
    前記動作状況が中断中である場合、前記未処理のメモリに対応する前記プロセスのアフィニティを満たすノードを探索し、前記未処理のメモリがマイグレーションされる宛先ノードとして前記ノードを判定するステップと、
    前記未処理のメモリを前記宛先ノードにマイグレーションするステップと
    を更に有する、請求項1ないし6のうちいずれか1項に記載のリソースマイグレーションのための方法。
  8. リソースマイグレーションのための装置であって、
    ノードが除去された場合、プロセスと前記プロセスに対応するメモリとの間のマッピング及び前記プロセスのアフィニティを有する前記ノードのプロセス情報を取得するように構成された第1の取得ユニットと、
    前記第1の取得ユニットにより取得された前記プロセスと前記プロセスに対応する前記メモリとの間の前記マッピング及び前記プロセスの前記アフィニティに従って、前記プロセスと前記プロセスに対応する前記メモリとがマイグレーションされる宛先ノードを判定するように構成された第1の判定ユニットと、
    前記ノードの前記プロセスと前記プロセスに対応する前記メモリとを前記第1の判定ユニットにより判定された前記宛先ノードにマイグレーションするように構成された第1のマイグレーションユニットと
    を有する装置。
  9. 前記ノードの全てのメモリをスキャンし、未処理のメモリを取得するように構成された第2の取得ユニットと、
    前記第2の取得ユニットにより取得された前記未処理のメモリと前記未処理のメモリに対応するプロセスとのマッピングに従って、前記第2の取得ユニットにより取得された前記未処理のメモリに対応するプロセスの動作状況を取得するように構成された第3の取得ユニットと、
    前記第3の取得ユニットにより取得された前記動作状況が処理中である場合、前記未処理のメモリがマイグレーションされる宛先ノードとして前記未処理のメモリに対応する前記プロセスが位置するノードを判定するように構成された第2の判定ユニットと、
    前記第3の取得ユニットにより取得された前記動作状況が中断中である場合、前記未処理のメモリに対応する前記プロセスのアフィニティを満たすノードを探索し、前記未処理のメモリがマイグレーションされる宛先ノードとして前記ノードを判定するように構成された第3の判定ユニットと、
    前記未処理のメモリを前記第2の判定ユニット又は前記第3の判定ユニットにより判定された前記宛先ノードにマイグレーションするように構成された第2のマイグレーションユニットと
    を更に有する、請求項8に記載のリソースマイグレーションのための装置。
  10. リソースマイグレーションのためのシステムであって、
    各ノードがCPUとメモリとを有する複数のノードを有し、
    前記複数のノードは、移入対象のノードと、移出対象のノードと、制御ノードとを有し、
    前記制御ノードのCPUは、前記移出対象のノードが除去された場合、前記移出対象のノードのプロセス情報を取得し、前記プロセス情報に従って、プロセスと前記プロセスに対応するメモリとがマイグレーションされる移入対象のノードを判定し、前記移出対象のノードの前記プロセスと前記プロセスに対応する前記メモリとを前記移入対象のノードにマイグレーションするように構成され、
    前記プロセス情報は、前記プロセスと前記プロセスに対応する前記メモリとの間のマッピング及び前記プロセスのアフィニティを有するシステム。
  11. 前記制御ノードの前記CPUは、前記移出対象のノードの全てのメモリをスキャンし、未処理のメモリを取得し、前記未処理のメモリと前記未処理のメモリに対応するプロセスとのマッピングに従って、前記未処理のメモリに対応するプロセスの動作状況を取得し、前記動作状況が処理中である場合、前記未処理のメモリがマイグレーションされる移入対象のノードとして前記未処理のメモリに対応する前記プロセスが位置するノードを判定し、前記動作状況が中断中である場合、前記未処理のメモリに対応する前記プロセスのアフィニティを満たすノードを探索し、前記未処理のメモリがマイグレーションされる移入対象のノードとして前記ノードを判定し、前記未処理のメモリを前記移入対象のノードにマイグレーションするように更に構成される、請求項10に記載のリソースマイグレーションのためのシステム。
JP2014521906A 2011-09-01 2011-09-01 リソースマイグレーションのための方法、装置及びシステム Pending JP2014522033A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2011/079266 WO2012119436A1 (zh) 2011-09-01 2011-09-01 资源迁移方法、装置及系统

Publications (1)

Publication Number Publication Date
JP2014522033A true JP2014522033A (ja) 2014-08-28

Family

ID=45761446

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014521906A Pending JP2014522033A (ja) 2011-09-01 2011-09-01 リソースマイグレーションのための方法、装置及びシステム

Country Status (8)

Country Link
US (1) US20140007129A1 (ja)
EP (1) EP2657841A4 (ja)
JP (1) JP2014522033A (ja)
KR (1) KR101555266B1 (ja)
CN (1) CN102369511B (ja)
AU (1) AU2011361420B2 (ja)
RU (1) RU2571562C2 (ja)
WO (1) WO2012119436A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016224855A (ja) * 2015-06-03 2016-12-28 富士通株式会社 並列計算機、マイグレーションプログラム、及び、マイグレーション方法

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103365717B (zh) * 2013-06-25 2016-08-31 华为技术有限公司 内存访问方法、装置及系统
CN104468674B (zh) * 2013-09-25 2020-01-14 南京中兴新软件有限责任公司 数据迁移方法及装置
WO2015074235A1 (zh) * 2013-11-22 2015-05-28 华为技术有限公司 一种内存数据的迁移方法、计算机和装置
CN106155911B (zh) * 2015-03-30 2019-04-12 华为技术有限公司 一种请求远程内存的方法和装置
CN106020971B (zh) * 2016-05-10 2020-01-31 广东睿江云计算股份有限公司 云主机系统中的cpu调度方法及装置
US10698737B2 (en) * 2018-04-26 2020-06-30 Hewlett Packard Enterprise Development Lp Interoperable neural network operation scheduler
CN111858458B (zh) * 2020-06-19 2022-05-24 苏州浪潮智能科技有限公司 一种互联通道的调整方法、装置、系统、设备和介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008217766A (ja) * 2007-02-28 2008-09-18 Sap Ag グリッド環境におけるデータ及びタスクインスタンスの分散
JP2010176178A (ja) * 2009-01-27 2010-08-12 Nec Corp 仮想計算機システム、仮想計算機のマイグレーション方法、及びプログラム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5819034A (en) * 1994-04-28 1998-10-06 Thomson Consumer Electronics, Inc. Apparatus for transmitting and receiving executable applications as for a multimedia system
US6269390B1 (en) * 1996-12-17 2001-07-31 Ncr Corporation Affinity scheduling of data within multi-processor computer systems
US6289369B1 (en) * 1998-08-25 2001-09-11 International Business Machines Corporation Affinity, locality, and load balancing in scheduling user program-level threads for execution by a computer system
US6769017B1 (en) * 2000-03-13 2004-07-27 Hewlett-Packard Development Company, L.P. Apparatus for and method of memory-affinity process scheduling in CC-NUMA systems
US6934755B1 (en) * 2000-06-02 2005-08-23 Sun Microsystems, Inc. System and method for migrating processes on a network
US7159216B2 (en) * 2001-11-07 2007-01-02 International Business Machines Corporation Method and apparatus for dispatching tasks in a non-uniform memory access (NUMA) computer system
US7159221B1 (en) * 2002-08-30 2007-01-02 Unisys Corporation Computer OS dispatcher operation with user controllable dedication
US8370844B2 (en) * 2007-09-12 2013-02-05 International Business Machines Corporation Mechanism for process migration on a massively parallel computer
CN100543684C (zh) * 2007-09-18 2009-09-23 中兴通讯股份有限公司 一种实现透明进程迁移的装置和方法
KR101697937B1 (ko) * 2010-01-08 2017-02-01 삼성전자주식회사 멀티프로세서 시스템에서 동적 태스크 마이그레이션을 위한 방법 및 시스템
CN102158513A (zh) * 2010-02-11 2011-08-17 联想(北京)有限公司 一种服务器集群节能的方法、装置和服务器集群

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008217766A (ja) * 2007-02-28 2008-09-18 Sap Ag グリッド環境におけるデータ及びタスクインスタンスの分散
JP2010176178A (ja) * 2009-01-27 2010-08-12 Nec Corp 仮想計算機システム、仮想計算機のマイグレーション方法、及びプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JPN6015014651; 西田晃ほか: 'コモディティ分散共有メモリIBM x440の性能評価' 情報処理学会研究報告 Vol.2003 No.29, 20030311, 31-36頁, 社団法人情報処理学会 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016224855A (ja) * 2015-06-03 2016-12-28 富士通株式会社 並列計算機、マイグレーションプログラム、及び、マイグレーション方法

Also Published As

Publication number Publication date
US20140007129A1 (en) 2014-01-02
AU2011361420B2 (en) 2015-10-29
EP2657841A1 (en) 2013-10-30
CN102369511A (zh) 2012-03-07
AU2011361420A1 (en) 2014-01-09
CN102369511B (zh) 2013-08-28
KR20140015546A (ko) 2014-02-06
EP2657841A4 (en) 2014-01-22
WO2012119436A1 (zh) 2012-09-13
KR101555266B1 (ko) 2015-09-23
RU2571562C2 (ru) 2015-12-20
RU2013158341A (ru) 2015-10-10

Similar Documents

Publication Publication Date Title
JP2014522033A (ja) リソースマイグレーションのための方法、装置及びシステム
US11121971B2 (en) Method and apparatus for switching data between virtual machines, and communications system
CN110865867B (zh) 应用拓扑关系发现的方法、装置和系统
WO2018010654A1 (zh) 一种虚拟机热迁移的方法、装置及系统
US8756601B2 (en) Memory coherency acceleration via virtual machine migration
JP5737050B2 (ja) 情報処理装置、割込み制御方法および割込み制御プログラム
US10496447B2 (en) Partitioning nodes in a hyper-converged infrastructure
EP3226131B1 (en) Scaling method and device for virtual machine (vm)
US7953957B2 (en) Mapping and distributing parallel algorithms to compute nodes in a parallel computer based on temperatures of the compute nodes in a hardware profile and a hardware independent application profile describing thermal characteristics of each parallel algorithm
JP5797855B2 (ja) ウイルススキャン方法及びウイルススキャン装置
EP3171272A1 (en) Identification of cross-interference between workloads in compute-node clusters
US20160103709A1 (en) Method and Apparatus for Managing Task of Many-Core System
EP3000024B1 (en) Dynamically provisioning storage
CN114048006B (zh) 虚拟机动态迁移方法、装置以及存储介质
KR20140096784A (ko) 마이크로서버 환경의 소프트웨어 이주 방법 및 이를 지원하는 장치
US10061725B2 (en) Scanning memory for de-duplication using RDMA
WO2018086422A1 (zh) 一种分图方法及装置
CN107621970B (zh) 一种异构cpu的虚拟机迁移方法和装置
JP2018132948A (ja) 読込プログラム、読込方法および情報処理装置
US20170154004A1 (en) Information processing apparatus and method for generating coupling information
JP6285850B2 (ja) プロセスマイグレーション方法及びクラスタシステム
WO2013153620A1 (ja) データ処理システム及びデータ処理方法
CN115373862B (zh) 基于数据中心的动态资源调度方法、系统及存储介质
WO2024055660A1 (zh) 一种数据运算方法、装置及设备
JP2024157115A (ja) 制御装置,制御方法および分散処理システム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150312

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150414

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150713

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20160126