JP6083290B2 - 分散処理システム - Google Patents

分散処理システム Download PDF

Info

Publication number
JP6083290B2
JP6083290B2 JP2013066711A JP2013066711A JP6083290B2 JP 6083290 B2 JP6083290 B2 JP 6083290B2 JP 2013066711 A JP2013066711 A JP 2013066711A JP 2013066711 A JP2013066711 A JP 2013066711A JP 6083290 B2 JP6083290 B2 JP 6083290B2
Authority
JP
Japan
Prior art keywords
execution
node
task
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.)
Active
Application number
JP2013066711A
Other languages
English (en)
Other versions
JP2014191594A (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.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2013066711A priority Critical patent/JP6083290B2/ja
Priority to US14/227,441 priority patent/US9218210B2/en
Publication of JP2014191594A publication Critical patent/JP2014191594A/ja
Application granted granted Critical
Publication of JP6083290B2 publication Critical patent/JP6083290B2/ja
Active 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

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)

Description

本発明は、分散処理システム、分散処理方法、ノード装置、およびプログラムに関する。
バッチ処理は、コンピュータのデータ処理方法の一種であり、データを一定期間あるいは一定量をまとめてから、一つのタスクとして一括して処理を行う方式のことである。大量のデータを一括して処理するため、途中で異常終了した際、最初から再実行するとコストが高くなる傾向がある。このため、タスクの実行状態を適宜に記憶装置に保存しておき、万が一に異常終了した際、タスクの途中から再実行するシステムが提案ないし実用化されている(例えば特許文献1参照)。
また、バッチ処理は、単純な処理の繰り返しが比較的多い。例えばエンタープライズバッチ処理では、入力アイテム(データ)列に対してそれぞれ同等の処理を行い、その結果を出力するという処理が典型的に存在する。このため、タスク処理を複数のノード(コンピュータ)を利用して、分散して実行することがある(例えば特許文献2参照)。このような処理を分散タスク処理あるいは単に分散処理、それを実行するシステムを分散処理システムと言う。分散処理システムでは、複数のノードにおけるタスクの実行状態は、リカバリ処理などに備えて、永続記憶装置に集約されて記録され管理されることが多い。
特開平9−282192号公報 特開平10−326201号公報
今、図12に示されるような管理ノードと複数の実行ノードとから構成され、タスクの実行状態を管理ノード側の永続記憶装置で一元管理する分散処理システムを考える。この分散管理システムでは、管理ノードは、入力されるタスクを分割して個々の実行ノードに割り付ける。各々の実行ノードは、割り付けられたタスクを実行し、その実行完了時に実行状態更新要求を管理ノードへ送信する。管理ノードは、受信した実行状態更新要求に従って永続記憶装置に記録されたタスクの実行状態情報を更新する。これによって、複数の実行ノードで実行されるタスクの実行状態が永続記憶装置に集約され、一貫した情報として永続化することができる。
上記のような分散管理システムにおいて、入力タスクに対して均質なタスク処理を分散実行するために、図13に示されるように、分散処理を実行するノードを均等に利用するように分散タスクを割り付けると、各実行ノード上でのタスクの実行がほぼ同時刻に完了するケースが多発する。なお、図13において、矩形形状の小片は1つの処理対象であるアイテムを示す。そのため、図14に示されるように、全ての実行ノードがほぼ同時刻に実行状態更新要求を管理ノードへ送信するケースが発生し、管理ノードに一度に大量の実行状態更新要求が到着することになる。このため、同時実行可能な実行状態更新要求の処理数に制限がある管理ノードでは、整合性のとれた実行状態更新処理が困難になり、一貫性のある集約されたタスク実行状態の記録が困難になる。
本発明の目的は、上述した課題、すなわち、多数の実行ノードからの実行状態更新要求が一時に管理ノードに集中する、という課題を解決する分散処理システムを提供することにある。
本発明の第1の観点に係る分散処理システムは、
管理ノードと複数の実行ノードとを有する分散処理システムにおいて、
上記管理ノードは、
複数の処理対象から構成されるタスクの実行状態情報を記録する永続記憶装置と、
上記タスクを分割して複数の上記実行ノードへ割り付けて実行を依頼する分散タスク管理部と、
上記実行ノードからの実行状態更新要求を受信して上記永続記憶装置に記録された上記タスクの実行状態情報を更新する実行状態情報記録更新部とを有し、
各々の上記実行ノードは、
上記管理ノードから割り付けられたタスクを実行し、その実行完了時に上記実行状態更新要求を上記管理ノードへ送信する分散タスク実行部を有し、
上記分散タスク管理部は、上記タスクの割り付けでは、単位量の上記処理対象を処理するのに要する処理時間である第1の時間と上記実行状態更新要求の処理に要する処理時間である第2の時間とに基づいて、上記複数の実行ノードのうちの任意の2つの上記実行ノードにおいて割り付けられたタスクの完了時刻の差が上記第2の時間より大きくなるように、各々の上記実行ノードへ割り付けるタスクで処理する上記処理対象の量の差を決定する。
本発明の第2の観点に係る分散処理システムは、
管理ノードと複数の実行ノードとを有する分散処理システムにおいて、
上記管理ノードは、
複数の処理対象から構成されるタスクの実行状態情報を記録する永続記憶装置と、
上記タスクを分割して複数の上記実行ノードへ割り付けて実行を依頼する分散タスク管理部と、
複数の上記実行ノードから実行状態更新要求を受信して上記永続記憶装置に記録された上記タスクの実行状態情報を更新する実行状態情報記録更新部とを有し、
複数の上記実行ノードは、複数のグループに分割され、各々の上記グループに属する複数の上記実行ノードのうち、何れか一つがメイン実行ノード、残りがサブ実行ノードとして機能し、上記サブ実行ノードは、上記管理ノードから割り付けられたタスクを実行し、その実行完了時に上記実行状態更新要求を上記メイン実行ノードへ送信する第1の分散タスク実行管理部を有し、上記メイン実行ノードは、上記管理ノードから割り付けられたタスクを実行し、その実行が完了し且つ自ノードが所属する上記グループの上記サブ実行ノードの全てから上記実行状態更新要求を受信した時に自ノードおよび上記サブ実行ノードの上記実行状態更新要求を上記管理ノードへ送信する第2の分散タスク実行管理部を有し、
上記分散タスク管理部は、上記タスクの割り付けでは、単位量の上記処理対象を処理するのに要する処理時間である第1の時間と上記実行状態更新要求の処理に要する処理時間である第2の時間とに基づいて、上記グループ内の任意の2つの上記実行ノードにおいて割り付けられたタスクの完了時刻の差が上記第2の時間より大きくなり、且つ、上記任意の2つの上記メイン実行ノードにおいて割り付けられたタスクの完了時刻の差が上記第2の時間より大きくなるように、各々の上記実行ノードへ割り付けるタスクで処理する上記処理対象の量の差を決定する。
本発明の第3の観点にかかる分散処理方法は、
複数の処理対象から構成されるタスクの実行状態情報を記録する永続記憶装置を有する管理ノードと複数の実行ノードとを有する分散処理システムが実行する分散処理方法であって、
上記管理ノードが、上記タスクを分割して複数の上記実行ノードへ割り付けて実行を依頼し、
各々の上記実行ノードが、上記管理ノードから割り付けられたタスクを実行し、その実行完了時に実行状態更新要求を上記管理ノードへ送信し、
上記管理ノードが、上記実行ノードからの実行状態更新要求を受信して上記永続記憶装置に記録された上記タスクの実行状態情報を更新し、
上記管理ノードの上記タスクの割り付けでは、単位量の上記処理対象を処理するのに要する処理時間である第1の時間と上記実行状態更新要求の処理に要する処理時間である第2の時間とに基づいて、上記複数の実行ノードのうちの任意の2つの上記実行ノードにおいて割り付けられたタスクの完了時刻の差が上記第2の時間より大きくなるように、各々の上記実行ノードへ割り付けるタスクで処理する上記処理対象の量の差を決定する。
本発明の第4の観点に係る分散処理方法は、
複数の処理対象から構成されるタスクの実行状態情報を記録する永続記憶装置を有する管理ノードと、複数の実行ノードとを有し、複数の上記実行ノードは、複数のグループに分割され、各々の上記グループに属する複数の上記実行ノードのうち、何れか一つがメイン実行ノード、残りがサブ実行ノードとして機能する分散処理システムにおける分散処理方法であって、
上記管理ノードが、上記タスクを分割して複数の上記実行ノードへ割り付けて実行を依頼し、
各々の上記実行ノードが、上記管理ノードから割り付けられたタスクを実行し、自ノードが上記サブ実行ノードならば、割り付けられたタスクの実行完了時に上記実行状態更新要求を上記メイン実行ノードへ送信し、自ノードが上記メイン実行ノードならば、割り付けられたタスクの実行が完了し且つ自ノードが所属する上記グループの上記サブ実行ノードの全てから上記実行状態更新要求を受信した時に自ノードおよび上記サブ実行ノードの上記実行状態更新要求を上記管理ノードへ送信し、
上記管理ノードが、複数の上記実行ノードから上記実行状態更新要求を受信して上記永続記憶装置に記録された上記タスクの実行状態情報を更新し、
上記管理ノードの上記タスクの割り付けでは、単位量の上記処理対象を処理するのに要する処理時間である第1の時間と上記実行状態更新要求の処理に要する処理時間である第2の時間とに基づいて、上記グループ内の任意の2つの上記実行ノードにおいて割り付けられたタスクの完了時刻の差が上記第2の時間より大きくなり、且つ、上記任意の2つの上記メイン実行ノードにおいて割り付けられたタスクの完了時刻の差が上記第2の時間より大きくなるように、各々の上記実行ノードへ割り付けるタスクで処理する上記処理対象の量の差を決定する。
本発明の第5の観点に係るノード装置は、
複数の実行ノードに接続されたノード装置であって、
複数の処理対象から構成されるタスクの実行状態情報を記録する永続記憶装置と、
上記タスクを分割して複数の上記実行ノードへ割り付けて実行を依頼する分散タスク管理部と、
上記実行ノードからの実行状態更新要求を受信して上記永続記憶装置に記録された上記タスクの実行状態情報を更新する実行状態情報記録更新部とを有し、
上記分散タスク管理部は、上記タスクの割り付けでは、単位量の上記処理対象を処理するのに要する処理時間である第1の時間と上記実行状態更新要求の処理に要する処理時間である第2の時間とに基づいて、上記複数の実行ノードのうちの任意の2つの上記実行ノードにおいて割り付けられたタスクの完了時刻の差が上記第2の時間より大きくなるように、各々の上記実行ノードへ割り付けるタスクで処理する上記処理対象の量の差を決定する。
本発明の第6の観点に係るノード装置は、
複数の実行ノードに接続されたノード装置であって、
複数の処理対象から構成されるタスクの実行状態情報を記録する永続記憶装置と、
上記タスクを分割して複数の上記実行ノードへ割り付けて実行を依頼する分散タスク管理部と、
上記実行ノードからの実行状態更新要求を受信して上記永続記憶装置に記録された上記タスクの実行状態情報を更新する実行状態情報記録更新部とを有し、
複数の上記実行ノードが、複数のグループに分割され、各々の上記グループに属する複数の上記実行ノードのうち、何れか一つがメイン実行ノード、残りがサブ実行ノードとして機能し、上記サブ実行ノードは、上記管理ノードから割り付けられたタスクを実行し、その実行完了時に上記実行状態更新要求を上記メイン実行ノードへ送信し、上記メイン実行ノードは、上記管理ノードから割り付けられたタスクを実行し、その実行が完了し且つ自ノードが所属する上記グループの上記サブ実行ノードの全てから上記実行状態更新要求を受信した時に自ノードおよび上記サブ実行ノードの上記実行状態更新要求を上記管理ノードへ送信する場合、上記分散タスク管理部は、上記タスクの割り付けでは、単位量の上記処理対象を処理するのに要する処理時間である第1の時間と上記実行状態更新要求の処理に要する処理時間である第2の時間とに基づいて、上記グループ内の任意の2つの上記サブ実行ノードにおいて割り付けられたタスクの完了時刻の差が上記第2の時間より大きくなり、且つ、上記任意の2つの上記メイン実行ノードにおいて割り付けられたタスクの完了時刻の差が上記第2の時間より大きくなるように、各々の上記実行ノードへ割り付けるタスクで処理する上記処理対象の量の差を決定する。
本発明は上述した構成を有するため、多数の実行ノードから管理ノードに対して同時期に実行状態更新要求が送信されることがなくなり、実行状態更新要求に係る管理ノードの負荷を時間的に分散することが可能になる。
本発明の第1の実施形態のブロック図である。 本発明の第1の実施形態における実行ノードへの分散タスクの割付例を示す図である。 本発明の第1の実施形態における実行ノードから送信される実行状態更新要求のタイミングの説明図である。 本発明の第2の実施形態のブロック図である。 本発明の第3の実施形態のブロック図である。 本発明の第3の実施形態における実行ノードへの分散タスクの割付例を示す図である。 本発明の第3の実施形態における実行ノードへの分散タスクの割付例と比較するための他の割付例を示す図である。 本発明の第4の実施形態のブロック図である。 本発明の第4の実施形態における実行ノードへの分散タスクの割付例を示す図である。 本発明の第4の実施形態における実行ノードから送信される実行状態更新要求のタイミングの説明図である。 本発明の第4の実施形態における実行ノードへの分散タスクの割付例と比較するための他の割付例を示す図である。 本発明に関連する分散処理システムのブロック図である。 本発明に関連する分散処理システムにおける実行ノードへの分散タスクの割付例を示す図である。 本発明に関連する分散処理システムにおける実行ノードから送信される実行状態更新要求のタイミングの説明図である。
次に本発明の実施の形態について図面を参照して詳細に説明する。
[第1の実施形態]
図1を参照すると、本発明の第1の実施形態にかかる分散処理システム100は、管理ノード110と複数の実行ノード120と実行状態永続記録装置130とを有する。一般に管理ノード110と各々の実行ノード120とはネットワークを介して接続される。
実行状態永続記録装置130は、ハードディスク等の永続記録装置であり、タスクの実行状態情報を記憶する機能を有する。タスクの実行状態情報は、例えば、タスクを特定する識別名と当該タスクを構成するアイテム(処理対象)を特定する識別名と当該アイテムの実行状態(例えば実行済、未実行など)との組み合わせから成る。勿論、タスクの実行状態情報の形式は上記の例に限定されず、複数のアイテム単位で実行状態を記録する等、他の形式であってもよい。この実行状態永続記録装置130は、管理ノード110のローカルな記憶装置であってもよいし、管理ノード110にネットワークを通じて接続された記憶装置であってもよい。
管理ノード110は、例えば、MPU等のプロセッサと、RAM等の記憶部と、ネットワークインターフェイスカード等の通信部と、キーボード等の操作入力部と、液晶ディスプレイ等の画面表示部とを有するコンピュータで構成される。上記記憶部にはプログラムが記憶されており、プロセッサはプログラムを読み取って実行することにより、ハードウェアとプログラムとを協働させて各種処理部を実現する。上記プロセッサで実現される主な処理部として、分散タスク管理部111と実行状態情報記録更新部112と単位アイテム処理コスト算出部113と状態更新コスト算出部114とがある。
実行状態情報記録更新部112は、分散タスク管理部111から実行状態更新要求を受け取り、その実行状態更新要求に従って、実行状態永続記録装置130に記録されている実行状態情報を更新する。例えば、実行状態更新要求には、タスク識別子とアイテム識別子と実行状態とが含まれており、実行状態情報記録更新部112は、実行状態更新要求に含まれるタスク識別子とアイテム識別子とに対応する実行状態永続記録装置130の実行状態情報を、実行状態更新要求中の実行状態で更新する。
状態更新コスト算出部114は、単位数の実行状態更新要求を実行状態情報記録更新部112が処理するのに要する時間tex-updateを算出し、分散タスク管理部111に提供する機能を有する。時間tex-updateの算出方法は任意である。例えば、ユーザによる設定値に基づく方法や、実行状態情報記録更新部112をテスト実行させ、その際の実行時間を採取して記録する方法などが考えられる。
単位アイテム処理コスト算出部113は、単位量のアイテムを実行ノード120で処理するのに要する時間titemを算出し、分散タスク管理部111に提供する機能を有する。時間titemの算出方法は任意である。例えば、ユーザによる設定値に基づく方法や、実行ノード120の後述する分散タスク実行部をテスト実行させ、その際の実行時間を採取して記録する方法などが考えられる。
分散タスク管理部111は、管理ノード110に投入されたタスク140を分割して実行ノード120に割り付け、実行ノード120へ分散タスクの実行を依頼する機能を有する。また分散タスク管理部111は、実行ノード120から実行状態更新要求を受信すると、それを実行状態情報記録更新部112に伝達して処理を依頼する機能を有する。さらに分散タスク管理部111は、上記タスクの割付では、単位アイテム処理コスト算出部113から時間titemを取得し、状態更新コスト算出部114から時間tex-updateを取得し、これらの時間に基づいて、複数の実行ノード120のうちの任意の2つの実行ノードにおいて割り付けられたタスクの完了時刻の差が時間tex-updateより大きくなるように、各々の実行ノード120へ割り付けるタスクで処理するアイテムの量の差を決定する機能を有する。以下に割り付け量を算出する方法の具体例を説明する。
まず分散タスク管理部111は、時間tex-updateが何個分の単位アイテムの処理時間になるかを以下の式により決定する。なお、Δitemは、tex-update/titemの小数点以下を切り上げた整数である。
Δitem=tex-update/titem …(1)
次に分散タスク管理部111は、実行ノード数をn、タスクで処理すべき全体の単位アイテム総数をm、実行ノードのノード番号をi(0<i<n)とするとき、ノード番号iの実行ノードに割り付けるアイテムの総量N(i)を次式により算出する。
N(i)=(m/n)+(i−n/2)×Δitem …(2)
但し、上記式2で算出したアイテムの総量がmを超える場合には、例えば、割当アイテム数のより少ない1或いは複数の実行ノードから過剰分のアイテムを削減して、総量がmになるように調整する。
実行ノード120は、例えば、MPU等のプロセッサと、RAM等の記憶部と、ネットワークインターフェイスカード等の通信部と、キーボード等の操作入力部と、液晶ディスプレイ等の画面表示部とを有するコンピュータで構成される。上記記憶部にはプログラムが記憶されており、プロセッサはプログラムを読み取って実行することにより、ハードウェアとプログラムとを協働させて各種処理部を実現する。上記プロセッサで実現される主な処理部として、分散タスク実行部121がある。
分散タスク実行部121は、管理ノード110の分散タスク管理部111から割り付けられたタスクを実行する機能と、割り付けられたタスクの実行完了時に実行状態更新要求を管理ノード110の分散タスク管理部111へ送信する機能とを有する。実行状態更新要求には、例えば、タスク識別子とアイテム識別子と実行状態とが含まれる。
次に本実施形態に係る分散処理システムの動作を説明する。
図1において、管理ノード110の分散タスク管理部111は、タスク140が投入されると、単位アイテム処理コスト算出部113から単位アイテムの処理に必要な時間titemを、また状態更新コスト算出部114から単位数の実行状態更新要求を処理するのに要する時間tex-updateをそれぞれ取得する。次に、取得したtitemとtex-updateを基にして、任意の2つの実行ノード120において割り付けられたタスクの完了時刻の差がtex-updateより大きくなるように、各実行ノード120へ割り付けるタスクで処理すべき単位アイテムの量を決定する。具体的には、前述した式1および式2を用いて、各実行ノード120に割り付けるアイテム数を算出する。そして、この算出したアイテム数の処理を分散タスクとして割り付け、各実行ノードの分散タスク実行部121に対して分散タスクの実行を依頼する。
図2は、実行ノード120の総数が6、タスク140のアイテム数が60、前記式1のΔitemが1の場合の分散タスクの割付結果の一例を示す。
各々の実行ノード120の分散タスク実行部121は、管理ノード110から分散タスクが割り当てられて実行が依頼されると、分散タスクの各アイテムを順番に実行する。そして、分散タスクの全てのアイテムの処理を完了すると、その旨を記述した実行状態更新要求を管理ノード110の分散タスク管理部111へ送信する。
図3は、各々の実行ノード120が管理ノード110に対して実行状態更新要求を送信するタイミングを示している。ノード番号1、2、3、4、5、6の実行ノード120は、割り当てられたアイテム数が6個、8個、10個、11個、12個、13個と互いに相違するため、各実行ノード120から管理ノード110への実行状態更新要求の送信タイミングは、最低でもΔitemだけ時間的に離れている。この結果、管理ノード110における実行ノード120からの実行状態更新要求の多重度が1を超えることが無くなり、実行状態更新要求に係る管理ノード110の負荷を時間的に分散することが可能になる。これに対して均等に割り付けた場合には、図14に示されるように、時刻10×titemのタイミングで実行ノードからの実行状態更新要求が6多重で行われることになる。
従って、本実施形態によれば、多数の実行ノードから管理ノードに対して同時期に実行状態更新要求が送信されることがなくなり、実行状態更新要求に係る管理ノードの負荷を時間的に分散することが可能になる。その結果、多重接続を受け入れるための管理ノードにおける要求リソースの削減が可能となり、性能の改善およびスケーラビリティの向上効果が得られる。
[第2の実施形態]
図4を参照すると、本発明の第2の実施形態にかかる分散処理システム200は、管理ノード210と複数の実行ノード220と実行状態永続記録装置230とを有する。一般に管理ノード210と各々の実行ノード220とはネットワークを介して接続される。
実行ノード220とその内部の分散タスク管理部211、および、実行状態永続記録装置230は、図1に示した第1の実施形態における実行ノード120とその内部の分散タスク管理部111、および、実行状態永続記録装置130と同じ機能を有する。
管理ノード210は、例えば、MPU等のプロセッサと、RAM等の記憶部と、ネットワークインターフェイスカード等の通信部と、キーボード等の操作入力部と、液晶ディスプレイ等の画面表示部とを有するコンピュータで構成される。上記記憶部にはプログラムが記憶されており、プロセッサはプログラムを読み取って実行することにより、ハードウェアとプログラムとを協働させて各種処理部を実現する。上記プロセッサで実現される主な処理部として、分散タスク管理部211と実行状態情報記録更新部212と単位アイテム処理コスト算出部213と状態更新コスト算出部214と状態更新要求受付予定順序記録部215と状態更新要求順序照合部216とがある。
実行状態情報記録更新部212と単位アイテム処理コスト算出部213と状態更新コスト算出部214とは、図1に示した第1の実施形態における実行状態情報記録更新部112と単位アイテム処理コスト算出部113と状態更新コスト算出部114と同じ機能を有する。
状態更新要求受付予定順序記録部215は、複数の実行ノード220からの実行状態更新要求の受付予定順序を記憶する機能を有する。
状態更新要求順序照合部216は、分散タスク管理部211における複数の実行ノード220からの実行状態更新要求の受付順序と、状態更新要求受付予定順序記録部215に記憶されている複数の実行ノード220からの実行状態更新要求の受付予定順序とを照合し、受付予定順序であるのにもかかわらず実行状態更新要求が受け付けられなかった実行ノード220を異常ノードとして検出する機能を有する。
分散タスク管理部211は、図1に示した第1の実施形態における分散タスク管理部111と同じ機能を有すると共に、以下のような機能を有する。まず分散タスク管理部211は、各実行ノード220へのタスク割当時に、単位アイテム数の割当量の大小順を各実行ノード220の実行状態更新要求受付予定順序として状態更新要求受付予定順序記録部215に記録する。ここで、単位アイテム数の割当量を上記式1、式2により算出する場合、単位アイテム数の割当量の大小順はノード番号順になる。また分散タスク管理部211は、タスク実行開始後に実行ノード220から実行状態更新要求を受け付けると、それを実行状態情報記録更新部212に伝達すると共に状態更新要求順序照合部216に伝達する。
次に本実施形態に係る分散処理システムの動作を説明する。本実施形態の動作は、分散タスク管理部211と状態更新要求受付予定順序記録部215と状態更新要求順序照合部216の動作が図1に示した第1の実施形態と相違し、それ以外は第1の実施形態と同じである。以下では、主に第1の実施形態と相違する動作について説明する。
図4において、管理ノード210の分散タスク管理部211は、タスク240が投入されると、第1の実施形態と同様に、前述した式1および式2を用いて、各実行ノード220に割り付けるアイテム数を算出し、この算出したアイテム数の処理を分散タスクとして割り付け、各実行ノード220に対して分散タスクの実行を依頼する。このとき分散タスク管理部211は、アイテム数の割当量の大小順を各実行ノード220の状態更新要求受付予定順序として状態更新要求受付予定順序記録部215に記録する。
その後、各実行ノード220の分散タスク実行部221で分散タスクの処理が実行され、分散タスクの処理を完了した実行ノード220から順に実行状態更新要求が管理ノード210へ送信されてくる。分散タスク管理部211は、何れかの実行ノード220から実行状態更新要求を受信すると、それを実行状態情報記録更新部212に伝達すると共に状態更新要求順序照合部216に伝達する。実行状態情報記録更新部212では第1の実施形態における実行状態情報記録更新部112と同様の動作を行う。
他方、状態更新要求順序照合部216は、分散タスク管理部211から受け取った実行ノード220からの実行状態更新要求の受付順序を、自身に記録されている複数の実行ノード220からの実行状態更新要求の受付予定順序と照合する。そして、受付予定順序であるのにもかかわらず実行状態更新要求が受け付けられなかった実行ノード220が存在したならば、その実行ノード220を異常ノードとして検出する。例えば、受付予定順序が、実行ノード220−1、実行ノード220−2、実行ノード220−3の順であるとき、実行ノード220−1から実行状態更新要求を受け付けた後、次に受け付けられた実行状態更新要求が実行ノード220−3からのものであった場合、実行ノード220−2が異常ノードとして検出される。
異常ノードを検出したときの動作は任意である。例えば、状態更新要求順序照合部216は、検出した異常ノードを分散タスク管理部211を通じて実行状態情報記録更新部212に通知し、実行状態情報記録更新部212が実行状態永続記録装置230に異常ノードに関する情報を記録するようにしてよい。あるいは状態更新要求順序照合部216は、検出した異常ノードを通信回線を介して接続された外部装置に通知するようにしてよい。
このように本実施形態によれば、分散タスクの完了時刻がノード番号順(基本アイテムの割当量の大小順)に整列することを利用して、実行ノードにおける異常を早期に検出することが可能になる。
[第3の実施形態]
図5を参照すると、本発明の第3の実施形態にかかる分散処理システム300は、管理ノード310と複数の実行ノード320と実行状態永続記録装置330とを有する。一般に管理ノード310と各々の実行ノード320とはネットワークを介して接続される。
実行ノード320とその内部の分散タスク管理部321、および、実行状態永続記録装置330は、図1に示した第1の実施形態における実行ノード120とその内部の分散タスク管理部111、および、実行状態永続記録装置130と同じ機能を有する。
管理ノード310は、例えば、MPU等のプロセッサと、RAM等の記憶部と、ネットワークインターフェイスカード等の通信部と、キーボード等の操作入力部と、液晶ディスプレイ等の画面表示部とを有するコンピュータで構成される。上記記憶部にはプログラムが記憶されており、プロセッサはプログラムを読み取って実行することにより、ハードウェアとプログラムとを協働させて各種処理部を実現する。上記プロセッサで実現される主な処理部として、分散タスク管理部311と実行状態情報記録更新部312と単位アイテム処理コスト算出部313と状態更新コスト算出部314と傾斜割付履歴記憶部315とがある。
実行状態情報記録更新部312と単位アイテム処理コスト算出部313と状態更新コスト算出部314とは、図1に示した第1の実施形態における実行状態情報記録更新部112と単位アイテム処理コスト算出部113と状態更新コスト算出部114と同じ機能を有する。
傾斜割付履歴記憶部315は、複数の実行ノード320へのタスクの割当履歴を記憶する機能を有する。
分散タスク管理部311は、図1に示した第1の実施形態における分散タスク管理部111と同じ機能を有すると共に、以下のような機能を有する。まず分散タスク管理部311は、各実行ノード220へのタスク割当時、各々の実行ノード320へ割り付けるタスクで処理するアイテムの量に差を付けた場合、その割付履歴を傾斜割付履歴記憶部315に記憶する。また分散タスク管理部311は、複数の実行ノード320へ割り付ける分散タスクで処理するアイテムの量を計算する際、傾斜割付履歴記憶部315に記憶された割付履歴を参照し、各々の実行ノード320へ割り付けるタスクで処理するアイテムの量に差を付けた割付(傾斜割付)の履歴が存在するならば、傾斜割付を行わず均等割り付けを行い、傾斜割付履歴が存在しないならば傾斜割付を行う。ここで、傾斜割付とは、第1の実施形態で説明したように、複数の実行ノードのうちの任意の2つの実行ノードにおいて割り付けられたタスクの完了時刻の差が少なくともtex-updateより大きくなるように、各々の実行ノードへ割り付けるタスクで処理する処理対象の量に差を付けて割付けることである。
次に本実施形態に係る分散処理システムの動作を説明する。本実施形態の動作は、分散タスク管理部311と傾斜割付履歴記憶部315の動作が図1に示した第1の実施形態と相違し、それ以外は第1の実施形態と同じである。以下では、主に第1の実施形態と相違する動作について説明する。
図5において、管理ノード310の分散タスク管理部311は、最初のタスク340が投入されると、第1の実施形態と同様に、前述した式1および式2を用いて、各実行ノード320に割り付けるアイテム数を算出し、この算出したアイテム数の処理を分散タスクとして割り付け、各実行ノード320に対して分散タスクの実行を依頼する。このとき分散タスク管理部311は、傾斜割付の実行履歴を傾斜割付履歴記憶部315に記憶する。
次に、上記最初のタスク340に続いて2番目のタスク340が投入されると、管理ノード310の分散タスク管理部311は、傾斜割付履歴記憶部315に傾斜割付の実行履歴が記憶されているので、前述した式1および式2による傾斜割付は実行せず、入力タスク340に対して均質なタスク処理を分散実行するために、分散処理を実行するノード320を均等に利用するように分散タスクを割り付ける。
図6は、2つのタスク340が連続して投入される場合の分散タスク割付例を示す。最初のタスク1が傾斜割付されているため、後続のタスク2が均等割付されていても任意の2つの実行ノード320において割り付けられたタスクの完了時刻の差が最低でもΔitemだけ時間的に離れている。この結果、管理ノード310における実行ノード320からの実行状態更新要求の多重度がタスク1、タスク2共に1を超えることが無くなり、実行状態更新要求に係る管理ノード310の負荷を時間的に分散することが可能になる。
これに対して、後続のタスク2をタスク1と同様に傾斜割付すると、その分散タスク割付状況は図7に示すようになる。図7においては、後続のタスク2に関し任意の2つの実行ノードにおいて割り付けられたタスクの完了時刻の差が最低でもΔitem×2だけ時間的に離れている。すなわち、実行状態更新要求のタイミングの競合を避けるために最低限必要な時間の倍の時間差が生じている。この結果、図7ではタスク2が完了するまでに26titemの時間がかかっている。一方、本実施形態による図6では、23titemの時間でタスク2が完了することになり、より効率的な実行が可能となる。
[第4の実施形態]
図8を参照すると、本発明の第4の実施形態にかかる分散処理システム400は、管理ノード410と複数の実行ノード420と実行状態永続記録装置430とを有する。一般に管理ノード410と各々の実行ノード420とはネットワークを介して接続される。
実行ノード420は、例えば、MPU等のプロセッサと、RAM等の記憶部と、ネットワークインターフェイスカード等の通信部と、キーボード等の操作入力部と、液晶ディスプレイ等の画面表示部とを有するコンピュータで構成される。上記記憶部にはプログラムが記憶されており、プロセッサはプログラムを読み取って実行することにより、ハードウェアとプログラムとを協働させて各種処理部を実現する。上記プロセッサで実現される主な処理部として、分散タスク実行部421がある。
本実施形態では、複数の実行ノード420は、複数のグループに分割され、各々のグループに属する実行ノード420のうち、何れか一つがメイン実行ノード、残りがサブ実行ノードとして機能する。図8に示す例では、実行ノード420は合計9個あり、3分割されて、実行ノード420−1〜420−3がグループG1、実行ノード420−4〜420−6がグループG2、実行ノード420−7〜420−9がグループG3を形成している。また、グループG1では、実行ノード420−1がメイン、実行ノード420−2、420−3がサブとして機能し、グループG2では、実行ノード420−4がメイン、実行ノード420−5、420−6がサブとして機能し、グループG3では、実行ノード420−7がメイン、実行ノード420−8、420−9がサブとして機能する。
サブの実行ノードの分散タスク実行部421は、管理ノード410から割り付けられたタスクを実行する機能と、その実行完了時に実行状態更新要求を自グループのメインの実行ノードへ送信する機能とを有する。
他方、メインの実行ノードの分散タスク実行部421は、管理ノード410から割り付けられたタスクを実行する機能と、自グループのサブの実行ノードから実行状態更新要求を受信する機能と、自ノードに割り付けられたタスクの実行が完了し、且つ、自グループの全てのサブの実行ノードから実行状態更新要求を受信した時、自ノードおよび全てのサブ実行ノードの実行状態更新要求をまとめて管理ノード410へ送信する機能とを有する。
管理ノード410は、例えば、MPU等のプロセッサと、RAM等の記憶部と、ネットワークインターフェイスカード等の通信部と、キーボード等の操作入力部と、液晶ディスプレイ等の画面表示部とを有するコンピュータで構成される。上記記憶部にはプログラムが記憶されており、プロセッサはプログラムを読み取って実行することにより、ハードウェアとプログラムとを協働させて各種処理部を実現する。上記プロセッサで実現される主な処理部として、分散タスク管理部411と実行状態情報記録更新部412と単位アイテム処理コスト算出部413と状態更新コスト算出部414とグループ情報記憶部415とがある。
実行状態情報記録更新部412と単位アイテム処理コスト算出部413と状態更新コスト算出部414とは、図1に示した第1の実施形態における実行状態情報記録更新部112と単位アイテム処理コスト算出部113と状態更新コスト算出部114と同じ機能を有する。
グループ情報記憶部415は、複数の実行ノード420により構成される各グループの情報を記憶する機能を有する。各々のグループの情報には、そのグループのメインの実行ノードを特定する識別子等の情報、そのグループのサブの実行ノードを特定する識別子等の情報が含まれる。
分散タスク管理部311は、管理ノード410に投入されたタスク440を分割して実行ノード420に割り付け、実行ノード420へ分散タスクの実行を依頼する機能を有する。また分散タスク管理部411は、実行ノード420から実行状態更新要求を受信すると、それを実行状態情報記録更新部412に伝達して処理を依頼する機能を有する。さらに分散タスク管理部411は、上記タスクの割付では、単位アイテム処理コスト算出部413から時間titemを取得し、状態更新コスト算出部414から時間tex-updateを取得し、これらの時間に基づいて、グループ内の任意の2つの実行ノードにおいて割り付けられたタスクの完了時刻の差がtex-updateより大きくなり、且つ、任意の2つのメイン実行ノードにおいて割り付けられたタスクの完了時刻の差がtex-updateより大きくなるように、各々の実行ノードへ割り付けるタスクで処理するアイテムの量の差を決定する機能を有する。以下に割り付け量を算出する方法の具体例を説明する。
まず分散タスク管理部411は、時間tex-updateが何個分の単位アイテムの処理時間になるかを前述した式1により決定する。
次に分散タスク管理部411は、グループ数をg、タスクで処理すべき全体の単位アイテム総数をm、グループ番号をj(0<j<g)、グループ内のノード数をsとするとき、グループ番号jのグループ全体に割り付けるアイテムの総量M(j)を次式により算出する。
M(j)=(m/g)+(j−g/2)×sΔitem …(3)
但し、上記式3で算出したアイテムの総量がmを超える場合には、各グループから過剰分のアイテムを削減して、総量がmになるように調整する。このとき、任意のグループ間のアイテム総数の差がsΔitemより小さくならないようにする。
次に分散タスク管理部411は、各グループ毎に、そのグループに属する実行ノードに割り付けるアイテムの総量を算出する。この算出は、第1の実施形態における式2と同様に行う。即ち、グループに属する実行ノード数をn’、グループ全体の単位アイテム総数をm’、グループ内での実行ノードのノード番号をi’(0<i<s、メイン実行ノードのノード番号は1)とするとき、ノード番号iの実行ノードに割り付けるアイテムの総量N’(i)を次式により算出する。
N’(i)=(m’/n’)+(i−n’/2)×Δitem …(4)
但し、上記式4で算出したアイテムの総量がm’を超える場合には、過剰分のアイテムを削減して、総量がm’になるように調整する。
次に本実施形態に係る分散処理システムの動作を説明する。本実施形態の動作は、分散タスク管理部411とグループ情報記憶部415の動作が図1に示した第1の実施形態と相違し、それ以外は第1の実施形態と同じである。以下では、主に第1の実施形態と相違する動作について説明する。
図8において、管理ノード410の分散タスク管理部411は、タスク440が投入されると、グループ情報記憶部415を参照し、複数の実行ノード420がグループ化されているならば、前述した式3、式4を用いて、各実行ノード420に割り付けるアイテム数を算出し、この算出したアイテム数の処理を分散タスクとして割り付け、各実行ノード420に対して分散タスクの実行を依頼する。
図9は、分散タスク割付例を示す。図9を参照すると、9個の実行ノードを3グループに分割して45アイテムを処理する場合、グループG1に12個、グループG2に15個、グループG3に18個のアイテムが割り当てられる。また、グループG1内ではメインの実行ノード1に3個、サブの実行ノード2に4個、サブの実行ノード3に5個のアイテムが割り当てられ、グループG2内ではメインの実行ノード4に4個、サブの実行ノード5に5個、サブの実行ノード6に6個のアイテムが割り当てられ、グループG3内ではメインの実行ノード7に5個、サブの実行ノード8に6個、サブの実行ノード9に7個のアイテムが割り当てられる。
各々の実行ノード420の分散タスク実行部421は、管理ノード410から分散タスクが割り当てられて実行が依頼されると、分散タスクの各アイテムを順番に実行する。そして、分散タスクの全てのアイテムの処理を完了すると、サブ実行ノードの分散タスク実行部421は実行状態更新要求を自グループのメイン実行ノードへ送信する。またメイン実行ノードの分散タスク実行部421は、自ノードに割り当てられた分散タスクの全てのアイテムの処理が完了し、且つ、自グループの全てのサブ実行ノードから実行状態更新要求を受信すると、自ノードの実行状態更新要求およびサブ実行ノードの実行状態更新要求をまとめて管理ノード410の分散タスク管理部411へ送信する。
図10は、各々の実行ノードが実行状態更新要求を送信するタイミングの説明図である。図9および図10を参照すると、時刻5×titemの時点では、サブの実行ノード2とサブの実行ノード3の実行状態はメインの実行ノード1を介して、メインの実行ノード1の実行状態と一緒に管理ノード410へ更新要求がなされるが、同時刻に処理が完了したサブの実行ノード5の実行状態はそのノード5が所属するグループのメインの実行ノード4が受け取るのみで、管理ノード410への同時アクセスとならない。また、同様に、同時刻に処理が完了するメインの実行ノード7の実行状態は、サブの実行ノード8、サブの実行ノード9からの実行状態がまだ届いていないので、自ノード7で保持されており、管理ノード410への同時アクセスとはならない。よって、実行状態更新要求に係る管理ノード410の負荷を時間的に分散することが可能になる。
また図10を参照すると、最小の処理アイテム数が割り当てられたタスクの処理アイテム数は3、最大の処理アイテム数が割り当てられたタスクの処理アイテム数は7であり、その差は4である。一方、グループ分割せずに分散タスクの割り当てを行った場合、図11に示されるように、最小の処理アイテム数が割り当てられたタスクの処理アイテム数は1、最大の処理アイテム数が割り当てられたタスクの処理アイテム数は9であり、その差は8である。従って、本実施形態の方が、割り当てられた処理アイテム数が少ない実行ノードの計算リソースが遊休状態になる時間を短縮することができ、効率的な分散処理が可能になる。
一般的に、グループ分割しない場合、分散タスクの割付の偏りがノード数に比例して増大してしまう。例えば実行ノード数がnの場合、最小の処理アイテム数が割り当てられたタスクと最大の処理アイテム数が割り当てられたタスクの処理アイテム数の差はΔitem×nとなり、nが1000など大きくなった場合に、割り当てられた処理アイテム数が少ない実行ノードの計算リソースが遊休状態になる時間が極端に長くなってしまい、非効率となる。これに対して、本実施形態のようにグループ化して割り付けると、総実行ノード数n、グループ分割数をGとした場合、最小の処理アイテム数が割り当てられたタスクと最大の処理アイテム数が割り当てられたタスクの処理アイテム数の差は、一般的にΔitem×n/Gとなり、1/Gに緩和することができる。
なお、本実施形態では、グルーピングが1階層のみの例を説明したが、グルーピングを階層化して、ツリー状にメイン実行ノードを配置することも考えられる。
本発明は管理ノードと複数の実行ノードから構成される分散処理システム、例えばエンタープライズバッチ処理システムなどに利用することができる。
100…分散処理システム
110…管理ノード
111…分散タスク管理部
112…実行状態情報記録更新部
113…単位アイテム処理コスト算出部
114…状態更新コスト算出部
120…実行ノード
121…分散タスク実行部
130…実行状態永続記録装置
140…タスク

