JP6138701B2 - 分散計算方法及び分散計算システム - Google Patents

分散計算方法及び分散計算システム Download PDF

Info

Publication number
JP6138701B2
JP6138701B2 JP2013556944A JP2013556944A JP6138701B2 JP 6138701 B2 JP6138701 B2 JP 6138701B2 JP 2013556944 A JP2013556944 A JP 2013556944A JP 2013556944 A JP2013556944 A JP 2013556944A JP 6138701 B2 JP6138701 B2 JP 6138701B2
Authority
JP
Japan
Prior art keywords
reduction
calculation
buffer
unit
distributed
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2013556944A
Other languages
English (en)
Other versions
JP2014507734A (ja
Inventor
付江 葛
付江 葛
迎炬 夏
迎炬 夏
遥 孟
遥 孟
浩 于
浩 于
ジィア・ウエヌジエ
ジィア・シアオジエヌ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JP2014507734A publication Critical patent/JP2014507734A/ja
Application granted granted Critical
Publication of JP6138701B2 publication Critical patent/JP6138701B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17306Intercommunication techniques
    • G06F15/17318Parallel communications techniques, e.g. gather, scatter, reduce, roadcast, multicast, all to all
    • 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
    • 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/5061Partitioning or combining of resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5017Task decomposition

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、総体的に、分散計算及びストレージに関し、さらに具体的に、分散計算及び計算結果に対してリダクション(Reduction)を行う方法及び装置に関する。
分散計算フレームワークが、通常、バッチ(一括)処理のシステムとして設計される。この種の分散システムでは、システムの安定性及びエラー回復を保証するために、同一計算ステップの計算ユニットの間には状態及びデータの交換がなく、異なる計算ステップの間には一般的にデータを磁気ディスクに書き込むことによりデータの交換を実現し、例えば、現在までのところ最も成熟した分散計算フレームワークHadoop(http://hadoop.apache.org/)のようである。図1は、このような分散計算フレームワークを示している。図1に示すように、分散計算グループ1は、計算スケジューリングユニット101及びk個の計算ノード1、2、…、kを含む。計算ノードは、一般的に、一つの物理コンピュータ又は仮想マシンであり、各計算ノードは、複数の計算ユニット、例えば、計算ユニット1_1、計算ユニット1_2、計算ユニット2_1、計算ユニット2_2などを含む。
図1に示す分散計算フレームワークでは、一つの計算タスクを実行する時に、計算スケジューリングユニット101は、タスクを若干のタスクセグメントに分け、各タスクセグメントのために一つの計算ユニットを起動させ、このように、各ノードの計算リソースを十分に利用することができる。一つの計算ノードは、自分の計算タスクを完了させた後に、結果を、後続のステップの使用に供するために、ファイルの形で磁気ディスクに書き込む。タスクの計算結果は、全ての計算ユニットの計算が完成した後のみに、後続のために使用され得る。
しかし、図1に示すような分散計算フレームワークを採用するなら、計算プロセスにおいて、完成されている一部の計算結果にアクセスすることができず、そのため、計算結果に対してのリアルタイムのアクセスを実現することができない。例えば、リアルタイムの検索タスクでは、1群のドキュメントに対して索引を作成し、従来の分散計算フレームワークは、この1群のドキュメントのうち全てのドキュメントの索引作成が完成する前に、検索を行うことができない。ドキュメントの索引の量は、通常、かなり大きく、新しく作成された索引は、リアルタイムで検索に用いることができなければ、検索のリアルタイム性は、大きく低下する。
次に、本発明の幾つかの側面に関する基本理解を提供するために、本発明に関する簡単な概説を述べる。理解すべきは、この概説は、本発明に関する網羅的なものではない。それは、意図的に本発明のキー又は重要な部分を確定するものではなく、意図的に本発明の範囲を限定するものでもない。その目的は、簡略化した形で幾つかの概念(コンセプト)を提供することのみにあり、また、それは、後述の更なる詳しい説明の前書きとされる。
本発明の目的は、従来技術の上述の問題に鑑み、分散計算において計算が完了した結果にリアルタイムでアクセスし、高ロバスト性でそれを記憶することができる分散計算方法及び分散計算システムを提供することにある。
本発明の一側面によれば、分散計算方法が提供される。この方法は、入力されたタスクフローに対して分散計算を行い;前記分散計算の計算結果に対してリダクションを行い;及び、リダクションが行われた計算結果をリダクションバッファに記憶することを含む。
本発明の一つの具体的な実施例によれば、リダクションは、前記計算結果を複数のリダクションユニットに割り当て;リダクションユニットに割り当てられた計算結果に対してリダクション処理を行い;及び、リダクション処理後の計算結果をリダクションバッファに出力することを含む。
本発明の一つの具体的な実施例によれば、リダクション関数により計算されたリダクション値に基づいて前記割り当てを行う。
本発明の一つの具体的な実施例によれは、前記リダクション値及び所属するタスクの標識に基づいて前記割り当てを行う。
本発明の一つの具体的な実施例によれば、前記リダクション処理は、計算結果に対して後処理を行うことを更に含む。
本発明の一つの具体的な実施例によれば、同じリダクション値を有するリダクションユニットの計算結果を同一リダクションバッファに出力する。
本発明の一つの具体的な実施例によれば、前記リダクションを行う前に、前記分散計算の計算結果に対してローカルバックアップを行う。
本発明の一つの具体的な実施例によれば、リダクションユニットに対応するリダクションバッファが書き込み不可の場合、前記計算結果を他のリダクションバッファにフォーワードする。
本発明の一つの具体的な実施例によれば、リダクションバッファがリセット又はクリアされている時に、前記リダクションバッファは書き込み不可である。
本発明の一つの具体的な実施例によれば、全てのリダクションバッファが書き込み不可の時に、前記リダクション処理後の計算結果に対してローカルバックアップを行う。
本発明の一つの具体的な実施例によれば、リダクション処理後の計算結果をリダクションバッファに出力した後に、前記計算結果に対してローカルバックアップを行う。
本発明の一つの具体的な実施例によれば、前記リダクション関数は、ハッシュ関数を含む。
本発明の他の側面によれば、分散計算システムが提供される。このシステムは、分散計算を行うための分散計算装置;前記分散計算の計算結果に対してリダクション処理を行うための複数のリダクションユニット;リダクションが行われた計算結果を記憶するための一つ又は複数のリダクションバッファ;及び、前記計算結果の前記リダクションバッファへのリダクション、及び、リダクションバッファへのアクセスを制御するためのリダクション制御装置を含む。
本発明の一つの具体的な実施例によれば、リダクション関数により計算されたリダクション値に基づいて、前記計算結果を複数のリダクションユニットに割り当てる。
本発明の一つの具体的な実施例によれば、同じリダクション値を有するリダクションユニットは、リダクション処理後の計算結果を同一リダクションバッファに出力する。
本発明の一つの具体的な実施例によれば、前記分散計算装置は、計算スケジューリングユニット及び複数の計算ユニットを含み、前記計算スケジューリングユニットは、入力されたタスクフローを複数のサブタスクに分け、前記複数のサブタスクを前記複数の計算ユニットに割り当てるために用いられ;及び、前記計算ユニットは、計算エンジン及び計算用ローカルバックアップユニットを含み、前記計算エンジンは、計算を行うために用いられ、前記計算用ローカルバックアップユニットは、前記計算エンジンの計算結果に対してローカルバックアップを行うために用いられる。
本発明の一つの具体的な実施例によれば、前記リダクションバッファは、リダクションバッファ内制御ユニット及びリダクションバッファ内記憶ユニットを含み、前記リダクションバッファ内制御ユニットは、リダクションバッファへの入力を受け、入力されたデータを所定のデータ構造でリダクションバッファ内記憶ユニットに記憶させる。
本発明の一つの具体的な実施例によれば、前記リダクションバッファ内記憶ユニットは、少なくとも一部がメモリである。
本発明の一つの具体的な実施例によれば、前記リダクションユニットは、リダクション用ローカルバックアップユニットを含み、リダクション用ローカルバックアップユニットは、リダクションバッファが異常の時にリダクションバッファを回復するように、リダクションユニットの処理後のデータをバックアップするために用いられる。
また、本発明の実施例は、上述の分散計算方法を実現するためのコンピュータプログラムをも提供する。
また、本発明の実施例は、さらに、少なくともコンピュータ可読媒体形式のコンピュータプログラムプロダクトをも提供し、その中には、上述の分散計算方法を実現するためのコンピュータプログラムコードが記録されている。
次の図面に基づく後述の説明を参照することにより、本発明をより良く理解することができる。そのうち、全ての図面には、同じ又は類似する符号を用い、同じ又は類似する部品を示す。これらの図面及び後述の詳細な説明はともに、本明細書に含まれて本明細書の一部を構成し、且つさらに、例を挙げて本発明の好適な実施例を説明し及び本発明の原理及び利点を解釈するために用いられる。
従来技術における分散計算フレームワークを示す図である。 本発明による分散計算システムの構造図である。 本発明による分散計算方法の例示的なフローチャートである。 図3におけるステップS301の具体的なフローチャートである。 図3におけるステップS303の具体的なフローチャートである。 図3におけるステップS308の具体的なフローチャートである。 リダクションバッファの読み取り操作の例示的なフローチャートである。 本発明による分散計算システムがリアルタイム検索分野における応用例を示す図である。 本発明の実施例の実施に用いられ得るコンピュータの例示的なブロック図である。
以下、図面を参照しながら本発明の実施例を説明する。本発明の一つの図面又は一つの実施形態に説明する要素及び特徴は、一つ又は複数の他の図面又は実施形態に示す要素及び特徴と組み合わせてもよい。なお、明確にするために、図面及び説明には、本発明と関係がなく、且つ、当業者に既知の部品及び処理の例示及び説明が省略される。
図2は、本発明による分散計算システムの構造図である。図2に示すように、本発明の一つの実施例による分散計算システムは、分散計算グループ21、リダクション制御装置22、及び一つ又は複数のリダクションノード23、24などを含む。分散計算グループ21は、計算スケジューリングユニット211及び一つ又は複数の計算ノードを含み、各計算ノードは、一つ又は複数の計算ユニットを含む。計算スケジューリングユニット211は、入力されたタスクフロー中のタスクを複数のサブタスクに分け、また、複数のサブタスクを各計算ユニットに割り当てて計算を行わせるために用いられる。計算ノードは、一つの物理コンピュータであってもよく、仮想マシンであってもよい。計算ノードは仮想マシンである時に、計算ノードの各計算ユニットは、複数の物理コンピュータに分散する可能性がある。分散計算グループ21は、複数のタスクを同時に処理することができる。
一つのリダクションノードは、一つのリダクションバッファ及び一つ又は複数のリダクションユニットを含む。リダクションノードは、一つの物理コンピュータであってもよく、仮想マシンであってもよい。リダクションノードは仮想マシンである時に、リダクションノードのリダクションバッファ及び各リダクションユニットは、複数の物理コンピュータに分散する可能性がある。物理又は論理上で同一リダクションノードに属するリダクションユニット及びリダクションバッファについて言えば、前記リダクションバッファは、前記リダクションユニットのローカルリダクションバッファである。なお、一つのリダクションノード内には、複数のリダクションバッファを設置してもよい。しかし、一つのリダクションノード内には、一つのリダクションバッファを設置すれば、リダクション処理を簡略化することに有利である同時に、リダクションバッファにおいてデータを構造化してデータ構造を生成することにも便利である。
リダクション制御装置22の制御の下で、リダクションユニットは、計算ユニットの計算結果(複数のタスクの複数のサブタスク)を受け、それに対してリダクション処理を行い、また、リダクション処理後の計算結果をリダクションバッファに出力する。リダクションユニットは、リダクションエンジン、リダクションユニット内バッファ、及びリダクション用ローカルバックアップユニットを有する。リダクションエンジンは、該リダクションユニットに入力された計算結果に対してリダクション処理を行うために用いられ、リダクション処理の最も簡単な場合は、計算結果をリダクションユニット内バッファに一時的に記憶させる。リダクション処理は、後処理を更に含む。後処理は、ユーザにより定義されてもよい。例えば、計算結果に対してキーによるソーティングなどの後続の処理を行ってもよい。リダクションユニットのリダクション用ローカルバックアップユニットは、リダクションユニットのデータに対してバックアップを行うために用いられ、これにより、リダクションバッファが異常の時に、リダクションバッファを回復するために用いられ得る。リダクションバッファの回復については、次に詳細に説明する。
なお、一つのリダクションユニットは、入力されたタスクフロー中の一つのタスクの一部の計算結果(即ち、一部のサブタスクの計算結果)のリダクションを担当し、即ち、一つのリダクションユニットは、一つのみのタスクの計算結果に対してリダクションを行う。一つのタスクの計算結果は、リダクション関数により割り当てられるリダクション値が異なるため、複数のリダクションユニットによりリダクションが行われる。リダクションユニットは、所属するタスクの標識を有し、所属するタスクの標識により、同一リダクション値に属するリダクションユニットに対して区分を行える。リダクションユニットの選択の詳細については、後述する。
リダクション制御装置22は、タスクフロー同期ユニット221、リダクションバッファ制御ユニット222、及び異常制御ユニット223を含む。タスクフロー同期ユニット221は、計算結果の計算ユニットからリダクションユニットへの割り当て、及び、リダクションユニットによるリダクションバッファへの書き込みを制御するために用いられ、リダクションバッファ制御ユニット222は、リダクションバッファへのアクセスを制御するために用いられ、異常制御ユニット223は、リダクションバッファへの書き込み及びアクセスのプロセスにおける異常処理を制御するために用いられる。なお、ここでは、タスクフロー同期ユニット221、リダクションバッファ制御ユニット222、及び異常制御ユニット223をリダクション制御装置の三つの構成部品として説明を行っているが、リダクション制御装置22は、上述の三つの単独のユニットを有せず、それらの全ての機能を実現することができる一つのユニットを有してもよい。
リダクションバッファは、リダクションバッファ内制御ユニット及びリダクションバッファ内記憶ユニットを含み、リダクションバッファ内制御ユニットは、リダクションバッファへの入力を受け、入力されたデータを所定のデータ構造でリダクションバッファ内記憶ユニットに記憶させるために用いられる。所定のデータ構造は、異なる計算タスクのニーズに応じて、ユーザにより定義されても良い。そのうち、リダクションバッファ内記憶ユニットは、アクセス速度を向上させ、また、データの構造化に便利であるように、少なくとも一部がメモリにより構成される。リダクション制御装置22には、リダクションデータのリダクションバッファにおける分布を記録するためのリダクションバッファリストがある。
図3は、本発明による分散計算方法のフローチャートである。ステップS301では、分散計算グループは、入力されたタスクを受け、タスクに対して分割を行い、また、タスクに対して計算を行う計算ユニットを生成する。ステップS302では、計算スケジューリングユニットは、所定のリダクション関数を用いて、計算ユニットにより計算されたサブタスクの計算結果のためにリダクション値を計算し、また、リダクション値をタスクフロー同期ユニットに通知する。リダクション関数は、ハッシュ関数などであってもよい。ステップS303では、タスクフロー同期ユニットは、リダクションの同期化を行い、リダクション値及びタスクの標識を用いてリダクションユニットを選択する。ステップS304では、計算結果をリダクションユニットに出力する。
ステップS304において異常が発生した場合、計算ユニットの異常がその中の計算結果の喪失をもたらしたら、ステップS305に進み、リダクションユニットに対応する計算結果のバックアップを取得し、また、ステップS302〜ステップS304のプロセスを再び実行する。計算結果のバックアップは、計算ユニットの磁気ディスク形式の計算用ローカルバックアップユニットに記憶されているので、計算ユニットが異常の場合に、計算ユニットの計算結果の正確性及び完全性を保つことができる。計算結果のバックアップについては、図4を参照しながら後述する。
ステップS304の実行時に異常が発生しなかった場合、ステップS306では、計算ユニットをリリースする。なお、この時に、計算ユニットのローカルバックアップをリリースしない。各計算ユニットのライフサイクルは、サブタスクを受けて生成されてから、該サブタスクの結果がリダクションユニットに成功裏に出力されるまでである。
なお、上述には、一つのタスクの一つのサブタスクを例として、ステップS302〜S306を説明した。複数のタスクは計算及びリダクションが行われ、各タスクは複数のサブタスクに分けられるため、上述のステップS302〜S306は、複数回行われる。
次に、一つのリダクションユニットを例としてステップS307〜S311を説明する。ステップS307では、リダクションユニットは、計算結果に対してリダクション処理を行う。上述のように、リダクションユニット中のリダクションエンジンは、リダクションユニットが受けた、一つのタスクに属する複数のサブタスクの計算結果に対してリダクション処理を行い、また、リダクションユニット内バッファに記憶させる。ここでは、リダクション処理の最も簡単な場合は、計算結果を記憶することである。リダクションエンジンは、さらに、ユーザによる事前の設定に基づいて、計算結果に対して後処理などの操作を行ってもよい。タスクフロー同期ユニットの制御の下で、リダクションユニットは、その担当の一つのタスクに属する複数のサブタスクの計算結果に対してリダクション処理を行った後に、リダクションユニットは、計算結果をリダクションバッファに出力する(ステップS308)。
なお、リダクションユニットが処理する複数のサブタスクは、逐一にステップS302〜S306を通過してリダクションユニットに入力されるのであるが、逐一にリダクションバッファに出力されるのではなく、ステップS307の後に、一緒にリダクションバッファに出力されるのである。一方では、ステップS307において、リダクションユニットのリダクションエンジンは、計算結果に対して後処理を行う可能性があり、単独で出力するなら、計算結果間の関係を保つことができない。他方では、リダクションユニットは、そのリダクションによる複数の計算結果を一緒にリダクションバッファに出力する時に、計算結果をも一緒にリダクションユニットのリダクション用ローカルバックアップユニットにバックアップし、このように、リダクションバッファが異常の時に、リダクション用ローカルバックアップユニットを正確に使用してリダクションバッファを回復することができる。
ステップS308又は他の状況においてリダクションバッファに異常が発生すれば、リダクション制御装置の異常制御ユニットの制御の下で、リダクションバッファをリセットさせ(ステップS315)、また、リダクションバッファリストに基づいて、リダクションバッファに対応する計算結果のバックアップ(リダクションユニットのリダクション用ローカルバックアップユニットに記憶されている)を取得し(ステップS316)、これにより、異常が発生する前のリダクションバッファを回復する。現在のリダクションユニットのデータについてリダクションを再び行い、即ち、ステップS302に戻す。
ステップS308において異常が発生しなければ、リダクションユニット内のデータが既にローカルバックアップされているかどうかを判断し(ステップS309)、また、「いいえ」と判断した場合に、ローカルバックアップを行う(ステップS310)。ステップS309では、「はい」と判断すれば、又は、ステップS310を実行した後に、即ち、リダクションユニットのローカルバックアップが完了した後に、リダクション制御装置のタスクフロー同期ユニットは、現在のリダクションユニットの所属するタスクの全てのサブタスクが全て既にリダクションされているかどうかを判断する(ステップS311)。ステップS311での判断結果が「いいえ」であれば、現在のリダクションユニットの処理を終了させる。
なお、一つのタスクの複数のサブタスクは、ユーザにより設定されているリダクション関数により、異なるリダクションユニットにリダクションされる。該タスクに属する他のリダクションユニットは、同時又はその後に、ステップS307〜S31Lをも実行する。
ステップS311での判断結果が「はい」であれば、該タスクに属する全てのリダクションユニットをリリースし(ステップS312)、また、ステップS313に進む。ステップS303においてリダクションユニットの数量が閾値に達していることにより、リダクションユニットに出力されず、リダクションキューに置かれる計算結果のある可能性がある。ステップS312においてリダクションユニットをリリースした後に、リダクションキューが空であるかそうかを判断し(ステップS313)、「いいえ」と判断すれば、リダクションキュー中のリダクションタスクを取り出し(ステップS314)、ステップS302に進み、取り出したリダクションタスクに対してリダクションを行う。ステップS313において「はい」と判断すれば、処理を終了させる。
次に、図4を参照しながら図3におけるステップS301について具体的に説明する。分散計算グループは、入力されたタスクフローにおける複数のタスクを取得する(ステップS41)。計算スケジューリングユニットは、少なくとも一つのリダクションバッファが書き込み可能な状態にあるかどうかを判断し(ステップS42)、全てのリダクションバッファが書き込み不可であれば、少なくとも一つのリダクションバッファが書き込み可能な状態になるまで繰り返しを続け;少なくとも一つのリダクションバッファが書き込み可能な状態にあれば、一つのタスクを複数のサブタスクに分け(ステップS43)、また、複数のサブタスクをサブタスクキューに置く(ステップS44)。
分散計算は、複数のタスクを同時に処理することができるので、サブタスクキューには、複数のタスクの複数のサブタスクが存在する。計算スケジューリングユニットは、稼動している計算ユニットの数量が閾値に達していないかどうかを判断し(ステップS45)、閾値に達している場合、判断結果が「はい」になるまで待ち続け;計算ユニットの数量が閾値に達していないと判断した時に、計算ユニットを生成し、また、該計算ユニットにより、サブタスクキュー中の一つのサブタスクに対して計算を行う(ステップS46)。計算ユニットは、計算エンジン及び計算用ローカルバックアップユニットを含み、計算エンジンは、計算を行うために用いられ、計算用ローカルバックアップユニットは、計算ユニットの計算が完了した後に、計算結果を出力する前に、前記計算結果をバックアップするために用いられ、これにより、図3のステップS305に用いる計算結果のバックアップを提供する(ステップS47)。
次に、図5を参照しながら図3におけるステップS303について具体的に説明する。タスクフロー同期ユニットは、計算スケジューリングユニットが所定のリダクション関数を用いて計算したリダクション値を取得し(ステップS501)、また、リダクション値に対応するリダクションユニットが存在するかどうかを判断し(ステップS502)、判断結果が「はい」である時に、該リダクションユニットの所属するタスクの標識と、現在の計算結果の所属するタスクの標識とが一致するかどうかを判断し(ステップS503)、判断結果が「はい」である時に、該リダクションユニットのアドレスを取得する(ステップS504)。即ち、そのリダクション値及びその所属するタスクの標識が全て現在の計算結果と同じであるリダクションユニットを見つけた時のみに、該リダクションユニットのアドレスを取得する。さもなければ(即ち、S502、S503において判断結果が「いいえ」である時に)、稼動しているリダクションユニットの数量が閾値に達していないかどうかを判断し(ステップS505)、「はい」と判断した時に、リダクションユニットを生成し、また、該リダクションユニットのリダクション値及び所属するタスクの標識を、現在の計算結果のリダクション値及び所属するタスクの標識と設定する(ステップS506)。
ステップS505において判断結果が「いいえ」である時に、現在のリダクションタスクをリダクションキューに置く(ステップS507)。タスク標識は、タスクの標識を行うために用いられ、一つのリダクションユニットは、一つのみのタスクの計算結果のリダクションを担当し、唯一のタスク標識を有する。リダクション値の役割は、同一タスクの複数のサブタスクの計算結果を複数のリダクションユニットにリダクションし、さらに、異なるリダクションバッファにリダクションすることにある。ユーザは、事前にリダクション関数を設定することにより具体的な設置を行ってもよく、例えば、索引作成の応用では、a-gで始まる単語の索引データを第一のリダクションバッファに置き、h-nで始まる単語の索引データを第二のリダクションバッファに置くように、リダクション関数を設置してもよい。同一タスクの複数のリダクションユニットは、異なるリダクション値を有し、また、異なるリダクションバッファに対応してもよい。同じリダクション値を有するリダクションユニットは、互いに、所属するタスクの標識により区分される。同じリダクション値を有するリダクションユニットは、リダクション処理の結果を同一リダクションバッファに出力する。リダクション値を用いて分散計算の計算結果を複数のリダクションユニットに割り当てることにより、さらに、計算負荷を分散させる役割を果たすこともできる。
次に、図6を参照しながら図3におけるステップS308について具体的に説明する。まず、ローカルリダクションバッファのアドレスを取得し、また、それを目的リダクションバッファと設置する(ステップS601)。上述のように、一つのリダクションユニットについて言えば、同一リダクションノードに属するリダクションバッファは、このリダクションユニットのローカルリダクションバッファであり、また、その第一選択(first choice)の目的リダクションバッファとされる。もちろん、リダクションノードが仮想マシンである時に、このリダクションユニットのローカルリダクションバッファは、もう一つの物理コンピュータに位置する可能性がある。
その後、目的リダクションバッファが書き込み可能かどうかを判断し(ステップS602)、上述のように、リダクションバッファは、異常の発生によりリセットされている時に、書き込み不可の状態にある。なお、後述では、リダクションバッファは、クリアされている時にも書き込み不可の状態にあることをさらに説明する。この二つの場合、リダクションバッファは全て書き込み不可である。
ステップS602において目的リダクションバッファシステムが書き込み不可と判断した場合、目的バッファの所属するリダクションノードが隣接するノードを有するかどうかを判断し(ステップS603)、隣接するノードを有すると判断すれば、この隣接するノードのリダクションバッファを目的リダクションバッファと設置し(ステップS604)、また、ステップS602に戻して処理を行う。即ち、目的リダクションバッファが書き込み不可の時に、リダクションユニットのデータを、再指向後のリダクションバッファに書き込んでもよい。いわゆる「隣接する」とは、物理上の隣接することであってもよく、論理上の隣接することであってもよく、ユーザにより設定され得る。例えば、ユーザは、各リダクションノードのアドレスを一つのリンクリストに記憶させてもよく、リンクリストにおける最後の一つのデータの後は、該リンクリストの第一個のデータであり、そのうち、一つのリダクションノードの隣接するノードは、該リダクションノードがリンクリスト中のその後の一つのノードである。該リダクションノードの隣接するノードがその自身である時に、該リダクションノードは隣接するノードを有しないと判断する。リダクションユニットのデータが再指向により他のリダクションバッファに書き込まれる可能性があるので、リダクションバッファ内制御ユニットには、このような状況を記録する再指向リストがあり、リダクションバッファがダクションバッファへのアクセスを制御する時の使用に供する。
ステップS603において目的バッファが隣接するノードを有しないと判断すれば、現在のリダクションバッファシステムには書き込み可能なリダクションバッファが存在しないことを示し、よって、リダクションユニットのデータをリダクション用ローカルバックアップユニットにバックアップし(ステップS605)、また、リダクションバッファシステムが書き込み不可であるようにマークアップ(markup)し(ステップS606)、リダクションユニットの標識を書き込み阻塞キューに置く(ステップS607)。後述では、リダクションバッファシステムが書き込み可能になる時に、書き込み阻塞キューからリダクションユニットの標識を取り出し、図3中のステップS308を再び実行することを更に説明する。
ステップS602において目的バッファが書き込み可能と判断すれば、リダクションユニット中のデータを目的リダクションバッファに書き込む(ステップS608)。書き込んだ後に、目的リダクションバッファが所定のサイズを超えているかどうかを判断し(ステップS609)、判断結果が「いいえ」であれば、リダクションバッファに正確に出力していることを示し、図3中のステップS308が正常に終了する。判断結果が「はい」であれば、ステップS610に進み、リダクションバッファをクリアする。
なお、リダクションバッファをクリアしている時に、該リダクションバッファが書き込み不可であるが、この時に、リダクションバッファシステム全体は、必ずしも書き込み不可ではない。リダクションバッファのサイズは、予めユーザにより設定されてもよく、所定のサイズを越えた時に、リダクションバッファ中の現在のデータを全て磁気ディスクに書き込んだ上で、リダクションバッファをクリアする。なお、データを磁気ディスクに書き込んだが、リダクションバッファリストに、これらのデータのデータ構造が依然として保留され、これにより、外部から、リダクションバッファ制御ユニットにより、データ構造に従って、これらのデータにアクセスすることができる。これらのデータは、ハードディスクに記憶されているので、リダクションバッファが異常になることにより影響されないため、リダクションバッファに対応するリダクションユニットのローカルバックアップ及び計算ユニットのローカルバックアップを削除する(ステップS611)。
クリアされたリダクションバッファが存在するため、リダクションバッファシステムに、書き込み可能なリダクションバッファが少なくとも一つあるので、リダクションバッファシステムが書き込み可能であるようにマックアップし(ステップS612)、また、書き込み阻塞キューからリダクションユニットの標識を取り出し(ステップS613)、他のリダクションユニットのリダクションバッファシステムへの書き込み操作を実行する。
次に、図7を参照しながらリダクションバッファの読み出し操作について具体的に説明する。リダクションバッファ制御ユニットは、ユーザの入力を取得し(ステップS71)、リダクションバッファリストを取得し(ステップS72)、このリストを参照して入力に基づいて、リダクションバッファから対応する結果を取り出し(ステップS73)、また、各リダクションバッファから取り出した結果を併合する(ステップS74)。リダクションバッファに異常が発生すれば、リダクションユニットのローカルバックアップから、リダクションバッファを回復し(ステップS75)。そのうち、ステップS73は、各リダクションバッファから並列に結果を取り出してもよく、各リダクションバッファから直列に結果を取り出してもよい。そのうち、再指向の場合が存在するため、ステップS73では、リダクションバッファは、再指向リストアクセスに基づいて、他のリダクションバッファにアクセスすることによりデータを取得する可能性がある。
図8は、本発明による分散計算方法及び分散計算システムがリアルタイム検索分野における応用例を示している。まず、転置索引の生成について簡単に紹介する。一つのサブタスクの入力が、例えば、次のようなフォーマット、即ち、<単語,該単語の所在するドキュメントのドキュメント標識>を有する。仮にドキュメントl(dl)が次の単語、即ち、tl、t2、t3を含み、ドキュメント2(d2)が次の単語、即ち、tl、t3、t4を含むとする。この2つのドキュメントについて計算後の転置索引のフォーマットは、
tl:dl
tl:d2
t2:dl
t3:dl
t3:d2
t4:d2
のようになる。
リダクションが行われた後に、上述の索引は、次のようなフォーマット、即ち、
tl:dl,d2
t2:dl
t3:dl,d2
t4:d2
のようなフォーマットになる。
索引をさらに構造化するために、tl及びt2の索引は、一つのリダクションバッファに置かれ、t3及びt4の索引は、もう一つのリダクションバッファに置かれる。同時に、大規模データを処理するために、二つのリダクションバッファ中のデータは、検索を便利に行うために、ツリー構造として構成される。次に、具体的な実施を説明しながら上述の処理の例示的なフローチャートを示す。
リアルタイム検索の分散処理構造において、タスクは、2種類、即ち、索引タスク及び検索タスクに分けられる。一つの索引タスクは、一つのドキュメントセットであり、例えば、一万個の索引作成待ちのドキュメントである。リアルタイム環境では、新しいドキュメントセットを索引タスクキューに絶えずに追加する可能性がある。索引タスクスケジューリングユニット811(計算スケジューリングユニット)は、分散計算グループ81中の計算ユニット(索引ユニット1、2、…)が有する計算リソース(メモリ、CPU時間など)に基づいて、各索引タスク(即ち、一つのドキュメントセット)を若干のサブタスク(サブドキュメントセット)に分割し、その後、若干の計算ユニットを初期化して計算を行わせ、各計算ユニットは、一つのサブ索引タスクの計算タスク(ドキュメント解析、単語分け、転置など)を担当する。計算処理の後に、初歩的な転置索引が生成されており、同じ単語の転置索引がまとめて置かれている。
リダクションユニット801及び802は、リダクションバッファ1を共有(share)し、リダクションユニット803及び804は、リダクションバッファ2を共有する。ユーザは、リダクション関数を設定することにより、aで始まる単語及びbで始まる単語のリダクション値がリダクションバッファ1に対応するようにさせ、hで始まる単語及びiで始まる単語のリダクション値がリダクションバッファ2に対応するようにさせることができる。このように、リダクションユニット801は、aで始まる単語の索引を処理し、リダクションユニット802は、bで始まる単語の索引を処理し、リダクションユニット803は、hで始まる単語の索引を処理し、リダクションユニット804は、iで始まる単語の索引を処理する。同時に、リダクションバッファ1は、a〜gで始まる単語の索引を記憶し、リダクションバッファ2は、h〜nで始まる単語の索引を記憶し、リダクションバッファは、自分のツリー索引構造及びその読み取り/書き込みアクセスを維持する。
そのうち、リダクションユニットは、同一タスクの複数の計算結果を受け、複数の計算結果は、異なる計算ユニットからのものであるので、リダクションユニットのリダクション処理では、少なくとも、複数の計算結果に対して記憶を行う必要がある。同時に、ユーザのニーズ及び設置に応じて、リダクション処理では、受けた計算結果に対して後処理を行い、例えば、計算結果のキーによるソーティング(例えば、tl、t2、t3、…の順でソーティング)などを行う。一つのリダクションユニットは、一つのみのタスクの計算結果に対してリダクションを行い、これは、所属するタスクの標識により実現され得る。計算結果をリダクションユニットに割り当てる時に、さらに、計算結果とリダクションユニットの所属するタスクの標識が一致するかどうかを比較する。一つのタスクの全てのサブタスクが全てリダクション処理された後に、該タスクに対してリダクションを行うリダクションユニットをリリースする。入力が一つだけのタスクではなく、且つ、新しいタスクが絶えずに追加されるので、計算ユニット及びリダクションユニットには、同時に、一つ以上のタスクが計算及びリダクションされている可能性がある。異なるタスクには、同じキーの入力を有し、例えば、aで始まる単語の索引は、リダクション関数による計算後のリダクション値が、同一リダクションバッファに対応する異なるリダクションユニットに割り当てられる。これにより、最終的に、各タスクの計算結果は、ユーザにより設置されているニーズに従って、リダクションバッファ中のデータ構造に融和し得る。各タスクは、リダクションバッファにリダクションされた後に、直ぐに、検索のためにアクセスされ得る。検索タスクを受ければ、リダクション制御装置82は、リダクションバッファリストに基づいて、リダクションバッファにアクセスし、アクセスによる結果を検索タスクのリクエスト元に戻す。
上述の装置中の各構成モジュール及びユニットは、ソフトウェア、ファームウェア、ハードウェア又はそれらの組み合せの方式で構成されてもよい。構成に用いる具体的な手段は、当業者に既知であるので、ここでは、詳しい説明を省略する。ソフトウェア又はファームウェアにより実現する場合、記憶媒体又はネットワークから、専用ハードウェア構造を有するコンピュータ(例えば、図9に示す汎用コンピュータ900)に該ソフトウェアを構成するプログラムをインストールし、該コンピュータは、各種のプログラムがインストールされている時に、上述の各種の機能などを実行することができる。
図9に示すように、中央処理ユニット(CPU)901が、リードオンリーメモリ(ROM)902に記憶されているプログラム、又は、記憶部908からランダムアクセスメモリ(RAM)903にロードされているプログラムに基づいて各種の処理を行う。RAM903は、ニーズに応じて、CPU901が各種の処理などを実行するときに必要なデータを記憶してもよい。CPU901、ROM902及びRAM903は、バス904を経由して互いに接続される。また、入力/出力インターフェース905もバス904に接続される。
入力/出力インターフェース905には、入力部906(キーボードやマウスなどを含む)、出力部分907(表示器例えばCRT、LCD、スピーカーなどを含む)、記憶部908(ハードディスクなどを含む)、及び通信部909(ネットワーク接続カード例えばLANカード、モデムなどを含む)が接続される。通信部909は、ネットワーク例えばインターネットを経由して通信処理を行う。ドライブ910がニーズに応じて入力/出力インターフェース905に接続されてもよい。また、ニーズに応じて、取り外し可能な媒体911例えば磁気ディスク、光ディスク、光磁気ディスク、半導体メモリなどをドライブ910にセットすることにより、その中から読み出したコンピュータプログラムを記憶部908にインストールしてもよい。
ソフトウェアにより上述の一連の処理を実現する場合は、ネットワーク例えばインターネット、又は記憶媒体例えば取り外し可能な媒体911から、このソフトウェアを構成するプログラムをインストールしてもよい。
当業者が理解すべきは、このような記憶媒体は、中にプログラムが記憶されており、ユーザにプログラムを提供するよう装置と独立して配られる図9に示すような取り外し可能な媒体911に限定されない。取り外し可能な媒体911の例としては、磁気ディスク(フロッピー(登録商標)ディスクを含む)、光ディスク(CD−ROM及びDVDを含む)、光磁気ディスク(MD(登録商標)を含む)、及び半導体メモリを含む。或いは、記憶媒体はROM902、記憶部908に含まれるハードディスクなどであってもよく、それらにはプログラムが記憶されており、且つそれらを含む装置とともにユーザに配られてもよい。
また、本発明は、マシン読取可能な命令コードを記憶しているプログラムプロダクトにも関する。この命令コードは、マシンに読み取られて実行される時に、上述の実施例による方法を実行させることができる。
それ相応に、上述のマシン読取可能な命令コードを記憶しているプログラムプロダクトをキャリーするための記憶媒体も本開示に含まれている。このような記憶媒体は、磁気ディスク(フロッピーディスク)、光ディスク、光磁気ディスク、メモリカード、メモリメモリスティックなどを含むが、これらに限定されない。
本発明の具体的な実施例について行った上述の説明では、一つの実施形態について説明した及び/又は示した特徴は、同じ又は類似する形で一つ又は複数の他の実施形態に用い、他の実施形態中の特徴と組み合わせ、又は、他の実施形態中の特徴を置換することができる。
強調すべきは、“包括(有する)/含む”というような語は、本文に用いる時に、特徴、部品全体、ステップ又は組み立て部品の存在を指すが、一つ又は複数の他の特徴、部品全体、ステップ又は組み立て部品の存在又は付加を排除しないことである。
また、本発明の上述の方法は、明細書に記載の又は図面に図示の時間順序に従って実行することに限定されず、他の時間順序に従って、並列に又は独立して実行してもよい。よって、本明細書又は図面に記載の方法の実行順序は、本発明の技術的範囲を限定しない。
以上、本発明の具体的な実施例を基に、本発明について説明したが、当業者が理解すべきは、上述の全ての実施例及び具体例は全て例示的なものだけであり、本発明の保護範囲を制限するものではない。当業者は、添付の特許請求の範囲の思想及び範囲内において、本発明に対してあらゆる変形及び変更などを行ってもよく、これらの変形及び変更なども、本発明の技術的範囲に属する。

Claims (14)

  1. 分散計算方法であって、
    入力されたタスクフローに対して分散計算を行い;
    前記分散計算の計算結果に対してリダクションを行い;及び
    前記リダクション後の計算結果をリダクションバッファに記憶することを含み、
    前記リダクションは、
    前記計算結果を複数のリダクションユニットに割り当て;
    リダクションユニットに割り当てられた計算結果に対してリダクション処理を行い;及び
    リダクション処理後の計算結果をリダクションバッファに出力することを含み、
    リダクション関数により計算されたリダクション値と、所属するタスクの標識とに基づいて、前記割り当てを行い、
    前記リダクションバッファに入力された前記リダクション処理後の計算結果の、前記リダクションバッファにおける分布が、リダクションバッファリストに記録される、分散計算方法。
  2. 請求項1に記載の分散計算方法であって、
    前記リダクション処理は、計算結果に対して後処理を行うことを更に含む、分散計算方法。
  3. 請求項1に記載の分散計算方法であって、
    同じリダクション値を有するリダクションユニットの計算結果を、同一リダクションバッファに出力する、分散計算方法。
  4. 請求項1に記載の分散計算方法であって、
    前記リダクションを行う前に、前記分散計算の計算結果に対してローカルバックアップを行う、分散計算方法。
  5. 請求項1に記載の分散計算方法であって、
    リダクションユニットに対応するリダクションバッファが書き込み不可の場合、前記計算結果を他のリダクションバッファにフォーワードする、分散計算方法。
  6. 請求項5に記載の分散計算方法であって、
    前記リダクションバッファがリセット又はクリアされている時に、前記リダクションバッファが書き込み不可である、分散計算方法。
  7. 請求項1に記載の分散計算方法であって、
    全てのリダクションバッファが書き込み不可のときに、前記リダクション処理後の計算結果に対してローカルバックアップを行う、分散計算方法。
  8. 請求項1に記載の分散計算方法であって、
    リダクション処理後の計算結果を前記リダクションバッファに出力した後に、前記計算結果に対してローカルバックアップを行う、分散計算方法。
  9. 請求項1に記載の分散計算方法であって、
    前記リダクション関数は、ハッシュ関数を含む、分散計算方法。
  10. 分散計算システムであって、
    入力されたタスクフローに対して分散計算を行うための分散計算装置;
    前記分散計算の計算結果に対してリダクション処理を行うための複数のリダクションユニット;
    前記リダクション処理後の計算結果を記憶するための一つの又は複数のリダクションバッファ;及び
    前記計算結果の前記リダクションバッファへのリダクション、及び、前記リダクションバッファへのアクセスを制御するためのリダクション制御装置を含み、
    リダクション関数により計算されたリダクション値と、所属するタスクの標識とに基づいて、前記計算結果を前記複数のリダクションユニットに割り当て
    前記リダクションバッファに入力された前記リダクション処理後の計算結果の、前記リダクションバッファにおける分布が、リダクションバッファリストに記録される、分散計算システム。
  11. 請求項10に記載の分散計算システムであって、
    同じリダクション値を有するリダクションユニットは、リダクション処理後の計算結果を同一リダクションバッファに出力する、分散計算システム。
  12. 請求項10又は11に記載の分散計算システムであって、
    前記リダクションバッファは、リダクションバッファ内制御ユニット及びリダクションバッファ内記憶ユニットを含み、前記リダクションバッファ内制御ユニットは、前記リダクションバッファへの入力を受け、入力されたデータを、所定のデータ構造で、リダクションバッファ内記憶ユニットに記憶させる、分散計算システム。
  13. 請求項12に記載の分散計算システムであって、
    前記リダクションバッファ内記憶ユニットは、少なくとも一部がメモリである、分散計算システム。
  14. 請求項10又は11に記載の分散計算システムであって、
    前記リダクションユニットは、前記リダクションバッファに異常が発生した時に前記リダクションバッファを回復するために、リダクションユニット処理後のデータをバックアップするためのリダクション用ローカルバックアップユニットを含む、分散計算システム。
JP2013556944A 2011-03-04 2011-03-04 分散計算方法及び分散計算システム Expired - Fee Related JP6138701B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2011/071513 WO2012119290A1 (zh) 2011-03-04 2011-03-04 分布式计算方法和分布式计算系统

Publications (2)

Publication Number Publication Date
JP2014507734A JP2014507734A (ja) 2014-03-27
JP6138701B2 true JP6138701B2 (ja) 2017-05-31

Family

ID=46797398

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013556944A Expired - Fee Related JP6138701B2 (ja) 2011-03-04 2011-03-04 分散計算方法及び分散計算システム

Country Status (4)

Country Link
US (1) US20140157275A1 (ja)
JP (1) JP6138701B2 (ja)
CN (1) CN103403698A (ja)
WO (1) WO2012119290A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016032634A1 (en) * 2014-08-29 2016-03-03 Cynny Spa Systems and methods to organize a computing system having multiple computers, distribute computing tasks among the computers, and maintain data integrity and redundancy in the computing system
US10565074B2 (en) 2014-08-29 2020-02-18 Cynny Space Srl Systems and methods to distribute computing tasks among multiple computers

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7000136B1 (en) * 2002-06-21 2006-02-14 Pmc-Sierra, Inc. Efficient variably-channelized SONET multiplexer and payload mapper
US7756919B1 (en) * 2004-06-18 2010-07-13 Google Inc. Large-scale data processing in a distributed and parallel processing enviornment
US7848942B2 (en) * 2004-12-28 2010-12-07 Sap Aktiengesellschaft Distribution of integrated business process models
JP4546413B2 (ja) * 2006-03-17 2010-09-15 富士通株式会社 並列計算機のリダクション処理方法及び並列計算機
US20070245122A1 (en) * 2006-04-13 2007-10-18 Archer Charles J Executing an Allgather Operation on a Parallel Computer
US7730119B2 (en) * 2006-07-21 2010-06-01 Sony Computer Entertainment Inc. Sub-task processor distribution scheduling
US20080022079A1 (en) * 2006-07-24 2008-01-24 Archer Charles J Executing an allgather operation with an alltoallv operation in a parallel computer
US7721009B2 (en) * 2006-11-22 2010-05-18 International Business Machines Corporation Method for providing high performance scalable file I/O through persistent file domain and functional partitioning
US8161480B2 (en) * 2007-05-29 2012-04-17 International Business Machines Corporation Performing an allreduce operation using shared memory
US8621484B2 (en) * 2007-08-30 2013-12-31 Intel Corporation Handling potential deadlocks and correctness problems of reduce operations in parallel systems
US7970872B2 (en) * 2007-10-01 2011-06-28 Accenture Global Services Limited Infrastructure for parallel programming of clusters of machines
JP2009217405A (ja) * 2008-03-07 2009-09-24 Nec Corp ジョブネットワーク自動生成方式及びプログラム
JP5229731B2 (ja) * 2008-10-07 2013-07-03 インターナショナル・ビジネス・マシーンズ・コーポレーション 更新頻度に基づくキャッシュ機構
US8239847B2 (en) * 2009-03-18 2012-08-07 Microsoft Corporation General distributed reduction for data parallel computing
US8713038B2 (en) * 2009-04-02 2014-04-29 Pivotal Software, Inc. Integrating map-reduce into a distributed relational database
CN101833439B (zh) * 2010-04-20 2013-04-10 清华大学 基于分合思想的并行计算硬件结构
US8555265B2 (en) * 2010-05-04 2013-10-08 Google Inc. Parallel processing of data
US8799916B2 (en) * 2011-02-02 2014-08-05 Hewlett-Packard Development Company, L. P. Determining an allocation of resources for a job

Also Published As

Publication number Publication date
JP2014507734A (ja) 2014-03-27
CN103403698A (zh) 2013-11-20
WO2012119290A1 (zh) 2012-09-13
US20140157275A1 (en) 2014-06-05

Similar Documents

Publication Publication Date Title
Wang et al. Performance prediction for apache spark platform
CN102999406B (zh) 从硬件故障模式的增强转储数据收集的方法和系统
CN107315760B (zh) 用于连续图更新和计算的平台
US20150058295A1 (en) Data Persistence Processing Method and Apparatus, and Database System
JP2020535559A (ja) リソーススケジューリング方法、スケジューリングサーバ、クラウドコンピューティングシステム、及び記憶媒体
CN103098014A (zh) 存储系统
JP4840670B2 (ja) 仮想マシンのデプロイ高速化システム、その方法及びそのプログラム
Wang et al. Improving mapreduce performance with partial speculative execution
CN110704438B (zh) 一种区块链中布隆过滤器的生成方法及装置
CN113313247B (zh) 基于数据流架构的稀疏神经网络的运算方法
CN103109293A (zh) 一种用户行为处理系统及方法
CN107992354B (zh) 用于降低内存负载的方法以及装置
Wu et al. Scheduling large-scale scientific workflow on virtual machines with different numbers of vCPUs
CN103885811A (zh) 虚拟机系统全系统在线迁移的方法、系统与装置
JP5773493B2 (ja) 情報処理装置
Tengku Asmawi et al. Cloud failure prediction based on traditional machine learning and deep learning
CN102282545A (zh) 存储系统
JP6138701B2 (ja) 分散計算方法及び分散計算システム
US9965355B2 (en) System and method for dynamic collection of system management data in a mainframe computing environment
JP2023553220A (ja) マルチインスタンスプロセスのためのプロセスマイニング
CN107528871A (zh) 存储系统中的数据分析
US20190370046A1 (en) Insight usage across computing nodes running containerized analytics
Dinu et al. Rcmp: Enabling efficient recomputation based failure resilience for big data analytics
JP2014123249A (ja) 情報処理装置、プログラム、及び情報処理方法
US11080606B2 (en) Parallelization techniques for variable selection and predictive models generation and its applications

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140120

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141009

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141111

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150109

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20150707

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151001

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20151008

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20151225

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170426

R150 Certificate of patent or registration of utility model

Ref document number: 6138701

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees