JP5035708B2 - 並列計算機システム、ジョブサーバ、ジョブスケジューリング方法及びジョブスケジューリングプログラム - Google Patents

並列計算機システム、ジョブサーバ、ジョブスケジューリング方法及びジョブスケジューリングプログラム Download PDF

Info

Publication number
JP5035708B2
JP5035708B2 JP2010097594A JP2010097594A JP5035708B2 JP 5035708 B2 JP5035708 B2 JP 5035708B2 JP 2010097594 A JP2010097594 A JP 2010097594A JP 2010097594 A JP2010097594 A JP 2010097594A JP 5035708 B2 JP5035708 B2 JP 5035708B2
Authority
JP
Japan
Prior art keywords
node
temperature
nodes
group
empty
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
JP2010097594A
Other languages
English (en)
Other versions
JP2011227747A (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.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2010097594A priority Critical patent/JP5035708B2/ja
Priority to US13/088,456 priority patent/US8635323B2/en
Publication of JP2011227747A publication Critical patent/JP2011227747A/ja
Application granted granted Critical
Publication of JP5035708B2 publication Critical patent/JP5035708B2/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
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5094Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

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)

Description

本発明は、多数のノードがネットワーク回線で接続された並列計算機システムに関し、特に、並列計算機システムで実行されるジョブのスケジューリングを行うジョブサーバ、ジョブスケジューリング方法及びジョブスケジューリングプログラムに関する。
近年、並列計算機システムは、各ノードの規模よりもノード数を増加させることにより性能を向上させることが一般化している。
一般に、並列計算機システムでは、ノード間を接続するネットワーク回線(インターコネクト)によりノード間でデータのやり取りをしながら計算を進める。この場合のネットワーク回線の接続方法としては、任意の1ノードと他の全てのノードを直接接続する完全結合が通信効率の点から最適であるが、ノード数が増加すると、この方法は実装上の困難さやコストの面から現実的ではない。
このため、近傍のノード同士を直接接続し、それより先のノードに対しては、近傍のノードから目的とするノードに到達するまで複数のノードを介して通信を行う方法が採用されることが多い。このような接続方法の1つとして、2次元トーラスや3次元トーラスに基づく接続方法がある。
しかし、このような接続方法の場合、直接ネットワーク回線で接続されている近傍のノードとの通信と、複数のノードを介して通信しなければならないノード(ネットワーク的に遠いノード)との通信では、通信に要する時間に差が生じる。
つまり、2次元トーラスや3次元トーラスに基づく接続方法では、全てのノードとの通信が同じ時間で完了できる完全結合の場合よりも、並列計算機システム上で実行されているジョブのTAT(Turn Around Time)が長くなる可能性があることが一般に知られている。
このことは、今後ノード数がさらに増加すると考えると、大きな問題になる可能性がある。このため、並列計算機システム上で複数のノードを使用するジョブを実行する場合は、できるだけネットワーク的に近いノードを選択すべきである。
並列計算機システムにおいて、できるだけネットワーク的に近いノードを選択するための関連技術として、例えば、特許文献1には、複数のHPC(High Performance Computer)ノードから非割り当て部分集合を判定すること、及びノード間の距離を最小にするために、ジョブの種類によって最善のフィットが立方体である場合や球体である場合について記載されている。
しかし、既に他に複数の実行中のジョブがあり、使用中のノードと空きノードが並列計算機システム内に混在するような場合において、実際にどのような方法によって「非割り当て部分集合」を判定するのかについては、特許文献1には何ら言及されていない。
特開2005−310139号公報
一般的に考えられる方法の一例としては、最初に空きノードの集合から任意のノードを1つ選定し、その周囲のノードにどのくらい空きノードがあるかを調べるために、周囲のノードをスキャンすることである。しかし、そのノードの周囲に空きノードが少ない場合は、再度他の空きノードを1つ選定し、適当な空き領域が見つかるまで、この操作を繰り返さなければならない。この場合、最適な空き領域が見つかるまで上記操作を繰り返すと、Ο(n^2)(nは、ノード数で正の整数)の手間がかかってしまう場合がある。
以上より、特に、複数のノードを使用するジョブが複数存在する場合に、2次元トーラスや3次元トーラス空間の中から、空き領域(空きノードが多く存在する領域)を効率よく見つけ出す方法を提供することが課題となる。
(発明の目的)
本発明は、ジョブが複数のノードを使用する場合に、あるノードの周囲のノード全てをスキャンして調べることなく、空き領域(空きノードが多く存在する領域)を効率よく見つけ出すことを可能とする並列計算機システム、ジョブサーバ、ジョブスケジューリング方法及びジョブスケジューリングプログラムを提供することにある。
本発明の第1の並列計算機システムは、多数のノードをネットワークで接続したノード群を備える並列計算機システムであって、ノード群のノードで実行するジョブのスケジューリングを行うジョブサーバのジョブスケジューラが、ノード群の使用中のノードを架空の熱源とし、当該熱源から周囲のノードへ熱量が伝達されると仮定し、熱源からの距離に基づいて周囲の空きノードの温度を計算する温度計算手段と、空きノードをある温度範囲毎にグループ分けした複数の温度グループから、ジョブが必要とする空きノードの数に見合った温度グループを選択し、選択した温度グループから最も温度の低い空きノードを中心ノードとして取り出す空き領域抽出手段と、中心ノードを中心として距離の近い空きノードから順に必要とする数の空きノードを選択するノード選択手段とを備える。
本発明の第1のジョブスケジューリング方法は、多数のノードをネットワークで接続したノード群を備える並列計算機システムにおけるジョブスケジューリング方法であって、ノード群のノードで実行するジョブのスケジューリングを行うジョブサーバのスケジューラが、ノード群の使用中のノードを架空の熱源とし、当該熱源から周囲のノードへ熱量が伝達されると仮定し、熱源からの距離に基づいて周囲の空きノードの温度を計算する温度計算ステップと、空きノードをある温度範囲毎にグループ分けした複数の温度グループから、ジョブが必要とする空きノードの数に見合った温度グループを選択し、選択した温度グループから最も温度の低い空きノードを中心ノードとして取り出す空き領域抽出ステップと、中心ノードを中心として距離の近い空きノードから順に必要とする数の空きノードを選択するノード選択ステップとを実行する。
本発明の第1のジョブサーバは、多数のノードをネットワークで接続したノード群を備える並列計算機システムにおいて、ノード群のノードで実行するジョブのスケジューリングを行うジョブスケジューラを備えるジョブサーバであって、ジョブスケジューラが、ノード群の各ノード間のネットワーク的な距離を計算する距離計算手段と、ノード群の使用中のノードを架空の熱源とし、当該熱源から周囲のノードへ熱量が伝達されると仮定し、熱源からの距離に基づいて周囲の空きノードの温度を計算する温度計算手段と、空きノードをある温度範囲毎にグループ分けした複数の温度グループから、ジョブが必要とする空きノードの数に見合った温度グループを選択し、選択した温度グループから最も温度の低い空きノードを中心ノードとして取り出す空き領域抽出手段と、中心ノードを中心として距離の近い空きノードから順に必要とする数の空きノードを選択するノード選択手段と、全体を制御し、ノード群からジョブの実行に必要なノードの確保と解放を行うノード確保/解放手段と、を備える。
本発明の第1のジョブスケジューリングプログラムは、多数のノードをネットワークで接続したノード群を備える並列計算機システムにおけるジョブスケジューリングプログラムであって、ノード群のノードで実行するジョブのスケジューリングを行うジョブサーバに、ノード群の各ノード間のネットワーク的な距離を計算する距離計算処理と、ノード群の使用中のノードを架空の熱源とし、当該熱源から周囲のノードへ熱量が伝達されると仮定し、熱源からの距離に基づいて周囲の空きノードの温度を計算する温度計算処理と、空きノードをある温度範囲毎にグループ分けした複数の温度グループから、ジョブが必要とする空きノードの数に見合った温度グループを選択し、選択した温度グループから最も温度の低い空きノードを中心ノードとして取り出す空き領域抽出処理と、中心ノードを中心として距離の近い空きノードから順に必要とする数の空きノードを選択するノード選択処理と、を実行させる。
本発明によれば、ジョブが複数のノードを使用する場合に、あるノードの周囲のノード全てをスキャンして調べることなく、空き領域(空きノードが多く存在する領域)を効率よく見つけ出すことを可能となる。
本発明の第1の実施の形態による並列計算機システム全体の構成例を示す図である。 本発明の第1の実施の形態による並列計算機システムのジョブサーバのジョブスケジューラの構成を示すブロック図である。 ノード群のネットワーク回線の接続形態の一例として、2次元トーラスの接続例のイメージを示す図である。 ノード群における各ノードから隣接ノードへの接続イメージを示す図である。 本発明の第1の実施の形態による並列計算機システムの計算ノードの構成例を示すブロック図である。 熱源からの熱の伝導状態を示す図である。 本発明の第1の実施の形態による空きノードキューの例を示す図である。 2次元トーラスの場合のノードAからノードBへ至る正回りと逆回りの経路を例を示す図である。 本発明の第1の実施の形態による、ジョブ起動時に計算ノードを確保する際の動作を説明するフローチャートである。 第1の温度計算手段による確保したノードとその周囲の空きノードの温度を再計算する際の動作を説明するフローチャートである。 本発明の第1の実施の形態による、ジョブ終了時に計算ノードを解放する際の動作を説明するフローチャートである。 第2の温度計算手段による解放したノードとその周囲の空きノードの温度を再計算する際の動作を説明するフローチャートである。 本発明の第1の実施の形態によってノードを確保する際の一例を示す図である。
本発明の実施の形態について図面を参照して詳細に説明する。
(第1の実施の形態)
(構成の説明)
まず、本発明の第1の実施の形態による並列計算機システム全体の構成例を、図1を参照して説明する。
本実施の形態による並列計算機システムにおいては、基本的に、図1に示すように、ノード群1000を、隣接する6方向のノードとネットワーク回線により接続(3次元トーラス)されている複数のノードで構成される、立方体の集まりとして表現している。
ノード群1000には、ジョブサーバ10、管理ノード20、I/O(Input/Output)ノード30、計算ノード40などが含まれる。その他に、ファイルシステム70とストレージ用ネットワーク60、及び外部ネットワーク50を含んでいる。
ジョブサーバ10は、図2に示すジョブスケジューラ11が動作するノードである。計算ノード40は、エンドユーザが必要な計算を行うためのノードであり、ジョブスケジューラ11によるスケジューリングの対象となるノードである。
I/Oノード30は、計算ノード40からの入出力要求を受け取り、その入出力要求をストレージ用ネットワーク60を介してファイルシステム70へ渡す役割を担う。
ファイルシステム70は、一般に複数のストレージから構成される。複数のストレージサーバが複数のストレージを管理する形でファイルシステム70を構成する場合もある。
管理ノード30は、システム管理者がメンテナンスやシステムの設定変更などのためにログインして作業を行うノードである。
そして、エンドユーザは、外部ネットワーク50を介して外部の端末からジョブサーバ10に対してジョブの投入を行う。
ノード群1000のネットワーク回線の接続形態の一例として、図3に2次元トーラスの接続例のイメージを示す。トーラス接続の特徴は、端に位置するノードは反対側の端に位置するノードと接続されており、ネットワーク的には端が存在しない点である。
なお、3次元トーラスの場合は、2次元の縦、横方向に加えて高さ方向が加わるだけで、上述した特徴は変わらない。図2に、3次元ではなく、2次元トーラスのイメージを示したのは、図を見やすくして理解を容易にするためである。
ノード群1000における各ノードから隣接ノードへの接続イメージを図4に示す。図4に示すように、各ノードが小規模なスイッチを有しており、このスイッチにより3次元トーラスの場合は隣接する6方向のノードへ直接接続する。
また、計算ノード40の構成例を図5に示す。3次元トーラスの場合、隣接する6ノードと自ノードを含め最低7ポートのスイッチ41が必要となる。その他に、1つ又は複数のCPU42内に複数のコア421と呼ばれる計算の単位があり、それらがメモリ422に接続されている。オペレーティングシステムについては、ノードの起動時にネットワーク回線を介してメモリへ転送される場合と、ノード毎に実装される外部記憶装置に格納される場合がある。後者の場合は、図5の構成に外部記憶装置が加わる。
また、ジョブサーバ10、管理ノード20、I/Oノード30についても、計算ノード40と類似の構成を有し、例えば外部記憶装置に格納したプログラムをそのCPUにおいて実行することにより、各ノード固有の機能を実現する。
例えば、ジョブサーバ10の場合であれば、ジョブスケジューラ11の機能は、プログラムを組み込んだ、LSI(Large Scale Integration)等のハードウェア部品である回路部品を実装することにより、その動作をハードウェア的に実現することは勿論として、その機能を提供するプログラムを、メモリにロードしてCPUで実行することにより、ソフトウェア的に実現することも可能である。
また、計算ノード40以外のノードは、他に外部ネットワーク50またはストレージネットワーク60と接続するためのネットワークインタフェースをさらにもう1つ有している。
次に、本発明の実施の形態による空きノード確保方法について、その概要を説明する。なお、理解を容易にするために、図によっては、3次元トーラスではなく2次元トーラスの図を用いている場合もある。
本実施の形態においては、ジョブサーバ10のジョブスケジューラ11が複数の空きノード(以降、特に明示しない限り「ノード」とは計算ノード40を指す)を確保する処理において、最初に空きノードの集合からノードを1つ選定し、その選択したノードに関する情報を参照するだけで、周りにどの程度空きノードが存在するかを推定できるようにする。例えば、1つのジョブが複数のノード(計算ノード)を確保する必要がある場合、それらノード間の通信時間を短くするために、できるだけネットワーク的な距離が近いノードを確保する必要があるが、その際に、ジョブスケジューラが空きノードの多い領域を効率よく見つけ出すことができるようにする。このために、熱伝導の概念を利用する。
本実施の形態では、使用中のノードを温度T=T0の架空の熱源とし、周りの空きノードへ熱源からの距離に比例して熱が伝導するとした場合において、時刻t=tnでの熱源の周囲の空きノードの温度を計算する。
次に、ジョブスケジューラ11が複数の空きノードを確保する処理において、空きノードの集合からノードを1つ選定し、そのノードの温度高ければ周囲に空きノードは少なく、温度が低い場合は空きノードが多いと考える。
つまり、選定したノードの温度が低い場合は、3次元トーラス空間内での空きノードを確保する領域の候補になる。これにより、周囲のノードに空きノードがあるかどうかを調べることなく、周囲に多くの空きノードがある可能性が高い領域を抽出できる。
なお、本発明では、あくまでも熱伝導の概念を利用するのであって、実在する物質の熱伝導を扱うものではないことに留意したい。このため、実際の物理現象に一致していない場合があっても差し支えない。
熱伝導は、温度勾配を表すフーリエの法則(q=−k(dT/dx))に依存する。ここで、qは単位時間当たりに伝達される熱量、kは熱伝導率、Tは温度、xは距離である。
一例として、x=0にある熱源は常に温度T0を維持でき、簡単のために温度勾配は一定とし、時刻tが「1」進む毎に熱が1/χ(χ:適当な正の実数)づつ伝導すると仮定した場合の温度を図6の表に示す。
ただし、空きノードの周囲に複数の熱源がある場合は、その空きノードの温度はそれら熱源から伝達される熱量の合計で決まるとする。また、熱源からある空きノードへの経路が複数ある場合でも、その内の最短経路の1つのみから熱が伝わることとする。
また、図6に示す表から、熱源の温度T0と「1」以上の任意の距離における温度Tには、T0>Tの条件が必要となる。そして、このことから、時刻t=tn(tn:正の整数)における温度を対象とする場合、χはχ>tnを満たすように選ぶ必要がある。ただし、T0は、任意の正の実数でよい。
そして、温度変化は伝えられる熱量に比例する(熱量q、比熱c、質量mとした場合、温度Tとの間でT=q/(c・m)という関係が成り立つ。ここで、c=1、m=1とすると、T=qとなる)ので、これによって周囲の空きノードの温度を決定することができる。
なお、上記のように温度を計算をするためには、ノード間の距離が必要である。しかし、本発明が対象とする距離は、いわゆるユークリッド距離(x,y,z直行座標系で表される曲率ゼロの空間における距離)のことではない。
ノード間で通信する際には、各ノード毎に設置されたネットワークスイッチを経由する。そして、そのスイッチングには有限且つ一定の時間を要すると考えてよい。このため、任意の2ノード間の距離は、それらの間の経路に存在するノード数に基づいて定義される必要がある。
以下に、本実施の形態における距離の定義について説明する。
ここでは、あるノードから目的のノードに到達するまでに経由したノードのスイッチの数を2ノード間の距離と定義する。
一例として、3次元トーラス空間における任意の2ノード間の最短距離の計算方法を示す。
直行座標系(x,y,z)において、ノードN1の座標(x1,y1,z1)とノードN2の座標(x2,y2,z2)との最短距離d(N1,N2)は、x,y,z成分の距離をそれぞれdx(x1,x2),dy(y1,y2),dz(z1,z2)とすると、式(1)のように表すことができる。
d(N1,N2)=dx(x1,x2)+dy(y1,y2)+dz(z1,z2) ・・・(1)
ここで、dx(x1,x2),dy(y1,y2),dz(z1,z2)は、それぞれ式(2)〜(4)で表すことができる。ただし、トーラス接続の場合、正回り、逆回りの2つの経路が存在するので、その短い方を選択する必要がある(逆回りの距離については、図8を参照)。図8は、2次元トーラスの場合のノードAからノードBへ至る正回りと逆回りの経路を例を示している。図8の例では、正回りの距離は「3」であるが、逆回りの距離は「1」となる。
Figure 0005035708
Figure 0005035708
Figure 0005035708
Figure 0005035708
は、それぞれ、Xの絶対値、及びXを2ノード間の正回りの距離とした場合、その逆回りの距離を示す。
また、3次元トーラスに限らず、一般にn次元トーラス(nは2以上の有限の整数値)であっても、その座標軸の数に応じてd(N1,N2)の計算量が変化するだけで、基本的には同じ考え方で距離を計算できる。
さらに、トーラス以外の他のネットワークの接続形態(メッシュ、超立方体など)についても、それらの接続方法に見合った距離を定義すればよく、トーラス接続のみに限定されない。
次に、本発明の第1の実施の形態による並列計算機システムのジョブサーバ10のジョブスケジューラ11の構成について図面を参照して詳細に説明する。
図2を参照すると、ジョブサーバ10が備えるジョブスケジューラ11は、計算ノード確保/開放手段101と、スケジューラの既存機能102と、空き領域抽出手段103と、周辺ノード選択手段104と、第1の温度計算手段105と、第2の温度計算手段106と、距離計算手段107と、温度グループ判別手段108と、空きノードキュー更新手段109と、ノードステータス変更手段110と、空きノードキュー111と、ノード情報テーブル112を含んでいる。
これらの構成要素ははそれぞれ概略次のように動作する。
計算ノード確保/開放手段101は、空き領域の抽出、必要なノードの確保/解放及びそれに基づく周辺の空きノードの温度の再計算処理など全体の制御を行う。
スケジューラの既存機能102は、スケジューラの既存機能であり、ユーザが投入したジョブのキューイング、各ジョブが要求する計算資源や優先度に基づいた順序付け、確保した計算ノードへ必要なプログラムやデータの送信、該プログラムの起動、計算終了時点で計算結果の返送制御、障害監視等々のスケジューラが通常持っている一般的な機能である。ただし、本発明では、これらの機能については言及しない。
空き領域抽出手段103は、温度グループ判別手段108を制御して、要求されたノード数に見合った温度グループを選定し、空きノードキュー更新手段109を制御して、当該温度グループの空きノードキュー111の先頭から1つ空きノードを取り出す。
空きノードキュー111は、温度の低いノードから順にリンクされているので、キューの先頭が当該温度グループの中では最も温度の低い空きノードということになる。そして、この取り出したノードを中心ノードと称し、中心ノードの周囲に適当な空き領域がある可能性が高いと考える。
周辺ノード選択手段104は、選択した中心ノードを中心として、周辺のノードから順に必要数の空きノードを選択し、計算ノード確保/開放手段101へ返す。
ジョブ開始時、空きノードの確保処理において確保したノードの温度はT0に固定されるので、これに伴って周囲のノード温度は幾分上がるはずである。第1の温度計算手段105は、ジョブ開始時にその周囲のノードの温度の上昇分の再計算を行う。
ジョブ終了時、使用したノードの解放処理において解放したノードとその周囲のノードの温度は幾分下がるはずである。第2の温度計算手段106は、ジョブ終了時にその周囲のノードの温度の下降分の再計算を行う。
距離計算手段107は、ネットワーク的な距離を計算する機能を有する。温度の計算は距離に基づいて行うので、距離の計算が必要となる。この距離計算手段107による距離の計算は、一例として示した上述の計算方法に基づいて実行する。
温度グループ判別手段108は、図7に示すように、空きノードキュー111において、空きノードの温度をある範囲毎にグループに分けておき、ジョブが要求する計算ノード40の数に見合った温度グループを選択する。そして、空き領域抽出手段103が、空きノードキュー更新手段109を制御して、選択した温度グループから中心ノード(空き領域の中心のノード)を選択する。
これは、要求する空きノードがそれほど多くない場合に、最も温度の低いノードを中心ノードに選んでしまうと、不必要に広い空き領域が周囲にある場所を中心ノードとしてしまうことになる。このため、その後に多くのノードを要求するジョブが十分な空き領域を確保できなくなる可能性がある。
本実施の形態では、空きノードキュー111を複数の温度グループに分け、温度グループ判別手段108が要求されるノード数に応じた温度グループを選定する。これにより、不必要に広い空き領域がある場所に中心ノードを確保しないようにしている。
ノードの挿入時、空きノードキュー更新手段109は、当該ノードが空きノードの場合は、温度グループ判別手段108を制御して、当該ノードの温度に応じた温度グループを選定し、その温度グループ内のキューに挿入する。その際のキューの挿入箇所は、当該キューが温度の低い順にリンクされるような位置とする。
ノードの削除時、空きノードキュー更新手段109は、温度グループ判別手段108を制御して、温度グループを特定し、当該温度グループの空きノードキュー111から当該ノードを削除する。
ノードステータス変更手段110は、ノードの確保、解放時に、計算ノード確保/解放手段101の制御によって、確保、解放するノードのステータスを変更する。
空きノードキュー111は、図7に示したように、温度グループ毎に温度の低い順に空きノードへのポインタをリンクしており、空きノードキュー更新手段109により更新される。
ノード情報テーブル112は、各ノードのステータス、計算ノード40の温度など、ノード毎の情報を保持する。その詳細については後述する。
(動作の説明)
次に、本発明の実施例の動作について詳細に説明する。
なお、ジョブサーバ10、計算ノード40、管理ノード20、I/Oノード30は、それぞれのオペレーティングシステムとして、UNIXやLinuxなどを前提とし、計算ノード40以外のノードは、3次元トーラスなどのインターコネクト以外に、TCP/IPなど一般的な通信プロトコルを使用可能なネットワークインタフェースを有している。
最初に、ジョブスケジューラ11は、ジョブサーバ10のメモリ上にノード情報テーブル112を格納するための領域を確保している。ノード情報テーブル112は、計算ノード40毎の情報を保持する3次元配列(3次元トーラスの場合)である。
この配列は、要素毎に、ノードのステータス(“RUN”(使用中)、“FREE”(空き)、“MAINTENANCE”(保守)、“BROKEN”(故障)などノードの状態を示す)、ノードの種別(計算ノード、ジョブサーバ、I/Oノード、管理ノードなど)、ノードの座標位置、実行中のジョブのジョブID、ノードの温度の情報を有する。この3次元配列の添え字(i,j,k)は、そのまま各ノードの座標位置に対応している。また、図6に示す表に基づいて、適当な時刻t=tn(tnは、適当な正の整数)での各々の距離における温度の値を1次元配列Ttn(x)として、ジョブサーバ10のメモリ上に確保しているものとする。
(ジョブ起動時の動作)
図9、図10は、計算ノード40を確保する際の動作を説明するフローチャートである。
まず、スケジューラの既存機能102により、次に実行を開始すべきジョブとして選ばれたジョブの処理に必要とするノード数が、計算ノード確保/解放手段101に渡される。
図9のステップS901、ステップS902において、計算ノード確保/解放手段101は、空き領域抽出手段103を制御して中心ノードを選択する。
この際、空き領域抽出手段103は、温度グループ判別手段108を制御し、ジョブの処理に必要とするノード数に応じて空きノードキュー111から適切な温度グループを決める(ステップS901)。この温度グループの決め方としては種々の方法が考えられるが、例えば、必要とするノード数がある一定数(上限として設定したノード数)以上の場合は常に最も低い温度グループを選択し、逆に必要とするノード数がある一定数(下限として設定したノード数)以下の場合は最も高い温度グループを選択するといった方法が可能である。そして、必要とするノード数がそれらの中間の場合は、温度グループの数と必要なノード数の関係から比例配分して決めるというという方法が考えられる。
そして、空き領域抽出手段103は、空きノードキュー更新手段109を制御し、選択した温度グループ内のノードキューの先頭から、中心ノードとして空きノードを1つ取り出す(ステップS902)。
次に、ステップS903、ステップS904において、計算ノード確保/解放手段101は、周辺ノード選択手段104を制御して、取り出した中心ノードを中心として近い距離にある空きノードから順に必要数のノードを確保する(ステップS903)。
また、計算ノード確保/解放手段101は、ノードステータス変更手段110を制御して、確保した必要数のノードのステータスを“FREE”から“RUN”に変更し、空きノードキュー更新手段109を制御して、空きノードキュー111からそれらのノードを削除する(ステップS904)。
次に、計算ノード確保/解放手段101は、第1の温度計算手段105を制御し、確保したノードとその周囲の空きノードの温度を再計算する(ステップS905)。
この温度の再計算処理を図10に示す。計算ノード確保/解放手段101は、第1の温度計算手段105を制御し、確保したノードについて、距離x=1〜x1までに位置するノードの温度を、Tijk=Tijk+Ttn(x)のように計算する(ステップS1001〜S1003)。ここで、Tijkは、座標(i,j,k)のノードの温度を表す。確保したノード全ての温度再計算が終了すると、ノード確保/解放手段101は、空きノードキュー更新手段109を制御し、再計算した新たな温度に基づいて、空きノードキュー111を更新する(ステップS1004)。
最後に、計算ノード確保/解放手段101は、確保したノードをスケジューラの既存機能102に渡す。
なお、図10のフローチャートでは、便宜上使用中のノードの温度も再計算する。しかし、使用中のノードであるかはそのノードのステータスが“RUN”か“FREE”かによって判断するので、使用中のノードの温度が参照されることはなく、不都合が生じることはない。
図13にノードを確保する際の一例を示す。簡単のため、既に確保されているノードを2ノードとし、温度の計算は距離3までとすると、各空きノードの温度は図に示すようになる。ここで、Tiは、距離iだけ離れた使用中ノードから伝えられた熱量による温度とする。また、黒の正方形は使用中ノードを示し、白の正方形は空きノードを示す。また、温度はT1>T2>T3>0であるとする。
ここで、新たに9ノードを確保するとする。9ノードに相当する温度グループのキューの先頭が○印の付いたノードであったとすると、これが中心ノードとなる。そして、中心ノードに近いノードから順に残りの8ノードを確保した場合の一例が図中の太い線で示されたノードである。この場合、全てのノードが距離2以内に確保できたことになる。
仮に、温度グループを使用せず、単に最も低い温度である温度0のノードを中心ノードとして選んだ場合、当然必要数のノードを確保することは可能であるが、不必要に広い空き領域を選択してしまうことがわかる。
(ジョブ終了時の動作)
図11、図12は、計算ノード4を解放する際の動作を説明するフローチャートである。
まず、スケジューラの既存機能102により、実行を終了したジョブが確保していたノードの座標位置が、計算ノード確保/解放手段101に渡される。
図11のステップS1101において、計算ノード確保/解放手段101は、ノードステータス変更手段110を制御し、解放するノードのステータスを“RUN”から“FREE”に変更する。
次に、ステップS1102において、計算ノード確保/解放手段101は、第2の温度計算手段106を制御し、解放するノードとその周囲の空きノードの温度の再計算を行う。
この温度の再計算処理を図12に示す。計算ノード確保/解放手段101は、第2の温度計算手段106を制御し、解放するノードについて、距離x=1〜x1までに位置するノードの温度を、Tijk=Tijk−Ttn(x)のように計算する(ステップS1101〜S1103)。解放するノード全ての温度再計算が終了すると、ノード確保/解放手段101は、空きノードキュー更新手段109を制御し、新たな温度に基づいて、空きノードキュー111を更新する(ステップS1104)。
なお、各配列やキューへの参照/追加/更新の際は、排他制御を行い一貫性が保たれているものとする。
(第1の実施の形態による効果)
上述した第1の実施の形態による効果について以下に説明する。
第1に、ノードの空き領域を見つけるために、あるノードの周囲のノード全てをスキャンして調べることなく、そのノードの温度を参照することにより、周囲に空きノードが多いかどうかを推定できるので、複数のノードを使用するジョブが複数存在する場合に、例えば3次元トーラス空間の中から、空き領域(空きノードが多く存在する領域)を効率よく見つけ出すことができる。
第2に、中心ノードに近い空きノードを順に確保するので、ジョブ起動時において、例えば、MPI(Message Passing Interface)のマスターを中心ノードとし、その他のノードをスレーブとすれば、マスターから各スレーブへの距離を最短にすることができ、通信時間を短縮できる。
以上、実施の形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
また、上記実施形態の一部又は全部は、以下の付記のようにも記載されうるが、これに限定されない。
(付記1)
多数のノードをネットワークで接続したノード群を備える並列計算機システムであって、
前記ノード群のノードで実行するジョブのスケジューリングを行うジョブサーバのスケジューラが、
前記ノード群の各ノード間のネットワーク的な距離を計算する距離計算手段と、
前記ノード群の使用中のノードを架空の熱源とし、当該熱源から周囲のノードへ熱量が伝達されると仮定し、熱源からの距離に基づいて周囲の空きノードの温度を計算する温度計算手段と、
空きノードをある温度範囲毎にグループ分けして複数の温度グループから、ジョブが必要とする空きノードの数に見合った温度グループを選択し、選択した温度グループから1つの空きノードを中心ノードとして取り出す空き領域抽出手段と、
前記中心ノードを中心として距離の近い空きノードから順に必要とする数の空きノードを選択するノード選択手段と、
全体を制御し、前記ノード群からジョブの実行に必要なノードの確保と解放を行うノード確保/解放手段と、
を備えることを特徴とする並列計算機システム。
(付記2)
前記ジョブスケジューラが、
前記ノード群の各ノード間のネットワーク的な距離を計算する距離計算手段と、
全体を制御し、前記ノード群からジョブの実行に必要なノードの確保と解放を行うノード確保/解放手段とを備えることを特徴とする請求項1に記載の並列計算機システム。
(付記3)
前記ジョブスケジューラが、
温度グループ毎に温度の低い順に空きノードへのポインタをリンクした空きノードキューと、
前記空き領域抽出手段の制御によって前記空きノードキューから、必要とする空きノードの数に見合った温度グループを判別して選択する温度グループ判別手段を備えることを特徴とする付記1又は付記2に記載の並列計算機システム。
(付記4)
前記ジョブスケジューラが、
空きノードの確保と解放に応じて、当該空きノードの温度に応じた温度グループの空きノードキューに空きノードを挿入し、又は空きノードキューから空きノードを削除する空きノードキュー更新手段を備えることを特徴とする付記3に記載の並列計算機システム。
(付記5)
ノードの確保、解放時に、確保又は解放するノードのステータスを変更するノードステータス変更手段と、
前記ノード群の各ノードのステータス、ノードの温度を含むノード毎の情報を保持するノード情報テーブルを備えることを特徴とする付記1から付記4の何れかに記載の並列計算機システム。
(付記6)
計算ノード確保/解放手段が、
前記温度計算手段を制御し、ノードの確保時、確保したノードと周囲の空きノードの温度を再計算すると共に、ノードの解放時、解放するノードと周囲の空きノードの温度の再計算し、
前記空きノードキュー更新手段を制御し、計算した温度に基づいて、前記空きノードキューを更新することを特徴とする付記3から付記5の何れかに記載の並列計算機システム。
(付記7)
多数のノードをネットワークで接続したノード群を備える並列計算機システムにおけるジョブスケジューリング方法であって、
前記ノード群のノードで実行するジョブのスケジューリングを行うジョブサーバのスケジューラが、
前記ノード群の使用中のノードを架空の熱源とし、当該熱源から周囲のノードへ熱量が伝達されると仮定し、熱源からの距離に基づいて周囲の空きノードの温度を計算する温度計算ステップと、
空きノードをある温度範囲毎にグループ分けした複数の温度グループから、温度に応じてジョブが必要とする空きノードの数に見合った温度グループを選択し、選択した温度グループから最も温度の低い空きノードを中心ノードとして取り出す空き領域抽出ステップと、
前記中心ノードを中心として距離の近い空きノードから順に必要とする数の空きノードを選択するノード選択ステップと
を実行することを特徴とするジョブスケジューリング方法。
(付記8)
前記ノード群の各ノード間のネットワーク的な距離を計算する距離計算ステップをさらに実行することを特徴とする請求項7に記載のジョブスケジューリング方法。
(付記9)
前記空き領域抽出ステップが、
温度グループ毎に温度の低い順に空きノードへのポインタをリンクした空きノードキューから、必要とする空きノードの数に見合った温度グループを判別して選択する温度グループ判別ステップを有することを特徴とする付記7又は付記8に記載のジョブスケジューリング方法。
(付記10)
前記ジョブスケジューラが、
空きノードの確保と解放に応じて、当該空きノードの温度に応じた温度グループの空きノードキューに空きノードを挿入し、又は空きノードキューから空きノードを削除する空きノードキュー更新ステップを有することを特徴とする付記9に記載のジョブスケジューリング方法。
(付記11)
ノードの確保と解放時に、確保又は解放するノードのステータスを変更するノードステータス変更ステップと、
前記ノード群の各ノードのステータス、ノードの温度を含むノード毎の情報をノード情報テーブルに保持するステップを有することを特徴とする付記7から付記10の何れかに記載のジョブスケジューリング方法。
(付記12)
前記温度計算ステップで、ノードの確保時、確保したノードと周囲の空きノードの温度を再計算すると共に、ノードの解放時、解放するノードと周囲の空きノードの温度の再計算し、
前記空きノードキュー更新ステップで、計算した温度に基づいて、前記空きノードキューを更新することを特徴とする付記9から付記11の何れかに記載のジョブスケジューリング方法。
(付記13)
多数のノードをネットワークで接続したノード群を備える並列計算機システムにおいて、前記ノード群のノードで実行するジョブのスケジューリングを行うジョブスケジューラを備えるジョブサーバであって、
前記ジョブスケジューラが、
前記ノード群の各ノード間のネットワーク的な距離を計算する距離計算手段と、
前記ノード群の使用中のノードを架空の熱源とし、当該熱源から周囲のノードへ熱量が伝達されると仮定し、熱源からの距離に基づいて周囲の空きノードの温度を計算する温度計算手段と、
空きノードをある温度範囲毎にグループ分けした複数の温度グループから、温度に応じてジョブが必要とする空きノードの数に見合った温度グループを選択し、選択した温度グループから最も温度の低い空きノードを中心ノードとして取り出す空き領域抽出手段と、
前記中心ノードを中心として距離の近い空きノードから順に必要とする数の空きノードを選択するノード選択手段と、
全体を制御し、前記ノード群からジョブの実行に必要なノードの確保と解放を行うノード確保/解放手段と、
を備えることを特徴とするジョブサーバ。
(付記14)
前記ノード群の各ノード間のネットワーク的な距離を計算する距離計算手段と、
全体を制御し、前記ノード群からジョブの実行に必要なノードの確保と解放を行うノード確保/解放手段とを備えることを特徴とする付記13に記載のジョブサーバ。
(付記15)
前記ジョブスケジューラが、
温度グループ毎に温度の低い順に空きノードへのポインタをリンクした空きノードキューと、
前記空き領域抽出手段の制御によって前記空きノードキューから、必要とする空きノードの数に見合った温度グループを判別して選択する温度グループ判別手段を備えることを特徴とする付記13又は付記14に記載のジョブサーバ。
(付記16)
前記ジョブスケジューラが、
空きノードの確保と解放に応じて、当該空きノードの温度に応じた温度グループの空きノードキューに空きノードを挿入し、又は空きノードキューから空きノードを削除する空きノードキュー更新手段を備えることを特徴とする付記15に記載のジョブサーバ。
(付記17)
ノードの確保、解放時に、確保又は解放するノードのステータスを変更するノードステータス変更手段と、
前記ノード群の各ノードのステータス、ノードの温度を含むノード毎の情報を保持するノード情報テーブルを備えることを特徴とする付記13から付記16の何れかに記載のジョブサーバ。
(付記18)
計算ノード確保/解放手段が、
前記温度計算手段を制御し、ノードの確保時、確保したノードと周囲の空きノードの温度を再計算すると共に、ノードの解放時、解放するノードと周囲の空きノードの温度の再計算し、
前記空きノードキュー更新手段を制御し、計算した温度に基づいて、前記空きノードキューを更新することを特徴とする付記15から付記17の何れかに記載のジョブサーバ。
(付記19)
多数のノードをネットワークで接続したノード群を備える並列計算機システムにおけるジョブスケジューリングプログラムであって、
前記ノード群のノードで実行するジョブのスケジューリングを行うジョブサーバに、
前記ノード群の各ノード間のネットワーク的な距離を計算する距離計算処理と、
前記ノード群の使用中のノードを架空の熱源とし、当該熱源から周囲のノードへ熱量が伝達されると仮定し、熱源からの距離に基づいて周囲の空きノードの温度を計算する温度計算処理と、
空きノードをある温度範囲毎にグループ分けした複数の温度グループから、温度に応じてジョブが必要とする空きノードの数に見合った温度グループを選択し、選択した温度グループから最も温度の低い空きノードを中心ノードとして取り出す空き領域抽出処理と、
前記中心ノードを中心として距離の近い空きノードから順に必要とする数の空きノードを選択するノード選択処理と、を実行させることを特徴とするジョブスケジューリングプログラム。
(付記20)
前記ノード群の各ノード間のネットワーク的な距離を計算する距離計算手段と、
全体を制御し、前記ノード群からジョブの実行に必要なノードの確保と解放を行うノード確保/解放手段とを備えることを特徴とする請求項1に記載の並列計算機システム。
(付記21)
前記空き領域抽出処理が、
温度グループ毎に温度の低い順に空きノードへのポインタをリンクした空きノードキューから、必要とする空きノードの数に見合った温度グループを判別して選択する温度グループ判別処理を有することを特徴とする付記19又は付記20に記載のジョブスケジューリングプログラム。
(付記22)
前記ジョブサーバに、
空きノードの確保と解放に応じて、当該空きノードの温度に応じた温度グループの空きノードキューに空きノードを挿入し、又は空きノードキューから空きノードを削除する空きノードキュー更新処理を、実行させることを特徴とする付記21に記載のジョブスケジューリングプログラム。
(付記23)
ノードの確保、解放時に、確保又は解放するノードのステータスを変更するノードステータス変更処理と、
前記ノード群の各ノードのステータス、ノードの温度を含むノード毎の情報をノード情報テーブルに保持する処理を有することを特徴とする付記19から付記22の何れかに記載のジョブスケジューリングプログラム。
(付記24)
前記温度計算処理で、ノードの確保時、確保したノードと周囲の空きノードの温度を再計算すると共に、ノードの解放時、解放するノードと周囲の空きノードの温度の再計算し、
前記空きノードキュー更新処理で、計算した温度に基づいて、前記空きノードキューを更新することを特徴とする付記21から付記23の何れかに記載のジョブスケジューリングプログラム。
本発明は、HPC(High Performance Computing)のような分野において、単一のノード、単一のCPUでは、現実的な時間での計算が不可能な多量の計算を多数のノードに計算の単位を分割して計算するような並列計算機において利用できる。
10:ジョブサーバ
20:管理ノード
30:I/Oノード
40:計算ノード
50:外部ネットワーク
60:ストレージ用ネットワーク
70:ファイルシステム
11:ジョブスケジューラ
101:計算ノード確保/解放手段
102:スケジューラの既存機能
103:空き領域抽出手段
104:周辺ノード選択手段
105:第1の温度計算手段
106:第2の温度計算手段
107:距離計算手段
108:温度グループ判別手段
109:空きノードキュー更新手段
110:ノードステータス変更手段
111:空きノードキュー
112:ノード情報テーブル
1000:ノード群

