JP2019087113A - 制御装置、制御方法及び制御プログラム - Google Patents

制御装置、制御方法及び制御プログラム Download PDF

Info

Publication number
JP2019087113A
JP2019087113A JP2017216035A JP2017216035A JP2019087113A JP 2019087113 A JP2019087113 A JP 2019087113A JP 2017216035 A JP2017216035 A JP 2017216035A JP 2017216035 A JP2017216035 A JP 2017216035A JP 2019087113 A JP2019087113 A JP 2019087113A
Authority
JP
Japan
Prior art keywords
job
period
computers
unit
remaining time
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
JP2017216035A
Other languages
English (en)
Inventor
崇紘 加賀美
Takahiro Kagami
崇紘 加賀美
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
Priority to JP2017216035A priority Critical patent/JP2019087113A/ja
Priority to US16/164,854 priority patent/US10846133B2/en
Publication of JP2019087113A publication Critical patent/JP2019087113A/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/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • G06F9/4887Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
    • 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/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • G06F9/4893Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues taking into account power or heat criteria
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • 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)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Power Sources (AREA)

Abstract

【課題】計算機における電力消費を抑制することである。【解決手段】制御装置は、複数の計算機の各々にジョブの専有期間を割り当てて動作させるシステムに含まれる制御装置であって、一以上の計算機を専有する第1期間の途中で終了したジョブと同数以下の計算機を、当該第1期間の残余時間以下の長さを有する第2期間において専有しようとする待機ジョブがあるか否かを判定する判定部と、待機ジョブがないと判定した場合に、一以上の計算機を省電力モードに切り替える切替部とを有する。【選択図】図8

Description

本発明は、計算機システムにおける省電力の技術に関する。
例えば高い処理性能が要求されるジョブを実行対象とする計算機システムでは、ジョブが計算機を専有する期間を予め設定して、当該計算機を動作させることがある。このようにすれば、受け付けたジョブが多い場合でも、各ジョブの処理を想定期間内に完了させ易くなる。
但し、常に計算機がジョブを実行しているとは限らない。従って、ジョブを実行していない計算機における電力消費が無駄になることがある。
特開2010−186255号公報 特開2016−081119号公報 特開2003−256067号公報
本発明の目的は、一側面では、計算機における電力消費を抑制することである。
一態様に係る制御装置は、複数の計算機の各々にジョブの専有期間を割り当てて動作させるシステムに含まれる制御装置であって、(A)一以上の計算機を専有する第1期間の途中で終了したジョブと同数以下の計算機を、当該第1期間の残余時間以下の長さを有する第2期間において専有しようとする待機ジョブがあるか否かを判定する判定部と、(B)待機ジョブがないと判定した場合に、一以上の計算機を省電力モードに切り替える切替部とを有する。
一側面としては、計算機における電力消費を抑制できる。
図1は、計算機システムの構成例を示す図である。 図2は、スケジュールの例を示す図である。 図3は、スケジュールの例を示す図である。 図4は、ジョブの例を示す図である。 図5は、ジョブの例を示す図である。 図6は、ジョブの例を示す図である。 図7は、制御装置のモジュール構成例を示す図である。 図8は、メイン処理フローを示す図である。 図9は、要求ジョブテーブルの例を示す図である。 図10は、スケジュールテーブルの例を示す図である。 図11は、検出処理フローを示す図である。 図12は、判定処理フローを示す図である。 図13は、切り替え処理フローを示す図である。 図14は、実施の形態2におけるメイン処理フローを示す図である。 図15は、実施の形態3における計算機システムの構成例を示す図である。 図16は、コンピュータの機能ブロック図である。
[実施の形態1]
図1に、計算機システムの構成例を示す。計算機システムは、複数の計算ノード101a乃至c等と、ログイン装置103と、制御装置107とを含んでいる。複数の計算ノード101a乃至c等と、ログイン装置103と、制御装置107とは、夫々ネットワークに接続されている。計算機システムは、例えばHPC(High Performance Computing)のシステムである。
ユーザ端末105を使用するユーザは、ログイン装置103へログインして、計算機システムに対してアプリケーションの実行を要求する。このアプリケーションを、以下ではジョブという。ユーザは、当該要求において、ジョブが使用する計算ノード101の数及びジョブの実行時間を指定する。複数の計算ノード101が使用される場合には、各計算ノード101が並行処理を行う。
ログイン装置103は、要求された各ジョブにおける計算ノード数及び実行時間を制御装置107へ通知する。この例で、各ジョブにおける計算ノード数及び実行時間は、後述する要求ジョブテーブルの形式で伝えられるものとする。
制御装置107は、ジョブのスケジューリングを行って、計算ノード101にジョブを割り当てる。ジョブが計算ノード101を専有する期間(以下、専有期間)が設定される。
図2に、スケジュールの例を示す。この例では、計算ノード101a乃至fに関するスケジュールを示す。右向きに時間経過を示している。専有期間201a乃至fは、夫々計算ノード101a乃至fにおいてジョブに専有される期間である。専有期間201において、計算ノード101は割り当てられたジョブを実行する。但し、この例では、専有期間201の終了時点に至る前に、ジョブの実行が終わることがあるものとする。
専有期間201aにおける計算ノード101aと、専有期間201bにおける計算ノード101bとは、同じジョブに専有される。当該ジョブにおける計算ノード数は2であり、当該ジョブにおける実行時間、つまり当該ジョブによる専有期間201の長さは、L01である。また、当該ジョブによる専有期間201の開始時刻は、S01であり、当該ジョブによる専有期間201の終了時刻は、E01である。
また、専有期間201cにおける計算ノード101cと、専有期間201dにおける計算ノード101dと、専有期間201eにおける計算ノード101eとは、同じジョブに専有される。当該ジョブにおける計算ノード数は3であり、当該ジョブにおける実行時間、つまり当該ジョブによる専有期間201の長さは、L02である。また、当該ジョブによる専有期間201の開始時刻は、S02であり、当該ジョブによる専有期間201の終了時刻は、E02である。
また、専有期間201fにおける計算ノード101fは、単独でジョブに専有される。当該ジョブにおける計算ノード数は1であり、当該ジョブにおける実行時間、つまり当該ジョブによる専有期間201の長さは、L03である。また、当該ジョブによる専有期間201の開始時刻は、S03であり、当該ジョブによる専有期間201の終了時刻は、E03である。
計算ノード101a及び計算ノード101bは、時刻S01においてジョブの実行を開始している。そして、時刻t1において、当該ジョブの実行は継続している。尚、左端の矢印は、プログラムの実行開始を示し、右端の丸は、プログラムの実行継続を示している。
計算ノード101c、計算ノード101d及び計算ノード101eは、時刻S02においてジョブの実行を開始している。そして、時刻t1において、当該ジョブの実行は継続している。
計算ノード101fは、時刻S03においてジョブの実行を開始している。そして、時刻t1において、当該ジョブの実行は継続している。
図3を用いて、時刻t2における状況について説明する。計算ノード101c、計算ノード101d、計算ノード101e及び計算ノード101fは、時刻t2において、いずれもジョブの実行を継続している。一方、計算ノード101a及び計算ノード101bは、時刻t2において、ジョブの実行を終了している。尚、右端の矢印は、プログラムの実行終了を示している。
計算ノード101a及び計算ノード101bを専有しているジョブは、専有期間201の終了時刻E01よりも早い段階で終了している。つまり、当該ジョブは、専有期間201の途中で終了している。早期終了による残余時間T01は、専有期間201の終了時刻E01からジョブの終了時刻t2を引いた差である。
このように、ジョブが早期終了した場合、再スケジューリングが行われ、待機中のジョブが残余期間に割り当てられることがある。
図3に示した残余時間T01に割り当てられるジョブについて、図4を用いて説明する。図4に示したジョブ:JXが要する計算ノード数は2であり、当該ジョブにおける実行時間は、LXである。実行時間LXは、残余時間T01よりも短い。
このように、待機中のジョブにおける計算ノード数が、早期終了のジョブにおける計算のノード数以下であり、更に待機中のジョブにおける実行時間が、残余時間以下である場合には、当該待機中のジョブが、早期終了のジョブの残余時間に割り当てられる可能性がある。
続いて、図3に示した残余時間T01に割り当てられないジョブについて、図5を用いて説明する。図5に示したジョブ:JYにおける実行時間は、LYである。実行時間LYは、残余時間T01よりも短い。但し、当該ジョブが要する計算ノード数は3であり、図3に示した早期終了のジョブにおける計算のノード数を上回っている。
このように、待機中のジョブにおける計算ノード数が、早期終了のジョブにおける計算のノード数を上回る場合には、当該待機中のジョブが、早期終了のジョブの残余時間に割り当てられる可能性はない。
図6は、図3に示した残余時間T01に割り当てられないジョブの別の例を示す。図6に示したジョブ:JZが要する計算ノード数は2であり、図3に示した早期終了のジョブにおける計算のノード数と同じである。但し、当該ジョブにおける実行時間LZは、残余時間T01よりも長い。
このように、待機中のジョブにおける実行時間が、早期終了のジョブの残余時間を上回る場合には、当該待機中のジョブが、早期終了のジョブの残余時間に割り当てられる可能性はない。
いずれかの待機中のジョブが早期終了のジョブの残余時間に割り当てられる可能性がない場合、残余時間において計算ノード101はジョブを実行しないので、その間の電力消費は無駄になる。
本実施の形態では、待機中のジョブが複数ある場合に、いずれの待機中のジョブに関しても、早期終了のジョブの残余時間に割り当てられる可能性がない場合には、早期終了のジョブを実行していた計算ノード101を省電力モードに移行させる。一方、少なくとも1つについて早期終了のジョブの残余時間に割り当てられる可能性があれば、早期終了したジョブを実行していた計算ノード101を省電力モードに移行させない。以上で、本実施の形態の概要についての説明を終える。
以下、制御装置107の動作について説明する。図7に、制御装置107のモジュール構成例を示す。制御装置107は、送信部701、受信部703、ジョブ管理部705及び制御部707を有する。
送信部701は、各種データを送信する。受信部703は、各種データを受信する。ジョブ管理部705は、ジョブの管理を行う。具体的には、ジョブ管理部705は、ジョブのスケジューリングにおいて、新たなジョブをいずれかの計算ノード101に割り当てて、当該計算ノード101の専有期間201を設定する。また、ジョブ管理部705は、スケジュールに従って計算ノード101にジョブを実行させる。制御部707は、ユーザから要求されたジョブの情報をジョブ管理部705へ引き渡すとともに、計算ノード101におけるモードの切り替えを制御する。
制御部707は、受付部711、依頼部713、取得部715、検出部717、判定部719、切替部721、要求ジョブ記憶部731及びスケジュール記憶部733を有する。
受付部711は、要求ジョブテーブルを受け付ける。要求ジョブテーブルについては、図9を用いて後述する。依頼部713は、ジョブ管理部705へ要求ジョブテーブルを渡して、スケジューリングを依頼する。取得部715は、ジョブ管理部705からデータ(例えば、スケジュールテーブル)を取得する。スケジュールテーブルについては、図10を用いて後述する。
検出部717は、検出処理において、早期終了したジョブを検出する。判定部719は、判定処理において、早期終了したジョブの残余期間に待機中のジョブが割り当てられる可能性があるか否かを判定する。切替部721は、切り替え処理において、計算ノード101を省電力モードへ変更させる。
要求ジョブ記憶部731は、要求ジョブテーブルを記憶する。スケジュール記憶部733は、スケジュールテーブルを記憶する。
上述した送信部701、受信部703、ジョブ管理部705、制御部707、受付部711、依頼部713、取得部715、検出部717、判定部719及び切替部721は、ハードウエア資源(例えば、図16)と、以下で述べる処理をCPU(Central Processing Unit)2503に実行させるプログラムとを用いて実現される。
上述した要求ジョブ記憶部731及びスケジュール記憶部733は、ハードウエア資源(例えば、図16)を用いて実現される。
続いて、制御部707における処理について説明する。図8に、メイン処理フローを示す。受付部711は、受信部703がログイン装置103から要求ジョブテーブルを受信したか否かを判定する(S801)。
受信部703がログイン装置103から要求ジョブテーブルを受信したと判定した場合には、受付部711は、要求ジョブテーブルを受け付けて要求ジョブ記憶部731に記憶する。
図9に、要求ジョブテーブルの例を示す。この例における要求ジョブテーブルは、要求されたジョブに対応するレコードを有している。要求ジョブテーブルのレコードは、ジョブIDが格納されるフィールドと、計算ノード数が格納されるフィールドと、実行時間が格納されるフィールドと、プログラム名のフィールドとを有している。
ジョブIDは、要求されたジョブを識別する。計算ノード数は、要求されたジョブが専有する計算ノード101の数である。実行時間は、当該ジョブを実行するために確保される時間であって、当該ジョブが計算ノード101を専有する期間の長さに相当する。プログラム名は、当該ジョブとして実行されるプログラムの名前である。当該ジョブとして実行されるプログラムが複数ある場合には、プログラム名を複数格納するようにしてもよい。
図8の説明に戻る。依頼部713は、ジョブ管理部705へ要求ジョブテーブルを渡して、スケジューリングを依頼する(S803)。ジョブ管理部705は、要求ジョブテーブルに含まれるジョブをスケジュールに加えるようにスケジューリングを行う。上述した通り、ジョブ管理部705は、スケジュールに従って計算ノード101にジョブを実行させる制御も行う。
一方、S801において、受信部703が要求ジョブテーブルを受信していないと判定した場合には、そのままS805の処理に移る。
取得部715は、ジョブ管理部705からスケジュールテーブルを取得する(S805)。
図10に、スケジュールテーブルの例を示す。この例におけるスケジュールテーブルは、計算ノード101に対応するレコードを有している。スケジュールテーブルのレコードは、計算ノードIDが格納されるフィールドと、現在の状態が格納されるフィールドと、ジョブIDが格納されるフィールドと、プロセス名が格納されるフィールドと、専有期間201の終了時刻が格納されるフィールドとを有している。尚、この例では、現時点において省電力モードである計算ノード101に関するレコードは設けられないものとする。
計算ノードIDは、計算ノード101を識別する。現在の状態は、当該計算ノード101が専有されている状態(つまり、「専有中」)或いは計算ノード101が専有されていない状態(つまり、「待機中」)であるかを区別する。ジョブIDは、現在の状態が専有中である場合に、当該計算ノード101が専有しているジョブを識別する。プロセス名は、当該計算ノード101で実行しているジョブのプロセスの名前である。専有期間201の終了時刻は、当該計算ノード101が専有される期間の終了時点を特定する。
図8の説明に戻る。検出部717は、検出処理を実行する(S807)。検出部717は、検出処理において、早期終了したジョブを検出する。
図11に、検出処理フローを示す。検出部717は、計算ノード101を専有しているジョブを1つ特定する(S1101)。具体的には、検出部717は、スケジュールテーブルにおいて、現在の状態が専有中であるレコードに設定されているジョブのうち、1つのジョブを特定する。
検出部717は、当該ジョブが専有している計算ノード101を1つ特定する(S1103)。具体的には、検出部717は、スケジュールテーブルにおいて、当該ジョブのIDが設定されているレコードを1つ特定する。
検出部717は、当該計算ノード101において当該ジョブのプロセスが動作しているか否かを判定する(S1105)。具体的には、検出部717は、スケジュールテーブルにおいて当該計算ノード101に対応するプロセス名を特定する。そして、検出部717は、当該計算ノード101のオペレーティングシステムから、当該計算ノード101で動作しているプロセスの一覧を取得して、当該一覧に当該プロセス名が含まれるか否かを判定する。当該一覧に当該プロセス名が含まれない場合には、当該ジョブのプロセスが動作していないと判定する。一方、当該一覧に当該プロセス名が含まれる場合には、当該ジョブのプロセスが動作していると判定する。
当該ジョブのプロセスが動作している場合には、未だ当該ジョブは終了していない。この場合には、S1115の処理に移る。
一方、当該ジョブのプロセスが動作していない場合には、検出部717は、S1103において未特定の計算ノード101があるか否かを判定する(S1107)。未特定の計算ノード101があると判定した場合には、S1103に示した処理に戻って、上述した処理を繰り返す。
一方、S1103において未特定の計算ノード101がないと判定した場合は、当該ジョブは既に終了していることを意味する。この場合には、検出部717は、残余時間を算出する(S1109)。具体的には、検出部717は、専有期間201の終了時刻から現在時刻を引くことによって、残余時間を求める。
モードの移行に要する電力損失を考慮すると、残余時間が短い場合に省電力モードに移行させる意義は小さい。従って、この例では、残余時間が基準値以下の場合には、早期に終了したものと判定しない。そのため、検出部717は、残余時間が基準値を超えているか否かを判定する(S1111)。
残余時間が基準値を超えていない場合には、そのまま、S1115の処理に移る。一方、残余時間が基準値を超えている場合には、検出部717は、当該ジョブが早期に終了したと判定する(S1113)。
尚、残余時間が短い場合であっても省電力モードに移行させるようにしてもよい。その場合には、S1107において未特定の計算ノード101がないと判定した場合に、S1109及びS1111の処理を省いて、S1113の処理に移るようにする。
検出部717は、S1101において未特定のジョブがあるか否かを判定する(S1115)。未特定のジョブがあると判定した場合には、S1101に示した処理に戻って、上述した処理を繰り返す。一方、未特定のジョブがないと判定した場合には、検出処理を終え、呼び出し元のメイン処理に復帰する。
図8の説明に戻る。判定部719は、検出処理において早期終了のジョブを検出したか否かによって処理を分岐させる(S809)。早期終了のジョブを検出しなかった場合には、S801に示した処理に戻って、上述した処理を繰り返す。
一方、早期終了のジョブを検出した場合には、判定部719は、早期終了のジョブを1つ特定する(S811)。この例では、早期終了のジョブが複数検出される場合があると想定している。判定部719は、判定処理を実行する(S813)。判定部719は、判定処理において、早期終了したジョブの残余期間に待機中のジョブが割り当てられる可能性があるか否かを判定する。
図12に、判定処理フローを示す。判定部719は、待機中のジョブを1つ特定する(S1201)。具体的には、判定部719は、要求ジョブテーブルに含まれるジョブIDのうち、スケジュールテーブルにおいて未だ専有中と対応付けられていないジョブIDを1つ特定する。または、取得部715が、ジョブ管理部705から待機中のジョブに関する情報(例えば、ジョブID、当該ジョブの計算ノード数及び実行時間)を取得するようにしてもよい。
判定部719は、待機中のジョブにおける計算ノード数が、図8のS811で特定した早期終了のジョブにおける計算ノード数以下であるか否かを判定する(S1203)。
待機中のジョブにおける計算ノード数が、早期終了のジョブにおける計算ノード数以下であると判定した場合には、判定部719は、更に待機中のジョブにおける実行時間が、残余時間以下であるか否かを判定する(S1205)。
待機中のジョブにおける実行時間が、残余時間以下であると判定した場合には、判定部719は、早期終了したジョブの残余期間に待機中のジョブが割り当てられる可能性があると判定する(S1207)。
一方、S1203において、待機中のジョブにおける計算ノード数が、早期終了のジョブにおける計算ノード数を上回ると判定した場合には、S1209の処理に移る。更に、S1205において、待機中のジョブにおける実行時間が、残余時間を上回ると判定した場合も、S1209の処理に移る。そして、判定部719は、S1201において未特定のジョブがあるか否かを判定する(S1209)。
未特定のジョブがあると判定した場合には、S1201に示した処理に戻って、上述した処理を繰り返す。一方、未特定のジョブがないと判定した場合には、判定部719は、早期終了したジョブの残余時間に待機中のジョブが割り当てられる可能性がないと判定する(S1211)。そして、判定処理を終え、呼び出し元のメイン処理に復帰する。
図8の説明に戻る。切替部721は、早期終了したジョブの残余時間に待機中のジョブが割り当てられる可能性があるか否かによって処理を分岐させる(S815)。早期終了したジョブの残余時間に待機中のジョブが割り当てられる可能性がある場合には、そのまま、S819の処理に移る。
一方、早期終了したジョブの残余時間に待機中のジョブが割り当てられる可能性がない場合には、切替部721は、切り替え処理を実行する(S817)。切替部721は、切り替え処理において、S811で特定した早期終了のジョブが専有している計算ノード101を省電力モードへ変更させる。
図13に、切り替え処理フローを示す。切替部721は、スケジュールテーブルに基づいて、図8のS811で特定した早期終了のジョブが専有している計算ノード101を1つ特定する(S1301)。
切替部721は、当該計算ノード101に対して、省電力モードへの変更を指示する(S1303)。そして、切替部721は、S1301において未特定の計算ノード101があるか否かを判定する(S1305)。
未特定の計算ノード101があると判定した場合には、S1301に示した処理に戻って、上述した処理を繰り返す。一方、未特定の計算ノード101がないと判定した場合には、切り替え処理を終え、呼び出し元のメイン処理に復帰する。
図8の説明に戻る。判定部719は、S811において未特定の早期終了のジョブがあるか否かを判定する(S819)。未特定の早期終了のジョブがあると判定した場合には、S811に示した処理に戻って、上述した処理を繰り返す。
一方、未特定の早期終了のジョブがないと判定した場合には、S801に示した処理に戻って、上述した処理を繰り返す。
本実施の形態によれば、計算機における電力消費を抑制できる
[実施の形態2]
上述した実施の形態では、制御部707において、早期終了のジョブを検出する例について説明したが、制御部707は、ジョブ管理部705から早期終了のジョブに関する情報を取得するようにしてもよい。
図14に、実施の形態2におけるメイン処理フローを示す。S801及びS803の処理については、図8の場合と同様である。
取得部715は、ジョブ管理部705から早期終了のジョブに関する情報を取得したか否かを判定する(S1401)。早期終了のジョブに関する情報は、例えば早期終了したジョブのIDである。ジョブ管理部705は、例えば実施の形態1に示した検出処理に相当する処理を行い、早期終了のジョブを検出した場合に、早期終了のジョブに関する情報を制御部707へ通知する。
早期終了のジョブに関する情報を取得していない場合には、S801に示した処理に戻って、上述した処理を繰り返す。一方、早期終了のジョブに関する情報を取得した場合には、S811の処理に移る。S811乃至S819の処理については、図8の場合と同様である。
本実施の形態によれば、実施の形態1と同様に、計算機における電力消費を抑制できる。尚、制御部707における処理を軽減できる面がある。
[実施の形態3]
上述した実施の形態では、制御部707とジョブ管理部705とを制御装置107に設ける例について説明したが、ジョブ管理部705を制御装置107以外の装置に設けるようにしてもよい。
図15に、実施の形態3における計算機システムの構成例を示す。ネットワークに、ジョブ管理装置1501が設けられている。ジョブ管理装置1501は、ジョブ管理部705を含んでいる。
制御部707は、ネットワークを介してジョブ管理部705とのデータのやり取りを行う。制御部707がジョブ管理部705からデータを受ける場合には、ネットワークを介してジョブ管理装置1501から当該データを受信する。また、制御部707がジョブ管理部705へデータを渡す場合には、ネットワークを介してジョブ管理装置1501へ当該データを送信する。
本実施の形態によれば、実施の形態1と同様に、計算機における電力消費を抑制できる。
以上本発明の実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、上述の機能ブロック構成はプログラムモジュール構成に一致しない場合もある。
また、上で説明した各記憶領域の構成は一例であって、上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ、処理の順番を入れ替えることや複数の処理を並列に実行させるようにしても良い。
なお、上で述べた制御装置107は、コンピュータ装置であって、図16に示すように、メモリ2501とCPU2503とハードディスク・ドライブ(HDD:Hard Disk Drive)2505と表示装置2509に接続される表示制御部2507とリムーバブル・ディスク2511用のドライブ装置2513と入力装置2515とネットワークに接続するための通信制御部2517とがバス2519で接続されている。オペレーティング・システム(OS:Operating System)及び本実施例における処理を実施するためのアプリケーション・プログラムは、HDD2505に格納されており、CPU2503により実行される際にはHDD2505からメモリ2501に読み出される。CPU2503は、アプリケーション・プログラムの処理内容に応じて表示制御部2507、通信制御部2517、ドライブ装置2513を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ2501に格納されるが、HDD2505に格納されるようにしてもよい。本発明の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク2511に格納されて頒布され、ドライブ装置2513からHDD2505にインストールされる。インターネットなどのネットワーク及び通信制御部2517を経由して、HDD2505にインストールされる場合もある。このようなコンピュータ装置は、上で述べたCPU2503、メモリ2501などのハードウエアとOS及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
以上述べた本発明の実施の形態をまとめると、以下のようになる。
本実施の形態に係る制御装置は、複数の計算機の各々にジョブの専有期間を割り当てて動作させるシステムに含まれる制御装置であって、(A)一以上の計算機を専有する第1期間の途中で終了したジョブと同数以下の計算機を、当該第1期間の残余時間以下の長さを有する第2期間において専有しようとする待機ジョブがあるか否かを判定する判定部と、(B)待機ジョブがないと判定した場合に、一以上の計算機を省電力モードに切り替える切替部とを有する。
このようにすれば、計算機における電力消費を抑制できる。
また、上記制御装置は、更に、一以上の計算機を専有する上記期間の途中で終了した上記ジョブを検出する検出部を有するようにしてもよい。
このようにすれば、ジョブのスケジューリングを行うジョブ管理部における処理負荷を軽減できる。
また、上記制御装置は、更に、一以上の計算機を専有する上記期間の途中で終了した上記ジョブの情報を、ジョブのスケジューリングを行うジョブ管理部から取得する取得部を有するようにしてもよい。
このようにすれば、制御装置における処理負荷を軽減できる。
なお、上で述べた制御装置の処理をコンピュータに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、CD−ROM、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納されるようにしてもよい。尚、中間的な処理結果は、一般的にメインメモリ等の記憶装置に一時保管される。
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
複数の計算機の各々にジョブの専有期間を割り当てて動作させるシステムに含まれる制御装置であって、
一以上の計算機を専有する第1期間の途中で終了したジョブと同数以下の計算機を、当該第1期間の残余時間以下の長さを有する第2期間において専有しようとする待機ジョブがあるか否かを判定する判定部と、
前記待機ジョブがないと判定した場合に、前記一以上の計算機を省電力モードに切り替える切替部と
を有する制御装置。
(付記2)
更に、
前記一以上の計算機を専有する前記期間の途中で終了した前記ジョブを検出する検出部
を有する付記1記載の制御装置。
(付記3)
更に、
前記一以上の計算機を専有する前記期間の途中で終了した前記ジョブの情報を、ジョブのスケジューリングを行うジョブ管理部から取得する取得部
を有する付記1記載の制御装置。
(付記4)
複数の計算機の各々にジョブの専有期間を割り当てて動作させるシステムに含まれるコンピュータにより実行される制御方法であって、
一以上の計算機を専有する第1期間の途中で終了したジョブと同数以下の計算機を、当該第1期間の残余時間以下の長さを有する第2期間において専有しようとする待機ジョブがあるか否かを判定し、
前記待機ジョブがないと判定した場合に、前記一以上の計算機を省電力モードに切り替える
処理を含む制御方法。
(付記5)
複数の計算機の各々にジョブの専有期間を割り当てて動作させるシステムに含まれるコンピュータに、
一以上の計算機を専有する第1期間の途中で終了したジョブと同数以下の計算機を、当該第1期間の残余時間以下の長さを有する第2期間において専有しようとする待機ジョブがあるか否かを判定し、
前記待機ジョブがないと判定した場合に、前記一以上の計算機を省電力モードに切り替える
処理を実行させる制御プログラム。
101 計算ノード
103 ログイン装置
105 ユーザ端末
107 制御装置
201 専有期間
701 送信部
703 受信部
705 ジョブ管理部
707 制御部
711 受付部
713 依頼部
715 取得部
717 検出部
719 判定部
721 切替部
731 要求ジョブ記憶部
733 スケジュール記憶部

