JP5786942B2 - スケジューリングシステム、データ処理システムおよびスケジューリング方法 - Google Patents

スケジューリングシステム、データ処理システムおよびスケジューリング方法 Download PDF

Info

Publication number
JP5786942B2
JP5786942B2 JP2013530892A JP2013530892A JP5786942B2 JP 5786942 B2 JP5786942 B2 JP 5786942B2 JP 2013530892 A JP2013530892 A JP 2013530892A JP 2013530892 A JP2013530892 A JP 2013530892A JP 5786942 B2 JP5786942 B2 JP 5786942B2
Authority
JP
Japan
Prior art keywords
time
data processing
unit
information
processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2013530892A
Other languages
English (en)
Other versions
JPWO2013030908A1 (ja
Inventor
俊也 大友
俊也 大友
浩一郎 山下
浩一郎 山下
鈴木 貴久
貴久 鈴木
宏真 山内
宏真 山内
康志 栗原
康志 栗原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2013030908A1 publication Critical patent/JPWO2013030908A1/ja
Application granted granted Critical
Publication of JP5786942B2 publication Critical patent/JP5786942B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • G06F9/4887Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5019Workload prediction
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Description

本発明は、スケジューリングシステム、データ処理システムおよびスケジューリング方法に関する。
従来、グリッドコンピューティングのように、インターネットなどのネットワークで有線接続された複数の計算機を統一的に扱う分散処理技術が知られている。たとえば、プッシュ型の分散処理システムにおいて、マスタ端末が計算端末の処理実行状況などのパラメータを常時に収集(パラメータ収集)することにより、計算端末の状態を考慮したスケジューリングを行う技術が知られている(たとえば、下記特許文献1参照。)。
また、分散処理によって実行される処理の中には、制限時間内に完了することが求められるリアルタイム制約のある処理も存在する。一方、近年、携帯端末の性能向上が目覚ましく、CPU(Central Processing Unit:中央処理装置)の演算能力および無線通信速度が向上している。
特開2008−152618号公報
しかしながら、上述した従来技術では、携帯端末を計算ノードとした分散処理システムを構築する場合に、通信を伴うパラメータ収集を常時行うと携帯端末のバッテリ消費量が多くなる。これに対して、パラメータ収集を行わずに処理の割当を行うことが考えられるが、スケジューリングを適切に行うことができず割当拒絶の可能性が高まり、割当拒絶により処理が遅延するという問題がある。また、処理の割当時にパラメータ収集を行うことも考えられるが、パラメータ収集にかかる時間により処理が遅延するという問題がある。
本発明は、上述した従来技術による問題点を解消するため、処理の遅延を抑えることができるスケジューリングシステム、データ処理システムおよびスケジューリング方法を提供することを目的とする。
上述した課題を解決し、目的を達成するため、本発明の一側面によれば、複数のデータ処理システムに含まれる第1データ処理システムは、処理の実行要求に基づく前記処理が第1の処理であるときに前記第1の処理が完了するまでの時間を予測し、前記予測された時間に基づいて前記第1の処理に所定情報を付加し、前記複数のデータ処理システムに含まれる第2データ処理システムに前記第1の処理を割り当てるスケジューリングシステム、データ処理システムおよびスケジューリング方法が提案される。
本発明の一側面によれば、処理の遅延を抑えることができるという効果を奏する。
図1は、実施の形態にかかる通信システムの一例を示す図である。 図2は、各装置のハードウェア構成の一例を示す図である。 図3は、予測時間の一例を示す図である。 図4は、通信システムの適用例を示す図である。 図5は、マスタ端末による処理の一例を示すフローチャートである。 図6は、マスタ端末によるパラメータ収集処理の一例を示すフローチャートである。 図7は、計算端末による処理の一例を示すフローチャートである。 図8−1は、予測時間が所定時間内である場合の通信システムの動作の一例を示す図である。 図8−2は、予測時間が所定時間を超える場合の通信システムの動作の一例を示す図である。
以下に添付図面を参照して、本発明にかかるスケジューリングシステム、データ処理システムおよびスケジューリング方法の実施の形態を詳細に説明する。
(実施の形態)
(実施の形態にかかる通信システム)
図1は、実施の形態にかかる通信システムの一例を示す図である。図1に示すように、実施の形態にかかる通信システム100は、スケジューリングシステム110と、データ処理システム群120と、を含んでいる。スケジューリングシステム110およびデータ処理システム群120は、たとえばアドホック通信によって互いに通信可能な携帯端末である。
スケジューリングシステム110(第1データ処理システム)は、入力された処理の実行要求に基づいて、データ処理システム群120の少なくとも一のデータ処理システム(第2データ処理システム)に対して、処理の割当を行うことで処理を実行させるデータ処理システムである。たとえば、スケジューリングシステム110は、データ処理システム群120に含まれる複数のデータ処理システムに対して処理を分散して割り当てる分散処理を行う。分散処理としてはたとえばGlobus Toolkitを挙げることができる。
また、スケジューリングシステム110は、データ処理システム群120に含まれる一のデータ処理システムに対して処理を割り当ててもよい。また、スケジューリングシステム110は、データ処理システム群120のうちの処理を割り当てたデータ処理システムから処理の実行結果を受信してもよい。
データ処理システム群120は、スケジューリングシステム110との間で通信が可能なデータ処理システムである。データ処理システム群120の少なくとも一のデータ処理システムは、スケジューリングシステム110から割り当てられた処理を実行する。また、データ処理システム群120のうちのスケジューリングシステム110から処理を割り当てられたデータ処理システムは、処理の実行結果をスケジューリングシステム110へ送信してもよい。
<スケジューリングシステムの構成例>
スケジューリングシステム110は、処理時間予測ユニット111と、設定ユニット112と、スケジューラ113と、を備えている。また、スケジューリングシステム110は、情報収集ユニット114を備えていてもよい。ここでは、スケジューリングシステム110はデータ処理システム群120に含まれるデータ処理システム120aに処理を割り当てるとする。処理時間予測ユニット111および設定ユニット112には、スケジューリングシステム110がデータ処理システム群120の少なくとも一のデータ処理システムへ割り当てる処理の実行要求が入力される。
処理時間予測ユニット111は、入力された実行要求にかかる処理が第1の処理であるときに、データ処理システム120aに割り当てた第1の処理が完了するまでの時間を予測する。第1の処理は、たとえば、所定時間内に処理が完了する旨の制約が設定された緊急性の高い処理である。緊急性の高い分散処理の一例としては、たとえば、高解像度かつ高圧縮なビデオチャットなどの、リアルタイム性が要求され、かつ高圧縮なため伸張処理が重い処理などが挙げられる。処理時間予測ユニット111は、予測した時間(以下、予測時間と称する)を設定ユニット112へ出力する。
設定ユニット112は、処理時間予測ユニット111から出力された予測時間に基づいて、入力された実行要求に所定情報を付加する。所定情報は、たとえば、第1の処理を強制的に実行すること(強制実行)を指示する情報(強制フラグ)を含む。設定ユニット112は、具体的には、比較ユニット115と、付加ユニット116と、を含んでいる。
比較ユニット115は、処理時間予測ユニット111から出力された予測時間と所定時間とを比較する。所定時間は、たとえば第1の処理において要求される制約時間である。すなわち、これにより、第1の処理を制約時間内に完了できるか否かを判断することができる。比較ユニット115は、比較結果を付加ユニット116へ出力する。
付加ユニット116は、入力された実行要求に対して、比較ユニット115から出力された比較結果に基づいて所定情報を付加する。たとえば、付加ユニット116は、予測時間が所定時間以上である旨の比較結果が比較ユニット115から出力された場合は第1の処理の実行要求に所定情報を付加する。
また、付加ユニット116は、予測時間が所定時間未満である旨の比較結果が比較ユニット115から出力された場合は第1の処理の実行要求に所定情報を付加しない。また、付加ユニット116は、第1の処理とは異なる処理の実行要求に対しては所定情報を付加しない。付加ユニット116は、所定情報を付加し、または所定情報を付加しなかった実行要求をスケジューラ113へ出力する。
スケジューラ113は、設定ユニット112から出力された実行要求にかかる処理をデータ処理システム群120の少なくとも一のデータ処理システムへ割り当てる。また、スケジューラ113は、情報収集ユニット114から出力された情報に基づいて処理を割り当ててもよい。ここでは、スケジューラ113はデータ処理システム群120に含まれるデータ処理システム120aに処理を割り当てる。そして、スケジューラ113は、データ処理システム120aに割り当てた処理の実行を指示する処理割当情報を出力する。スケジューラ113から出力された処理割当情報は、たとえば図示しない通信ユニットによってデータ処理システム120aへ送信される。
情報収集ユニット114は、データ処理システム群120に含まれるデータ処理システムの情報を収集する。情報収集ユニット114が収集する情報は、たとえば、データ処理システム群120の負荷量(たとえばプロセッサ使用率や実行中のプロセス数)などの状態を示すパラメータである。また、パラメータには、たとえば、データ処理システム群120(計算ノード)の数、処理能力、現在割り当てられている処理の量、計算ノードとの通信時間などの情報が含まれていてもよい。情報収集ユニット114は、収集した情報をスケジューラ113へ出力する。これにより、スケジューラ113は、データ処理システム群120の負荷量などのパラメータに基づいて処理の割り当てを行うことができる。
また、処理時間予測ユニット111は、入力された実行要求にかかる処理が第2の処理であるときに、情報収集ユニット114が情報を収集する収集時間および第2の処理がスケジューリングされてから実行が完了するまでの処理時間を測定してもよい。第2の処理は、たとえば、所定時間内に処理が完了することが求められない処理である。そして、処理時間予測ユニット111は、収集時間および処理時間の平均値を計算し、算出した平均値に基づいて、第1の処理の実行が完了するまでの時間を予測してもよい。
<データ処理システムの構成例>
データ処理システム120aは、受付ユニット121と、判定ユニット122と、負荷量判定ユニット123と、処理ユニット124と、を含んでいる。データ処理システム群120のうちのデータ処理システム120aとは異なるデータ処理システムも、たとえばデータ処理システム120aと同様の構成を含んでいる。
受付ユニット121は、スケジューリングシステム110のスケジューラ113によって割り当てられた処理を受け付ける。具体的には、受付ユニット121は、スケジューリングシステム110から送信された処理割当情報を受信する。受付ユニット121は、受信した実行要求を判定ユニット122へ出力する。
判定ユニット122は、受付ユニット121から出力された処理割当情報にかかる処理を受け付けるか否かを判断する。たとえば、判定ユニット122は、処理割当情報に所定情報が付加されているか否かを判定する所定情報判定ユニットの機能を有する。さらに、判定ユニット122は、負荷量判定ユニット123から出力される負荷量に基づいて処理を受け付けるか否かを判断してもよい。判定ユニット122は、処理を受け付けると判断した場合は処理割当情報を処理ユニット124へ出力し、処理を受け付けないと判断した場合は処理割当情報を処理ユニット124へ出力しない。
負荷量判定ユニット123は、データ処理システム120a(自己)の負荷量を判定する。負荷量は、たとえばプロセッサ使用率や実行中のプロセス数などのパラメータである。負荷量判定ユニット123は、判定結果を処理ユニット124へ出力する。また、データ処理システム120aは、負荷量判定ユニット123から出力された判定結果をスケジューリングシステム110の情報収集ユニット114へ送信してもよい。
処理ユニット124は、判定ユニット122から出力された処理割当情報にかかる処理を実行する。また、処理ユニット124は、処理割当情報に所定情報が付加されていた場合に、負荷量判定ユニット123から出力された判定結果に基づいて、既に割り当てられている少なくとも一の処理を破棄する。
具体的には、処理ユニット124は、所定情報が付加された処理割当情報が判定ユニット122から出力され、負荷量が所定値を超えている旨の判定結果が負荷量判定ユニット123から出力されたときに、少なくとも一の処理を破棄する。たとえば、処理ユニット124は、既に割り当てられている処理のうちの優先度が最も低い処理を選択し、選択した処理を破棄する。
処理ユニット124は、このように、データ処理システム120aの負荷量と所定情報の有無に基づいて、既に割り当てられている少なくとも一の処理を破棄する。これにより、所定情報が付加された処理割当情報を受信し、自己の負荷量が大きい場合は、処理割当情報にかかる処理とは異なる処理を破棄して負荷量を軽減することができる。このため、受信した処理割当情報にかかる処理を実行することができる。
このように、通信システム100において、スケジューリングシステム110は、緊急性の高い実行要求を受け付けた場合に、データ処理システム120aに処理を割り当てる際に強制力を付加する。また、データ処理システム120aは、スケジューリングシステム110から処理の割当を受けると、強制力が付加されているかを判断し、強制力が付加されていればたとえば無条件で処理割当を受け付ける。
また、スケジューリングシステム110は、パラメータ収集を行う場合に処理が完了するまでの時間を予測し、予測時間が制約時間より長い場合に処理に強制力を付加し、予測時間が制約時間以下である場合は処理に強制力を付加しない。
これにより、制約時間内に処理が完了しないと予測される場合は、パラメータ収集を行わないことで処理を短時間で割り当てることができる。また、処理の割当拒否を禁止することで割当拒否による遅延を回避することができる。
また、制約時間内に処理が完了すると予測される場合は、パラメータ収集を行うことで処理の割当拒否を回避することができる。また、処理の割当拒否を禁止しないことで、割当拒否の禁止によりデータ処理システム120aが過負荷となることによる他の処理の完了時間の遅延を回避することができる。また、パラメータ収集を常時行わなくてもよいため、スケジューリングシステム110およびデータ処理システム群120の消費電力を低減することができる。
(各装置のハードウェア構成)
図2は、各装置のハードウェア構成の一例を示す図である。図1に示したスケジューリングシステム110およびデータ処理システム120aのそれぞれは、たとえば図2に示す情報処理装置200によって実現することができる。情報処理装置200は、CPU201と、メインメモリ202と、補助メモリ203と、ユーザインタフェース204と、通信インタフェース205と、を備えている。CPU201、メインメモリ202、補助メモリ203、ユーザインタフェース204および通信インタフェース205は、バス210によって接続されている。
CPU201は、情報処理装置200の全体の制御を司る。また、情報処理装置200はCPU201を複数備えていてもよい。メインメモリ202は、たとえばRAM(Random Access Memory)である。メインメモリ202は、CPU201のワークエリアとして使用される。補助メモリ203は、たとえば、ハードディスク、フラッシュメモリなどの不揮発メモリである。補助メモリ203には、情報処理装置200を動作させる各種のプログラムが記憶されている。補助メモリ203に記憶されたプログラムは、メインメモリ202にロードされてCPU201によって実行される。
ユーザインタフェース204は、たとえば、ユーザからの操作入力を受け付ける入力デバイスや、ユーザへ情報を出力する出力デバイスなどを含む。入力デバイスは、たとえばキー(たとえばキーボード)やリモコンなどによって実現することができる。出力デバイスは、たとえばディスプレイやスピーカなどによって実現することができる。また、タッチパネルなどによって入力デバイスおよび出力デバイスを実現してもよい。ユーザインタフェース204は、CPU201によって制御される。
通信インタフェース205は、たとえば、無線によって情報処理装置200の外部との間で通信を行う通信インタフェースである。たとえばスケジューリングシステム110の通信インタフェース205は、データ処理システム120aの通信インタフェース205との間で無線通信を行う。通信インタフェース205は、CPU201によって制御される。
図1に示したスケジューリングシステム110において、処理の実行要求は、たとえばユーザインタフェース204や通信インタフェース205によって入力される。また、処理時間予測ユニット111、設定ユニット112およびスケジューラ113は、たとえばCPU201によって実行されるOS(Operating System:オペレーティングシステム)の機能として実現することができる。また、情報収集ユニット114は、たとえば通信インタフェース205によって実現することができる。また、設定ユニット112から出力された処理割当情報は、たとえば通信インタフェース205によってデータ処理システム120aへ送信される。
図1に示したデータ処理システム120aにおいて、受付ユニット121は、たとえば通信インタフェース205によって実現することができる。判定ユニット122、負荷量判定ユニット123および処理ユニット124は、たとえばCPU201によって実行されるOSの機能として実現することができる。
(予測時間の一例)
図3は、予測時間の一例を示す図である。図3に示す予測時間310は、処理時間予測ユニット111によって算出される予測時間である。図3に示すように、予測時間310は、たとえば、パラメータ収集時間321と、スケジューリング時間322と、ディスパッチ時間323と、処理実行時間324と、の合計に相当する時間である。
パラメータ収集時間321は、情報収集ユニット114によるパラメータ収集にかかる時間である。処理時間予測ユニット111は、たとえば、過去に情報収集ユニット114がパラメータ収集に要した時間を計測しておき、直近数回の平均値を算出することによってパラメータ収集時間321を算出することができる。
スケジューリング時間322は、スケジューラ113によるスケジューリングにかかる時間である。処理時間予測ユニット111は、たとえば、スケジューリングアルゴリズム、処理の数、データ処理システム群120(計算ノード)の数などに基づいてスケジューリング時間322を算出することができる。
ディスパッチ時間323は、スケジューラ113による処理の割当(ディスパッチ)にかかる時間である。処理時間予測ユニット111は、たとえば、処理の量および通信速度に基づいてディスパッチ時間323を算出することができる。
処理実行時間324は、処理をディスパッチした後、データ処理システム群120のうちの少なくとも一のデータ処理システムが処理を実行し、実行結果がスケジューリングシステム110へ返ってくるまでにかかる時間である。処理時間予測ユニット111は、たとえば、処理量とデータ処理システム群120の処理能力に基づいて処理実行時間324を算出することができる。処理量は、たとえば処理の実行要求に含まれている情報である。処理能力は、たとえば過去に行った処理の処理量と処理完了時間を計測しておき、直近数回の平均を用いることで算出することができる。
(通信システムの適用例)
図4は、通信システムの適用例を示す図である。図4に示すアドホックネットワーク400は、図1に示した通信システム100を適用した通信システムである。アドホックネットワーク400は、マスタ端末410と、計算端末421〜423と、を含んでいる。マスタ端末410および計算端末421〜423のそれぞれは、互いに無線接続されてアドホック通信を行う無線通信端末である。
ここでは、マスタ端末410が図1に示したスケジューリングシステム110として動作する。また、計算端末421〜423が図1に示したデータ処理システム群120として動作する。たとえば、計算端末421が図1に示したデータ処理システム120aに対応する。
このように、基地局を介さず端末間で直接通信を行うアドホックネットワーク400に通信システム100を適用することで、基地局の圏外エリアなどでも端末同士がアドホックネットワーク400で接続し、分散処理システムを構築することができる。以下、マスタ端末410が計算端末421に処理を割り当てる場合について説明する。
(マスタ端末による処理)
図5は、マスタ端末による処理の一例を示すフローチャートである。マスタ端末410は、たとえば図5に示す各ステップを実行する。まず、処理時間予測ユニット111が、処理の実行要求を受け付けたか否かを判断し(ステップS501)、処理の実行要求を受け付けるまで待つ(ステップS501:Noのループ)。
ステップS501において、処理の実行要求を受け付けると(ステップS501:Yes)、処理時間予測ユニット111が現在時刻t0を取得する(ステップS502)。つぎに、処理時間予測ユニット111が、ステップS501において受け付けた実行要求にかかる処理にリアルタイム制約があるか(第1の処理か)否かを判断する(ステップS503)。
ステップS503において、実行要求にかかる処理にリアルタイム制約がない場合(ステップS503:No)は、マスタ端末410は、ステップS508へ移行する。実行要求にかかる処理にリアルタイム制約がある場合(ステップS503:Yes)は、処理時間予測ユニット111が、情報収集ユニット114によるデータ処理システム群120のパラメータ収集を実施済みか否かを判断する(ステップS504)。
ステップS504において、パラメータ収集を実施済みである場合(ステップS504:Yes)は、マスタ端末410は、ステップS508へ移行する。パラメータ収集を実施済みでない場合(ステップS504:No)は、処理時間予測ユニット111が、実行要求にかかる処理が完了するまでの予測時間を算出する(ステップS505)。つぎに、比較ユニット115が、ステップS505によって算出された予測時間が、リアルタイム制約にかかる制約時間(所定時間)未満か否かを判断する(ステップS506)。
ステップS506において、予測時間が制約時間未満である場合(ステップS506:Yes)は、マスタ端末410は、ステップS508へ移行する。予測時間が制約時間未満でない場合(ステップS506:No)は、付加ユニット116が、実行要求にかかる処理に強制フラグ(所定情報)を付加する(ステップS507)。
つぎに、スケジューラ113が、実行要求にかかる処理のスケジューリングを行う(ステップS508)。つぎに、スケジューラ113が、ステップS508におけるスケジューリングの結果に基づいて、実行要求にかかる処理をデータ処理システム群120の少なくとも一のデータ処理システムにディスパッチする(ステップS509)。
つぎに、スケジューラ113が、ステップS509におけるディスパッチに対するディスパッチ先からの拒絶があるか否かを判断する(ステップS510)。ディスパッチに対する拒絶がある場合(ステップS510:Yes)は、スケジューラ113が、ステップS508へ戻って再度スケジューリングを行う。ディスパッチに対する拒絶がない場合(ステップS510:No)は、スケジューラ113が、ステップS509におけるディスパッチに対する全ての処理結果が返ってきたか否かを判断し(ステップS511)、全ての処理結果が返ってくるまで待つ(ステップS511:Noのループ)。
ステップS511において、全ての処理結果が返ってくると(ステップS511:Yes)、マスタ端末410は、返ってきた処理結果をユーザへ通知する(ステップS512)。ステップS512による通知は、たとえば図2に示したユーザインタフェース204によって行うことができる。
つぎに、処理時間予測ユニット111が、ステップS502によって取得したt0を現在時刻から減算することによって、スケジューリングから処理完了までの所要時間を算出する(ステップS513)。ステップS513によって算出される所要時間は、図3に示したスケジューリング時間322、ディスパッチ時間323および処理実行時間324の合計時間に相当する。
つぎに、処理時間予測ユニット111が、ステップS513によって算出した所要時間をマスタ端末410のメモリに記憶し(ステップS514)、一連の処理を終了する。以上の各ステップにより、マスタ端末410は、実行要求にかかる処理にリアルタイム制約があるかを判断し、処理の完了の予測時間より制約時間が短かった場合に強制力を付加して処理を割り当てることができる。
(マスタ端末によるパラメータ収集処理)
図6は、マスタ端末によるパラメータ収集処理の一例を示すフローチャートである。マスタ端末410の情報収集ユニット114は、パラメータ収集処理としてたとえば以下の各ステップを実行する。まず、情報収集ユニット114は、パラメータ収集イベントが発生したか否かを判断し(ステップS601)、パラメータ収集イベントが発生するまで待つ(ステップS601:Noのループ)。パラメータ収集イベントは、パラメータ収集の契機となるイベントであり、たとえば周期的に発生する。
ステップS601において、パラメータ収集イベントが発生すると(ステップS601:Yes)、情報収集ユニット114は、現在時刻t0を取得する(ステップS602)。つぎに、情報収集ユニット114は、データ処理システム群120からパラメータを受信することによってパラメータ収集を行う(ステップS603)。
つぎに、情報収集ユニット114は、ステップS602によって取得したt0を現在時刻から減算することによって、パラメータ収集時間を算出する(ステップS604)。ステップS604によって算出される所要時間は、図3に示したパラメータ収集時間321に相当する。つぎに、情報収集ユニット114が、ステップS604によって算出したパラメータ収集時間をマスタ端末410のメモリに記憶し(ステップS605)、一連の処理を終了する。以上の各ステップにより、情報収集ユニット114は、パラメータ収集イベントの発生時にパラメータ収集時間を取得することができる。
(予測時間の算出の一例)
図5に示したステップS505において予測時間の算出の一例について説明する。たとえば、処理時間予測ユニット111は、図5のステップS514によって記憶された所要時間と、図6のステップS605によって記憶されたパラメータ収集時間と、の合計を算出することによって図3に示した予測時間310を算出することができる。
また、処理時間予測ユニット111は、所要時間が複数回分記憶されている場合は、記憶された各所要時間の平均値に基づいて予測時間310を算出してもよい。また、処理時間予測ユニット111は、パラメータ収集時間が複数回分記憶されている場合は、記憶された各パラメータ収集時間の平均値に基づいて予測時間310を算出してもよい。
(計算端末による処理)
図7は、計算端末による処理の一例を示すフローチャートである。計算端末421は、たとえば以下の各ステップを実行する。なお、ここでは計算端末421の処理について説明するが、計算端末422,423の処理についても同様である。まず、受付ユニット121が、マスタ端末410から処理をディスパッチされたか否かを判断し(ステップS701)、処理をディスパッチされるまで待つ(ステップS701:Noのループ)。具体的には、受付ユニット121は、マスタ端末410から処理割当情報を受信したか否かによって処理をディスパッチされたか否かを判断する。
ステップS701において、処理をディスパッチされると(ステップS701:Yes)、受付ユニット121が、計算端末421の負荷量(たとえば実行中のプロセス数)が閾値未満か否かを判断する(ステップS702)。負荷量が閾値未満である場合(ステップS702:Yes)は、判定ユニット122が、ステップS701におけるディスパッチを受け付ける(ステップS703)。つぎに、処理ユニット124が、受け付けたディスパッチにかかる処理を実行し(ステップS704)、一連の処理を終了する。
ステップS702において、負荷量が閾値以上である場合(ステップS702:No)は、判定ユニット122が、ディスパッチにかかる処理に強制フラグが付加されているか否かを判断する(ステップS705)。強制フラグが付加されている場合(ステップS705:Yes)は、処理ユニット124が、実行中または実行予定の他の処理を破棄し(ステップS706)、ステップS703へ移行する。
ステップS705において、強制フラグが付加されていない場合(ステップS705:No)は、計算端末421が、ステップS701におけるディスパッチを拒絶し(ステップS707)、一連の処理を終了する。ステップS707において、計算端末421は、たとえば、通信インタフェース205を介してマスタ端末410へ拒絶通知を送信することによってディスパッチを拒絶する。
以上の各ステップにより、計算端末421は、強制フラグが付加された処理がディスパッチされた場合は、負荷量が高くても他の処理を破棄することによってディスパッチされた処理を優先的に実行することができる。
(通信システムの動作)
図8−1は、予測時間が所定時間内である場合の通信システムの動作の一例を示す図である。図8−1において、図3に示した部分と同様の部分については同一の符号を付して説明を省略する。図8−1において、所定時間810は、比較ユニット115において比較される所定時間(制約時間)である。
図8−1に示すように、予測時間310が所定時間810以下である場合は、スケジューリングシステム110はパラメータ収集821、スケジューリング822およびディスパッチ823を行い、データ処理システム120aは処理実行824を行う。また、ディスパッチ823においては強制フラグは付加されない(強制なし)。
この場合は、予測時間310が所定時間810以下であるため、パラメータ収集821、スケジューリング822、ディスパッチ823および処理実行824は所定時間810以下の時間で完了することが期待できる。また、パラメータ収集821を行うため、ディスパッチ823に対するデータ処理システム120aの拒絶を回避することができる。
図8−2は、予測時間が所定時間を超える場合の通信システムの動作の一例を示す図である。図8−2において、図3または図8−1に示した部分と同様の部分については同一の符号を付して説明を省略する。
図8−2に示すように、予測時間310が所定時間810より長い場合は、スケジューリングシステム110は、パラメータ収集821を行わず、スケジューリング822およびディスパッチ823を行う。また、ディスパッチ823においては強制フラグが付加される(強制あり)。
この場合は、パラメータ収集821を行わない分だけスケジューリング822の開始が早くなるため、スケジューリング822、ディスパッチ823および処理実行824は所定時間810以下の時間で完了することが可能になる。また、ディスパッチ823には強制フラグが付加されるため、データ処理システム120aによる割当拒絶による遅延を回避することができる。
このように、実施の形態にかかる通信システム100によれば、計算端末に割り当てる処理の完了にかかる時間を予測し、処理の完了に時間がかかりそうな場合は処理の割当を強制にして割当拒絶による遅延を回避することができる。このため、処理の割当候補の計算端末のパラメータを常に収集しなくても処理の制約時間(リアルタイム制約)を守ることができる。
以上説明したように、スケジューリングシステム、データ処理システムおよびスケジューリング方法によれば、処理の遅延を抑えることができる。パラメータ収集を常に実行しなくてもよいため、消費電力を低減することができる。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)処理の実行要求に基づいて複数のデータ処理システムの少なくとも一のデータ処理システムに前記処理を割り当てるスケジューラと、
前記処理が第1の処理であるときに前記第1の処理が完了するまでの時間を予測する処理時間予測ユニットと、
予測された前記時間に基づいて前記第1の処理に所定情報を付加する設定ユニットと、
を含むことを特徴とするスケジューリングシステム。
(付記2)前記設定ユニットは、
前記予測された時間と所定時間とを比較する比較ユニットと、
比較結果に基づいて前記第1の処理に前記所定情報を付加する付加ユニットと、
を含むことを特徴とする付記1に記載のスケジューリングシステム。
(付記3)前記予測された時間が前記所定時間よりも小さいときに、複数のデータ処理システムの情報を収集する情報収集ユニットを含むこと
を特徴とする付記2に記載のスケジューリングシステム。
(付記4)複数のデータ処理システムの情報を収集する情報収集ユニットを含み、
前記処理時間予測ユニットは、前記処理が第2の処理であるときに、前記情報収集ユニットが情報を収集する収集時間および前記第2の処理がスケジューリングされてから実行が完了するまでの処理時間を測定すること
を特徴とする付記1または2に記載のスケジューリングシステム。
(付記5)前記処理時間予測ユニットは、前記収集時間および前記処理時間の平均値を計算し、前記平均値に基づいて、前記第1の処理の実行が完了するまでの時間を予測すること
を特徴とする付記4に記載のスケジューリングシステム。
(付記6)前記所定情報は、前記少なくとも一のデータ処理システムにおける前記第1の処理の強制実行を指示する情報を含むこと
を特徴とする付記1〜5のいずれか一つに記載のスケジューリングシステム。
(付記7)前記複数のデータ処理システムとの間で無線接続された携帯端末である
ことを特徴とする付記1〜6のいずれか一つに記載のスケジューリングシステム。
(付記8)前記第1の処理は、前記所定時間内に完了する制約が設定された処理である
ことを特徴とする付記2〜5のいずれか一つに記載のスケジューリングシステム。
(付記9)スケジューラによって割り当てられた処理を受け付ける受付ユニットと、
自己の負荷量を判定する負荷量判定ユニットと、
前記処理に所定情報が付加されているか否かを判定する所定情報判定ユニットと、
前記自己の負荷量と前記所定情報の有無に基づいて、既に割り当てられている少なくとも一の処理を破棄する処理ユニットと、
を含むことを特徴とするデータ処理システム。
(付記10)前記処理ユニットは、前記負荷量が所定値を超えるとともに前記所定情報が付加されているときに、前記少なくとも一の処理を破棄すること
を特徴とする付記9に記載のデータ処理システム。
(付記11)前記処理ユニットは、優先度の最も低い処理を前記少なくとも一の処理として選択すること
を特徴とする付記9または10に記載のデータ処理システム。
(付記12)前記スケジューラとの間で無線接続された携帯端末である
ことを特徴とする付記9〜11のいずれか一つに記載のデータ処理システム。
(付記13)複数のデータ処理システムに含まれる第1データ処理システムは、処理の実行要求に基づく前記処理が第1の処理であるときに前記第1の処理が完了するまでの時間を予測し、
前記予測された時間に基づいて前記第1の処理に所定情報を付加し、
前記複数のデータ処理システムに含まれる第2データ処理システムに前記第1の処理を割り当てること
を特徴とするスケジューリング方法。
(付記14)前記予測された時間が所定時間よりも小さいときに、前記複数のデータ処理システムの情報を収集し、
前記収集された情報に基づいて前記第2データ処理システムに前記第1の処理を割り当てること
を特徴とする付記13に記載のスケジューリング方法。
(付記15)前記予測された時間が所定時間よりも大きいときに前記第1の処理に所定情報を付加し、
前記第2データ処理システムに前記第1の処理を割り当てること
を特徴とする付記13に記載のスケジューリング方法。
(付記16)前記複数のデータ処理システムは、互いに無線接続された携帯端末である
ことを特徴とする付記13〜15のいずれか一つに記載のスケジューリング方法。
100 通信システム
120 データ処理システム群
210 バス
310 予測時間
400 アドホックネットワーク
410 マスタ端末
421〜423 計算端末
810 所定時間

