JP2021189885A - ジョブスケジューリングプログラム、情報処理装置及びジョブスケジューリング方法 - Google Patents
ジョブスケジューリングプログラム、情報処理装置及びジョブスケジューリング方法 Download PDFInfo
- Publication number
- JP2021189885A JP2021189885A JP2020096121A JP2020096121A JP2021189885A JP 2021189885 A JP2021189885 A JP 2021189885A JP 2020096121 A JP2020096121 A JP 2020096121A JP 2020096121 A JP2020096121 A JP 2020096121A JP 2021189885 A JP2021189885 A JP 2021189885A
- Authority
- JP
- Japan
- Prior art keywords
- job
- execution
- nodes
- jobs
- power consumption
- 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.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims abstract description 128
- 230000010365 information processing Effects 0.000 title claims abstract description 107
- 238000004378 air conditioning Methods 0.000 claims abstract description 55
- 238000001816 cooling Methods 0.000 claims description 11
- 238000010586 diagram Methods 0.000 description 37
- 230000007704 transition Effects 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 238000006073 displacement reaction Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06311—Scheduling, planning or task assignment for a person or group
- G06Q10/063114—Status monitoring or status determination for a person or group
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F24—HEATING; RANGES; VENTILATING
- F24F—AIR-CONDITIONING; AIR-HUMIDIFICATION; VENTILATION; USE OF AIR CURRENTS FOR SCREENING
- F24F11/00—Control or safety arrangements
- F24F11/30—Control or safety arrangements for purposes related to the operation of the system, e.g. for safety or monitoring
- F24F11/46—Improving electric energy efficiency or saving
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/28—Supervision thereof, e.g. detecting power-supply failure by out of limits supervision
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3228—Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/329—Power saving characterised by the action undertaken by task scheduling
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F24—HEATING; RANGES; VENTILATING
- F24F—AIR-CONDITIONING; AIR-HUMIDIFICATION; VENTILATION; USE OF AIR CURRENTS FOR SCREENING
- F24F2140/00—Control inputs relating to system states
- F24F2140/60—Energy consumption
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3212—Monitoring battery levels, e.g. power saving mode being initiated when battery voltage goes below a certain level
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Human Resources & Organizations (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- Entrepreneurship & Innovation (AREA)
- General Engineering & Computer Science (AREA)
- Tourism & Hospitality (AREA)
- Development Economics (AREA)
- Educational Administration (AREA)
- Game Theory and Decision Science (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- General Business, Economics & Management (AREA)
- Combustion & Propulsion (AREA)
- Chemical & Material Sciences (AREA)
- Mechanical Engineering (AREA)
- Power Sources (AREA)
- Debugging And Monitoring (AREA)
Abstract
【課題】空調設備の制御を適切に行うことを可能とするジョブスケジューリングプログラム、情報処理装置及びジョブスケジューリング方法を提供する。【解決手段】過去に実行された複数の実行済ジョブの実行に要した消費電力と、複数の実行済ジョブの実行に用いられたノード数とに基づいて、複数の実行済ジョブの実行に用いられたノード数に含まれる複数のノード数ごとに、各ノード数がジョブの実行に用いられた際に要した消費電力を特定し、複数のノード数のうち、特定した消費電力が、複数の実行済ジョブの実行を行ったジョブ実行装置の消費電力に基づいて算出された所定の閾値よりも大きいノード数であって、所定の閾値に最も近い特定のノード数を特定し、複数の実行対象ジョブのうち、実行に用いられるノード数が特定のノード数以上である特定のジョブを特定し、特定した特定のジョブの実行タイミングが指定された時間帯になるように、複数の実行対象ジョブの実行タイミングを決定する。【選択図】図30
Description
本発明は、ジョブスケジューリングプログラム、情報処理装置及びジョブスケジューリング方法に関する。
例えば、利用者に対してサービスを提供する事業者(以下、単に事業者とも呼ぶ)は、サービスの提供を行うために必要な業務システムの構築を行う。そして、事業者は、このような業務システムにおいて、例えば、各ジョブの実行時間の決定等を行うジョブスケジューラを動作させる。
具体的に、ジョブスケジューラは、例えば、新たなジョブが投入された場合に、各ノードにおけるジョブの実行状況等の情報に基づいて新たなジョブを実行可能なノードの特定を行う。そして、ジョブスケジューラは、この場合、特定したノードのうちのいずれかに対して、新たなジョブの実行指示を行う(例えば、特許文献1参照)。
ここで、例えば、上記のような各ジョブの実行が大規模なHPC(High Performance Computing)システム等において行われる場合、HPCシステムが配備された建屋の温度は、各ジョブの実行に伴って上昇する。そのため、ジョブの実行を行う作業者(以下、単に作業者とも呼ぶ)は、この場合、建屋内の温度を下げるための空調設備(温度冷却設備)を稼働させる必要がある。
この点、上記のような空調設備は、HPCシステムの規模等によって大きな電力を消費する場合がある。また、上記のような空調設備の設定が行われてから建屋内の温度が実際に下がるまでの間には、タイムラグが存在する。そのため、作業者は、例えば、ジョブスケジューラによってスケジューリングされた各ジョブの実行タイミングに基づいて、空調設備の制御スケジュール(例えば、建屋内の温度を変えるタイミングについてのスケジュール)を予め生成する。そして、作業者は、予め生成した制御スケジュールに従って空気設備の制御を行う。
これにより、作業者は、空調設備の稼働に要する消費電力を抑えつつ、建屋内の温度の上昇を効率的に抑えることが可能になる。
しかしながら、各ジョブの実行は、ジョブスケジューラによってスケジューリングされた各ジョブの実行タイミングよりも早く完了する場合がある。そして、この場合、実行完了が早まったジョブの後に実行されるジョブの実行タイミングは、当初の予定よりも前倒しになる。そのため、作業者は、空調設備の制御スケジュールに従う場合であっても、空調設備の制御を適切なタイミングにおいて行うことができない場合がある。
そこで、一つの側面では、本発明は、空調設備の制御を適切に行うことを可能とするジョブスケジューリングプログラム、情報処理装置及びジョブスケジューリング方法を提供することを目的とする。
実施の形態の一態様では、複数の実行対象ジョブの実行タイミングについてのスケジューリングを行う処理をコンピュータに実行させるジョブスケジューリングプログラムであって、過去に実行された複数の実行済ジョブの実行に要した消費電力と、前記複数の実行済ジョブの実行に用いられたノード数とに基づいて、前記複数の実行済ジョブの実行に用いられたノード数に含まれる複数のノード数ごとに、各ノード数がジョブの実行に用いられた際に要した前記消費電力を特定し、前記複数のノード数のうち、特定した前記消費電力が、前記複数の実行済ジョブの実行を行ったジョブ実行装置の消費電力に基づいて算出された所定の閾値よりも大きい特定のノード数を特定し、前記複数の実行対象ジョブのうち、実行に用いられるノード数が前記特定のノード数以上である特定のジョブを特定し、特定した前記特定のジョブの実行タイミングが指定された時間帯になるように、前記複数の実行対象ジョブの実行タイミングを決定する、処理をコンピュータに実行させる。
一つの側面によれば、空調設備の制御を適切に行うことを可能とする。
[情報処理システムの構成]
初めに、情報処理システム10の構成について説明を行う。図1は、情報処理システム10の構成について説明する図である。
初めに、情報処理システム10の構成について説明を行う。図1は、情報処理システム10の構成について説明する図である。
情報処理システム10は、ジョブの実行タイミングのスケジューリングを行うジョブスケジューラが動作する情報処理装置1と、作業者が必要な操作を行う操作端末2とを有する。また、情報処理システム10は、情報処理装置1によって行われたスケジューリングに従ってジョブの実行を行うジョブ実行装置3と、ジョブ実行装置3が配備されている建屋(図示しない)内の温度を調整する空調設備4とを有する。
ジョブ実行装置3は、複数のノード(複数の物理マシン)から構成される装置であり、例えば、HPCシステムである。また、操作端末2は、インターネット等のネットワーク(図示しない)を介して情報処理装置1とアクセスが可能な端末である。
具体的に、作業者は、例えば、操作端末2を介して実行対象のジョブの情報処理装置1に入力する。また、作業者は、例えば、操作端末2を介してジョブの実行に用いるノード数や各ジョブの実行時間を情報処理装置1に入力する。
そして、情報処理装置1は、操作端末2から入力された実行対象のジョブをジョブ実行装置3に送信する。また、情報処理装置1は、操作端末2から入力された各情報に基づいて、実行対象のジョブの実行タイミングのスケジュールを示す情報(以下、スケジュール情報とも呼ぶ)を生成してジョブ実行装置3に送信する。
その後、ジョブ実行装置3は、情報処理装置1から送信されたスケジュール情報に従うことによって実行対象のジョブの実行を行う。以下、情報処理装置1において行われるジョブのスケジューリングについて説明を行う。
[ジョブのスケジューリングについての具体例]
図2から図6、図8及び図10は、ジョブのスケジューリングの具体例について説明を行う図である。なお、図2等に示す例における横軸及び縦軸は、各ジョブの実行が行われる時間及び各ジョブの実行ノードのそれぞれを示している。また、図2等に示す例において、各ジョブに対応する長方形の横軸の長さが各ジョブのターンアラウンドタイムに対応している。以下、現在時刻が12時であるものとして説明を行う。
図2から図6、図8及び図10は、ジョブのスケジューリングの具体例について説明を行う図である。なお、図2等に示す例における横軸及び縦軸は、各ジョブの実行が行われる時間及び各ジョブの実行ノードのそれぞれを示している。また、図2等に示す例において、各ジョブに対応する長方形の横軸の長さが各ジョブのターンアラウンドタイムに対応している。以下、現在時刻が12時であるものとして説明を行う。
情報処理装置1は、ジョブのスケジューリングを行う場合、例えば、図2に示すように、優先度が「1」であるジョブ(以下、ジョブ1とも呼ぶ)と、優先度が「2」であるジョブ(以下、ジョブ2とも呼ぶ)と、優先度が「3」であるジョブ(以下、ジョブ3とも呼ぶ)との実行が同時に行われるようにスケジューリングを行う。すなわち、情報処理装置1は、優先度が高いジョブの順に、可能な限り多くのジョブが並行して実行されるようにスケジューリングを行う。
そして、例えば、図3に示すように、1時間後(13時)の時点において、ジョブ3の実行終了に伴って空きノードが発生した場合、情報処理装置1は、例えば、図4に示すように、発生した空きノードにおいて優先度が「4」であるジョブ(以下、ジョブ4とも呼ぶ)の実行が行われるようにスケジューリングを行う。すなわち、情報処理装置1は、この場合、未実行ジョブのうち、優先度が最も高いジョブであるジョブ4の実行が行われるようにスケジューリングを行う。
これにより、情報処理装置1は、優先度の高いジョブから順に実行されるように、各ジョブの実行タイミングについてのスケジューリングを行うことが可能になる。
ここで、図2から図4で説明したジョブのスケジューリングでは、例えば、数多くのジョブが同時に投入された場合、実行中のジョブ以外(以下、実行待ちのジョブとも呼ぶ)のスケジューリングが行われない。そのため、作業者は、この場合、実行待ちのジョブのターンアラウンドタイムを把握することができない。
そこで、情報処理装置1は、例えば、図5に示すように、現在時刻よりも後の時間を所定の時間帯(以下、区間とも呼ぶ)ごとに区切る。そして、情報処理装置1は、例えば、図6に示すように、各区間の区切り線LNに対応する時刻から各ジョブが開始されるものとして、実行待ちのジョブについてのスケジューリングを行う。
具体的に、情報処理装置1は、例えば、図6に示すように、ジョブ4の実行がジョブ3の実行終了時刻(実行終了予測時刻)の次の区切り線LNから開始されるようにスケジューリングを行う。また、情報処理装置1は、例えば、優先度が「5」であるジョブ(以下、ジョブ5とも呼ぶ)の実行が、ジョブ1の実行終了時刻の次の区切り線LNから開始されるようにスケジューリングを行う。
さらに、情報処理装置1は、例えば、図6に示すように、優先度が「6」であるジョブ(以下、ジョブ6とも呼ぶ)の実行が、ジョブ4及びジョブ5の実行終了時刻の次の区切り線LNから開始されるようにスケジューリングを行う。また、情報処理装置1は、例えば、優先度が「7」であるジョブ(以下、ジョブ7とも呼ぶ)及び優先度が「8」であるジョブ(以下、ジョブ8とも呼ぶ)の実行が、ジョブ6の実行終了時刻の次の区切り線LNから開始されるようにスケジューリングを行う。
これにより、情報処理装置1は、直ちに実行されるジョブや実行中のジョブだけでなく、実行待ちのジョブについてもスケジューリングを行うことが可能になる。そのため、情報処理装置1は、各ジョブのターンアラウンドタイムを可視化させることが可能になる。したがって、作業者は、例えば、図6に示す情報を参照することにより、各ジョブのターンアラウンドタイムを把握することが可能になる。
次に、図1に示す空調設備4について説明を行う。
上記のようなジョブ実行装置3においてジョブが実行される場合、ジョブ実行装置3が配備された建屋の温度は、ジョブ実行装置3から発する熱によって上昇する。そのため、作業者は、建屋内の温度を下げるための空調設備(冷却設備)4を稼働させる必要がある。
この点、空調設備4は、ジョブ実行装置3の規模等によって大きな電力を消費する場合がある。また、空調設備4の設定が行われてから建屋内の温度が実際に下がるまでの間には、タイムラグが存在する。そのため、情報処理装置1は、例えば、ジョブスケジューラによってスケジューリングされた各ジョブの実行タイミングに基づいて、空調設備4の制御スケジュール(例えば、建屋内の温度を変えるタイミングについてのスケジュール)を予め生成する。そして、情報処理装置1は、予め生成した制御スケジュールに従って空気設備の制御を行う。
これにより、情報処理装置1は、空調設備4の稼働に要する消費電力を抑えつつ、建屋内の温度の上昇を効率的に抑えることが可能になる。以下、空調設備4の制御スケジュールについて説明を行う。
[空調設備のスケジュール]
図7から図9は、空調設備4のスケジュールについて説明する図である。具体的に、図7及び図9は、ジョブ実行装置3における消費電力の推移予測の具体例について説明する図である。なお、図7等に示す例における横軸及び縦軸は、各ジョブの実行が行われる時間及びジョブ実行装置3における消費電力のそれぞれを示している。
図7から図9は、空調設備4のスケジュールについて説明する図である。具体的に、図7及び図9は、ジョブ実行装置3における消費電力の推移予測の具体例について説明する図である。なお、図7等に示す例における横軸及び縦軸は、各ジョブの実行が行われる時間及びジョブ実行装置3における消費電力のそれぞれを示している。
図7に示す時系列データPW1は、情報処理装置1によって時刻1にスケジューリングされた各ジョブの実行タイミングに従って生成されたジョブ実行装置3における消費電力の時系列データPW1である。
具体的に、図7に示す例において、時刻Aから時刻Bまでの間の時間帯における消費電力量は、他の時間帯における消費電力よりも大きくなっている。そのため、情報処理装置1は、例えば、時刻Aから時刻Bまでの間の時間帯における建屋内の温度が他の時間帯における温度よりも低くなるように、空調設備4の制御スケジュールを決定する。
ここで、各ジョブの実行は、図8に示すように、ジョブスケジューラによってスケジューリングされた各ジョブの実行タイミングよりも早く完了する場合がある。
具体的に、例えば、図8(A)に示すように、ジョブ6の実行が16時過ぎまで行われるものとしてスケジューリングされていた場合であっても、例えば、図8(B)に示すように、実際には16時前に終了する場合がある。
そして、ジョブ実行装置3は、この場合、ジョブ7及び8の実行を、当初の予定時刻である16時半よりも前の時刻から開始することが可能になる。そのため、情報処理装置1は、例えば、図8(B)に示すように、ジョブ6の実行終了に応じて、ジョブ7及び8の実行タイミングについての再スケジューリングを行い、ジョブ7及び8の実行の開始時刻を16時に変更する。
これにより、情報処理装置1は、ジョブ実行装置3における各ジョブの実行を効率的に行うことが可能になる。
しかしながら、上記のような再スケジューリングによる各ジョブの実行タイミングの変更は、ジョブ実行装置3における消費電力の推移予測に対しても影響を与えることになる。
具体的に、例えば、図9に示すように、時刻2に再スケジューリングされた各ジョブの実行タイミングに従って生成された時系列データPW2における消費電力のピーク値は、時系列データPW1における消費電力のピーク値よりも前倒しされている。
また、上記のように、空調設備4の設定が行われてから建屋内の温度が下がるまでの間には、タイムラグが存在する。
そのため、情報処理装置1は、空調設備4の制御スケジュールの決定が行われた後に、各ジョブの実行タイミングについての再スケジューリングが行われた場合であっても、空調設備4の制御スケジュールの変更を行うことができない場合がある。
したがって、作業者は、空調設備の制御を適切なタイミングにおいて行うことができない場合がある。
この点、情報処理装置1は、例えば、図10に示すように、当初の予定よりも実行完了が早まったジョブが発生した場合であっても、各ジョブの実行タイミングについての再スケジューリングを行わないことにより、各ジョブの実際の実行タイミングと空調設備4の制御スケジュールとの乖離の発生を防ぐことが可能になる。
しかしながら、各ジョブの実行タイミングについての再スケジューリングを行わない場合、情報処理装置1は、ジョブ実行装置3におけるジョブの実行を効率的に行うことができなくなる。そのため、作業者は、各ジョブの実行タイミングについての再スケジューリングを行わないとする運用を採用できない場合がある。
そこで、本実施の形態における情報処理装置1は、過去に実行された複数の実行済ジョブの実行に要した消費電力と、複数の実行済ジョブの実行に用いられたノード数とに基づいて、複数の実行済ジョブの実行に用いられたノード数に含まれる複数のノード数ごとに、各ノード数がジョブの実行に用いられた際に要した消費電力を特定する。
そして、情報処理装置1は、複数のノード数のうち、特定した消費電力が、複数の実行済ジョブの実行を行ったジョブ実行装置の消費電力に基づいて算出された所定の閾値よりも大きい特定のノード数を特定する。さらに、情報処理装置1は、複数の実行対象ジョブのうち、実行に用いられるノード数が特定のノード数以上である特定のジョブを特定する。
その後、情報処理装置1は、特定した特定のジョブの実行タイミングが予め指定された時間帯になるように、複数の実行対象ジョブの実行タイミングを決定する。
すなわち、本実施の形態における情報処理装置1は、各ジョブの実行タイミングについてのスケジューリングを行う際に、実行に用いられるノード数が多いジョブ(以下、大規模ジョブ)についての実行タイミングを、予め指定された時間帯(例えば、作業者が予め指定した時間帯)に決定する。そして、情報処理装置は、大規模ジョブよりも前に実行されるジョブの実行完了時間が当初の予定よりも前倒しになった場合であっても、大規模ジョブの実行タイミングの前倒しを行わない。
これにより、本実施の形態における情報処理装置1は、各ジョブの実行時におけるジョブ実行装置3の消費電力の推移が、各ジョブの実行タイミングに基づいて予め行われた予測から大きく変わることを防止することが可能になる。そのため、情報処理装置1は、各ジョブの実際の実行タイミングと空調設備4の制御スケジュールとの乖離の発生を防ぐことが可能になる。したがって、情報処理装置1は、大規模ジョブ以外のジョブの実行タイミングについての再スケジューリングを許容しつつ、ジョブ実行装置3が配備された建屋内の温度を適切に調整することが可能になる。
[情報処理システムのハードウエア構成]
次に、情報処理システム10のハードウエア構成について説明する。図11は、情報処理装置1のハードウエア構成を説明する図である。
次に、情報処理システム10のハードウエア構成について説明する。図11は、情報処理装置1のハードウエア構成を説明する図である。
情報処理装置1は、図11に示すように、プロセッサであるCPU101と、メモリ102と、通信装置103と、記憶媒体104とを有する。各部は、バス105を介して互いに接続される。
記憶媒体104は、例えば、ジョブの実行タイミングのスケジューリングを行う処理(以下、ジョブスケジューリング処理とも呼ぶ)を行うためのプログラム110を記憶するプログラム格納領域(図示しない)を有する。また、記憶媒体104は、例えば、ジョブスケジューリング処理を行う際に用いられる情報を記憶する記憶部130(以下、情報格納領域130とも呼ぶ)を有する。なお、記憶媒体104は、例えば、HDD(Hard Disk Drive)やSSD(Solid State Drive)であってよい。
CPU101は、記憶媒体104からメモリ102にロードされたプログラム110を実行してジョブスケジューリング処理を行う。
また、通信装置103は、例えば、ネットワーク(図示しない)を介して操作端末2及びジョブ実行装置3との通信を行う。
[情報処理システムの機能]
次に、情報処理システム10の機能について説明を行う。図12は、情報処理装置1の機能のブロック図である。
次に、情報処理システム10の機能について説明を行う。図12は、情報処理装置1の機能のブロック図である。
情報処理装置1は、図12に示すように、例えば、CPU101やメモリ102等のハードウエアとプログラム110とが有機的に協働することにより、情報取得部111と、情報管理部112と、基準決定部113と、ジョブ特定部114とを実現する。また、情報処理装置1は、例えば、CPU101やメモリ102等のハードウエアとプログラム110とが有機的に協働することにより、スケジューリング部115と、空調制御部116と、情報送信部117とを含む各種機能を実現する。
さらに、情報処理装置1は、例えば、図12に示すように、消費電力情報131と、基準ノード数情報132と、実行状況情報133と、予約ジョブ情報134と、スケジュール情報135とを情報格納領域130に記憶する。
情報取得部111は、例えば、ジョブ実行装置3における各ジョブの実行に伴う消費電力を示す消費電力情報131をジョブ実行装置3から取得する。
また、情報取得部111は、例えば、操作端末2から送信された実行対象のジョブと、各ジョブの最大実行時間及び実行ノード数を含むジョブ情報(図示しない)を受信する。
さらに、情報取得部111は、例えば、ジョブ実行装置3を構成する各ノードにおけるジョブの実行状況を示す実行状況情報133を各ノードから取得する。
情報管理部112は、例えば、情報取得部111がジョブ実行装置3から取得した消費電力情報131を情報格納領域130に記憶する。
また、情報管理部112は、例えば、情報取得部111が受信したジョブ情報(図示しない)をキューに格納する。
さらに、情報管理部112は、例えば、情報取得部111が取得した実行状況情報133を情報格納領域130に記憶する。
基準決定部113は、ジョブ実行装置3において過去に実行された複数のジョブ(以下、実行済ジョブとも呼ぶ)の実行に要した消費電力情報131と、複数の実行済ジョブの実行に用いられたノード数とに基づいて、複数の実行済ジョブの実行に用いられたノード数に含まれる複数のノード数ごとに、各ノード数がジョブの実行に用いられた際に要した消費電力情報131を特定する。
そして、基準決定部113は、複数の実行済ジョブの実行に用いられたノード数に含まれる複数のノード数のうち、特定した消費電力情報131が、ジョブ実行装置3の全体としての消費電力情報131に基づいて算出された所定の閾値よりも大きいノード数(以下、特定のノード数とも呼ぶ)を示す基準ノード数情報132を生成する。
ジョブ特定部114は、キューに格納された複数のジョブ(以下、実行対象ジョブとも呼ぶ)のうち、実行に用いられるノード数が特定のノード数以上であるジョブ(以下、特定のジョブとも呼ぶ)を特定する。
スケジューリング部115は、情報取得部111が取得したジョブ情報に基づいて、複数の実行対象ジョブの実行タイミングを決定する。
具体的に、スケジューリング部115は、ジョブ特定部114が特定した特定のジョブの実行タイミングが予め指定された時間帯(例えば、作業者によって予め指定された時間帯)になるように、複数の実行対象ジョブの実行タイミングを決定する。
空調制御部116は、スケジューリング部115が決定した複数の実行対象ジョブの実行タイミングを含む時間帯のうち、ジョブ特定部114が特定した特定のジョブの実行タイミングを含む時間帯における冷熱量が他の時間帯よりも多くなるように、複数の実行対象ジョブの実行タイミングを含む時間帯において空調設備4がジョブ実行装置3に対して出力する冷熱量(建屋内に出力する冷熱量)を決定する。
情報送信部117は、情報取得部111が操作端末2から受信したジョブをジョブ実行装置3に送信する。
また、情報送信部117は、各ジョブの実行タイミングを示す情報であるスケジュール情報135をジョブ実行装置3に送信する。
さらに、情報送信部117は、例えば、空調制御部116が決定した冷熱量を示す情報を空調設備4に送信する。予約ジョブ情報134についての説明は後述する。
[第1の実施の形態の概略]
次に、第1の実施の形態の概略について説明する。図13は、第1の実施の形態におけるジョブスケジューリング処理の概略を説明するフローチャート図である。
次に、第1の実施の形態の概略について説明する。図13は、第1の実施の形態におけるジョブスケジューリング処理の概略を説明するフローチャート図である。
情報処理装置1は、図13に示すように、スケジューリング実行タイミングになるまで待機する(S101のNO)。スケジューリング実行タイミングは、例えば、ジョブ実行装置3においてジョブの実行が開始されたタイミングまたはジョブの実行が終了したタイミングであってよい。
そして、スケジューリング実行タイミングになった場合(S101のYES)、情報処理装置1は、複数の実行済ジョブの実行に要した消費電力と、複数の実行済ジョブの実行ノード数とに基づいて、複数のノード数ごとに、各ノード数がジョブの実行に用いられた際に要した消費電力を特定する(S102)。
続いて、情報処理装置1は、S102の処理で特定した消費電力が、ジョブ実行装置3の消費電力に基づいて算出された所定の閾値よりも大きい特定のノード数を特定する(S103)。
具体的に、情報処理装置1は、例えば、S102の処理で特定した消費電力が、ジョブ実行装置3の消費電力に基づいて算出された所定の閾値よりも大きいノード数であって所定の閾値に最も近いノード数を特定のノード数として特定する。
さらに、情報処理装置1は、複数の実行対象ジョブのうち、実行に用いられるノード数が特定のノード数以上である特定のジョブを特定する(S104)。
その後、情報処理装置1は、S104で特定した特定のジョブの実行タイミングが予め指定された時間帯になるように、複数の実行対象ジョブの実行タイミングを決定する(S105)。
すなわち、本実施の形態における情報処理装置1は、各ジョブの実行タイミングについてのスケジューリングを行う際に、大規模ジョブについての実行タイミングを、予め指定された時間帯(例えば、作業者が予め指定した時間帯)に固定する。そして、情報処理装置1は、例えば、大規模ジョブよりも前に実行されるジョブの実行完了時間が当初の予定よりも前倒しになった場合であっても、大規模ジョブの実行タイミングの前倒しを行わない。
これにより、本実施の形態における情報処理装置1は、各ジョブの実行時におけるジョブ実行装置3の消費電力の推移が、各ジョブの実行タイミングに基づいて予め行われた予測から大きく変わることを防止することが可能になる。そのため、情報処理装置1は、各ジョブの実際の実行タイミングと空調設備4の制御スケジュールとの乖離の発生を防ぐことが可能になる。したがって、情報処理装置1は、大規模ジョブ以外のジョブの実行タイミングについての再スケジューリングを許容しつつ、ジョブ実行装置3が配備された建屋内の温度を適切に調整することが可能になる。
また、情報処理装置1は、大規模ジョブの実行タイミングを予め固定することで、大規模ジョブの実行タイミング以外の時間帯(大規模ジョブ以外のジョブの実行タイミング)において、空調設備4から出力される冷熱量を抑えることが可能になる。そのため、情報処理装置1は、空調設備4における消費電力を抑えることが可能になる。
[第1の実施の形態の詳細]
次に、第1の実施の形態の詳細について説明する。図14から図21は、第1の実施の形態におけるジョブスケジューリング処理の詳細を説明するフローチャート図である。また、図22から図30は、第1の実施の形態におけるジョブスケジューリング処理の詳細を説明する図である。
次に、第1の実施の形態の詳細について説明する。図14から図21は、第1の実施の形態におけるジョブスケジューリング処理の詳細を説明するフローチャート図である。また、図22から図30は、第1の実施の形態におけるジョブスケジューリング処理の詳細を説明する図である。
[情報取得処理]
初めに、ジョブスケジューリング処理のうち、消費電力情報131が取得する処理(以下、情報取得処理とも呼ぶ)について説明を行う。図14は、情報取得処理を説明するフローチャート図である。
初めに、ジョブスケジューリング処理のうち、消費電力情報131が取得する処理(以下、情報取得処理とも呼ぶ)について説明を行う。図14は、情報取得処理を説明するフローチャート図である。
情報処理装置1の情報取得部111は、図14に示すように、消費電力取得タイミングになるまで待機する(S1のNO)。消費電力取得タイミングは、例えば、5分ごと等の定期的なタイミングであってよい。
そして、消費電力取得タイミングになった場合(S1のYES)、情報取得部111は、ジョブ実行装置3から実行中のジョブのそれぞれの消費電力情報131を取得する(S2)。
その後、情報処理装置1の情報管理部112は、S2の処理で取得した消費電力情報131を情報格納領域130に記憶する(S3)。
具体的に、情報管理部112は、例えば、過去1か月に取得した消費電力情報131を情報格納領域130に記憶する。以下、情報格納領域130に蓄積された消費電力情報131の具体例について説明を行う。
[消費電力情報の具体例]
図22は、消費電力情報131の具体例について説明する図である。具体的に、図22は、情報格納領域130に蓄積された消費電力情報131の具体例について説明する図である。
図22は、消費電力情報131の具体例について説明する図である。具体的に、図22は、情報格納領域130に蓄積された消費電力情報131の具体例について説明する図である。
図22に示す消費電力情報131は、各ジョブの識別情報が設定される「ジョブ」と、各ジョブの消費電力が設定される「消費電力」と、各情報を取得した時刻(S2の処理が行われた時刻)が設定される「取得時刻」とを項目として有する。
具体的に、図22に示す消費電力情報131において、1行目の情報は、「ジョブ」として「JOB15」が設定され、「消費電力」として「3200(W)」が設定され、「取得時刻」として「08:00:00」が設定されている。
また、図22に示す消費電力情報131において、2行目の情報は、「ジョブ」として「JOB15」が設定され、「消費電力」として「2400(W)」が設定され、「取得時刻」として「08:00:05」が設定されている。
さらに、図22に示す消費電力情報131において、3行目の情報は、「ジョブ」として「JOB15」が設定され、「消費電力」として「3600(W)」が設定され、「取得時刻」として「08:00:10」が設定されている。図22に含まれる他の情報のついての説明は省略する。
[ジョブ管理処理]
次に、ジョブスケジューリング処理のうち、ジョブの管理を行う処理(以下、ジョブ管理処理とも呼ぶ)について説明を行う。図15は、ジョブ管理処理を説明するフローチャート図である。
次に、ジョブスケジューリング処理のうち、ジョブの管理を行う処理(以下、ジョブ管理処理とも呼ぶ)について説明を行う。図15は、ジョブ管理処理を説明するフローチャート図である。
情報取得部111は、図15に示すように、例えば、操作端末2から送信されたジョブ(実行対象のジョブ)を受信するまで待機する(S11のNO)。具体的に、情報取得部111は、例えば、実行対象のジョブとともに最大実行時間と実行ノード数とを含むジョブ情報(図示しない)を受信するまで待機する。
そして、ジョブを受信した場合(S11のYES)、情報処理装置1の情報送信部117は、S11の処理で受信したジョブをジョブ実行装置3に送信する(S12)。
また、情報管理部112は、この場合、例えば、S11の処理で受信したジョブ情報(図示しない)をキューに格納する(S13)。
[基準決定処理]
次に、ジョブスケジューリング処理のうち、基準ノード数情報132を生成する処理(以下、基準決定処理とも呼ぶ)について説明を行う。図16及び図17は、基準決定処理を説明するフローチャート図である。
次に、ジョブスケジューリング処理のうち、基準ノード数情報132を生成する処理(以下、基準決定処理とも呼ぶ)について説明を行う。図16及び図17は、基準決定処理を説明するフローチャート図である。
情報処理装置1の基準決定部113は、図16に示すように、基準決定タイミングになるまで待機する(S21のNO)。基準決定タイミングは、例えば、1週間ごと等の定期的なタイミングであってよい。
そして、基準決定タイミングになった場合(S21のYES)、基準決定部113は、情報格納領域130に記憶された消費電力情報131を参照し、複数の実行済ジョブのそれぞれの実行時における平均消費電力情報131aを算出する(S22)。以下、平均消費電力情報131aの具体例について説明を行う。
[平均消費電力の具体例]
図23は、平均消費電力情報131aの具体例について説明する図である。
図23は、平均消費電力情報131aの具体例について説明する図である。
図23に示す平均消費電力情報131aは、各ジョブの識別情報が設定される「ジョブ」と、各ジョブの実行に用いられたノード数が設定される「実行ノード数」と、各ジョブの実行時における消費電力の平均値が設定される「平均消費電力」とを項目として有する。
具体的に、例えば、図22に示す消費電力情報131のうち、「ジョブ」に「JOB15」が設定された情報の「消費電力」に設定された値の平均値が「3150(W)」であった場合、基準決定部113は、図23に示すように、「ジョブ」に「JOB15」が設定されている情報(1行目の情報)の「平均消費電力」に「3150(W)」を設定する。そして、例えば、識別情報が「JOB15」であるジョブの実行に用いられたノード数(実行ノード数)が「20」であった場合、基準決定部113は、図23に示すように、「ジョブ」に「JOB15」が設定されている情報(1行目の情報)の「実行ノード数」に「20」を設定する。
また、例えば、図22に示す消費電力情報131のうち、「ジョブ」に「JOB19」が設定された情報の「消費電力」に設定された値の平均値が「2880(W)」であった場合、基準決定部113は、図23に示すように、「ジョブ」に「JOB19」が設定されている情報(2行目の情報)の「平均消費電力」に「2880(W)」を設定する。そして、例えば、「JOB19」の実行に用いられたノード数が「18」であった場合、基準決定部113は、図23に示すように、「ジョブ」に「JOB19」が設定されている情報(2行目の情報)の「実行ノード数」に「18」を設定する。図23に含まれる他の情報についての説明は省略する。
図16に戻り、基準決定部113は、複数の実行済ジョブを、各ジョブの実行に用いられたノード数の順に従って複数のグループに分割する(S23)。具体的に、基準決定部113は、例えば、複数の実行済ジョブの分割結果を示すグループ情報131bを生成する。以下、グループ情報131bの具体例について説明を行う。
[グループ情報の具体例]
図24は、グループ情報131bの具体例について説明する図である。
図24は、グループ情報131bの具体例について説明する図である。
図24に示すグループ情報131bは、ノード数についての各範囲が設定される「ノード数」と、各範囲に含まれるノード数を用いて実行を行ったジョブが設定される「ジョブ」とを項目として有する。
具体的に、例えば、S23の処理で実行済ジョブの分割を行うグループの数が「10」であって、図23で説明した平均消費電力情報131aに情報が含まれるジョブの数が「20」である場合、基準決定部113は、各グループに含まれるジョブの数として「2」を特定する。
そのため、基準決定部113は、例えば、図24の1行目に示すように、「ノード数」に「上位10%」が設定され、かつ、「ジョブ数」に「2」が設定された情報を1つ目のグループに対応する情報として設定する。
すなわち、図24の1行目に示す情報は、例えば、図23で説明した平均消費電力情報131aに情報が含まれるジョブのうち、「ノード数」に設定された値の大きさが上位10%である2つのジョブ(JOB15及びJOB11)が、1つ目のグループに含まれるジョブであることを示している。
また、基準決定部113は、例えば、図24の2行目に示すように、「ノード数」に「上位20%」が設定され、かつ、「ジョブ数」に「2」が設定された情報(2行目の情報)を2つ目のグループに対応する情報として設定する。
すなわち、図24の1行目に示す情報は、例えば、図23で説明した平均消費電力情報131aに情報が含まれるジョブのうち、「ノード数」に設定された値の大きさが上位10%から上位20%までの間である2つのジョブ(JOB19及びJOB18)が、2つ目のグループに含まれるジョブであることを示している。図24に含まれる他の情報についての説明は省略する。
図16に戻り、基準決定部113は、S23の処理で分割した複数のグループごとに、各グループに含まれるジョブに対応する平均消費電力情報131aにおける最大消費電力情報131aを特定する(S24)。以下、最大消費電力情報131cの具体例について説明を行う。
[最大消費電力情報の具体例]
図25は、最大消費電力情報131cの具体例について説明する図である。
図25は、最大消費電力情報131cの具体例について説明する図である。
図25に示す最大消費電力情報131cは、ノード数についての各範囲が設定される「ノード数」と、各範囲に含まれるノード数を用いて実行を行ったジョブの消費電力のうちの最大消費電力が設定される「最大消費電力」とを項目として有する。
具体的に、例えば、S23の処理において1つ目のグループに振り分けられたジョブが「JOB15」及び「JOB11」である場合、基準決定部113は、図23で説明した平均消費電力情報131aを参照し、「JOB15」及び「JOB11」のそれぞれに対応する「消費電力」である「3150(W)」及び「2850(W)」のうちの最大消費電力である「3150(W)」を特定する。そして、基準決定部113は、図25に示すように、「ノード数」に「上位10%」が設定された情報(1行目の情報)の「最大消費電力情報」に「3150(W)」を設定する。
また、例えば、S23の処理において2つ目のグループに振り分けられたジョブが「JOB19」及び「JOB18」である場合、基準決定部113は、図23で説明した平均消費電力情報131aを参照し、「JOB19」及び「JOB18」のそれぞれに対応する「消費電力」である「2880(W)」及び「2700(W)」のうちの最大消費電力である「2880(W)」を特定する。そして、基準決定部113は、図25に示すように、「ノード数」に「上位20%」が設定された情報(2行目の情報)の「最大消費電力情報」に「2880(W)」を設定する。図25に含まれる他の情報についての説明は省略する。
図16に戻り、基準決定部113は、情報格納領域130に記憶された消費電力情報131を参照し、ジョブ実行装置3における消費電力情報131にピーク値及び中央値を算出する(S25)。
そして、基準決定部113は、S25の処理で算出したピーク値からS25の処理で算出した中央値を減算することによって算出した値を基準値として特定する(S26)。
具体的に、基準決定部113は、例えば、S1の処理における消費電力情報131の取得タイミングごとに、各タイミングにおいて取得した消費電力情報131の合計値を、各タイミングにおけるジョブ実行装置3の全体としての消費電力情報131として算出する。そして、基準決定部113は、例えば、図26に示すように、算出したジョブ実行装置3の消費電力情報131の推移を示す時系列データPWaを生成する。その後、基準決定部113は、例えば、図26に示す時系列データPWaにおけるピーク値から中央値を減算して基準値を算出する。
続いて、基準決定部113は、図17に示すように、S23の処理で分割した複数のグループのうちの1つを、大きい数のノード数に対応するグループから順に取得する(S31)。
具体的に、基準決定部113は、初めに、S23の処理において「JOB15」及び「JOB11」が振り分けられた1つ目のグループを取得する。
さらに、基準決定部113は、S31の処理で取得したグループに対応する最大消費電力情報131cが、S26の処理で特定した基準値よりも大きいか否かを判定する(S32)。
その結果、S31の処理で取得したグループに対応する最大消費電力情報131cが、S26の処理で特定した基準値よりも大きいと判定した場合(S33のYES)、基準決定部113は、S31以降の処理を再度行う。
一方、S31の処理で取得したグループに対応する最大消費電力情報131cが、S26の処理で特定した基準値よりも大きくないと判定した場合(S33のNO)、基準決定部113は、S23の処理で分割した複数のグループのうち、S32の処理において最大消費電力情報131cが基準値よりも大きいと判定されたグループを特定する(S34)。
そして、基準決定部113は、この場合、S34の処理で特定したグループに対応するノード数のうちの最小のノード数を基準ノード数として特定する(S35)。
具体的に、例えば、図25で説明した最大消費電力情報131cにおける「最大消費電力」には、例えば、「ノード数」が「上位10%」、「上位20%」及び「上位30%」である情報の「最大消費電力」として、それぞれ「3150(W)」、「2880(W)」及び「2380(W)」が設定されている。また、図23で説明した平均消費電力情報131aにおいて、例えば、上位10%に対応するノード数が「20」及び「19」であり、上位10%から上位20%までの間に対応するノード数が「18」及び「17」である。そのため、例えば、S26の処理で特定した基準値が「2500(W)」である場合、基準決定部113は、例えば、「上位10%」及び「上位20%」のそれぞれに対応するノード数である「20」、「19」、「18」及び「17」のうちの最小のノードである「17」を基準ノード数として特定する。
すなわち、S24の処理で算出された最大消費電力情報131cに含まれる消費電力は、例えば、各グループに含まれるジョブのそれぞれの実行時における消費電力(ジョブ実行装置3の全体としての消費電力)の最大変位を示す情報であると判断できる。また、S25の処理で特定された基準値は、例えば、ジョブ実行装置3の全体としての消費電力についての過去(例えば、過去1か月)の最大変位を示す情報であると判断できる。
そのため、最大消費電力情報131cに含まれる消費電力が基準値よりも大きいと判断されたグループに対応するノード数を用いて実行されるジョブは、ジョブ実行装置3の消費電力についての過去の最大変位を超える電力を消費する可能性がある大規模ジョブであると判断することが可能である。
したがって、基準決定部113は、例えば、最大消費電力情報131cに含まれる消費電力が基準値よりも大きいと判断されたグループに対応する最小のノード数を、各ジョブが大規模ジョブであるか否かを判断する際の基準となる基準ノード数として特定する。
[予約管理処理]
次に、ジョブスケジューリング処理のうち、実行タイミングが予約されているジョブを示す情報である予約ジョブ情報134を生成する処理(以下、予約管理処理とも呼ぶ)について説明を行う。図18は、予約管理処理を説明するフローチャート図である。
次に、ジョブスケジューリング処理のうち、実行タイミングが予約されているジョブを示す情報である予約ジョブ情報134を生成する処理(以下、予約管理処理とも呼ぶ)について説明を行う。図18は、予約管理処理を説明するフローチャート図である。
情報取得部111は、図18に示すように、ジョブの予約要求を受信するまで待機する(S41のNO)。ジョブの予約要求は、例えば、作業者が操作端末2を介して送信する要求であって、ジョブの実行タイミングを予約するための要求である。
そして、ジョブの予約要求を受信した場合(S41のYES)、情報管理部112は、S41の処理で受信した予約要求に対応するジョブの実行ノード数が、S34の処理で特定した基準ノード数よりも大きいか否かについて判定する(S42)。
具体的に、情報管理部112は、情報格納領域130に記憶したジョブ情報(図示しない)を参照し、S41の処理で予約要求を受信したジョブの実行ノード数が、S34の処理で特定した基準ノード数よりも大きいか否かについての判定を行う。
その結果、S41の処理で受信した予約要求に対応するジョブの実行ノード数が、S34の処理で特定した基準ノード数よりも大きいと判定した場合(S43のYES)、情報管理部112は、S41の処理で受信した予約要求に対応するジョブを示す情報を予約ジョブ情報134として情報格納領域130に記憶する。
一方、S41の処理で受信した予約要求に対応するジョブの実行ノード数が、S34の処理で特定した基準ノード数よりも大きくないと判定した場合(S43のNO)、情報管理部112は、S44の処理を実行しない。
すなわち、情報管理部112は、例えば、S41の処理で受信した予約要求が大規模ジョブに対応する予約要求である場合に限り、S41の処理で受信した予約要求に対応するジョブを示す情報を予約ジョブ情報134として情報格納領域130に記憶する。以下、予約ジョブ情報134の具体例について説明を行う。
[予約ジョブ情報の具体例]
図27は、予約ジョブ情報134の具体例について説明する図である。
図27は、予約ジョブ情報134の具体例について説明する図である。
図27に示す予約ジョブ情報134は、各ジョブの識別情報が設定される「ジョブ」と、各ジョブの実行タイミングについての予約時刻が設定される「予約時刻」とを項目として有する。
具体的に、図27に示す予約ジョブ情報134において、1行目の情報には、「ジョブ」として「JOB21」が設定され、「予約時刻」として「15:00」が設定されている。
また、図27に示す予約ジョブ情報134において、2行目の情報には、「ジョブ」として「JOB22」が設定され、「予約時刻」として「15:30」が設定されている。
[ジョブスケジューリング処理のメイン処理]
次に、ジョブスケジューリング処理のメイン処理について説明を行う。図19及び図20は、ジョブスケジューリング処理のメイン処理を説明するフローチャート図である。
次に、ジョブスケジューリング処理のメイン処理について説明を行う。図19及び図20は、ジョブスケジューリング処理のメイン処理を説明するフローチャート図である。
情報取得部111は、図19に示すように、スケジューリング実行タイミングになるまで待機する(S51のNO)。スケジューリング実行タイミングは、例えば、ジョブ実行装置3においてジョブの実行が開始されたタイミングまたはジョブの実行が終了したタイミングであってよい。
そして、スケジューリング実行タイミングになった場合(S51のYES)、情報取得部111は、各ノードにおけるジョブの実行状況情報133を取得する(S52)。以下、ジョブの実行状況情報133の具体例について説明を行う。
[実行状況情報の具体例]
図28は、実行状況情報133の具体例について説明する図である。
図28は、実行状況情報133の具体例について説明する図である。
図28に示す実行状況情報133は、各ノードの識別情報が設定される「ノード」と、各ノードにおいて実行中のジョブの識別情報が設定される「実行状況」とを項目として有する。
具体的に、図28に示す実行状況情報133において、例えば、1行目の情報には、「ノード」として「1」が設定されており、「実行状況」として「JOB08」が設定されている。また、図28に示す実行状況情報133において、例えば、2行目の情報には、「ノード」として「2」が設定されており、「実行状況」として「JOB08」が設定されている。
すなわち、図28に示す実行状況情報133は、JOB08が複数のノードに跨って実行されていることを示している。図28に含まれる他の情報についての説明は省略する。
図19に戻り、スケジューリング部115は、例えば、キューに対する各ジョブの格納順序に従って、キューに情報が格納された各ジョブの実行順序を決定する(S53)。
そして、スケジューリング部115は、キューに含まれるジョブから、情報格納領域130に記憶された予約ジョブ情報134に情報が含まれるジョブを抽出する(S54)。
その結果、S54の処理においてジョブの抽出が行われた場合(S55のYES)、スケジューリング部115は、情報格納領域130に記憶された予約ジョブ情報134を参照し、S54の処理で抽出したジョブの実行タイミングについてスケジューリングを行う。
一方、S54の処理においてジョブの抽出が行われなかった場合(S55のNO)、スケジューリング部115は、S56の処理を行わない。
すなわち、スケジューリング部115は、予約ジョブ情報134に情報が含まれているジョブ(大規模ジョブ)の実行タイミングを他のジョブよりも優先して決定する。
そして、スケジューリング部115は、図20に示すように、S53の処理で実行順序を決定したジョブのうち、未取得のジョブであって実行順序が先頭であるジョブを1つ取得する(S61)。
続いて、スケジューリング部115は、S52の処理で取得した実行状況情報133を参照し、S61の処理で取得したジョブの実行タイミングについてスケジューリングを行う(S62)。
具体的に、スケジューリング部115は、例えば、図28で説明した実行状況情報133を参照し、識別情報が「1」であるノードを含む複数のノードにおいてJOB08が実行されていると判定する。また、スケジューリング部115は、例えば、図28で説明した実行状況情報133を参照し、識別情報が「7」であるノードを含む複数のノードにおいてJOB13が実行されていると判定する。
そして、スケジューリング部115は、JOB08及びJOB13を含む実行中のジョブのそれぞれについてのジョブ情報(図示しない)に含まれる最大実行時間を参照し、各ジョブの実行終了までに要する予測時間を算出する。さらに、スケジューリング部115は、各ジョブの実行終了までに要する予測時間から、各ノードにおいて未実行のジョブのスケジューリングを行うことが可能な予測時間(以下、スケジューリング可能時間とも呼ぶ)を特定する。その後、スケジューリング部115は、例えば、図5及び図6で説明した場合と同様に、スケジュール可能時間のうち、S61の処理で取得したジョブの実行が可能な時間において、S61の処理で取得したジョブのスケジューリングを行う。
その後、スケジューリング部115は、S61の処理において全てのジョブを取得したか否かを判定する(S63)。
その結果、S61の処理において全てのジョブを取得していないと判定した場合(S63のNO)、スケジューリング部115は、S61以降の処理を再度行う。
一方、S61の処理において全てのジョブを取得したと判定した場合(S63のYES)、スケジューリング部115は、S62の処理で行われたスケジューリングの結果を示すスケジュール情報135を生成する(S64)。
これにより、スケジューリング部115は、大規模ジョブについての実行タイミングの決定を他のジョブの実行タイミングの決定よりも優先させたジョブスケジューリングを行うことが可能になる。
そして、情報送信部117は、S64の処理で生成したスケジュール情報135をジョブ実行装置3に送信する(S65)。以下、スケジュール情報135の具体例について説明を行う。
[スケジュール情報の具体例]
図29は、スケジュール情報135の具体例について説明する図である。
図29は、スケジュール情報135の具体例について説明する図である。
図29に示すスケジュール情報135は、各ジョブの識別情報が設定される「ジョブ」と、各ジョブの実行タイミングが設定される「実行タイミング」と、各ジョブの実行ノードの識別情報が設定される「実行ノード」とを項目として有する。
具体的に、図29に示すスケジュール情報135において、「ジョブ」が「JOB21」である情報(1行目の情報)には、「実行タイミング」として「15:00」が設定され、「実行ノード」として「1−8」が設定されている。
また、図29に示すスケジュール情報135において、「ジョブ」が「JOB22」である情報(2行目の情報)には、「実行タイミング」として「15:30」が設定され、「実行ノード」として「1−24」が設定されている。図29に含まれる他の情報についての説明は省略する。
[空調制御処理]
次に、ジョブスケジューリング処理のうち、空調設備4の制御を行う処理(以下、空調制御処理とも呼ぶ)について説明を行う。図21は、予約管理処理を説明するフローチャート図である。
次に、ジョブスケジューリング処理のうち、空調設備4の制御を行う処理(以下、空調制御処理とも呼ぶ)について説明を行う。図21は、予約管理処理を説明するフローチャート図である。
情報処理装置1の空調制御部116は、図21に示すように、ジョブのスケジューリングが終了するまで待機する(S71のNO)。具体的に、空調制御部116は、例えば、図19及び図20で説明したジョブスケジューリング処理のメイン処理が終了するまで待機する。
そして、ジョブのスケジューリングが終了した場合(S71のYES)、空調制御部116は、S62の処理で行われたスケジューリングに対応する時間帯のうち、S54の処理で特定したジョブの実行タイミングを含む時間帯における冷熱量が他の時間帯よりも多くなるように、空調設備4の制御スケジュールを示す情報(以下、制御スケジュール情報とも呼ぶ)を生成する(S72)。
具体的に、空調制御部116は、例えば、情報格納領域130に記憶した消費電力情報131を参照し、S54の処理で特定したジョブと同じノード数に対応するジョブの実行に要した消費電力量を特定する。そして、空調制御部116は、例えば、S54の処理で特定したジョブの実行タイミングを含む時間帯における冷熱量が、S54の処理で特定したジョブの実行に要する消費電力量(熱量)と等しくなるように、空調設備4の制御スケジュール情報を生成する。
なお、空調制御部116は、各ジョブの消費電力量を予測する機械学習モデルを用いることによって、S54の処理で特定したジョブの実行に要する消費電力量(熱量)を取得するものであってもよい。
その後、情報送信部117は、S72の処理で生成した制御スケジュール情報を空調設備4に送信する(S73)。以下、本実施の形態における空調設備4の制御スケジュールについての具体例について説明を行う。
[空調設備の制御スケジュールについての具体例]
図30は、空調設備の制御スケジュールについて説明する図である。図30に示す例における横軸及び縦軸は、各ジョブの実行が行われる時間及び空調設備4が出力する冷熱量のそれぞれを示している。
図30は、空調設備の制御スケジュールについて説明する図である。図30に示す例における横軸及び縦軸は、各ジョブの実行が行われる時間及び空調設備4が出力する冷熱量のそれぞれを示している。
具体的に、図30に示す時系列データ(制御スケジュール)PWbは、例えば、図27で説明した予約ジョブ情報134に情報が含まれる大規模ジョブである「JOB21」が実行されたタイミング(時刻11)と、「JOB22」が実行されたタイミング(時刻12)とにおいて、ジョブ実行装置3における消費電力情報131が大きくなることを示している。
そして、情報処理装置1は、この場合、図30の時系列データPWbに示すように、時刻11から「JOB21」の実行時間(最大実行時間)が経過するまでの時間帯における冷熱量を、「JOB21」の実行時における建屋内の温度の上昇を抑えることが可能な冷熱量(以下、第1冷熱量とも呼ぶ)に決定する。また、情報処理装置1は、図30の時系列データPWbに示すように、時刻12から「JOB22」の実行時間(最大実行時間)が経過するまでの時間帯における冷熱量を、「JOB22」の実行時における建屋内の温度の上昇を抑えることが可能な冷熱量(以下、第2冷熱量とも呼ぶ)に決定する。さらに、情報処理装置1は、図30の時系列データPWbに示すように時刻11から「JOB21」の実行時間が経過するまでの時間帯及び時刻12から「JOB22」の実行時間が経過するまでの時間帯以外の時間帯における冷熱量を、ジョブ実行装置3の消費電力が中央値(S25の処理で算出された中央値)である場合における建屋内の温度の上昇を抑えることが可能な冷熱量(第1冷熱量及び第2冷熱量よりも小さい冷熱量)に決定する。
これにより、空調設備4は、図30に示す時系列データPWbに従って冷熱量の設定変更等を行うことで、大規模ジョブの実行タイミングにおいて必要な冷熱量を出力することが可能になる。
また、空調設備4は、図30に示す時系列データPWbに従って冷熱量の設定変更等を行うことで、大規模ジョブの実行タイミングに対応する冷熱量を常に出力する必要がなくなる。そのため、情報処理装置1は、空調設備4における消費電力を抑えることが可能になる。
さらに、情報処理装置1は、空調設備4の制御スケジュールの変更ができないタイミングにおいてジョブの再スケジューリングが行われた場合であっても、各ジョブの実際の実行タイミングと空調設備4の制御スケジュールとの乖離の発生を防ぐことが可能になる。
このように、本実施の形態における情報処理装置1は、過去に実行された複数の実行済ジョブの実行に要した消費電力と、複数の実行済ジョブの実行に用いられたノード数とに基づいて、複数の実行済ジョブの実行に用いられたノード数に含まれる複数のノード数ごとに、各ノード数がジョブの実行に用いられた際に要した消費電力を特定する。
そして、情報処理装置1は、複数のノード数のうち、特定した消費電力が、複数の実行済ジョブの実行を行ったジョブ実行装置の消費電力に基づいて算出された所定の閾値よりも大きい特定のノード数を特定する。さらに、情報処理装置1は、複数の実行対象ジョブのうち、実行に用いられるノード数が特定のノード数以上である特定のジョブを特定する。
その後、情報処理装置1は、特定した特定のジョブの実行タイミングが予め指定された時間帯になるように、複数の実行対象ジョブの実行タイミングを決定する。
すなわち、本実施の形態における情報処理装置1は、各ジョブの実行タイミングについてのスケジューリングを行う際に、大規模ジョブについての実行タイミングを、予め指定された時間帯(例えば、作業者が予め指定した時間帯)に固定する。そして、情報処理装置1は、例えば、大規模ジョブよりも前に実行されるジョブの実行完了時間が当初の予定よりも前倒しになった場合であっても、大規模ジョブの実行タイミングの前倒しを行わない。
これにより、本実施の形態における情報処理装置1は、各ジョブの実行時におけるジョブ実行装置3の消費電力の推移が、各ジョブの実行タイミングに基づいて予め行われた予測から大きく変わることを防止することが可能になる。そのため、情報処理装置1は、各ジョブの実際の実行タイミングと空調設備4の制御スケジュールとの乖離の発生を防ぐことが可能になる。したがって、情報処理装置1は、大規模ジョブ以外のジョブの実行タイミングについての再スケジューリングを許容しつつ、ジョブ実行装置3が配備された建屋内の温度を適切に調整することが可能になる。
また、情報処理装置1は、大規模ジョブの実行タイミングを予め固定することで、大規模ジョブの実行タイミング以外の時間帯(大規模ジョブ以外のジョブの実行タイミング)において、空調設備4から出力される冷熱量を抑えることが可能になる。そのため、情報処理装置1は、空調設備4における消費電力を抑えることが可能になる。
以上の実施の形態をまとめると、以下の付記のとおりである。
(付記1)
複数の実行対象ジョブの実行タイミングについてのスケジューリングを行う処理をコンピュータに実行させるジョブスケジューリングプログラムであって、
過去に実行された複数の実行済ジョブの実行に要した消費電力と、前記複数の実行済ジョブの実行に用いられたノード数とに基づいて、前記複数の実行済ジョブの実行に用いられたノード数に含まれる複数のノード数ごとに、各ノード数がジョブの実行に用いられた際に要した前記消費電力を特定し、
前記複数のノード数のうち、特定した前記消費電力が、前記複数の実行済ジョブの実行を行ったジョブ実行装置の消費電力に基づいて算出された所定の閾値よりも大きい特定のノード数を特定し、
前記複数の実行対象ジョブのうち、実行に用いられるノード数が前記特定のノード数以上である特定のジョブを特定し、
特定した前記特定のジョブの実行タイミングが指定された時間帯になるように、前記複数の実行対象ジョブの実行タイミングを決定する、
処理をコンピュータに実行させることを特徴とするジョブスケジューリングプログラム。
複数の実行対象ジョブの実行タイミングについてのスケジューリングを行う処理をコンピュータに実行させるジョブスケジューリングプログラムであって、
過去に実行された複数の実行済ジョブの実行に要した消費電力と、前記複数の実行済ジョブの実行に用いられたノード数とに基づいて、前記複数の実行済ジョブの実行に用いられたノード数に含まれる複数のノード数ごとに、各ノード数がジョブの実行に用いられた際に要した前記消費電力を特定し、
前記複数のノード数のうち、特定した前記消費電力が、前記複数の実行済ジョブの実行を行ったジョブ実行装置の消費電力に基づいて算出された所定の閾値よりも大きい特定のノード数を特定し、
前記複数の実行対象ジョブのうち、実行に用いられるノード数が前記特定のノード数以上である特定のジョブを特定し、
特定した前記特定のジョブの実行タイミングが指定された時間帯になるように、前記複数の実行対象ジョブの実行タイミングを決定する、
処理をコンピュータに実行させることを特徴とするジョブスケジューリングプログラム。
(付記2)
付記1において、
前記消費電力を特定する処理では、
前記複数の実行済ジョブを、各ジョブの実行に用いられたノード数の順に従って複数のグループに分割し、
分割した前記複数のグループごとに、各グループに含まれるジョブの実行に用いられた消費電力に含まれる特定の消費電力を特定し、
前記特定のノード数を特定する処理では、前記複数のグループのうち、前記特定の消費電力が前記所定の閾値よりも大きいグループであって前記所定の閾値に最も近い特定のグループを特定し、
前記特定のジョブを特定する処理では、前記複数の実行対象ジョブのうち、前記特定のグループに含まれる最小のノード数以上のノードにおいて実行が行われるジョブを前記特定のジョブとして特定する、
ことを特徴とするジョブスケジューリングプログラム。
付記1において、
前記消費電力を特定する処理では、
前記複数の実行済ジョブを、各ジョブの実行に用いられたノード数の順に従って複数のグループに分割し、
分割した前記複数のグループごとに、各グループに含まれるジョブの実行に用いられた消費電力に含まれる特定の消費電力を特定し、
前記特定のノード数を特定する処理では、前記複数のグループのうち、前記特定の消費電力が前記所定の閾値よりも大きいグループであって前記所定の閾値に最も近い特定のグループを特定し、
前記特定のジョブを特定する処理では、前記複数の実行対象ジョブのうち、前記特定のグループに含まれる最小のノード数以上のノードにおいて実行が行われるジョブを前記特定のジョブとして特定する、
ことを特徴とするジョブスケジューリングプログラム。
(付記3)
付記2において、
前記特定の消費電力を特定する処理では、前記複数のグループごとに、各グループに含まれるジョブの実行に用いられた消費電力のうちの最大の消費電力を前記特定の消費電力として特定する、
ことを特徴とするジョブスケジューリングプログラム。
付記2において、
前記特定の消費電力を特定する処理では、前記複数のグループごとに、各グループに含まれるジョブの実行に用いられた消費電力のうちの最大の消費電力を前記特定の消費電力として特定する、
ことを特徴とするジョブスケジューリングプログラム。
(付記4)
付記1において、
前記特定のノード数を特定する処理では、前記複数の実行済ジョブの実行を行ったジョブ実行装置の消費電力の所定時間内における中央値に基づいて、前記所定の閾値を算出する、
ことを特徴とするジョブスケジューリングプログラム。
付記1において、
前記特定のノード数を特定する処理では、前記複数の実行済ジョブの実行を行ったジョブ実行装置の消費電力の所定時間内における中央値に基づいて、前記所定の閾値を算出する、
ことを特徴とするジョブスケジューリングプログラム。
(付記5)
付記4において、
前記特定のノード数を特定する処理では、前記ジョブ実行装置の消費電力の前記所定時間内におけるピーク値から前記中央値を減算して算出された値を、前記所定の閾値として算出する、
ことを特徴とするジョブスケジューリングプログラム。
付記4において、
前記特定のノード数を特定する処理では、前記ジョブ実行装置の消費電力の前記所定時間内におけるピーク値から前記中央値を減算して算出された値を、前記所定の閾値として算出する、
ことを特徴とするジョブスケジューリングプログラム。
(付記6)
付記1において、さらに、
前記複数の実行対象ジョブの実行タイミングを含む時間帯のうち、前記特定のジョブの実行タイミングを含む時間帯における冷熱量が他の時間帯よりも多くなるように、前記複数の実行対象ジョブの実行タイミングを含む時間帯において前記ジョブ実行装置に対して出力する冷熱量を決定する、
処理をコンピュータに実行させることを特徴とするジョブスケジューリングプログラム。
付記1において、さらに、
前記複数の実行対象ジョブの実行タイミングを含む時間帯のうち、前記特定のジョブの実行タイミングを含む時間帯における冷熱量が他の時間帯よりも多くなるように、前記複数の実行対象ジョブの実行タイミングを含む時間帯において前記ジョブ実行装置に対して出力する冷熱量を決定する、
処理をコンピュータに実行させることを特徴とするジョブスケジューリングプログラム。
(付記7)
複数の実行対象ジョブの実行タイミングについてのスケジューリングを行う情報処理装置であって、
過去に実行された複数の実行済ジョブの実行に要した消費電力と、前記複数の実行済ジョブの実行に用いられたノード数とに基づいて、前記複数の実行済ジョブの実行に用いられたノード数に含まれる複数のノード数ごとに、各ノード数がジョブの実行に用いられた際に要した前記消費電力を特定し、前記複数のノード数のうち、特定した前記消費電力が、前記複数の実行済ジョブの実行を行ったジョブ実行装置の消費電力に基づいて算出された所定の閾値よりも大きい特定のノード数を特定する基準決定部と、
前記複数の実行対象ジョブのうち、実行に用いられるノード数が前記特定のノード数以上である特定のジョブを特定するジョブ特定部と、
特定した前記特定のジョブの実行タイミングが指定された時間帯になるように、前記複数の実行対象ジョブの実行タイミングを決定するスケジューリング部と、を有する、
ことを特徴とする情報処理装置。
複数の実行対象ジョブの実行タイミングについてのスケジューリングを行う情報処理装置であって、
過去に実行された複数の実行済ジョブの実行に要した消費電力と、前記複数の実行済ジョブの実行に用いられたノード数とに基づいて、前記複数の実行済ジョブの実行に用いられたノード数に含まれる複数のノード数ごとに、各ノード数がジョブの実行に用いられた際に要した前記消費電力を特定し、前記複数のノード数のうち、特定した前記消費電力が、前記複数の実行済ジョブの実行を行ったジョブ実行装置の消費電力に基づいて算出された所定の閾値よりも大きい特定のノード数を特定する基準決定部と、
前記複数の実行対象ジョブのうち、実行に用いられるノード数が前記特定のノード数以上である特定のジョブを特定するジョブ特定部と、
特定した前記特定のジョブの実行タイミングが指定された時間帯になるように、前記複数の実行対象ジョブの実行タイミングを決定するスケジューリング部と、を有する、
ことを特徴とする情報処理装置。
(付記8)
付記7において、
前記基準決定部は、
前記複数の実行済ジョブを、各ジョブの実行に用いられたノード数の順に従って複数のグループに分割し、
分割した前記複数のグループごとに、各グループに含まれるジョブの実行に用いられた消費電力に含まれる特定の消費電力を特定し、
前記複数のグループのうち、前記特定の消費電力が前記所定の閾値よりも大きいグループであって前記所定の閾値に最も近い特定のグループを特定し、
前記ジョブ特定部は、前記複数の実行対象ジョブのうち、前記特定のグループに含まれる最小のノード数以上のノードにおいて実行が行われるジョブを前記特定のジョブとして特定する、
ことを特徴とする情報処理装置。
付記7において、
前記基準決定部は、
前記複数の実行済ジョブを、各ジョブの実行に用いられたノード数の順に従って複数のグループに分割し、
分割した前記複数のグループごとに、各グループに含まれるジョブの実行に用いられた消費電力に含まれる特定の消費電力を特定し、
前記複数のグループのうち、前記特定の消費電力が前記所定の閾値よりも大きいグループであって前記所定の閾値に最も近い特定のグループを特定し、
前記ジョブ特定部は、前記複数の実行対象ジョブのうち、前記特定のグループに含まれる最小のノード数以上のノードにおいて実行が行われるジョブを前記特定のジョブとして特定する、
ことを特徴とする情報処理装置。
(付記9)
付記7において、
前記複数の実行済ジョブの実行を行ったジョブ実行装置の消費電力の所定時間内における中央値に基づいて、前記所定の閾値を算出する、
ことを特徴とする情報処理装置。
付記7において、
前記複数の実行済ジョブの実行を行ったジョブ実行装置の消費電力の所定時間内における中央値に基づいて、前記所定の閾値を算出する、
ことを特徴とする情報処理装置。
(付記10)
付記7において、
前記複数の実行対象ジョブの実行タイミングを含む時間帯のうち、前記特定のジョブの実行タイミングを含む時間帯における冷熱量が他の時間帯よりも多くなるように、前記複数の実行対象ジョブの実行タイミングを含む時間帯において前記ジョブ実行装置に対して出力する冷熱量を決定する空調制御部を有する、
ことを特徴とする情報処理装置。
付記7において、
前記複数の実行対象ジョブの実行タイミングを含む時間帯のうち、前記特定のジョブの実行タイミングを含む時間帯における冷熱量が他の時間帯よりも多くなるように、前記複数の実行対象ジョブの実行タイミングを含む時間帯において前記ジョブ実行装置に対して出力する冷熱量を決定する空調制御部を有する、
ことを特徴とする情報処理装置。
(付記11)
複数の実行対象ジョブの実行タイミングについてのスケジューリングを行う処理をコンピュータに実行させるジョブスケジューリング方法であって、
過去に実行された複数の実行済ジョブの実行に要した消費電力と、前記複数の実行済ジョブの実行に用いられたノード数とに基づいて、前記複数の実行済ジョブの実行に用いられたノード数に含まれる複数のノード数ごとに、各ノード数がジョブの実行に用いられた際に要した前記消費電力を特定し、
前記複数のノード数のうち、特定した前記消費電力が、前記複数の実行済ジョブの実行を行ったジョブ実行装置の消費電力に基づいて算出された所定の閾値よりも大きい特定のノード数を特定し、
前記複数の実行対象ジョブのうち、実行に用いられるノード数が前記特定のノード数以上である特定のジョブを特定し、
特定した前記特定のジョブの実行タイミングが指定された時間帯になるように、前記複数の実行対象ジョブの実行タイミングを決定する、
処理をコンピュータに実行させることを特徴とするジョブスケジューリング方法。
複数の実行対象ジョブの実行タイミングについてのスケジューリングを行う処理をコンピュータに実行させるジョブスケジューリング方法であって、
過去に実行された複数の実行済ジョブの実行に要した消費電力と、前記複数の実行済ジョブの実行に用いられたノード数とに基づいて、前記複数の実行済ジョブの実行に用いられたノード数に含まれる複数のノード数ごとに、各ノード数がジョブの実行に用いられた際に要した前記消費電力を特定し、
前記複数のノード数のうち、特定した前記消費電力が、前記複数の実行済ジョブの実行を行ったジョブ実行装置の消費電力に基づいて算出された所定の閾値よりも大きい特定のノード数を特定し、
前記複数の実行対象ジョブのうち、実行に用いられるノード数が前記特定のノード数以上である特定のジョブを特定し、
特定した前記特定のジョブの実行タイミングが指定された時間帯になるように、前記複数の実行対象ジョブの実行タイミングを決定する、
処理をコンピュータに実行させることを特徴とするジョブスケジューリング方法。
(付記12)
付記11において、
前記消費電力を特定する処理では、
前記複数の実行済ジョブを、各ジョブの実行に用いられたノード数の順に従って複数のグループに分割し、
分割した前記複数のグループごとに、各グループに含まれるジョブの実行に用いられた消費電力に含まれる特定の消費電力を特定し、
前記特定のノード数を特定する処理では、前記複数のグループのうち、前記特定の消費電力が前記所定の閾値よりも大きいグループであって前記所定の閾値に最も近い特定のグループを特定し、
前記特定のジョブを特定する処理では、前記複数の実行対象ジョブのうち、前記特定のグループに含まれる最小のノード数以上のノードにおいて実行が行われるジョブを前記特定のジョブとして特定する、
ことを特徴とするジョブスケジューリング方法。
付記11において、
前記消費電力を特定する処理では、
前記複数の実行済ジョブを、各ジョブの実行に用いられたノード数の順に従って複数のグループに分割し、
分割した前記複数のグループごとに、各グループに含まれるジョブの実行に用いられた消費電力に含まれる特定の消費電力を特定し、
前記特定のノード数を特定する処理では、前記複数のグループのうち、前記特定の消費電力が前記所定の閾値よりも大きいグループであって前記所定の閾値に最も近い特定のグループを特定し、
前記特定のジョブを特定する処理では、前記複数の実行対象ジョブのうち、前記特定のグループに含まれる最小のノード数以上のノードにおいて実行が行われるジョブを前記特定のジョブとして特定する、
ことを特徴とするジョブスケジューリング方法。
(付記13)
付記11において、
前記特定のノード数を特定する処理では、前記複数の実行済ジョブの実行を行ったジョブ実行装置の消費電力の所定時間内における中央値に基づいて、前記所定の閾値を算出する、
ことを特徴とするジョブスケジューリング方法。
付記11において、
前記特定のノード数を特定する処理では、前記複数の実行済ジョブの実行を行ったジョブ実行装置の消費電力の所定時間内における中央値に基づいて、前記所定の閾値を算出する、
ことを特徴とするジョブスケジューリング方法。
1:情報処理装置 2:操作端末
3:ジョブ実行装置 4:空調設備
10:情報処理システム
3:ジョブ実行装置 4:空調設備
10:情報処理システム
Claims (9)
- 複数の実行対象ジョブの実行タイミングについてのスケジューリングを行う処理をコンピュータに実行させるジョブスケジューリングプログラムであって、
過去に実行された複数の実行済ジョブの実行に要した消費電力と、前記複数の実行済ジョブの実行に用いられたノード数とに基づいて、前記複数の実行済ジョブの実行に用いられたノード数に含まれる複数のノード数ごとに、各ノード数がジョブの実行に用いられた際に要した前記消費電力を特定し、
前記複数のノード数のうち、特定した前記消費電力が、前記複数の実行済ジョブの実行を行ったジョブ実行装置の消費電力に基づいて算出された所定の閾値よりも大きい特定のノード数を特定し、
前記複数の実行対象ジョブのうち、実行に用いられるノード数が前記特定のノード数以上である特定のジョブを特定し、
特定した前記特定のジョブの実行タイミングが指定された時間帯になるように、前記複数の実行対象ジョブの実行タイミングを決定する、
処理をコンピュータに実行させることを特徴とするジョブスケジューリングプログラム。 - 請求項1において、
前記消費電力を特定する処理では、
前記複数の実行済ジョブを、各ジョブの実行に用いられたノード数の順に従って複数のグループに分割し、
分割した前記複数のグループごとに、各グループに含まれるジョブの実行に用いられた消費電力に含まれる特定の消費電力を特定し、
前記特定のノード数を特定する処理では、前記複数のグループのうち、前記特定の消費電力が前記所定の閾値よりも大きいグループであって前記所定の閾値に最も近い特定のグループを特定し、
前記特定のジョブを特定する処理では、前記複数の実行対象ジョブのうち、前記特定のグループに含まれる最小のノード数以上のノードにおいて実行が行われるジョブを前記特定のジョブとして特定する、
ことを特徴とするジョブスケジューリングプログラム。 - 請求項2において、
前記特定の消費電力を特定する処理では、前記複数のグループごとに、各グループに含まれるジョブの実行に用いられた消費電力のうちの最大の消費電力を前記特定の消費電力として特定する、
ことを特徴とするジョブスケジューリングプログラム。 - 請求項1において、
前記特定のノード数を特定する処理では、前記複数の実行済ジョブの実行を行ったジョブ実行装置の消費電力の所定時間内における中央値に基づいて、前記所定の閾値を算出する、
ことを特徴とするジョブスケジューリングプログラム。 - 請求項4において、
前記特定のノード数を特定する処理では、前記ジョブ実行装置の消費電力の前記所定時間内におけるピーク値から前記中央値を減算して算出された値を、前記所定の閾値として算出する、
ことを特徴とするジョブスケジューリングプログラム。 - 請求項1において、さらに、
前記複数の実行対象ジョブの実行タイミングを含む時間帯のうち、前記特定のジョブの実行タイミングを含む時間帯における冷熱量が他の時間帯よりも多くなるように、前記複数の実行対象ジョブの実行タイミングを含む時間帯において前記ジョブ実行装置に対して出力する冷熱量を決定する、
処理をコンピュータに実行させることを特徴とするジョブスケジューリングプログラム。 - 複数の実行対象ジョブの実行タイミングについてのスケジューリングを行う情報処理装置であって、
過去に実行された複数の実行済ジョブの実行に要した消費電力と、前記複数の実行済ジョブの実行に用いられたノード数とに基づいて、前記複数の実行済ジョブの実行に用いられたノード数に含まれる複数のノード数ごとに、各ノード数がジョブの実行に用いられた際に要した前記消費電力を特定し、前記複数のノード数のうち、特定した前記消費電力が、前記複数の実行済ジョブの実行を行ったジョブ実行装置の消費電力に基づいて算出された所定の閾値よりも大きい特定のノード数を特定する基準決定部と、
前記複数の実行対象ジョブのうち、実行に用いられるノード数が前記特定のノード数以上である特定のジョブを特定するジョブ特定部と、
特定した前記特定のジョブの実行タイミングが指定された時間帯になるように、前記複数の実行対象ジョブの実行タイミングを決定するスケジューリング部と、を有する、
ことを特徴とする情報処理装置。 - 請求項7において、
前記複数の実行対象ジョブの実行タイミングを含む時間帯のうち、前記特定のジョブの実行タイミングを含む時間帯における冷熱量が他の時間帯よりも多くなるように、前記複数の実行対象ジョブの実行タイミングを含む時間帯において前記ジョブ実行装置に対して出力する冷熱量を決定する空調制御部を有する、
ことを特徴とする情報処理装置。 - 複数の実行対象ジョブの実行タイミングについてのスケジューリングを行う処理をコンピュータに実行させるジョブスケジューリング方法であって、
過去に実行された複数の実行済ジョブの実行に要した消費電力と、前記複数の実行済ジョブの実行に用いられたノード数とに基づいて、前記複数の実行済ジョブの実行に用いられたノード数に含まれる複数のノード数ごとに、各ノード数がジョブの実行に用いられた際に要した前記消費電力を特定し、
前記複数のノード数のうち、特定した前記消費電力が、前記複数の実行済ジョブの実行を行ったジョブ実行装置の消費電力に基づいて算出された所定の閾値よりも大きい特定のノード数を特定し、
前記複数の実行対象ジョブのうち、実行に用いられるノード数が前記特定のノード数以上である特定のジョブを特定し、
特定した前記特定のジョブの実行タイミングが指定された時間帯になるように、前記複数の実行対象ジョブの実行タイミングを決定する、
処理をコンピュータに実行させることを特徴とするジョブスケジューリング方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020096121A JP2021189885A (ja) | 2020-06-02 | 2020-06-02 | ジョブスケジューリングプログラム、情報処理装置及びジョブスケジューリング方法 |
US17/216,734 US20210374652A1 (en) | 2020-06-02 | 2021-03-30 | Storage medium, job scheduling device, and job scheduling method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020096121A JP2021189885A (ja) | 2020-06-02 | 2020-06-02 | ジョブスケジューリングプログラム、情報処理装置及びジョブスケジューリング方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2021189885A true JP2021189885A (ja) | 2021-12-13 |
Family
ID=78705142
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020096121A Withdrawn JP2021189885A (ja) | 2020-06-02 | 2020-06-02 | ジョブスケジューリングプログラム、情報処理装置及びジョブスケジューリング方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20210374652A1 (ja) |
JP (1) | JP2021189885A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023148983A1 (ja) * | 2022-02-07 | 2023-08-10 | 日本電信電話株式会社 | 電力トポロジ推定装置、電力トポロジ推定方法及びプログラム |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4695942A (en) * | 1985-03-08 | 1987-09-22 | Honeywell Inc. | Manual switch for altering a parameter in opposite directions based on length of time of switch actuation |
US8234876B2 (en) * | 2003-10-15 | 2012-08-07 | Ice Energy, Inc. | Utility managed virtual power plant utilizing aggregated thermal energy storage |
CN104937378B (zh) * | 2013-01-09 | 2017-05-17 | 西门子工业公司 | 基于在单点处的电力测量的分析的电负载标注后期分项 |
US10663185B2 (en) * | 2016-07-07 | 2020-05-26 | Enerallies, Inc. | Forecast-based automatic scheduling of a distributed network of thermostats with learned adjustment |
-
2020
- 2020-06-02 JP JP2020096121A patent/JP2021189885A/ja not_active Withdrawn
-
2021
- 2021-03-30 US US17/216,734 patent/US20210374652A1/en not_active Abandoned
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023148983A1 (ja) * | 2022-02-07 | 2023-08-10 | 日本電信電話株式会社 | 電力トポロジ推定装置、電力トポロジ推定方法及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
US20210374652A1 (en) | 2021-12-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6591262B1 (en) | Collaborative workload management incorporating work unit attributes in resource allocation | |
Hirales-Carbajal et al. | Multiple workflow scheduling strategies with user run time estimates on a grid | |
US8856791B2 (en) | Method and system for operating in hard real time | |
JP2008165798A (ja) | データ処理装置におけるプロセッサの性能管理 | |
US9286107B2 (en) | Information processing system for scheduling jobs, job management apparatus for scheduling jobs, program for scheduling jobs, and method for scheduling jobs | |
JPWO2005106623A1 (ja) | Cpuクロック制御装置、cpuクロック制御方法、cpuクロック制御プログラム、記録媒体、及び伝送媒体 | |
JP2010117760A (ja) | 仮想マシン移動管理サーバおよび仮想マシン移動方法 | |
Żotkiewicz et al. | Minimum dependencies energy-efficient scheduling in data centers | |
US20140137122A1 (en) | Modified backfill scheduler and a method employing frequency control to reduce peak cluster power requirements | |
US8769542B2 (en) | System for adaptive lot sizing in cellular manufacturing for balancing workloads across multiple cells using split-then-merge operations and earliest completion route algorithm | |
JP2009528649A (ja) | 分散コンピューティングに関する改良 | |
Genez et al. | Using time discretization to schedule scientific workflows in multiple cloud providers | |
JP5155699B2 (ja) | 情報処理装置、情報処理方法及びプログラム | |
WO2018203423A1 (ja) | 電力管理装置及びプログラム | |
JP2021189885A (ja) | ジョブスケジューリングプログラム、情報処理装置及びジョブスケジューリング方法 | |
JP2021077180A (ja) | ジョブスケジューリングプログラム、情報処理装置及びジョブスケジューリング方法 | |
JP2008204243A (ja) | ジョブ実行制御方法およびシステム | |
Kim et al. | A due date-based approach to part type selection in flexible manufacturing systems | |
Touat et al. | An integrated guided local search considering human resource constraints for the single-machine scheduling problem with preventive maintenance | |
JP2021189461A (ja) | ジョブスケジューリングプログラム、情報処理装置及びジョブスケジューリング方法 | |
Batista et al. | Scheduling grid tasks in face of uncertain communication demands | |
Yuan et al. | Dynamic parallel machine scheduling with random breakdowns using the learning agent | |
JP2010277208A (ja) | 仮想化システム制御方法および仮想化システム制御プログラム | |
Tag | Improving business project performance by increasing the effectiveness of resource capacity and allocation policies | |
Althebeiti | Research review on mixed-criticality scheduling |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230309 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20231108 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20240129 |