Claims (10)

  1. 管理ノードと複数の実行ノードとを有する分散処理システムにおいて、
    前記管理ノードは、
    複数の処理対象から構成されるタスクの実行状態情報を記録する永続記憶装置と、
    前記タスクを分割し分散タスクとして複数の前記実行ノードへ割り付けて実行を依頼する分散タスク管理部と、
    前記実行ノードからの実行状態更新要求を受信して前記永続記憶装置に記録された前記タスクの実行状態情報を更新する実行状態情報記録更新部とを有し、
    各々の前記実行ノードは、
    前記管理ノードから割り付けられた分散タスクを実行し、その実行完了時に前記実行状態更新要求を前記管理ノードへ送信する分散タスク実行部を有し、
    前記分散タスク管理部は、前記分散タスクの割り付けでは、単位量の前記処理対象を処理するのに要する処理時間である第1の時間と前記実行状態更新要求の処理に要する処理時間である第2の時間とに基づいて、前記複数の実行ノードのうちの任意の2つの前記実行ノードにおいて割り付けられた分散タスクの完了時刻の差が前記第2の時間より大きくなるように、各々の前記実行ノードへ割り付ける分散タスクで処理する前記処理対象の量の差を決定する
    分散処理システム。
  2. 前記管理ノードは、
    前記分散タスク管理部によって各々の前記実行ノードへ割り付けられた分散タスクで処理する前記処理対象の数の大小関係に基づいて定まる、複数の前記実行ノードの実行状態更新要求受付予定順序を記憶する受付予定順序記録部と、
    前記分散タスク管理部における複数の前記実行ノードからの前記実行状態更新要求の受付順序と、前記受付予定順序記録部に記憶されている前記実行状態更新要求受付予定順序とを照合し、前記実行状態更新要求受付予定順序で予定されいる受付順序であるのにもかかわらず前記実行状態更新要求が受け付けられなかった前記実行ノードを異常ノードとして検出する順序照合部と
    を有する
    請求項1に記載の分散処理システム。
  3. 前記管理ノードは、
    前記分散タスク管理部による複数の前記実行ノードへの分散タスクの割付履歴を記憶する割付履歴記憶部を有し、
    前記分散タスク管理部は、前記割付履歴記憶部に記憶された複数の前記実行ノードへの分散タスクの割付履歴を参照して、各々の前記実行ノードへ割り付ける分散タスクで処理する前記処理対象の量に差を付けるか否かを決定する
    請求項1または2に記載の分散処理システム。
  4. 管理ノードと複数の実行ノードとを有する分散処理システムにおいて、
    前記管理ノードは、
    複数の処理対象から構成されるタスクの実行状態情報を記録する永続記憶装置と、
    前記タスクを分割し分散タスクとして複数の前記実行ノードへ割り付けて実行を依頼する分散タスク管理部と、
    複数の前記実行ノードから実行状態更新要求を受信して前記永続記憶装置に記録された前記タスクの実行状態情報を更新する実行状態情報記録更新部とを有し、
    複数の前記実行ノードは、複数のグループに分割され、各々の前記グループに属する複数の前記実行ノードのうち、何れか一つがメイン実行ノード、残りがサブ実行ノードとして機能し、前記サブ実行ノードは、前記管理ノードから割り付けられた分散タスクを実行し、その実行完了時に前記実行状態更新要求を前記メイン実行ノードへ送信する第1の分散タスク実行管理部を有し、前記メイン実行ノードは、前記管理ノードから割り付けられた分散タスクを実行し、その実行が完了し且つ自ノードが所属する前記グループの前記サブ実行ノードの全てから前記実行状態更新要求を受信した時に自ノードおよび前記サブ実行ノードの前記実行状態更新要求を前記管理ノードへ送信する第2の分散タスク実行管理部を有し、
    前記分散タスク管理部は、前記分散タスクの割り付けでは、単位量の前記処理対象を処理するのに要する処理時間である第1の時間と前記実行状態更新要求の処理に要する処理時間である第2の時間とに基づいて、前記グループ内の任意の2つの前記実行ノードにおいて割り付けられた分散タスクの完了時刻の差が前記第2の時間より大きくなり、且つ、前記任意の2つの前記メイン実行ノードにおいて割り付けられた分散タスクの完了時刻の差が前記第2の時間より大きくなるように、各々の前記実行ノードへ割り付ける分散タスクで処理する前記処理対象の量の差を決定する
    分散処理システム。
  5. 複数の処理対象から構成されるタスクの実行状態情報を記録する永続記憶装置を有する管理ノードと複数の実行ノードとを有する分散処理システムが実行する分散処理方法であって、
    前記管理ノードが、前記タスクを分割し分散タスクとして複数の前記実行ノードへ割り付けて実行を依頼し、
    各々の前記実行ノードが、前記管理ノードから割り付けられた分散タスクを実行し、その実行完了時に実行状態更新要求を前記管理ノードへ送信し、
    前記管理ノードが、前記実行ノードからの実行状態更新要求を受信して前記永続記憶装置に記録された前記タスクの実行状態情報を更新し、
    前記管理ノードの前記分散タスクの割り付けでは、単位量の前記処理対象を処理するのに要する処理時間である第1の時間と前記実行状態更新要求の処理に要する処理時間である第2の時間とに基づいて、前記複数の実行ノードのうちの任意の2つの前記実行ノードにおいて割り付けられた分散タスクの完了時刻の差が前記第2の時間より大きくなるように、各々の前記実行ノードへ割り付ける分散タスクで処理する前記処理対象の量の差を決定する
    分散処理方法。
  6. 複数の処理対象から構成されるタスクの実行状態情報を記録する永続記憶装置を有する管理ノードと、複数の実行ノードとを有し、複数の前記実行ノードは、複数のグループに分割され、各々の前記グループに属する複数の前記実行ノードのうち、何れか一つがメイン実行ノード、残りがサブ実行ノードとして機能する分散処理システムにおける分散処理方法であって、
    前記管理ノードが、前記タスクを分割し分散タスクとして複数の前記実行ノードへ割り付けて実行を依頼し、
    各々の前記実行ノードが、前記管理ノードから割り付けられた分散タスクを実行し、自ノードが前記サブ実行ノードならば、割り付けられた分散タスクの実行完了時に実行状態更新要求を前記メイン実行ノードへ送信し、自ノードが前記メイン実行ノードならば、割り付けられた分散タスクの実行が完了し且つ自ノードが所属する前記グループの前記サブ実行ノードの全てから前記実行状態更新要求を受信した時に自ノードおよび前記サブ実行ノードの前記実行状態更新要求を前記管理ノードへ送信し、
    前記管理ノードが、複数の前記実行ノードから前記実行状態更新要求を受信して前記永続記憶装置に記録された前記タスクの実行状態情報を更新し、
    前記管理ノードの前記分散タスクの割り付けでは、単位量の前記処理対象を処理するのに要する処理時間である第1の時間と前記実行状態更新要求の処理に要する処理時間である第2の時間とに基づいて、前記グループ内の任意の2つの前記実行ノードにおいて割り付けられた分散タスクの完了時刻の差が前記第2の時間より大きくなり、且つ、前記任意の2つの前記メイン実行ノードにおいて割り付けられた分散タスクの完了時刻の差が前記第2の時間より大きくなるように、各々の前記実行ノードへ割り付ける分散タスクで処理する前記処理対象の量の差を決定する
    分散処理方法。
  7. 複数の実行ノードに接続されたノード装置であって、
    複数の処理対象から構成されるタスクの実行状態情報を記録する永続記憶装置と、
    前記タスクを分割し分散タスクとして複数の前記実行ノードへ割り付けて実行を依頼する分散タスク管理部と、
    前記実行ノードからの実行状態更新要求を受信して前記永続記憶装置に記録された前記タスクの実行状態情報を更新する実行状態情報記録更新部とを有し、
    前記分散タスク管理部は、前記分散タスクの割り付けでは、単位量の前記処理対象を処理するのに要する処理時間である第1の時間と前記実行状態更新要求の処理に要する処理時間である第2の時間とに基づいて、前記複数の実行ノードのうちの任意の2つの前記実行ノードにおいて割り付けられた分散タスクの完了時刻の差が前記第2の時間より大きくなるように、各々の前記実行ノードへ割り付ける分散タスクで処理する前記処理対象の量の差を決定する
    ノード装置。
  8. 複数の実行ノードに接続されたノード装置であって、
    複数の処理対象から構成されるタスクの実行状態情報を記録する永続記憶装置と、
    前記タスクを分割し分散タスクとして複数の前記実行ノードへ割り付けて実行を依頼する分散タスク管理部と、
    前記実行ノードからの実行状態更新要求を受信して前記永続記憶装置に記録された前記タスクの実行状態情報を更新する実行状態情報記録更新部とを有し、
    複数の前記実行ノードが、複数のグループに分割され、各々の前記グループに属する複数の前記実行ノードのうち、何れか一つがメイン実行ノード、残りがサブ実行ノードとして機能し、前記サブ実行ノードは、前記ノード装置から割り付けられた分散タスクを実行し、その実行完了時に前記実行状態更新要求を前記メイン実行ノードへ送信し、前記メイン実行ノードは、前記ノード装置から割り付けられた分散タスクを実行し、その実行が完了し且つ自ノードが所属する前記グループの前記サブ実行ノードの全てから前記実行状態更新要求を受信した時に自ノードおよび前記サブ実行ノードの前記実行状態更新要求を前記ノード装置へ送信する場合、前記分散タスク管理部は、前記分散タスクの割り付けでは、単位量の前記処理対象を処理するのに要する処理時間である第1の時間と前記実行状態更新要求の処理に要する処理時間である第2の時間とに基づいて、前記グループ内の任意の2つの前記サブ実行ノードにおいて割り付けられた分散タスクの完了時刻の差が前記第2の時間より大きくなり、且つ、前記任意の2つの前記メイン実行ノードにおいて割り付けられた分散タスクの完了時刻の差が前記第2の時間より大きくなるように、各々の前記実行ノードへ割り付ける分散タスクで処理する前記処理対象の量の差を決定する
    ノード装置。
  9. 複数の実行ノードに接続されたノード装置を構成するコンピュータを、
    複数の処理対象から構成されるタスクの実行状態情報を記録する永続記憶部と、
    前記タスクを分割し分散タスクとして複数の前記実行ノードへ割り付けて実行を依頼する分散タスク管理部と、
    前記実行ノードからの実行状態更新要求を受信して前記永続記憶部に記録された前記タスクの実行状態情報を更新する実行状態情報記録更新部と
    して機能させ、
    前記分散タスク管理部は、前記分散タスクの割り付けでは、単位量の前記処理対象を処理するのに要する処理時間である第1の時間と前記実行状態更新要求の処理に要する処理時間である第2の時間とに基づいて、前記複数の実行ノードのうちの任意の2つの前記実行ノードにおいて割り付けられた分散タスクの完了時刻の差が前記第2の時間より大きくなるように、各々の前記実行ノードへ割り付ける分散タスクで処理する前記処理対象の量の差を決定する
    プログラム。
  10. 複数の実行ノードに接続されたノード装置を構成するコンピュータを、
    複数の処理対象から構成されるタスクの実行状態情報を記録する永続記憶部と、
    前記タスクを分割し分散タスクとして複数の前記実行ノードへ割り付けて実行を依頼する分散タスク管理部と、
    前記実行ノードからの実行状態更新要求を受信して前記永続記憶部に記録された前記タスクの実行状態情報を更新する実行状態情報記録更新部と
    して機能させ、
    複数の前記実行ノードが、複数のグループに分割され、各々の前記グループに属する複数の前記実行ノードのうち、何れか一つがメイン実行ノード、残りがサブ実行ノードとして機能し、前記サブ実行ノードは、前記ノード装置から割り付けられた分散タスクを実行し、その実行完了時に前記実行状態更新要求を前記メイン実行ノードへ送信し、前記メイン実行ノードは、前記ノード装置から割り付けられた分散タスクを実行し、その実行が完了し且つ自ノードが所属する前記グループの前記サブ実行ノードの全てから前記実行状態更新要求を受信した時に自ノードおよび前記サブ実行ノードの前記実行状態更新要求を前記ノード装置へ送信する場合、前記分散タスク管理部は、前記分散タスクの割り付けでは、単位量の前記処理対象を処理するのに要する処理時間である第1の時間と前記実行状態更新要求の処理に要する処理時間である第2の時間とに基づいて、前記グループ内の任意の2つの前記サブ実行ノードにおいて割り付けられた分散タスクの完了時刻の差が前記第2の時間より大きくなり、且つ、前記任意の2つの前記メイン実行ノードにおいて割り付けられた分散タスクの完了時刻の差が前記第2の時間より大きくなるように、各々の前記実行ノードへ割り付ける分散タスクで処理する前記処理対象の量の差を決定する
    プログラム。
JP2013066711A 2013-03-27 2013-03-27 分散処理システム Active JP6083290B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013066711A JP6083290B2 (ja) 2013-03-27 2013-03-27 分散処理システム
US14/227,441 US9218210B2 (en) 2013-03-27 2014-03-27 Distributed processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013066711A JP6083290B2 (ja) 2013-03-27 2013-03-27 分散処理システム

Publications (2)

Publication Number Publication Date
JP2014191594A JP2014191594A (ja) 2014-10-06
JP6083290B2 true JP6083290B2 (ja) 2017-02-22

Family

ID=51622179

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013066711A Active JP6083290B2 (ja) 2013-03-27 2013-03-27 分散処理システム

Country Status (2)

Country Link
US (1) US9218210B2 (ja)
JP (1) JP6083290B2 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6083290B2 (ja) * 2013-03-27 2017-02-22 日本電気株式会社 分散処理システム
CN104536814B (zh) * 2015-01-16 2019-01-22 北京京东尚科信息技术有限公司 一种处理工作流的方法和系统
JP2016186704A (ja) * 2015-03-27 2016-10-27 富士通株式会社 情報処理装置、情報処理システム及びプログラム
JP6582628B2 (ja) * 2015-07-02 2019-10-02 富士通株式会社 処理割当方法、処理割当装置、及び処理割当プログラム
CN110770704B (zh) * 2017-06-19 2023-02-17 三菱电机株式会社 分布配置装置、分布配置系统以及分布配置方法
CN109460300A (zh) * 2018-11-19 2019-03-12 中国银行股份有限公司 一种银行外部请求的处理方法及系统
CN111459639B (zh) * 2020-04-03 2023-10-20 杭州小影创新科技股份有限公司 一种支持全球多机房部署的分布式任务管理平台及方法
CN113094177A (zh) * 2021-04-21 2021-07-09 上海商汤科技开发有限公司 一种任务分发系统、方法、装置、计算机设备及存储介质
CN113535560A (zh) * 2021-07-14 2021-10-22 杭州网易云音乐科技有限公司 测试执行方法、装置、存储介质和计算设备
CN114979141B (zh) * 2022-05-13 2024-04-26 北京百度网讯科技有限公司 一种任务处理方法、装置、设备以及存储介质
CN116996513B (zh) * 2023-08-09 2024-04-02 无锡斑目信息技术有限公司 一种设备资产管理系统的资源调度方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2809271B2 (ja) 1996-04-15 1998-10-08 日本電気株式会社 ジョブ再実行方式
JP3139536B2 (ja) 1997-05-26 2001-03-05 日本電気株式会社 分散バッチジョブ処理システムおよびその障害時におけるジョブの自動再起動方法
JP2010231296A (ja) * 2009-03-26 2010-10-14 Fuji Xerox Co Ltd 並列計算システム
EP2503462A4 (en) * 2009-11-16 2012-10-31 Fujitsu Ltd PARALLEL CALCULATION DEVICE, METHOD, AND PROGRAM
JP2011170571A (ja) * 2010-02-18 2011-09-01 Nippon Telegr & Teleph Corp <Ntt> 分散計算システム、分散計算の分配結合装置および端末装置
WO2012124017A1 (ja) * 2011-03-11 2012-09-20 富士通株式会社 コマンド制御方法およびコマンド制御プログラム
JP5772948B2 (ja) * 2011-03-17 2015-09-02 富士通株式会社 システムおよびスケジューリング方法
JP5942509B2 (ja) * 2012-03-19 2016-06-29 日本電気株式会社 バッチ処理システム
US9152469B2 (en) * 2013-01-28 2015-10-06 Hewlett-Packard Development Company, L.P. Optimizing execution and resource usage in large scale computing
JP6083290B2 (ja) * 2013-03-27 2017-02-22 日本電気株式会社 分散処理システム
JP6191301B2 (ja) * 2013-07-22 2017-09-06 富士通株式会社 情報処理装置、ジョブスケジューリング方法およびジョブスケジューリングプログラム

Also Published As

Publication number Publication date
JP2014191594A (ja) 2014-10-06
US9218210B2 (en) 2015-12-22
US20140298350A1 (en) 2014-10-02

Similar Documents

Publication Publication Date Title
JP6083290B2 (ja) 分散処理システム
US10761829B2 (en) Rolling version update deployment utilizing dynamic node allocation
US9092266B2 (en) Scalable scheduling for distributed data processing
US9606836B2 (en) Independently networkable hardware accelerators for increased workflow optimization
US10412158B2 (en) Dynamic allocation of stateful nodes for healing and load balancing
US10108458B2 (en) System and method for scheduling jobs in distributed datacenters
US20170180469A1 (en) Method and system for forming compute clusters using block chains
US20160275123A1 (en) Pipeline execution of multiple map-reduce jobs
US20200174844A1 (en) System and method for resource partitioning in distributed computing
JP6129290B1 (ja) 分散計算におけるアプリケーションパラメータ設定およびシステム仕様設定を推奨する方法およびシステム
WO2020119029A1 (zh) 分布式任务调度方法、系统及存储介质
JP6519111B2 (ja) データ処理制御方法、データ処理制御プログラムおよびデータ処理制御装置
US20210081240A1 (en) Evolutionary modelling based non-disruptive scheduling and management of computation jobs
CN111932257B (zh) 一种区块链并行化处理方法及装置
JP6926035B2 (ja) データベース管理装置およびクエリ分割方法
KR102247249B1 (ko) 데이터베이스 관리 시스템에서 비동기적 데이터 처리를 위한 컴퓨터 프로그램
JP2009223497A (ja) 管理マシン、管理システム、管理プログラム、および、管理方法
US20140089932A1 (en) Concurrency identification for processing of multistage workflows
CN112463390A (zh) 一种分布式任务调度方法、装置、终端设备及存储介质
US10334028B2 (en) Apparatus and method for processing data
CN115185697A (zh) 一种基于kubernetes的集群资源调度方法、系统、设备和存储介质
EP4049214A1 (en) A method for analyzing data using a blockchain, a data provider and a data customer therefor
EP2828761A1 (en) A method and system for distributed computing of jobs
WO2014038057A1 (ja) 計算機システム、データ管理方法及びプログラムを格納する記録媒体
US20200301737A1 (en) Configurable data parallelization method and system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160205

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161018

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161025

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161212

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170109

R150 Certificate of patent or registration of utility model

Ref document number: 6083290

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150