Claims (9)

  1. 多数のノードをネットワークで接続したノード群を備える並列計算機システムであって、
    前記ノード群のノードで実行するジョブのスケジューリングを行うジョブサーバのジョブスケジューラが、
    前記ノード群の使用中のノードを架空の熱源とし、当該熱源から周囲のノードへ熱量が伝達されると仮定し、熱源からの距離に基づいて周囲の空きノードの温度を計算する温度計算手段と、
    空きノードをある温度範囲毎にグループ分けした複数の温度グループから、ジョブが必要とする空きノードの数に見合った温度グループを選択し、選択した温度グループから最も温度の低い空きノードを中心ノードとして取り出す空き領域抽出手段と、
    前記中心ノードを中心として距離の近い空きノードから順に必要とする数の空きノードを選択するノード選択手段と
    を備えることを特徴とする並列計算機システム。
  2. 前記ジョブスケジューラが、
    前記ノード群の各ノード間のネットワーク的な距離を計算する距離計算手段と、
    全体を制御し、前記ノード群からジョブの実行に必要なノードの確保と解放を行うノード確保/解放手段とを備えることを特徴とする請求項1に記載の並列計算機システム。
  3. 前記ジョブスケジューラが、
    温度グループ毎に温度の低い順に空きノードへのポインタをリンクした空きノードキューと、
    前記空き領域抽出手段の制御によって前記空きノードキューから、必要とする空きノードの数に見合った温度グループを判別して選択する温度グループ判別手段を備えることを特徴とする請求項1又は請求項2に記載の並列計算機システム。
  4. 前記ジョブスケジューラが、
    空きノードの確保と解放に応じて、当該空きノードの温度に応じた温度グループの空きノードキューに空きノードを挿入し、又は空きノードキューから空きノードを削除する空きノードキュー更新手段を備えることを特徴とする請求項3に記載の並列計算機システム。
  5. ノードの確保、解放時に、確保又は解放するノードのステータスを変更するノードステータス変更手段と、
    前記ノード群の各ノードのステータス、ノードの温度を含むノード毎の情報を保持するノード情報テーブルを備えることを特徴とする請求項1から請求項4の何れかに記載の並列計算機システム。
  6. 計算ノード確保/解放手段が、
    前記温度計算手段を制御し、ノードの確保時、確保したノードと周囲の空きノードの温度を再計算すると共に、ノードの解放時、解放するノードと周囲の空きノードの温度の再計算し、
    前記空きノードキュー更新手段を制御し、計算した温度に基づいて、前記空きノードキューを更新することを特徴とする請求項3から請求項5の何れかに記載の並列計算機システム。
  7. 多数のノードをネットワークで接続したノード群を備える並列計算機システムにおけるジョブスケジューリング方法であって、
    前記ノード群のノードで実行するジョブのスケジューリングを行うジョブサーバのスケジューラが、
    前記ノード群の使用中のノードを架空の熱源とし、当該熱源から周囲のノードへ熱量が伝達されると仮定し、熱源からの距離に基づいて周囲の空きノードの温度を計算する温度計算ステップと、
    空きノードをある温度範囲毎にグループ分けした複数の温度グループから、ジョブが必要とする空きノードの数に見合った温度グループを選択し、選択した温度グループから最も温度の低い空きノードを中心ノードとして取り出す空き領域抽出ステップと、
    前記中心ノードを中心として距離の近い空きノードから順に必要とする数の空きノードを選択するノード選択ステップと
    を実行することを特徴とするジョブスケジューリング方法。
  8. 多数のノードをネットワークで接続したノード群を備える並列計算機システムにおいて、前記ノード群のノードで実行するジョブのスケジューリングを行うジョブスケジューラを備えるジョブサーバであって、
    前記ジョブスケジューラが、
    前記ノード群の各ノード間のネットワーク的な距離を計算する距離計算手段と、
    前記ノード群の使用中のノードを架空の熱源とし、当該熱源から周囲のノードへ熱量が伝達されると仮定し、熱源からの距離に基づいて周囲の空きノードの温度を計算する温度計算手段と、
    空きノードをある温度範囲毎にグループ分けした複数の温度グループから、ジョブが必要とする空きノードの数に見合った温度グループを選択し、選択した温度グループから最も温度の低い空きノードを中心ノードとして取り出す空き領域抽出手段と、
    前記中心ノードを中心として距離の近い空きノードから順に必要とする数の空きノードを選択するノード選択手段と、
    全体を制御し、前記ノード群からジョブの実行に必要なノードの確保と解放を行うノード確保/解放手段と、
    を備えることを特徴とするジョブサーバ。
  9. 多数のノードをネットワークで接続したノード群を備える並列計算機システムにおけるジョブスケジューリングプログラムであって、
    前記ノード群のノードで実行するジョブのスケジューリングを行うジョブサーバに、
    前記ノード群の各ノード間のネットワーク的な距離を計算する距離計算処理と、
    前記ノード群の使用中のノードを架空の熱源とし、当該熱源から周囲のノードへ熱量が伝達されると仮定し、熱源からの距離に基づいて周囲の空きノードの温度を計算する温度計算処理と、
    空きノードをある温度範囲毎にグループ分けした複数の温度グループから、ジョブが必要とする空きノードの数に見合った温度グループを選択し、選択した温度グループから最も温度の低い空きノードを中心ノードとして取り出す空き領域抽出処理と、
    前記中心ノードを中心として距離の近い空きノードから順に必要とする数の空きノードを選択するノード選択処理と、を実行させることを特徴とするジョブスケジューリングプログラム。