Claims (11)

  1. 処理の実行要求に基づいて複数のデータ処理システムの少なくとも一のデータ処理システムに前記処理を割り当てるスケジューラと、
    前記処理が第1の処理であるときに前記第1の処理が完了するまでの時間を予測する処理時間予測ユニットと、
    予測された前記時間に基づいて前記第1の処理に、前記少なくとも一のデータ処理システムにおける前記第1の処理の強制実行を指示する情報を含む所定情報を付加する設定ユニットと、
    を含むことを特徴とするスケジューリングシステム。
  2. 前記設定ユニットは、
    前記予測された時間と所定時間とを比較する比較ユニットと、
    比較結果に基づいて前記第1の処理に前記所定情報を付加する付加ユニットと、
    を含むことを特徴とする請求項1に記載のスケジューリングシステム。
  3. 前記予測された時間が前記所定時間よりも小さいときに、複数のデータ処理システムの情報を収集する情報収集ユニットを含むこと
    を特徴とする請求項2に記載のスケジューリングシステム。
  4. 複数のデータ処理システムの情報を収集する情報収集ユニットを含み、
    前記処理時間予測ユニットは、前記処理が第2の処理であるときに、前記情報収集ユニットが情報を収集する収集時間および前記第2の処理がスケジューリングされてから実行が完了するまでの処理時間を測定すること
    を特徴とする請求項1または請求項2に記載のスケジューリングシステム。
  5. 前記処理時間予測ユニットは、前記収集時間および前記処理時間の平均値を計算し、前記平均値に基づいて、前記第1の処理の実行が完了するまでの時間を予測すること
    を特徴とする請求項4に記載のスケジューリングシステム。
  6. スケジューラによって割り当てられた処理を受け付ける受付ユニットと、
    自己の負荷量を判定する負荷量判定ユニットと、
    前記処理に、自システムにおける処理の強制実行を指示する情報を含む所定情報が付加されているか否かを判定する所定情報判定ユニットと、
    前記自己の負荷量と前記所定情報の有無に基づいて、既に割り当てられている少なくとも一の処理を破棄する処理ユニットと、
    を含むことを特徴とするデータ処理システム。
  7. 前記処理ユニットは、前記負荷量が所定値を超えるとともに前記所定情報が付加されているときに、前記少なくとも一の処理を破棄すること
    を特徴とする請求項6に記載のデータ処理システム。
  8. 前記処理ユニットは、優先度の最も低い処理を前記少なくとも一の処理として選択すること
    を特徴とする請求項6または請求項7に記載のデータ処理システム。
  9. 複数のデータ処理システムに含まれる第1データ処理システムは、処理の実行要求に基づく前記処理が第1の処理であるときに前記第1の処理が完了するまでの時間を予測し、
    前記予測された時間に基づいて、前記第1の処理に、前記複数のデータ処理システムに含まれる第2データ処理システムにおける前記第1の処理の強制実行を指示する情報を含む所定情報を付加し、
    前記第2データ処理システムに前記第1の処理を割り当てること
    を特徴とするスケジューリング方法。
  10. 前記予測された時間が所定時間よりも小さいときに、前記複数のデータ処理システムの情報を収集し、
    前記収集された情報に基づいて前記第2データ処理システムに前記第1の処理を割り当てること
    を特徴とする請求項9に記載のスケジューリング方法。
  11. 前記予測された時間が所定時間よりも大きいときに前記第1の処理に所定情報を付加し、
    前記第2データ処理システムに前記第1の処理を割り当てること
    を特徴とする請求項9に記載のスケジューリング方法。
