JP5327224B2 - マルチプロセッサシステム,マルチプロセッサシステム用管理装置およびマルチプロセッサシステム用管理プログラムを記録したコンピュータ読取可能な記録媒体 - Google Patents

マルチプロセッサシステム,マルチプロセッサシステム用管理装置およびマルチプロセッサシステム用管理プログラムを記録したコンピュータ読取可能な記録媒体 Download PDF

Info

Publication number
JP5327224B2
JP5327224B2 JP2010523663A JP2010523663A JP5327224B2 JP 5327224 B2 JP5327224 B2 JP 5327224B2 JP 2010523663 A JP2010523663 A JP 2010523663A JP 2010523663 A JP2010523663 A JP 2010523663A JP 5327224 B2 JP5327224 B2 JP 5327224B2
Authority
JP
Japan
Prior art keywords
resources
partition
data movement
distribution
memory
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
JP2010523663A
Other languages
English (en)
Other versions
JPWO2010016104A1 (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2010016104A1 publication Critical patent/JPWO2010016104A1/ja
Application granted granted Critical
Publication of JP5327224B2 publication Critical patent/JP5327224B2/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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • 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
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5066Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、CPU(Central Processing Unit;演算処理部),メモリなどの複数のリソースを複数のパーティションに割り当て分割し、各パーティションに属するリソースを使用してパーティション毎にデータ処理を実行する、マルチプロセッサシステム等の計算機システムに用いて好適の技術に関する。
一般に、多数のCPU,メモリ,I/O(入出力部)から構成される大規模マルチプロセッサシステムでは、NUMA(Non-Uniform Memory Access)と呼ばれるアーキテクチャが採用されることが多い。このNUMAアーキテクチャでは、メモリのレイテンシが均一でないこと、つまり、「近いメモリ」と「遠いメモリ」とが存在することが特徴である。ここで、レイテンシとは、CPU等がメモリにアクセスした際にメモリからの応答時間に対応するもので、レイテンシの小さいメモリは「近いメモリ」、レイテンシの大きいメモリは「遠いメモリ」と定義することができる。
また、大規模マルチプロセッサシステムは、上述のように、多数のCPUやメモリ,I/Oをリソースとしてそなえて構成されている。このような大規模マルチプロセッサシステムでは、多数のリソースを複数のパーティションに分割し各パーティションにおいて独立のOS(Operating System)を動作させるパーティショニング技術が使用されている。
なお、例えば、下記特許文献1,2には、論理パーティション(ソフトパーティション)技術が開示されている。この論理パーティション技術では、ホストOS(制御ホスト)上で複数のOSが論理パーティション毎に起動される。各論理パーティションには論理プロセッサ等が割り当てられており、ホストOSによって、論理プロセッサ等と物理プロセッサ等とが対応付けられながら、各OSによる処理が論理パーティション毎に実行される。論理パーティション技術は、仮想的なパーティションを用いるものであるのに対し、本件は、リソースを分割して用いるハードパーティション技術、つまり、パーティション毎に物理的に異なるリソースを用いる技術を前提としている。
特開2006−127462号公報 特開2007−193776号公報
ところで、NUMAアーキテクチャを採用したマルチプロセッサシステムでパーティション分割を行なう場合、処理性能の低下を招かないためにも、パーティションの構成要素(リソース)が、極力、複数のノードにまたがらないシステム構成とすることが望ましい。従って、通常、ノード単位でパーティション分割を行なう。しかし、分割後、各パーティション内においてCPUやメモリの追加/削減/故障に伴う変更などを行なっているうちに、期せずして、パーティションの構成要素が複数のノードにまたがってしまうことがある(例えば図5参照)。
パーティション構成が不適切な場合、例えば、上述のごとくパーティションの構成要素が複数のノードにまたがるような場合、以下のような不具合が生じる。つまり、プロセッサ(CPU)が「遠いメモリ」にアクセスすることになり、メモリレイテンシが増加する。また、メモリアクセスを行なうのにより多くの通信路を経由することになり、マルチプロセッサシステム全体でのトラフィックが不必要に増加してしまう。その結果、システム全体の処理性能が低下してしまう。
本発明の目的の一つは、システムの特性を意識したリソース配分を実現することによってパーティション分割の最適化をはかり、システム全体の処理性能を向上させることである。
なお、前記目的に限らず、後述する発明を実施するための最良の形態に示す各構成により導かれる作用効果であって、従来の技術によっては得られない作用効果を奏することも本発明の他の目的の一つとして位置付けることができる。
ここに開示されるマルチプロセッサシステムは、複数のリソース,複数のパーティション管理部およびシステム管理部を有している。該複数のリソースは、複数のパーティションのいずれか一つに対し単独で割当可能なものである。該複数のパーティション管理部は、該複数のパーティションのそれぞれに属するリソースを管理するものである。該システム管理部は、該複数のリソースおよび該複数のパーティション管理部を管理するものである。そして、該システム管理部は、第1テーブル記憶手段,収集手段,第2テーブル記憶手段,算出手段および配分手段を有している。ここで、該第1テーブル記憶手段は、該複数のリソース相互間の距離に係る距離情報を定義する第1テーブルを記憶するものである。該収集手段は、該複数のリソースに含まれるメモリ毎にそなえられ当該メモリに対するリクエストに応じて該複数のリソース相互間のデータ移動情報を記録するテーブルから、該複数のリソース相互間のデータ移動情報を収集するものである。該第2テーブル記憶手段は、該収集手段によって収集された前記データ移動情報に基づく該複数のリソース相互間のデータ移動頻度を保持する第2テーブルを記憶するものである。該算出手段は、該第1テーブルの距離情報と該第2テーブルのデータ移動頻度とに基づき、各パーティションに割り当てられる該複数のリソースの全ての組み合わせのそれぞれについて平均距離を算出し、当該平均距離が最小になるリソースの組み合わせを、各パーティションに対する、該複数のリソースの最適配分として選択するするものである。該配分手段は、性能改善率である[配分変更後の平均距離]/[配分変更前の平均距離]が所定値以下となる場合に、該複数のパーティションに対する該複数のリソースの配分状態が該算出手段によって算出された前記最適配分の状態になるように、該複数のパーティション管理部を介して該複数のパーティションに該複数のリソースを配分するものである。
また、ここに開示されるマルチプロセッサシステム用管理装置は、上述した複数のリソースおよび複数のパーティション管理部を有するマルチプロセッサシステムにおいて、該複数のリソースおよび該複数のパーティション管理部を管理するものである。そして、この管理装置は、上述した第1テーブル記憶手段,収集手段,第2テーブル記憶手段,算出手段および配分手段を有している。
さらに、ここに開示されるマルチプロセッサシステム用管理プログラムは、上述した複数のリソースおよび複数のパーティション管理部を有するマルチプロセッサシステムにおいて、該複数のリソースおよび該複数のパーティション管理部を管理する管理装置(システム管理部)として、コンピュータを機能させるものである。このプログラムは、上述した第1テーブル記憶手段,収集手段,第2テーブル記憶手段,算出手段および配分手段として、該コンピュータを機能させる。なお、ここに開示される、コンピュータ読取可能な記録媒体は、上述したマルチプロセッサシステム用管理プログラムを記録したものである。
開示の技術によれば、マルチプロセッサシステム内のリソース間の距離情報とデータ移動頻度とに基づいて、各パーティションに対するリソースの最適配分が統計的に算出され、その最適配分に応じたリソース配分が行なわれる。これにより、システムの特性を意識したリソース配分が実現され、パーティション分割が最適化され、システム全体の処理性能が大幅に向上する。
本発明の一実施形態としてのマルチプロセッサシステムの構成を示すブロック図である。 本実施形態のアクセスレイテンシテーブル(第1テーブル)の一例を示す図である。 本実施形態のリソース間データ移動頻度テーブル(第2テーブル)の一例を示す図である。 図1に示すマルチプロセッサシステム用管理装置の動作について説明するためのフローチャートである。 図1に示すマルチプロセッサシステムにおけるパーティション分割の具体的な最適化動作例を説明すべく同システムの最適化前の状態を示す図である。 図1に示すマルチプロセッサシステムにおけるパーティション分割の具体的な最適化動作例を説明すべく同システムの最適化後の状態を示す図である。
符号の説明
1 サーバ(マルチプロセッサシステム)
10 リソース群
21,22 パーティション管理部
30 サーバ管理装置(マルチプロセッサシステム用管理装置,システム管理部)
31 記憶部(第1テーブル記憶手段,第2テーブル記憶手段)
31a アクセスレイテンシテーブル(第1テーブル,ノード間距離テーブル)
31b リソース間データ移動頻度テーブル(第2テーブル)
32 収集手段
33 算出手段
34 配分手段
N1〜N8 ノード
CB1,CB2 クロスバスイッチ
Ci1〜Ci14(i=1〜8) CPU(演算処理部;リソース)
Mi(i=1〜8) メモリ(リソース)
MCi(i=1〜8) メモリコントローラ(収集手段)
Ti(i=1〜8) データ移動情報収集用テーブル(収集手段)
B1,B2 リソース間データ移動情報収集用バス(収集手段)
P1,P2 パーティション
以下、図面を参照して本発明の実施の形態を説明する。
図1は本発明の一実施形態としてのマルチプロセッサシステムの構成を示すブロック図である。この図1に示す本実施形態のマルチプロセッサシステムの例であるサーバ1は、CPU,メモリなどの複数のリソース(リソース群10参照)を複数のパーティションに割り当て分割し、各パーティションに属するリソースを使用してパーティション毎にデータ処理を実行するものである。なお、本実施形態では、2つのパーティションP1,P2が設定されている場合について説明するがパーティションの数は2に限定されるものではない。以下、マルチプロセッサシステム1を単に「システム1」と称する場合がある。
本実施形態のマルチプロセッサシステム1は、リソース群10,パーティション管理部21,22およびサーバ管理装置30を有している。ここで、パーティション管理部21,22およびサーバ管理装置30は、それぞれ、例えば、ボード単位で構成されている。
リソース群10は、本実施形態ではP1,P2の複数のパーティションのいずれか一つに対し単独で割当可能な、CPUやメモリなどの複数のリソースを含んでいる。より具体的に、本実施形態において、リソース群10は、8個のノードN1〜N8と、これら8個のノードN1〜N8の相互間を通信可能に接続するクロスバスイッチCB1,CB2とを含んでいる。
そして、4個のノードN1〜N4は、クロスバスイッチCB1に接続され、クロスバスイッチCB1を介して相互に通信可能になっている。同様に、4個のノードN5〜N8は、クロスバスイッチCB2に接続され、クロスバスイッチCB2を介して相互に通信可能になっている。また、クロスバスイッチCB1とCB2とは接続されており、4個のノードN1〜N4と4個のノードN5〜N8との間では、クロスバスイッチCB1およびCB2を介して相互通信が可能になっている。
各ノードN1〜N8は、システム1における複数のリソースをその物理的な配置によって分割したリソースの集合であり、各リソースはただ1つのノードに属している。例えば、各ノードNi(i=1〜8)はリソースとして、4個のCPUCi1〜Ci4と、1個のメモリMiと、1個のメモリコントローラMCiと、1個のデータ移動情報収集用テーブルTiとを含んでいる。
ここで、1個のメモリMiは、例えば、複数のDIMM(Double Inline Memory Module)の組合せとして構成されている。また、メモリコントローラMCiは、CPU Ci1〜Ci4,メモリMiおよびクロスバスイッチCB1(またはCB2)の相互間のデータ移動を制御する機能を有している。さらに、メモリコントローラMCiは、メモリMiに対するリードリクエストがあった場合、どのCPUからのリードリクエストであるかに関するデータ移動情報をテーブルTiに記録する機能も有している。各テーブルTiに記録されたデータ移動情報は、後述するごとく、リソース間データ移動情報収集用バスB1またはB2を介し、サーバ管理装置30の収集手段32によって収集される。
なお、図1,図5および図6では、ノードN1,N2,N5,N6における、CPU C11〜C14,C21〜C24,C51〜C54,C61〜C64;メモリM1,M2,M5,M6;メモリコントローラMC1,MC2,MC5,MC6;テーブルT1,T2,T5,T6が図示されている。一方、ノードN3,N4,N7,N8における、CPU C31〜C34,C41〜C44,C71〜C74,C81〜C84;メモリM3,M4,M7,M8;メモリコントローラMC3,MC4,MC7,MC8;テーブルT3,T4,T7,T8の図示は省略されている。
また、ハードウェアの構造によっては、CPUとメモリとの特定の組については、CPUをメモリから分離することが不可となる場合もあるが、ここでは、CPUとメモリとの全ての組について分離可能であるものとして説明する。ただし、本発明は、CPUとメモリとが分離不可か分離可能かに限定されるものではない。
さらに、図1,図5および図6に示すシステム1では、ノード数が8であり、クロスバスイッチ数が2であり、また、各ノードNiにおけるCPU数が4でメモリ数が1である場合について説明したが、本発明は、これらの数に限定されるものではない。
パーティション管理部21,22は、それぞれ、パーティションP1,P2に対応してそなえられ、パーティションP1,P2に属するCPUやメモリといったリソースを管理するものである。また、各パーティション管理部21,22は、各パーティションP1,P2についての条件テーブルに基づいて、各パーティションP1,P2に属するリソースを認識する。その認識結果に従って、各パーティション管理部21,22は、複数のリソースをパーティションP1,P2のそれぞれに割り当て分割配分し、各パーティションP1,P2に属するリソースを管理する。なお、各パーティション管理部21,22における条件テーブルは、サーバ管理装置30から指示・設定される。
サーバ管理装置(マルチプロセッサシステム用管理装置,システム管理部)30は、リソース群10として示される複数のリソースおよび複数のパーティション管理部21,22を管理するもので、記憶部31,収集手段32,算出手段33および配分手段34を有している。
記憶部31は、例えばRAM(Random Access Memory)によって構成され、第1テーブルとしてのアクセスレイテンシテーブル31aを記憶する第1テーブル記憶手段、および、第2テーブルとしてのリソース間データ移動頻度テーブル31bを記憶する第2テーブル記憶手段として機能するものである。
ここで、アクセスレイテンシテーブル(ノード間距離テーブル)31aは、図1に示すシステム1のリソース群10に属する複数のリソース相互間の距離に係る距離情報を定義するものである。このアクセスレイテンシテーブル31aでは、その距離情報として、例えば図2に示すように、各リソースの属するノード間の距離が、より具体的には、ノード間の実際のアクセスレイテンシ(アクセス待ち時間;単位:nsec)として定義されている。
このアクセスレイテンシテーブル31aで定義される距離情報、つまりアクセスレイテンシは、システム1、あるいはシステム1に含まれるリソース群10の性能として性能試験によって予め取得されるもので、予め与えられて記憶部31のアクセスレイテンシテーブル31aに登録される。
ここで、図2は、本実施形態のアクセスレイテンシテーブル31aの一例を示す図である。
例えば、図2に示すアクセスレイテンシテーブル31aにおいて、ノードN1とノードN2との距離は100nsec、ノードN3とノードN8との距離は200nsecと定義されている。なお、第1テーブルとしてのアクセスレイテンシテーブル31aにおける値は、本実施形態のごとくアクセスレイテンシや、そのアクセスレイテンシに比例した値に限定されるものではない。アクセスレイテンシテーブル31aにおける値は、リソース相互間の距離に係るものであれば、実際のアクセスレイテンシのほかに、例えば、データの通過する通信路のスループットなどによって重み付けした値を使用することもできる。
なお、以下の説明では、アクセスレイテンシテーブル31aによって定義されるノードNiとノートNjとの距離、つまりアクセスレイテンシをdistance(i, j)として、下記の通り記載する。
distance(i, j)= 50 (i=j)
100 ((i≦4 かつ j≦4 かつ i≠j) または
(5≦i かつ 5≦j かつ i≠j))
200 (それ以外)
リソース間データ移動頻度テーブル31bは、収集手段32によって収集されたデータ移動情報に基づく複数のリソース相互間のデータ移動頻度を保持するものである。
ここで、収集手段32は、各ノードNiにおけるテーブルTiにメモリコントローラMCiによって記録されたデータ移動情報を、バスB1,B2を介して各テーブルTiから受信して収集するものである。そのデータ移動情報は、上述したように、どのCPUからメモリMiに対するリードリクエストを受けたかを示す情報である。
そして、収集手段32は、各テーブルTiから受信したデータ移動情報を、リソース間データ移動頻度テーブル31bに登録することにより統合する機能も有している。これにより、リソース間データ移動頻度テーブル31bには、どのCPUがどのメモリに対して、何回、リードリクエストを発行したかに関する情報、たとえば通信回数/データ移動回数/リードアクセス回数が、データ移動頻度として登録される。
なお、ここでは、リードリクエストについて計数を行なっているが、ライトリクエスト、つまりCPUからメモリへの書き込み要求についてのデータ移動情報をメモリコントローラMCiやテーブルTiによって収集してもよい。この場合、リソース間データ移動頻度テーブル31bには、どのCPUがどのメモリに対して、何回、ライトリクエストを発行したかに関する情報、つまり通信回数/データ移動回数/ライトアクセス回数が、データ移動頻度として登録される。また、リードリクエストに係るデータ移動回数のみをデータ移動頻度として計数してもよいし、ライトリクエストに係るデータ移動回数のみをデータ移動頻度として計数してもよいし、リードリクエストおよびライトリクエストの両方に係るデータ移動回数の合計値をデータ移動頻度として計数してもよい。
このように、本実施形態では、メモリコントローラMCi,テーブルTi,バスB1,B2,リソース間データ移動頻度テーブル31bおよび収集手段32によって、複数のリソース相互間のデータ移動情報を収集する収集手段が構成される。この収集手段を用いて、CPUやメモリといったリソース間で通信が行なわれる際に、どこからどこへのデータ移動が行なわれたかが識別されデータ移動頻度としてリソース間データ移動頻度テーブル31bに記録される。
ここで、図3は本実施形態のリソース間データ移動頻度テーブル31bの一例を示す図である。この図3に示すリソース間データ移動頻度テーブル31bには、各CPUの各メモリに対するアクセス回数の具体例が記録されている。リソース間データ移動頻度テーブル31bからは、例えば、CPUC11は、メモリM1に対し1000回のアクセスを、メモリMに対し500回のアクセスを行なっていることが分かる。また、例えば、CPU C23は、メモリM2に対し1000回のアクセスを行なっていることが分かる。
なお、図3に示すリソース間データ移動頻度テーブル31bでは、各CPUの属するノード番号iが#NODE欄に記入されているとともに、各CPUの属するパーティション番号が#PART欄に記載されている。ここでは、図5を参照しながら後述する例と同様に、8個のCPU C11,C12,C13,C14,C21,C22,C51,C52および2個のメモリM1,M5がパーティションP1に属し、4個のCPU C23,C24,C61,C62および1個のメモリM2がパーティションP2に属している。
以下の説明では、CPU Cik(i=1〜8,k=1〜4)とメモリMn(n=1〜8)との間のデータ移動回数(アクセス回数)であって、リソース間データ移動頻度テーブル31bに登録されたものを、F(Cik, Mn)と記載する。例えば、CPU C13とメモリM5との間の登録データ移動回数F(C13, M5)=1500である。
また、CPU CikとメモリMnとの間の距離、つまりノード間距離あるいはアクセスレイテンシをD(Cik, Mn)と記載すると、D(Cik, Mn)=distance(CPUの属するノードのノードID番号i,メモリの属するノードのノードID番号n)=distance(i, n)となる。例えばCPU C61とメモリM2との距離は、D(C61,M2)=distance(6, 2)であり、図2に示すアクセスレイテンシテーブル31aを参照すると、200である。
算出手段33は、アクセスレイテンシテーブル31aの距離情報(アクセスレイテンシ/メモリレイテンシ)とリソース間データ移動頻度テーブル31bのデータ移動頻度とに基づき、各パーティションP1,P2に対する、複数のリソースの最適配分を算出するものである。
このとき、算出手段33は、まず、アクセスレイテンシテーブル31aの距離情報とリソース間データ移動頻度テーブル31bのデータ移動頻度とに基づき、各パーティションP1,P2に割り当てられる複数のリソースの全ての組み合わせのそれぞれについて平均距離、つまり平均メモリレイテンシを算出する。
つまり、算出手段33は、前記組み合わせ毎に、リソース間データ移動頻度テーブル31bにデータ移動頻度として記録された各メモリMnに対する各CPU Cikのアクセス回数F(Cik, Mn)と、アクセスレイテンシテーブル31aに距離情報として定義された対応メモリレイテンシ、つまりノード間アクセスレイテンシD(Cik, Mn)=distance(i,n)との積の総和を算出する。そして、算出手段33は、当該積の総和をアクセス回数の総和で除算した値を、当該組み合わせについての平均距離として算出する。この後、算出手段33は、複数のリソースの全ての組み合わせのうち、その組み合わせについて算出された平均距離が最小になるリソースの組み合わせを最適配分として選択する。
ここで、上述のように、パーティションP1には8個のCPUおよび2個のメモリが割り当てられるとともに、パーティションP2には4個のCPUおよび1個のメモリが割り当てられるものとする。このような場合に、例えば、パーティションP2についてみると、ノードN1〜N8における32個のCPUおよび8個のメモリから、4個のCPUおよび1個のメモリを選択してパーティションP2に割り当てるとすると、多数の組み合わせが考えられる。算出手段33は、その各組み合わせについての平均距離つまり平均メモリレイテンシを、以下のようにアクセスレイテンシテーブル31a,リソース間データ移動頻度テーブル31bのデータに基づいて算出する。
ここでは、簡単のために、図5に示すごとく4個のCPU C23,C24,C61,C62および1個のメモリM2を割り当てられたパーティションP2についての平均メモリレイテンシを、図2および図3にそれぞれ示すアクセスレイテンシテーブル31aおよびリソース間データ移動頻度31bのデータに基づいて算出する場合について具体的に説明する。
まず、パーティションP2でのメモリアクセス回数の総数は、図3に示すノード間距離テーブルテーブル31bに記録された数値に基づき、
F(C23, M2)+F(C24, M2)+F(C61, M2)+F(C62, M2)
=1000+4000+3000+2000
=10000
となる。
従って、図5に示すリソース組み合わせのパーティションP2での平均メモリレイテンシは、図2に示すアクセスレイテンシテーブル31aに記録されたメモリレイテンシおよび図3に示すリソース間データ移動頻度テーブル31bに記録されたアクセス回数に基づいて算出される。
[図5に示すパーティションP2の平均メモリレイテンシ]
=Σ'D(C,M)*F(C,M)/10000
={D(C23,M2)*F(C23,M2)+D(C24,M2)*F(C24,M2)
+D(C61,M2)*F(C61,M2)+D(C62,M2)*F(C62,M2)}/10000
=(50*1000+50*4000+200*3000+200*2000)/10000
=1250000/10000
=125 nsec
なお、Σ'は、パーティションP2に属するCPUおよびメモリの全ての組み合わせについて算出されるD(C,M)*F(C,M)の総和を意味している。
これに対し、パーティションP2に割り当てられるリソースのうち、図5に示すCPU C23,C24およびメモリM2が、図6に示すように、それぞれCPU C63,C64およびメモリM6に置き換えられた場合の平均メモリレイテンシは、以下のように算出される。このとき、メモリM6に対するCPU C63,C64のアクセス回数は、それぞれ、メモリM2に対するCPU C23,C24と同じ値とする。つまり、
F(C63,M6)=F(C23,M2)=1000
F(C64,M6)=F(C24,M2)=4000
であり、図6に示すパーティションP2での平均メモリレイテンシは、以下のように算出される。
[図6に示すパーティションP2の平均メモリレイテンシ]
=Σ'D(C,M)*F(C,M)/10000
={D(C63,M6)*F(C63,M6)+D(C64,M6)*F(C64,M6)
+D(C61,M6)*F(C61,M6)+D(C62,M6)*F(C62,M6)}/10000
=(50*1000+50*4000+50*3000+50*2000)/10000
500000/10000
=50 nsec
図6に示すパーティションP2の平均メモリレイテンシは、図5に示すパーティションP2の平均メモリレイテンシの40%(=50/125)に減少し、システム1の大幅な性能改善が見込まれる。
上述のようにして、算出手段33は、全てのリソースの組み合わせに対し平均距離を算出し、その平均距離を最小にするリソース組み合わせを、最適なパーティション構成(最適配分)として求める。
つまり、一般的に記載すると、算出手段33は、τ:{CPUの集合}→{CPUの集合}, ρ:{メモリの集合}→{メモリの集合}に対して、
平均距離AvgD(τ,ρ)=Σ'D(τ(C),ρ(M))*F(C,M)/10000
を計算し、これを最小にするτ,ρを求める。その結果得られたτ(パーティションP2のCPUの集合)およびρ(パーティションP2のメモリの集合)が、平均レイテンシを最小にする、最適なパーティションP2のリソース構成(リソース配分)になる。なお、Σ'は、上述と同様、パーティションP2に属するするCPUおよびメモリの全ての組み合わせについて算出されるD(τ(C),ρ(M))*F(C,M)の総和を意味している。
なお、パーティションP1およびパーティションP2にそれぞれ属するリソースは、他のパーティションに属すことはできない。従って、実際には、算出手段33は、パーティションP1およびパーティションP2のそれぞれに属する、12個のCPUおよび3個のメモリの組み合わせを逐次選択し、各組み合わせについて、上述と同様にして平均メモリレイテンシを算出し、その平均距離に基づいて最適配分、つまり平均距離が最小となるリソース組み合わせを選択することになる。
配分手段34は、各パーティションP1,P2に対するリソース配分状態が算出手段33によって算出された最適配分の状態になるように、各パーティション管理部21,22を介して各パーティションP1,P2に対しCPUCikおよびメモリMnを配分するものである。このとき、配分手段34は、各パーティション管理部21,22に対し最適配分に関する情報を通知し、各パーティション管理部21,22における、各パーティションP1,P2についての条件テーブルの内容を書き換え変更する。ここで、配分手段34から各パーティション管理部21,2に通知される最適配分に関する情報は、各パーティションP1,P2に含まれるべきCPUCikおよびメモリMnを指定する情報である。
この配分手段34による配分変更処理は、深夜など、システム1の使用頻度の低い時間帯に、変更対象リソースの属するノードを含むボードの電源を落とした上で実行される。その配分変更処理に際しては、各パーティション管理部21,22における条件テーブルの書換が行なわれるとともに、変更対象のCPU内データやメモリの記憶データを変更後のCPUやメモリに移動する処理が実行される。これにより、各パーティションP1,P2内のリソースの構成が最適なパーティション構成に変更される。ただし、本発明は、このような配分変更処理に限定されるものでなく、ボードの活性交換等によって配分変更処理を行なってもよい。
この配分手段34によるリソース配分変更は、現状のパーティション構成での平均距離よりも小さい平均距離のパーティション構成が存在する場合に実行される。特に、その際、配分変更後のパーティション構成によって、現状、つまり配分変更前のパーティション構成よりも所定基準以上の性能改善が得られる場合にリソース配分変更が実行される。より具体的には、上述のごとく算出される性能改善率[配分変更後の平均距離]/[配分変更前の平均距離]が所定値以下となる場合に、上記リソース配分変更を実行することが好ましい。
なお、上述した算出手段33および配分手段34による処理は、例えば、新規パーティション追加,所定時間経過,ユーザ(サーバ管理者)のリクエストなどをトリガとして、深夜などのシステム1の使用頻度の低い時間帯に実行される。
また、算出手段33は、最適配分となるリソース組み合わせが複数存在する場合には、後述する配分手段34によるリソース配分を行なう際にリソース配分変更量が最も少なくなる、リソース組み合わせを、最適配分として選択することが望ましい。これにより、リソース配分変更に伴う、各パーティション管理部21,22における条件テーブルの書換変更や、CPU/メモリにおけるデータ移動などの処理を最小限に抑え、効率的に配分変更を行なうことができる。
次に、図4に示すフローチャート(ステップS1〜S8)に従い、上述のごとく構成された本実施形態のマルチプロセッサシステム1(サーバ管理装置30)の動作について、図5および図6を参照しながら説明する。なお、図5および図6は、いずれも、図1に示すシステム1におけるパーティション分割の具体的な最適化動作例を説明するためのもので、図5はシステム1の最適化前の状態を示す図、図6はシステム1の最適化後の状態を示す図である。
ここで、各々のパーティションが同一量のリソースを使用していたとしても、各パーティションP1,P2におけるリソースの組み合わせによっては、システム1の性能は大きく異なる。そこで、本実施形態では、各パーティションP1,P2に対しリソースを再配分し、システム1の処理性能を最適化する。
図5に示す例では、8個のCPU C11,C12,C13,C14,C21,C22,C51,C52および2個のメモリM1,M5がパーティションP1に属し、4個のCPU C23,C24,C61,C62および1個のメモリM2がパーティションP2に属している。つまり、パーティションP1に属するCPUは3つのノードN1,N2,N5に分散配置され、パーティションP1に属するメモリM1,M5は2つのノードN1,N5に分散配置されている。また、パーティションP2に属するCPUは2つのノードN2,N6に分散配置されている。このように同一パーティションにおけるCPUとメモリとが異なるノードに分散配置されていると、ノード間通信を行なう必要があり、メモリレイテンシが悪化することになる。例えば、ノードN6に属するCPU C61は、他ノードN2におけるメモリM2にアクセスする必要があり、メモリレイテンシが悪化してしまう。
これに対し、図6に示す例は、図5に示すごとく配分されたリソースに対し、サーバ管理装置30が、例えば図2や図3に示すアクセスレイテンシテーブル31aや,リソース間データ移動頻度31bに用い図4に示す手順で最適化処理を行なった結果得られた、最適化後の状態である。この図6に示す例では、8個のCPU C11,C12,C13,C14,C21,C22,C23,C24および2個のメモリM1,M2がパーティションP1に属し、4個のCPU C61,C62,C63,C64および1個のメモリM6がパーティションP2に属している。
このように再配分を行なうことにより、パーティションP2に属するCPUおよびメモリは一つのノードN6内に配置される。従って、CPUがメモリアクセスを行なう際には、必ず自ノードN6のメモリM6にアクセスすることになり、メモリレイテンシは最小になる。
また、パーティションP1に属するCPUおよびメモリは、同一のクロスバスイッチCB1に収容された2つのノードN1,N2内に配置される。従って、この場合も、CPUがメモリアクセスを行なう際には、自ノードのメモリもしくは同一クロスバスイッチCB1に収容された他のノードのメモリにアクセスすることになり、メモリレイテンシは最小になる。
さて、本実施形態のサーバ管理装置30が動作を開始すると、図4に示すように、まず、アクセスレイテンシテーブル31aを初期化してから(ステップS1)、システム1の運用を開始する(ステップS2)。なお、アクセスレイテンシテーブル31aの初期化では、本システム1のリソース群10に対応するアクセスレイテンシテーブル31aが記憶部31に登録格納される。また、動作開始時の初期化に際しては、各ノードNiにおけるテーブルTiの初期化(クリア)も行なわれる。
この後、収集手段32によって、リソース間のデータ移動情報の収集が開始される(ステップS3)。この収集処理では、各ノードNiにおけるテーブルTiに記録されたデータ移動情報が、バスB1,B2を介して各テーブルTiから収集され、リソース間データ移動頻度テーブル31bに登録される。これにより、リソース間データ移動頻度テーブル31bには、リソース群10において、どのCPUがどのメモリに対して、何回、リクエストを発行したかに関する情報、つまり通信回数/データ移動回数/リードアクセス回数などが、データ移動頻度として登録される。情報分析のトリガが発生するまでは、上述のようなリソース間のデータ移動情報の収集が継続される(ステップS4のNOルート)。
そして、例えば、新規パーティション追加,所定時間経過,ユーザ(サーバ管理者)のリクエストなどの何らかのトリガが発生すると(ステップS4のYESルート)、算出手段33によって、アクセスレイテンシテーブル31aの距離情報、つまりアクセスレイテンシ/メモリレイテンシとリソース間データ移動頻度テーブル31bのデータ移動頻度とに基づき、各パーティションP1,P2に対する、リソースの最適配分が算出される(ステップS5)。つまり、算出手段33によって、上述のように、全てのリソースの組み合わせに対し平均距離が算出され、その平均距離を最小にするリソース組み合わせが、最適なパーティション構成(最適配分)として求められる。
この後、サーバ管理装置30では、算出手段33によって得られた最適なパーティション構成(最適配分)について、上述のごとき性能改善率[配分変更後の平均距離]/[配分変更前の平均距離]が算出される。そして、その性能改善率が所定値以下であるか否かが判断される(ステップS6)。
性能改善率が所定値を超えている場合、現状のパーティション構成よりもよいパーティション構成が存在しないと判断され(ステップS6のNOルート)、現状のパーティション構成が維持される。つまり、サーバ管理装置30は、リソース間のデータ移動情報の収集を継続し、ステップS4の処理へ移行する。
一方、性能改善率が所定値以下である場合、現状のパーティション構成よりもよいパーティション構成が存在すると判断され(ステップS6のYESルート)、配分手段34による配分変更処理が実行される(ステップS7)。
その際、例えば図5に示すパーティション構成から図6に示すパーティション構成へ配分変更する場合には、変更対象となるノードN1,N2,N5,N6の動作が停止される。そして、配分手段34によって、各パーティション管理部21,22における、各パーティションP1,P2についての条件テーブルの内容が書き換えられるとともに、変更対象のCPU内データやメモリの記憶データが変更後のCPUやメモリに移動される。このとき、メモリM2の記憶データがメモリM6に移動されるとともに、CPU C23,C24の内部データがCPU C63,C64に移動される。その後、メモリM5の記憶データがメモリM2に移動されるとともに、CPU C51,C52の内部データがCPU C23,C24に移動される。このようなデータ移動処理を行なってから、ノードN1,N2,N5,N6の電源が投入され、各パーティションP1,P2内のリソースの構成が最適なパーティション構成(最適配分)に変更される。
パーティション構成の変更を終了すると、リソース間データ移動頻度テーブル31bやテーブルT1,T2,T5,T6において、変更対象となったリソースに係るデータ移動頻度やデータ移動情報といった情報がクリアされ(ステップS8)、サーバ管理装置30はステップS3の処理へ移行する。
このように、本発明の一実施形態としてのマルチプロセッサシステム1やサーバ管理装置30によれば、マルチプロセッサシステム1内のリソース間の距離情報とデータ移動頻度とに基づいて、各パーティションに対するリソースの最適配分が統計的に算出され、その最適配分に応じたリソース配分が行なわれる。これにより、システム1の特性を意識したリソース配分が実現され、パーティション分割、つまりパーティションへのリソースの割当が最適化され、システム全体の処理性能が大幅に向上する。つまり、システム1のNUMA特性を考慮したリソースの再配置を行なうことにより、同一リソースを使用した場合の処理性能を最大化することができる。
なお、本発明は上述した実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々変形して実施することができる。
また、上述した記憶部(第1テーブル記憶手段,第2テーブル記憶手段)31,収集手段32,算出手段33および配分手段34としての機能(各手段の全部もしくは一部の機能)は、コンピュータ(CPU,情報処理装置,各種端末を含む)が所定のアプリケーションプログラム(マルチプロセッサシステム用管理プログラム)を実行することによって実現される。
そのプログラムは、例えばフレキシブルディスク,CD(CD−ROM,CD−R,CD−RWなど),DVD(DVD−ROM,DVD−RAM,DVD−R,DVD−RW,DVD+R,DVD+RW,ブルーレイディスクなど)等のコンピュータ読取可能な記録媒体に記録された形態で提供される。この場合、コンピュータはその記録媒体からマルチプロセッサシステム用管理プログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。また、そのプログラムを、例えば磁気ディスク,光ディスク,光磁気ディスク等の記憶装置(記録媒体)に記録しておき、その記憶装置から通信回線を介してコンピュータに提供するようにしてもよい。
ここで、コンピュータとは、ハードウエアとOS(オペレーティングシステム)とを含む概念であり、OSの制御の下で動作するハードウエアを意味している。また、OSが不要でアプリケーションプログラム単独でハードウェアを動作させるような場合には、そのハードウェア自体がコンピュータに相当する。ハードウエアは、少なくとも、CPU等のマイクロプロセッサと、記録媒体に記録されたプログラムを読み取るための手段とをそなえている。上記分散型ストレージシステム用制御プログラムとしてのアプリケーションプログラムは、上述のようなコンピュータに、手段31〜34としての機能を実現させるプログラムコードを含んでいる。また、その機能の一部は、アプリケーションプログラムではなくOSによって実現されてもよい。
さらに、本実施形態における記録媒体としては、上述したフレキシブルディスク,CD,DVD,磁気ディスク,光ディスク,光磁気ディスクのほか、ICカード,ROMカートリッジ,磁気テープ,パンチカード,コンピュータの内部記憶装置(RAMやROMなどのメモリ),外部記憶装置等や、バーコードなどの符号が印刷された印刷物等の、コンピュータ読取可能な種々の媒体を利用することもできる。
以上の本実施形態を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
複数のパーティションのいずれか一つに対し単独で割当可能な、複数のリソースと、
該複数のパーティションのそれぞれに属するリソースを管理する複数のパーティション管理部と、
該複数のリソースおよび該複数のパーティション管理部を管理するシステム管理部とを有し、
該システム管理部は、
該複数のリソース相互間の距離に係る距離情報を定義する第1テーブルを記憶する第1テーブル記憶手段と、
該複数のリソース相互間のデータ移動情報を収集する収集手段と、
該収集手段によって収集された前記データ移動情報に基づく該複数のリソース相互間のデータ移動頻度を保持する第2テーブルを記憶する第2テーブル記憶手段と、
該第1テーブルの距離情報と該第2テーブルのデータ移動頻度とに基づき、各パーティションに対する、該複数のリソースの最適配分を算出する算出手段と、
該複数のパーティションに対する該複数のリソースの配分状態が該算出手段によって算出された前記最適配分の状態になるように、該複数のパーティション管理部を介して該複数のパーティションに該複数のリソースを配分する配分手段とを有していることを特徴とする、マルチプロセッサシステム。
(付記2)
該第1テーブルにおける前記距離情報として、各リソースの属するノード間のアクセスレイテンシが定義されていることを特徴とする、付記1に記載のマルチプロセッサシステム。
(付記3)
該第2テーブルにおける前記データ移動頻度として、前記複数のリソース相互間のデータ移動回数が記録更新されることを特徴とする、付記1または付記2に記載のマルチプロセッサシステム。
(付記4)
該複数のリソースとして複数の演算処理部と複数のメモリとが含まれ、前記データ移動回数として各演算処理部と各メモリとの間の通信回数が記録更新されることを特徴とする、付記3に記載のマルチプロセッサシステム。
(付記5)
該算出手段は、該第1テーブルの距離情報と該第2テーブルのデータ移動頻度とに基づき、各パーティションに割り当てられる該複数のリソースの全ての組み合わせのそれぞれについて平均距離を算出し、当該平均距離が最小になるリソースの組み合わせを前記最適配分として選択することを特徴とする、付記1〜付記4のいずれか一項に記載のマルチプロセッサシステム。
(付記6)
該算出手段は、前記最適配分として複数の組み合わせが存在する場合には、該配分手段によるリソース配分を行なう際に配分変更量の最も少ない組み合わせを前記最適配分として選択することを特徴とする、付記5に記載のマルチプロセッサシステム。
(付記7)
該複数のリソースとして複数の演算処理部と複数のメモリとが含まれ、
該算出手段は、前記組み合わせ毎に、該第2テーブルに前記データ移動頻度として記録された各メモリに対する各演算処理部のアクセス回数と、該第1テーブルに前記距離情報として定義された対応メモリレイテンシとの積の総和を算出し、当該積の総和を前記アクセス回数の総和で除算した値を、当該組み合わせについての前記平均距離として算出することを特徴とする、付記5または付記6に記載のマルチプロセッサシステム。
(付記8)
複数のパーティションのいずれか一つに対し単独で割当可能な、複数のリソースと、該複数のパーティションのそれぞれに属するリソースを管理する複数のパーティション管理部とを有するマルチプロセッサシステムにおいて、該複数のリソースおよび該複数のパーティション管理部を管理するマルチプロセッサシステム用管理装置であって、
該複数のリソース相互間の距離に係る距離情報を定義する第1テーブルを記憶する第1テーブル記憶手段と、
該複数のリソース相互間のデータ移動情報を収集する収集手段と、
該収集手段によって収集された前記データ移動情報に基づく該複数のリソース相互間のデータ移動頻度を保持する第2テーブルを記憶する第2テーブル記憶手段と、
該第1テーブルの距離情報と該第2テーブルのデータ移動頻度とに基づき、各パーティションに対する、該複数のリソースの最適配分を算出する算出手段と、
該複数のパーティションに対する該複数のリソースの配分状態が該算出手段によって算出された前記最適配分の状態になるように、該複数のパーティション管理部を介して該複数のパーティションに該複数のリソースを配分する配分手段とを有していることを特徴とする、マルチプロセッサシステム用管理装置。
(付記9)
該第1テーブルにおける前記距離情報として、各リソースの属するノード間のアクセスレイテンシが定義されていることを特徴とする、付記8に記載のマルチプロセッサシステム用管理装置。
(付記10)
該第2テーブルにおける前記データ移動頻度として、前記複数のリソース相互間のデータ移動回数が記録更新されることを特徴とする、付記8または付記9に記載のマルチプロセッサシステム用管理装置。
(付記11)
該複数のリソースとして複数の演算処理部と複数のメモリとが含まれ、前記データ移動回数として各演算処理部と各メモリとの間の通信回数が記録更新されることを特徴とする、付記10に記載のマルチプロセッサシステム用管理装置。
(付記12)
該算出手段は、該第1テーブルの距離情報と該第2テーブルのデータ移動頻度とに基づき、各パーティションに割り当てられる該複数のリソースの全ての組み合わせのそれぞれについて平均距離を算出し、当該平均距離が最小になるリソースの組み合わせを前記最適配分として選択することを特徴とする、付記8〜付記11のいずれか一項に記載のマルチプロセッサシステム用管理装置。
(付記13)
該算出手段は、前記最適配分として複数の組み合わせが存在する場合には、該配分手段によるリソース配分を行なう際に配分変更量の最も少ない組み合わせを前記最適配分として選択することを特徴とする、付記12に記載のマルチプロセッサシステム用管理装置。
(付記14)
該複数のリソースとして複数の演算処理部と複数のメモリとが含まれ、
該算出手段は、前記組み合わせ毎に、該第2テーブルに前記データ移動頻度として記録された各メモリに対する各演算処理部のアクセス回数と、該第1テーブルに前記距離情報として定義された対応メモリレイテンシとの積の総和を算出し、当該積の総和を前記アクセス回数の総和で除算した値を、当該組み合わせについての前記平均距離として算出することを特徴とする、付記12または付記13に記載のマルチプロセッサシステム用管理装置。
(付記15)
複数のパーティションのいずれか一つに対し単独で割当可能な、複数のリソースと、該複数のパーティションのそれぞれに属するリソースを管理する複数のパーティション管理部とを有するマルチプロセッサシステムにおいて、該複数のリソースおよび該複数のパーティション管理部を管理するマルチプロセッサシステム用管理装置として、コンピュータを機能させるプログラムを記録したコンピュータ読取可能な記録媒体であって、
該プログラムは、
該複数のリソース相互間の距離に係る距離情報を定義する第1テーブルを記憶する第1テーブル記憶手段、
該複数のリソース相互間のデータ移動情報を収集する収集手段、
該収集手段によって収集された前記データ移動情報に基づく該複数のリソース相互間のデータ移動頻度を保持する第2テーブルを記憶する第2テーブル記憶手段、
該第1テーブルの距離情報と該第2テーブルのデータ移動頻度とに基づき、各パーティションに対する、該複数のリソースの最適配分を算出する算出手段、および、
該複数のパーティションに対する該複数のリソースの配分状態が該算出手段によって算出された前記最適配分の状態になるように、該複数のパーティション管理部を介して該複数のパーティションに該複数のリソースを配分する配分手段、として、該コンピュータを機能させることを特徴とする、マルチプロセッサシステム用管理プログラムを記録したコンピュータ読取可能な記録媒体。
(付記16)
該プログラムは、該算出手段として該コンピュータを機能させる際に、該第1テーブルの距離情報と該第2テーブルのデータ移動頻度とに基づき、各パーティションに割り当てられる該複数のリソースの全ての組み合わせのそれぞれについて平均距離を算出し、当該平均距離が最小になるリソースの組み合わせを前記最適配分として選択するように、該コンピュータを機能させることを特徴とする、付記15に記載のマルチプロセッサシステム用管理プログラムを記録したコンピュータ読取可能な記録媒体。
(付記17)
該複数のリソースとして複数の演算処理部と複数のメモリとが含まれ、
該プログラムは、該算出手段として該コンピュータを機能させる際に、前記組み合わせ毎に、該第2テーブルに前記データ移動頻度として記録された各メモリに対する各演算処理部のアクセス回数と、該第1テーブルに前記距離情報として定義された対応メモリレイテンシとの積の総和を算出し、当該積の総和を前記アクセス回数の総和で除算した値を、当該組み合わせについての前記平均距離として算出するように、該コンピュータを機能させることを特徴とする、付記16に記載のマルチプロセッサシステム用管理プログラムを記録したコンピュータ読取可能な記録媒体。

Claims (8)

  1. 複数のパーティションのいずれか一つに対し単独で割当可能な、複数のリソースと、
    該複数のパーティションのそれぞれに属するリソースを管理する複数のパーティション管理部と、
    該複数のリソースおよび該複数のパーティション管理部を管理するシステム管理部とを有し、
    該システム管理部は、
    該複数のリソース相互間の距離に係る距離情報を定義する第1テーブルを記憶する第1テーブル記憶手段と、
    該複数のリソースに含まれるメモリ毎にそなえられ当該メモリに対するリクエストに応じて該複数のリソース相互間のデータ移動情報を記録するテーブルから、該複数のリソース相互間のデータ移動情報を収集する収集手段と、
    該収集手段によって収集された前記データ移動情報に基づく該複数のリソース相互間のデータ移動頻度を保持する第2テーブルを記憶する第2テーブル記憶手段と、
    該第1テーブルの距離情報と該第2テーブルのデータ移動頻度とに基づき、各パーティションに割り当てられる該複数のリソースの全ての組み合わせのそれぞれについて平均距離を算出し、当該平均距離が最小になるリソースの組み合わせを、各パーティションに対する、該複数のリソースの最適配分として選択する算出手段と、
    性能改善率である[配分変更後の平均距離]/[配分変更前の平均距離]が所定値以下となる場合に、該複数のパーティションに対する該複数のリソースの配分状態が該算出手段によって算出された前記最適配分の状態になるように、該複数のパーティション管理部を介して該複数のパーティションに該複数のリソースを配分する配分手段とを有していることを特徴とする、マルチプロセッサシステム。
  2. 該第1テーブルにおける前記距離情報として、各リソースの属するノード間のアクセスレイテンシが定義されていることを特徴とする、請求項1に記載のマルチプロセッサシステム。
  3. 該第2テーブルにおける前記データ移動頻度として、前記複数のリソース相互間のデータ移動回数が記録更新されることを特徴とする、請求項1または請求項2に記載のマルチプロセッサシステム。
  4. 該複数のリソースとして複数の演算処理部と複数のメモリとが含まれ、前記データ移動回数として各演算処理部と各メモリとの間の通信回数が記録更新されることを特徴とする、請求項3に記載のマルチプロセッサシステム。
  5. 該算出手段は、前記最適配分として複数の組み合わせが存在する場合には、該配分手段によるリソース配分を行なう際に配分変更量の最も少ない組み合わせを前記最適配分として選択することを特徴とする、請求項1〜請求項4のいずれか一項に記載のマルチプロセッサシステム。
  6. 該複数のリソースとして複数の演算処理部と複数のメモリとが含まれ、
    該算出手段は、前記組み合わせ毎に、該第2テーブルに前記データ移動頻度として記録された各メモリに対する各演算処理部のアクセス回数と、該第1テーブルに前記距離情報として定義された対応メモリレイテンシとの積の総和を算出し、当該積の総和を前記アクセス回数の総和で除算した値を、当該組み合わせについての前記平均距離として算出することを特徴とする、請求項1〜請求項5のいずれか一項に記載のマルチプロセッサシステム。
  7. 複数のパーティションのいずれか一つに対し単独で割当可能な、複数のリソースと、該複数のパーティションのそれぞれに属するリソースを管理する複数のパーティション管理部とを有するマルチプロセッサシステムにおいて、該複数のリソースおよび該複数のパーティション管理部を管理するマルチプロセッサシステム用管理装置であって、
    該複数のリソース相互間の距離に係る距離情報を定義する第1テーブルを記憶する第1テーブル記憶手段と、
    該複数のリソースに含まれるメモリ毎にそなえられ当該メモリに対するリクエストに応じて該複数のリソース相互間のデータ移動情報を記録するテーブルから、該複数のリソース相互間のデータ移動情報を収集する収集手段と、
    該収集手段によって収集された前記データ移動情報に基づく該複数のリソース相互間のデータ移動頻度を保持する第2テーブルを記憶する第2テーブル記憶手段と、
    該第1テーブルの距離情報と該第2テーブルのデータ移動頻度とに基づき、各パーティションに割り当てられる該複数のリソースの全ての組み合わせのそれぞれについて平均距離を算出し、当該平均距離が最小になるリソースの組み合わせを、各パーティションに対する、該複数のリソースの最適配分として選択する算出手段と、
    性能改善率である[配分変更後の平均距離]/[配分変更前の平均距離]が所定値以下となる場合に、該複数のパーティションに対する該複数のリソースの配分状態が該算出手段によって算出された前記最適配分の状態になるように、該複数のパーティション管理部を介して該複数のパーティションに該複数のリソースを配分する配分手段とを有していることを特徴とする、マルチプロセッサシステム用管理装置。
  8. 複数のパーティションのいずれか一つに対し単独で割当可能な、複数のリソースと、該複数のパーティションのそれぞれに属するリソースを管理する複数のパーティション管理部とを有するマルチプロセッサシステムにおいて、該複数のリソースおよび該複数のパーティション管理部を管理するマルチプロセッサシステム用管理装置として、コンピュータを機能させるプログラムを記録したコンピュータ読取可能な記録媒体であって、
    該プログラムは、
    該複数のリソース相互間の距離に係る距離情報を定義する第1テーブルを記憶する第1テーブル記憶手段、
    該複数のリソースに含まれるメモリ毎にそなえられ当該メモリに対するリクエストに応じて該複数のリソース相互間のデータ移動情報を記録するテーブルから、該複数のリソース相互間のデータ移動情報を収集する収集手段、
    該収集手段によって収集された前記データ移動情報に基づく該複数のリソース相互間のデータ移動頻度を保持する第2テーブルを記憶する第2テーブル記憶手段、
    該第1テーブルの距離情報と該第2テーブルのデータ移動頻度とに基づき、各パーティションに割り当てられる該複数のリソースの全ての組み合わせのそれぞれについて平均距離を算出し、当該平均距離が最小になるリソースの組み合わせを、各パーティションに対する、該複数のリソースの最適配分として選択する算出手段、および、
    性能改善率である[配分変更後の平均距離]/[配分変更前の平均距離]が所定値以下となる場合に、該複数のパーティションに対する該複数のリソースの配分状態が該算出手段によって算出された前記最適配分の状態になるように、該複数のパーティション管理部を介して該複数のパーティションに該複数のリソースを配分する配分手段、として、該コンピュータを機能させることを特徴とする、マルチプロセッサシステム用管理プログラムを記録したコンピュータ読取可能な記録媒体。
JP2010523663A 2008-08-04 2008-08-04 マルチプロセッサシステム,マルチプロセッサシステム用管理装置およびマルチプロセッサシステム用管理プログラムを記録したコンピュータ読取可能な記録媒体 Expired - Fee Related JP5327224B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2008/063977 WO2010016104A1 (ja) 2008-08-04 2008-08-04 マルチプロセッサシステム,マルチプロセッサシステム用管理装置およびマルチプロセッサシステム用管理プログラムを記録したコンピュータ読取可能な記録媒体

Publications (2)

Publication Number Publication Date
JPWO2010016104A1 JPWO2010016104A1 (ja) 2012-01-12
JP5327224B2 true JP5327224B2 (ja) 2013-10-30

Family

ID=41663334

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010523663A Expired - Fee Related JP5327224B2 (ja) 2008-08-04 2008-08-04 マルチプロセッサシステム,マルチプロセッサシステム用管理装置およびマルチプロセッサシステム用管理プログラムを記録したコンピュータ読取可能な記録媒体

Country Status (6)

Country Link
US (1) US8490106B2 (ja)
EP (1) EP2323036A4 (ja)
JP (1) JP5327224B2 (ja)
KR (1) KR101180763B1 (ja)
CN (1) CN102112967B (ja)
WO (1) WO2010016104A1 (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5765427B2 (ja) * 2011-09-15 2015-08-19 富士通株式会社 仮想マシン管理装置、仮想マシン移動制御プログラムおよび仮想マシン移動制御方法
WO2012163024A1 (zh) * 2011-10-27 2012-12-06 华为技术有限公司 针对多步长非一致性内存访问numa架构的内存管理方法及装置
US8830716B2 (en) * 2012-09-29 2014-09-09 Intel Corporation Intelligent far memory bandwith scaling
US9372907B2 (en) * 2013-11-26 2016-06-21 Sap Se Table placement in distributed databases
US9830346B2 (en) * 2013-11-26 2017-11-28 Sap Se Table redistribution in distributed databases
JP6068676B2 (ja) * 2013-11-28 2017-01-25 株式会社日立製作所 計算機システム及び計算機システムの制御方法
US10523585B2 (en) 2014-12-19 2019-12-31 Amazon Technologies, Inc. System on a chip comprising multiple compute sub-systems
US10459768B2 (en) 2015-01-07 2019-10-29 Hitachi, Ltd. Computer system, management system, and resource management method
US9588921B2 (en) * 2015-02-17 2017-03-07 Amazon Technologies, Inc. System on a chip comprising an I/O steering engine
US10715460B2 (en) * 2015-03-09 2020-07-14 Amazon Technologies, Inc. Opportunistic resource migration to optimize resource placement
US11336519B1 (en) 2015-03-10 2022-05-17 Amazon Technologies, Inc. Evaluating placement configurations for distributed resource placement
US10721181B1 (en) 2015-03-10 2020-07-21 Amazon Technologies, Inc. Network locality-based throttling for automated resource migration
US10616134B1 (en) 2015-03-18 2020-04-07 Amazon Technologies, Inc. Prioritizing resource hosts for resource placement
CN104778077B (zh) * 2015-04-27 2018-03-27 华中科技大学 基于随机和连续磁盘访问的高速核外图处理方法及系统
KR101637830B1 (ko) 2015-04-30 2016-07-07 서울시립대학교 산학협력단 헬름홀츠 공명을 이용한 청진기, 그 제어방법 및 그 제조방법
US10140158B2 (en) * 2016-02-23 2018-11-27 Telefonaktiebolaget Lm Ericsson (Publ) Methods and modules relating to allocation of host machines
US11075801B2 (en) * 2018-04-17 2021-07-27 Hewlett Packard Enterprise Development Lp Systems and methods for reconfiguration control using capabilities
US11556756B2 (en) * 2019-04-25 2023-01-17 Alibaba Group Holding Limited Computation graph mapping in heterogeneous computer system
WO2023157199A1 (ja) * 2022-02-17 2023-08-24 楽天モバイル株式会社 妥当性検証システム及び妥当性検証方法
CN116820687B (zh) * 2023-08-29 2023-12-05 银河麒麟软件(长沙)有限公司 基于kubelet的NUMA架构资源分配方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002202959A (ja) * 2000-12-28 2002-07-19 Hitachi Ltd 動的な資源分配をする仮想計算機システム
JP2004199561A (ja) * 2002-12-20 2004-07-15 Hitachi Ltd 計算機資源割当方法、それを実行するための資源管理サーバおよび計算機システム
JP2006003972A (ja) * 2004-06-15 2006-01-05 Nec Corp プロセス配置装置、プロセス配置方法及びプロセス配置プログラム
JP2007257097A (ja) * 2006-03-22 2007-10-04 Nec Corp 仮想計算機システム及びその物理リソース再構成方法並びにプログラム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6691146B1 (en) * 1999-05-19 2004-02-10 International Business Machines Corporation Logical partition manager and method
US7143412B2 (en) * 2002-07-25 2006-11-28 Hewlett-Packard Development Company, L.P. Method and apparatus for optimizing performance in a multi-processing system
US7472246B2 (en) * 2003-04-30 2008-12-30 International Business Machines Corporation Method and system for automated memory reallocating and optimization between logical partitions
JP4679167B2 (ja) * 2004-03-05 2011-04-27 株式会社東芝 コンピュータシステム解析装置
JP4982971B2 (ja) 2004-09-29 2012-07-25 ソニー株式会社 情報処理装置、プロセス制御方法、並びにコンピュータ・プログラム
US7673114B2 (en) 2006-01-19 2010-03-02 International Business Machines Corporation Dynamically improving memory affinity of logical partitions

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002202959A (ja) * 2000-12-28 2002-07-19 Hitachi Ltd 動的な資源分配をする仮想計算機システム
JP2004199561A (ja) * 2002-12-20 2004-07-15 Hitachi Ltd 計算機資源割当方法、それを実行するための資源管理サーバおよび計算機システム
JP2006003972A (ja) * 2004-06-15 2006-01-05 Nec Corp プロセス配置装置、プロセス配置方法及びプロセス配置プログラム
JP2007257097A (ja) * 2006-03-22 2007-10-04 Nec Corp 仮想計算機システム及びその物理リソース再構成方法並びにプログラム

Also Published As

Publication number Publication date
KR20110034666A (ko) 2011-04-05
JPWO2010016104A1 (ja) 2012-01-12
CN102112967A (zh) 2011-06-29
KR101180763B1 (ko) 2012-09-07
EP2323036A1 (en) 2011-05-18
WO2010016104A1 (ja) 2010-02-11
EP2323036A4 (en) 2011-11-23
US8490106B2 (en) 2013-07-16
CN102112967B (zh) 2014-04-30
US20110145831A1 (en) 2011-06-16

Similar Documents

Publication Publication Date Title
JP5327224B2 (ja) マルチプロセッサシステム,マルチプロセッサシステム用管理装置およびマルチプロセッサシステム用管理プログラムを記録したコンピュータ読取可能な記録媒体
CN102082692B (zh) 基于网络数据流向的虚拟机迁移方法、设备和集群系统
US9092266B2 (en) Scalable scheduling for distributed data processing
US8230432B2 (en) Defragmenting blocks in a clustered or distributed computing system
CN110120915A (zh) 高性能计算的三级成本效益分解和具有在线扩展灵活性的高容量存储器
US8060610B1 (en) Multiple server workload management using instant capacity processors
JP5228988B2 (ja) 割当制御プログラム及び割当制御装置
US7099814B2 (en) I/O velocity projection for bridge attached channel
CN110851383B (zh) 一种管理存储系统的方法及设备
JP2013509658A (ja) 将来の使用推量に基づく記憶メモリの割り当て
JP5104855B2 (ja) 負荷分散プログラム、負荷分散方法、及びストレージ管理装置
US20170199694A1 (en) Systems and methods for dynamic storage allocation among storage servers
CN101809551A (zh) 自动精简配置迁移和清理
JP6056856B2 (ja) ストレージ制御装置、情報処理装置、ストレージ制御プログラム、及びストレージ制御方法
JP6269140B2 (ja) アクセス制御プログラム、アクセス制御方法、およびアクセス制御装置
CN113396566A (zh) 分布式存储系统中基于全面i/o监测的资源分配
TWI795505B (zh) 記憶體系統、其操作方法和包括該記憶體系統的計算系統
JP6152704B2 (ja) ストレージシステム、情報処理装置の制御プログラム、およびストレージシステムの制御方法
JP7107981B2 (ja) 計算機システム
JP2002157091A (ja) ストレージサブシステム及びそのシステムに使用する記憶装置
JP6836536B2 (ja) ストレージシステム及びio処理の制御方法
WO2015029249A1 (ja) ストレージ装置及びそのデータ処理方法
US20130151808A1 (en) Allocation device, allocation method and storage device
JP2007206913A (ja) データベースアクセスシステム、アプリケーションサーバノード、データベースアクセス方法及びプログラム
TWI452518B (zh) 虛擬機器的配置方法與使用其之伺服器系統

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120925

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121022

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130219

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130516

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20130524

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130708

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