JP2010218506A - 分散処理システム、コントロール・ユニット、及びクライアント - Google Patents
分散処理システム、コントロール・ユニット、及びクライアント Download PDFInfo
- Publication number
- JP2010218506A JP2010218506A JP2009067614A JP2009067614A JP2010218506A JP 2010218506 A JP2010218506 A JP 2010218506A JP 2009067614 A JP2009067614 A JP 2009067614A JP 2009067614 A JP2009067614 A JP 2009067614A JP 2010218506 A JP2010218506 A JP 2010218506A
- Authority
- JP
- Japan
- Prior art keywords
- client
- control
- control unit
- processing system
- distributed 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.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
- Computer And Data Communications (AREA)
Abstract
【課題】システム制御機能をコントロール・ユニットとクライアントとで分散させて、制御機能による負荷集中を回避し、さらに、分散させて制御機能に関する設定もクライアントに割り当てることで、ユーザ側でシステム制御に関する設定を柔軟に行う。
【解決手段】ユーザから要求されたサービスの実行を要求するクライアントと、プロセッシング・エレメントと、クライアント及びプロセッシング・エレメントに接続されているコントロール・ユニットと、を備えた分散処理システムであって、コントロール・ユニットは分散処理システムを制御するための制御機能を有し、クライアントは、コントロール・ユニットの制御機能のうちの少なくとも1つの制御機能と同じ制御機能を有し、コントロール・ユニット及びクライアントの両方が有する制御機能の少なくとも1つについて、コントロール・ユニット及びクライアントの制御機能の少なくとも一方を選択して制御を実行する。
【選択図】図1
【解決手段】ユーザから要求されたサービスの実行を要求するクライアントと、プロセッシング・エレメントと、クライアント及びプロセッシング・エレメントに接続されているコントロール・ユニットと、を備えた分散処理システムであって、コントロール・ユニットは分散処理システムを制御するための制御機能を有し、クライアントは、コントロール・ユニットの制御機能のうちの少なくとも1つの制御機能と同じ制御機能を有し、コントロール・ユニット及びクライアントの両方が有する制御機能の少なくとも1つについて、コントロール・ユニット及びクライアントの制御機能の少なくとも一方を選択して制御を実行する。
【選択図】図1
Description
本発明は、分散処理システム、コントロール・ユニット、及びクライアントに関するものである。
並列処理システムにおけるシステム制御では、与えられた処理を適当なタスクに分割し、分散している計算資源にタスクを割り当て、入出力を連携させてタスクのスケジューリングを行なう。さらには、実行時に取得した計算モジュールの動的状態をもとに、サブ処理の再配置や実行停止、再開などを行なう場合もある。
これらにより、負荷を分散させたり、あるいは消費電力の最適化を図ったりしながら、処理の効率化を実現する。このようなシステム制御機能を応用した並列処理システムとしては、例えば、特許文献1に提案されたシステムがある。並列処理システムにおいては、タスクのスケジューリング以外に、計算モジュールの登録・管理など多岐にわたる制御機能が必要となる。
従来の並列処理システムにおけるシステム制御機能の一つであるタスクのスケジューリングに関しては、スケジューラなどの専用機能がタスクのスケジューリングを行なっていた。システム全体の負荷分散と消費電力の低下を実現するために、スケジューラによる静的ないし動的なタスク割り当ては有効である。スケジューラを含むシステム制御機能を、単一のモジュールに割り当てるか、複数のモジュールに割り当てるかに関わらず、専用モジュールで実現するのが一般的である。
しかし、制御機能モジュール自身への負荷が集中した場合に、それらの制御機能自身を静的ないし動的に他のモジュールに再割り当てすることによって、負荷分散を実現することは困難であった。さらに、システム制御に関する設定はシステム制御モジュールで集中的に行なっており、ユーザ側で柔軟に行うことが困難であった。
本発明は、上記に鑑みてなされたものであって、システム制御機能モジュールであるコントロール・ユニットの全機能と同等の機能を発現できるクライアントを用意し、コントロール・ユニットの一部またはすべての機能を任意のタイミングで代替させ、システム制御の設定をクライアントで行うことのできるシステムを構築する。これにより、システム制御機能をコントロール・ユニットとクライアントとで分散させて、制御機能による負荷集中を回避し、さらに、制御機能に関する設定もクライアントに割り当てることで、ユーザ側でシステム制御に関する設定を柔軟に行うことを目的とする。
上述した課題を解決し、目的を達成するために、本発明に係る分散処理システムは、ユーザから要求されたサービスの実行を要求するクライアントと、プロセッシング・エレメントと、クライアント及びプロセッシング・エレメントに接続されているコントロール・ユニットと、を備えた分散処理システムであって、コントロール・ユニットは分散処理システムを制御するための制御機能を有し、クライアントは、コントロール・ユニットの制御機能のうちの少なくとも1つの制御機能と同じ制御機能を有し、コントロール・ユニット及びクライアントの両方が有する制御機能の少なくとも1つについて、コントロール・ユニット及びクライアントの制御機能の少なくとも一方を選択して制御を実行することを特徴としている。
本発明に係る分散処理システムでは、コントロール・ユニット及びクライアントの両方が有する制御機能の少なくとも1つについて、コントロール・ユニット及びクライアントのどちらかの制御機能を択一的に選択して制御を実行することが好ましい。
本発明に係る分散処理システムでは、コントロール・ユニット及びクライアントの両方が有する制御機能の少なくとも1つについて、コントロール・ユニット及びクライアントの両方の制御機能を用いて制御を実行することが好ましい。
本発明に係る分散処理システムでは、コントロール・ユニット及びクライアントの制御機能の選択は、あらかじめコントロール・ユニットに記憶された選択設定にしたがって、コントロール・ユニットが実行することが好ましい。
本発明に係る分散処理システムでは、コントロール・ユニット及びクライアントの制御機能の選択は、クライアントにサービスの実行を要求するユーザ又はそれ以外のユーザからの要求にしたがって、コントロール・ユニットが実行することが好ましい。
本発明に係る分散処理システムでは、コントロール・ユニットは、判断条件にしたがって、制御機能の選択の実行の承諾又は拒否を判断し、この判断結果に基づいて、制御機能の選択を実行することが好ましい。
本発明に係る分散処理システムでは、コントロール・ユニットは判断条件をあらかじめ記憶していることが好ましい。
本発明に係る分散処理システムでは、コントロール・ユニットは、クライアントにサービスの実行を要求するユーザ又はそれ以外のユーザからの要求にしたがって、判断条件を設定することが好ましい。
本発明に係る分散処理システムでは、コントロール・ユニットは、クライアントの制御機能が選択されている場合であっても、クライアントに制御コマンドを発行し、選択された制御機能に代えて、対応する自身の制御機能を強制的に選択することが好ましい。
本発明に係る分散処理システムでは、コントロール・ユニットは、クライアントの制御機能が選択されているか否かに関わらず、クライアントに制御コマンドを発行し、クライアントの制御機能を強制的に変更することが好ましい。
本発明に係る分散処理システムでは、コントロール・ユニットは、クライアントにサービスの実行を要求するユーザ又はそれ以外のユーザからの要求にしたがって、クライアントに制御コマンドを発行することが好ましい。
本発明に係る分散処理システムでは、コントロール・ユニットは、発行条件に従って自律的に、クライアントに制御コマンドを発行することが好ましい。
本発明に係る分散処理システムでは、クライアントは、クライアントの制御機能が選択されているか否かに関わらず、変更条件にしたがって、変更条件によって指定された制御機能を強制的に変更し、コントロール・ユニットに通知することが好ましい。
本発明に係る分散処理システムでは、変更条件は、クライアントの制御機能が選択されている場合に、コントロール・ユニットが設定すること、あるいは、あらかじめ記憶させておくことを含むことが好ましい。
本発明に係る分散処理システムでは、コントロール・ユニットは、クライアントからの通知があった場合に、通知にしたがって、自身の制御機能を再設定することが好ましい。
本発明に係る分散処理システムでは、変更条件は、クライアントの制御機能が選択されてからの制限時間、サービス実行環境の状況、サービス実行負荷の状況、計算資源使用状況、サービスの実行状況のうちの少なくとも1つを含むことが好ましい。
本発明に係る分散処理システムでは、制御機能は、制御機能に必要な情報の公開又は非公開を択一的に選択する機能を含むことが好ましい。
本発明に係る分散処理システムでは、公開を制限できる情報はプロセッシング・エレメントの状態を含むことが好ましい。
本発明に係る分散処理システムでは、公開を制限できる情報はスケジューリングポリシーを含むことが好ましい。
本発明に係る分散処理システムでは、制御機能は、計算資源の確保・解放、処理経路の確立・解放、プロセッシング・エレメントの状態のモニタリング、処理のスケジューリング、スケジューリングについてのスケジューリングポリシーの選択、サービスのタスク分解、プロセッシング・エレメントの登録・解除、及び、経路情報の記憶のうちの少なくとも1つを含むことが好ましい。
本発明に係る分散処理システムでは、クライアントは、コントロール・ユニットのすべての制御機能と同じ制御機能を備えることが好ましい。
本発明に係る分散処理システムでは、コントロール・ユニットのすべての制御機能について、クライアントの制御機能のみを用いて制御を実行することが好ましい。
本発明に係る分散処理システムでは、コントロール・ユニットのすべての制御機能について、コントロール・ユニットの制御機能のみを用いて制御を実行することが好ましい。
本発明に係る分散処理システムは、別の態様においては、ユーザから要求されたサービスの実行を要求するクライアントと、クライアントに接続されたプロセッシング・エレメントと、を備えた分散処理システムであって、クライアントが有する制御機能のみによって制御されることを特徴としている。
本発明に係る分散処理システムは、さらに別の態様においては、ユーザからのサービス要求を受ける機能を備えたコントロール・ユニットと、コントロール・ユニットに接続されたプロセッシング・エレメントと、を備えた分散処理システムであって、コントロール・ユニットが有する制御機能のみによって制御されることを特徴としている。
本発明に係るコントロール・ユニットは、ユーザから要求されたサービスの実行を要求するクライアント、及び、プロセッシング・エレメントとともに分散処理システムを構成し、分散処理システムを制御する制御機能を有するコントロール・ユニットであって、コントロール・ユニット及びクライアントの両方が有する制御機能の少なくとも1つについて、制御の実行のために、コントロール・ユニット及びクライアントの制御機能の少なくとも一方を選択することを特徴としている。
本発明に係るクライアントは、分散処理システムを制御する制御機能を有するコントロール・ユニットに接続され、ユーザから要求されたサービスの実行を要求するクライアントであって、コントロール・ユニットの制御機能のうちの少なくとも1つの制御機能と同じ制御機能を有し、コントロール・ユニット及びクライアントの両方が有する制御機能の少なくとも1つについて、コントロール・ユニットによって選択された制御機能を用いた制御を実行することを特徴としている。
本発明に係る分散処理システム、コントロール・ユニット、及びクライアントは、システム制御機能をコントロール・ユニットとクライアントとで分散させて、制御機能による負荷集中を回避し、さらに、分散させて制御機能に関する設定もクライアントに割り当てることで、ユーザ側でシステム制御に関する設定を柔軟に行うことができる、という効果を奏する。
以下に、本発明に係る分散処理システム、コントロール・ユニット、及びクライアントの実施形態を図面に基づいて詳細に説明する。なお、以下の実施形態によりこの発明が限定されるものではない。
まず、本実施形態に係る処理モデルについて図1を参照して説明する。図1は、本実施形態に係る分散処理システムの構成例を示す図である。
図1に示すように、アプリケーション(サービス)の実行を要求するクライアント21、システム全体の制御を行うコントロール・ユニット(以下、CUと省略することがある)11、および、計算モジュールであるプロセッシング・エレメント(以下、PEと省略することがある)31から3nから分散処理システムが構成される。クライアント21は、PEの一種であり、計算を行わせることも可能である。
ここで、PEを識別するIDをPEIDと呼ぶ。PEはタスクの処理に特化した機能を有しており、この機能を識別するIDを機能IDと呼ぶ。
次に、アプリケーション実行例について図2を参照して説明する。図2は、アプリケーションの処理の流れを示すフローチャートである。この例では、JPEGデコード処理を取り上げる。
JPEGデコード処理は、図2に示すように、JPEGファイル解析(ステップS101)、エントロピー複合化(ステップS102)、逆量子化(ステップS103)、IDCT(ステップS104)、アップサンプリング(ステップS105)、及び、色信号の変換(ステップS106)の6つの連続した処理に分割することが可能である。
ここで、JPEGデコード処理のようにユーザが処理要求するアプリケーションをサービスと呼び、JPEGデコード処理を構成するエントロピー復号化のようなサブ処理をタスクと呼ぶ。
サービス、タスクにはそれぞれの処理内容を識別するためにサービスIDおよびタスクIDが一意に割り当てられている。JPEGデコード処理のサービスIDはSV−823、JPEGデコード処理を構成する各タスクのタスクIDをTK−101からTK−106とする。
クライアント21がサービスとしてJPEGデコード処理の実行を要求すると、コントロール・ユニット11は、たとえば図3に示すサービス―タスク対応表に従って、TK−101からTK−106タスクの列に分解する。図3は、図2に示すサービスと、サービスを構成するタスクと、を対応させた表である。
タスクは、実行可能な各PEに割り当てられる。PE間の経路は一意にその入出力が定められており、入出力のペアに経路のIDとしてパスIDが決められる。コントロール・ユニット11はこの処理経路の構成に関する情報(実行遷移情報)を生成する。実行遷移情報の例を図4に示す。図4は、実行遷移情報を構成する情報の例と、各構成情報のデータ例と、をそれぞれ示す表である。
実行遷移情報は、例えば、実行するサービスのIDを含むID情報とサービス処理のための経路情報とから構成されており、さらにPEセクションとパスセクションで構成されている。PEセクションは機能を提供するPEのPEIDと機能IDを含み、パスセクションはデータ送信側(ソース)およびデータ受信側(デスティネーション)のPEIDおよびそれらのPE間の経路のID(パスID)を含む。
例えば、図4に示す実行遷移情報に従って、JPEGデコードを行う処理経路を図5のように構成できる。図5は、図4に示す実行遷移情報の構成に対応したシステムのモデル例を示す図である。
その後、処理に必要な計算資源の割り当てと処理経路の確立を行う。
その後、処理に必要な計算資源の割り当てと処理経路の確立を行う。
つづいて、本実施形態に係る分散処理システムにおける制御機能について説明する。
まず、制御機能の種類について図6を参照して説明する。図6は、本実施形態の分散処理システムにおける制御機能の例を示す表である。図6では、制御機能IDと、対応する制御機能と、を示している。
まず、制御機能の種類について図6を参照して説明する。図6は、本実施形態の分散処理システムにおける制御機能の例を示す表である。図6では、制御機能IDと、対応する制御機能と、を示している。
本システムの制御機能として、例えば、図6のように制御機能IDCF−01からCF−12と対応付けられる12種の制御機能が挙げられる。
以下に各制御機能について説明する。
以下に各制御機能について説明する。
CF−01に対応する「実行遷移情報キャッシュ」は、実行遷移情報をローカルにキャッシュしておく機能である。
CF−02に対応する「サービス―タスク列分解」は、サービスを一つ以上の連続したタスクの列に対応づける機能である。
CF−03に対応する「スケジューリング(実行遷移情報生成)」は、サービス処理に必要なタスクを実行できる機能を持つ最適なPEをスケジューリングポリシーに則って選択し、それらの実行順序と入出力関係を決定する機能である。
CF−04に対応する「スケジューリングポリシー管理」は、実行遷移情報を生成する指針であるスケジューリングポリシーの公開を含む情報の管理を行う機能である。
CF−05に対応する「PE状態モニタリング」は、PEの実行状態特に実行時の動的情報を取得する機能である。
CF−06に対応する「PE情報管理」は、PEの仕様などを含む静的情報の公開を含む情報の管理を行う機能である。
CF−07に対応する「計算資源確保要求」は、実行遷移情報に従って、タスクを実行するために必要な計算資源となるPEのメモリなどを確保するようにPEに要求する機能である。
CF−08に対応する「処理経路確立要求」は、実行遷移情報に従って、PEとPE間およびPEとクライアント間の処理経路を確立するように要求する機能である。
CF−09に対応する「計算資源解放要求」は、サービス処理の終了後に、使用した計算資源を、他のサービス処理に使用できるように解放するよう要求する機能である。
CF−10に対応する「処理経路解放要求」は、サービス処理の終了後に、使用した処理経路を、解放するように要求する機能である。
CF−11に対応する「PE登録」は、PEの起動時などにCUに接続されているPEの機能などを登録する機能である。
CF−12に対応する「PE登録解除」は、登録されているPEの情報を消去または無効とし登録を解除する機能である。
つづいて、制御機能の選択設定について、図7から図11を参照して説明する。
本実施形態の分散処理システムでは、クライアント21もCU11と同等の制御機能を発現させることができる。すなわち、クライアント21は、CU11が備える制御機能をすべて備えている。したがって、クライアントとCUのどちらか一方ないしは両方が各制御機能をCU管理下で選択することによって、制御機能の分担を行うことができる。以下の説明では、制御機能の選択設定を模式的に図7から図11に示すような表形式で図示するが、実施形態はこれに限定されるものではない。
本実施形態の分散処理システムでは、クライアント21もCU11と同等の制御機能を発現させることができる。すなわち、クライアント21は、CU11が備える制御機能をすべて備えている。したがって、クライアントとCUのどちらか一方ないしは両方が各制御機能をCU管理下で選択することによって、制御機能の分担を行うことができる。以下の説明では、制御機能の選択設定を模式的に図7から図11に示すような表形式で図示するが、実施形態はこれに限定されるものではない。
また、本発明の分散処理システムは、本実施形態のように、CU11が備える制御機能をクライアント21がすべて備える場合に限定されることなく、CU11が備える制御機能の少なくとも1つをクライアントが備える場合に適用できる。
図7は、制御機能の第1の選択設定例を示す表である。図7から図11において、CLはクライアント21、CUはコントロール・ユニット11にそれぞれ対応し、制御機能の選択を丸印によって示している。
第1の選択設定例では、全制御機能の選択設定はCUとなっており、すべてのシステム制御をコントロール・ユニット11が行う。
CUは、制御機能の選択設定の一部または全部をCLとすることが可能である。例えば、図8に示すように、CF−01からCF−10の選択設定をCLに移動することができる。図8は、制御機能の第2の選択設定例を示す表である。
これに対して、図9に示すように、CF−01からCF−06の選択設定をCLに移動することもできる。図9は、制御機能の第3の選択設定例を示す表である。
図10は、制御機能の第4の選択設定例を示す表である。
第4の選択設定例では、すべての制御機能の選択設定をCLとしている。
第4の選択設定例では、すべての制御機能の選択設定をCLとしている。
上述の第1から第4の選択設定例では、制御機能はクライアント21かCU11に対して択一的に選択していたが、一部の機能に関して、クライアント21とCU11の双方とも選択してもよい。
例えば、図11に示すように、PE状態モニタリング(CF−05)についてはクライアント21とCU11の双方からPEをモニタし情報を取得しても構わない。ここで、図11は、制御機能の第5の選択設定例を示す表である。
例えば、図11に示すように、PE状態モニタリング(CF−05)についてはクライアント21とCU11の双方からPEをモニタし情報を取得しても構わない。ここで、図11は、制御機能の第5の選択設定例を示す表である。
なお、CF−04(スケジューリングポリシー管理)、CF−06(PE情報管理)のように制御機能に必要な情報公開を含む情報管理機能については適切な制御機能(ここではCF−03、CF−05に該当)と組み合わせて使用することが好ましいが、クライアント21でCF−04(スケジューリングポリシー管理)を実行し、CU11がCF−03(スケジューリング)を実行するというように、クライアント21とCU11でCF−03とCF−04を分担してもよい。PE情報管理についても、クライアント21とCU11でCF−05とCF−06を分担することができる。ただし、場合によっては、制御機能に必要な情報をクライアント21とCU11の間でやり取りする必要がある。
つづいて、制御機能に必要な情報について、図12、図13を参照して説明する。
制御機能の一部にはその機能を発現するために必要な情報がある。CU11が制御機能の選択設定をクライアント21とした場合は、それらの情報を公開する必要がある。そのとき、CU11はそれらの情報の一部またはすべての公開を制限することができる。その他、制御機能に必要な情報の公開を含む管理機能も制御機能として組み込む。
以下、上述のCF−04(スケジューリングポリシー管理)、CF−06(PE情報管理)を例に挙げて説明する。
制御機能の一部にはその機能を発現するために必要な情報がある。CU11が制御機能の選択設定をクライアント21とした場合は、それらの情報を公開する必要がある。そのとき、CU11はそれらの情報の一部またはすべての公開を制限することができる。その他、制御機能に必要な情報の公開を含む管理機能も制御機能として組み込む。
以下、上述のCF−04(スケジューリングポリシー管理)、CF−06(PE情報管理)を例に挙げて説明する。
図12は、スケジューリングポリシー管理におけるポリシーIDとステータスの例を示す表である。
制御機能CF−03のスケジューリングを行うためには、スケジューリングの指針となるスケジューリングポリシーを選択する必要がある。CF−04はシステムに登録されているスケジューリングポリシーのリストを公開するなどスケジューリングポリシーの管理機能を示している。
制御機能CF−03のスケジューリングを行うためには、スケジューリングの指針となるスケジューリングポリシーを選択する必要がある。CF−04はシステムに登録されているスケジューリングポリシーのリストを公開するなどスケジューリングポリシーの管理機能を示している。
この例では、
(a)消費電力を最適化し低消費電力で実行できる処理経路を構築するポリシー
(b)処理性能を最大化するポリシー
(c)PE間の通信性能を最大化しネットワーク距離を最適化するポリシー
(d)プライバシーを保護するポリシー
の4つのポリシーが提供される。(a)、(b)、(c)、(d)の各ポリシーは、PL−10(消費電力最適化)、PL−11(処理性能最適化)、PL−12(ネットワーク距離最適化)、PL−13(プライバシー優先)のIDでそれぞれ識別できる。
(a)消費電力を最適化し低消費電力で実行できる処理経路を構築するポリシー
(b)処理性能を最大化するポリシー
(c)PE間の通信性能を最大化しネットワーク距離を最適化するポリシー
(d)プライバシーを保護するポリシー
の4つのポリシーが提供される。(a)、(b)、(c)、(d)の各ポリシーは、PL−10(消費電力最適化)、PL−11(処理性能最適化)、PL−12(ネットワーク距離最適化)、PL−13(プライバシー優先)のIDでそれぞれ識別できる。
このときに、CU11は、システム全体が過負荷となるのを回避する目的で、クライアント21が処理性能を最大化するポリシーPL−11を使って処理経路を構築するのを制限するために、PL−11のステータスを使用不可とする。一方、CU11は、その他3つのポリシーについては使用可能として情報を提供する(図12)。
図13は、PE情報管理におけるPE基本情報とステータスの例を示す表である。
上述のスケジューリングポリシー管理と同様に、CF−03のスケジューリングを行うときに処理経路に組み込むPEの情報をモニタリングする必要がある。CF−06に対応するPE情報管理の情報として、スケジューリングに必要なPEの情報を、例えば、クライアント21に選択設定を移す前のPEの情報として図13のような表形式で提供する。
上述のスケジューリングポリシー管理と同様に、CF−03のスケジューリングを行うときに処理経路に組み込むPEの情報をモニタリングする必要がある。CF−06に対応するPE情報管理の情報として、スケジューリングに必要なPEの情報を、例えば、クライアント21に選択設定を移す前のPEの情報として図13のような表形式で提供する。
図13に示すPEの情報には、PEID、機能ID、PEのアーキテクチャ、残メモリ容量、過去の平均負荷、接続アドレスなどが含まれる。さらに、使用権限のステータスが含まれる。このとき経路への組み込みを制限したいPEのステータスを使用不可として指示できる。CF−06は、これらのPEに関する情報を管理する機能である。
なお、PE情報管理の情報は、図13に示す情報に限定されることはなく、さらに、提供の形態は図13のような表形式に限定されない。
また、制御機能CF−05のPE状態のモニタリングを実現するためにもこれらの情報(各PEのIDや接続アドレス)が必要となる場合もある。この場合、モニタリングを制限したいPEは公開不可とし、リストそのものを提供しないという制限を可能とするとよい。
例えば、一定以上使用料を払っているユーザが使用するクライアント21にだけ高性能なPEを公開する場合である。
例えば、一定以上使用料を払っているユーザが使用するクライアント21にだけ高性能なPEを公開する場合である。
さらに、使用不可のPEはモニタリング可能とし、処理経路への組み込みは不可とするとよい。また、公開不可のPEはモニタリングも処理経路への組み込みも不可とすることが好ましい。
次に、本実施形態の分散処理システムによる処理の流れについて、図14から図16に示す例を挙げて説明する。図14から図16において、「クライアント」はクライアント21を、「コントロール・ユニット」はコントロール・ユニット11を、「PE」はPE31からPE3nのうちの対応するPEを、それぞれ示す。
図14は、すべての制御機能の選択設定がCU11となっている例の処理の流れを示す図である。この例の制御機能の選択設定は、図7の選択設定に対応している。
ステップS1000では、クライアント21はCU11にサービスの実行を要求する。例えば要求するサービスを特定する方法として、サービスIDを送信する。
ステップS1010では、CU11は以前に使用した実行遷移情報を格納したキャッシュから該当するサービスに対応するエントリを検索する。キャッシュにヒットした場合は、ステップS1040に進む。
ステップS1020では、キャッシュにヒットしなければ、図3に示すようなサービスとタスクの対応を格納したデータベースにアクセスし、ステップS1030では、サービスをタスク列に分解する。
ステップS1040では、CU11は定期的にPEの状態をモニタリングし、動的情報として処理負荷やメモリの使用率を把握する。このほかに、CU11は、静的情報としてPEのシステム構成情報を取得している。便宜上、PEの状態モニタリングはS1030とS1050の間に設けているが、CU11は任意のタイミングでPEの状態をモニタリングできる。
ステップS1050では、PEの状態を勘案しながら、スケジューリングポリシーを使用して実行遷移情報を生成する。
ステップS1060では、生成した実行遷移情報をキャッシュに保存する。
ステップS1070では、ステップS1060の後、処理経路を構成する各PEに対して、計算資源確保の要求を送信すると同時に実行遷移情報を送信する。各PEはデータ処理に必要な計算資源としてメモリなどを確保する。なお、実行遷移情報自体を計算資源確保の要求として取り扱ってもよい。以降、要求などの制御信号を制御に必要な情報と区別して記述するが、それらを同一視しても構わない。
クライアント21もPEの一種としてデータ処理機能を提供することも可能だが、この例では、説明の簡略化のため、クライアント21はデータ処理を行わず、JPEG処理における画像データの入出力処理のみを行うものとして、計算資源確保の要求を省略している。
ステップS1080、S1090では、処理経路を構成する各PEおよびクライアント21に対して処理経路確立をそれぞれ要求する。各PEおよびクライアント21は処理経路上隣接するPEとの処理経路を確立する。
ステップS1100では、クライアント21とPEを接続する処理経路が確立すると、CU11がクライアント21に処理開始要求を送信する。
ステップS1110、S1120では、クライアント21およびPEはサービスの実行に必要な処理を行なう。具体的には、クライアントから入力されたデータをPEが処理し、処理経路に沿って次のPEに出力する。最後のPEまでデータの処理と伝達を繰り返し、最後にクライアントが処理結果を受け取る。ただし、実施形態によっては、クライアントのデータ入出力は必須ではなく、データの入出力も他のPEに実行させる実施形態も考えられる。
ステップS1130では、クライアント21は処理が完了するとCU11に通知する。
ステップS1140、S1150では、CU11は処理経路の解放を各PEおよびクライアント21にそれぞれ要求する。
ステップS1160では、同様にCU11は計算資源の解放を各PEに要求する。
ステップS1170では、CU11はサービス実行完了をクライアント21に送信し、サービスの実行を終了する。
図15は、一部の制御機能の選択設定がクライアント21、残りの選択設定がCU11となっている例の処理の流れを示す図である。
ステップS2000では、クライアント21は制御機能の選択設定をCU11に要求する。
ステップS2010では、CU11はクライアント21での実行が可能な制御機能を選択設定した情報をクライアント21に送信する。例えば、図6のCF−01からCF−10の制御機能をクライアント21で実行可能、または許可できる、と判断し、図8の情報を送信する。これと同時に制御機能に必要な関連情報のリストを送信する。
ステップS2011では、クライアント21は制御機能および必要な関連情報を選択し、制御機能の選択設定を必要に応じて書き換える。
ステップS2020では、選択設定完了をCU11に通知し、制御機能および関連情報の選択結果を送信する。例えばCF−01からCF−06までの制御機能を選択し、図9の情報をCU11に返送する。それらに必要な関連情報の選択結果として、たとえばスケジューリングポリシーPL−10を選択したことを通知する。実際にはPL−10とPL−13を同時に選択するなど複合的な設定を選択し通知することもある。
ステップS2021では、CU11は選択結果が判断条件を満たしているかどうかを判断する。使用不可の機能や情報を選択していたり、あるいは組み合わせ不可の設定を選択したりしている場合など、判断条件を満たしていない場合は選択設定を拒否する。判断条件を満たしている場合は選択設定を承諾する。判断条件は機器の製造時などにあらかじめ組み込んでおくことも可能であるし、ユーザの要求などを通じて実行時にCU11に設定することも可能である。ユーザはサービス実行要求を発行したユーザである必要はない。
ステップS2030では、CU11は選択結果の判断結果をクライアント21に通知する。ステップS2031では、必要に応じてスケジューラなどの関連情報を送信する。スケジューラは例えばプログラムモジュールやハードウェアの配線情報として提供される。
選択設定が承諾された場合は、クライアント21はCF−01からCF−06の制御機能をCU11に代わり実行する。ステップS2040では、まず、ユーザが要求するサービスに対して実行遷移情報を生成するために、キャッシュしている実行遷移情報にアクセスする。キャッシュにヒットした場合はステップS2070に進む。
これに対して、キャッシュをミスした場合は、ステップS2050において、サービスを連続したタスク列と対応付けるデータベースにアクセスし、ステップS2060において、対応するタスク列を得る。
ステップS2070では、クライアント21はCU11から得たPEの基本情報をもとに、PEの状態を定期的に状態をモニタリングしている。便宜上、PEの状態モニタリングはS2060とS2080の間に設けているが、クライアント21は任意のタイミングでPEの状態をモニタリングできる。
ステップS2080では、クライアント21は、タスク列の実行に必要なPEについて、モニタリングで得たPEの状態、スケジューリングポリシーによって実行遷移情報を生成する。
ステップS2090では、クライアント21は、生成した実行遷移情報をキャッシュに保存する。
ステップS2100では、クライアント21は、生成した実行遷移情報とともにサービス実行要求をCU11に送信する。
ステップS2110では、CU11は、受信した実行遷移情報をもとに必要なPEに対して、メモリなど計算資源の確保を要求し、同時に実行遷移情報を送信する。ここで、クライアント21もPEの一種としてデータ処理機能を提供することも可能だが、この例では、説明の簡略化のためクライアント21はデータ処理を行わず、JPEG処理における画像データの入出力処理のみを行うものとして、計算資源確保の要求を省略する。
ステップS2120、S2130では、CU11は、各PEおよびクライアント21に対して、処理経路上の隣接するPEおよびクライアント21との処理経路の確立をそれぞれ要求する
ステップS2140では、処理経路が確立すると、CU11はクライアント21に対して処理の開始を要求する。
ステップS2150、S2160では、クライアント21および各PEは入出力処理およびデータ処理を行う。具体的には、クライアント21から入力されたデータをPEが処理し、処理経路に沿って次のPEに出力する。最後のPEまでデータの処理と伝達を繰り返し、最後にクライアント21が処理結果を受け取る。ただし、実施形態によっては、クライアント21のデータ入出力は必須ではなく、データの入出力も他のPEに実行させる実施形態も考えられる。
ステップS2170では、処理が完了すると、クライアント21はCU11に完了を通知する。
ステップS2180、S2190では、CU11は、処理経路の解放を各PEとクライアント21にそれぞれ要求する。
ステップS2200では、計算資源の解放を各PEに要求する。
最後に、ステップS2210では、CU11は、サービスの実行完了をクライアント21に送信する。
本例では、クライアント21が要求するシステム制御の選択設定は、製造時などにあらかじめ組み込んでおくことも可能であるし、ユーザの要求などを通じて実行時にクライアント21を通じて要求することも可能である。ユーザはサービス実行要求を発行したユーザである必要はない。
あるいは、クライアント21とCU11で固定された選択設定を使用するなど、使用する選択設定が予め分かっている場合には、S2000からS2031までのステップを省略することができる。
あるいは図14のS1000の前に、図15のS2000からS2031までのステップを挿入し、クライアント21から選択設定要求をした上で全制御機能をCU11に実行させてもよい。
図16は、すべての制御機能の選択設定がクライアント21となっている例の処理の流れを示す図である。この例の制御機能の選択設定は、図10の選択設定に対応している。
ステップS3000では、クライアント21は制御機能の選択設定をCU11に要求する。
ステップS3010では、CU11はクライアント21での実行が可能な制御機能を選択設定した情報をクライアント21に送信する。本例ではすべての制御機能をクライアント21で実行可能と判断し、図10の情報を送信する。CU11は、選択設定した情報の送信と同時に、制御機能に必要な関連情報のリストを送信する。
ステップS3011では、クライアント21は制御機能および必要な関連情報を選択し、制御機能の選択設定を必要に応じて書き換える。本例では、選択設定の変更はしないので、書き換える必要はない。
ステップS3020では、クライアント21は、選択設定完了をCU11に通知し、制御機能および関連情報の選択結果を送信する。使用できるすべての制御機能を選択し、図10の情報をCU11に返送する。
ステップS3021では、CU11は選択結果が判断条件を満たしているかどうかを判断する。判断条件は機器の製造時などにあらかじめ組み込んでおくことも可能であるし、ユーザの要求などを通じて実行時にCU11に設定することも可能である。ユーザはサービス実行要求を発行したユーザである必要はない。
CU11は、ステップS3030では選択結果の判断結果をクライアント21に通知し、ステップS3031では必要に応じてスケジューラなどの関連情報を送信する。スケジューラは例えばプログラムモジュールやハードウェアの配線情報として提供される。
選択設定が承諾された場合は、クライアント21はすべての制御機能をCU11に代わり実行する。ステップS3040では、まず、ユーザが要求するサービスに対して実行遷移情報を生成するために、キャッシュしている実行遷移情報にアクセスする。キャッシュにヒットした場合はステップS3070に進む。
ステップS3040でキャッシュをミスした場合は、ステップS3050においてサービスを連続したタスク列と対応付けるデータベースにアクセスし、ステップS3060において対応するタスク列を得る。
ステップS3070では、クライアント21は、CU11から得たPEの基本情報をもとに、PEの状態を定期的に状態をモニタリングしている。便宜上、PEの状態モニタリングはS3060とS3080の間に設けているが、クライアント21は任意のタイミングでPEの状態をモニタリングできる。
ステップS3080では、クライアント21は、タスク列の実行に必要なPEについて、モニタリングで得たPEの状態、スケジューリングポリシーによって実行遷移情報を生成する。
ステップS3090では、クライアント21は、生成した実行遷移情報をキャッシュに保存する。
ステップS3100では、クライアント21は、生成した実行遷移情報に従って、処理経路を構成する各PEに対してメモリなどの計算資源確保を要求する。
ステップS3110では、クライアント21は、生成した実行遷移情報に従って、処理経路を構成する各PEに対して処理経路の確立を要求する。このとき、クライアント21は、自分自身に対しては要求する必要はないが、PEとの経路確立を行う。
ステップS3120、S3130では、クライアント21および各PEで、サービス実行のための入出力処理およびデータ処理をそれぞれ行う。具体的には、クライアント21から入力されたデータをPEが処理し、処理経路に沿って次のPEに出力する。最後のPEまでデータの処理と伝達を繰り返し、最後にクライアント21が処理結果を受け取る。ただし、実施形態によっては、クライアント21のデータ入出力は必須ではなく、データの入出力も他のPEに実行させる実施形態も考えられる。
ステップS3140では、処理終了後に、クライアント21は、各PEに対して処理経路の解放を要求する。このとき、クライアント21は、自分自身とPEとの処理経路の解放も行う。
さらに、ステップS3150では、計算資源の解放を各PEに要求する。クライアント21は自分自身でサービスの実行を要求したため、サービスの実行完了をどこかに通知する必要はなく、サービスの実行を完了する。
本例では、クライアント21が要求するシステム制御の選択設定は、製造時などにあらかじめ組み込んでおくことも可能であるし、ユーザの要求などを通じて実行時にクライアント21を通じて要求することも可能である。ユーザはサービス実行要求を発行したユーザである必要はない。
あるいは、クライアント21とCU11で固定された選択設定を使用するなど、使用する選択設定が予め分かっている場合には、S3000からS3031までのステップを省略することができる。
次に、制御機能の強制選択変更について、図17、図18を参照して説明する。
コントロール・ユニット11は、システム全体を効率的に秩序立てて管理するために、必要に応じてクライアント21に対して強制的に選択設定を変更することができる。
コントロール・ユニット11は、システム全体を効率的に秩序立てて管理するために、必要に応じてクライアント21に対して強制的に選択設定を変更することができる。
強制選択変更とは、
(A)クライアント21から制御機能を取り戻すこと、及び、
(B)クライアント21に強制的に制御機能を持たせること、
を含む。
(A)クライアント21から制御機能を取り戻すこと、及び、
(B)クライアント21に強制的に制御機能を持たせること、
を含む。
強制選択変更の方法は、
(1)CU11から制御コマンドを発行して選択設定を変更する方法と、
(2)変更条件を設定し、この変更条件を満たしたときに選択設定を変更する方法と、がある。
(1)CU11から制御コマンドを発行して選択設定を変更する方法と、
(2)変更条件を設定し、この変更条件を満たしたときに選択設定を変更する方法と、がある。
制御コマンドの発行は、ユーザからの要求による場合と、発行条件を満たしたときに自律的に発行する場合と、がある。発行条件は、例えば、CU11の処理負荷が大きい場合に、制御機能を強制的に分散させたいときに、「CU11の処理負荷が60%を超えた時にはCF−07からCF−10までの制御機能の選択設定を強制的にクライアント21へ移す」などと設定する。ユーザはサービス実行要求を発行したユーザである必要はない。
ただし、使用時にクライアント21の処理負荷や過去の強制選択変更の履歴などから複合的に判断することが好ましい。
変更条件は、機器の製造時などに予め組み込んでおくことも可能であるし、ユーザの要求などを通じてCU11が実行時に設定することも可能である。ユーザはサービス実行要求を発行したユーザである必要はない。変更条件としては、以下の例が挙げられる。
(1)クライアント21の制御機能が選択されてからの制限時間
(2)サービス実行環境の状況。例えば、停電などによる実行時の電源電圧低下などによるものである。
(3)サービス実行負荷の状況。例えば、CPUの負荷などによるものである。
(4)計算資源使用状況。例えば、メモリの使用残量などによるものである。
(5)サービス実行状況。例えば、サービスの実行が終わったら、などの状況である。
(1)クライアント21の制御機能が選択されてからの制限時間
(2)サービス実行環境の状況。例えば、停電などによる実行時の電源電圧低下などによるものである。
(3)サービス実行負荷の状況。例えば、CPUの負荷などによるものである。
(4)計算資源使用状況。例えば、メモリの使用残量などによるものである。
(5)サービス実行状況。例えば、サービスの実行が終わったら、などの状況である。
コントロール・ユニット11は、上記変更条件(1)から(5)により、CU11に制御機能を返させる、または追加することができる。
ここで、上記いずれの場合においても、変更条件によるクライアント21からの強制選択変更と、CU11からの変更条件の変更あるいは制御コマンドと、が互いに競合した場合は、CU11からの指示を優先とし、CU11が常にシステム制御における優位を保てるようにしておくことが好ましい。
つづいて、図17を参照して、制御コマンドによる強制選択変更の流れについて説明する。図17は、制御コマンドによる強制選択変更の処理の流れを示すフローチャートである。
ステップS4000では、CU11はユーザから制御機能の強制選択要求を受信したかどうか確認する。ユーザはサービス実行要求を発行したユーザである必要はない。CU11が強制選択要求を受信したら(ステップS4000でYES)、ステップS4020へ進む。
CU11が強制選択要求を受信していない場合(ステップS4000でNO)、CU11は、ステップS4010において、強制選択要求の発行条件を満たしているかどうかを判断する。発行条件を満たしていないと判断した場合(ステップS4010でNO)は、ステップS4000へ戻る。S4000とS4010の順序は任意であって優先順位を示すものではない。なお、CU11は他の機能を実行しながら並行してS4000およびS4010の判断ができるものとする。
ユーザから制御機能の強制選択要求を受信した場合(ステップS4000でYES)、または、強制選択要求の発行条件を満たしている場合(ステップS4010でYES)、ステップS4020において、CU11は、クライアント21に強制選択要求を発行する。
強制選択要求として、例えばすべての制御機能をCU11に取り戻したい場合は、CU11は、図7の選択設定を強制選択要求に付随する情報としてクライアント21に送信する。
ステップS4030では、送信された強制選択要求に対して、クライアント21は強制的に選択設定を書き換える。
ステップS4040では、さらに必要に応じて、クライアント21は、最新の関連情報をCU11に送信する。
CU11は、ステップS4050では関連情報を変更し、ステップS4051では、関連情報の変更完了をクライアント21に通知する。
その後、ステップS4060において、クライアント21は、選択設定変更が完了したことをCU11に通知する。
ステップS4070では、CU11は制御機能の選択設定を変更する。
最後に、ステップS4080では、CU11は、クライアント21に選択設定変更の完了を通知する。
つづいて、図18を参照しつつ、変更条件による強制選択変更について説明する。図18は、変更条件による強制選択変更の流れを示すフローチャートである。
ステップS5000では、CU11は変更条件の設定要求をクライアント21に送信する。
これに対して、ステップS5010では、クライアント21は変更条件を設定し記憶しておく。
その後、ステップS5020では、クライアント21は、変更条件の設定が完了したことをCU11に通知する。
ステップS5030では、クライアント21は変更条件を満たしているかどうか判断する。満たしていないと判断した場合(ステップS5030でNO)、満たすまで選択設定を維持する。なお、クライアント21は他の機能を実行しながら並行してS5030の判断ができるものとする。
クライアント21は、変更条件を満たしたと判断した場合(ステップS5030でYES)は、ステップS5040において、変更する制御機能の関連情報があれば、CU11に送信する。
関連情報を受信したCU11は、ステップS5050では、関連情報を変更し、ステップS5051では、関連情報の変更の完了をクライアント21に通知する。
クライアント21は、関連情報の変更完了の通知を受け取ったら、ステップS5052においてクライアント21側の選択設定を変更する。
その後、クライアント21は、ステップS5060において、変更した選択設定をCU11に送信する。
ステップS5070では、選択設定を受信したCU11は、選択設定を変更する。
変更が完了したら、コントロール・ユニット11は、ステップS5080において、完了をクライアント21に通知する。
なお、クライアント21を構成する機器の製造時などにあらかじめ変更条件を組み込むことも可能である。その場合はステップS5000からステップS5020は不要である。
以下に、本実施形態の変形例について説明する。
上述の実施形態の分散処理システムは、コントロール・ユニット11と、クライアント21と、プロセッシング・エレメント31から3nと、を備えていたが、これに代えて、
(1)ユーザから要求されたサービスの実行を要求するクライアントと、
(2)(1)のクライアントに接続されたプロセッシング・エレメントと、
で構成するとともに、(1)のクライアントが有する制御機能のみによって制御するようにしてもよい。
上述の実施形態の分散処理システムは、コントロール・ユニット11と、クライアント21と、プロセッシング・エレメント31から3nと、を備えていたが、これに代えて、
(1)ユーザから要求されたサービスの実行を要求するクライアントと、
(2)(1)のクライアントに接続されたプロセッシング・エレメントと、
で構成するとともに、(1)のクライアントが有する制御機能のみによって制御するようにしてもよい。
また、
(a)ユーザからのサービス要求を受ける機能を備えたコントロール・ユニットと、
(b)(a)のコントロール・ユニットに接続されたプロセッシング・エレメントと、
で構成するとともに、(a)のコントロール・ユニットが有する制御機能のみによって制御するようにもできる。
このシステムでは、CUにサービス要求を受け付ける機能を持たせることによって、クライアントがなくてもシステムを構成できる。
(a)ユーザからのサービス要求を受ける機能を備えたコントロール・ユニットと、
(b)(a)のコントロール・ユニットに接続されたプロセッシング・エレメントと、
で構成するとともに、(a)のコントロール・ユニットが有する制御機能のみによって制御するようにもできる。
このシステムでは、CUにサービス要求を受け付ける機能を持たせることによって、クライアントがなくてもシステムを構成できる。
以上の実施形態又は変形例に係る分散処理システム、コントロール・ユニット、及び、クライアントにおいては、クライアント側に制御機能を委譲し、PEの接続情報などの制御情報をCUから引き継ぐことで処理を行うことができる。
これにより、CUの負荷を下げながら、独自にアプリケーションを実行することが可能となる。例えば、従来はCUが計算資源確保や経路確立をする場合にはそれらが完了した時点で、CUからクライアントに完了通知を出さなければならなかったが、本発明ではクライアント21がそれらを行うため完了通知は必要ない。
さらに、クライアント21に対してPEの接続情報の開示範囲や適用可能なスケジューリングポリシーを制限すれば、複数のクライアント21をセキュリティ上のルールを適用しながら協調して運用させることが可能である。
以上のように、本発明に係る分散処理システム、コントロール・ユニット、及びクライアントは、制御機能の負荷がコントロール・ユニットに集中しやすい分散処理システムに有用である。
11 コントロール・ユニット(CU)
21 クライアント(CL)
31、32、...、3n プロセッシング・エレメント(PE)
21 クライアント(CL)
31、32、...、3n プロセッシング・エレメント(PE)
Claims (27)
- ユーザから要求されたサービスの実行を要求するクライアントと、
プロセッシング・エレメントと、
前記クライアント及び前記プロセッシング・エレメントに接続されているコントロール・ユニットと、
を備えた分散処理システムであって、
前記コントロール・ユニットは前記分散処理システムを制御するための制御機能を有し、
前記クライアントは、前記コントロール・ユニットの制御機能のうちの少なくとも1つの制御機能と同じ制御機能を有し、
前記コントロール・ユニット及び前記クライアントの両方が有する制御機能の少なくとも1つについて、前記コントロール・ユニット及び前記クライアントの制御機能の少なくとも一方を選択して制御を実行することを特徴とする分散処理システム。 - 前記コントロール・ユニット及び前記クライアントの両方が有する制御機能の少なくとも1つについて、前記コントロール・ユニット及び前記クライアントのどちらかの制御機能を択一的に選択して制御を実行することを特徴とする請求項1に記載の分散処理システム。
- 前記コントロール・ユニット及び前記クライアントの両方が有する制御機能の少なくとも1つについて、前記コントロール・ユニット及び前記クライアントの両方の制御機能を用いて制御を実行することを特徴とする請求項1又は請求項2に記載の分散処理システム。
- 前記コントロール・ユニット及び前記クライアントの制御機能の選択は、あらかじめ前記コントロール・ユニットに記憶された選択設定にしたがって、前記コントロール・ユニットが実行することを特徴とする請求項1から請求項3のいずれか1項に記載の分散処理システム。
- 前記コントロール・ユニット及び前記クライアントの制御機能の選択は、前記クライアントにサービスの実行を要求するユーザ又はそれ以外のユーザからの要求にしたがって、前記コントロール・ユニットが実行することを特徴とする請求項1から請求項4のいずれか1項に記載の分散処理システム。
- 前記コントロール・ユニットは、判断条件にしたがって、前記制御機能の選択の実行の承諾又は拒否を判断し、この判断結果に基づいて、前記制御機能の選択を実行することを特徴とする請求項1から請求項5のいずれか1項に記載の分散処理システム。
- 前記コントロール・ユニットは前記判断条件をあらかじめ記憶している請求項6に記載の分散処理システム。
- 前記コントロール・ユニットは、前記クライアントにサービスの実行を要求するユーザ又はそれ以外のユーザからの要求にしたがって、前記判断条件を設定する請求項6又は請求項7に記載の分散処理システム。
- 前記コントロール・ユニットは、前記クライアントの制御機能が選択されている場合であっても、前記クライアントに制御コマンドを発行し、前記選択された制御機能に代えて、対応する自身の制御機能を強制的に選択することを特徴とする請求項1から請求項8のいずれか1項に記載の分散処理システム。
- 前記コントロール・ユニットは、前記クライアントの制御機能が選択されているか否かに関わらず、前記クライアントに制御コマンドを発行し、前記クライアントの制御機能を強制的に変更することを特徴とする請求項1から請求項9のいずれか1項に記載の分散処理システム。
- 前記コントロール・ユニットは、前記クライアントにサービスの実行を要求するユーザ又はそれ以外のユーザからの要求にしたがって、前記クライアントに前記制御コマンドを発行することを特徴とする請求項9又は請求項10に記載の分散処理システム。
- 前記コントロール・ユニットは、発行条件に従って自律的に、前記クライアントに前記制御コマンドを発行することを特徴とする請求項9又は請求項10に記載の分散処理システム。
- 前記クライアントは、前記クライアントの制御機能が選択されているか否かに関わらず、変更条件にしたがって、前記変更条件によって指定された制御機能を強制的に変更し、前記コントロール・ユニットに通知することを特徴とする請求項1から請求項8のいずれか1項に記載の分散処理システム。
- 前記変更条件は、前記クライアントの制御機能が選択されている場合に、前記コントロール・ユニットが設定すること、あるいは、あらかじめ記憶させておくことを含むことを特徴とする請求項13に記載の分散処理システム。
- 前記コントロール・ユニットは、前記クライアントからの前記通知があった場合に、前記通知にしたがって、自身の制御機能を再設定することを特徴とする請求項13又は請求項14に記載の分散処理システム。
- 前記変更条件は、前記クライアントの制御機能が選択されてからの制限時間、サービス実行環境の状況、サービス実行負荷の状況、計算資源使用状況、サービスの実行状況のうちの少なくとも1つを含むことを特徴とする請求項13又は請求項14に記載の分散処理システム。
- 前記制御機能は、前記制御機能に必要な情報の公開又は非公開を択一的に選択する機能を含むことを特徴とする請求項1から請求項16のいずれか1項に記載の分散処理システム。
- 前記公開を制限できる情報は前記プロセッシング・エレメントの状態を含むことを特徴とする請求項17に記載の分散処理システム。
- 前記公開を制限できる情報はスケジューリングポリシーを含むことを特徴とする請求項17又は請求項18に記載の分散処理システム。
- 前記制御機能は、計算資源の確保・解放、処理経路の確立・解放、前記プロセッシング・エレメントの状態のモニタリング、処理のスケジューリング、前記スケジューリングについてのスケジューリングポリシーの選択、前記サービスのタスク分解、前記プロセッシング・エレメントの登録・解除、及び、経路情報の記憶のうちの少なくとも1つを含むことを特徴とする請求項1から請求項19のいずれか1項に記載の分散処理システム。
- 前記クライアントは、前記コントロール・ユニットのすべての制御機能と同じ制御機能を備えることを特徴とする請求項1から請求項20のいずれか1項に記載の分散処理システム。
- 前記コントロール・ユニットのすべての制御機能について、前記クライアントの制御機能のみを用いて制御を実行することを特徴とする請求項21に記載の分散処理システム。
- 前記コントロール・ユニットのすべての制御機能について、前記コントロール・ユニットの制御機能のみを用いて制御を実行することを特徴とする請求項21に記載の分散処理システム。
- ユーザから要求されたサービスの実行を要求するクライアントと、
前記クライアントに接続されたプロセッシング・エレメントと、
を備えた分散処理システムであって、
前記分散処理システムは、前記クライアントが有する制御機能のみによって制御されることを特徴とする分散処理システム。 - ユーザからのサービス要求を受ける機能を備えたコントロール・ユニットと、
前記コントロール・ユニットに接続されたプロセッシング・エレメントと、
を備えた分散処理システムであって、
前記分散処理システムは、前記コントロール・ユニットが有する制御機能のみによって制御されることを特徴とする分散処理システム。 - ユーザから要求されたサービスの実行を要求するクライアント、及び、プロセッシング・エレメントとともに分散処理システムを構成し、前記分散処理システムを制御する制御機能を有するコントロール・ユニットであって、
前記コントロール・ユニット及び前記クライアントの両方が有する制御機能の少なくとも1つについて、制御の実行のために、前記コントロール・ユニット及び前記クライアントの制御機能の少なくとも一方を選択することを特徴とするコントロール・ユニット。 - 分散処理システムを制御する制御機能を有するコントロール・ユニットに接続され、ユーザから要求されたサービスの実行を要求するクライアントであって、
前記コントロール・ユニットの制御機能のうちの少なくとも1つの制御機能と同じ制御機能を有し、
前記コントロール・ユニット及び前記クライアントの両方が有する制御機能の少なくとも1つについて、前記コントロール・ユニットによって選択された制御機能を用いた制御を実行することを特徴とするクライアント。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009067614A JP2010218506A (ja) | 2009-03-19 | 2009-03-19 | 分散処理システム、コントロール・ユニット、及びクライアント |
CN201010142836A CN101840354A (zh) | 2009-03-19 | 2010-03-18 | 分布式处理系统、控制单元以及客户机 |
US12/727,756 US20100242047A1 (en) | 2009-03-19 | 2010-03-19 | Distributed processing system, control unit, and client |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009067614A JP2010218506A (ja) | 2009-03-19 | 2009-03-19 | 分散処理システム、コントロール・ユニット、及びクライアント |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010218506A true JP2010218506A (ja) | 2010-09-30 |
Family
ID=42738772
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009067614A Withdrawn JP2010218506A (ja) | 2009-03-19 | 2009-03-19 | 分散処理システム、コントロール・ユニット、及びクライアント |
Country Status (3)
Country | Link |
---|---|
US (1) | US20100242047A1 (ja) |
JP (1) | JP2010218506A (ja) |
CN (1) | CN101840354A (ja) |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2643931B2 (ja) * | 1986-11-07 | 1997-08-25 | 日本電気株式会社 | 情報処理装置 |
US4949248A (en) * | 1988-07-15 | 1990-08-14 | Caro Marshall A | System for shared remote access of multiple application programs executing in one or more computers |
US6424989B1 (en) * | 1991-09-20 | 2002-07-23 | Venson M. Shaw | Object-oriented transaction computing system |
GB2334117A (en) * | 1998-02-04 | 1999-08-11 | Ibm | Performing semantic concurrency control in dispatching server computer client requests |
US6477563B1 (en) * | 1998-04-13 | 2002-11-05 | Kabushiki Kaisha Toshiba | Agent system and information processing method for same |
US7290056B1 (en) * | 1999-09-09 | 2007-10-30 | Oracle International Corporation | Monitoring latency of a network to manage termination of distributed transactions |
US20040117427A1 (en) * | 2001-03-16 | 2004-06-17 | Anystream, Inc. | System and method for distributing streaming media |
-
2009
- 2009-03-19 JP JP2009067614A patent/JP2010218506A/ja not_active Withdrawn
-
2010
- 2010-03-18 CN CN201010142836A patent/CN101840354A/zh active Pending
- 2010-03-19 US US12/727,756 patent/US20100242047A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US20100242047A1 (en) | 2010-09-23 |
CN101840354A (zh) | 2010-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8230438B2 (en) | Dynamic application placement under service and memory constraints | |
US20120221886A1 (en) | Distributed job scheduling in a multi-nodal environment | |
JP2004246771A (ja) | 印刷処理制御システムおよび方法 | |
JP2008226181A (ja) | 並列実行プログラム、該プログラムを記録した記録媒体、並列実行装置および並列実行方法 | |
WO2006100752A1 (ja) | 分散処理管理装置、分散処理管理方法、分散処理管理プログラム | |
CN112532669B (zh) | 一种网络边缘计算方法、装置及介质 | |
JP4586873B2 (ja) | ソケット管理装置及び方法 | |
CN106940631A (zh) | 一种基于控制器的并行打印系统 | |
CN110914805A (zh) | 用于分层任务调度的计算系统 | |
JP2008226023A (ja) | ジョブ割当装置、及びジョブ割当方法 | |
JPH05216842A (ja) | 資源管理装置 | |
JP5790758B2 (ja) | スケジューリング方法およびスケジューリングシステム | |
WO2011096249A1 (ja) | 負荷制御装置 | |
JP2010218506A (ja) | 分散処理システム、コントロール・ユニット、及びクライアント | |
JP2017027367A (ja) | 画像形成装置、リソース管理装置、リソース管理方法、画像形成装置およびプログラム | |
JP2009071614A (ja) | 波長制御ネットワークシステム及び波長制御方法 | |
JP2007102332A (ja) | 負荷分散システム及び負荷分散方法 | |
JP6191361B2 (ja) | 情報処理システム、情報処理システムの制御方法及び制御プログラム | |
Ricci et al. | Lessons from resource allocators for large-scale multiuser testbeds | |
JP2004192400A (ja) | ジョブスケジューリング方法および装置 | |
JPH11203092A (ja) | プリントシステム | |
JP2013206041A (ja) | 通信システム及び負荷分散処理装置 | |
JP5919938B2 (ja) | 情報処理システム及びプログラム | |
JP2000250726A (ja) | 印刷システム、その印刷サーバおよびデータベースサーバ | |
JP2008299527A (ja) | グリッドコンピューティングシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120309 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20130717 |