JP2013530892A 2011-08-26 2011-08-26 スケジューリングシステム、データ処理システムおよびスケジューリング方法 Expired - Fee Related JP5786942B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2011/069344 WO2013030908A1 (ja) 2011-08-26 2011-08-26 スケジューリングシステム、データ処理システムおよびスケジューリング方法

Publications (2)

Publication Number Publication Date
JPWO2013030908A1 JPWO2013030908A1 (ja) 2015-03-23
JP5786942B2 true JP5786942B2 (ja) 2015-09-30

Family

ID=47755463

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013530892A Expired - Fee Related JP5786942B2 (ja) 2011-08-26 2011-08-26 スケジューリングシステム、データ処理システムおよびスケジューリング方法

Country Status (3)

Country Link
US (1) US20140149991A1 (ja)
JP (1) JP5786942B2 (ja)
WO (1) WO2013030908A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104901898B (zh) * 2015-06-08 2018-08-03 东软集团股份有限公司 一种负载均衡方法及装置
CN106952163B (zh) * 2016-01-07 2021-04-13 平安科技(深圳)有限公司 保险数据处理方法及系统
JP2019046339A (ja) * 2017-09-06 2019-03-22 富士ゼロックス株式会社 情報処理装置及び情報処理プログラム

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08241290A (ja) * 1995-03-07 1996-09-17 N T T Data Tsushin Kk 分散リアルタイムスケジュール方法及びスケジューラ
JP2000268012A (ja) * 1999-03-12 2000-09-29 Nec Corp クライアントサーバシステムにおけるサーバ負荷の分散方法ならびに装置
JP3915672B2 (ja) * 2002-11-18 2007-05-16 株式会社デンソー リアルタイムタスク制御装置
JP4534495B2 (ja) * 2004-01-21 2010-09-01 ソニー株式会社 分散処理システム及び方法、データ処理装置、端末装置
JP2006092432A (ja) * 2004-09-27 2006-04-06 Sony Corp 情報処理装置および方法、並びにプログラム
JP2006113827A (ja) * 2004-10-15 2006-04-27 Hitachi Ltd Cpu余裕管理とトランザクション優先度による負荷分散方法
JP2006163543A (ja) * 2004-12-03 2006-06-22 Canon Inc 画像処理システム
US8108869B2 (en) * 2005-03-11 2012-01-31 Adaptive Computing Enterprises, Inc. System and method for enforcing future policies in a compute environment
WO2007055014A1 (ja) * 2005-11-11 2007-05-18 Fujitsu Limited クラスタシステムのコンピュータにおいて実行されるネットワークモニタ・プログラム、情報処理方法及びコンピュータ
JP4523921B2 (ja) * 2006-02-24 2010-08-11 三菱電機株式会社 計算機リソース動的制御装置
JP4509068B2 (ja) * 2006-07-24 2010-07-21 富士通株式会社 パケット処理装置
US20090158286A1 (en) * 2007-12-18 2009-06-18 International Business Machines Corporation Facility for scheduling the execution of jobs based on logic predicates
US8670324B2 (en) * 2008-07-30 2014-03-11 Fimax Technology Limited Fair weighted network congestion avoidance
JP2010122818A (ja) * 2008-11-18 2010-06-03 Nec Corp コンピュータシステム及びコンピュータ
JP4941507B2 (ja) * 2009-05-27 2012-05-30 沖電気工業株式会社 負荷分散制御装置、プログラム及び方法、並びに、負荷分散装置及び情報処理装置
US9250962B2 (en) * 2011-01-10 2016-02-02 International Business Machines Corporation Optimizing energy use in a data center by workload scheduling and management
US9098331B2 (en) * 2011-06-29 2015-08-04 Telefonaktiebolaget L M Ericsson (Publ) Joint scheduling of multiple processes on a shared processor