Claims (3)

  1. 複数の計算機の各々にジョブの専有期間を割り当てて動作させるシステムに含まれる制御装置であって、
    一以上の計算機を専有する第1期間の途中で終了したジョブと同数以下の計算機を、当該第1期間の残余時間以下の長さを有する第2期間において専有しようとする待機ジョブがあるか否かを判定する判定部と、
    前記待機ジョブがないと判定した場合に、前記一以上の計算機を省電力モードに切り替える切替部と
    を有する制御装置。
  2. 複数の計算機の各々にジョブの専有期間を割り当てて動作させるシステムに含まれるコンピュータにより実行される制御方法であって、
    一以上の計算機を専有する第1期間の途中で終了したジョブと同数以下の計算機を、当該第1期間の残余時間以下の長さを有する第2期間において専有しようとする待機ジョブがあるか否かを判定し、
    前記待機ジョブがないと判定した場合に、前記一以上の計算機を省電力モードに切り替える
    処理を含む制御方法。
  3. 複数の計算機の各々にジョブの専有期間を割り当てて動作させるシステムに含まれるコンピュータに、
    一以上の計算機を専有する第1期間の途中で終了したジョブと同数以下の計算機を、当該第1期間の残余時間以下の長さを有する第2期間において専有しようとする待機ジョブがあるか否かを判定し、
    前記待機ジョブがないと判定した場合に、前記一以上の計算機を省電力モードに切り替える
    処理を実行させる制御プログラム。
