JP2020129329A - 情報処理実行制御装置、情報処理実行制御システム、情報処理実行制御方法、及び、情報処理実行制御プログラム - Google Patents

情報処理実行制御装置、情報処理実行制御システム、情報処理実行制御方法、及び、情報処理実行制御プログラム Download PDF

Info

Publication number
JP2020129329A
JP2020129329A JP2019022454A JP2019022454A JP2020129329A JP 2020129329 A JP2020129329 A JP 2020129329A JP 2019022454 A JP2019022454 A JP 2019022454A JP 2019022454 A JP2019022454 A JP 2019022454A JP 2020129329 A JP2020129329 A JP 2020129329A
Authority
JP
Japan
Prior art keywords
information processing
execution
partial
priority
job
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.)
Granted
Application number
JP2019022454A
Other languages
English (en)
Other versions
JP7259380B2 (ja
Inventor
恵美子 宮崎
Emiko Miyazaki
恵美子 宮崎
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 JP2019022454A priority Critical patent/JP7259380B2/ja
Publication of JP2020129329A publication Critical patent/JP2020129329A/ja
Application granted granted Critical
Publication of JP7259380B2 publication Critical patent/JP7259380B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Hardware Redundancy (AREA)
  • Retry When Errors Occur (AREA)

Abstract

【課題】実行中の並列分散情報処理を一時停止し、より優先度が高い情報処理を優先させて実行したのち、一時停止した並列分散情報処理の実行を再開することを効率的に行う。【解決手段】情報処理実行制御装置40は、複数の情報処理資源50によって、通常情報処理に含まれる部分情報処理501が並列に実行されているときに、通常情報処理よりも優先度が高い優先情報処理502の実行を指示された場合に、優先情報処理502の実行に必要な情報処理資源50の量を算出する算出部41と、部分通常情報処理501の実行を一時停止して優先情報処理502を実行する特定の情報処理資源51を決定する決定部52と、実行状態情報503を生成して保存するように、特定の情報処理資源51を制御するとともに、実行状態情報503を生成して保存することを実行しないように、特定の情報処理資源51を除く情報処理資源50を制御する制御部43と、を備える。【選択図】 図5

Description

本願発明は、実行中の並列分散情報処理を一時停止し、より優先度が高い情報処理を優先させて実行するように制御する技術に関する。
高度に情報化された現代社会においては、コンピュータシステムによって、様々なサービスが滞りなく安定した性能で提供されることが要求される。したがって、コンピュータシステムの可用性や性能を向上させることを実現する技術への期待が高まってきている。
このような技術に関連する技術として、特許文献1には、並列I/O(Input / Output)を実行するジョブが、その並列I/O開始時点において、期待した並列度を得られるだけのI/Oノードを保有していない場合でも、一時的に必要数のI/Oノードを確保して、期待した並列度で並列I/Oを実施するようにしたシステムが開示されている。このシステムは、ジョブ開始時においては、期待した並列度で並列I/Oを実行できるだけの多数のI/Oノードを確保せず、少ない数のI/Oノードのみを確保しておく。このシステムは、I/Oノードをグループ化する。そして、このシステムは、並列I/O開始時に、不足分のI/Oノードを、他のジョブが保有する通常I/O用グループのI/Oノードから選択することにより、他の実行中のジョブから一時的に確保する。
また、特許文献2には、ネットワークを介して互いに接続され、メモリをそれぞれ有する複数のノードを含むシステムにおいて、それら複数のノードが実行する分散プロセスに対してチェックポイントデータを生成し、生成したチェックポイントデータをメモリに格納するシステムが開示されている。このシステムは、各プロセスにおいて障害が発生する前に、障害リカバリ用の予備ノードをプロセス毎に選択する。このシステムは、チェックポイントデータを選択した予備ノードに事前に割り当て、各プロセスにおいて障害が発生する前に、チェックポイントデータを、各プロセスを実行するノードから、選択された予備ノードに送信し、予備ノードのメモリに格納する。このシステムは、プロセスにおいて障害が起きた場合、予備ノードのメモリに格納されている、少なくとも一つのチェックポイントデータが、検出された障害プロセスをリカバリするのに適しているか否かを判断する。このシステムは、少なくとも一つのチェックポイントデータがリカバリに適していると判断した場合、障害プロセスをリカバリするためのチェックポイントデータを一つ選択し、選択したチェックポイントデータをアクティブにして、少なくとも一つの予備ノード上で一つのプロセスを実行することによって障害プロセスをリカバリする。
また、特許文献3には、少なくともプロセッサとメインメモリとを含むノードが通信路を介して2個以上接続され、通信路を経由してノード間通信を行なう分散メモリ型マルチプロセッサシステムが開示されている。このシステムにおけるノードは、故障発生時の再実行を可能にするために、ある時点で自ノードに関するチェックポイントデータを取得し、故障が発生したときに、直前に取得したチェックポイントデータからデータ処理を再開する機能を有する。そしてこのシステムは、チェックポイントデータの取得の開始を、通信路を介した他のノードに対するデータ送信を抑止して、通信路を経由して送信されるデータの受信を完了させることによって、通信路に送信中のデータが存在しない状態で、他の全てのノードと同期して行なう。
特開2010−271907号公報 特表2013−516665号公報 特開平09−259098号公報
コンピュータシステムによって提供されるサービスの中には、例えば、台風の進路予想や地震発生時における津波予報など、優先度(緊急性)が高いサービスがある。このような優先度が高いサービスを提供する情報処理(ジョブ)は、コンピュータシステムにおいて、通常の(一般的な)サービスを提供する情報処理に優先して実行される。
即ち、コンピュータシステムは、通常のサービスに関する通常ジョブを実行しているときに、緊急性が高いサービスに関する緊急ジョブを実行する命令を入力された場合、通常ジョブを一時停止して緊急ジョブを実行し、緊急ジョブの実行が完了したのちに一時停止した通常ジョブの実行を再開する。この際、コンピュータシステムは、通常ジョブを一時停止したときのその実行状態を表すチェックポイントデータを生成(採取)して保存し、保存したチェックポイントデータを用いて通常ジョブの実行を再開する。
一方、近年、コンピュータシステムの性能を向上させる技術として、プロセッサとメモリとを個々に備えた複数のノード(情報処理資源)によって、ジョブを並列分散処理する並列分散情報処理が、様々なコンピュータシステムにおいて使用されている。このような並列分散情報処理を行うコンピュータシステムでは、通常、上述したチェックポイントデータの生成及び記憶をノードごとに実行する。
したがって、多数のノードを備えた大規模なコンピュータシステムでは、多数のノードに関する膨大なチェックポイントデータを生成して保存する必要がある。さらに、例えばチェックポイントデータをノード間で共有するストレージ装置等に格納するようなコンピュータシステムでは、多数のノードによる当該ストレージ装置に対するアクセスが集中することによって、チェックポイントデータを保存する処理の性能が低下するおそれがある。
即ち、並列分散情報処理を行う大規模なコンピュータシステム等において、実行中の並列分散情報処理を一時停止し、より優先度が高い情報処理を優先させて実行したのち、一時停止した並列分散情報処理の実行を再開することを効率的に行うことが課題である。特許文献1乃至3は、このような課題については特に言及していない。本願発明の主たる目的は、この課題を解決する情報処理実行制御装置等を提供することである。
本願発明の一態様に係る情報処理実行制御装置は、複数の情報処理資源によって、通常情報処理に含まれる部分情報処理が並列に実行されているときに、前記通常情報処理よりも優先度が高い優先情報処理の実行を指示された場合に、前記優先情報処理の実行に必要な前記情報処理資源の量を算出する算出手段と、前記算出手段による算出結果に基づいて、前記部分情報処理の実行を一時停止して前記優先情報処理を実行する特定の前記情報処理資源を決定する決定手段と、前記部分情報処理の実行を一時停止する際の前記部分情報処理の実行状態を表す実行状態情報を生成して保存するように、前記特定の情報処理資源を制御するとともに、前記実行状態情報を生成して保存することを実行しないように、前記特定の情報処理資源を除く前記情報処理資源を制御する制御手段と、を備える。
上記目的を達成する他の見地において、本願発明の一態様に係る情報処理実行制御方法は、情報処理装置によって、複数の情報処理資源によって、通常情報処理に含まれる部分情報処理が並列に実行されているときに、前記通常情報処理よりも優先度が高い優先情報処理の実行を指示された場合に、前記優先情報処理の実行に必要な前記情報処理資源の量を算出し、前記情報処理資源の量に関する算出結果に基づいて、前記部分情報処理の実行を一時停止して前記優先情報処理を実行する特定の前記情報処理資源を決定し、前記部分情報処理の実行を一時停止する際の前記部分情報処理の実行状態を表す実行状態情報を生成して保存するように、前記特定の情報処理資源を制御するとともに、前記実行状態情報を生成して保存することを実行しないように、前記特定の情報処理資源を除く前記情報処理資源を制御する。
また、上記目的を達成する更なる見地において、本願発明の一態様に係る情報処理実行制御プログラムは、複数の情報処理資源によって、通常情報処理に含まれる部分情報処理が並列に実行されているときに、前記通常情報処理よりも優先度が高い優先情報処理の実行を指示された場合に、前記優先情報処理の実行に必要な前記情報処理資源の量を算出する算出機能と、前記算出機能による算出結果に基づいて、前記部分情報処理の実行を一時停止して前記優先情報処理を実行する特定の前記情報処理資源を決定する決定機能と、前記部分情報処理の実行を一時停止する際の前記部分情報処理の実行状態を表す実行状態情報を生成して保存するように、前記特定の情報処理資源を制御するとともに、前記実行状態情報を生成して保存することを実行しないように、前記特定の情報処理資源を除く前記情報処理資源を制御する制御機能と、をコンピュータに実現させる。
更に、本願発明は、係る情報処理実行制御プログラム(コンピュータプログラム)が格納された、コンピュータ読み取り可能な、不揮発性の記録媒体によっても実現可能である。
本願発明は、実行中の並列分散情報処理を一時停止し、より優先度が高い情報処理を優先させて実行したのち、一時停止した並列分散情報処理の実行を再開することを効率的に行うことを可能とする。
本願発明の第1の実施形態に係るマルチノードシステム1の構成を示すブロック図である。 本願発明の第1の実施形態に係る計算ノード20が通常ジョブ310を並列に実行する状況を例示する図である。 本願発明の第1の実施形態に係る計算ノード20が通常ジョブ310を一時停止して、緊急ジョブ320を並列に実行する状況を例示する図である。 本願発明の第1の実施形態に係るマルチノードシステム1の動作を示すフローチャートである。 本願発明の第2の実施形態に係る情報処理実行制御装置40の構成を概念的に示すブロック図である。 本願発明の各実施形態に係る情報処理実行制御装置を実行可能な情報処理装置900の構成を示すブロック図である。
以下、本願発明の実施の形態について図面を参照して詳細に説明する。
<第1の実施形態>
図1は、本願発明の第1の実施の形態に係るマルチノードシステム1(情報処理実行制御システム)の構成を示すブロック図である。マルチノードシステム1は、大別して、スケジューラノード10(情報処理実行制御装置)、複数の計算ノード20(情報処理資源)、及び、ユーザ端末装置30を含む。スケジューラノード10と複数の計算ノード20とは、通信可能に接続されている。また、スケジューラノード10とユーザ端末装置30とは、通信可能に接続されている。
ユーザ端末装置30は、ユーザが、通常ジョブ310(通常情報処理)や緊急ジョブ320(優先情報処理)をマルチノードシステム1に実行させる入力操作を行う際に、あるいはマルチノードシステム1によって実行された通常ジョブ310や緊急ジョブ320の実行結果を確認する際に使用する、例えばパーソナルコンピュータ等の情報処理装置である。
緊急ジョブ320は、通常ジョブ310よりも緊急性(優先度)が高いジョブであり、例えば、台風の進路予想や地震発生時における津波予報等を行うジョブである。本実施形態に係るマルチノードシステム1は、ユーザ端末装置30によって、通常ジョブ310を実行中に緊急ジョブ320の実行を指示された場合、通常ジョブ310を一時停止して、緊急ジョブ320を優先して実行する。但し、ユーザによる入力操作によってユーザ端末装置30から発行される命令の中に、実行されるジョブが通常ジョブ310であるのか緊急ジョブ320であるのかを識別可能な情報が含まれていることとする。
スケジューラノード10及び計算ノード20はそれぞれ、サーバ装置等の情報処理装置であり、例えば後述する図6に例示するようなハードウェア構成を備えている。スケジューラノード10は、ユーザ端末装置30によって実行を指示された通常ジョブ310あるいは緊急ジョブ320を実行するように、複数の計算ノード20を制御する。即ち、スケジューラノード10は、計算ノード20によって実行される通常ジョブ310あるいは緊急ジョブ320に関するスケジューリングを行う。
また、本実施形態に係るマルチノードシステム1は、複数の計算ノード20によって、通常ジョブ310あるいは緊急ジョブ320を、並列分散処理することが可能である。即ち、スケジューラノード10は、通常ジョブ310を構成する複数の部分通常ジョブ311が、複数の計算ノード20によって並列に実行されるようにスケジューリングを行う。スケジューラノード10は、同様に、緊急ジョブ320を構成する複数の部分緊急ジョブ321が、複数の計算ノード20によって並列に実行されるようにスケジューリングを行う。
尚、通常ジョブ310あるいは緊急ジョブ320を実現するプログラムファイルあるいはオブジェクトファイル等は、例えばマルチノードシステム1が備えるストレージ装置(図1において不図示)等に格納されていることとする。即ち、計算ノード20は、当該ストレージ装置から当該プログラムファイルあるいはオブジェクトファイル等を読み出すことによって、通常ジョブ310あるいは緊急ジョブ320を実行可能である。
本実施形態に係るスケジューラノード10は、算出部11、決定部12、及び、制御部13を備える。そして計算ノード20は、ジョブ実行部21、及び、チェックポイントデータ生成部22を備える。但し、図1に示す複数の計算ノード20の個々は、同様な構成を備えることとする。
計算ノード20におけるジョブ実行部21は、スケジューラノード10による自ノードに対するスケジューリング制御により、部分通常ジョブ311、あるいは、部分緊急ジョブ321を実行する。
スケジューラノード10における算出部11は、複数の計算ノード20によって部分通常ジョブ311が並列に実行されているときに、緊急ジョブ320の実行を指示する命令をユーザ端末装置30から入力された場合に、緊急ジョブ320の実行に必要な計算ノード20の数を算出する。算出部11は、並列分散処理により実行されるジョブのスケジューリングに関する既存技術を用いて、緊急ジョブ320の実行に必要な計算ノード20の数を算出可能である。
算出部11は、例えば、緊急ジョブ320を表すプログラムファイル等に対する構文解析を行なうことによって、緊急ジョブ320の実行に必要な計算ノード20の数を算出してもよい。算出部11は、計算ノード20の数に関する算出結果を決定部12に通知する。
決定部12は、算出部11による算出結果に基づいて、部分通常ジョブ311の実行を一時停止して緊急ジョブ320を実行する特定の計算ノード20を決定する。
次に、決定部12による特定の計算ノード20を決定する手順について、図2及び図3を参照して説明する。
図2は、本実施形態に係る複数の計算ノード20が通常ジョブ310を並列に実行する状況を例示する図である。図2における20個の四角形は、それぞれ計算ノード20を表す。即ち、図2及び後述する図3が示す例では、マルチノードシステム1は、20個の計算ノード20を備えることとする。尚、本実施形態に係る以降の説明では、20個の計算ノード20の個々を区別するために、計算ノード20−1乃至20−20というように記載する場合がある。
図2に示す例では、20個の計算ノード20のうち、計算ノード20−1乃至20−10が通常ジョブ310(部分通常ジョブ311)を実行している。即ち、計算ノード20−11乃至20−20は、通常ジョブ310(部分通常ジョブ311)を実行していない。尚、図2に示す四角形の中の数値は、計算ノード20−1乃至20−10における部分通常ジョブ311による負荷の高さを表す。但し、負荷の高さとは、より具体的には、例えば、計算ノード20が備えるプロセッサあるいはメモリなどの情報処理資源の少なくともいずれかの使用率のことである。尚、図2及び図3が示す例では、四角形の中の数値が大きいほど、上述した負荷が高いことを表すこととする。
図3は、本実施形態に係る複数の計算ノード20が、通常ジョブ310を一時停止して、緊急ジョブ320を並列に実行する状況を例示する図である。図3に示す例では、決定部12は、12個の計算ノード20−9乃至20−20を、緊急ジョブ320を実行する特定の計算ノード20として決定している。即ち、この場合、算出部11は、緊急ジョブ320の実行に必要な計算ノード20の数を「12」と算出している。
決定部12は、算出部11による算出結果が「12」であることに応じて、複数の計算ノード20のうち、上述した負荷ができるだけ低い12個の計算ノード20を、緊急ジョブ320を実行する特定の計算ノード20として決定する。尚、プロセッサあるいはメモリの使用率等により表される負荷の高さを測定することは、既存技術を適用可能であるので、本願ではその詳細な説明を省略する。
図2及び図3に示す例では、決定部12は、まず、通常ジョブ310を実行していない(即ち部分通常ジョブ311による負荷が発生していない)状態にある10個の計算ノード20−11乃至20−20を、緊急ジョブ320を実行する特定の計算ノード20として決定する。
決定部12は、次に、部分通常ジョブ311による負荷が発生している10個の計算ノード20−1乃至20−10のうち、部分通常ジョブ311による負荷が最も小さい方から2個の計算ノード20を、残り2個の特定の計算ノード20として決定する。図3に示す例の場合、部分通常ジョブ311による負荷が最も小さい方から2個の計算ノード20は、負荷の高さが「2」である計算ノード20−10、及び、負荷の高さが「3」である計算ノード20−9である。したがって、決定部12は、計算ノード20−9及び20−10を、緊急ジョブ320を実行する特定の計算ノード20として追加する決定を行う。
以上の手順により、決定部12は、12個の計算ノード20−9乃至20−20を、緊急ジョブ320を実行する特定の計算ノード20として決定する。決定部12は、この決定結果を制御部13へ通知する。
制御部13は、決定部12による決定結果に基づいて、12個の計算ノード20−9乃至20−20による緊急ジョブ320の実行をスケジューリングする。制御部13は、まず、通常ジョブ310(部分通常ジョブ311)を実行している計算ノード20−1乃至20−10に対して、部分通常ジョブ311の実行を一時停止するように指示する。計算ノード20−1乃至20−10におけるジョブ実行部21は、制御部13による上述した指示に従って、部分通常ジョブ311の実行を一時停止する。
制御部13は、次に、部分通常ジョブ311を一時停止した後に緊急ジョブ320を実行することになる計算ノード20−9及び20−10に対して、チェックポイントデータ220を生成し、生成したチェックポイントデータ220を保存するように指示する。但し、チェックポイントデータ220は、計算ノード20が部分通常ジョブ311の実行を一時停止したタイミングにおける部分通常ジョブ311の実行状態を表すデータであり、より具体的には、例えば、当該タイミングにおいて計算ノード20が備えるメモリやレジスタ等に格納されている値を表すデータである。
計算ノード20−9及び20−10におけるチェックポイントデータ生成部22は、制御部13による指示に従って、チェックポイントデータ220を生成する。チェックポイントデータ生成部22は、生成したチェックポイントデータ220を、例えば、自ノードあるいは外部のストレージ装置におけるメモリあるいは磁気ディスク等の記憶デバイスに保存する。計算ノード20−9及び20−10は、チェックポイントデータ220の保存が完了したのち、チェックポイントデータ220の保存が完了したことをスケジューラノード10へ通知する。
制御部13は、部分通常ジョブ311を一時停止した後に緊急ジョブ320を実行しない計算ノード20−1乃至20−8に対しては、チェックポイントデータ220を生成して保存することを行わないように制御する。これは、部分通常ジョブ311を一時停止した後に緊急ジョブ320を実行しない計算ノード20−1乃至20−8は、部分通常ジョブ311の実行を一時停止したタイミングにおける自ノード内のメモリやレジスタ等に格納されている値がそのまま保存されているので、チェックポイントデータ220を生成して保存することを行わなくても、部分通常ジョブ311の実行を再開することが可能であるからである。
スケジューラノード10における制御部13は、計算ノード20−9及び20−10によるチェックポイントデータ220の保存が完了したのち、計算ノード20−9乃至20−20に対して、緊急ジョブ320の実行を開始するように指示する。計算ノード20−9乃至20−20におけるジョブ実行部21は、制御部13による指示に従い、それぞれ、緊急ジョブ320を構成する部分緊急ジョブ321を実行する。計算ノード20−9乃至20−20は、部分緊急ジョブ321の実行を完了したのち、部分緊急ジョブ321の実行を完了したことをスケジューラノード10へ通知する。
スケジューラノード10における制御部13は、計算ノード20−9乃至20−20による緊急ジョブ320の実行が完了したのち、計算ノード20−1乃至20−10に対して、一時停止した状態にある通常ジョブ310の実行を再開するように指示する。
計算ノード20−9乃至20−10におけるジョブ実行部21は、制御部13による指示に従って、保存されているチェックポイントデータ220を用いて、部分通常ジョブ311の実行を再開する。即ち、計算ノード20−9乃至20−10におけるジョブ実行部21は、チェックポイントデータ220を用いて、自ノード内のメモリやレジスタ等に、部分通常ジョブ311を停止したタイミングにおける値を復元したのち、部分通常ジョブ311の実行を再開する。
計算ノード20−1乃至20−8におけるジョブ実行部21は、自ノード内のメモリやレジスタ等に、部分通常ジョブ311を停止したタイミングにおける値を維持した状態から、部分通常ジョブ311の実行を再開する。
次に図4のフローチャートを参照して、本実施形態に係るマルチノードシステム1の動作(処理)について詳細に説明する。
複数の計算ノード20−i(iは2以上の任意の整数)におけるジョブ実行部21は、部分通常ジョブ311を実行する(ステップS101)。スケジューラノード10は、ユーザ端末装置30から緊急ジョブ320の実行命令を受信する(ステップS102)。スケジューラノード10における算出部11は、緊急ジョブ320の実行に必要なノード数を算出する(ステップS103)。
スケジューラノード10における決定部12は、算出部11によって算出されたノード数と、計算ノード20−iにおける部分通常ジョブ311による負荷の高さとに基づいて、緊急ジョブ320を実行する特定の計算ノード20−j(jは任意の自然数)を決定する(ステップS104)。
スケジューラノード10における制御部13は、計算ノード20−iに対して部分通常ジョブ311を一時停止することを指示するとともに、計算ノード20−iに含まれる計算ノード20−jに対しては、チェックポイントデータ220を生成することを指示する(ステップS105)。
計算ノード20−iにおけるジョブ実行部21は、制御部13による指示に従い、部分通常ジョブ311の実行を一時停止する(ステップS106)。計算ノード20−jにおけるチェックポイントデータ生成部22は、制御部13による指示に従い、チェックポイントデータ220を生成して、生成したチェックポイントデータ220を、自ノード内あるいは外部の記憶デバイスに保存する(ステップS107)。
制御部13は、計算ノード20−jに、部分緊急ジョブ321を実行するように指示する(ステップS108)。計算ノード20−jにおけるジョブ実行部21は、制御部13による指示に従い、部分緊急ジョブ321を実行する(ステップS109)。
計算ノード20−jによる緊急ジョブ320の実行が完了しない場合(ステップS110でNo)、処理はステップS110において待機する。計算ノード20−jによる緊急ジョブ320の実行が完了した場合(ステップS110でYes)、制御部13は、計算ノード20−iに対して、部分通常ジョブ311の実行を再開するように指示する(ステップS111)。
計算ノード20−iのうちの計算ノード20−jは、保存したチェックポイントデータ220を用いて、自ノード内のメモリやレジスタ等に、部分通常ジョブ311を停止したタイミングにおける値を復元したのち、部分通常ジョブ311の実行を再開する(ステップS112)。計算ノード20−jを除く計算ノード20−iは、自ノード内のメモリやレジスタ等に部分通常ジョブ311を停止したタイミングにおける値を維持した状態から(即ち、チェックポイントデータ220を用いることなく)、部分通常ジョブ311の実行を再開し(ステップS113)、全体の処理は終了する。
本実施形態に係るスケジューラノード10(情報処理実行制御装置)は、実行中の並列分散情報処理を一時停止し、より優先度が高い情報処理を優先させて実行したのち、一時停止した並列分散情報処理の実行を再開することを効率的に行うことができる。その理由は、スケジューラノード10は、緊急ジョブ320(優先情報処理)の実行に必要な計算ノード20(情報処理資源)の数(量)に基づいて緊急ジョブ320を実行する特定の計算ノード20を決定し、当該特定の計算ノード20を除く、通常ジョブ310(通常情報処理)を実行していた計算ノード20に対しては、チェックポイントデータ220(実行状態情報)を生成して保存することを実行しないように制御するからである。
以下に、本実施形態に係るスケジューラノード10によって実現される効果について、詳細に説明する。
コンピュータシステムは、通常のサービスに関する通常ジョブを実行しているときに、優先度(緊急性)が高い緊急ジョブを実行する命令を入力された場合、通常ジョブを一時停止して緊急ジョブを実行し、緊急ジョブの実行が完了したのちに一時停止した通常ジョブの実行を再開する。この際、コンピュータシステムは、チェックポイントデータを生成して保存し、保存したチェックポイントデータを用いて通常ジョブの実行を再開する。そして、複数のノードによって並列分散情報処理を行うコンピュータシステムでは、通常、上述したチェックポイントデータの生成及び記憶をノードごとに実行する。
したがって、多数のノードを備えた大規模なコンピュータシステムでは、多数のノードに関する膨大なチェックポイントデータを生成して保存する必要があり、システム性能が大きく低下するおそれがある。即ち、並列分散情報処理を行う大規模なコンピュータシステム等において、実行中の並列分散情報処理を一時停止し、より優先度が高い情報処理を優先させて実行したのち、一時停止した並列分散情報処理の実行を再開することを効率的に行うことが課題である。
このような課題に対して、本実施形態に係るスケジューラノード10は、算出部11と、決定部12と、制御部13とを備え、例えば図1乃至図4を参照して上述した通り動作する。即ち、算出部11は、複数の計算ノード20によって、通常ジョブ310に含まれる部分通常ジョブ311が並列に実行されているときに、通常ジョブ310よりも優先度が高い緊急ジョブ320の実行を指示された場合に、緊急ジョブ320の実行に必要な計算ノード20の数を算出する。決定部12は、算出部11による算出結果に基づいて、部分通常ジョブ311の実行を一時停止して緊急ジョブ320を実行する特定の計算ノード20を決定する。制御部13は、部分通常ジョブ311の実行を一時停止する際の部分通常ジョブ311の実行状態を表すチェックポイントデータ220を生成して保存するように、当該特定の計算ノード20を制御する。そして制御部13は、チェックポイントデータ220を生成して保存することを実行しないように、当該特定の計算ノード20を除く計算ノード20を制御する。
即ち、本実施形態に係るスケジューラノード10は、部分通常ジョブ311を一時停止した後に緊急ジョブ320を実行しない計算ノード20(図3に例示する計算ノード20−1乃至20−8)が、部分通常ジョブ311の実行を一時停止したタイミングにおける自ノード内のメモリやレジスタ等に格納されている値をそのままの状態で維持していることを活用する。部分通常ジョブ311を一時停止した後に緊急ジョブ320を実行する計算ノード20(図3に例示する計算ノード20−9及び20−10)では、緊急ジョブ320を実行するのに際して、部分通常ジョブ311の実行を一時停止したタイミングにおける自ノード内のメモリやレジスタ等に格納されている値がクリアされるので、チェックポイントデータ220を生成して保存することが必要である。これに対して、部分通常ジョブ311を一時停止した後に緊急ジョブ320を実行しない計算ノード20に関しては、上述した理由によって、チェックポイントデータ220を生成して保存することを行わなくても、一時停止した部分通常ジョブ311の実行を再開することが可能である。
以上のことから、本実施形態に係るスケジューラノード10は、生成して保存するチェックポイントデータ220のデータ量を大きく低下させるので、実行中の並列分散情報処理を一時停止し、より優先度が高い情報処理を優先させて実行したのち、一時停止した並列分散情報処理の実行を再開することを効率的に行うことができる。
また、本実施形態に係る決定部12は、各計算ノード20における部分通常ジョブ311による負荷(例えばプロセッサあるいはメモリの少なくともいずれかの使用率)ができるだけ小さい計算ノード20を、緊急ジョブ320を実行する特定の計算ノード20として決定する。部分通常ジョブ311による負荷が小さいということは、例えば、部分通常ジョブ311が使用するデータ量が小さいこと、即ち、生成して保存する必要があるチェックポイントデータ220のデータ量が小さいことを示している。従って、本実施形態に係るスケジューラノード10は、実行中の並列分散情報処理を一時停止し、より優先度が高い情報処理を優先させて実行したのち、一時停止した並列分散情報処理の実行を再開することを、さらに効率的に行うことができる。
<第2の実施形態>
図5は、本願発明の第2の実施形態に係る情報処理実行制御装置40の構成を示すブロック図である。
本実施形態に係る情報処理実行制御装置40は、算出部41、決定部42、及び、制御部43を備える。
算出部41は、複数の情報処理資源50によって、通常情報処理に含まれる部分情報処理501が並列に実行されているときに、当該通常情報処理よりも優先度が高い優先情報処理502の実行を指示された場合に、優先情報処理502の実行に必要な情報処理資源50の量を算出する。
決定部42は、算出部41による算出結果に基づいて、部分情報処理501の実行を一時停止して優先情報処理502を実行する特定の情報処理資源51を決定する。
制御部43は、部分情報処理501の実行を一時停止する際の部分情報処理501の実行状態を表す実行状態情報503を生成して保存するように、特定の情報処理資源51を制御する。そして、制御部43は、実行状態情報503を生成して保存することを実行しないように、特定の情報処理資源51を除く情報処理資源50を制御する。
本実施形態に係る情報処理実行制御装置40は、実行中の並列分散情報処理を一時停止し、より優先度が高い情報処理を優先させて実行したのち、一時停止した並列分散情報処理の実行を再開することを効率的に行うことができる。その理由は、情報処理実行制御装置40は、優先情報処理502の実行に必要な情報処理資源50の量に基づいて優先情報処理502を実行する特定の情報処理資源51を決定し、当該特定の情報処理資源51を除く、部分通常情報処理501を実行していた情報処理資源50に対しては、実行状態情報503を生成して保存することを実行しないように制御するからである。
<ハードウェア構成例>
上述した各実施形態において図1、及び、図5に示した情報処理実行制御装置(スケジューラノード)における各部は、専用のHW(HardWare)(電子回路)によって実現することができる。また、図1、及び、図5において、少なくとも、下記構成は、ソフトウェアプログラムの機能(処理)単位(ソフトウェアモジュール)と捉えることができる。
・算出部11及び41、
・決定部12及び42、
・制御部13及び43。
但し、これらの図面に示した各部の区分けは、説明の便宜上の構成であり、実装に際しては、様々な構成が想定され得る。この場合のハードウェア環境の一例を、図6を参照して説明する。
図6は、本願発明の各実施形態に係る情報処理実行制御装置を実行可能な情報処理装置900(コンピュータ)の構成を例示的に説明する図である。即ち、図6は、図1、及び、図5に示した情報処理実行制御装置を実現可能なコンピュータ(情報処理装置)の構成であって、上述した実施形態における各機能を実現可能なハードウェア環境を表す。
図6に示した情報処理装置900は、構成要素として下記を備えている。
・CPU(Central_Processing_Unit)901、
・ROM(Read_Only_Memory)902、
・RAM(Random_Access_Memory)903、
・ハードディスク(記憶装置)904、
・通信インタフェース905、
・バス906(通信線)、
・CD−ROM(Compact_Disc_Read_Only_Memory)等の記録媒体907に格納されたデータを読み書き可能なリーダライタ908、
・モニターやスピーカ、キーボード等の入出力インタフェース909。
即ち、上記構成要素を備える情報処理装置900は、これらの構成がバス906を介して接続された一般的なコンピュータである。情報処理装置900は、CPU901を複数備える場合もあれば、マルチコアにより構成されたCPU901を備える場合もある。
そして、上述した実施形態を例に説明した本願発明は、図6に示した情報処理装置900に対して、次の機能を実現可能なコンピュータプログラムを供給する。その機能とは、その実施形態の説明において参照したブロック構成図(図1、及び、図5)における上述した構成、或いはフローチャート(図4)の機能である。本願発明は、その後、そのコンピュータプログラムを、当該ハードウェアのCPU901に読み出して解釈し実行することによって達成される。また、当該装置内に供給されたコンピュータプログラムは、読み書き可能な揮発性のメモリ(RAM903)、または、ROM902やハードディスク904等の不揮発性の記憶デバイスに格納すれば良い。
また、前記の場合において、当該ハードウェア内へのコンピュータプログラムの供給方法は、現在では一般的な手順を採用することができる。その手順としては、例えば、CD−ROM等の各種記録媒体907を介して当該装置内にインストールする方法や、インターネット等の通信回線を介して外部よりダウンロードする方法等がある。そして、このような場合において、本願発明は、係るコンピュータプログラムを構成するコード或いは、そのコードが格納された記録媒体907によって構成されると捉えることができる。
以上、上述した実施形態を模範的な例として本願発明を説明した。しかしながら、本願発明は、上述した実施形態には限定されない。即ち、本願発明は、本願発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。
1 マルチノードシステム
10 スケジューラノード
11 算出部
12 決定部
13 制御部
20 計算ノード
21 ジョブ実行部
22 チェックポイントデータ生成部
220 チェックポイントデータ
30 ユーザ端末装置
310 通常ジョブ
311 部分通常ジョブ
320 緊急ジョブ
321 部分緊急ジョブ
40 情報処理実行制御装置
41 算出部
42 決定部
43 制御部
50 情報処理資源
51 特定の情報処理資源
501 部分情報処理
502 優先情報処理
503 実行状態情報
900 情報処理装置
901 CPU
902 ROM
903 RAM
904 ハードディスク(記憶装置)
905 通信インタフェース
906 バス
907 記録媒体
908 リーダライタ
909 入出力インタフェース

Claims (10)

  1. 複数の情報処理資源によって、通常情報処理に含まれる部分情報処理が並列に実行されているときに、前記通常情報処理よりも優先度が高い優先情報処理の実行を指示された場合に、前記優先情報処理の実行に必要な前記情報処理資源の量を算出する算出手段と、
    前記算出手段による算出結果に基づいて、前記部分情報処理の実行を一時停止して前記優先情報処理を実行する特定の前記情報処理資源を決定する決定手段と、
    前記部分情報処理の実行を一時停止する際の前記部分情報処理の実行状態を表す実行状態情報を生成して保存するように、前記特定の情報処理資源を制御するとともに、前記実行状態情報を生成して保存することを実行しないように、前記特定の情報処理資源を除く前記情報処理資源を制御する制御手段と、
    を備える情報処理実行制御装置。
  2. 前記制御手段は、前記特定の情報処理資源に対して、前記実行状態情報を表すチェックポイントデータを生成することを指示する命令を発行する、
    請求項1に記載の情報処理実行制御装置。
  3. 前記決定手段は、前記部分情報処理による負荷の高さに基づいて、前記特定の情報処理資源を決定する、
    請求項1または請求項2に記載の情報処理実行制御装置。
  4. 前記決定手段は、前記部分情報処理による、情報処理資源が備えるプロセッサあるいはメモリの少なくともいずれかの使用率に基づいて、前記特定の情報処理資源を決定する、
    請求項3に記載の情報処理実行制御装置。
  5. 前記算出手段は、前記優先情報処理を表すプログラムを構文解析することによって、前記情報処理資源の量を算出する、
    請求項1乃至4のいずれか一項に記載の情報処理実行制御装置。
  6. 前記算出手段は、前記情報処理資源であるノードの数を算出する、
    請求項1乃至5のいずれか一項に記載の情報処理実行制御装置。
  7. 請求項1乃至請求項6のいずれか一項に記載の情報処理実行制御装置と、
    前記複数の情報処理資源と、
    を有する情報処理実行制御システム。
  8. 前記特定の情報処理資源は、前記優先情報処理の実行が完了した後、保存された前記実行状態情報を用いて一時停止した前記部分情報処理の実行を再開し、
    前記特定の情報処理資源を除く前記情報処理資源は、前記部分情報処理の実行を一時停止する際の前記部分情報処理の実行状態を維持した状態から、前記部分情報処理の実行を再開する、
    請求項7に記載の情報処理実行制御システム。
  9. 情報処理装置によって、
    複数の情報処理資源によって、通常情報処理に含まれる部分情報処理が並列に実行されているときに、前記通常情報処理よりも優先度が高い優先情報処理の実行を指示された場合に、前記優先情報処理の実行に必要な前記情報処理資源の量を算出し、
    前記情報処理資源の量に関する算出結果に基づいて、前記部分情報処理の実行を一時停止して前記優先情報処理を実行する特定の前記情報処理資源を決定し、
    前記部分情報処理の実行を一時停止する際の前記部分情報処理の実行状態を表す実行状態情報を生成して保存するように、前記特定の情報処理資源を制御するとともに、前記実行状態情報を生成して保存することを実行しないように、前記特定の情報処理資源を除く前記情報処理資源を制御する、
    情報処理実行制御方法。
  10. 複数の情報処理資源によって、通常情報処理に含まれる部分情報処理が並列に実行されているときに、前記通常情報処理よりも優先度が高い優先情報処理の実行を指示された場合に、前記優先情報処理の実行に必要な前記情報処理資源の量を算出する算出機能と、
    前記算出機能による算出結果に基づいて、前記部分情報処理の実行を一時停止して前記優先情報処理を実行する特定の前記情報処理資源を決定する決定機能と、
    前記部分情報処理の実行を一時停止する際の前記部分情報処理の実行状態を表す実行状態情報を生成して保存するように、前記特定の情報処理資源を制御するとともに、前記実行状態情報を生成して保存することを実行しないように、前記特定の情報処理資源を除く前記情報処理資源を制御する制御機能と、
    をコンピュータに実現させるための情報処理実行制御プログラム。
JP2019022454A 2019-02-12 2019-02-12 情報処理実行制御装置、情報処理実行制御システム、情報処理実行制御方法、及び、情報処理実行制御プログラム Active JP7259380B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019022454A JP7259380B2 (ja) 2019-02-12 2019-02-12 情報処理実行制御装置、情報処理実行制御システム、情報処理実行制御方法、及び、情報処理実行制御プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019022454A JP7259380B2 (ja) 2019-02-12 2019-02-12 情報処理実行制御装置、情報処理実行制御システム、情報処理実行制御方法、及び、情報処理実行制御プログラム

Publications (2)

Publication Number Publication Date
JP2020129329A true JP2020129329A (ja) 2020-08-27
JP7259380B2 JP7259380B2 (ja) 2023-04-18

Family

ID=72174627

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019022454A Active JP7259380B2 (ja) 2019-02-12 2019-02-12 情報処理実行制御装置、情報処理実行制御システム、情報処理実行制御方法、及び、情報処理実行制御プログラム

Country Status (1)

Country Link
JP (1) JP7259380B2 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009075956A (ja) * 2007-09-21 2009-04-09 Fujitsu Ltd ジョブ管理方法、ジョブ管理装置およびジョブ管理プログラム
WO2011135759A1 (ja) * 2010-04-30 2011-11-03 日本電気株式会社 情報処理装置及びタスク切り替え方法
WO2012098684A1 (ja) * 2011-01-21 2012-07-26 富士通株式会社 スケジューリング方法およびスケジューリングシステム
JP2015207318A (ja) * 2008-12-01 2015-11-19 ケーピーアイティ テクノロジーズ リミテッド 逐次コンピュータプログラムコードを並列処理する方法及びシステム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009075956A (ja) * 2007-09-21 2009-04-09 Fujitsu Ltd ジョブ管理方法、ジョブ管理装置およびジョブ管理プログラム
JP2015207318A (ja) * 2008-12-01 2015-11-19 ケーピーアイティ テクノロジーズ リミテッド 逐次コンピュータプログラムコードを並列処理する方法及びシステム
WO2011135759A1 (ja) * 2010-04-30 2011-11-03 日本電気株式会社 情報処理装置及びタスク切り替え方法
WO2012098684A1 (ja) * 2011-01-21 2012-07-26 富士通株式会社 スケジューリング方法およびスケジューリングシステム

Also Published As

Publication number Publication date
JP7259380B2 (ja) 2023-04-18

Similar Documents

Publication Publication Date Title
US9335998B2 (en) Multi-core processor system, monitoring control method, and computer product
JP6219512B2 (ja) 仮想ハドゥープマネジャ
US8943353B2 (en) Assigning nodes to jobs based on reliability factors
Liu Cutting {MapReduce} Cost with Spot Market
US8782643B2 (en) Device and method for controlling communication between BIOS and BMC
CN111880906A (zh) 虚拟机高可用性管理方法、系统以及存储介质
JP2010079622A (ja) マルチコアプロセッサシステム、および、そのタスク制御方法
Mei et al. Fault-tolerant dynamic rescheduling for heterogeneous computing systems
Sudarsan et al. ReSHAPE: A framework for dynamic resizing and scheduling of homogeneous applications in a parallel environment
CN115373835A (zh) Flink集群的任务资源调整方法、装置及电子设备
JP4992740B2 (ja) マルチプロセッサシステム、障害検出方法および障害検出プログラム
CN113467908A (zh) 任务执行方法、装置、计算机可读存储介质及终端设备
Prabhakaran et al. Efficient fault tolerance through dynamic node replacement
JP4761229B2 (ja) 運用管理装置、運用管理方法ならびにプログラム
JP5672521B2 (ja) コンピュータシステム、およびそのチェックポイントリスタート方法
JPWO2011104812A1 (ja) マルチコアプロセッサシステム、割込プログラム、および割込方法
JP2020129329A (ja) 情報処理実行制御装置、情報処理実行制御システム、情報処理実行制御方法、及び、情報処理実行制御プログラム
JP2009048358A (ja) 情報処理装置及びスケジューリング方法
Qian et al. Reliability of Large Scale GPU Clusters for Deep Learning Workloads
CN102915257A (zh) 基于torque的并行检查点执行方法
JP2008204013A (ja) スレッド動作異常検知方法、マルチスレッドシステム
JP5867630B2 (ja) マルチコアプロセッサシステム、マルチコアプロセッサシステムの制御方法、およびマルチコアプロセッサシステムの制御プログラム
JP3998686B2 (ja) Cpu使用時間カウント方法及びこのcpu使用時間を用いるジョブ制御装置
Amoon A DEVELOPMENT OF FAULT-TOLERANT AND SCHEDULING SYSTEM FOR GRID COMPUTING.
Qiu et al. An efficient fault-tolerant scheduling algorithm for periodic real-time tasks in heterogeneous platforms

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20211015

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220117

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20221109

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221220

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230216

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230320

R151 Written notification of patent or utility model registration

Ref document number: 7259380

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151