Also Published As

Publication number Publication date
WO2013030908A1 (ja) 2013-03-07
US20140149991A1 (en) 2014-05-29
JPWO2013030908A1 (ja) 2015-03-23

Similar Documents

Publication Publication Date Title
CN110049130B (zh) 一种基于边缘计算的服务部署和任务调度方法及装置
Zhang Dynamic spectrum access in cognitive radio wireless networks
US11582166B2 (en) Systems and methods for provision of a guaranteed batch
Hazra et al. Cooperative transmission scheduling and computation offloading with collaboration of fog and cloud for industrial IoT applications
CN105159782A (zh) 基于云主机为订单分配资源的方法和装置
JP6161312B2 (ja) データセンタにおけるQoS認識バランシング
CN107840213B (zh) 一种传送设备控制方法、相关设备及计算机可读介质
JP6395260B2 (ja) 仮想ネットワーク割当方法および装置
CN111343288B (zh) 作业调度方法、系统及计算设备
JP5786942B2 (ja) スケジューリングシステム、データ処理システムおよびスケジューリング方法
WO2012050912A1 (en) System and method for proactive resource allocation
CN107370799A (zh) 一种混合移动云环境中高能效的多用户在线计算迁移方法
Zhengbing et al. Resource management in a distributed computer system with allowance for the level of trust to computational components
US8171484B2 (en) Resource management apparatus and radio network controller
Zikos et al. Communication cost effective scheduling policies of nonclairvoyant jobs with load balancing in a grid
JP6325348B2 (ja) 仮想マシン配置装置
CN105027656B (zh) 由通信网络节点执行以用于在通信网络中调度用户设备的方法
CN102184124A (zh) 任务调度方法及系统
CN114675845A (zh) 信息年龄优化方法、装置、计算机设备及存储介质
JP5526748B2 (ja) パケット処理装置、パケット振り分け装置、制御プログラム及びパケット分散方法
JP5278157B2 (ja) 伝送装置および伝送方法
CN114281544A (zh) 一种基于边缘计算的电力任务执行方法及装置
JP6232698B2 (ja) ネットワークスイッチ装置、タスク移動方法、およびタスク移動プログラム
JP4952435B2 (ja) リソース管理装置及びそれを用いた無線ネットワーク制御装置
KR20150002270A (ko) 멀티 코어 시스템에서 태스크를 분배하기 위한 방법 및 그 전자 장치

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141209

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150206

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150713

R150 Certificate of patent or registration of utility model

Ref document number: 5786942

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees