JP2018151749A - 制御装置、情報処理システム、制御方法およびプログラム - Google Patents
制御装置、情報処理システム、制御方法およびプログラム Download PDFInfo
- Publication number
- JP2018151749A JP2018151749A JP2017046154A JP2017046154A JP2018151749A JP 2018151749 A JP2018151749 A JP 2018151749A JP 2017046154 A JP2017046154 A JP 2017046154A JP 2017046154 A JP2017046154 A JP 2017046154A JP 2018151749 A JP2018151749 A JP 2018151749A
- Authority
- JP
- Japan
- Prior art keywords
- task
- processing
- processing node
- node
- priority
- 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
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】I/Oの応答性能を重視するタスクの実行時間を維持する。【解決手段】複数の処理ノードのうち、指定されたタスクの実行優先度に基づいて、タスクを実行する処理ノードを選択する処理ノード選択部110と、実行優先度が所定の優先度よりも低いタスクを処理ノード選択部110が選択した処理ノードが実行中、タスクを実行している処理ノードが管理するストレージディスクのI/O負荷が所定の閾値を超えた場合、タスクから発行されるI/Oの同時発行数を制限するI/O発行数制御部120とを有する。【選択図】図2
Description
本発明は、制御装置、情報処理システム、制御方法およびプログラムに関する。
ある大量のデータを対象としたデータ解析を行う際、複数のサーバノード(処理ノード)と、複数のサーバノードからアクセス可能な分散ファイルシステムとから構成された分散システムが利用される場合がある。分散ファイルシステムに格納されているデータ群を対象としたデータ解析を実行する際、データ解析のタスクを複数のジョブ群に分割し、複数のサーバノードに分配して、ジョブを並列に実行させる。これにより、データ解析処理時間を短縮する手法が存在する。この手法の代表的な例として、HadoopのMapReduceアルゴリズムによるデータ解析手法が挙げられる。この解析手法では、データ解析のタスクのプログラム作成者が、データ解析を行う分散システムの構成(ノード構成や、データの配置先など)を意識することなく、MapReduceに基づく処理手順に基づく手続きをプログラミングするだけで、分散システム側の構成に合わせて、タスクを並列実行させることができる。このような機能を実現できるのは、Hadoopに備えられた並列分散機構が、システム構成に応じて、タスクを複数のジョブに分割し、ジョブを配布、結果の収集を自律的に制御する機能を備えているためである。
このようなHadoopに代表される分散システムでは、複数のタスクを同時に実行する際、各タスクが消費する計算リソースの上限を規定することで、お互いの処理が干渉し合わないようにするための仕掛けが存在する。この仕掛けを用いることで、単一の分散システム上で、複数のタスクを安定して同時実行させることが可能となる。また、単一のクラスタを複数のノードの集合体として物理的分割し、分割したノード集合体ごとにタスクを同時実行させることで、計算リソースの競合が発生させずに複数のタスクを安定して同時実行させることが可能となる。
このようなHadoopに代表される分散システムでは、複数のタスクを同時に実行する際、各タスクが消費する計算リソースの上限を規定することで、お互いの処理が干渉し合わないようにするための仕掛けが存在する。この仕掛けを用いることで、単一の分散システム上で、複数のタスクを安定して同時実行させることが可能となる。また、単一のクラスタを複数のノードの集合体として物理的分割し、分割したノード集合体ごとにタスクを同時実行させることで、計算リソースの競合が発生させずに複数のタスクを安定して同時実行させることが可能となる。
データの処理対象の読み込みや、処理結果の書き込みに用いられる分散ファイルシステムは、計算を行うノードのローカルディスクを用いて構成され、単一の分散システムで1つの分散ファイルシステムを構成する。計算リソースの上限を規定した、複数のタスクの同時並列実行時においては、個々のタスクから発生するI/O(Input/Output)は1つの分散ファイルシステム上で処理され、データの読み書きが行われる。また、同様に単一のクラスタを複数のノードの集合体として物理的に分割した環境での、複数のタスクの同時並列実行時においても、個々のタスクから発生するI/Oは1つの分散ファイルシステム上で処理され、データの読み書きが行われる。なお、この分散ファイルシステム上でデータを新規に書き込む際は、データの書き込み要求元となった処理ノードに具備されたローカルディスク上にデータの書き込みが行われた後、他の処理ノードに具備されたローカルディスク上にデータのレプリカが保存されることで、ディスクやノード故障時のデータの信頼性が確保される。
また、I/O負荷状況を監視し、閾値以上のI/O要求に対して、ネットワークスイッチのスイッチングオーバヘッドが適正となるようにプロセスの再配置を行う技術が考えられている(例えば、特許文献1参照。)。
計算リソースの上限を規定し、単一の分散システム上で複数のタスクを同時実行させる、もしくは、単一の分散システムを、複数の処理ノードから構成される複数の集合に物理的分割し、分割したノード集合ごとにタスクを同時実行させる際、実行中に高いI/O負荷を発生させるタスクが混在すると、分散ファイルシステムへのI/O負荷が高くなり、システムとしてのI/O性能が劣化する。これにより、そのタスク以外に実行中のタスクが発生させたI/O処理の応答時間が遅くなり、タスクの実行完了までにかかる時間が延びてしまう。このように、タスクの実行完了までの時間を常に一定に保持したいタスクを実行したい場合、計算リソースの上限の規定や分割による、複数タスクの同時実行手段のみではタスクの実行完了時間を担保しきれない。
また、特許文献1に記載の技術においては、プロセスの再配置を行うため、その処理にかかる負荷が重くなり、全体の処理に時間がかかってしまうおそれがある。
また、特許文献1に記載の技術においては、プロセスの再配置を行うため、その処理にかかる負荷が重くなり、全体の処理に時間がかかってしまうおそれがある。
このように、上述した技術においては、I/Oの応答性能を重視するタスクの実行時間を維持することができないという問題点がある。
本発明の目的は、上記課題を解決する制御装置、情報処理システム、制御方法およびプログラムを提供することにある。
本発明の制御装置は、
複数の処理ノードのうち、指定されたタスクの実行優先度に基づいて、該タスクを実行する処理ノードを選択する処理ノード選択部と、
前記実行優先度が所定の優先度よりも低いタスクを前記処理ノード選択部が選択した処理ノードが実行中、該タスクを実行している処理ノードが管理するストレージディスクのI/O(Input/Output)負荷が所定の閾値を超えた場合、該タスクから発行されるI/Oの同時発行数を制限するI/O発行数制御部とを有する。
また、本発明の情報処理システムは、
タスクを実行する複数の処理ノードと、制御装置とを有し、
前記制御装置は、
前記複数の処理ノードのうち、指定されたタスクの実行優先度に基づいて、該タスクを実行する処理ノードを選択する処理ノード選択部と、
前記実行優先度が所定の優先度よりも低いタスクを前記処理ノード選択部が選択した処理ノードが実行中、該タスクを実行している処理ノードが管理するストレージディスクのI/O(Input/Output)負荷が所定の閾値を超えた場合、該タスクから発行されるI/Oの同時発行数を制限するI/O発行数制御部とを有する。
また、本発明の制御方法は、
複数の処理ノードのうち、指定されたタスクの実行優先度に基づいて、該タスクを実行する処理ノードを選択する処理と、
前記実行優先度が所定の優先度よりも低いタスクを前記選択した処理ノードが実行中、該タスクを実行している処理ノードが管理するストレージディスクのI/O(Input/Output)負荷が所定の閾値を超えた場合、該タスクから発行されるI/Oの同時発行数を制限する処理とを行う。
また、本発明のプログラムは、
コンピュータに実行させるためのプログラムであって、
複数の処理ノードのうち、指定されたタスクの実行優先度に基づいて、該タスクを実行する処理ノードを選択する手順と、
前記実行優先度が所定の優先度よりも低いタスクを前記選択した処理ノードが実行中、該タスクを実行している処理ノードが管理するストレージディスクのI/O(Input/Output)負荷が所定の閾値を超えた場合、該タスクから発行されるI/Oの同時発行数を制限する手順とを実行させる。
複数の処理ノードのうち、指定されたタスクの実行優先度に基づいて、該タスクを実行する処理ノードを選択する処理ノード選択部と、
前記実行優先度が所定の優先度よりも低いタスクを前記処理ノード選択部が選択した処理ノードが実行中、該タスクを実行している処理ノードが管理するストレージディスクのI/O(Input/Output)負荷が所定の閾値を超えた場合、該タスクから発行されるI/Oの同時発行数を制限するI/O発行数制御部とを有する。
また、本発明の情報処理システムは、
タスクを実行する複数の処理ノードと、制御装置とを有し、
前記制御装置は、
前記複数の処理ノードのうち、指定されたタスクの実行優先度に基づいて、該タスクを実行する処理ノードを選択する処理ノード選択部と、
前記実行優先度が所定の優先度よりも低いタスクを前記処理ノード選択部が選択した処理ノードが実行中、該タスクを実行している処理ノードが管理するストレージディスクのI/O(Input/Output)負荷が所定の閾値を超えた場合、該タスクから発行されるI/Oの同時発行数を制限するI/O発行数制御部とを有する。
また、本発明の制御方法は、
複数の処理ノードのうち、指定されたタスクの実行優先度に基づいて、該タスクを実行する処理ノードを選択する処理と、
前記実行優先度が所定の優先度よりも低いタスクを前記選択した処理ノードが実行中、該タスクを実行している処理ノードが管理するストレージディスクのI/O(Input/Output)負荷が所定の閾値を超えた場合、該タスクから発行されるI/Oの同時発行数を制限する処理とを行う。
また、本発明のプログラムは、
コンピュータに実行させるためのプログラムであって、
複数の処理ノードのうち、指定されたタスクの実行優先度に基づいて、該タスクを実行する処理ノードを選択する手順と、
前記実行優先度が所定の優先度よりも低いタスクを前記選択した処理ノードが実行中、該タスクを実行している処理ノードが管理するストレージディスクのI/O(Input/Output)負荷が所定の閾値を超えた場合、該タスクから発行されるI/Oの同時発行数を制限する手順とを実行させる。
以上説明したように、本発明においては、I/Oの応答性能を重視するタスクの実行時間を維持することができる。
以下に本発明の実施の形態について図面を参照して説明する。
(第1の実施の形態)
(第1の実施の形態)
図1は、本発明の情報処理システムの第1の実施の形態を示す図である。本形態における情報処理システムは図1に示すように、制御装置100と、処理ノード200−1〜200−4とを有する。制御装置100と処理ノード200−1〜200−4とは、互いに通信可能となっている。なお、図1に示した形態では、処理ノード200−1〜200−4が4台である場合を例に挙げて示しているが、この数に限定しない。
処理ノード200−1〜200−4は、タスクを実行する。
処理ノード200−1〜200−4は、タスクを実行する。
図2は、図1に示した制御装置100の内部構成の一例を示す図である。図1に示した制御装置100は図2に示すように、処理ノード選択部110と、I/O発行数制御部120とを有する。なお、図2には、図1に示した制御装置100が具備する構成要素のうち、本実施の形態に関わる主要な構成要素の一例を示す。
処理ノード選択部110は、処理ノード200−1〜200−4のうち、指定されたタスクの実行優先度に基づいて、そのタスクを実行する処理ノードを選択する。
I/O発行数制御部120は、実行優先度が所定の優先度よりも低いタスクを処理ノード選択部110が選択した処理ノードが実行中、そのタスクを実行している処理ノードが管理するストレージディスクのI/O負荷が所定の閾値を超えた場合、そのタスクから発行されるI/Oの同時発行数を制限する。
I/O発行数制御部120は、実行優先度が所定の優先度よりも低いタスクを処理ノード選択部110が選択した処理ノードが実行中、そのタスクを実行している処理ノードが管理するストレージディスクのI/O負荷が所定の閾値を超えた場合、そのタスクから発行されるI/Oの同時発行数を制限する。
以下に、図1に示した制御装置100における制御方法について説明する。図3は、図1に示した制御装置100における制御方法の一例を説明するためのフローチャートである。
まず、処理ノード選択部110は、処理ノード200−1〜200−4のうち、指定されたタスクの実行優先度に基づいて、そのタスクを実行する処理ノードを選択する(ステップS1)。
続いて、制御装置100は、実行優先度が所定の優先度よりも低いタスクを処理ノード選択部110が選択した処理ノードが実行中、そのタスクを実行している処理ノードが管理するストレージディスクのI/O負荷が所定の閾値を超えたかどうかを判定する(ステップS2)。実行優先度が所定の優先度よりも低いタスクを処理ノード選択部110が選択した処理ノードが実行中、そのタスクを実行している処理ノードが管理するストレージディスクのI/O負荷が所定の閾値を超えた場合、I/O発行数制御部120は、そのタスクから発行されるI/Oの同時発行数を制限する(ステップS3)。
まず、処理ノード選択部110は、処理ノード200−1〜200−4のうち、指定されたタスクの実行優先度に基づいて、そのタスクを実行する処理ノードを選択する(ステップS1)。
続いて、制御装置100は、実行優先度が所定の優先度よりも低いタスクを処理ノード選択部110が選択した処理ノードが実行中、そのタスクを実行している処理ノードが管理するストレージディスクのI/O負荷が所定の閾値を超えたかどうかを判定する(ステップS2)。実行優先度が所定の優先度よりも低いタスクを処理ノード選択部110が選択した処理ノードが実行中、そのタスクを実行している処理ノードが管理するストレージディスクのI/O負荷が所定の閾値を超えた場合、I/O発行数制御部120は、そのタスクから発行されるI/Oの同時発行数を制限する(ステップS3)。
このように、実行優先度が所定の優先度よりも低いタスクを実行している処理ノードが管理するストレージディスクのI/O負荷が所定の閾値を超えた場合、制御装置100が、そのタスクから発行されるI/Oの同時発行数を制限する。そのため、I/Oの応答性能を重視するタスクの実行時間を維持することができる。
(第2の実施の形態)
(第2の実施の形態)
図4は、本発明の情報処理システムの第2の実施の形態を示す図である。本形態における情報処理システムは図4に示すように、タスク実行制御ノード101と、タスク登録管理ノード301と、分散ファイルシステム管理ノード401と、リソース監視ノード501と、処理ノード201−1〜201−4とを有する。これらは、通信ネットワーク601を介して互いに通信可能となっている。なお、図4に示した形態においては、処理ノードの数が4台である場合を例に挙げて示しているが、その数は限定しない。これらのノードは、CPU(Central Processing Unit)、メモリ、ディスク、ネットワーク等を備えた汎用的なサーバから構成されるものとする。
タスク登録管理ノード301は、本情報処理システムを利用する利用者からのタスク登録を担い、利用者が登録したタスクを、タスク実行制御ノード101へ転送(送信)する。
分散ファイルシステム管理ノード401は、本通信システムのような分散ファイルシステムを管理する。分散ファイルシステム管理ノード401は、ファイルの新規作成時に、ファイルを構成するデータの格納先となる処理ノード201−1〜201−4を決定する。また、分散ファイルシステム管理ノード401は、ファイルの読み出し時に、データの読み出し元となる処理ノード201−1〜201−4の情報を提供する。
リソース監視ノード501は、処理ノード201−1〜201−4が消費しているCPUリソースや、I/Oリソース、メモリリソース情報となる消費情報を、すべての処理ノード201−1〜201−4から定期的に取得し、各処理ノード201−1〜201−4のリソース消費状況を監視する。
タスク実行制御ノード101は、処理ノード201−1〜201−4におけるタスクの実行を制御する制御装置である。タスク実行制御ノード101は、処理ノード201−1〜201−4から構成される処理グループ(図4に示した形態では、処理ノード201−1〜201−3が1つの処理グループを構成)の構成を管理する。タスク実行制御ノード101は、タスク登録管理ノード301を介して登録されたタスクの実行先となる処理ノード201−1〜201−4を、指定されたタスクの実行優先度に基づいて、決定する。
処理ノード201−1〜201−4は、タスクを実行する処理・記憶ノードである。
分散ファイルシステム管理ノード401は、本通信システムのような分散ファイルシステムを管理する。分散ファイルシステム管理ノード401は、ファイルの新規作成時に、ファイルを構成するデータの格納先となる処理ノード201−1〜201−4を決定する。また、分散ファイルシステム管理ノード401は、ファイルの読み出し時に、データの読み出し元となる処理ノード201−1〜201−4の情報を提供する。
リソース監視ノード501は、処理ノード201−1〜201−4が消費しているCPUリソースや、I/Oリソース、メモリリソース情報となる消費情報を、すべての処理ノード201−1〜201−4から定期的に取得し、各処理ノード201−1〜201−4のリソース消費状況を監視する。
タスク実行制御ノード101は、処理ノード201−1〜201−4におけるタスクの実行を制御する制御装置である。タスク実行制御ノード101は、処理ノード201−1〜201−4から構成される処理グループ(図4に示した形態では、処理ノード201−1〜201−3が1つの処理グループを構成)の構成を管理する。タスク実行制御ノード101は、タスク登録管理ノード301を介して登録されたタスクの実行先となる処理ノード201−1〜201−4を、指定されたタスクの実行優先度に基づいて、決定する。
処理ノード201−1〜201−4は、タスクを実行する処理・記憶ノードである。
図5は、図4に示したタスク実行制御ノード101の内部構成の一例を示す図である。図4に示したタスク実行制御ノード101は図5に示すように、処理ノード選択部111と、I/O発行数制御部121と、I/O処理優先度制御部131と、判定部141とを有する。なお、図5には、図4に示したタスク実行制御ノード101が具備する構成要素のうち、本実施の形態に関わる主要な構成要素の一例を示す。
処理ノード選択部111は、処理ノード201−1〜201−4のうち、指定されたタスクの実行優先度に基づいて、そのタスクを実行する処理ノードを選択する。処理ノード選択部111は、タスク実行制御ノード101と接続された管理装置であるタスク登録管理ノード301から、タスクのプログラムおよびそのタスクの実行優先度を示す実行優先度情報を取得する。処理ノード選択部111は、取得したタスクのプログラムを選択した処理ノード201−1〜201−4へ送信する。処理ノード選択部111は、タスクの実行優先度が所定の優先度よりも高い場合、そのタスクを実行する処理ノードとして、他のタスクを実行していない処理ノードを選択する。
I/O発行数制御部121は、実行優先度が所定の優先度よりも低いタスクを実行している処理ノードが管理するストレージディスクのI/O負荷が所定の閾値を超えた場合、そのタスクから発行されるI/Oの同時発行数を制限する。I/O発行数制御部121は、I/Oの同時発行数として、レプリカデータの作成要求の同時発行数を制御する。
I/O処理優先度制御部131は、実行優先度が所定の優先度よりも低いタスクを実行している処理ノードが管理するストレージディスクのI/O負荷が所定の閾値を超えた場合、そのタスクから発行されるI/Oの処理優先度を下げる。
判定部141は、処理ノード201−1〜201−4におけるリソースの消費情報をリソース監視ノード501から取得する。判定部141は、取得した消費情報に基づいて、処理ノード201−1〜201−4が管理するストレージディスクのI/O負荷が所定の閾値を超えたかどうかを判定する。
処理ノード選択部111は、処理ノード201−1〜201−4のうち、指定されたタスクの実行優先度に基づいて、そのタスクを実行する処理ノードを選択する。処理ノード選択部111は、タスク実行制御ノード101と接続された管理装置であるタスク登録管理ノード301から、タスクのプログラムおよびそのタスクの実行優先度を示す実行優先度情報を取得する。処理ノード選択部111は、取得したタスクのプログラムを選択した処理ノード201−1〜201−4へ送信する。処理ノード選択部111は、タスクの実行優先度が所定の優先度よりも高い場合、そのタスクを実行する処理ノードとして、他のタスクを実行していない処理ノードを選択する。
I/O発行数制御部121は、実行優先度が所定の優先度よりも低いタスクを実行している処理ノードが管理するストレージディスクのI/O負荷が所定の閾値を超えた場合、そのタスクから発行されるI/Oの同時発行数を制限する。I/O発行数制御部121は、I/Oの同時発行数として、レプリカデータの作成要求の同時発行数を制御する。
I/O処理優先度制御部131は、実行優先度が所定の優先度よりも低いタスクを実行している処理ノードが管理するストレージディスクのI/O負荷が所定の閾値を超えた場合、そのタスクから発行されるI/Oの処理優先度を下げる。
判定部141は、処理ノード201−1〜201−4におけるリソースの消費情報をリソース監視ノード501から取得する。判定部141は、取得した消費情報に基づいて、処理ノード201−1〜201−4が管理するストレージディスクのI/O負荷が所定の閾値を超えたかどうかを判定する。
図6は、図4に示した処理ノード201−1の内部構成の一例を示す図である。図4に示した処理ノード201−1は図6に示すように、データ処理部211と、データ管理部212と、ストレージディスク213と、I/O制御部214と、リソース収集部215と、通信制御部216とを有する。なお、図6には、図4に示した処理ノード201−1が具備する構成要素のうち、本実施の形態に関わる主要な構成要素の一例を示す。また、図4に示した201−2〜201−4についても、図6に示した構成要素と同じ構成要素を具備する。
データ処理部211は、タスク実行制御ノード101から割り当てられたデータ処理のジョブ(タスク)を実行する。
データ管理部212は、I/O要求元から要求があった場合、ストレージディスク213へのデータの書き出しと、データの読み込みを行い、I/O要求元へ応答する。また、データ管理部212は、データの書き出し時においては、あらかじめ決められたレプリカ作成数に応じて、処理ノード201−1自身がデータのオーナーである場合、他の処理ノード201−2〜201−4に対して、データのレプリカデータの作成要求を行う。
ストレージディスク213は、情報を記憶する記憶部である。図6に示すように、ストレージディスク213は、複数のディスクから構成されたものであっても良い。
I/O制御部214は、データ管理部212が発行するレプリカデータの作成要求の送信タイミング、および外部の処理ノード201−2〜201−4から内部のデータ管理部212へのレプリカ作成要求の実行タイミングの制御を行う。
リソース収集部215は、処理ノード201−1を動作させるサーバシステムのCPU、メモリ、ストレージディスク213、ネットワークのリソース消費情報を収集し、リソース監視ノード501に対して、収集したリソース消費情報を定期的に送信する。
通信制御部216は、他のノードとのネットワーク通信を仲介する役割を有し、タスクの実行要求、応答および、I/O要求、応答、リソース収集部215が収集したリソース消費情報の送信に関する通信を行う。
データ処理部211は、タスク実行制御ノード101から割り当てられたデータ処理のジョブ(タスク)を実行する。
データ管理部212は、I/O要求元から要求があった場合、ストレージディスク213へのデータの書き出しと、データの読み込みを行い、I/O要求元へ応答する。また、データ管理部212は、データの書き出し時においては、あらかじめ決められたレプリカ作成数に応じて、処理ノード201−1自身がデータのオーナーである場合、他の処理ノード201−2〜201−4に対して、データのレプリカデータの作成要求を行う。
ストレージディスク213は、情報を記憶する記憶部である。図6に示すように、ストレージディスク213は、複数のディスクから構成されたものであっても良い。
I/O制御部214は、データ管理部212が発行するレプリカデータの作成要求の送信タイミング、および外部の処理ノード201−2〜201−4から内部のデータ管理部212へのレプリカ作成要求の実行タイミングの制御を行う。
リソース収集部215は、処理ノード201−1を動作させるサーバシステムのCPU、メモリ、ストレージディスク213、ネットワークのリソース消費情報を収集し、リソース監視ノード501に対して、収集したリソース消費情報を定期的に送信する。
通信制御部216は、他のノードとのネットワーク通信を仲介する役割を有し、タスクの実行要求、応答および、I/O要求、応答、リソース収集部215が収集したリソース消費情報の送信に関する通信を行う。
以下に、図4に示した情報処理システムにおける処理について説明する。まずは、図4に示した情報処理システム全体における処理について説明する。
<複数のタスクが並列に実行されない場合のタスクの実行手順>
まず、複数のタスクが並列に実行されない場合のタスクの実行手順を説明する。ここでは、タスク実行制御ノード101が処理ノード201−1を選択する場合を例に挙げて説明する。
タスクを実行したい利用者は、実行するタスクを登録する際、タスク登録管理ノード301に対して、実行するタスクのプログラム本体およびタスクの実行優先度を示す実行優先度情報を登録する。タスク登録管理ノード301は、登録されたタスクのプログラム本体およびタスクの実行優先度を示す実行優先度情報をタスク実行制御ノード101へ転送(送信)する。タスク実行制御ノード101は、タスクが実行されていない処理グループの中から1つの処理ノード201−1を選択する。タスク実行制御ノード101は、タスク登録管理ノード301から送信されてきたタスクのプログラム本体を、選択した処理ノード201−1へ送信する。
まず、複数のタスクが並列に実行されない場合のタスクの実行手順を説明する。ここでは、タスク実行制御ノード101が処理ノード201−1を選択する場合を例に挙げて説明する。
タスクを実行したい利用者は、実行するタスクを登録する際、タスク登録管理ノード301に対して、実行するタスクのプログラム本体およびタスクの実行優先度を示す実行優先度情報を登録する。タスク登録管理ノード301は、登録されたタスクのプログラム本体およびタスクの実行優先度を示す実行優先度情報をタスク実行制御ノード101へ転送(送信)する。タスク実行制御ノード101は、タスクが実行されていない処理グループの中から1つの処理ノード201−1を選択する。タスク実行制御ノード101は、タスク登録管理ノード301から送信されてきたタスクのプログラム本体を、選択した処理ノード201−1へ送信する。
タスクのプログラムを受信した処理ノード201−1の通信制御部216は、受信したプログラムをデータ処理部211へ転送する。データ処理部211は、転送されてきたタスクのプログラムを実行する。
データ処理部211がタスクのプログラムを実行中に、本情報処理システムからの読み出しを行う場合は、データ処理部211は、分散ファイルシステム管理ノード401に対して読み出し対象となるデータの保存先を問い合わせる。分散ファイルシステム管理ノード401は、要求されたデータの保存先となる処理ノードを示す情報をデータ処理部211へ返送する。データ処理部211は、分散ファイルシステム管理ノード401から返送された情報が示す処理サーバに対して、データ読み出し要求を発行する。データ読み出し要求を受け取った、処理ノードの通信制御部216は、I/O制御部214を経由して、データ管理部212に要求を転送する。データ管理部212は、配下に接続されたストレージディスク213の中から要求されたデータを読み出す。データ管理部212は、I/O制御部214および通信制御部216を介して、データ読み出し要求を発行したデータ処理部211へデータを返送(送信)する。
データ処理部211がタスクのプログラムを実行中に、本情報処理システムからの読み出しを行う場合は、データ処理部211は、分散ファイルシステム管理ノード401に対して読み出し対象となるデータの保存先を問い合わせる。分散ファイルシステム管理ノード401は、要求されたデータの保存先となる処理ノードを示す情報をデータ処理部211へ返送する。データ処理部211は、分散ファイルシステム管理ノード401から返送された情報が示す処理サーバに対して、データ読み出し要求を発行する。データ読み出し要求を受け取った、処理ノードの通信制御部216は、I/O制御部214を経由して、データ管理部212に要求を転送する。データ管理部212は、配下に接続されたストレージディスク213の中から要求されたデータを読み出す。データ管理部212は、I/O制御部214および通信制御部216を介して、データ読み出し要求を発行したデータ処理部211へデータを返送(送信)する。
データ処理部211がタスクのプログラムを実行中に、本情報処理システムへのデータの書き込みを行う場合は、データ処理部211は、分散ファイルシステム管理ノード401に対して書き込み対象となるデータのレプリカデータを含む保存先を問い合わせる。分散ファイルシステム管理ノード401は、本情報処理システムにおけるレプリカデータの総数に応じて、複数の処理ノードを選択する。分散ファイルシステム管理ノード401は、書き込み対象となる処理ノードのリストを、書き込み要求元となるデータ処理部211へ返送(送信)する。分散ファイルシステム管理ノード401から送信されてきたリストを受信したデータ処理部211は、受信したリストに基づいて、最初のデータの保存先となる処理ノードへデータの書き込み要求およびリストを送信する。書き込み要求を受信した処理ノードは、通信制御部216とI/O制御部214とを介して、データ管理部212に対して要求を送信する。
すると、データ管理部212は、書き込み要求のあったデータを配下のストレージディスク213に記録し、リストに記載された2番目のデータの保存先となる処理ノードへ書き込み要求を転送する。レプリカデータの総数に応じて、このようなデータ書き込み処理が繰り返され、リストされたすべての処理ノードに対して、データの保存先にデータが書き込まれる。
すると、データ管理部212は、書き込み要求のあったデータを配下のストレージディスク213に記録し、リストに記載された2番目のデータの保存先となる処理ノードへ書き込み要求を転送する。レプリカデータの総数に応じて、このようなデータ書き込み処理が繰り返され、リストされたすべての処理ノードに対して、データの保存先にデータが書き込まれる。
データ処理部211がプログラムの実行を完了した後、処理ノードは、通信制御部216を介してタスク実行制御ノード101へプログラムの実行が完了したことを通知する。タスクに含まれるすべての処理が完了すると、タスク実行制御ノード101は、タスク登録管理ノード301に対してタスクが完了したことを通知する。
<複数のタスクが並列に実行される場合のタスクの実行手順>
次に、複数のタスクが並列に実行される場合のタスクの実行手順を説明する。タスクを実行したい利用者は、実行するタスクを登録する際、タスク登録管理ノード301に対して、実行するタスクのプログラム本体およびタスクの実行優先度を示す実行優先度情報を登録する。タスク登録管理ノード301は、登録されたタスクのプログラム本体およびタスクの実行優先度を示す実行優先度情報をタスク実行制御ノード101へ転送(送信)する。
タスク実行制御ノード101は、すでに登録、実行されているタスク群の実行優先度情報を判定し、実行優先度情報が示す実行優先度に基づいて、複数ある処理グループの中から、タスクの実行先を選択する。タスク実行制御ノード101は、このタスクの実行先を選択する際、所定の優先度よりも高い実行優先度のタスクを、他のタスクの実行されていない処理グループに割り当てる(実行させる)。一方、タスク実行制御ノード101は、所定の優先度以下の実行優先度のタスクを、実行優先度が高いタスクを実行する処理グループ以外の処理グループに処理の実行先を割り当てる。
次に、複数のタスクが並列に実行される場合のタスクの実行手順を説明する。タスクを実行したい利用者は、実行するタスクを登録する際、タスク登録管理ノード301に対して、実行するタスクのプログラム本体およびタスクの実行優先度を示す実行優先度情報を登録する。タスク登録管理ノード301は、登録されたタスクのプログラム本体およびタスクの実行優先度を示す実行優先度情報をタスク実行制御ノード101へ転送(送信)する。
タスク実行制御ノード101は、すでに登録、実行されているタスク群の実行優先度情報を判定し、実行優先度情報が示す実行優先度に基づいて、複数ある処理グループの中から、タスクの実行先を選択する。タスク実行制御ノード101は、このタスクの実行先を選択する際、所定の優先度よりも高い実行優先度のタスクを、他のタスクの実行されていない処理グループに割り当てる(実行させる)。一方、タスク実行制御ノード101は、所定の優先度以下の実行優先度のタスクを、実行優先度が高いタスクを実行する処理グループ以外の処理グループに処理の実行先を割り当てる。
タスク実行制御ノード101は、登録されたタスクを各処理グループに属する処理ノード群に割り当てた、タスクの処理を実行開始後、各処理ノードからリソース監視ノード501へ集められたリソースの消費情報の中から、実行優先度の低いタスクを実行する処理グループに属する、処理ノードのストレージディスク213のI/Oリソースの消費情報を継続的に取得する。
タスク実行制御ノード101が取得した、I/Oリソースの消費情報に含まれるI/O負荷データが、所定の閾値を超えた場合、タスク実行制御ノード101は、実行優先度の低いタスクを実行する処理グループに属する、すべての処理ノードのI/O制御部214に対して、以下に示す(1)および(2)の制御動作を開始することを命令する。
(1)本情報処理システムに書き込まれるデータのうち、同一処理ノード内のデータ処理部211から作成要求のあったデータに関する、同一処理ノードのデータ管理部212から、実行優先度の高い処理グループの処理ノードへのレプリカ作成のための書き込み要求の同時発行数をある一定値以下に抑える。
(2)実行優先度の高いタスクを実行する処理グループに属する、処理ノードから発行されるI/O要求から順番にデータ管理部212へI/O要求を転送する。
タスク実行制御ノード101から命令を受信したI/O制御部214は、タスク実行制御ノード101から上記の制御動作の解除命令が発行されるまで、上記の制御動作を実行し続ける。タスク実行制御ノード101が取得する、I/Oリソースの消費情報に含まれるI/O消費データが、所定の閾値を下回った場合、タスク実行制御ノード101は、実行優先度の低いタスクを実行する処理グループに属する、すべての処理ノードのI/O制御部214に対して、上記の制御動作の解除命令を発行する。
タスク実行制御ノード101が取得した、I/Oリソースの消費情報に含まれるI/O負荷データが、所定の閾値を超えた場合、タスク実行制御ノード101は、実行優先度の低いタスクを実行する処理グループに属する、すべての処理ノードのI/O制御部214に対して、以下に示す(1)および(2)の制御動作を開始することを命令する。
(1)本情報処理システムに書き込まれるデータのうち、同一処理ノード内のデータ処理部211から作成要求のあったデータに関する、同一処理ノードのデータ管理部212から、実行優先度の高い処理グループの処理ノードへのレプリカ作成のための書き込み要求の同時発行数をある一定値以下に抑える。
(2)実行優先度の高いタスクを実行する処理グループに属する、処理ノードから発行されるI/O要求から順番にデータ管理部212へI/O要求を転送する。
タスク実行制御ノード101から命令を受信したI/O制御部214は、タスク実行制御ノード101から上記の制御動作の解除命令が発行されるまで、上記の制御動作を実行し続ける。タスク実行制御ノード101が取得する、I/Oリソースの消費情報に含まれるI/O消費データが、所定の閾値を下回った場合、タスク実行制御ノード101は、実行優先度の低いタスクを実行する処理グループに属する、すべての処理ノードのI/O制御部214に対して、上記の制御動作の解除命令を発行する。
次に、図4に示した情報処理システムにおける処理のうち、タスク実行制御ノード101における処理について説明する。図7は、図4に示した情報処理システムにおける処理のうち、タスク実行制御ノード101における処理を説明するためのフローチャートである。
まず、処理ノード選択部111は、タスク登録管理ノード301からタスクのプログラムおよびタスクの実行優先度を示す実行優先度情報を取得する(ステップS11)。すると、処理ノード選択部111は、処理ノード200−1〜200−4のうち、取得したタスクの実行優先度情報が示す実行優先度に基づいて、そのタスクを実行する処理ノードを選択する(ステップS12)。
続いて、処理ノード選択部111は、選択した処理ノードに対して、そのタスクのプログラムを送信する(ステップS13)。
すると、判定部141は、実行優先度が所定の優先度よりも低いタスクを処理ノード選択部111が選択した処理ノードが実行中、そのタスクを実行している処理ノードが管理するストレージディスク213のI/O負荷が所定の閾値を超えたかどうかを判定する(ステップS14)。判定部141が、実行優先度が所定の優先度よりも低いタスクを処理ノード選択部111が選択した処理ノードが実行中、そのタスクを実行している処理ノードが管理するストレージディスクのI/O負荷が所定の閾値を超えたと判定した場合、I/O発行数制御部121は、そのタスクから発行されるI/Oの同時発行数を制限する(ステップS15)。また、I/O処理優先度制御部131は、そのタスクから発行されるI/Oの処理優先度を下げる(ステップS16)。
続いて、処理ノード選択部111は、選択した処理ノードに対して、そのタスクのプログラムを送信する(ステップS13)。
すると、判定部141は、実行優先度が所定の優先度よりも低いタスクを処理ノード選択部111が選択した処理ノードが実行中、そのタスクを実行している処理ノードが管理するストレージディスク213のI/O負荷が所定の閾値を超えたかどうかを判定する(ステップS14)。判定部141が、実行優先度が所定の優先度よりも低いタスクを処理ノード選択部111が選択した処理ノードが実行中、そのタスクを実行している処理ノードが管理するストレージディスクのI/O負荷が所定の閾値を超えたと判定した場合、I/O発行数制御部121は、そのタスクから発行されるI/Oの同時発行数を制限する(ステップS15)。また、I/O処理優先度制御部131は、そのタスクから発行されるI/Oの処理優先度を下げる(ステップS16)。
このように、I/O負荷の高い実行優先度の低いタスクが混在した場合であっても、このタスクから発行されるI/O要求の同時発行数の抑制を行うことで、分散ファイルシステム全体にかかるI/Oのピーク負荷の軽減、および他の同時実行されるタスクから発行されるI/O要求が優先的に処理される。そのため、I/Oの応答性能を重視するタスクの実行時間を維持することが可能となる。
以上、各構成要素に各機能(処理)それぞれを分担させて説明したが、この割り当ては上述したものに限定しない。また、構成要素の構成についても、上述した形態はあくまでも例であって、これに限定しない。
上述した制御装置100、タスク実行制御ノード101それぞれに設けられた各構成要素が行う処理は、目的に応じてそれぞれ作製された論理回路で行うようにしても良い。また、処理内容を手順として記述したコンピュータプログラム(以下、プログラムと称する)を制御装置100、タスク実行制御ノード101それぞれにて読取可能な記録媒体に記録し、この記録媒体に記録されたプログラムを制御装置100、タスク実行制御ノード101それぞれに読み込ませ、実行するものであっても良い。制御装置100、タスク実行制御ノード101それぞれにて読取可能な記録媒体とは、フロッピー(登録商標)ディスク、光磁気ディスク、DVD(Digital Versatile Disc)、CD(Compact Disc)、Blu−ray(登録商標) Discなどの移設可能な記録媒体の他、制御装置100、タスク実行制御ノード101それぞれに内蔵されたROM(Read Only Memory)、RAM(Random Access Memory)等のメモリやHDD(Hard Disc Drive)等を指す。この記録媒体に記録されたプログラムは、制御装置100、タスク実行制御ノード101それぞれに設けられたCPUにて読み込まれ、CPUの制御によって、上述したものと同様の処理が行われる。ここで、CPUは、プログラムが記録された記録媒体から読み込まれたプログラムを実行するコンピュータとして動作するものである。
100 制御装置
101 タスク実行制御ノード
110,111 処理ノード選択部
120,121 I/O発行数制御部
131 I/O処理優先度制御部
141 判定部
200−1〜200−4,201−1〜201−4 処理ノード
211 データ処理部
212 データ管理部
213 ストレージディスク
214 I/O制御部
215 リソース収集部
216 通信制御部
301 タスク登録管理ノード
401 分散ファイルシステム管理ノード
501 リソース監視ノード
601 通信ネットワーク
101 タスク実行制御ノード
110,111 処理ノード選択部
120,121 I/O発行数制御部
131 I/O処理優先度制御部
141 判定部
200−1〜200−4,201−1〜201−4 処理ノード
211 データ処理部
212 データ管理部
213 ストレージディスク
214 I/O制御部
215 リソース収集部
216 通信制御部
301 タスク登録管理ノード
401 分散ファイルシステム管理ノード
501 リソース監視ノード
601 通信ネットワーク
Claims (9)
- 複数の処理ノードのうち、指定されたタスクの実行優先度に基づいて、該タスクを実行する処理ノードを選択する処理ノード選択部と、
前記実行優先度が所定の優先度よりも低いタスクを前記処理ノード選択部が選択した処理ノードが実行中、該タスクを実行している処理ノードが管理するストレージディスクのI/O(Input/Output)負荷が所定の閾値を超えた場合、該タスクから発行されるI/Oの同時発行数を制限するI/O発行数制御部とを有する制御装置。 - 請求項1に記載の制御装置において、
前記実行優先度が所定の優先度よりも低いタスクを前記処理ノード選択部が選択した処理ノードが実行中、該タスクを実行している処理ノードが管理するストレージディスクのI/O負荷が所定の閾値を超えた場合、該タスクから発行されるI/Oの処理優先度を下げるI/O処理優先度制御部を有する制御装置。 - 請求項1または請求項2に記載の制御装置において、
前記I/O発行数制御部は、前記I/Oの同時発行数として、レプリカデータの作成要求の同時発行数を制御する制御装置。 - 請求項1から3のいずれ1項に記載の制御装置において、
前記処理ノード選択部は、当該制御装置と接続された管理装置から、前記タスクのプログラムおよび該タスクの実行優先度を示す実行優先度情報を取得し、該取得したタスクのプログラムを前記選択した処理ノードへ送信する制御装置。 - 請求項1から4のいずれか1項に記載の制御装置において、
前記処理ノード選択部は、前記タスクの実行優先度が所定の優先度よりも高い場合、該タスクを実行する処理ノードとして、他のタスクを実行していない処理ノードを選択する制御装置。 - 請求項1から5のいずれか1項に記載の制御装置において、
前記複数の処理ノードにおけるリソースの消費情報を取得し、該取得した消費情報に基づいて、前記処理ノードが管理するストレージディスクのI/O負荷が所定の閾値を超えたかどうかを判定する判定部を有する制御装置。 - タスクを実行する複数の処理ノードと、
請求項1から6のいずれか1項に記載の制御装置とを有する情報処理システム。 - 複数の処理ノードのうち、指定されたタスクの実行優先度に基づいて、該タスクを実行する処理ノードを選択する処理と、
前記実行優先度が所定の優先度よりも低いタスクを前記選択した処理ノードが実行中、該タスクを実行している処理ノードが管理するストレージディスクのI/O(Input/Output)負荷が所定の閾値を超えた場合、該タスクから発行されるI/Oの同時発行数を制限する処理とを行う制御方法。 - コンピュータに、
複数の処理ノードのうち、指定されたタスクの実行優先度に基づいて、該タスクを実行する処理ノードを選択する手順と、
前記実行優先度が所定の優先度よりも低いタスクを前記選択した処理ノードが実行中、該タスクを実行している処理ノードが管理するストレージディスクのI/O(Input/Output)負荷が所定の閾値を超えた場合、該タスクから発行されるI/Oの同時発行数を制限する手順とを実行させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017046154A JP2018151749A (ja) | 2017-03-10 | 2017-03-10 | 制御装置、情報処理システム、制御方法およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017046154A JP2018151749A (ja) | 2017-03-10 | 2017-03-10 | 制御装置、情報処理システム、制御方法およびプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2018151749A true JP2018151749A (ja) | 2018-09-27 |
Family
ID=63681734
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017046154A Pending JP2018151749A (ja) | 2017-03-10 | 2017-03-10 | 制御装置、情報処理システム、制御方法およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2018151749A (ja) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004334506A (ja) * | 2003-05-07 | 2004-11-25 | Matsushita Electric Ind Co Ltd | データ管理方法、データ管理プログラムおよびナビゲーション装置 |
JP2005275537A (ja) * | 2004-03-23 | 2005-10-06 | Fujitsu Ltd | コピー制御装置および方法 |
JP2014063289A (ja) * | 2012-09-20 | 2014-04-10 | Fujitsu Ltd | ストレージシステム、ストレージ制御装置、ストレージ制御方法、及びストレージ制御プログラム |
WO2015107676A1 (ja) * | 2014-01-17 | 2015-07-23 | 株式会社日立製作所 | 計算機システムの管理システム及び管理方法 |
WO2015111148A1 (ja) * | 2014-01-22 | 2015-07-30 | 株式会社日立製作所 | ストレージ装置およびストレージ装置制御方法 |
WO2016121108A1 (ja) * | 2015-01-30 | 2016-08-04 | 株式会社日立製作所 | ストレージ装置管理方法および計算機システム |
WO2016132428A1 (ja) * | 2015-02-16 | 2016-08-25 | 株式会社日立製作所 | ストレージ装置 |
JP2016167121A (ja) * | 2015-03-09 | 2016-09-15 | 富士通株式会社 | 並列演算装置、並列演算システム、およびジョブ制御プログラム |
-
2017
- 2017-03-10 JP JP2017046154A patent/JP2018151749A/ja active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004334506A (ja) * | 2003-05-07 | 2004-11-25 | Matsushita Electric Ind Co Ltd | データ管理方法、データ管理プログラムおよびナビゲーション装置 |
JP2005275537A (ja) * | 2004-03-23 | 2005-10-06 | Fujitsu Ltd | コピー制御装置および方法 |
JP2014063289A (ja) * | 2012-09-20 | 2014-04-10 | Fujitsu Ltd | ストレージシステム、ストレージ制御装置、ストレージ制御方法、及びストレージ制御プログラム |
WO2015107676A1 (ja) * | 2014-01-17 | 2015-07-23 | 株式会社日立製作所 | 計算機システムの管理システム及び管理方法 |
WO2015111148A1 (ja) * | 2014-01-22 | 2015-07-30 | 株式会社日立製作所 | ストレージ装置およびストレージ装置制御方法 |
WO2016121108A1 (ja) * | 2015-01-30 | 2016-08-04 | 株式会社日立製作所 | ストレージ装置管理方法および計算機システム |
WO2016132428A1 (ja) * | 2015-02-16 | 2016-08-25 | 株式会社日立製作所 | ストレージ装置 |
JP2016167121A (ja) * | 2015-03-09 | 2016-09-15 | 富士通株式会社 | 並列演算装置、並列演算システム、およびジョブ制御プログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102281739B1 (ko) | 리소스 스케줄링 방법, 스케줄링 서버, 클라우드 컴퓨팅 시스템, 및 저장 매체 | |
US9361034B2 (en) | Transferring storage resources between snapshot storage pools and volume storage pools in a distributed network | |
US9298734B2 (en) | Storage system, computer system and data migration method | |
US20130332608A1 (en) | Load balancing for distributed key-value store | |
US20180091586A1 (en) | Self-healing a message brokering cluster | |
US10356150B1 (en) | Automated repartitioning of streaming data | |
JP5935889B2 (ja) | データ処理方法、情報処理装置およびプログラム | |
CN105027068A (zh) | 在存储系统中执行复制 | |
US20100131728A1 (en) | Computer-readable recording medium storing data migration program, data migration method, and data migration apparatus | |
CA2808367A1 (en) | Storage system implemented using optimized parallel processors | |
JP5104855B2 (ja) | 負荷分散プログラム、負荷分散方法、及びストレージ管理装置 | |
KR20130048594A (ko) | 지연 요소를 고려한 분산 스토리지 시스템, 분산 스토리지 관리 장치 및 방법 | |
CN109992373B (zh) | 资源调度方法、信息管理方法和装置及任务部署系统 | |
JP2005338985A (ja) | 記憶領域管理方法及びシステム | |
JP5405530B2 (ja) | 分散データストアシステムおよび障害復旧方法 | |
JP2016510918A (ja) | ボリューム複製を目的としたワークロードの特定およびバッファのサイズ設定 | |
Lin et al. | A load-balancing algorithm for hadoop distributed file system | |
US9164885B2 (en) | Storage control device, storage control method, and recording medium | |
US20120044532A1 (en) | Management device, file server system, execution method and management program | |
US9177274B2 (en) | Queue with segments for task management | |
US20150277801A1 (en) | Information processing system, control method of information processing system, and recording medium | |
CN102576294A (zh) | 含有多个存储装置的存储系统、方法及程序 | |
KR100983479B1 (ko) | 분산 스페이스를 이용하여 분산 프로그래밍 환경을 제공하기 위한 방법, 시스템 및 컴퓨터 판독 가능한 기록 매체 | |
JP2008225686A (ja) | 分散型データ処理プラットフォームにおけるデータ配置管理装置と方法、システム及びプログラム | |
JP2018151749A (ja) | 制御装置、情報処理システム、制御方法およびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200205 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20201221 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210105 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20210706 |