JP2017216035A 2017-11-09 2017-11-09 制御装置、制御方法及び制御プログラム Pending JP2019087113A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017216035A JP2019087113A (ja) 2017-11-09 2017-11-09 制御装置、制御方法及び制御プログラム
US16/164,854 US10846133B2 (en) 2017-11-09 2018-10-19 Control apparatus, control method and recording medium on which control program is recorded

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017216035A JP2019087113A (ja) 2017-11-09 2017-11-09 制御装置、制御方法及び制御プログラム

Publications (1)

Publication Number Publication Date
JP2019087113A true JP2019087113A (ja) 2019-06-06

Family

ID=66328622

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017216035A Pending JP2019087113A (ja) 2017-11-09 2017-11-09 制御装置、制御方法及び制御プログラム

Country Status (2)

Country Link
US (1) US10846133B2 (ja)
JP (1) JP2019087113A (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012215933A (ja) * 2011-03-31 2012-11-08 Nec Corp ジョブ管理システム及びジョブ管理方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003256067A (ja) 2002-03-01 2003-09-10 Mitsubishi Electric Corp 省電力制御方式及び省電力制御方法及びプログラム及び記録媒体
JP5211778B2 (ja) * 2008-03-17 2013-06-12 富士通株式会社 ジョブ割当装置、並列計算機システム、ジョブ割当方法、及び、ジョブ割当プログラム
US9405348B2 (en) * 2008-04-21 2016-08-02 Adaptive Computing Enterprises, Inc System and method for managing energy consumption in a compute environment
JP5251575B2 (ja) 2009-02-10 2013-07-31 富士通株式会社 グリッドコンピューティングの管理プログラム
KR20140122835A (ko) * 2013-04-11 2014-10-21 삼성전자주식회사 프로세스 병렬 처리 장치 및 방법
JP6201530B2 (ja) * 2013-08-30 2017-09-27 富士通株式会社 情報処理システム、ジョブ管理装置、ジョブ管理装置の制御プログラム、及び、情報処理システムの制御方法
JP2015148909A (ja) * 2014-02-05 2015-08-20 富士通株式会社 並列計算機システム、並列計算機システムの制御方法及び管理ノードの制御プログラム
JP2016081119A (ja) 2014-10-10 2016-05-16 富士通株式会社 情報処理システム、情報処理システムの制御方法および制御装置の制御プログラム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012215933A (ja) * 2011-03-31 2012-11-08 Nec Corp ジョブ管理システム及びジョブ管理方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
今出 広明: "PCクラスタにおける省電力化のための自動電源制御方式", 情報処理学会 研究報告 ハイパフォーマンスコンピューティング(HPC), vol. 2017-HPC-160巻,第2号, JPN6021029605, 19 July 2017 (2017-07-19), JP, pages 1 - 7, ISSN: 0004561759 *

Also Published As

Publication number Publication date
US10846133B2 (en) 2020-11-24
US20190138353A1 (en) 2019-05-09

Similar Documents

Publication Publication Date Title
EP3404540A1 (en) Data stream processing method, apparatus, and system
CN104303149A (zh) 用于调度便携式计算设备中的请求的方法和系统
CN106897299B (zh) 一种数据库访问方法及装置
JP5445669B2 (ja) マルチコアシステムおよび起動方法
CN111857946A (zh) 基于位置的虚拟化工作负载放置
WO2016127291A1 (zh) 内存管理装置和方法
CN111338785A (zh) 资源调度方法及装置、电子设备、存储介质
CN109639460B (zh) Nfv资源管理的方法和装置
JP2010277171A (ja) タスク割当装置、および、タスク割当方法
JP2013210833A (ja) ジョブ管理装置、ジョブ管理方法、及びプログラム
JP4558611B2 (ja) 自律適応型統合基地局およびリソース制御方法
JP4862056B2 (ja) 仮想計算機管理機構及び仮想計算機システムにおけるcpu時間割り当て制御方法
WO2010137233A1 (ja) マルチプロセッサシステムにおける省電力制御装置およびモバイル端末
JP2019087113A (ja) 制御装置、制御方法及び制御プログラム
KR101271211B1 (ko) 다중 쓰레드의 비동기 입출력 처리 장치 및 그 방법
CN110955461A (zh) 计算任务的处理方法、装置、系统、服务器和存储介质
JP2005115620A (ja) タスク管理方法及びタスク管理手段を有する電子機器
US9201707B2 (en) Distributed system, device, method, and program
CN110968418A (zh) 基于信号-槽的大规模有约束并发任务的调度方法与装置
JP2014164566A (ja) アプリケーション管理装置、アプリケーション管理方法およびアプリケーション管理プログラム
JP6349786B2 (ja) 仮想計算機管理装置、仮想計算機管理方法、及び仮想計算機管理プログラム
CN103389911B (zh) 节省系统资源的方法及运用其方法的操作系统
CN116684074B (zh) 硬件密码模组多核调度算法驱动方法、装置及电子设备
CN112905267B (zh) 虚拟机接入协程库的方法、装置及设备
JP2009110195A (ja) 情報処理装置、システム、情報処理引継ぎ制御方法、及び、プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200807

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210729

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210803

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20220215