(57)【特許請求の範囲】
【請求項１】
データを分割して得られる複数の分割データのうちの第１の分割データについて実行すべき複数のタスクが存在する場合に、該複数のタスクを複数の処理部のうち第１の処理部に共通して割り当てることにより、前記第１の分割データを前記第１の処理部にまとめて処理させる割り当て制御部を備え、
前記割り当て制御部が、
前記第１の処理部に対して前記タスクの割り当てを行なった後に、前記第１の処理部に対する新たに生成されたタスクの割り当てを一時的に抑止する割り当て処理部と、
前記割り当て処理部によるタスクの割り当ての抑止中に、前記新たに生成されたタスクを前記第１の分割データに関連付けた制御情報を生成するタスク管理部と、
を備え、
前記割り当て処理部が、前記抑止を解除した後に、前記タスク管理部によって生成された前記制御情報に基づいて、前記第１の処理部に前記新たに生成されたタスクを割り当てる、ことを特徴とする制御装置。
【請求項２】
タイマに所定時間の計時を行なわせる計時制御部を備え、
前記割り当て処理部が、前記タイマによる所定時間の計時中は、前記第１の処理部に対するタスクの割り当てを一時的に抑止することを特徴とする、請求項１記載の制御装置。
【請求項３】
入力装置からの入力に基づき、タスクに対して優先情報を付加する優先情報付加部を更に備え、
前記割り当て処理部が、
前記優先情報において優先順位が低いタスクの前記第１の処理部に対する割り当てを一時的に抑止し、
前記優先順位が低いタスクの割り当ての抑止中に、前記優先情報において優先順位が高いタスクが新たに生成された場合に、前記優先順位が低いタスクと前記優先順位が高いタスクとを同期して前記第１の処理部に割り当てることを特徴とする、請求項１記載の制御装置。
【請求項４】
前記優先情報が、タスクの目標完了時刻であり、
前記割り当て処理部が、
目標完了時刻までの猶予時間が長いタスクの前記第１の処理部に対する割り当てを一時的に抑止し、
前記猶予時間が長いタスクの割り当ての抑止中に、目標完了時刻までの猶予時間が短いタスクが新たに生成された場合に、前記猶予時間が長いタスクと前記猶予時間が短いタスクとを同期して前記第１の処理部に割り当てることを特徴とする、請求項３記載の制御装置。
【請求項５】
制御装置による制御方法であって、
データを分割して得られる複数の分割データのうちの第１の分割データについて実行すべきタスクを複数の処理部のうち第１の処理部に割り当てるステップと、
前記第１の処理部に対して前記タスクの割り当てを行なった後に、前記第１の処理部に対する新たに生成されたタスクの割り当てを一時的に抑止するステップと、
前記タスクの割り当ての抑止中に、前記新たに生成されたタスクを前記第１の分割データに関連付けた制御情報を生成するステップと、
前記抑止を解除した後に、生成された前記制御情報に基づいて、前記第１の処理部に前記新たに生成されたタスクを割り当てることにより、前記第１の分割データを前記第１の処理部にまとめて処理させるステップと、
を備えたことを特徴とする制御方法。
【請求項６】
データを分割して得られる複数の分割データのうちの第１の分割データについて実行すべきタスクを複数の処理部のうち第１の処理部に割り当て、
前記第１の処理部に対して前記タスクの割り当てを行なった後に、前記第１の処理部に対する新たに生成されたタスクの割り当てを一時的に抑止し、
前記タスクの割り当ての抑止中に、前記新たに生成されたタスクを前記第１の分割データに関連付けた制御情報を生成し、
前記抑止を解除した後に、生成された前記制御情報に基づいて、前記第１の処理部に前記新たに生成されたタスクを割り当てることにより、前記第１の分割データを前記第１の処理部にまとめて処理させる、
処理をコンピュータに実行させるプログラム。
【請求項７】
データを分割して得られる複数の分割データに対するタスクを処理する複数の処理部と、
データを分割して得られる複数の分割データのうちの第１の分割データについて実行すべき複数のタスクが存在する場合に、該複数のタスクを前記複数の処理部のうち第１の処理部に共通して割り当てることにより、前記第１の分割データを前記第１の処理部にまとめて処理させる割り当て制御部と、
を備え、
前記割り当て制御部が、
前記第１の処理部に対して前記タスクの割り当てを行なった後に、前記第１の処理部に対する新たに生成されたタスクの割り当てを一時的に抑止する割り当て処理部と、
前記割り当て処理部によるタスクの割り当ての抑止中に、前記新たに生成されたタスクを前記第１の分割データに関連付けた制御情報を生成するタスク管理部と、
を備え、
前記割り当て処理部が、前記抑止を解除した後に、前記タスク管理部によって生成された前記制御情報に基づいて、前記第１の処理部に前記新たに生成されたタスクを割り当てる、ことを特徴とする分散処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本件は、制御装置，制御方法，プログラム及び分散処理システムに関する。
【背景技術】
【０００２】
近年、ウェブデータ等の大量のデータを処理するための処理システムとして、マップ−リデュース（Map-Reduce）型の分散処理システムが知られている。
マップ−リデュース型の分散処理システムにおいては、分散処理システム上のデータをデータブロックと呼ばれる単位に分割し、これらのデータブロックに対してマップ処理及びリデュース処理を順次適用する。
【０００３】
このようなマップ−リデュース型の分散処理システムによれば、各データブロックに対する一連の計算処理を複数の計算ノードで同時に分散して実行することが可能となる。各計算ノードに対するタスクの配置は、例えば、ＦＩＦＯ（First In, First Out）のキューに登録されたマップタスクを、計算ノードから割り当て要求に応じて、順次、割り当てることにより行なわれる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−２１８３０７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来のマップ−リデュース型の処理システムにおいては、個々のマップタスクが互いに独立して実行される。従って、同じ処理対象ブロックを含む複数のマップタスクであっても別々に実行され、それぞれのマップタスクにおいて同じ処理対象ブロックの読み込みが行なわれる。すなわち、各マップタスクにおいて処理対象ブロックを読み出すためのディスクアクセスが生じ、これにより処理速度の向上を妨げるという課題がある。
【０００６】
なお、マップタスクをキャッシュ機能を備えるファイルシステム上で動作させることにより、２回目のマップタスクの実行時に処理対象ブロックの読み込みを回避できる場合がある。しかしながら、一般に、マップ−リデュース型の処理システムにおいては、メモリに入りきらない大きなデータサイズのファイルを読み込むことが多い。１度でも大きなデータサイズのデータの読み込みが行なわれると、キャッシュされたほとんどのデータがパージされ、再度処理対象ブロックの読み込みを行なう必要が生じる。
【０００７】
１つの側面では、本件は、処理速度を向上できるようにすることを目的とする。
なお、前記目的に限らず、後述する発明を実施するための形態に示す各構成により導かれる作用効果であって、従来の技術によっては得られない作用効果を奏することも本発明の他の目的の1つとして位置付けることができる。
【課題を解決するための手段】
【０００８】
このため、この制御装置は、データを分割して得られる複数の分割データのうちの第１の分割データについて実行すべき複数のタスクが存在する場合に、該複数のタスクを複数の処理部のうち第１の処理部に共通して割り当てることにより、前記第１の分割データを前記第１の処理部にまとめて処理させる割り当て制御部を備え、前記割り当て制御部が、前記第１の処理部に対して前記タスクの割り当てを行なった後に、前記第１の処理部に対する新たに生成されたタスクの割り当てを一時的に抑止する割り当て処理部と、前記割り当て処理部によるタスクの割り当ての抑止中に、前記新たに生成されたタスクを前記第１の分割データに関連付けた制御情報を生成するタスク管理部と、を備え、前記割り当て処理部が、前記抑止を解除した後に、前記タスク管理部によって生成された前記制御情報に基づいて、前記第１の処理部に前記新たに生成されたタスクを割り当てる。
また、この制御方法は、制御装置による制御方法であって、データを分割して得られる複数の分割データのうちの第１の分割データについて実行すべきタスクを複数の処理部のうち第１の処理部に割り当てるステップと、前記第１の処理部に対して前記タスクの割り当てを行なった後に、前記第１の処理部に対する新たに生成されたタスクの割り当てを一時的に抑止するステップと、前記タスクの割り当ての抑止中に、前記新たに生成されたタスクを前記第１の分割データに関連付けた制御情報を生成するステップと、前記抑止を解除した後に、生成された前記制御情報に基づいて、前記第１の処理部に前記新たに生成されたタスクを割り当てることにより、前記第１の分割データを前記第１の処理部にまとめて処理させるステップと、を備える。
【０００９】
さらに、このプログラムは、データを分割して得られる複数の分割データのうちの第１の分割データについて実行すべきタスクを複数の処理部のうち第１の処理部に割り当て、前記第１の処理部に対して前記タスクの割り当てを行なった後に、前記第１の処理部に対する新たに生成されたタスクの割り当てを一時的に抑止し、前記タスクの割り当ての抑止中に、前記新たに生成されたタスクを前記第１の分割データに関連付けた制御情報を生成し、前記抑止を解除した後に、生成された前記制御情報に基づいて、前記第１の処理部に前記新たに生成されたタスクを割り当てることにより、前記第１の分割データを前記第１の処理部にまとめて処理させる、処理をコンピュータに実行させる。
また、この分散処理システムは、データを分割して得られる複数の分割データに対するタスクを処理する複数の処理部と、データを分割して得られる複数の分割データのうちの第１の分割データについて実行すべき複数のタスクが存在する場合に、該複数のタスクを前記複数の処理部のうち第１の処理部に共通して割り当てることにより、前記第１の分割データを前記第１の処理部にまとめて処理させる割り当て制御部と、を備え、前記割り当て制御部が、前記第１の処理部に対して前記タスクの割り当てを行なった後に、前記第１の処理部に対する新たに生成されたタスクの割り当てを一時的に抑止する割り当て処理部と、前記割り当て処理部によるタスクの割り当ての抑止中に、前記新たに生成されたタスクを前記第１の分割データに関連付けた制御情報を生成するタスク管理部と、を備え、前記割り当て処理部が、前記抑止を解除した後に、前記タスク管理部によって生成された前記制御情報に基づいて、前記第１の処理部に前記新たに生成されたタスクを割り当てる。
【発明の効果】
【００１０】
開示の技術によれば、処理速度を向上させることができる利点がある。
【図面の簡単な説明】
【００１１】
【図１】実施形態の一例としての分散処理システムの機能構成を模式的に示す図である。
【図２】第１実施形態の一例としての分散処理システムのサーバのハードウェア構成を例示する図である。
【図３】実施形態の一例としての分散処理システムにおけるタスク管理部によるタスクの管理手法を模式的に例示する図である。
【図４】第１実施形態の一例としての分散処理システムにおけるマップタスクの処理手法を説明するためのシーケンス図である。
【図５】（ａ），（ｂ）は第１実施形態の一例としての分散処理システムにおけるタスクの割り当て手法を従来手法と比較して示す図である。
【図６】第２実施形態の一例としての分散処理システムにおけるマップタスクの処理手法を説明するためのシーケンス図である。
【発明を実施するための形態】
【００１２】
以下、図面を参照して本制御装置、制御方法、プログラム及び分散処理システムに係る実施の形態を説明する。ただし、以下に示す実施形態はあくまでも例示に過ぎず、実施形態で明示しない種々の変形例や技術の適用を排除する意図はない。すなわち、本実施形態を、その趣旨を逸脱しない範囲で種々変形（実施形態及び各変形例を組み合わせる等）して実施することができる。又、各図は、図中に示す構成要素のみを備えるという趣旨ではなく、他の機能等を含むことができる。
【００１３】
（Ａ）第１実施形態
図１は第１実施形態の一例としての分散処理システム１の機能構成を模式的に示す図、図２はそのサーバのハードウェア構成を例示する図である。
本分散処理システム１は、複数（図１に示す例では４つ）のサーバ（ノード）１０−１〜１０−４をそなえ、これらの複数のサーバ１０−１〜１０−４で分散して処理を行なう。本分散処理システム１は、例えばHadoop（登録商標）を用いて分散処理を実現するマップ−リデュースシステムである。Hadoopはデータを複数のマシンに分散して処理させるオープンソースのプラットフォームであり、公知の技術であるので、その詳細な説明は省略する。
【００１４】
各サーバ１０−１〜１０−４はネットワーク５０を介して相互に通信可能に接続されている。ネットワーク５０は、例えばＬＡＮ（Local Area Network）等の通信回線である。
サーバ１０−１〜１０−４は、それぞれサーバ機能をそなえたコンピュータ（情報処理装置）である。各サーバ１０−１〜１０−４は、同様の構成を備える。以下、サーバを示す符号としては、複数のサーバのうち１つを特定する必要があるときには符号１０−１〜１０−４を用いるが、任意のサーバを指すときには符号１０を用いる。
【００１５】
また、図１に示す例においては、サーバ１０−１がマスタノードとして機能し、サーバ１０−２〜１０−４がスレーブノードとして機能する。以下、サーバ１０−１をマスタノードＭＮという場合があり、サーバ１０−２〜１０−４をそれぞれスレーブノードＳＮという場合がある。
マスタノードＭＮは、本分散処理システム１における処理を管理する装置であり、複数のスレーブノードＳＮにタスクをそれぞれ割り当てる。スレーブノードＳＮは、マスタノードＭＮから割り当てられたマップタスク（Mapタスク；以下、単にタスクという）を実行する。タスクを分散して割り当てられた複数のスレーブノードＳＮが、それぞれ割り当てられたタスクを並行して実行することによりジョブの処理時間を短縮する。
【００１６】
なお、図１に示す例においては、マスタノードＭＮもタスクトラッカ１３（後述）としての機能を備えており、このマスタノードＭＮにおいても割り当てられたタスクの実行を行なう。従って、図１に例示する分散処理システム１においては、サーバ１０−１もスレーブノードＳＮとして機能する。
サーバ１０は、例えばサーバ機能をそなえたコンピュータ（情報処理装置）である。サーバ１０は、図２に示すように、ＣＰＵ（Central Processing Unit）２０１，ＲＡＭ（Random Access Memory）２０２，ＲＯＭ（Read Only Memory）２０３，表示装置２０５，キーボード２０６，マウス２０７及び記憶装置２０８を備える。
【００１７】
ＲＯＭ２０３は種々のデータやプログラムを格納する記憶装置である。ＲＡＭ２０２はＣＰＵ２０１が演算処理等を行なう際に、データやプログラム等を一時的に格納する記憶装置である。又、このＲＡＭ２０２に、後述する制御情報Ｔ１が格納される。
表示装置２０５は、例えば、液晶ディスプレイやＣＲＴ（Cathode Ray Tube）ディスプレイであり、種々の情報を表示する。
【００１８】
キーボード２０６及びマウス２０７は入力装置であり、利用者がこれらの入力装置を用いて、種々の入力操作を行なう。例えば、マスタノードＭＮにおいて、利用者は、これらのキーボード２０６やマウス２０７を用いて、例えば、処理対象のファイルの指定や処理内容の指定（入力）を行なう。
記憶装置２０８は種々のデータやプログラムを格納する記憶装置であって、例えば、ＨＤＤ（Hard Disk Drive）やＳＳＤ（Solid State Drive）である。又、記憶装置２０８は、例えば、複数のＨＤＤ（Hard Disk Drive）を組み合わせて、冗長化された１つのストレージとして管理するＲＡＩＤ（Redundant Arrays of Inexpensive Disks）装置であってもよい。
【００１９】
ＣＰＵ２０１は、種々の制御や演算を行なう処理装置であり、ＲＯＭ２０３に格納されたプログラムを実行することにより、種々の機能を実現する。
マスタノードＭＮにおいて、ＣＰＵ２０１は、図１に示す、ユーザアプリケーション機能部１１，ファイル管理部１４，ジョブトラッカ１２及びタスクトラッカ１３として機能する。
【００２０】
なお、これらのユーザアプリケーション機能部１１，ファイル管理部１４，ジョブトラッカ１２及びタスクトラッカ１３としての機能を実現するためのプログラムは、例えばフレキシブルディスク，ＣＤ（ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＣＤ−ＲＷ等），ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−ＲＡＭ，ＤＶＤ−Ｒ，ＤＶＤ＋Ｒ，ＤＶＤ−ＲＷ，ＤＶＤ＋ＲＷ，ＨＤ  ＤＶＤ等），ブルーレイディスク，磁気ディスク，光ディスク，光磁気ディスク等の、コンピュータ読取可能な記録媒体に記録された形態で提供される。そして、コンピュータはその記録媒体からプログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。又、そのプログラムを、例えば磁気ディスク，光ディスク，光磁気ディスク等の記憶装置（記録媒体）に記録しておき、その記憶装置から通信経路を介してコンピュータに提供してもよい。
【００２１】
ユーザアプリケーション機能部１１，ファイル管理部１４，ジョブトラッカ１２及びタスクトラッカ１３としての機能を実現する際には、内部記憶装置（本実施形態ではＲＡＭ２０２やＲＯＭ２０３）に格納されたプログラムがコンピュータのマイクロプロセッサ（本実施形態ではＣＰＵ２０１）によって実行される。このとき、記録媒体に記録されたプログラムをコンピュータが読み取って実行してもよい。
【００２２】
同様に、スレーブノードＳＮにおいても、ＣＰＵ２０１が、プログラムを実行することにより、タスクトラッカ１３として機能する。
なお、このタスクトラッカ１３としての機能を実現するためのプログラムも、例えばフレキシブルディスク，ＣＤ（ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＣＤ−ＲＷ等），ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−ＲＡＭ，ＤＶＤ−Ｒ，ＤＶＤ＋Ｒ，ＤＶＤ−ＲＷ，ＤＶＤ＋ＲＷ，ＨＤ  ＤＶＤ等），ブルーレイディスク，磁気ディスク，光ディスク，光磁気ディスク等の、コンピュータ読取可能な記録媒体に記録された形態で提供される。そして、コンピュータはその記録媒体からプログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。又、そのプログラムを、例えば磁気ディスク，光ディスク，光磁気ディスク等の記憶装置（記録媒体）に記録しておき、その記憶装置から通信経路を介してコンピュータに提供してもよい。
【００２３】
タスクトラッカ１３としての機能を実現する際には、内部記憶装置（本実施形態ではＲＡＭ２０２やＲＯＭ２０３）に格納されたプログラムがコンピュータのマイクロプロセッサ（本実施形態ではＣＰＵ２０１）によって実行される。このとき、記録媒体に記録されたプログラムをコンピュータが読み取って実行してもよい。
なお、本実施形態において、コンピュータとは、ハードウェアとオペレーティングシステムとを含む概念であり、オペレーティングシステムの制御の下で動作するハードウェアを意味している。又、オペレーティングシステムが不要でアプリケーションプログラム単独でハードウェアを動作させるような場合には、そのハードウェア自体がコンピュータに相当する。ハードウェアは、少なくとも、ＣＰＵ等のマイクロプロセッサと、記録媒体に記録されたコンピュータプログラムを読み取るための手段とを備えており、本実施形態においては、サーバ１０がコンピュータとしての機能を有しているのである。
【００２４】
ファイル管理部１４は、ファイルを複数のサーバ１０の記憶装置２０８に分散して格納させる。以下、サーバ１０の記憶装置２０８にデータを格納することを、単にサーバ１０にデータを格納すると表現する。図１に示す例においては、サーバ１０−１にファイル１が、サーバ１０−２にファイル４が、サーバ１０−３にファイル２，５が、サーバ１０−４にファイル３が、それぞれ格納されている。
【００２５】
また、ファイル管理部１４は、ファイル（データ）を所定サイズ（例えば64Mbyte）の断片（ブロック）に分割して、各ノードの記憶装置２０８に格納させる。ファイル管理部１４は、ファイルを構成する各ブロックの場所（格納位置）を管理する。これにより、ファイル管理部１４に問い合わせることによって、処理対象のブロックの格納位置を知ることができる。このように分割されたファイルの各断片の領域をスプリットという。本分散処理システム１においては、スプリットはファイル上の領域として定義される。スプリットの生成は、例えば、ユーザアプリケーション機能部１１において所定のコマンドを実行することにより行なわれる。
【００２６】
なお、このファイル管理部１４としての機能は、例えば、Hadoop分散ファイルシステム（HDFS：Hadoop Distributed File System）によって実現され、その詳細な説明は省略する。
ユーザアプリケーション機能部１１は、ユーザからのジョブ依頼を受け付け、マップリデュースジョブ（Map-Reduceジョブ；以下、単にジョブという）を生成し、ジョブトラッカ１２にジョブを投入（ジョブ登録）する。
【００２７】
ユーザアプリケーション機能部１１は、ユーザがキーボード２０６やマウス２０７を用いて処理対象ファイルの指定や処理内容（指示内容）を入力すると、この入力された情報に基づいてジョブを生成する。
また、ユーザアプリケーション機能部１１は、ファイル管理部１４に対してコマンドからスプリットの配置情報を問い合わせて取得し、ジョブ登録時に当該ジョブの処理対象となるスプリットをジョブトラッカ１２に通知する。
ジョブトラッカ（割り当て制御部）１２は、ユーザアプリケーション機能部１１によって行なわれたジョブ登録に基づいて、クラスタ中の利用可能なタスクトラッカ１３にタスクを割り当てる。
【００２８】
ジョブトラッカ１２は、図１に示すように、タスク管理部２１，割当処理部２２及び計時制御部２３としての機能をそなえる。
タスク管理部２１は、タスクトラッカ１３に割り当てるタスクを管理する。このタスク管理部２１は、ユーザアプリケーション機能部１１から受け取ったジョブ登録に基づき１以上のタスクを生成する。なお、このジョブに基づくタスクの生成手法としては既知の種々の手法を用いることができ、その詳細な説明は省略する。
【００２９】
また、タスク管理部２１は図３に示すような制御情報Ｔ１を用いて、生成したタスクをそのタスクの処理対象のスプリットに関連付けて管理する。
図３は実施形態の一例としての分散処理システム１におけるタスク管理部２１によるタスクの管理手法を模式的に例示する図である。この図３中においては、スプリットをsplitと表示している。
【００３０】
タスク管理部２１は、例えば、システム管理者の設定に基づいてツリー構造に構築したネットワークトポロジの該当ノード上にスプリットを配置し、そこにタスクを登録しておく。このとき、同じノードかつ同じスプリットに対応する全てのタスクをキューイングしておく。
この図３に示す例においては、tokyo_01，tokyo_02及びtokyo_03で表される３つのホスト（スレーブノードＳＮ）が備えられている。ホストtokyo_00にはsplit1-1 及びsplit1-2が、ホストtokyo_01にはsplit4-1 及びsplit4-2が、又、ホストtokyo_02にはsplit2-1 及びsplit5-1が、それぞれマッピングされている。すなわち、ホストtokyo_00のストレージにはsplit1にかかるファイルが格納されている。同様に、ホストtokyo_01のストレージにはsplit4にかかるファイルが格納されており、ホストtokyo_02にはsplit2及びsplit5にかかるファイルがそれぞれ格納さている。
【００３１】
ホストtokyo_01，tokyo_02及びtokyo_03はデータセンタの共通のラック内に格納されている。
制御情報Ｔ１は、スプリットとタスクとを関連付けることにより構成される。具体的には、スプリットに対して、当該スプリットに対する処理を行なうタスクが関連付けられる。
【００３２】
複数のタスクが同一のスプリットを処理対象とする場合には、これらの複数のタスクが処理対象のスプリットに関連付けられる。すなわち、一のスプリットに対して、当該スプリットを処理対象とする複数のタスクがグルーピングされる。
図３に示す例において、例えば、ジョブ２（job2）は、２つのタスク（task1,2）を備え、task1はsplit1-2に対する処理を、又、task２はsplit2-1に対する処理を行なうものである。
【００３３】
また、この図３に例示する状態においては、例えば、split1-2には、ジョブ２のタスク１（job2-task1）と、ジョブ４のタスク１（job4-task1）とが関連付けられている。すなわち、これらのjob2-task1とjob4-task1とは、split1-2を処理対象とするタスクである。
例えば、タスク管理部２１は、個々のタスクに対して、当該タスクの処理対象のスプリットに対するリンクを張ってリンク構造体を生成することにより、スプリットとタスクとの対応付けを行なう。具体的には、タスク管理部２１は、各タスクに対して、当該タスクの処理対象のスプリットへのポインタを設定することによりリンクを張る。制御情報Ｔ１には、このポインタの情報が登録される。
【００３４】
これにより、処理対象のスプリットを等しくするタスク、すなわち、スプリットが共通の複数のタスクがリンクを介して関連付けられる。
タスク管理部２１は、ユーザアプリケーション機能部１１からジョブ登録が行なわれる都度、受け取ったジョブに基づいてタスクを生成し、生成したタスクを、当該タスクの処理対象スプリットに関連付け、制御情報Ｔ１に登録する。
【００３５】
計時制御部２３は、図示しないタイマ（計時部）に対して所定時間の計時を行なわせる制御を行なう。計時制御部２３は、後述した割当処理部２２がタスクトラッカ１３に対してタスクの割り当てを行なうと、タイマに対して所定時間の計時を開始させる。
タイマは、所定時間の計時を完了するとジョブトラッカ１２に通知する。タイマは、例えば、この計時完了の通知を割り込み信号を出力することにより行なう。計時制御部２３においては、タイマに対して計時を開始させてから計時完了の割り込み信号が入力されるまでを所定時間の計時中であると判断する。
【００３６】
なお、このタイマとしての機能は、ＣＰＵ２０１がプログラムを実行することにより実現してもよく、又、図示しないハードウェアによって実現してもよく、種々変形して実施することができる。
割当処理部２２は、タスクトラッカ１３に対してタスクを割り当てる。割当処理部２２は、タスクトラッカ１３から受け取ったタスクの割り当て依頼に対して、当該タスクの割り当て依頼の送信元のタスクトラッカ１３にタスクを割り当てる。
【００３７】
ジョブトラッカ１２は、例えば、ハートビート（Heartbeat）プロトコルの応答で、タスクトラッカ１３に対して、次に処理されるべきスプリットおよびそのスプリットにキューイングされている全てのタスクを一括して応答する。
割当処理部２２は、前回タスクの割り当てを行なってから所定時間が経過していない場合はタスクを割り当てない。一方で、前回タスクの割り当てを行なってから所定時間が経過している場合は、その所定時間の間に同じスプリットに登録された全てのタスクを、その同じサーバ１０に割り当てる。これらのタスクは制御情報Ｔ１を参照することにより容易に取得することができる。
【００３８】
そして、割当処理部２２は、タスクトラッカ１３に対して、タスクを割り当てる際には、制御情報Ｔ１において同一スプリットに関連付けられた（グルーピングされた）すべてのタスクをタスクトラッカ１３に対して一括して割り当てる。
すなわち、ジョブトラッカ１２は、１つのスプリットについて実行すべき複数のタスクが存在する場合に、これらの複数のタスクの割り当て先を複数のタスクトラッカ１３のうち、１つのタスクトラッカ１３に共通して割り当てる。
【００３９】
例えば、図３に示す例において、割当処理部２２は、split1-2を処理対象とするjob2-task1とjob4-task1とを一括してtokyo_00のタスクトラッカ１３に割り当てる。
ただし、割当処理部２２は、前述したタイマによる所定時間の計時中の間は、タスクトラッカ１３へのタスクの割り当てを抑止する。すなわち、割当処理部２２は、タイマが前述した所定時間を計時している間は、タスクトラッカ１３へのタスクの割り当てを行なわない。
【００４０】
本第１実施形態の分散処理システム１においては、割当処理部２２が、タイマによる所定時間の計時中はタスクトラッカ１３へのタスクの割り当てを抑止をしている間においても、ユーザアプリケーション機能部１１からジョブ登録が行なわれる。すなわち、タスク管理部２１により制御情報Ｔ１においてスプリットに対するタスクの関連付けが随時追加される。
【００４１】
割当処理部２２は、タスクの割り当て依頼の送信元のタスクトラッカ１３に対して、そのタスクトラッカ１３のサーバ１０に格納されているスプリットに対するタスクを優先的に割り当てる。
また、割当処理部２２は、スプリットにグルーピングされた複数のタスクをタスクトラッカ１３に割り当てる際に、これらの複数のタスク間での処理順序の情報（例えば、キュー登録された順序）もタスクトラッカ１３に通知する。
【００４２】
タスクトラッカ１３は、ジョブトラッカ１２（割当処理部２２）から割り当てられたタスクを処理する。
タスクトラッカ１３は、処理中のタスクが完了したタイミング、又は、一定時間待ち合わせた直後のタイミングで、ジョブトラッカ１２に対するハートビートプロトコルを使ってタスク要求を行なう。
【００４３】
タスクトラッカ１３は、割当処理部２２から同一スプリットに対してグルーピングされた複数のタスクを一括して割り当てられた場合には、先ず、スプリットをその格納領域から読み出し、その後、この読み出したスプリットに対して、割当処理部２２から通知された処理順序に従って複数のタスクを順次処理する。
そして、タスクトラッカ１３は、応答されたスプリットに複数のタスクが割り当てられていた場合は、対応するデータを一度だけ読み込み、そのデータを解放するまでに、全てのタスクを完了させる。
【００４４】
これにより、同一スプリットに対してグルーピングされた複数のタスクを一括して割り当てられたタスクトラッカ１３においては、一度のスプリットの読み出しでこれらの複数のタスクを処理することができる。
上述の如く構成された第１実施形態の一例としての分散処理システム１におけるマップタスクの処理手法を、図４に示すシーケンス図を用いて説明する。なお、この図４は、１つのスプリットに着目して示す図である。
【００４５】
例えば、ユーザがキーボード２０６やマウス２０７を用いて処理対象ファイルの指定や指示内容を入力すると、ユーザアプリケーション機能部１１が、この入力された情報に基づいてジョブ１（Job1）を生成し登録する（矢印Ａ１参照）。
ユーザアプリケーション機能部１１は、ファイル管理部１４に対してコマンドからスプリットの配置情報を問い合わせて取得し、ジョブ登録時に当該ジョブの処理対象となるスプリットをジョブトラッカ１２に通知する。
ジョブトラッカ１２は、ユーザアプリケーション機能部１１によって行なわれたジョブ１登録に基づき、１以上のタスクを生成し、この生成したタスクを制御情報Ｔ１にキューイングする。すなわち、生成したタスクを、制御情報Ｔ１において、その処理対象のスプリットに関連付けて登録する。
【００４６】
タスクトラッカ１３は、タスクを処理可能な状態となるとジョブトラッカ１２に対してタスクの割り当て依頼を行なう（矢印Ａ２参照）。
ジョブトラッカ１２は、先に割当処理部２２がタスクトラッカ１３にタスクの割り当てを行なってからの経過時間が予め規定された所定時間を経過している場合に、タスクトラッカ１３にタスクを割り当てる。すなわち、ジョブトラッカ１２は、タスクトラッカ１３からの最初のタスク割り当て依頼については、制御情報Ｔ１を参照して、未処理の最初のタスク（Job1にかかるタスク）を割り当てる（矢印Ａ３）。又、ジョブトラッカ１２において、計時制御部２３は、タイマに対して所定時間の計時を開始させる（矢印Ａ４参照）。タイマが計時を行なっている間は、割当処理部２２はタスクトラッカ１３に対する新たなタスクの割り当てを抑止する。すなわち、タイマが所定時間の計時中は、ジョブトラッカ１２はタスクの割り当て待ちを行なう。
【００４７】
なお、この割当処理部２２によるタスクトラッカ１３への新たなタスクの割り当ての抑止は、例えば、タスクトラッカ１３からの割り当て依頼の受信を阻止することによって実現してもよく、又、タスクトラッカ１３へのタスクの通知のための出力を阻止することによって実現してもよく、又、種々変形して実施することができる。
一方、タスクが割り当てられたタスクトラッカ１３は、割り当てられたタスクを処理し、その処理完了後に、ジョブトラッカ１２に対してタスク完了を通知する（矢印Ａ５）。
【００４８】
また、ジョブトラッカ１２がタスクの割り当て待ちを行なっている間に、更にジョブ（Job1，Job2）が登録されると（矢印Ａ６，Ａ７参照）、ジョブトラッカ１２は、これらの登録されたジョブ２，３に基づいてタスクを生成し、制御情報Ｔ１にキューイングする。すなわち、生成したタスクを、制御情報Ｔ１において、その処理対象のスプリットに関連付けて登録する。
【００４９】
このように、ジョブトラッカ１２がタスクの割り当て待ちを行なっている間に、更にジョブの登録が行なわれると、これにより生成されたタスクが、その処理対象のスプリットに関連付けて登録される。又、この際、処理対象のスプリットが同じタスクはグルーピングされて制御情報Ｔ１に登録される。
すなわち、制御情報Ｔ１において、先行して登録されたタスクが割り当て待ちとなっている間に、同じスプリットに対する別のタスクが登録された場合に、この同じスプリットに対応付けて、先行して登録されたタスクの次に新たなタスクを登録することによりキューイングを行なう。
【００５０】
その後、タイマが所定時間の計時を完了し、ジョブトラッカ１２に対して割り込み通知を行なうことによりタイムアップを通知する（矢印Ａ８）。ジョブトラッカ１２は、このタイムアップの通知を受信することにより、タスクトラッカ１３へのタスクの割り当てを再開する。
その後、タスクトラッカ１３からジョブトラッカ１２に対してタスクの割り当て依頼が行なわれると（矢印Ａ９）。所定時間の計時中ではないので、ジョブトラッカ１２の割当処理部２２は、そのタスクの割り当て依頼を行なったタスクトラッカ１３に対して、タスクの割り当てを行なう。
【００５１】
すなわち、ジョブトラッカ１２は、先にタスクトラッカ１３にタスクを割り当ててから、所定時間が経過するまで次のタスク割り当てを抑止することで、タスクトラッカ１３に対して所定時間を空けてタスクの割り当てを行なう。
割当処理部２２は、タスクトラッカ１３にタスクを割り当てる際には、制御情報Ｔ１において同一スプリットにグルーピングされたすべてのタスクをタスクトラッカ１３に対して一括して（まとめて）割り当てる（矢印Ａ１０参照）。言い換えると、処理対象のスプリットが共通する複数のタスクを同期してタスクトラッカ１３に割り当てる。
【００５２】
この際、割当処理部２２は、タスクの割り当て依頼の送信元のタスクトラッカ１３に対して、そのタスクトラッカ１３のサーバ１０に格納されているスプリットに対するタスクを優先的に割り当てる。
タスクトラッカ１３は、割り当てられた複数のタスクを処理する。これらの複数のタスクは同一のスプリットを処理対象とするものであるので、これらの複数のタスクは記憶装置２０８からスプリットを一度読み出すだけで処理することができる。すなわち、１回のデータの読み込みで複数のタスクを同時に実行させることができ、複数のタスクを短時間で処理することができる。
【００５３】
タスクトラッカ１３は、割り当てられた複数のタスクの処理を完了すると、ジョブトラッカ１２に対してタスク完了を通知する（矢印Ａ１１）。
以下、同様の処理が繰り返し行なわれる。
このように、第１実施形態の一例としての分散処理システム１によれば、ジョブトラッカ１２の割当処理部２２が、タスクトラッカ１３に対して、処理対象のスプリットが共通する複数のタスクを一括して割り当てる。
【００５４】
これにより、タスクトラッカ１３は、記憶装置２０８からスプリットを一度読み出すだけで複数のタスクを処理することができる。すなわち、複数のタスクを短時間で処理することができる。
図５（ａ），（ｂ）は本第１実施形態の一例としての分散処理システム１におけるタスクの割り当て手法を従来手法と比較して示す図であり、（ａ）は従来手法を、（ｂ）は本願手法をそれぞれ示す。
【００５５】
従来手法においては、スレーブノードＳＮにおいてタスクトラッカ１３が、個々のタスクを実行する毎にスプリットの読み出しを行なって処理していた（図５（ａ））。これにより、ディスクＩ／Ｏ（Input/Output）の回数が増大し、ディスクＩ／Ｏの輻輳が生じることにより、タスク実行に要する時間が長くなる。
これに対して、本分散処理システム１においては、スレーブノードＳＮにおいてタスクトラッカ１３が、１回のスプリットデータの読み込みで複数のタスクを同時に実行できる。これにより、データ読み込み処理の平均レイテンシが改善される。又、スプリットの読み込み回数が低減することにより、記憶装置２０８におけるディスクＩ／Ｏの回数が減少する。これにより、記憶装置２０８においてディスクＩ／Ｏの輻輳が起こり難くなり、複数のタスクの完了時刻を早めることができる（図５（ｂ）参照）。
【００５６】
また、本分散処理システム１においては、ジョブトラッカ１２が、制御情報Ｔ１において、処理対象のスプリットが共通の複数の処理待ちのタスクを、そのスプリットに関連付けて管理する。これにより、割当処理部２２がスプリットが共通の複数のタスクをタスクトラッカ１３に対して迅速に割り当てることができる。
ジョブトラッカ１２が、先にタスクトラッカ１３にタスクを割り当ててから、所定時間が経過するまで次のタスク割り当てを抑止することで、タスクトラッカ１３に対して所定時間を空けてタスクの割り当てを行なう。ジョブトラッカ１２は、タスク割り当てを抑止していた所定期間中に受けたジョブ登録により生成されたタスクを、制御情報Ｔ１において、その処理対象のスプリットに対応付けて登録する。このように、ジョブトラッカ１２がタスク割り当てを所定時間抑止することで、その間に生成されたタスクをスプリットに対応させてグルーピングさせることができる。これにより、スプリットが共通の複数のタスクを効率良く用意することができる。
【００５７】
（Ｂ）第２実施形態の説明
通常、マップ−リデュースタスクはできる限り早く完了することが要求されるが、そうではない場合もある。例えば、xx月xx日のxx時までに終わればよい、というようなケースがこれに相当する。
このような処理の完了を急がないタスクについては、その実行を遅らせ、処理対象のスプリットが同一な他のタスクと同時に実行させることにより、スプリットの読み出し回数を低減することができ、処理速度の高速化に有効である。
【００５８】
そこで、本第２実施形態の分散処理システム１においては、タスクに対して優先情報のプロパティを設け、割当処理部２２は、この優先情報に基づいてタスクの割り当てを行なう。
本第２実施形態の分散処理システム１においては、割当処理部２２が優先情報を用いてタスクの割り当てを行なう点で第１実施形態の分散処理システム１と異なり、その他の部分は第１実施形態の分散処理システム１と同様に構成されている。
【００５９】
優先情報としては、例えば、タスクの目標完了時刻を用いる。割当処理部２２は、目標完了時刻が近いタスクほど優先してタスクトラッカ１３に割り当て、実行させる。
タスクの目標完了時刻は、例えば、ジョブの登録時にユーザがキーボード２０６やマウス２０７を用いて入力し、ユーザアプリケーション機能部１１が、入力された目標完了時刻をジョブに付加する。例えば、タスク管理部２１は、ジョブに付加された目標完了時刻を読み取り、この目標完了時刻をタスクにプロパティとして設定する。
【００６０】
本第２実施形態の分散処理システム１は、主に、制御情報Ｔ１においてタスクに優先情報（例えば目標完了時刻）を設定する点と、割当処理部２２が目標完了時刻までの時間が閾値よりも短い場合に割り当てを抑止する点とで第１実施形態の分散処理システム１と異なる。
本第２実施形態の分散処理システム１においても、割当処理部２２は、タスクトラッカ１３にタスクを割り当てる。割当処理部２２は、タスクトラッカ１３から受け取ったタスクの割り当て依頼に対して、当該タスクの割り当て依頼の送信元のタスクトラッカ１３にタスクを割り当てる。
【００６１】
割当処理部２２は、現在時刻に基づいて、登録されているタスクの目標完了時刻までの時間を算出し、この目標完了時刻までの時間を予め設定された閾値と比較する。
割当処理部２２は、目標完了時刻までの時間が閾値よりも長い場合には、目標完了時刻が遠いと判断し、当該タスクのタスクトラッカ１３への割り当てを抑止する。これにより、そのタスクは制御情報Ｔ１において、処理対象のスプリットに関係付けられた状態で登録された状態で維持される。
【００６２】
また、割当処理部２２は、制御情報Ｔ１において、目標完了時刻までの時間が閾値よりも短い（目標完了時刻が近い）タスクや、目標完了時刻が過ぎてしまっているタスクを検知すると、そのタスクをすぐにタスクトラッカ１３に割り当てる。これにより、タスクの処理の遅滞を最低限に抑えることができる。
割当処理部２２は、目標完了時刻までの時間が閾値よりも短いタスクや、目標完了時刻が過ぎてしまっているタスクをタスクトラッカ１３に割り当てる際に、そのタスクと処理対象のスプリットが同一の他のタスクも、そのタスクトラッカ１３に割り当てる。又、この際、割当処理部２２は、グルーピングされた複数のタスク間での処理順序の情報（例えば、キュー登録された順序）も通知する。
【００６３】
すなわち、割当処理部２２は、目標完了時刻までの猶予時間が短いタスクに合わせて、目標完了時刻までの猶予時間が長いタスクを一括してタスクトラッカ１３に割り当てる。
上述の如く構成された第２実施形態の一例としての分散処理システム１におけるマップタスクの処理手法を、図６に示すシーケンス図を用いて説明する。なお、この図６は、１つのスプリットに着目して示す図である。
【００６４】
例えば、ユーザがキーボード２０６やマウス２０７を用いて処理対象ファイルの指定や処理内容（指示内容），目標完了時刻を入力すると、ユーザアプリケーション機能部１１が、この入力された情報に基づいてジョブ１（Job1）を生成し登録する（矢印Ｂ１参照）。生成されたジョブには目標完了時刻が付加される。
ユーザアプリケーション機能部１１は、ファイル管理部１４に対してコマンドからスプリットの配置情報を問い合わせて取得し、ジョブ登録時に当該ジョブの処理対象となるスプリットをジョブトラッカ１２に通知する。
ジョブトラッカ１２は、ユーザアプリケーション機能部１１によって行なわれたジョブ１登録に基づき、１以上のタスクを生成し、この生成したタスクを制御情報Ｔ１にキューイングする。すなわち、生成したタスクを、制御情報Ｔ１において、その処理対象のスプリットに関連付けて登録する。
【００６５】
タスクトラッカ１３は、タスクを処理可能な状態となるとジョブトラッカ１２に対してタスクの割り当て依頼を行なう（矢印Ｂ２参照）。
ここで、Job1にかかるタスクの目標完了時刻は、現在時刻から比べて遠い（優先度が低い）ので、割当処理部２２は、タスクの割り当ての依頼元に対するタスクの割り当てを抑止し、タスクの割り当てを行なわない（矢印Ｂ３参照）。すなわち、ジョブトラッカ１２はタスクの割り当て待ちを行なう。
【００６６】
ジョブトラッカ１２がタスクの割り当て待ちを行なっている間に、更にジョブ（JOB2）が登録されると（矢印Ｂ４参照）、ジョブトラッカ１２は、この登録されたJob2に基づいてタスクを生成し、制御情報Ｔ１にキューイングする。すなわち、生成したタスクを、制御情報Ｔ１において、その処理対象のスプリットに関連付けて登録する。
このように、ジョブトラッカ１２がタスクの割り当て待ちを行なっている間に、更にジョブの登録が行なわれると、これにより生成されたタスクが、制御情報Ｔ１において、その処理対象のスプリットに関連付けて登録される。この際、処理対象のスプリットが同じタスクはグルーピングされて制御情報Ｔ１に登録される。
【００６７】
すなわち、制御情報Ｔ１において、先行して登録されたタスクが割り当て待ちとなっている間に、同じスプリットに対する別のタスクが登録された場合に、この同じスプリットに対応付けて、先行して登録されたタスクの次に新たなタスクを登録することによりキューイングを行なう。
その後、目標完了時刻が近いJob3が登録されると（矢印Ｂ５）、ジョブトラッカ１２は、タスクトラッカ１３へのタスクの割り当てを再開する。
【００６８】
その後、タスクトラッカ１３からジョブトラッカ１２に対してタスクの割り当て依頼が行なわれると（矢印Ｂ６）。ジョブトラッカ１２の割当処理部２２は、そのタスクの割り当て依頼を行なったタスクトラッカ１３に対して、タスクの割り当てを行なう。
すなわち、ジョブトラッカ１２は、先にタスクトラッカ１３にタスクを割り当ててから、その後、目標完了時刻が近い（優先度が高い）タスクが生成されるまでタスク割り当てを抑止することで、タスクトラッカ１３へのタスクの割り当て待ちを行なう。
【００６９】
そして、割当処理部２２は、タスクトラッカ１３に対して、タスクを割り当てる際には、制御情報Ｔ１において同一スプリットにグルーピングされたすべてのタスクをタスクトラッカ１３に対して一括して割り当てる（矢印Ｂ７参照）。言い換えると、処理対象のスプリットが共通する複数のタスクを同期してタスクトラッカ１３に割り当てる。
この際、割当処理部２２は、タスクの割り当て依頼の送信元のタスクトラッカ１３に対して、そのタスクトラッカ１３のサーバ１０に格納されているスプリットに対するタスクを優先的に割り当てる。
【００７０】
タスクトラッカ１３は、割り当てられた複数のタスクを処理する。これらの複数のタスクは同一のスプリットを処理対象とするものであるので、これらの複数のタスクは記憶装置２０８からスプリットを一度読み出すだけで処理することができる。すなわち、１回のデータの読み込みで複数のタスクを同時に実行させることができ、複数のタスクを短時間で処理することができる。
【００７１】
タスクトラッカ１３は、割り当てられた複数のタスクの処理が完了すると、ジョブトラッカ１２に対してタスク完了を通知する（矢印Ｂ８）。
以下、同様の処理が繰り返し行なわれる。
このように、第２実施形態の一例としての分散処理システム１によっても、第１実施形態と同様に、ジョブトラッカ１２の割当処理部２２が、タスクトラッカ１３に対して、処理対象のスプリットが共通する複数のタスクを割り当てる。
【００７２】
これにより、スレーブノードＳＮにおいて、タスクトラッカ１３は、記憶装置２０８からスプリットを一度読み出すだけで複数のタスクを処理することができ、第１実施形態と同様の作用効果を得ることができる。
特に、目標完了時刻が遠い、すなわち、優先度の低いタスクの実行が留保されて、目標完了時刻が近い、すなわち、優先度の高いタスクと同時に実行される可能性が高くなる。
【００７３】
本第２実施形態の分散処理システム１においては、目標完了時刻をタスクの割り当て優先度として用いる。これにより、優先度は不変の値ではなく、目標完了時刻に近づくに従って優先度が高くなる。
（Ｃ）その他
開示の技術は上述した実施形態に限定されるものではなく、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。
【００７４】
例えば、上述した各実施形態においては、分散処理システム１は４台のサーバ１０をそなえているが、これに限定されるものではなく、３台以下もしくは５台以上のサーバ１０をそなえてもよい。又、マスタノードＭＮがタスクトラッカ１３としての機能をそなえているが、これに限定されるものではなく、マスタノードＭＮがタスクトラッカ１３としての機能を備えなくてもよい。
【００７５】
また、上述した第２実施形態においては、タスクに対して優先情報として目標完了時刻を設定しているが、これに限定されるものではない。例えば、優先情報として整数のような大小関係がある値（優先度）を用いてもよい。
そして、タスクに設定された優先度が所定の閾値より高ければ、そのタスクを通常通りにすぐにタスクトラッカ１３に割り当てるが、優先度が閾値より低い場合には、タスクトラッカ１３への割り当てを抑止し、割り当て待ちければ割り当てを行なわない。これにより、優先度の低いタスクの実行が留保されて優先度の高いタスクと同時に実行される可能性が高まる。
【００７６】
また、タスクの優先度は、一度決めたら不変ではなく、例えば、目標完了時刻に近づくに従って上げてもよい。
そして、上述した開示により本実施形態を当業者によって実施・製造することが可能である。
（Ｄ）付記
（付記１）
データを分割して得られる複数の分割データのうちの１つの分割データについて実行すべき複数のタスクが存在する場合に、該複数のタスクの割り当て先を複数の処理部のうち、１つの処理部に共通して割り当てる割り当て制御部、
を備えたことを特徴とする、制御装置。
【００７７】
（付記２）
前記割り当て制御部が、前記処理部に対してタスクの割り当てを行なった後に、前記処理部に対するタスクの割り当てを一時的に抑止し、
当該タスクの割り当ての抑止中に、新たに生成されたタスクを分割データに関連付けることを特徴とする、付記１記載の制御装置。
【００７８】
（付記３）
タイマに所定時間の計時を行なわせる計時制御部をそなえ、
前記割り当て制御部が、前記タイマによる所定時間の計時中は、前記処理部に対するタスクの割り当てを一時的に抑止することを特徴とする、付記２記載の制御装置。
（付記４）
前記割り当て制御部が、
タスクに対して優先情報を関連付け、
前記優先情報において優先順位が高いタスクに合わせて優先順位が低いタスクを一括して前記処理部に割り当てることを特徴とする、付記２記載の制御装置。
【００７９】
（付記５）
前記優先情報が、タスクの目標完了時刻であり、
前記割り当て制御部が、目標完了時刻までの猶予時間が短いタスクに合わせて目標完了時刻までの猶予時間が長いタスクを一括して前記処理部に割り当てることを特徴とする、付記４記載の制御装置。
【００８０】
（付記６）
データを分割して得られる複数の分割データのうちの１つの分割データについて実行すべき複数のタスクが存在する場合に、該複数のタスクの割り当て先を複数の処理部のうち、１つの処理部に共通して割り当てるステップ、
を備えたことを特徴とする制御方法。
【００８１】
（付記７）
前記処理部に対してタスクの割り当てを行なった後に、前記処理部に対するタスクの割り当てを一時的に抑止するステップと、
当該タスクの割り当ての抑止中に、新たに生成されたタスクを分割データに関連付けるステップとを備えることを特徴とする、付記６記載の制御方法。
【００８２】
（付記８）
タイマに所定時間の計時を行なわせるステップをそなえ、
前記タイマによる所定時間の計時中は、前記処理部に対するタスクの割り当てを一時的に抑止することを特徴とする、付記７記載の制御方法。
（付記９）
タスクに対して優先情報を関連付け、
前記優先情報において優先順位が高いタスクに合わせて優先順位が低いタスクを一括して前記処理部に割り当てることを特徴とする、付記７記載の制御方法。
【００８３】
（付記１０）
前記優先情報が、タスクの目標完了時刻であり、
目標完了時刻までの猶予時間が短いタスクに合わせて目標完了時刻までの猶予時間が長いタスクを一括して前記処理部に割り当てることを特徴とする、付記９記載の制御方法。
（付記１１）
データを分割して得られる複数の分割データのうちの１つの分割データについて実行すべき複数のタスクが存在する場合に、該複数のタスクの割り当て先を複数の処理部のうち、１つの処理部に共通して割り当てる、
処理をコンピュータに実行させるプログラム。
【００８４】
（付記１２）
前記処理部に対してタスクの割り当てを行なった後に、前記処理部に対するタスクの割り当てを一時的に抑止し、
当該タスクの割り当ての抑止中に、新たに生成されたタスクを分割データに関連付ける
処理を前記コンピュータに実行させることを特徴とする、付記１１記載のプログラム。
【００８５】
（付記１３）
タイマに所定時間の計時を行なわせ、
前記タイマによる所定時間の計時中は、前記処理部に対するタスクの割り当てを一時的に抑止する
処理を前記コンピュータに実行させることを特徴とする、付記１２記載のプログラム。
【００８６】
（付記１４）
タスクに対して優先情報を関連付け、
前記優先情報において優先順位が高いタスクに合わせて優先順位が低いタスクを一括して前記処理部に割り当てる
処理を前記コンピュータに実行させることを特徴とする、付記１２記載のプログラム。
【００８７】
（付記１５）
前記優先情報が、タスクの目標完了時刻であり、
目標完了時刻までの猶予時間が短いタスクに合わせて目標完了時刻までの猶予時間が長いタスクを一括して前記処理部に割り当てる
処理を前記コンピュータに実行させることを特徴とする、付記１４記載のプログラム。
【００８８】
（付記１６）
データを分割して得られる複数の分割データに対するタスクを処理する複数の処理部と、
データを分割して得られる複数の分割データのうちの１つの分割データについて実行すべき複数のタスクが存在する場合に、該複数のタスクの割り当て先を前記複数の処理部のうち、１つの処理部に共通して割り当てる割り当て制御部と、
を備えたことを特徴とする分散処理システム。
【００８９】
（付記１７）
前記割り当て制御部が、前記処理部に対してタスクの割り当てを行なった後に、前記処理部に対するタスクの割り当てを一時的に抑止し、
当該タスクの割り当ての抑止中に、新たに生成されたタスクを分割データに関連付けることを特徴とする、付記１６記載の分散処理システム。
【００９０】
（付記１８）
タイマに所定時間の計時を行なわせる計時制御部をそなえ、
前記割り当て制御部が、前記タイマによる所定時間の計時中は、前記処理部に対するタスクの割り当てを一時的に抑止することを特徴とする、付記１７記載の分散処理システム。
【００９１】
（付記１９）
前記割り当て制御部が、
タスクに対して優先情報を関連付け、
前記優先情報において優先順位が高いタスクに合わせて優先順位が低いタスクを一括して前記処理部に割り当てることを特徴とする、付記１７記載の分散処理システム。
（付記２０）
前記優先情報が、タスクの目標完了時刻であり、
前記割り当て制御部が、目標完了時刻までの猶予時間が短いタスクに合わせて目標完了時刻までの猶予時間が長いタスクを一括して前記処理部に割り当てることを特徴とする、付記１９記載の分散処理システム。
【符号の説明】
【００９２】
１    分散処理システム
１０−１，１０−２〜１０−４    サーバ（ノード）
１１    ユーザアプリケーション機能部
１２    ジョブトラッカ（割り当て制御部）
１３    タスクトラッカ（処理部）
１４    ファイル管理部
２１    タスク管理部
２２    割当処理部
２３    計時制御部
５０    ネットワーク
２０１    ＣＰＵ
２０２    ＲＡＭ
２０３    ＲＯＭ
２０５    表示装置
２０６    キーボード
２０７    マウス
２０８    記憶装置
Ｔ１    制御情報
【図１】
0005831324.tif 000002
【図２】
0005831324.tif 000003
【図３】
0005831324.tif 000004
【図４】
0005831324.tif 000005
【図５】
0005831324.tif 000006
【図６】
0005831324.tif 000007