JP2010097594A 2010-04-21 2010-04-21 並列計算機システム、ジョブサーバ、ジョブスケジューリング方法及びジョブスケジューリングプログラム Expired - Fee Related JP5035708B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010097594A JP5035708B2 (ja) 2010-04-21 2010-04-21 並列計算機システム、ジョブサーバ、ジョブスケジューリング方法及びジョブスケジューリングプログラム
US13/088,456 US8635323B2 (en) 2010-04-21 2011-04-18 Parallel computer system, job server, job scheduling method and job scheduling program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010097594A JP5035708B2 (ja) 2010-04-21 2010-04-21 並列計算機システム、ジョブサーバ、ジョブスケジューリング方法及びジョブスケジューリングプログラム

Publications (2)

Publication Number Publication Date
JP2011227747A JP2011227747A (ja) 2011-11-10
JP5035708B2 true JP5035708B2 (ja) 2012-09-26

Family

ID=44816889

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010097594A Expired - Fee Related JP5035708B2 (ja) 2010-04-21 2010-04-21 並列計算機システム、ジョブサーバ、ジョブスケジューリング方法及びジョブスケジューリングプログラム

Country Status (2)

Country Link
US (1) US8635323B2 (ja)
JP (1) JP5035708B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8776075B2 (en) * 2010-10-29 2014-07-08 International Business Machines Corporation Energy consumption optimization in a data-processing system
US20130174145A1 (en) * 2011-12-28 2013-07-04 Ming-chiang Chen Virtual resources management methods
JP6191332B2 (ja) * 2013-08-22 2017-09-06 富士通株式会社 並列計算機システム、並列計算機システムの制御方法及び管理装置の制御プログラム
JP6191401B2 (ja) * 2013-11-01 2017-09-06 富士通株式会社 並列計算機システム、制御装置、並列計算機システムの制御方法及び制御装置の制御プログラム
US9703613B2 (en) 2013-12-20 2017-07-11 Qualcomm Incorporated Multi-core dynamic workload management using native and dynamic parameters
JP6477266B2 (ja) * 2015-06-03 2019-03-06 富士通株式会社 ダンプ管理装置、ダンプ管理プログラム及びダンプ管理方法
WO2017105340A1 (en) * 2015-12-14 2017-06-22 Certis Cisco Security Pte Ltd System and method for 3d abstract object modelling of high entropic information security threats
JP6666553B2 (ja) 2016-05-10 2020-03-18 富士通株式会社 情報処理装置、ジョブ管理方法およびジョブ管理プログラム

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0816531A (ja) * 1994-06-28 1996-01-19 Hitachi Ltd プロセススケジュール方式
GB2301206A (en) * 1995-05-23 1996-11-27 Compaq Computer Corp A system for facilitating creation of a computer
US6760852B1 (en) * 2000-08-31 2004-07-06 Advanced Micro Devices, Inc. System and method for monitoring and controlling a power-manageable resource based upon activities of a plurality of devices
US6804632B2 (en) * 2001-12-06 2004-10-12 Intel Corporation Distribution of processing activity across processing hardware based on power consumption considerations
JP2004240669A (ja) * 2003-02-05 2004-08-26 Sharp Corp ジョブスケジューラおよびマルチプロセッサシステム
US7346151B2 (en) * 2003-06-24 2008-03-18 Avaya Technology Corp. Method and apparatus for validating agreement between textual and spoken representations of words
US8336040B2 (en) 2004-04-15 2012-12-18 Raytheon Company System and method for topology-aware job scheduling and backfilling in an HPC environment
US7330983B2 (en) * 2004-06-14 2008-02-12 Intel Corporation Temperature-aware steering mechanism
US7885795B2 (en) * 2005-05-02 2011-02-08 American Power Conversion Corporation Methods and systems for managing facility power and cooling
US7454639B2 (en) * 2005-06-30 2008-11-18 Intel Corporation Various apparatuses and methods for reduced power states in system memory
JP5007050B2 (ja) * 2006-02-01 2012-08-22 株式会社野村総合研究所 格子型コンピュータシステム、タスク割り当てプログラム
US20070198864A1 (en) * 2006-02-21 2007-08-23 Toshiba America Electronic Components Systems and methods for determining and using power profiles for software programs executing on data processors
US7647590B2 (en) * 2006-08-31 2010-01-12 International Business Machines Corporation Parallel computing system using coordinator and master nodes for load balancing and distributing work
US8291427B2 (en) * 2008-06-09 2012-10-16 International Business Machines Corporation Scheduling applications for execution on a plurality of compute nodes of a parallel computer to manage temperature of the nodes during execution
US8250389B2 (en) * 2008-07-03 2012-08-21 International Business Machines Corporation Profiling an application for power consumption during execution on a plurality of compute nodes
US8132031B2 (en) * 2009-03-17 2012-03-06 International Business Machines Corporation Power adjustment based on completion times in a parallel computing system
US8589931B2 (en) * 2009-03-18 2013-11-19 International Business Machines Corporation Environment based node selection for work scheduling in a parallel computing system

Also Published As

Publication number Publication date
US20110265092A1 (en) 2011-10-27
US8635323B2 (en) 2014-01-21
JP2011227747A (ja) 2011-11-10

Similar Documents

Publication Publication Date Title
JP5035708B2 (ja) 並列計算機システム、ジョブサーバ、ジョブスケジューリング方法及びジョブスケジューリングプログラム
JP4935595B2 (ja) ジョブ管理方法、ジョブ管理装置およびジョブ管理プログラム
JP4781089B2 (ja) タスク割り当て方法およびタスク割り当て装置
CN100380327C (zh) 用于在高性能计算系统中调度的系统和方法
JP5245711B2 (ja) 分散データ処理システム、分散データ処理方法および分散データ処理用プログラム
CN105808634A (zh) 分布式映射化简网络
JP5402226B2 (ja) 管理装置、情報処理システム、情報処理システムの制御プログラムおよび情報処理システムの制御方法
JP5429382B2 (ja) ジョブ管理装置及びジョブ管理方法
JP5862359B2 (ja) シンクライアントシステム、接続管理サーバ、接続管理方法、及び接続管理プログラム
CN102148871A (zh) 存储资源调度方法和装置
US20110314157A1 (en) Information processing system, management apparatus, processing requesting apparatus, information processing method, and computer readable medium storing program
JP2018180985A (ja) 情報処理装置、情報処理方法及び情報処理プログラム
JP6569692B2 (ja) 管理サーバ、通信システム、管理サーバの制御方法、及びプログラム
JP6374823B2 (ja) 経路配置方法、経路配置装置、及びプログラム
JP2015049903A (ja) コンピューティングシステムにおいてジョブをスケジューリングする方法、システムおよびプログラム
JP5577745B2 (ja) クラスタシステム、プロセス配置方法、及びプログラム
WO2020031675A1 (ja) スケジューリング装置、スケジューリングシステム、スケジューリング方法、プログラム及び非一時的コンピュータ可読媒体
JP5783008B2 (ja) ストレージ装置、ストレージシステム、データ更新方法およびデータ管理プログラム
JP6219771B2 (ja) 負荷分散装置、負荷分散方法、および、負荷分散システム
JP2016218926A (ja) 情報処理装置、情報処理方法およびコンピュータプログラム
JP6479253B2 (ja) シミュレーション装置およびシミュレーション方法
JP6617087B2 (ja) 分散処理システム、分散処理方法および分散処理プログラム
JP6303584B2 (ja) データ処理装置、計算機システム、データ処理方法およびデータ処理プログラム
JP6384180B2 (ja) 仮想マシン管理装置、仮想マシン管理システム、仮想マシン管理方法、及び仮想マシン管理プログラム
WO2015067032A1 (zh) 一种优化的调度方法及管理设备

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120323

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120522

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120621

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

Free format text: PAYMENT UNTIL: 20150713

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees