JP2008071294A - Method for adapted group scheduling by mobile agent in peer-to-peer grid computing environment - Google Patents
Method for adapted group scheduling by mobile agent in peer-to-peer grid computing environment Download PDFInfo
- Publication number
- JP2008071294A JP2008071294A JP2006251610A JP2006251610A JP2008071294A JP 2008071294 A JP2008071294 A JP 2008071294A JP 2006251610 A JP2006251610 A JP 2006251610A JP 2006251610 A JP2006251610 A JP 2006251610A JP 2008071294 A JP2008071294 A JP 2008071294A
- Authority
- JP
- Japan
- Prior art keywords
- volunteer
- scheduling
- mobile agent
- task
- class
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Computer And Data Communications (AREA)
Abstract
Description
本発明は、一般的にグリッド演算システムに関し、とくにピアツーピアグリッド演算においてモバイルエージェントを利用した適応グループスケジューリング方法に関する。 The present invention generally relates to grid computing systems, and more particularly, to an adaptive group scheduling method using a mobile agent in peer-to-peer grid computing.
グリッド演算システムは、仮想の機構をつくることによって、機関が所有する種々の演算ソースに対してアクセスを提供するプラットフォームである。一方、ピアツーピアグリッド演算システムは、インターネットの端(edge)の個人が所有する多数のアイドル状態のデスクトップコンピュータ(ボランティアという)をピアツーピア演算技術を利用して集約することによって、高スループットの演算を実現するプラットフォームである。ピアツーピアグリッド演算システムは、通常驚くほどの並列アプリケーションをサポートし、自身のデータと共に多くの同じ演算の事例からなる。これらのアプリケーションは、通常長時間にわたって高い処理能力が持続することが要求される科学的な問題に関する。 The grid computing system is a platform that provides access to various computing sources owned by an institution by creating a virtual mechanism. Meanwhile, the peer-to-peer grid computing system realizes high-throughput computing by aggregating a large number of idle desktop computers (called volunteers) owned by individuals at the edge of the Internet using peer-to-peer computing technology. Platform. Peer-to-peer grid computing systems typically support amazing parallel applications and consist of many identical computing cases along with their data. These applications relate to scientific problems that typically require high throughput to last for a long time.
図1に示すように、ピアツーピアグリッド演算環境は、主にクライアント、ボランティアおよびボランティアサーバからなる。クライアントは並列ジョブの提出者である。ボランティアは、アイドル時に演算リソースを提供するリソース提供者である。ボランティアサーバは、提出されたジョブおよびボランティアを制御するセントラルマネージャである。クライアントは、並列ジョブをボランティアサーバに提出する。ジョブは、自身に特定の入力データを有するサブジョブに分けられる。 As shown in FIG. 1, the peer-to-peer grid computing environment mainly consists of clients, volunteers, and volunteer servers. The client is the submitter of the parallel job. Volunteers are resource providers that provide computing resources when idle. The volunteer server is a central manager that controls submitted jobs and volunteers. The client submits the parallel job to the volunteer server. Jobs are divided into sub-jobs that have specific input data.
サブジョブは、タスクと呼ばれる。タスクは、並列コードおよびデータからなる。ボランティアサーバは、スケジューリング機構を用いてタスクをボランティアに配分する。各ボランティアは、ボランティアサーバから継続してデータを要求しながら、アイドル時にタスクを実行する。続いて各ボランティアがタスクを終了したときには、タスクの結果をボランティアサーバに戻す。最後に、ボランティアサーバは、ジョブの最終結果をクライアントに戻す。 A sub job is called a task. A task consists of parallel code and data. The volunteer server distributes tasks to volunteers using a scheduling mechanism. Each volunteer performs a task at idle while continuously requesting data from the volunteer server. Subsequently, when each volunteer finishes the task, the result of the task is returned to the volunteer server. Finally, the volunteer server returns the final result of the job to the client.
ピアツーピアグリッド演算は、インターネットの端にあるデスクトップコンピュータ(すなわちボランティア)に基づくので、異種の能力、障害、変動性(すなわち一時的な存在)
信頼の欠如によって複雑化する。ボランティアは、種々の能力(すなわちCPU、メモリ、ネットワークバンド幅および待ち時間(latency))を有し、リンク障害およびクラッシュ障害の危険にさらされている。とくに、これらは、リソースを提供することに対して何ら見返りを受けない自発的な参加者である。結果として、これらは、一切の制限なく、自由にこの実行に参加でき、かつ離脱することができる。したがって、これらは、種々のボランティアタイム(すなわちリソース提供の時間)を有しており、また、公開実行(すなわちボランティアとしてのタスクの実行)は、予期せぬ離脱によって適宜中止しうる。さらに、ボランティアは、公開実行に完全に専念している訳ではないから、公開実行は、私的実行(すなわち個人ユーザとしての私的なジョブの実行)によって、一時的に停止される。
Peer-to-peer grid operations are based on desktop computers at the edge of the Internet (ie volunteers), so heterogeneous capabilities, obstacles, variability (ie temporary presence)
Complicated by lack of trust. Volunteers have different capabilities (ie CPU, memory, network bandwidth and latency) and are at risk of link failures and crash failures. In particular, these are voluntary participants who do not receive any reward for providing resources. As a result, they are free to join and leave this practice without any restrictions. Therefore, they have various volunteer times (i.e., resource provision times), and public execution (i.e., execution of tasks as volunteers) can be stopped as appropriate due to unexpected withdrawal. Furthermore, since volunteers are not fully devoted to public execution, public execution is temporarily suspended by private execution (ie, execution of private jobs as individual users).
これらの不安定な状況は、ボランティア自律性の障害とみなされる。タスク実行の遅延または妨げを引き起こし、実行の部分的または全体的なロスとなる状況を含むからである。ボランティアは、実行の挙動にしたがって、ボランティア自律性障害の発生率が異なる。さらに、演算に不正に手を加え、改悪された結果を戻す悪質なボランティアもいる。これら性質の異なる特徴によって、ボランティアサーバによるタスクのスケジューリング、および配分されたタスクおよびボランティアの管理が困難になる。 These unstable situations are considered obstacles to volunteer autonomy. This is because it includes a situation that causes delay or hindrance to task execution and results in partial or total loss of execution. Volunteers vary in the incidence of volunteer autonomy failures according to their behavior of execution. In addition, there are some vicious volunteers who tamper with the computation and return the altered results. These different characteristics make it difficult to schedule tasks by the volunteer server and to manage the allocated tasks and volunteers.
ピアツーピアグリッド演算環境における演算の信頼性およびパフォーマンスを改善するために、スケジューリング機構は、異種の特性およびボランティアの変動性に起因するこれらの性質の異なる特徴に適応しなければならない。これを実現するために、ボランティアを類似の特性(とくに、ボランティア自律性障害)を有するグループに分類し、次いで種々のスケジューリング機構、耐故障および複製アルゴリズムを各グループに動的に適用するためのスケジューリング機構が要求される。 In order to improve the reliability and performance of operations in a peer-to-peer grid computing environment, the scheduling mechanism must adapt to the different characteristics of these properties due to heterogeneous characteristics and volunteer variability. To achieve this, volunteers are grouped into groups with similar characteristics (especially volunteer autonomy failures), and then various scheduling mechanisms, fault tolerance and scheduling algorithms for dynamically applying each group to each group Is required.
しかしながら、既存のピアツーピアグリッド演算システムは、グループ毎に基づくスケジューリング機構を提供しない。それに加えて、ボランティアサーバのみが集中的な手法でスケジューリング機構を実行する。結果として、既存の機構は、演算およびボランティアサーバのオーバーヘッドが高くなることに悩まされ、パフォーマンスの低下が生じる。 However, existing peer-to-peer grid computing systems do not provide a scheduling mechanism based on each group. In addition, only the volunteer server executes the scheduling mechanism in a centralized manner. As a result, existing mechanisms suffer from high computational and volunteer server overhead, resulting in performance degradation.
発明の概要
本発明では、スケジューリング機構を動的なピアツーピアグリッド演算環境に適応させるためにモバイルエージェント技術が利用される。
SUMMARY OF THE INVENTION In the present invention, mobile agent technology is utilized to adapt a scheduling mechanism to a dynamic peer-to-peer grid computing environment.
モバイルエージェントは、種々のタスクをユーザのために実行しながら、1つのノードから別のノードへ移行(migrate)するソフトウェアプログラムである。モバイルエージェントは、下記の利点を含む。
1)モバイルエージェントは、必要なサービスおよびデータを含むモバイルエージェントをリモートノードに送出することによって、ネットワーク負荷および待ち時間を減少させることができる。そして、サービスまたはデータは、リモートノードにおいて局所的に実行される。
2)モバイルエージェントは、頻発する断続的な切断を解決することができる。一旦モバイルエージェントが指定ノードに送出されると、ユーザとの直接接続をもはや必要としない。したがって、ユーザを代表するモバイルエージェントは、ユーザ(すなわちモバイルデバイス)がネットワークから切断されうる場合であっても、非同期的かつ自律的に動作する。
A mobile agent is a software program that migrates from one node to another while performing various tasks for the user. Mobile agents include the following advantages.
1) The mobile agent can reduce network load and latency by sending a mobile agent containing the necessary services and data to the remote node. The service or data is then executed locally at the remote node.
2) The mobile agent can resolve frequent intermittent disconnections. Once the mobile agent is sent to the designated node, it no longer needs a direct connection with the user. Thus, the mobile agent representing the user operates asynchronously and autonomously even when the user (ie, mobile device) can be disconnected from the network.
3)モバイルエージェントは、可動性実体(mobility entity)にいくつかのサービスまたはプロトコルを包含するので、動的なサービスのカスタム化およびソフトウェア開発が可能になる。
4)モバイルエージェントは、コンピュータであり、かつ輸送独立であって、現在の実行環境にしたがって自律的に反応するので、異種環境および動的変化に適応することができる。
3) The mobile agent includes several services or protocols in the mobility entity, allowing dynamic service customization and software development.
4) The mobile agent is a computer and transport independent and reacts autonomously according to the current execution environment, so it can adapt to heterogeneous environments and dynamic changes.
ピアツーピアグリッド演算環境において、モバイルエージェントを利用することには、いくつかの利点がある。
1)種々のスケジューリング機構が、ボランティアの特性にしたがって一度に実行されうる。たとえば、これらのスケジューリング機構は、モバイルエージェント(すなわちスケジューリングモバイルエージェント)として実行されうる。ボランティアがボランティアグループに分類された後、特定のボランティアグループに対して最も適切なスケジューリングモバイルエージェントが、その特性にしたがってボランティアグループに割り当てられる。しかしながら、既存のピアツーピア演算システムは、種々のスケジューリング機構を適用することができない。これは、ボランティアサーバによって集約的な方法で実行されるのは、1つのみのスケジューリング機構であるからである。
There are several advantages to using a mobile agent in a peer-to-peer grid computing environment.
1) Various scheduling mechanisms can be performed at once according to the characteristics of the volunteers. For example, these scheduling mechanisms can be implemented as mobile agents (ie, scheduling mobile agents). After volunteers are classified into volunteer groups, the most appropriate scheduling mobile agent for a particular volunteer group is assigned to the volunteer group according to its characteristics. However, existing peer-to-peer computing systems cannot apply various scheduling mechanisms. This is because only one scheduling mechanism is performed by the volunteer server in an intensive manner.
2)モバイルエージェントは、スケジューリング、耐故障(fault tolerance)および複製アルゴリズムを非集約的方法で実行することによって、ボランティアサーバのオーバーヘッドを減少させることができる。スケジューリングモバイルエージェントは、ボランティアグループに分配される。そして、これらは、各ボランティアグループでボランティアサーバの直接制御なく、自律的にスケジューリング、耐故障および複製アルゴリズムを行う。
3)モバイルエージェントは、動的ピアツーピアグリッド演算環境に適応することができる。ピアツーピアグリッド演算環境において、ボランティアは、いつでも参加し、離脱することができる。さらにこれらは、能力(すなわちCPU、ストレージまたはネットワークバンド幅)、ロケーション、利用可能性、信頼性などの異種の特性によって特徴付けられる。これらの環境特性は、時間とともに変化する。モバイルエージェントは、この変化に対処しながら非同期かつ自律的に実行することができる。また、ボランティア自律性障害に対しては、モバイルエージェント自身が提供する移行機能性および複製機能性を利用して耐えることができる。
2) Mobile agents can reduce volunteer server overhead by performing scheduling, fault tolerance and replication algorithms in a non-aggregate manner. Scheduling mobile agents are distributed to volunteer groups. And these perform autonomous scheduling, fault tolerance, and replication algorithms without direct control of volunteer servers in each volunteer group.
3) The mobile agent can adapt to a dynamic peer-to-peer grid computing environment. In a peer-to-peer grid computing environment, volunteers can join and leave at any time. Furthermore, they are characterized by disparate characteristics such as capacity (ie CPU, storage or network bandwidth), location, availability, reliability, etc. These environmental characteristics change over time. Mobile agents can run asynchronously and autonomously while coping with this change. Also, volunteer autonomy failures can be tolerated using the migration functionality and replication functionality provided by the mobile agent itself.
発明の詳細な説明
1. システムモデル
1.1. 既存のピアツーピアグリッド演算モデル
図2に示すように、ピアツーピアグリッド演算の実行モデルは、次の6つの段階からなる:登録、ジョブ提出、タスク割当て、タスク実行、タスク結果返還、ジョブ結果返還段階。
・登録段階:ボランティアが、自身の情報をボランティアサーバに登録する。
・ジョブ提出段階:クライアントが、ジョブをボランティアサーバに委託する。
・タスク割当て段階:ボランティアサーバが、スケジューリング機構を利用して登録されたボランティアにタスクを分配する。
・タスク実行段階:ボランティアが各タスクを実行する。
・タスク結果返還段階:各ボランティアが、タスクの結果をボランティアサーバに戻す。
・ジョブ結果返還段階:ボランティアサーバが、ジョブの最終結果をクライアントに戻す。
DETAILED DESCRIPTION OF THE INVENTION System model 1.1. Existing Peer-to-Peer Grid Operation Model As shown in FIG. 2, the execution model of the peer-to-peer grid operation consists of the following six stages: registration, job submission, task assignment, task execution, task result return stage, job result return stage.
Registration stage: Volunteers register their information with the volunteer server.
-Job submission phase: A client entrusts a job to a volunteer server.
Task assignment stage: A volunteer server distributes tasks to registered volunteers using a scheduling mechanism.
Task execution stage: Volunteers execute each task.
Task result return phase: Each volunteer returns the task result to the volunteer server.
Job result return phase: The volunteer server returns the final result of the job to the client.
図2において、ボランティアVi(0≦i≦n)は、ボランティア情報Ωi(すなわち演算リソース特性)をボランティアサーバに登録し、タスクの実行に参加する。クライアントがジョブΓをボランティアサーバに委託すると、ボランティアサーバは、タスクΓmをボランティアに割り当てる。ボランティアViは、タスクΓmを実行し、タスクΓmの実行の結果Rmをボランティアサーバに戻す。ボランティアサーバは、委託されたジョブΓの最終結果Rをクライアントに戻す。 In FIG. 2, volunteers V i (0 ≦ i ≦ n) register volunteer information Ω i (that is, computing resource characteristics) in the volunteer server and participate in the execution of the task. When the client entrusts job Γ to the volunteer server, the volunteer server assigns task Γ m to the volunteer. Volunteers V i performs the task gamma m, returning the result R m of the execution of the tasks gamma m volunteer server. The volunteer server returns the final result R of the entrusted job Γ to the client.
1.2. モバイルエージェントベースのピアツーピアグリッド演算モデル
モバイルエージェントは、種々のタスクをユーザのために実行しながら1つのノードから別のノードに移行するソフトウェアプログラムである。モバイルエージェントは、種々のボランティア特性と共に動的環境変化に適応することができる。さらに、モバイルエージェントは分散的に実行されるので、ボランティアサーバのオーバーヘッドを減少することができる。したがって、本発明者らは、モバイルエージェントがピアツーピアグリッド演算に適用される全体的な実行モデルを提案する。
1.2. Mobile Agent Based Peer-to-Peer Grid Computing Model A mobile agent is a software program that migrates from one node to another while performing various tasks for the user. Mobile agents can adapt to dynamic environmental changes along with various volunteer characteristics. Furthermore, since the mobile agent is executed in a distributed manner, the overhead of the volunteer server can be reduced. We therefore propose an overall execution model in which mobile agents are applied to peer-to-peer grid operations.
モバイルエージェントベースのピアツーピアグリッド演算は、既存のピアツーピアグリッド演算と同様に作用する。しかしながら、いくつかの段階の動作は異なる(図3参照)。登録段階において、ボランティアは、CPU、メモリ、OSタイプなどの基礎特性と共にボランティアタイム、ボランティアサービスタイム、ボランティア可能性、ボランティア自律性障害、ボランティア信頼性などの追加特性を登録する。とくに、これらの追加特性は、動的演算および実行に関するので、これらは基礎特性よりも重要である。 Mobile agent-based peer-to-peer grid operations operate similarly to existing peer-to-peer grid operations. However, the operation of some stages is different (see FIG. 3). In the registration stage, the volunteer registers additional characteristics such as volunteer time, volunteer service time, volunteer possibility, volunteer autonomy failure, volunteer reliability, as well as basic characteristics such as CPU, memory, OS type. In particular, these additional properties are more important than basic properties because they relate to dynamic operations and execution.
ジョブ提出段階において、提出されたジョブを多数のタスクに分割する。タスクは、モバイルエージェント(すなわちタスクモバイルエージェント:T−MA)として実行される。
タスク割当て段階において、ボランティアサーバは全体のスケジューリング機構をもはや実行しない。その代わりに、スケジューリングモバイルエージェント(S−MA)によるスケジューリング手続きの実行を補助する。最初に、ボランティアサーバは、ロケーション、ボランティア自律性障害、ボランティアサービスタイムおよびボランティア可能性などの特性にしたがって、ボランティアグループを分類し、構築する。次に、スケジューリングモバイルエージェントをその特性にしたがってボランティアグループに分配する。最後に、スケジューリングモバイルエージェントが、タスクモバイルエージェントをボランティアグループのメンバーに分配する。
In the job submission stage, the submitted job is divided into a number of tasks. The task is executed as a mobile agent (ie, task mobile agent: T-MA).
In the task assignment phase, the volunteer server no longer executes the entire scheduling mechanism. Instead, it assists the scheduling mobile agent (S-MA) in executing the scheduling procedure. Initially, the volunteer server classifies and builds volunteer groups according to characteristics such as location, volunteer autonomy failure, volunteer service time and volunteer availability. Next, the scheduling mobile agents are distributed to volunteer groups according to their characteristics. Finally, the scheduling mobile agent distributes task mobile agents to volunteer group members.
タスク実行段階において、別のボランティアに移行しながら、または障害発生時に自身を複製しながら、スケジューリングモバイルエージェントと協働してタスクモバイルエージェントを実行する。
タスク結果返還段階において、タスクモバイルエージェントは、各結果をそのスケジューリングモバイエルエージェントに戻す。すべてのタスクモバイルエージェントが、結果を戻すと、スケジューリングモバイルエージェントが結果を集め、収集した結果をボランティアサーバに戻す。誤った結果に対応するために、ボランティアサーバと協働して、多数決および無作為抽出検査(spot checking)が行われる。
ジョブ結果返還段階において、すべての結果をスケジューリングモバイルエージェントから受け取ったら、ボランティアサーバが、最終結果をクライアントに戻す。
In the task execution phase, the task mobile agent is executed in cooperation with the scheduling mobile agent while moving to another volunteer or replicating itself when a failure occurs.
In the task result return phase, the task mobile agent returns each result to its scheduling mobile agent. When all task mobile agents return results, the scheduling mobile agent collects the results and returns the collected results to the volunteer server. In order to deal with erroneous results, majority and spot checking are performed in cooperation with the volunteer server.
When all results are received from the scheduling mobile agent in the job result return phase, the volunteer server returns the final results to the client.
簡潔に要約すると、既存の実行モデルと新規のモデルとの主な相違点は次のとおりである。1)新規のモバイルエージェントベースのピアツーピアグリッド演算モデルは、スケジューリングとタスクモバイルエージェントを利用する。2)ボランティア自律性障害、ボランティアサービスタイム、可能性および信頼性などのボランティアの動的特性にしたがって構築されたボランティアグループを利用する。3)種々のスケジューリング、耐故障および複製アルゴリズムを非集約的方法で同時に実行する。 Briefly summarized, the main differences between the existing execution model and the new model are as follows. 1) A new mobile agent-based peer-to-peer grid computing model utilizes scheduling and task mobile agents. 2) Utilize volunteer groups built according to the dynamic characteristics of volunteers such as volunteer autonomy failures, volunteer service time, possibility and reliability. 3) Run various scheduling, fault tolerance and replication algorithms simultaneously in a non-aggregate manner.
1.3. 障害モデル
ピアツーピアグリッド演算環境において、ボランティアは、インターネットを介して接続されており、クラッシュ障害およびリンク障害の危険にさらされている。さらに、ピアツーピアグリッド演算は、自発的な参加に基づくものなので、ボランティアの自律性が尊重される。換言すると、ボランティアは、任意に公開実行の途中で離脱することができ、また、私的実行のためにいつでも公開実行を中断することが許される。ピアツーピアグリッド演算環境において、ボランティア自律性の障害は、クラッシュ障害およびリンク障害よりもかなり頻繁に生じる。よって、ボランティア自律性障害については、従来の障害と区別するとともに特別に対処すべきである。さらに、ボランティアの自律性障害には、種々の発生率およびタイプがある。ボランティア自律性障害の異なる発生率およびタイプは、直接影響を与えるので、よりよいパフォーマンスを達成し、信頼できる演算を保証するために、スケジューリング機構は、それらを考慮しなければならない。この目的のために、まずボランティア自律性障害を概念的に定義する。
1.3. Failure Model In a peer-to-peer grid computing environment, volunteers are connected via the Internet and are at risk of crash and link failures. In addition, peer-to-peer grid computation is based on voluntary participation, so volunteer autonomy is respected. In other words, volunteers can optionally leave in the middle of a public run and are allowed to interrupt the public run at any time for private execution. In a peer-to-peer grid computing environment, volunteer autonomy failures occur much more frequently than crash and link failures. Therefore, volunteer autonomy failures should be specially dealt with while distinguishing them from conventional failures. Furthermore, there are various incidences and types of volunteer autonomy failures. Because different rates and types of volunteer autonomy failures have a direct impact, the scheduling mechanism must take them into account to achieve better performance and ensure reliable computation. To this end, we first conceptually define volunteer autonomy failures.
ボランティア自律性障害を定義するために、表1の表記が用いられる。まず、ボランティアの参加および離脱のパターンをカテゴリー化する。パターンは、予定参加(EJ)、予定離脱(EL)、予定外参加(UJ)、予定外離脱(UL)にカテゴリー化される。 The notation in Table 1 is used to define volunteer autonomy failures. First, categorize volunteer participation and withdrawal patterns. Patterns are categorized as scheduled participation (EJ), scheduled departure (EL), unscheduled participation (UJ), unscheduled departure (UL).
定義1(ボランティア変動制障害)ボランティア変動制障害Φは、タスクΓ i の公開実行ξ i を自由に離脱することによって生じる公開実行の失敗である。
定義2(ボランティア干渉障害)ボランティア干渉障害Ψは、個別ジョブΠ i の指摘実行π i によって生じる公開実行ξ i の一時的な停止である。
ボランティア干渉障害Ψは、予定Ψeiと予定外Ψuiにカテゴリー化される。Ψeiは、私的実行が公開実行と定期的に干渉するとき(たとえば予約されたウィルスチェック)に起こるが、Ψuiは、キーボードまたはマウスの動作から始まる私的実行が公開実行と定期的に干渉するとき(たとえば一時的なeメールのチェックなど)に起こる。ΦとΨにおいてはオペレーティングシステムが生きているのに対し、クラッシュ障害においてはシャットダウンしている点で、ΦおよびΨは、クラッシュ障害と異なる。Φは、Φがボランティアの意志によって起こる点でクラッシュ障害と異なる。Ψは、Ψにおいてはピアツーピアグリッド演算システムが生きているのに対し、Φにおいてはそれが動作していない点でΦと異なる。 Volunteer interference disorder Ψ is categorized into scheduled Ψ ei and unscheduled Ψ ui . Ψ ei occurs when private executions regularly interfere with public executions (eg, reserved virus checks), while Ψ ui is a private execution that begins with a keyboard or mouse action. Occurs when interfering (for example, checking a temporary email). Φ and ψ differ from crash failures in that the operating system is alive at Φ and ψ, but is shut down at a crash failure. Φ differs from a crash failure in that Φ occurs due to volunteer will. Ψ differs from Φ in that a peer-to-peer grid computing system is alive in Ψ while it is not operating in Φ.
Φは、公開実行の完了に関する。たとえば、離脱イベントは、公開実行の途中で任意に発生し、この実行は中止される(または停止される)。結果として、実行は完了されていない。すなわち、Φは、実行の完了を妨げる。他方、Ψは、公開実行の連続性に関する。たとえば、個人ユーザが公開実行の間に頻繁に私的実行を行う場合、公開実行は一時的に停止される。その結果、公開実行は、連続的に処理できなくなる。すなわち、Ψは公開実行の連続性を阻害する。 Φ relates to the completion of public execution. For example, a withdrawal event occurs arbitrarily during the public execution, and this execution is stopped (or stopped). As a result, execution has not been completed. That is, Φ prevents execution from completing. On the other hand, Ψ relates to the continuity of public execution. For example, when an individual user frequently performs private execution during public execution, public execution is temporarily stopped. As a result, the public execution cannot be processed continuously. That is, Ψ hinders the continuity of public execution.
2.モバイルエージェントベースの適応グループスケジューリング機構(Mobile Agent based Adaptive Group Scheduling Mechanism)
MAAGSMは、ボランティアグループを基礎とするスケジューリング機構を提供する。これは、異なるスケジューリング、耐故障および複製アルゴリズムを各ボランティアグループに適用させることによって、モバイルエージェントを利用する。このセクションでは、まずボランティアグループをボランティアの特性にしたがってどのように構築するかを説明する。そして、モバイルエージェントによって、スケジューリング、耐故障および複製アルゴリズムをボランティアグループにどのように適用するかを紹介する。最後に、障害時にボランティアグループをどのように管理するかを説明する。
2. Mobile Agent based Adaptive Group Scheduling Mechanism
MAAGSM provides a scheduling mechanism based on volunteer groups. This utilizes a mobile agent by applying different scheduling, fault tolerance and replication algorithms to each volunteer group. This section first explains how to build a volunteer group according to the characteristics of the volunteer. And how mobile agents apply scheduling, fault tolerance and replication algorithms to volunteer groups. Finally, I will explain how to manage volunteer groups in the event of a disability.
2.1 ボランティアグループを構築する
ボランティアグループは、ボランティア自律性障害、ボランティア可能性、ボランティアサービスタイムなどについて類似の特性を有するボランティアの群である。スケジューリング手続きにおいてボランティアの特性に適した異なるスケジューリング機構を適用するために、ボランティアをまず同種のグループに形成する必要がある。最初に、ボランティアをそれらの特性にしたがって分類する。それから、ボランティアグループを分類し、構築する。
2.1 Establishing a volunteer group A volunteer group is a group of volunteers with similar characteristics in terms of volunteer autonomy failures, volunteer availability, volunteer service time, and the like. In order to apply different scheduling mechanisms suitable for the characteristics of the volunteers in the scheduling procedure, the volunteers must first be formed into homogeneous groups. First, volunteers are classified according to their characteristics. Then classify and build volunteer groups.
2.1.1. ボランティアを分類する
ボランティアが分類される際には、CPU、メモリ、ストレージおよびネットワーク容量が重要な要因となる。しかしながら、もっとも重要な要因は、演算の完了および連続性の意味で、ロケーション、ボランティアタイム、ボランティア自律性障害、ボランティア可能性およびボランティア信頼性であり、結果の信用性は、信頼性とともに変動性に起因する(図4参照)ボランティアタイムおよびボランティア可能性に強い関連性がある。ピアツーピアグリッド演算環境において、デスクトップコンピュータの能力は、非常に似かよっている一方で、ボランティアサービスタイム、可能性、および信頼性は、かなり上下する。この仕様では、ボランティアを分類するときに、ボランティアサービスタイム、ボランティア自律性障害、およびボランティア可能性に焦点をあてる。本発明は、誤った結果を検出し、また、それに耐えるための結果の承認に関連する信頼性は考慮しない。
ボランティアタイムおよびボランティア可能性は次のように定義する。
2.1.1. Classify volunteers When volunteers are classified, CPU, memory, storage and network capacity are important factors. However, the most important factors are location, volunteer time, volunteer autonomy failure, volunteer potential and volunteer reliability in terms of computation completion and continuity, and the resulting reliability can vary with reliability. There is a strong association with the volunteer time and volunteering potential (see FIG. 4). In a peer-to-peer grid computing environment, desktop computer capabilities are very similar, while volunteer service time, likelihood, and reliability go up and down considerably. This specification focuses on volunteer service time, volunteer autonomy failures, and volunteer potential when classifying volunteers. The present invention detects erroneous results and does not consider the reliability associated with approving results to withstand.
Volunteer time and volunteering potential are defined as follows:
定義3(ボランティアタイム)ボランティアタイム(Y)は、ボランティアがリソースを寄付するために一時停止する時間である。
定義4(ボランティア可能性)ボランティア可能性α v は、ボランティアがボランティアタイムYの間に正しく作動し、ボランティアサービスを提示することができる可能性である。
MTTVAFおよびMTTRは、ボランティアがΦおよびΨを検出したときに動的に再計算される。ここで、MVTは、「平均ボランティアタイム」を意味する。記号
ケース1およびケース2は、ボランティア変動制障害および予定外参加の場合に、どのようにボランティア可能性を計算するかについて記載する。ケース3は、ボランティア干渉障害が起きたときに、どのようにボランティア可能性を計算するかについて記載する。パラメータμは、ボランティア可能性においてボランティア自律性障害の割合を反映させるために使用する。たとえば、ボランティア自律性障害が繰り返し頻繁に起こる場合、ボランティア可能性は、急激に低下する。さらに、平均ボランティアタイムがボランティア可能性に影響する。たとえば、平均ボランティアタイムが短い場合、ボランティア可能性は、ボランティア自律性障害によって強い影響を受ける。ケース1において、予定外ボランティアタイムが提供されるので、ボランティア可能性が増大する。逆に、ケース2およびケース3において、ボランティア可能性は、ボランティア自律性障害のために実際に減少する。
ボランティアは、ロケーションに応じてリージョンボランティアまたはホームボランティアにカテゴリー化される。ホームボランティアは、ホームでのリソース寄付者である。リージョンボランティアは、大学、機関などを含む組織と一般的に関連したリソース寄付者の群である。リージョンボランティアは、LANまたはイントラネットで接続されており、一方ホームボランティアは、インターネットで接続されている。
ボランティアは、Yおよびαvにしたがって4つのクラスにカテゴリー化される(図5参照)。クラスAは、長いYおよび高いαvを有するボランティア群である。クラスBは、短いYおよび高いαvを有するボランティア群である。クラスCは、長いYおよび低いαvを有するボランティア群である。クラスDは、短いYおよび低いαvを有するボランティア群である。
Volunteers are categorized as region volunteers or home volunteers depending on location. Home volunteers are resource donors at home. Region volunteers are groups of resource donors that are generally associated with organizations, including universities and institutions. Region volunteers are connected via a LAN or intranet, while home volunteers are connected via the Internet.
Volunteers are categorized into four classes according to Y and α v (see FIG. 5). Class A is a volunteer group having a long Y and high alpha v. Class B is a volunteer group with short Y and high alpha v. Class C is a volunteer group having a long Y and low alpha v. Class D is a group of volunteers with short Y and low α v .
2.1.2 ボランティアグループを分類して作成する
ボランティアサーバは、ロケーション、ボランティア可能性およびボランティアサービスタイムなどのボランティアの特性にしたがって、ボランティアグループメンバーとしてボランティアを選択する。ボランティアサービスタイムは、次のように定義される。
2.1.2 Create and classify volunteer groups Volunteer servers select volunteers as volunteer group members according to volunteer characteristics such as location, volunteer availability and volunteer service time. Volunteer service time is defined as follows.
定義5(ボランティアサービスタイム)ボランティアサービスタイム(Θ)は、ボランティアがYの間に公開実行に参加するときの予定されたサービスタイムである。
ボランティアグループをロケーションに基づいて構築する場合、リージョンボランティアは同じグループに属し、ホームボランティアは、メンバー間の通信コストを減らすために同じグループに形成される。
ボランティアをグループ化するときに、αvおよびΘを考慮した場合、ボランティアグループを4つのクラス(図6参照)にカテゴリー化する。ここで、Δは、予定されたタスクの演算時間である。
Definition 5 (Volunteer Service Time) Volunteer service time (Θ) is the scheduled service time when a volunteer participates in public execution during Y.
When building volunteer groups based on location, region volunteers belong to the same group, and home volunteers are formed in the same group to reduce communication costs between members.
When grouping volunteers, when considering alpha v and theta, are categorized into four classes volunteer group (see Figure 6). Here, Δ is the calculation time of the scheduled task.
ボランティアは、A’、B’、C’およびD’ボランティアグループの4つのクラスに分類される。ボランティアが高いαvを有し、かつΘ≧Δの場合、それらはクラスA’に含まれる。ボランティアが高いαvを有し、かつΘ<Δの場合、それらはクラスB’に含まれる。ボランティアが低いαvを有し、かつΘ≧Δの場合、それらはクラスC’に含まれる。ボランティアが低いαvを有し、かつΘ<Δの場合、それらはクラスD’に含まれる。 Volunteers are divided into four classes: A ′, B ′, C ′ and D ′ volunteer groups. If volunteers have high α v and Θ ≧ Δ, they are included in class A ′. If volunteers have high α v and Θ <Δ, they are included in class B ′. If volunteers have low α v and Θ ≧ Δ, they are included in class C ′. If volunteers have low α v and Θ <Δ, they are included in class D ′.
ボランティアグループは、ボランティアグループ構築のアルゴリズム(図7参照)を利用して構築する。
1)登録されたボランティアを、ロケーションに応じてホームボランティアまたはリージョンボランティアに分類する。
2)ホームボランティアおよびリージョンボランティアを、それぞれボランティアタイムおよびボランティア可能性によってA、B、C、Dクラスに分類する。
3)ボランティアサービスタイムおよびボランティア可能性にしたがって、ボランティアグループを構築する。
The volunteer group is constructed using a volunteer group construction algorithm (see FIG. 7).
1) Classify registered volunteers as home volunteers or region volunteers according to location.
2) Classify home volunteers and region volunteers into A, B, C, and D classes according to volunteer time and volunteer availability, respectively.
3) Build volunteer groups according to volunteer service time and volunteer availability.
ボランティアグループは、次の特性を有する。A’ボランティアグループは、確実にタスクを実行するために十分に高いΘおよび高いαvを有する。これは、スケジューリングモバイルエージェントをホストする代理ボランティアとして使われる。B’ボランティアグループは、高いαvを有するが、低いΘを有する。これは、演算時間が欠如しているため、タスクを完了することができない。C’ボランティアグループは、高いΘを有するが、低いαvを有する。これは、タスクを実行するために十分な時間を有する。しかしながら、ボランティア自律性障害は、実行中に頻繁に発生する。したがって、これは、確実にタスクを実行するためには、故障耐性が必要になる。D’ボランティアグループは、低いΘおよび低いαvを有する。これは、タスクを実行するための時間が不十分である。さらに、ボランティア自律性障害は、実行の間に頻繁に起こる。ボランティアグループの中では、A’およびC’ボランティアグループが十分に時間があるので、主にタスクを実行する。 Volunteer groups have the following characteristics: The A ′ volunteer group has a sufficiently high Θ and a high α v to reliably perform the task. This is used as a proxy volunteer to host the scheduling mobile agent. The B ′ volunteer group has a high α v but a low Θ. This can not complete the task due to lack of computation time. The C ′ volunteer group has a high Θ but a low α v . This has enough time to perform the task. However, volunteer autonomy failures occur frequently during execution. Therefore, this requires fault tolerance to perform the task reliably. The D ′ volunteer group has a low Θ and a low α v . This is not enough time to perform the task. In addition, volunteer autonomy failures occur frequently during execution. Among the volunteer groups, A ′ and C ′ volunteer groups have enough time, so they mainly perform tasks.
タスクが実行中に移行する場合、A’およびC’ボランティアグループが障害に悩まされるときに、B’ボランティアグループを移行場所として用いることができる。そうでなければ、B’ボランティアグループは、ボランティアサービスタイムが短すぎてタスクを完了できないので、タスクを分配するのに適切でない。この場合、これは、テストするため、つまりその特性を計るためにタスクを実行する。D’ボランティアグループは、低いボランティア可能性と時間の欠如を原因として、管理コストが上昇する。また、D’ボランティアグループテストのためだけにタスクを実行する。チェックポイントが利用された場合、B’およびD’ボランティアグループは、時間を重視しないアプリケーションを実行するために使用することができる。 If the task transitions while it is running, the B 'volunteer group can be used as a transition location when the A' and C 'volunteer groups suffer from disabilities. Otherwise, the B 'volunteer group is not suitable for distributing tasks because the volunteer service time is too short to complete the task. In this case, it performs the task to test, i.e. to measure its properties. D'volunteer groups have increased administrative costs due to low volunteering potential and lack of time. Also, the task is executed only for the D 'volunteer group test. If checkpoints are utilized, B 'and D' volunteer groups can be used to run time-insensitive applications.
2.1.3 ボランティアグループを維持する
ボランティアグループは、3つのモード:タスクベースモード、時間ベースモードおよびカウントベースモードに維持する。タスクベースモードにおいて、タスクが完了すると常にボランティアグループが構築される。タイムベースモードは、計画するタスクが残っている場合、ボランティアグループを通常の間隔で構築する。カウントベースモードは、参加ボランティアの数が既定の数k以上のときにボランティアグループを構築する。このkは、ボランティアグループの大きさまたは冗長数に依存する。ボランティアグループの大きさは、主に維持コスト(すなわちタスクモバイルエージェントのスケジューリングおよび管理コスト、耐故障、複製など)に関連する。ボランティアグループは、スケジューリングエージェントがさらにタスクをメンバーに分配することができなくなるまで保持される。たとえば、すべてのメンバーがタスクを実行するために十分な時間がある場合、ボランティアグループを解散させる。ボランティアグループのメンバーは、ボランティアが落ちた場合(サブセクション4.3で詳述する)、他のものによって部分的に置き換えられる。
2.1.3 Maintaining Volunteer Groups Volunteer groups are maintained in three modes: task-based mode, time-based mode and count-based mode. In task-based mode, a volunteer group is established whenever a task is completed. Time-based mode builds volunteer groups at regular intervals when there are remaining tasks to plan. In the count-based mode, a volunteer group is constructed when the number of participating volunteers is a predetermined number k or more. This k depends on the size or redundancy number of the volunteer group. Volunteer group size is mainly related to maintenance costs (ie task mobile agent scheduling and management costs, fault tolerance, replication, etc.). Volunteer groups are retained until the scheduling agent can no longer distribute tasks to members. For example, if all members have enough time to perform a task, the volunteer group is disbanded. Volunteer group members are partially replaced by others when a volunteer falls (detailed in subsection 4.3).
2.2 スケジューリングモバイルエージェントをスケジューリンググループに割り当てる
ボランティアグループを構築した後、ボランティアサーバがスケジューリングモバイルエージェント(S−MA)をボランティアグループに割り当てる。しかしながら、確実にタスクを終えるのに完全ではないボランティアグループがあるから、スケジューリング手続きにおいてS−MAを直接ボランティアグループに割り当てることは実用的ではない。したがって、ボランティアグループを互いにそれぞれ組み合わせることによって、新しいスケジューリンググループを構築することが必要である(表2参照)。
2.2 Assign Scheduling Mobile Agent to Scheduling Group After building the volunteer group, the volunteer server assigns the scheduling mobile agent (S-MA) to the volunteer group. However, it is not practical to assign S-MAs directly to volunteer groups in the scheduling procedure because there are volunteer groups that are not perfect to finish the task reliably. Therefore, it is necessary to construct a new scheduling group by combining volunteer groups with each other (see Table 2).
表2において、最初の2つの組合せは最後の1つよりも適切である。なぜなら、最後の組合せではタスクが主にA’C’スケジューリンググループに分配されるのに対し、最初の2つの組合せではタスクが各グループに分配されるからである。さらに、最後の組合せにおいて、たとえタスクがB’D’スケジューリンググループに割り当てられるとしても
時間が不十分なためにタスクは完了されない。最初の2つの組合せを比較すると、最初の組合せは2番目の組合せよりも適切である。なぜなら、2番目の組合せにおいて、C’ボランティアグループは、D’ボランティアグループを補償しないのに対し、最初の組合せのB’ボランティアグループは、利用可能性についてC’ボランティアグループを補償することができるからである(A’D’またはA’B’スケジューリンググループにおいて、A’ボランティアグループは高い利用可能性と十分なΘを備えるので、A’ボランティアグループがD’およびB’ボランティアグループを補償する)。したがって、本発明ではスケジューリング手続きにおける最初の組合せに焦点をあてる。
In Table 2, the first two combinations are more appropriate than the last one. This is because, in the last combination, tasks are mainly distributed to A'C 'scheduling groups, whereas in the first two combinations, tasks are distributed to each group. Furthermore, in the last combination, even if the task is assigned to the B'D 'scheduling group, the task is not completed due to insufficient time. When comparing the first two combinations, the first combination is more appropriate than the second combination. Because, in the second combination, C ′ volunteer group does not compensate D ′ volunteer group, whereas B ′ volunteer group in the first combination can compensate C ′ volunteer group for availability. (In A'D 'or A'B' scheduling group, A 'volunteer group has high availability and sufficient Θ, so A' volunteer group compensates D 'and B' volunteer groups). Therefore, the present invention focuses on the first combination in the scheduling procedure.
S−MAは、代理ボランティアで実行する。代理ボランティアは、アルゴリズム(図8参照)を用いて選択する。代理ボランティアは、ボランティア可能性およびボランティアサービスタイムによって、また、ハードディスク容量およびネットワークバンド幅によって、順位付ける。そして、スケジューリンググループ用の代理ボランティアを順番に選択する。次に、各S−MAが選択された代理ボランティアに送られる。 S-MA is executed by a proxy volunteer. The proxy volunteer is selected using an algorithm (see FIG. 8). Proxy volunteers rank by volunteer availability and volunteer service time, and by hard disk capacity and network bandwidth. Then, proxy volunteers for the scheduling group are selected in order. Each S-MA is then sent to the selected proxy volunteer.
2.3. タスクモバイルエージェントをグループメンバーに分配する
S−MAをスケジューリンググループに割り当てた後、各S−MAが、並列コードおよびデータからなるタスクモバイルエージェント(T−MA)をスケジューリンググループのメンバーに分配する。S−MAは、既存のピアツーピアグリッド演算システムと異なり、ボランティアグループのタイプにしたがって、異なるスケジューリング、耐故障および複製アルゴリズムを実行する。
A’D’スケジューリンググループのS−MAは、次のスケジューリングを実行する。1)αvによって、そしてΘによって、A’ボランティアグループを順位付けする。2)T−MAをアレンジしたA’ボランティアグループのメンバーに分配する。3)T−MAが落ちた場合、複製アルゴリズムによって、落ちたタスクをA’ボランティアグループで選択された新しいボランティアに複製するか、またはタスク移行が許された場合に、A’またはB’ボランティアグループで選択されたボランティアにそのタスクを移行する。
2.3. Distributing task mobile agents to group members After assigning an S-MA to a scheduling group, each S-MA distributes a task mobile agent (T-MA) consisting of parallel code and data to members of the scheduling group. Unlike existing peer-to-peer grid computing systems, S-MA performs different scheduling, fault tolerance, and replication algorithms according to the type of volunteer group.
The S-MA of the A′D ′ scheduling group performs the following scheduling. 1) Rank A ′ volunteer groups by α v and by Θ. 2) Distribute the T-MA to the members of the A 'volunteer group who arranged it. 3) If the T-MA is dropped, the replication algorithm replicates the dropped task to a new volunteer selected in the A 'volunteer group, or A' or B 'volunteer group if task migration is allowed The task is transferred to the volunteer selected in.
C’B’スケジューリンググループのS−MAは、次のことを実行する。1)αvによって、そしてΘによって、C’およびB’ボランティアグループを順位付けする。2)T−MAをアレンジしたC’ボランティアグループのメンバーに分配する。3)T−MAが落ちた場合、複製アルゴリズムによって、落ちたタスクをC’ボランティアグループで選択された新しいボランティアに複製するか、またはB’またはC’ボランティアグループで選択されたボランティアにそのタスクを移行する。 The S-MA of the C′B ′ scheduling group performs the following: 1) Rank C ′ and B ′ volunteer groups by α v and by Θ. 2) Distribute the T-MA to the members of the C 'volunteer group who arranged it. 3) If the T-MA falls, the replication algorithm replicates the dropped task to a new volunteer selected in the C ′ volunteer group, or passes the task to the volunteer selected in the B ′ or C ′ volunteer group. Transition.
タスクは、まずA’D’スケジューリンググループに、それからC’B’スケジューリンググループに分配される。さらに、タスクは、まず高いαvおよび長いΘを有するボランティアにまず分配される。スケジューリングアルゴリズムにおいて、チェックポイントを利用する場合、タスクをB’およびD’ボランティアグループには割り当てない。なぜならこれらは、確実にタスクを完了するために十分な時間を有していないからである。この場合、B’およびD’ボランティアグループは、テスト用のタスクを実行する。つまり、これらの特性を計る。たとえば、A’およびC’ボランティアグループで実行されるタスクは、D’およびB’ボランティアグループにそれぞれ分配される。しかしながら、B’ボランティアグループは、タスク移行が認められる場合には、主なボランティアグループ(すなわちA’またはC’)を補助するために使用することもできる。たとえば、C’B’スケジューリンググループにおいて、B’ボランティアグループは、ボランティア可能性についてC’ボランティアグループを補償するために使用することができる。C’ボランティアグループ内のボランティアがボランティア自律性障害に悩まされていると仮定する。B’ボランティアグループのボランティアのボランティアタイムが落ちたボランティアにおけるボランティア自律性障害の持続期間を暗示する場合、一時停止したタスクをB’ボランティアグループの新しいボランティアに移行することができる。 Tasks are distributed first to the A'D 'scheduling group and then to the C'B' scheduling group. Furthermore, tasks are first distributed to volunteers with high α v and long Θ. When using checkpoints in the scheduling algorithm, tasks are not assigned to B ′ and D ′ volunteer groups. This is because they do not have enough time to reliably complete the task. In this case, the B ′ and D ′ volunteer groups perform a test task. In other words, these characteristics are measured. For example, tasks performed in A ′ and C ′ volunteer groups are distributed to D ′ and B ′ volunteer groups, respectively. However, the B ′ volunteer group can also be used to assist the main volunteer group (ie, A ′ or C ′) if task migration is permitted. For example, in a C′B ′ scheduling group, the B ′ volunteer group can be used to compensate the C ′ volunteer group for volunteer availability. Assume that volunteers in the C 'volunteer group suffer from volunteer autonomy failures. When implying the duration of volunteer autonomy failures in volunteers whose volunteer time has fallen, the suspended task can be transferred to a new volunteer in B 'volunteer group.
複製を利用する場合、S−MAは、冗長数を計算し、複製者(replica)(すなわち、複製された演算を実行するボランティア)を選択する。そして、S−MAはT−MAを選択された複製者に分配する。障害がある場合、S−MAは、落ちたT−MAを新しいボランティアに複製するか、または移行する。複製および耐故障アルゴリズムについては、サブセクション4.4および4.5にそれぞれ詳述する。 When utilizing replication, the S-MA calculates a redundancy number and selects a replica (ie, a volunteer that performs the replicated operation). The S-MA then distributes the T-MA to the selected replicators. If there is a failure, the S-MA replicates or migrates the dropped T-MA to a new volunteer. The replication and fault tolerance algorithms are detailed in subsections 4.4 and 4.5, respectively.
2.4 適応複製アルゴリズムを適用する
複製は、分配システムにおいて信頼性およびパフォーマンスを向上させるためのよく知られた技術である。ピアツーピアグリッド演算環境において、複製は主に信頼性、つまり故障耐性のために、または結果の承認のため、つまり誤った結果を検出し許容するために利用する。本発明は、確実なボランティア自律性障害に対する複製に焦点をあてたものである。適応複製アルゴリズムは、自動的に冗長数を調整し、各ボランティアグループの特性にしたがって適切な複製者を選択する。
2.4 Applying Adaptive Replication Algorithm Replication is a well-known technique for improving reliability and performance in distribution systems. In a peer-to-peer grid computing environment, replication is primarily used for reliability, ie fault tolerance, or for result approval, ie to detect and tolerate erroneous results. The present invention focuses on replication for certain volunteer autonomy failures. The adaptive duplication algorithm automatically adjusts the redundancy number and selects an appropriate duplicator according to the characteristics of each volunteer group.
2.4.1 冗長数の計算の仕方
複製を用いる場合、各S−MAがそのボランティアグループの冗長数を計算する。それは、冗長数を計算するときに、ボランティア自律性障害、ボランティア可能性およびボランティアサービスタイムを同時に利用する。
2.4.1 How to calculate redundancy number When using replication, each S-MA calculates the redundancy number of its volunteer group. It uses volunteer autonomy failures, volunteer availability and volunteer service time simultaneously when calculating the redundancy number.
ピアツーピアグリッド演算環境において、ボランティア自律性障害は、クラッシュ障害、リンク障害よりも頻繁に発生する。さらに、ボランティアは、ボランティア自律性障害について種々の割合および形式を有する。したがって、冗長数は、複製のオーバーヘッドを低減するために、類似の割合および形式の自律性障害を有するボランティアグループに基づいて計算されなければならない。しかしながら、既存の複製アルゴリズムは、複製アルゴリズムに基づいたボランティアグループを考慮していない。適応複製アルゴリズムは、ボランティア自律性障害、ボランティア可能性、ボランティアサービスタイムを下記のように利用している。 In a peer-to-peer grid computing environment, volunteer autonomy failures occur more frequently than crash failures and link failures. In addition, volunteers have different rates and forms for volunteer autonomy failures. Therefore, the redundancy number must be calculated based on volunteer groups with similar proportions and forms of autonomy failures to reduce replication overhead. However, existing replication algorithms do not consider volunteer groups based on the replication algorithm. The adaptive replication algorithm uses volunteer autonomy failures, volunteer availability, and volunteer service time as follows.
信頼性のための冗長数rは、下記の式1で計算する。この式では、システム寿命を指数関数的に指数分布させるようにしている。ここで、τはボランティアのMTTVAFを表し、τ’はボランティアグループのMTTVAFを表す。
式1において、式e−Δ/τ’は、各ボランティアグループの信頼性を表し、タスクをΔ内に完了する確率を意味する。(ボランティアの寿命が指数分布する場合、ボランティアR(t)の信頼性は、R(t)=e−λ’tである。パラメータλ’は、ボランティア自律性障害の割合を表す。時間間隔Δにおいてタスクを完了する確率を計算すると、1/λ’=τ’なのでe−Δ/τ’が得られる)これは、ボランティア自律性障害を反映している。(1−e−Δ/τ’)rは、すべての複製者が複製されたタスクを完了し損ねる確率を意味する。
必要とされる信頼性γが提供されると、rの値が式1より計算される。各ボランティアグループは異なるrを有する。たとえば、A’およびC’ボランティアグループは、B’ボランティアグループよりも小さいrを有する。
In
Once the required reliability γ is provided, the value of r is calculated from
2.4.2 T−MAの複製者への分配の仕方
タスクを複製者に分配する方法は、2つの手法にカテゴリー化される:並列分配および順列分配(図9参照)である。
図9において、複製者はV0、V1およびV2(つまりr=3)からなる。並列分配では、図9(a)において、タスクTmはすべてのメンバーに同時に分配され、そして同時に実行される。逆に、図9(b)において、タスクTmは分配されて順番に実行される。
2.4.2 How to distribute T-MA to replicators The method of distributing tasks to replicators is categorized into two approaches: parallel distribution and permutation distribution (see FIG. 9).
In FIG. 9, the replicator is composed of V 0 , V 1 and V 2 (that is, r = 3). In parallel distribution, in FIG. 9 (a), task Tm is distributed to all members simultaneously and executed simultaneously. Conversely, in FIG. 9B, tasks Tm are distributed and executed in order.
A’ボランティアグループの場合、順列分配が並列分配よりも適切である。なぜなら順列分配の方がより多くのタスクを完了できるからである。たとえば、図9(b)において、V0がタスクTmを完了した場合、V1およびV2においてそれを実行する必要がなくなる。A’ボランティアグループは、ボランティア確率が高いので、障害(とくにボランティア自律性障害)を起こさずに確実にタスクを実行する確率が高い。しかしながら、A’ボランティアグループは、図9(a)において並列分配を実行する場合、他のタスクを実行可能であるにもかかわらず、ボランティアが同じタスクを実行するという意味において、複製のオーバーヘッドを示す。A’ボランティアグループと対照的に、C’ボランティアグループの場合には、順列分配が並列分配よりも適切である。なぜならC’ボランティアグループは、低いαvに起因するボランティア自律性障害によって頻繁に悩まされるからである。 For A ′ volunteer groups, permutation distribution is more appropriate than parallel distribution. This is because permutation distribution can complete more tasks. For example, in FIG. 9 (b), V 0 may have completed the task T m, executes need not it in V 1 and V 2. Since the A ′ volunteer group has a high volunteer probability, there is a high probability that the task will surely be executed without causing a failure (particularly volunteer autonomy failure). However, the A ′ volunteer group, when performing parallel distribution in FIG. 9 (a), shows duplication overhead in the sense that volunteers perform the same task even though other tasks can be performed. . In contrast to A ′ volunteer group, permutation distribution is more appropriate than parallel distribution for C ′ volunteer group. Because C 'volunteer group, because frequently plagued by volunteers autonomy disorder due to a low alpha v.
2.5. 障害に対処する
ボランティア自律性障害は、タスク実行の遅れおよび妨害をもたらす。ピアツーピアグリッド演算環境において、これらは、クラッシュ障害およびリンク障害よりも頻繁に起こる。さらに、ボランティアは、ボランティア自律性障害について種々の発生率および形式を有する。ピアツーピアグリッドシステムは、スケジューリング手続きにおいて、発生率と形式にしたがって種々の耐故障アルゴリズムを行う必要がある。これを達成するために、ボランティア自律性障害を従来の障害と区別しながら、各ボランティアグループの特性にしたがって異なる耐故障アルゴリズムを適用する。スケジューリングモバイルエージェントおよびタスクモバイルエージェントが、障害発生時にいかに働くかについてこのサブセクションで説明する。
2.5. Dealing with Disabilities Volunteer autonomy failures cause task execution delays and disruptions. In a peer-to-peer grid computing environment, these occur more frequently than crash failures and link failures. In addition, volunteers have different incidences and formats for volunteer autonomy failures. The peer-to-peer grid system needs to perform various fault-tolerant algorithms according to the occurrence rate and format in the scheduling procedure. In order to achieve this, different fault tolerance algorithms are applied according to the characteristics of each volunteer group, distinguishing volunteer autonomy failures from conventional failures. This subsection describes how the scheduling mobile agent and the task mobile agent work in the event of a failure.
ボランティア自律性障害Φは、ボランティア自律性障害Φおよびボランティア干渉障害Ψが起きてもオペレーティングシステムが生きている点で、クラッシュ障害が起きるとシャットダウンするクラッシュ障害とは異なる。Φは、Φがボランティアの要求によって発生する点でクラッシュ障害と異なる。Φの場合には動作していないが、Ψは、Ψが起きてもピアツーピアグリッド演算システムが生きている点でΦと異なる。
ボランティアサーバは、タイムアウトを利用してS−MAのクラッシュ障害を検出する。同様に、S−MAは、T−MAのクラッシュ障害を検出する。これを達成するために、S−MAがアライブメッセージをボランティアサーバに送る。同様に、T−MAがアライブメッセージをS−MAに送る。管理オーバーヘッドを減らすために、D’ボランティアグループのT−MAは、アライブメッセージを送らない。ボランティアは、オペレーティングシステムがシャットダウンしていないので、自身でボランティア自律性障害を検出することができる。T−MAまたはS−MAがボランティア自律性障害を検出すると、S−MAまたはボラティアサーバにそれぞれ通知する。
The volunteer autonomy failure Φ is different from the crash failure that shuts down when a crash failure occurs in that the operating system is alive even if the volunteer autonomy failure Φ and the volunteer interference failure Ψ occur. Φ differs from a crash failure in that Φ is generated by volunteer requests. Although not operating in the case of Φ, Ψ differs from Φ in that the peer-to-peer grid computing system is alive even when Ψ occurs.
The volunteer server detects a crash failure of the S-MA using a timeout. Similarly, the S-MA detects a T-MA crash failure. To accomplish this, the S-MA sends an alive message to the volunteer server. Similarly, the T-MA sends an alive message to the S-MA. To reduce administrative overhead, the D 'volunteer group T-MA does not send an alive message. Volunteers can detect volunteer autonomy failures themselves because the operating system is not shut down. When the T-MA or S-MA detects a volunteer autonomy failure, it notifies the S-MA or the volatility server, respectively.
2.5.1 S−MAの障害
S−MAが自律性障害に悩まされることはほとんどない。なぜなら、A’ボランティアグループの中から選択された代理ボランティアで実行されるからである。S−MAは、スケジューリンググループのリスト、スケジューリング表およびタスク結果などの情報を安定的なストレージに記憶する。S−MAが落ちた場合、情報が新しいボランティアに送られる。図10は、S−MAの耐故障アルゴリズムを示す。
ボランティアサーバがS−MAのクラッシュ障害を検出した場合、図8に示す代理ボランティアセクションのアルゴリズムによって、新しい代理ボランティアが選択される。次に、S−MAおよびスケジューリング情報が新しく選択された代理ボランティアに送られる。S−MAがボランティア自律性障害に悩まされる場合、変動性障害(VolatilityFailure)メッセージをボランティアサーバに送る。S−MAがボランティアタイムの間に再び参加した場合、再参加(Rejoin)メッセージをそのボランティアサーバに送る。ボランティアサーバが、変動性障害メッセージを受け取った後の間隔内に再参加メッセージを受け取らない場合、S−MAを新しい代理ボランティアに送る。
2.5.1 Failure of S-MA S-MA rarely suffers from autonomy failures. This is because it is executed by a proxy volunteer selected from the A ′ volunteer group. The S-MA stores information such as a list of scheduling groups, a scheduling table, and task results in a stable storage. If the S-MA goes down, information is sent to the new volunteer. FIG. 10 shows an S-MA fault tolerance algorithm.
If the volunteer server detects an S-MA crash failure, a new proxy volunteer is selected by the algorithm of the proxy volunteer section shown in FIG. The S-MA and scheduling information is then sent to the newly selected proxy volunteer. If the S-MA suffers from volunteer autonomy failure, it sends a Volatility Failure message to the volunteer server. If the S-MA joins again during the volunteer time, it sends a Rejoin message to the volunteer server. If the volunteer server does not receive the rejoin message within the interval after receiving the variability disorder message, it sends the S-MA to the new proxy volunteer.
S−MAが予約されたボランティアタイムの端にある場合、事前変動性障害(InAdvanceVolatilityFailure)メッセージをボランティアサーバに送る。この場合、ボランティアサーバは、代理ボランティア候補で応答する。S−MAは、代理ボランティア候補に移行する。
ボランティア干渉障害の場合、S−MAは、ピアツーピアグリッドシステムが生きているという意味においてスケジューリング手続きを実行することができるので、何ら行動を起こさない。
If the S-MA is at the end of the reserved volunteer time, an InAdvanceVolatilityFailure message is sent to the volunteer server. In this case, the volunteer server responds with proxy volunteer candidates. S-MA moves to a proxy volunteer candidate.
In the case of volunteer interference failure, the S-MA takes no action because it can perform the scheduling procedure in the sense that the peer-to-peer grid system is alive.
2.5.2 T−MAの障害
T−MAは比較的低い利用可能性を有するので、S−MAよりも頻繁にボランティア自律性障害に悩まされる。チェックポイントを利用する場合、T−MAは、実行状態についてMTTVAFの割合でチェックポイントを行う。図11、図12および図13は、T−MAの耐故障アルゴリズムを示す。
S−MAは、T−MAのクラッシュ障害を検出すると、新しいボランティアを選択する。チェックポイントを利用する場合、S−MAが最近チェックポイントを行ったT−MA’をそれに送る。そうでなければ、S−MAがT−MAを新しいものに再分配する。各S−MAは、冗長数rのうちにT−MAを再分配する。
T−MAが予約されたボランティアタイムの端にある場合、事前変動性障害メッセージをそのS−MAに送る。ボランティア候補を受け取った後、ボランティア候補に移行するか、または複製される。
2.5.2 Failure of T-MA Because T-MA has relatively low availability, it suffers from volunteer autonomy failures more frequently than S-MA. When using checkpoints, the T-MA performs checkpoints on the execution state at the rate of MTTVAF. 11, 12 and 13 show the fault-tolerant algorithm of T-MA.
When the S-MA detects a T-MA crash failure, it selects a new volunteer. When using a checkpoint, the S-MA sends a T-MA ′ that has recently performed a checkpoint to it. Otherwise, the S-MA redistributes the T-MA to a new one. Each S-MA redistributes the T-MA within the redundancy number r.
If the T-MA is at the end of the reserved volunteer time, a pre-variable failure message is sent to that S-MA. After receiving a volunteer candidate, it is transferred to a volunteer candidate or duplicated.
T−MAがボランティア自律性障害Φに悩まされる場合、タスク実行のチェックポイントを取り、変動性障害メッセージによってΦのS−MAを通知する。次に、S−MAが既定の時間間隔の間に、落ちたボランティアから何らの再参加メッセージも受け取らなかった場合、T−MAを再構築する。チェックポイントおよび移行が行われると、S−MAがT−MA’を新しいボランティアに移行させる。そうでなければ、S−MAが冗長数rによってT−MAを複製する。
T−MAがボランティア干渉障害Ψに悩まされる場合、実行のチェックポイントを取る。そして、間隔の間に実行が再起動しない場合、ボランティアは干渉障害(InterferenceFailure)メッセージをそのS−MAに送る。ボランティア候補を受け取った後、T−MAはボランティア候補を移行させるか、または複製する。
If the T-MA suffers from a volunteer autonomy failure Φ, it takes a task execution checkpoint and notifies the Φ S-MA with a variability failure message. Next, if the S-MA does not receive any rejoin message from the dropped volunteer during the predetermined time interval, it reconstructs the T-MA. Once the checkpoint and migration is done, S-MA migrates T-MA ′ to a new volunteer. Otherwise, the S-MA duplicates the T-MA with the redundancy number r.
If T-MA suffers from volunteer interference disorder Ψ, take a checkpoint of execution. If the execution does not restart during the interval, the volunteer sends an Interference Failure message to the S-MA. After receiving the volunteer candidates, the T-MA migrates or duplicates the volunteer candidates.
管理オーバーヘッドを低減するために、このアルゴリズムにおいて、実行中に障害が発生した場合におけるD’ボランティアグループのための耐故障機構がない。D’ボランティアグループは、たとえばボランティア自律性障害、ボランティア可能性、ボランティアサービスタイムを計算する目的で、テスト用のタスクを実行する。 In order to reduce management overhead, in this algorithm there is no fault tolerant mechanism for the D 'volunteer group in the event of a failure during execution. The D 'volunteer group performs a test task, for example, for the purpose of calculating volunteer autonomy failures, volunteer availability, and volunteer service time.
3. 実行と評価
3.1. 実行
「Korea@Home」および「ODDUGI」モバイルエージェントシステムに基づいて、本発明の適応スケジューリング機構を実行した。Korea@Homeプロジェクトは、インターネット4上に分布する多数のPCの大量の演算能力を役立てることを試みている。さらに、本発明の発明者によって開発されたODDUGIは、信頼できる、確実な耐故障のモバイルエージェントの実行をサポートするモバイルエージェントシステムである。図14は、Korea@Homeにおける実行のスクリーンショットを表す。
3. Execution and evaluation 3.1. Implementation The adaptive scheduling mechanism of the present invention was implemented based on the “Korea @ Home” and “ODDUGI” mobile agent systems. The Korea @ Home project is trying to make use of the massive computing power of many PCs distributed over the
現在Korea@Homeは、6,744のボランティアを有し、平均してこれらの524がアクティブ状態にある。1ヶ月にわたって(つまり2005年7月)パフォーマンス測定を行った。図15(a)および(b)は、1日毎のパフォーマンス(最高412.43Gflops、平均352.46Gflops)および1時間毎のパフォーマンス(最高356.53Gflops、平均265.09Gflops)をそれぞれ示す。Korea@Homeにおいて、ボランティアは、グローバル危機管理(global risk management)、新薬候補発見(new drug candidate discovery)および気候予測(climate prediction)の3種のアプリケーションの1つに参加する事ができる。ボランティアのCPUタイプはいくらか異なるが、多くは類似のCPUパフォーマンスを示す。たとえば、インテルのPentium(登録商標)4が全体の約55%を占め、Pentium(登録商標)3が約12%、Celeronが約6%を表すなどである。
Currently, Korea @ Home has 6,744 volunteers, and on average these 524 are active. Performance measurements were taken over a month (ie July 2005). FIGS. 15 (a) and (b) show the daily performance (maximum 412.43 Gflops, average 352.46 Gflops) and hourly performance (maximum 356.53 Gflops, average 265.09 Gflops), respectively. At Korea @ Home, volunteers can participate in one of three applications: global risk management, new drug candidate discovery, and climate prediction. Volunteer CPU types are somewhat different, but many exhibit similar CPU performance. For example, Intel's
3.2.評価
本出願人らのMAAGSMを既存のスケジューリング機構で評価する。この評価は、スケジューリング手続きにおいてボランティアグループが考慮されたかに応じて、パフォーマンスの改善がどれくらい達成されたかに焦点をあてる。この目的のために、異なるボランティアサービスタイムΘおよびボランティア可能性αvを有するボランティアグループを意図的にセットアップした。
3.2. Evaluation Applicants' MAAGSM is evaluated with an existing scheduling mechanism. This assessment focuses on how much performance improvement has been achieved, depending on whether volunteer groups were considered in the scheduling procedure. For this purpose, volunteer groups with different volunteer service times Θ and volunteer possibilities α v were set up intentionally.
本出願人らの適応スケジューリング機構をイーガースケジューリング(eager scheduling)と比較する。イーガースケジューリングでは、ボランティアは、その現在のタスクを終了するとすぐにボランティアサーバーに新しいタスクを要求する。その結果、ボランティアが熱心に(eager)に働くほど、多くのタスクが実行される。グリッド演算環境では、たとえばMCT、MET、SA、KPB、min−min、max−minおよびSufferageヒューリスティクス(sufferage heuristics)など多数のスケジューリングヒューリスティクス(scheduling heuristics)がある。本出願人らは、既存のスケジューリングヒューリスティクスの中でもイーガースケジューリングに適応する。なぜならグリッド演算における他のヒューリスティクスよりも直接的で単純だからである。とくに、イーガースケジューリングは、グリッド演算のヒューリスティクスよりも動的な環境により適応するので、主に動的ピアツーピアグリッド演算環境において用いられる。 We compare our adaptive scheduling mechanism with eager scheduling. In eager scheduling, a volunteer requests a new task from the volunteer server as soon as it finishes its current task. As a result, more tasks are performed the more volunteers work eagerly. In the grid computing environment, there are a number of scheduling heuristics such as MCT, MET, SA, KPB, min-min, max-min and Sufferage heuristics. Applicants adapt to eager scheduling among existing scheduling heuristics. Because it is more straightforward and simpler than other heuristics in grid operations. In particular, eager scheduling is mainly used in a dynamic peer-to-peer grid computing environment because it adapts to a more dynamic environment than grid computing heuristics.
MAAGSMを評価するためにシミュレーションを利用する。このシミュレーションは、Korea@Homeにおいて本物のボランティアで行った。このアプリケーションは、新薬候補発見である。このアプリケーションでのタスクは、専用のPentium(登録商標)1.4GHzで16分間の実行時間を使う。表3は、異なるボランティアグループ、ボランティアサービスタイム、ボランティア可能性でのシミュレーション環境を表す。表3のそれぞれのケースのために3,200のボランティアが1時間のシミュレーションに参加した。ケース1において、A’ボランティアグループは、他のグループよりも多くのボランティアを有する。ケース2は、他のグループと比べると、より多くのボランティアがA’およびC’ボランティアグループに属することを示している。ケース3では、A’およびB’ボランティアグループが他のグループよりも多くのボランティアを有している。ケース4では、D’ボランティアグループが他のグループよりも多くのボランティアを有している。表3を分析すると、ケース1は、他のケースよりもボランティア可能性およびボランティアサービスタイムが大きいことが観察できる。ケース4は、他のケースよりもボランティア可能性およびボランティアサービスタイムが小さい。このシミュレーション環境を基礎として、各ケース毎にこのシミュレーションを10回行った。
A simulation is used to evaluate MAAGSM. This simulation was done with real volunteers at Korea @ Home. This application is new drug candidate discovery. Tasks in this application use a dedicated Pentium (registered trademark) 1.4 GHz with an execution time of 16 minutes. Table 3 represents a simulation environment with different volunteer groups, volunteer service times, and volunteer availability. For each case in Table 3, 3,200 volunteers participated in the one hour simulation. In
表3に示すように、200のボランティアが種々のボランティア自律性障害、ボランティア可能性およびボランティアサービスタイムを有する。本出願らは、MTTVAFの範囲を1/0.2〜1/0.002分、MTTRの範囲を3〜10分と仮定した。このシミュレーションは、完了したタスクの数および冗長数をパフォーマンスの尺度(metric)として用いた。さらに、複製が適用されたかどうかに応じて完了したタスクを計測した。スケジューリンググループ(つまりA’D’およびC’B’)を基礎とする2つのパフォーマンス尺度を計測した。 As shown in Table 3, 200 volunteers have various volunteer autonomy failures, volunteer availability and volunteer service time. We assumed that the MTTVAF range was 1 / 0.2 to 1 / 0.002 min and the MTTR range was 3 to 10 min. This simulation used the number of completed tasks and the number of redundancy as performance metrics. In addition, we measured the completed tasks depending on whether replication was applied. Two performance measures based on scheduling groups (ie A'D 'and C'B') were measured.
図17は、完了したタスクの平均数を表す。図17において、ESおよびASは、既存のイーガースケジューリングおよびMAAGSMをそれぞれ表す。さらに、AS(A’D’)およびAS(C’B’)は、MAAGSMの各スケジューリンググループを表す(AS(A’D’)とAS(C’B’)は、ASに等しいことに留意されたい)。図17が示すように、MAAGSMは、は、既存のイーガースケジューリング方法よりも多くのタスクを完了する。得られた結果は、下記のファクターを示唆している。第1に、A’ボランティアグループは、より良いパフォーマンスを得るために重要な役割を果たしている。A’ボランティアグループの中のメンバー数が徐々に減少すると(つまりケース1からケース4)、完了するタスクの数が減少する。
FIG. 17 represents the average number of completed tasks. In FIG. 17, ES and AS represent existing eager scheduling and MAAGSM, respectively. Furthermore, AS (A′D ′) and AS (C′B ′) represent each scheduling group of MAAGSM (AS (A′D ′) and AS (C′B ′) are equal to AS) I want to be) As FIG. 17 shows, MAAGSM completes more tasks than existing eager scheduling methods. The results obtained suggest the following factors. First, A 'volunteer groups play an important role in getting better performance. As the number of members in the A 'volunteer group gradually decreases (i.e.,
第2に、A’およびC’ボランティアグループのメンバーの数は、B’およびD’ボランティアグループのそれよりもより重要である。たとえば、ケース1およびケース2は、ケース3およびケース4よりも多くのタスクを完了する。第3に、ボランティア可能性は、パフォーマンスの改善と強く関連している。たとえば、最も高いボランティア可能性を有するケース1は、他のケースよりも多くのタスクを完了した。他方、ボランティア可能性が最も低いケース4が完了するタスクは、他のケースのそれよりも少ない。最後に、A’ボランティアグループのメンバーの数が減少し、B’およびD’ボランティアグループのメンバーの数が増加すると、MAAGSMとイーガースケジューリングの違いが大きくなる。
Secondly, the number of members of the A 'and C' volunteer groups is more important than that of the B 'and D' volunteer groups. For example,
A’、B’、C’またはD’ボランティアグループ内の失敗したタスクまたは一時停止したタスクが質の悪いボランティアに代替的に再分配されるという意味において、この結果は、イーガースケジューリングでは予期されたものである。他方、MAAGSMはグループ毎を基礎にスケジューリングを実行するので、望ましくない状況は起きない。たとえば、C’ボランティアグループ内の失敗したタスクまたは一時停止したタスクは、B’およびD’ボランティアグループに再分配されない。ケース1における違いは、A’ボランティアグループのメンバーが他のグループよりも多いので、他のケースより小さい。換言すると、望ましくない状況がケース1ではほとんど発生しない。
This result was expected in eager scheduling in the sense that failed or paused tasks in A ', B', C 'or D' volunteer groups are alternatively redistributed to poor quality volunteers Is. On the other hand, since MAAGSM performs scheduling on a group-by-group basis, undesirable situations do not occur. For example, failed or suspended tasks in the C 'volunteer group are not redistributed to the B' and D 'volunteer groups. The difference in
図18は、ケース2においてボランティア自律性障害に耐えるために複製を利用するときの完了したタスクの平均数を表す。図18において、x軸上のティック値(tick value)1.0は、実際には0.99を表す(式1を参照)。この図から、信頼性閾値が増大すると、完了するタスクの数は減少する。得られた結果は、高い信頼性を保つためにより多くのタスクが複製されるべきだということを示している。
FIG. 18 represents the average number of completed tasks when using replication to withstand volunteer autonomy failures in
図19は、ケース2の冗長数rを表す。MAAGSMは、スケジューリングモバイルエージェントが複製アルゴリズムを各ボランティアグループに適用するので、イーガースケジューリングよりも小さいrを有する。すなわち、ボランティアグループのボランティア自律性障害に応じて冗長数を適切に調節する。さらに、A’ボランティアグループは、C’ボランティアグループよりも高いボランティア可能性およびボランティアサービスタイムを有しているので、A’D’スケジューリンググループは、C’B’スケジューリンググループよりも小さいrを有している。C’ボランティアグループはA’ボランティアグループよりも頻繁にボランティア自律性障害に悩まされているので、前者は後者よりも大きいrを有する。したがって、A’ボランティアグループの場合では、小さいrで信頼性閾値を満足する。C’ボランティアグループの場合では、信頼性閾値を充足するために大きいrが必要になる。結果として、A’ボランティアグループは、複製オーバーヘッドを低減できるので、より多くのタスクを実行することができる。最後に、信頼性がより要求されるのにしたがって、冗長数が増大する。
FIG. 19 shows the redundancy number r in
図20は、複製の事例での完了タスクの平均数を表す。図20では、0.8の値を信頼性閾値として使用した。図17と比較すると、MAAGSMとイーガースケジューリングの違いが大きい。MAAGSMでは、A’ボランティアグループは、比較的小さいrを有するので、より多くのタスクを完了することができる。他方、イーガースケジューリングは、同種のグループを考慮していないので、下記の望ましくない状態が繰り返し発生する。この場合、失敗したタスクは新しいボランティアに分配すべきである。 FIG. 20 represents the average number of completed tasks in the replication case. In FIG. 20, a value of 0.8 was used as the reliability threshold. Compared with FIG. 17, the difference between MAAGSM and eager scheduling is large. In MAAGSM, the A 'volunteer group has a relatively small r so it can complete more tasks. On the other hand, since eager scheduling does not consider the same kind of group, the following undesirable states occur repeatedly. In this case, the failed task should be distributed to new volunteers.
イーガースケジューリングでは、ボランティアグループを考慮せずに新しいボランティアが選択される。新しく選択されたボランティアがB’またはD’ボランティアグループに属する場合、ボランティア自律性障害の割合が高いので、それもまた失敗するであろう。質の悪いボランティアが連続して選択される場合は、質の高いボランティアが選ばれるまで、タスクが連続して他のボランティアに再分配される。このような望ましくない状態は、多くのボランティアがB’、C’またはD’ボランティアグループに属する場合、頻繁に繰り返し起こる。したがって、クラス3およびクラス4におけるMAAGSMとイーガースケジューリングの違いは、クラス1およびクラス2におけるそれよりも大きい。
In eager scheduling, new volunteers are selected without considering volunteer groups. If the newly selected volunteer belongs to the B 'or D' volunteer group, it will also fail because the percentage of volunteer autonomy failures is high. If poor quality volunteers are selected in succession, the task is continuously redistributed to other volunteers until a quality volunteer is selected. Such an undesirable condition occurs frequently and frequently when many volunteers belong to a B ', C' or D 'volunteer group. Therefore, the difference between MAAGSM and eager scheduling in
図21は、すべてのケースの冗長数rを表している。A’ボランティアグループのメンバーの数が増加すると、MAAGSMとイーガースケジューリングの違いも大きくなる。たとえば、ケース1は最も大きいA’ボランティアグループを有し、したがって、MAAGSMの冗長数rは、イーガースケジューリングのそれと似かよっている。ケース2は、
多くのA’およびC’ボランティアグループのメンバーを有しているので、MAAGSMとイーガースケジューリングの隔たりは、ケース1に示されるものよりも大きい。類似の結果がケース3およびケース4で示される。イーガースケジューリングと比較して、MAAGSMは、MAAGSMが冗長数をボランティアグループに基づいて計算するのでイーガースケジューリングとは対照的に、小さいrを有する。MAAGSMにおいて、ボランティア自律性障害の割合が高いボランティアグループは、rが大きいことが必要で、その逆もまた同様である。結果として、MAAGSMは、イーガースケジューリングよりも多くのタスクを完了する。A’ボランティアグループは、図21に示すように、イーガースケジューリングよりも小さい冗長数を有するので、より多くのタスクを完了することができる。
FIG. 21 shows the redundancy number r for all cases. As the number of members in the A 'volunteer group increases, the difference between MAAGSM and eager scheduling increases. For example,
Since we have many A ′ and C ′ volunteer group members, the gap between MAAGSM and eager scheduling is larger than that shown in
Claims (26)
ボランティアの特性を登録し、特性にしたがってそれらを複数のボランティアグループに分類するステップ;
提出されたジョブを多数のタスクに分けるステップであって、各タスクはタスクモバイルエージェントとして実行される、前記ステップ;
特性にしたがって、スケジューリングモバイルエージェントをボランティアグループに割り当てるステップ;
各スケジューリングモバイルエージェントが、タスクモバイルエージェントをそのボランティアグループのメンバーに分配するステップ;
各ボランティアが、スケジューリングモバイルエージェントと共働してタスクモバイルエージェントを実行するステップ;
各タスクモバイルエージェントが、実行結果をスケジューリングモバイルエージェントに戻すステップ;
スケジューリングモバイルエージェントが結果を集計し、集めた結果をボランティアサーバに戻すステップ;および
ボランティアサーバが最終結果をクライアントに戻すステップ
を含む、前記方法。 A method of mobile agent-based peer-to-peer grid computing in a computer network comprising a volunteer server, a plurality of volunteers, and a client submitting a job to the volunteer server, comprising:
Registering the characteristics of volunteers and classifying them into multiple volunteer groups according to the characteristics;
Dividing the submitted job into a number of tasks, each task being executed as a task mobile agent;
Assigning scheduling mobile agents to volunteer groups according to characteristics;
Each scheduling mobile agent distributes the task mobile agent to its volunteer group members;
Each volunteer working with a scheduling mobile agent to execute a task mobile agent;
Each task mobile agent returns the execution result to the scheduling mobile agent;
The scheduling mobile agent aggregates the results and returns the collected results to the volunteer server; and the volunteer server returns the final results to the client.
登録されたボランティアをそのロケーションに応じてホームボランティアまたはリージョンボランティアに分類することであって、ホームボランティアは、インターネットに接続されたものであり、リージョンボランティアは、LANまたはイントラネットに接続されたものであること;
ホームボランティアおよびリージョンボランティアを、ボランティアサービスタイムおよびボランティア可能性によってA’クラス、B’クラス、C’クラス、D’クラスに分類することであって、クラスA’は、ボランティアサービスタイムが長く、かつボランティア可能性が高いボランティアの群であり、クラスB’は、ボランティアサービスタイムが短く、かつボランティア可能性が高いボランティアの群であり、クラスC’は、ボランティアサービスタイムが長く、かつボランティア可能性が低いボランティアの群であり、クラスD’は、ボランティアサービスタイムが短く、かつボランティア可能性が低いボランティアの群とすること。 The method of claim 4, wherein the volunteer group is established by:
Classifying registered volunteers as home volunteers or region volunteers according to their location, where home volunteers are connected to the Internet and region volunteers are connected to a LAN or intranet. thing;
Classifying home volunteers and region volunteers into A ′ class, B ′ class, C ′ class, and D ′ class according to volunteer service time and volunteer possibility, class A ′ has a long volunteer service time, and Class B 'is a group of volunteers with a high volunteering potential, class B' is a group of volunteers with a short volunteering service time and a high volunteering potential, and class C 'has a long volunteering service time and a volunteering potential. Class D 'is a group of volunteers with low volunteer service time and low possibility of volunteering.
1)ボランティア可能性に応じて、次にボランティアサービスタイムに応じて、A’ボランティアグループを順位付ける;
2)タスクモバイルエージェントを、アレンジしたA’ボランティアグループのメンバーに分配する;
3)タスクモバイルエージェントに障害が発生した場合、障害が生じたタスクをA’ボランティアグループ内で選択される新しいボランティアに複製する。 The method according to claim 8, wherein the scheduling mobile agent of the A'D 'scheduling group performs the following 1) to 3):
1) Rank A 'volunteer groups according to volunteer availability and then according to volunteer service time;
2) Distribute task mobile agents to members of the arranged A 'volunteer group;
3) When a failure occurs in the task mobile agent, the failed task is replicated to a new volunteer selected in the A ′ volunteer group.
1)ボランティア可能性に応じて、次にボランティアサービスタイムに応じて、C’ボランティアグループおよびB’ボランティアグループを順位付ける;
2)タスクモバイルエージェントを、アレンジしたC’ボランティアグループのメンバーに分配する;
3)タスクモバイルエージェントに障害が発生した場合、障害が生じたタスクをB’ボランティアグループまたはC’ボランティアグループ内で選択される新しいボランティアに複製する。 The method according to claim 8, wherein the scheduling mobile agent of the C'B 'scheduling group performs the following 1) to 3):
1) Rank C 'volunteer group and B' volunteer group according to volunteer availability and then according to volunteer service time;
2) Distribute task mobile agents to members of the arranged C 'volunteer group;
3) When a failure occurs in the task mobile agent, the failed task is replicated to the B ′ volunteer group or a new volunteer selected in the C ′ volunteer group.
ホームボランティアおよびリージョンボランティアを、ボランティアタイムおよびボランティア可能性によってAクラス、Bクラス、Cクラス、Dクラスに分類するステップであって、クラスAは、ボランティアタイムが長く、かつボランティア可能性が高いボランティア群であり、クラスBは、ボランティアタイムが短く、かつボランティア可能性が高いボランティア群であり、クラスCは、ボランティアタイムが長く、かつボランティア可能性が低いボランティア群であり、クラスDは、ボランティアタイムが短く、かつボランティア可能性が低いボランティア群である、前記ステップ;
ボランティアのボランティアサービスタイムが、予定されたタスクの演算時間と同じか、またはそれより長い場合において、ボランティアがクラスAまたはBに属する場合には、当該ボランティアをクラスA’に分類し、そうでなければ当該ボランティアをクラスC’に分類するステップ;および
ボランティアのボランティアサービスタイムが、予定されたタスクの演算時間より短い場合において、ボランティアがクラスAまたはBに属する場合には、当該ボランティアをクラスB’に分類し、そうでなければ当該ボランティアをクラスD’に分類するステップ。 6. The method of claim 5, wherein the step of classifying home volunteers and region volunteers into A ′ class, B ′ class, C ′ class, and D ′ class includes the following steps:
Classifying home volunteers and region volunteers into class A, class B, class C, class D according to volunteer time and volunteer possibility, class A is a group of volunteers with long volunteer time and high volunteer potential Class B is a group of volunteers with a short volunteer time and a high possibility of volunteering, Class C is a group of volunteers with a long volunteer time and a low possibility of volunteering, and Class D is a volunteer group with a low volunteering time. Said step being a group of volunteers that are short and have a low potential for volunteering;
If the volunteer's volunteer service time is equal to or longer than the scheduled task's computation time, and if the volunteer belongs to class A or B, classify the volunteer as class A ', otherwise Classifying the volunteer as class C ′; and if the volunteer's volunteer service time is less than the scheduled task computation time and the volunteer belongs to class A or B, classify the volunteer as class B ′. Classifying the volunteer as class D ′.
代理ボランティア候補として、ボランティアをクラスA’に指定すること;
前記代理ボランティア候補を、ボランティア可能性、ボランティアサービスタイム、ハードディスク容量およびネットワークバンド幅によって順位付けること;
必要な数の代理ボランティアを、順位付けされた代理ボランティア候補から順番に選択すること;および
各スケジューリングモバイルエージェントを選択された各代理ボランティアに転送すること。 The steps to assign a scheduling mobile agent to a volunteer group are:
Designate volunteers as class A 'as proxy volunteer candidates;
Ranking said proxy volunteer candidates by volunteer availability, volunteer service time, hard disk capacity and network bandwidth;
Select the required number of proxy volunteers in turn from the ranked proxy volunteer candidates; and transfer each scheduling mobile agent to each selected proxy volunteer.
アライブメッセージがスケジューリングモバイルエージェントから所定の時間なくなっている場合、ボランティアサーバが、新しい代理ボランティアを選択するステップ;および
ボランティアサーバが、スケジューリングモバイルエージェントおよびスケジューリング情報を前記新しい代理ボランティアに送るステップ
をさらに含む、請求項15に記載の方法。 A scheduling mobile agent periodically sends an alive message to a volunteer server;
If the alive message is missing from the scheduling mobile agent for a predetermined time, the volunteer server further comprises: selecting a new proxy volunteer; and the volunteer server sending scheduling mobile agent and scheduling information to the new proxy volunteer; The method of claim 15.
アライブメッセージがタスクモバイルエージェントから所定の時間なくなっている場合、スケジューリングモバイルエージェントが、ボランティアを選択するステップ;および
スケジューリングモバイルエージェントが、タスクモバイルエージェントを新しいボランティアに送るステップ
をさらに含む、請求項14に記載の方法。 The task mobile agent periodically sends an alive message to the scheduling mobile agent;
15. The scheduling mobile agent further comprising the steps of: selecting a volunteer if the alive message is missing from the task mobile agent for a predetermined time; and the scheduling mobile agent sending the task mobile agent to a new volunteer. the method of.
ボランティアサーバが、代理ボランティア候補で応答するステップ;
スケジューリングモバイルエージェントが、前記代理ボランティア候補に移行するステップ
をさらに含む、請求項14に記載の方法。 If at the end of the reserved volunteer time, the scheduling mobile agent sends a pre-variable failure message to the volunteer server;
A volunteer server responds with a proxy volunteer candidate;
The method of claim 14, further comprising: a scheduling mobile agent transitioning to the proxy volunteer candidate.
スケジューリングモバイルエージェントが、ボランティア候補で応答するステップ;および
タスクモバイルエージェントが、前記ボランティア候補に移行するステップ
をさらに含む、請求項14に記載の方法。 If at the end of the reserved volunteer time, the task mobile agent sends a pre-variable failure message to the scheduling mobile agent;
The method of claim 14, further comprising: a scheduling mobile agent responding with a volunteer candidate; and a task mobile agent transitioning to the volunteer candidate.
所定時間の間に障害を起こしたボランティアからの再加入メッセージを受信しない場合に、スケジューリングモバイルエージェントが、再度スケジューリングを行うステップ
をさらに含む、請求項14に記載の方法。 If the task mobile agent suffers from a volunteer variability disorder, the task mobile agent takes a task execution checkpoint and notifies the scheduling mobile agent of the volunteer variability disorder by a variability disorder message;
The method of claim 14, further comprising the step of: the scheduling mobile agent rescheduling if it does not receive a rejoin message from a failed volunteer for a predetermined time.
所定時間の間に実行が再起動されない場合に、ボランティアが、干渉障害メッセージをそのスケジューリングモバイルエージェントに送るステップ;
スケジューリングモバイルエージェントが、ボランティア候補で応答するステップ;および
タスクモバイルエージェントが、ボランティア候補に移行するステップ
をさらに含む、請求項14に記載の方法。 The task mobile agent takes a task execution checkpoint when the task mobile agent suffers from volunteer interference failure;
A volunteer sends an interference failure message to its scheduling mobile agent if execution is not restarted within a predetermined time;
15. The method of claim 14, further comprising: a scheduling mobile agent responding with volunteer candidates; and a task mobile agent transitioning to volunteer candidates.
スケジューリングモバイルエージェントが、ボランティアグループの特性にしたがってボランティアを選択するステップ;および
スケジューリングモバイルエージェントが、タスクモバイルエージェントを選択されたボランティアに分配するステップ
をさらに含む、請求項1に記載の方法。 If the task mobile agent fails, the scheduling mobile agent calculates the number of redundancy for that volunteer group;
The method of claim 1, further comprising: a scheduling mobile agent selecting volunteers according to volunteer group characteristics; and a scheduling mobile agent distributing task mobile agents to the selected volunteers.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006251610A JP2008071294A (en) | 2006-09-15 | 2006-09-15 | Method for adapted group scheduling by mobile agent in peer-to-peer grid computing environment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006251610A JP2008071294A (en) | 2006-09-15 | 2006-09-15 | Method for adapted group scheduling by mobile agent in peer-to-peer grid computing environment |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008071294A true JP2008071294A (en) | 2008-03-27 |
Family
ID=39292796
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006251610A Pending JP2008071294A (en) | 2006-09-15 | 2006-09-15 | Method for adapted group scheduling by mobile agent in peer-to-peer grid computing environment |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008071294A (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011209948A (en) * | 2010-03-29 | 2011-10-20 | Canon Inc | Information processing apparatus, information processing method, program and storage medium |
US8296765B2 (en) | 2010-07-27 | 2012-10-23 | Kurdi Heba A | Method of forming a personal mobile grid system and resource scheduling thereon |
JP2013546067A (en) * | 2010-10-28 | 2013-12-26 | ソニー株式会社 | Method and apparatus for aggregating and distributing processing capacity |
JP2014501010A (en) * | 2010-11-29 | 2014-01-16 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Method and apparatus for expanding server-side processing capabilities |
US9921883B2 (en) | 2015-01-22 | 2018-03-20 | Fujitsu Limited | Job management device and method for determining processing elements for job assignment |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005352693A (en) * | 2004-06-09 | 2005-12-22 | Canon Inc | Image processing system and distributed processing method in image processing system |
JP2006048273A (en) * | 2004-08-03 | 2006-02-16 | Canon Inc | Image processing system |
-
2006
- 2006-09-15 JP JP2006251610A patent/JP2008071294A/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005352693A (en) * | 2004-06-09 | 2005-12-22 | Canon Inc | Image processing system and distributed processing method in image processing system |
JP2006048273A (en) * | 2004-08-03 | 2006-02-16 | Canon Inc | Image processing system |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011209948A (en) * | 2010-03-29 | 2011-10-20 | Canon Inc | Information processing apparatus, information processing method, program and storage medium |
US8296765B2 (en) | 2010-07-27 | 2012-10-23 | Kurdi Heba A | Method of forming a personal mobile grid system and resource scheduling thereon |
JP2013546067A (en) * | 2010-10-28 | 2013-12-26 | ソニー株式会社 | Method and apparatus for aggregating and distributing processing capacity |
JP2014501010A (en) * | 2010-11-29 | 2014-01-16 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Method and apparatus for expanding server-side processing capabilities |
US9531636B2 (en) | 2010-11-29 | 2016-12-27 | International Business Machines Corporation | Extending processing capacity of server |
US9921883B2 (en) | 2015-01-22 | 2018-03-20 | Fujitsu Limited | Job management device and method for determining processing elements for job assignment |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20080077667A1 (en) | Method for adaptive group scheduling using mobile agents in peer-to-peer grid computing environment | |
Hasan et al. | Fault tolerance in cloud computing environment: A systematic survey | |
Mukwevho et al. | Toward a smart cloud: A review of fault-tolerance methods in cloud systems | |
US7284146B2 (en) | Markov model of availability for clustered systems | |
Idris et al. | An improved ant colony optimization algorithm with fault tolerance for job scheduling in grid computing systems | |
US8225129B2 (en) | Methods and apparatus for effective on-line backup selection for failure recovery in distributed stream processing systems | |
US8359347B2 (en) | Method and apparatus for cooperative data stream processing | |
US20080256549A1 (en) | System and Method of Planning for Cooperative Information Processing | |
US8701112B2 (en) | Workload scheduling | |
Sathiyamoorthi et al. | Adaptive fault tolerant resource allocation scheme for cloud computing environments | |
Alarifi et al. | A fault-tolerant aware scheduling method for fog-cloud environments | |
US8068443B2 (en) | Using distributed timers in an overlay network | |
CN111373373A (en) | Managing computing clusters using time interval counters | |
Rathore et al. | Job migration policies for grid environment | |
Liu et al. | Service reliability in an HC: Considering from the perspective of scheduling with load-dependent machine reliability | |
Patra et al. | Replication and resubmission based adaptive decision for fault tolerance in real time cloud computing: A new approach | |
JP2008071294A (en) | Method for adapted group scheduling by mobile agent in peer-to-peer grid computing environment | |
Khoo et al. | Pro-active failure handling mechanisms for scheduling in grid computing environments | |
Choi et al. | Group-based adaptive result certification mechanism in Desktop Grids | |
Mahato et al. | Dynamic and adaptive load balancing in transaction oriented grid service | |
Choi et al. | Adaptive group scheduling mechanism using mobile agents in peer-to-peer grid computing environment | |
Kumari et al. | Checkpointing algorithms for fault-tolerant execution of large-scale distributed applications in cloud | |
Abdeldjelil et al. | A diversity-based approach for managing faults in web services | |
Jing et al. | Reliability-aware DAG scheduling with primary-backup in cloud computing | |
US9852221B1 (en) | Distributed state manager jury selection |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090224 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090525 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100420 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100720 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100810 |