JP2016173643A - 分散処理制御装置 - Google Patents

分散処理制御装置 Download PDF

Info

Publication number
JP2016173643A
JP2016173643A JP2015052264A JP2015052264A JP2016173643A JP 2016173643 A JP2016173643 A JP 2016173643A JP 2015052264 A JP2015052264 A JP 2015052264A JP 2015052264 A JP2015052264 A JP 2015052264A JP 2016173643 A JP2016173643 A JP 2016173643A
Authority
JP
Japan
Prior art keywords
processing
distributed
map
distributed processing
unit
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.)
Granted
Application number
JP2015052264A
Other languages
English (en)
Other versions
JP6547342B2 (ja
Inventor
貴光 石井
Takamitsu Ishii
貴光 石井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2015052264A priority Critical patent/JP6547342B2/ja
Priority to US15/057,304 priority patent/US10503560B2/en
Publication of JP2016173643A publication Critical patent/JP2016173643A/ja
Application granted granted Critical
Publication of JP6547342B2 publication Critical patent/JP6547342B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5066Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs

Abstract

【課題】複数のノードでデータを並列分散処理する場合、相互に関連する情報がまとまって漏洩するおそれがある、という問題を解決すること。【解決手段】処理を受け付ける処理受付部と、前記処理受付部が受け付けた処理の関連度を取得する関連度取得部と、前記関連度取得部が取得した処理の関連度に基づいて、前記処理受付部が受け付けた処理を複数の処理ノードに対して分散指示する分散処理指示部と、を有する【選択図】図2

Description

本発明は、分散処理制御装置、分散処理制御方法、プログラムに関する。
大規模データを分析・処理するための技術として、データの処理を複数のノードに分散して行わせる並列分散処理が知られている。
例えば、特許文献1には、ジョブ配置処理部を有するジョブ制御部を備えた分散計算制御システムが記載されている。特許文献1によると、ジョブ配置処理部は、計算処理のフローグラフと、そのとき利用可能な仮想マシンの集合と、を求める。続いて、ジョブ配置処理部は、フローグラフの各要素を仮想マシンの集合の属するいずれかの仮想マシンにランダムに配置した配置パターンの集合を求める。そして、ジョブ配置処理部は、配置パターンの集合を構成する各配置パターンのコストを算出し、コストが最小となる配置パターンを選択する。特許文献1によると、上記構成により、Map処理及び当該Map処理の処理結果を使用するReduce処理を同一の物理マシン上で動作する仮想マシンに分散配置することが出来る。
また、例えば、特許文献2には、ジョブのパラメータ情報を検出して格納するパラメータ検出手段と、新たに与えられたジョブの新パラメータ情報とパラメータ検出手段が格納したパラメータ情報とを比較して、パラメータに依存しない重複部分のジョブを統合するジョブ統合手段と、共有実行手段と、を有する処理装置が記載されている。特許文献2によると、上記構成により、パラメータに依存しない重複部分を統合して処理を行うことが可能となる。その結果、特許文献2によると、処理量の削減を行うことが可能となり、MapReduce処理の高速化を図ることが可能となる。
また、データを分割して複数のノードに分散する際の技術として、例えば、特許文献3が知られている。特許文献3には、クラウドストレージブローカを有する分散クラウドストレージシステムが記載されている。特許文献3によると、クラウドストレージブローカは、データ項目を細分する際に用いる第1のルールと、細分化したデータ項目を各クラウドストレージプラットフォームへ割り振る際に用いる第2のルールと、に基づいて、データ項目を各クラウドストレージプラットフォームに割り振る。その結果、特許文献3によると、データを侵害されたプラットフォームから発見される脆弱性を低減することが出来る。
特開2010−218307号公報 特開2012−160014号公報 特開2014−515521号公報
しかしながら、特許文献1、2に記載の技術の場合、処理を実行する1つのノードに関連性の高い処理が集中することがあった。その結果、1つのノードが攻撃され処理結果が漏洩した場合に、漏洩する情報量が大きくなるおそれがある、という問題があった。
また、特許文献3を用いた場合でも、特許文献1、2と同様の事態が生じることがあった。そのため、特許文献3の技術を用いたとしても、上記特許文献1、2の場合と同様に、1つのノードが攻撃され処理結果が漏洩した場合に、漏洩する情報量が大きくなるおそれがある、という問題があった。
このように、複数のノードでデータを並列分散処理する場合、相互に関連する情報がまとまって漏洩するおそれがある、という問題が生じていた。
そこで、本発明の目的は、複数のノードでデータを並列分散処理する場合、相互に関連する情報がまとまって漏洩するおそれがある、という問題を解決する分散処理制御装置を提供することにある。
かかる目的を達成するため本発明の一形態である分散処理制御装置は、
処理を受け付ける処理受付部と、
前記処理受付部が受け付けた処理の関連度を取得する関連度取得部と、
前記関連度取得部が取得した処理の関連度に基づいて、前記処理受付部が受け付けた処理を複数の処理ノードに対して分散指示する分散処理指示部と、
を有する
という構成を採る。
また、本発明の他の形態である分散処理制御方法は、
処理を受け付け、
受け付けた処理の関連度を取得し、
取得した前記処理の関連度に基づいて、受け付けた前記処理を複数の処理ノードに対して分散指示する
という構成を採る。
また、本発明の他の形態であるプログラムは、
分散処理制御装置に、
処理を受け付ける処理受付手段と、
前記処理受付手段が受け付けた処理の関連度を取得する関連度取得手段と、
前記関連度取得手段が取得した処理の関連度に基づいて、前記処理受付手段が受け付けた処理を複数の処理ノードに対して分散指示する分散処理指示手段と、
を実現させるためのプログラムである。
本発明は、以上のように構成されることにより、複数のノードでデータを並列分散処理する場合、相互に関連する情報がまとまって漏洩するおそれがある、という問題を解決する分散処理制御装置を提供することが可能となる。
本発明の第1の実施形態に係る分散処理システムの全体の構成を示すブロック図である。 本発明の第1の実施形態に係る分散処理計画ノードの構成を示すブロック図である。 本発明の第1の実施形態に係る分散処理計画ノードにおける処理情報の構成例を示す図である。 本発明の第1の実施形態に係る分散処理計画ノードにおける処理関連度情報の構成例を示す図である。 本発明の第1の実施形態に係る分散処理計画ノードにおける処理情報の具体的な一例を示す図である。 本発明の第1の実施形態に係る分散処理計画ノードにおいて処理を分割する際に利用される情報の一例である。 本発明の第1の実施形態に係る分散処理計画ノードにおける処理情報の他の具体的な一例を示す図である。 本発明の第1の実施形態に係る分散処理計画ノードにおける処理関連度情報の具体的な一例を示す図である。 本発明の第1の実施形態に係る分散処理計画ノードにおいて処理を集約後再計算した処理関連度情報の具体的な一例を示す図である。 本発明の第1の実施形態に係る分散処理計画ノードにおける実行計画生産部が処理を分割する際に用いる情報の一例を示す図である。 本発明の第1の実施形態に係る分散処理計画ノードにおいて処理を分割後再計算した処理関連度情報の具体的な一例を示す図である。 本発明の第1の実施形態に係る分散処理計画ノードの動作の一例を示すフローチャートである。 本発明の第2の実施形態に係る分散処理計画ノードの構成を示すブロック図である。 本発明の第3の実施形態に係る分散処理制御装置の構成の一例を示す概略ブロック図である。
[第1の実施形態]
図1は、分散処理システムの全体の構成を示すブロック図である。図2は、分散処理計画ノード1の構成を示すブロック図である。図3は、処理情報14の構成例を示す図である。図4は、処理関連度情報15の構成例を示す図である。図5は、処理情報14の具体的な一例を示す図である。図6は、実行計画生成部13が処理を分割する際に利用する情報の一例である。図7は、処理情報14の他の具体的な一例を示す図である。図8は、処理関連度情報の具体的な一例を示す図である。図9は、実行計画生産部13において処理を集約した後、再計算した処理関連度情報15の具体的な一例を示す図である。図10は、実行計画生産部13が処理を分割する際に用いる情報の一例を示す図である。図11は、実行計画生産部13において処理を分割した後、再計算した処理関連度情報15の具体的な一例を示す図である。図12は、分散処理計画ノード1の動作の一例を示すフローチャートである。
本発明の第1の実施形態では、処理依頼元ノードから依頼された処理(Map処理)を、各処理ノードに対して分散指示する分散処理計画ノード1について説明する(図1参照)。後述するように、本実施形態における分散処理計画ノード1は、処理依頼元ノードからMap処理を伴う一連の処理(以下、ジョブと表現する)を受信する。続いて、分散処理計画ノード1は、単位時間あたりに取得したジョブに含まれるMap処理間の関連度を取得する。その後、分散処理計画ノード1は、取得したMap処理間の関連度に基づいて、受信したMap処理の実行を各処理ノードに対して分散指示する。
このように、本実施形態では、MapReduceモデルを利用して並列分散処理を行う際に、Map処理を実行する各処理ノードに対してMap処理の実行を指示する分散処理計画ノード1について説明する。なお、図1では処理依頼元ノードが1つの場合について示した。しかしながら、分散処理計画ノード1は、複数の処理依頼元ノードからジョブを取得するよう構成しても構わない。また、分散処理計画ノード1が接続されている処理ノードの数は、2以上の任意の数で構わない。
図2を参照すると、本実施形態における分散処理計画ノード1は、処理受付部11と、関連度解析部12(関連度取得部)と、実行計画生成部13(分散処理指示部の一部)と、分散処理命令部14(分散処理指示部の一部)と、処理情報15と、処理関連度情報16と、を有している。
なお、分散処理計画ノード1は、図示しないCPU(Central Processing Unit)などの演算装置と記憶装置とを有している。分散処理計画ノード1は、例えば、記憶装置が備えるプログラムを実行することで、上記各部の機能を実現することになる。
処理受付部11は、処理依頼元ノードからジョブを受け付ける。そして、処理受付部11は、単位時間あたり(所定の時間。時間の区切りは任意で構わない)に処理依頼元ノードから受け付けたジョブを関連度解析部12へと送信する。
このように、処理受付部11は、処理依頼元ノードから受け付けたジョブを所定時間ごとに関連度解析部12に送信する。なお、上述したように、処理受付部11が受け付けたジョブにはMap処理が含まれている。そのため、処理受付部11は、ジョブを受け付けることで、Map処理を受け付けることになる。
関連度解析部12は、処理受付部11からジョブを受信すると、処理情報15を参照することで、ジョブ中の処理(例えば、データ取得処理やMap処理など)の構成に関する情報を取得する。つまり、関連度解析部12は、処理受付部11からジョブを受信すると、処理情報15を参照することで、取得したジョブをデータ取得処理やMap処理などの各種処理に細分化する。
また、関連度解析部12は、処理関連度情報16を参照することで、取得したジョブ中の処理のうちのMap処理(分散処理することになる処理)についての関連度を取得する。具体的には、関連度解析部12は、処理関連度情報16を参照することで、取得した各Map処理のペアについての関連度をそれぞれ取得する。
その後、関連度解析部12は、取得した各Map処理のペアについての関連度を示す情報(例えば、関連度の一覧の情報)を実行計画生成部13に送信する。
このように、関連度解析部12は、処理受付部11からジョブを受信すると、ジョブの構成を示す情報を取得することでジョブを細分化して、Map処理についての情報を取得する。続いて、関連度解析部12は、取得した各Map処理間の関連度を示す情報を取得する。その後、関連度解析部12は、関連度を示す情報を実行計画生成部13へ送信する。
実行計画生成部13は、関連度解析部12から受信した関連度を示す情報と、処理ノードのリソースの空き状況を示す情報と、に基づいて、処理受付部11が受け付けたジョブに含まれるMap処理をどの処理ノードに実行させるかを示す実行計画を生成する。
例えば、実行計画生成部13は、関連度解析部12から各Map処理のペアの関連度を示す情報を取得する。また、実行計画生成部13は、各処理ノードを監視することで、Map処理を実行可能な(リソースに空きがある)処理ノードの数を監視する。そして、実行計画生成部13は、上記ペアの関連度を示す情報と、Map処理を実行可能な処理ノードの数と、に基づいて、関連度が高いMap処理のペアが別々の処理ノードで実行されるように、実行計画を生成する。
具体的には、例えば、実行計画生成部13は、各Map処理に対して、Map処理を実行する際に必要となる処理ノードの数を示す処理コストを算出する。そして、実行計画生成部13は、Map処理を実行可能な処理ノードの数と、処理コストと、を比較する。なお、処理コストは、Map処理の種類や内容、対応する処理の量などに応じて変化することになる。
処理コストと実行可能な処理ノードの数とが等しい場合、実行計画部13は、それぞれの処理ノードでそれぞれのMap処理を実行するよう実行計画を生成する。
この場合、実行計画生成部13は、1つの処理ノードが1つの種類のMap処理を実行するよう実行計画を生成することになる。
また、実行計画生成部13は、処理コストが実行可能な処理ノードの数よりも大きい場合、Map処理間の関連度に基づいて集約する対象となるMap処理のペアを選択し、当該選択したMap処理を集約する。例えば、実行計画生成部13は、関連度解析部12が取得したうちの関連度の最も低いMap処理のペアを集約する。その後、実行計画生成部13は、集約したMap処理をそれぞれの処理ノードで実行するよう実行計画を生成する。
この場合、実行計画生成部13は、集約された複数のMap処理が一つの処理ノードで実行される実行計画を生成することがあることになる。ただし、上記のように、実行計画生成部13は、関連度の低いペアを集約している。そのため、実行計画生成部13は、ある処理ノードに関連度の高いMap処理が集中しないように実行計画を生成することになる。
なお、実行計画生成部13がMap処理のペアを集約しても、依然として、処理コストが実行可能な処理ノードの数よりも大きい場合が考えられる。この場合、実行計画生成部13は、集約後のMap処理の各ペアに対する関連度(集約後関連度)を算出して、当該算出した集約後関連度に基づいて再度Map処理を集約することが出来る。その後、実行計画生成部13は、集約したMap処理をそれぞれの処理ノードで実行するよう実行計画を生成することになる。また、上記処理を行っても処理コストが実行可能な処理ノードの数よりも大きい場合、実行計画生成部13は、更に上記処理を繰り返す。このように、実行計画生成部13は、処理コストが実行可能な処理ノードの数よりも大きい場合、Map処理の集約と関連度(集約後関連度)の算出とを繰り返すことで、関連度の低いMap処理のペアを集約して実行可能な実行計画を生成することになる。
また、実行計画生成部13は、処理コストが実行可能な処理ノードの数よりも小さい場合、Map処理間の関連度に基づいて分割する対象となるMap処理を選択し、当該選択したMap処理の一部を分割する。例えば、実行計画生成部13は、組み合わせた際に関連度が最も高くなる組み合わせを分割する。その後、実行計画生成部13は、分割したMap処理をそれぞれの処理ノードで実行するよう実行計画を生成する。
この場合、実行計画生成部13は、1つの処理ノードに1つの種類のMap処理又は分割されたMap処理を実行するよう実行計画を生成することになる。上記のように、実行計画生成部13は、組み合わせた際に関連度が最も高くなる組み合わせを分割している。そのため、実行計画生成部13は、各処理ノードで実行するMap処理の関連度がさらに低くなるように、実行計画を生成することになる。
なお、実行計画生成部13がMap処理のペアを分割しても、依然、処理コストが実行可能な処理ノードの数よりも小さい場合が考えられる。この場合、実行計画生成部13は、分割後のMap処理の各ペアに対する関連度(分割後関連度)を算出して、当該算出した分割後関連度に基づいて再度Map処理を分割することが出来る。その後、実行計画生成部13は、分割したMap処理をそれぞれの処理ノードで実行するよう実行計画を生成することになる。また、上記処理でも処理コストが実行可能な処理ノードの数よりも小さい場合、実行計画生成部13は、更に上記処理を繰り返す。このように、実行計画生成部13は、処理コストが実行可能な処理ノードの数よりも小さい場合、Map処理の分割と関連度(分割後関連度)の算出とを繰り返すことで、各処理ノードで実行されるMap処理の関連度が低くなるように実行計画を生成することになる。
また、実行計画生成部13は、Map処理を集約・分割する際に、各Map処理を構成する要素(例えば、男女の集計のMap処理の場合の要素は男性と女性など)の項目数やデータ型を考慮して集約・分割することが出来る。例えば、実行計画生成部13は、関連度が最も高くなる組み合わせが複数ある場合、Map処理を構成する要素の数が最も大きいMap処理を分割するよう構成することが出来る。
分散処理命令部14は、実行計画生成部13から当該実行計画生成部13が生成した実行計画を受信する。そして、分散処理命令部14は、実行計画生成部13が生成した実行計画に基づいて、各処理ノードに対してMap処理の実行を指示する。
分散処理命令部14が実行計画に基づいて各処理ノードに対してMap処理の実行を指示することで、各処理ノードでMap処理が実行されることになる。
処理情報15は、分散処理計画ノード1が有するハードディスクやメモリなどの記憶装置に記憶されている。処理情報15は、ジョブの詳細情報として、どのようなデータに対してどのような処理を行うかを定義している。上述したように、処理情報15は関連度解析部12で利用されることになる。
図3は、処理情報15の構成例である。処理情報15では、例えば、ジョブの種類を示すジョブ名と、当該ジョブ中の処理(例えば、データ取得処理やMap処理など)を示すジョブ中の処理と、が対応付けられている。例えば、図3の1行目では、ジョブ名Aにジョブ中の処理aが対応づけられている。なお、ジョブ中の処理に含まれるデータ取得処理やMap処理などの処理の種類や数は、対応するジョブに応じて変わることになる。
処理関連度情報16は、分散処理計画ノード1が有するハードディスクやメモリなどの記憶装置に記憶されている。処理関連度情報16は、あるMap処理が他のMap処理とどの程度関連があるかを定義している。上述したように、処理関連度情報16は、関連度解析部12で利用されることになる。
図4は、処理関連度情報16の構成例である。処理関連度情報16では、例えば、Map処理の種類を示す処理名と、当該Map処理の他のMap処理との関係を示す他の処理との関連度と、が対応付けられている。例えば、図4の1行目では、処理名Xに他の処理との関連度xが対応付けられている。他の処理との関連度には、当該他の処理との関連度と対応付けられたMap処理と、他のMap処理それぞれとの関連度が含まれていることになる。
以上が、分散処理計画ノード1の構成の一例である。次に、上記構成の分散処理計画ノード1が行う処理の一例について説明する。例えば、分散処理計画ノード1が行う処理の一例として、売上明細のデータに対する各情報の集計を行う「商品の購入ユーザ分析」のジョブと、ある文書に対して単語毎に出現頻度をカウントして集計する「ワードカウント」のジョブと、の実行計画を生成して処理の実行を指示する場合について説明する。
図2で示すように、処理受付部11は、処理依頼元ノードから、単位時間に「商品の購入ユーザ分析」のジョブと、「ワードカウント」のジョブと、を受け付ける。そして、処理受付部11は、上記受け付けたジョブを関連度解析部12に送信する。
続いて、関連度解析部12は、処理情報15を参照することで、ジョブ中の処理(例えば、データ取得処理やMap処理など)の構成に関する情報を取得する。
例えば、処理情報15では、図5で示すような「商品の購入ユーザ分析」のジョブと下記処理1〜5までを含むジョブ中の処理との対応付けが行われているとする。
(処理名) (処理属性)
・処理1 売上明細データ取得 データ取得(売上明細)
・処理2 購入者データ取得 データ取得(購入者)
・処理3 購入時期の集計 Map処理(購入日)
・処理4 年代の集計 Map処理(購入者年齢)
・処理5 男女の集計 Map処理(購入者性別)
この場合、関連度解析部12は、処理情報15を参照することで、上記処理1〜5を取得することになる。なお、上記処理のうち、処理1、処理2は、データ取得を行う処理であることを示している。そのため、処理1、処理2の処理により、例えば図6で示すようなMap処理に必要な入力データが生成されることになる。また、処理3、4、5は、Map処理を行う処理であることを示している。
また、例えば、処理情報1では、図7で示すような「ワードカウント」のジョブと下記処理1〜2までを含むジョブ中の処理との対応付けが行われているとする。
(処理名) (処理属性)
・処理1 文書データ取得 データ取得(文書)
・処理2 単語の集計 Map処理(単語)
この場合、関連度解析部12は、処理情報15を参照することで、上記処理1〜2を取得することになる。また、「ワードカウント」のジョブ中の処理2が、Map処理を行う処理に該当する。
以上より、関連度解析部12は、処理情報15を参照することで、例えばMap処理「購入時期の集計」、「年代の集計」、「男女の集計」、「単語の集計」、を取得する。
続いて、関連度解析部12は、処理関連度情報16を参照して、各Map処理の相互の関連度を取得する。例えば、関連度解析部12は、図8で示すような各Map処理間の相互の関連度を取得する。
なお、本実施形態においては、処理の関連度を0〜1の数値で表現するものとする。また、関連度は、1に近いほど関連があるものとする。また、ジョブ「商品の購入ユーザ分析」中の処理と、ジョブ「ワードカウント」中の処理と、の間に関連はない(限りなく0に近い値として、例えば0.01と定義する)ものとする。
図8を参照すると、関連度解析部12は、「購入時期の集計」と「購入時期の集計」とのような同じ種類のMap処理間の関連度として、関連が非常に高いことを示す関連度1を取得する。また、関連度解析部12は、「購入時期の集計」と「年代の集計」との関連度として、例えば関連度0.5を取得する。このように、問題解析部12は、各Map処理間の関連度を取得する。
なお、関連度解析部12は、例えば、「男女の集計」と「年代の集計」との関連度として、関連度0.7を取得する(図8参照)。このように、関連度解析部12は、各Map処理のペアごとに与えられた関連度を取得する(異なるMap処理のペアが同じ値の関連度を有していても構わない)。また、関連度解析部12は、上記のように、「購入時期の集計」、「年代の集計」、「男女の集計」と、「単語の集計」と、の関連度として、関連が非常に低いことを示す関連度0.01を取得する。
そして、関連度解析部12は、取得した関連度を示す情報(例えば、関連度の一覧の情報)を実行計画生成部13に送信する。
実行計画生成部13は、取得した各Map処理間の関連度を示す情報と、処理ノードのリソースの空き状況を示す情報と、各Map処理の処理コストと、に基づいて、実行計画を生成する。
実行計画生成部13は、取得した各Map処理の処理コストを算出して、算出した処理コストと、処理ノードのリソースの空き状況と、の比較を行う。
例えば、実行計画生成部13は、売上明細の3つの処理に対してそれぞれ10ノードの処理コストが必要となり、単語出現頻度カウント処理に対して5ノードの処理コストが必要になるものとして各処理コストを算出する。つまり、実行計画生成部13は、各Map処理を実行するために必要となる処理コストとして、下記処理コストを算出する。
・単語の集計 5ノード
・購入時期の集計 10ノード
・年代の集計 10ノード
・男女の集計 10ノード
そして、実行計画生成部13は、算出した処理コストとMap処理を実行可能な処理ノードの数との比較を行う。
例えば、実行可能な処理ノードの数が35ノードである場合、処理コストと実行可能な処理ノードの数とが等しくなることになる。そこで、実行計画生成部13は、それぞれの処理ノードでそれぞれのMap処理を実行するよう実行計画を生成する。
また、例えば、実行可能な処理ノードの数が30ノードの場合など35ノード未満の場合、処理コストが実行可能な処理ノードの数よりも大きくなることになる。そこで、実行計画生成部13は、例えば、関連度の最も低いMapペアである「購入時期の集計」と「単語の集計」とを集約する。その結果、実行計画生成部13が実行計画を生成するMap処理としては、「購入時期の集計」、「年代の集計」、「男女の集計」、「購入時期+単語の集計」があることになる。また、処理コストは、例えば下記のようになることになる。
・単語の集計 5→0ノード
・購入時期の集計 10→5ノード
・年代の集計 10ノード
・男女の集計 10ノード
・購入時期+単語の集計 0→5ノード
上記処理により、実行可能な処理ノードの数と処理コストとが等しくなった場合(この場合は、実行可能な処理ノードの数が30ノードであった場合)、実行計画生成部13は、それぞれの処理ノードでそれぞれのMap処理を実行するよう実行計画を生成する。
また、例えば実行可能な処理ノードの数が29ノード以下である場合、上記集約を行っても依然として、処理コストが実行可能な処理ノードの数よりも大きくなることになる。そこで、実行計画生成部13は、集約後のMap処理の各ペアに対する関連度(集約後関連度)を算出する。例えば、実行計画生成部13は、集約したMap処理の関連度を加算することで、集約後のMap処理の各ペアに対する関連度を算出する。
具体的には、図9で示すように、実行計画生成部13は、集約した処理である「購入時期+単語の集計」と「年代の集計」との関連度として0.51を算出する。この値は、年代の集計と購入時期の集計と関連度である0.5と、年代の集計と単語の集計との関連度である0.01と、を加算した値である。このように、実行計画生成部13は、処理を集約した場合、集約した処理に応じて関連度を算出する。なお、算出の結果、関連度が1以上になる場合、実行計画生成部13は、関連度1を算出する(関連度は1以下である)ものとする。
そして、実行計画生成部13は、算出した関連度に基づいて再度関連度の最も低いMapペアを集約する。例えば、実行計画生成部13は、購入時期の集計と年代の集計とを集約する。そして、上記集約により実行可能な処理ノードの数と処理コストとが等しくなった場合、実行計画生成部13は、それぞれの処理ノードでそれぞれのMap処理を実行するよう実行計画を生成する。一方、上記集約を行ってもなお処理コストが実行可能な処理ノードの数よりも大きくなる場合、実行計画生成部13は、集約後のMap処理の各ペアに対する関連度の算出と、当該算出した関連度に基づくMap処理の集約と、を再度行う。このように、実行計画生成部13は、処理コストが実行可能な処理ノードの数よりも大きい場合、Map処理の集約と関連度の算出とを繰り返す。これにより、実行計画生成部13は、各処理ノードで実行されるMap処理の関連度が低くなるように実行計画を生成する。
また、例えば、実行可能な処理ノードの数が40ノードの場合など処理コストの35ノードよりも大きい場合、処理を同時実行する処理ノードに余裕があることになる。そこで、実行計画生成部13は、例えば、組み合わせた際に関連度が最も高くなる組み合わせである「年代の集計」を分割する(「年代の集計」の組み合わせは関連度1であり関連度が最も高い)。その結果、実行計画生成部13が実行計画を生成するMap処理としては、「購入時期の集計」、「年代の集計(〜10代・20代・30代)」、「年代の集計(40代、50代、60代〜)」、「男女の集計」、「購入時期+単語の集計」があることになる。また、処理コストは、下記のようになることになる。
・単語の集計 5ノード
・購入時期の集計 10ノード
・年代の集計 10→20ノード
・男女の集計 10ノード
なお、上記分割の判断は、実行計画生成部13が図示しない記憶装置から取得した図10で示すようなMap処理別分割情報を参照して行うことが出来る。つまり、実行計画生成部13は、各Map処理を構成する要素の項目数やデータ型を考慮して分割することが出来る。図10を参照すると、組み合わせた際に関連度が最も高くなる組み合わせである「購入時期の集計」間、「年代の集計」間、「男女の集計」間のうち、「年代の集計」のMap処理が最も多くの要素から構成されている。そこで、例えば実行計画生成部13は、「年代の集計」のMap処理を分割することを決定する。
上記処理により、実行可能な処理ノードの数と処理コストとが等しくなった場合(この場合は、実行可能な処理ノードの数が45ノードであった場合)、実行計画生成部13は、それぞれの処理ノードでそれぞれのMap処理を実行するよう実行計画を生成する。
また、例えば実行可能な処理ノードの数が46ノード以上である場合、上記分割を行っても、依然として、処理コストが実行可能な処理ノードの数よりも小さくなることになる。そこで、実行計画生成部13は、分割後のMap処理の各ペアに対する関連度(分割後関連度)を算出する。例えば、実行計画生成部13は、分割したMap処理の他のMap処理との関連度を減算することで、分割後のMap処理の各ペアに対する関連度を算出する。なお、減算する値の大きさは様々に調整して構わない。
具体的には、図11で示すように、実行計画生成部13は、分割した処理である「年代の集計(〜10代、20代、30代)」と「購入時期の集計」との関連度として0.4を算出する。このように、実行計画生成部13は、処理を分割した場合、分割した処理に応じて関連度を算出する。
そして、実行計画生成部13は、組み合わせた際に関連度が最も高くなる組み合わせであるMapペアを再度分割する。例えば、実行計画生成部13は、男女の集計を分割する。そして、上記分割により実行可能な処理ノードの数と処理コストとが等しくなった場合、実行計画生成部13は、それぞれの処理ノードでそれぞれのMap処理を実行するよう実行計画を生成する。一方、上記分割を行ってもなお処理コストが実行可能な処理ノードの数よりも小さくなる場合、実行計画生成部13は、分割後のMap処理の各ペアに対する関連度の算出と、当該算出した関連度に基づくMap処理の分割と、を再度行う。このように、実行計画生成部13は、処理コストが実行可能な処理ノードの数よりも小さい場合、Map処理の分割と関連度の算出とを繰り返す。これにより、実行計画生成部13は、関連度の低いMap処理のペアを集約して実行可能な実行計画を生成する。
以上が、分散処理計画ノード1が行う処理の一例についての説明である。次に、分散処理計画ノード1の動作の一例について、図12のフローチャートを参照して説明する。
図12を参照すると、分散処理計画ノード1の処理受付部11は、ジョブを受け付ける。そして、関連度解析部12は、処理情報15を参照して、処理受付部11が単位時間に受け付けた全てのジョブに対して、当該ジョブに応じたMap処理を取得する(ステップS101)。
続いて、関連度解析部12は、処理関連度情報16を参照して、上記取得したMap処理間の相互の関連度を取得する(ステップS102)。そして、関連度解析部12は、取得した関連度を実行計画生成部13に送信する。
実行計画生成部13は、各Map処理に対して処理コストを算出する。また、実行計画生成部13は、処理ノードを監視して、リソースに空きがありMap処理を実行可能な処理ノードの数を取得する。そして、実行計画生成部13は、算出した処理コストと、Map処理を実行可能な処理ノードの数と、を比較する(ステップS103)。
そして、処理コストと、Map処理を実行可能な処理ノードの数と、が等しい場合(ステップS103、処理コスト=ノード)、実行計画生成部13は、それぞれの処理ノードでそれぞれのMap処理を実行するよう実行計画を生成する。その後、分散処理命令部14は、処理計画生成部13が生成した実行計画を用いて各処理ノードに対してMap処理を実行するよう命令する(ステップS110)。
また、処理コストが実行可能な処理ノードの数よりも大きい場合(ステップS103、処理コスト>ノード)、実行計画生成部13は、Map処理のペアの関連度に基づいて、Map処理の一部を集約する(ステップS104)。例えば、実行計画生成部13は、関連度の最も低いMap処理のペアを集約する。
そして、実行計画生成部13は、上記集約後のMap処理の処理コストと、処理を実行可能な処理ノードの数と、の比較を行う(ステップS105)。
Map処理の集約の結果、処理コストが処理を実行可能な処理ノードの数以下になった場合(ステップS105、Yes)、実行計画生成部13は、それぞれの処理ノードでそれぞれのMap処理を実行するよう実行計画を生成する。その後、分散処理命令部14は、処理計画生成部13が生成した実行計画を用いて各処理ノードに対してMap処理を実行するよう命令する(ステップS110)。
一方、Map処理の集約の結果、処理コストが処理を実行可能な処理ノードの数以下にならなかった場合(ステップS105、No)、実行計画生成部13は、集約後のMap処理の関連度を算出する(ステップS106)。その後、実行計画生成部13は、当該算出した関連度を用いて、再度Map処理の集約を行うことになる(ステップS104)。
また、処理コストが実行可能な処理ノードの数よりも小さい場合(ステップS103、処理コスト<ノード)、実行計画生成部13は、Map処理のペアの関連度に基づいて、Map処理の一部を分割する(ステップS107)。例えば、実行計画生成部13は、組み合わせた際に関連度が最も高くなる組み合わせとなるMap処理を分割する。
そして、実行計画生成部13は、上記分割後のMap処理の処理コストと、処理を実行可能な処理ノードの数と、の比較を行う(ステップS108)。
Map処理の分割の結果、処理コストが処理を実行可能な処理ノードの数に達した場合(ステップS108、Yes)、実行計画生成部13は、それぞれの処理ノードでそれぞれのMap処理を実行するよう実行計画を生成する。その後、分散処理命令部14は、処理計画生成部13が生成した実行計画を用いて各処理ノードに対してMap処理を実行するよう命令する(ステップS110)。
一方、Map処理の分割の結果、処理コストが処理を実行可能な処理ノードの数に達しなかった場合(ステップS108、No)、実行計画生成部13は、分割後のMap処理の関連度を算出する(ステップS109)。その後、実行計画生成部13は、当該算出した関連度を用いて、再度Map処理の分割を行うことになる(ステップS107)。
このように、本実施形態における分散処理計画ノード1は、関連度解析部12と、実行計画生成部13と、を有している。このような構成により、分散処理計画ノード1の関連度解析部12は、取得したジョブに応じたMap処理の関連度を取得することが出来る。また、実行計画生成部13は、関連度解析部12が取得した関連度に基づいて、一部の処理ノードに関連度の高いMap処理が集中しないように(関連度の高いMap処理を別々の処理ノードで実行するように)実行計画を生成することが出来る。その結果、分散処理計画ノード1は、Map処理を実行する各処理ノードに関連度の高いMap処理が集中することを防止することが可能となり、仮にあるノードが攻撃され処理結果が漏洩した場合でも、相互に関連する情報がまとまって漏洩することを防止することが可能となる。
なお、本実施形態においては、処理コストが実行可能な処理ノードの数よりも小さい場合、実行計画生成部13は、Map処理の一部を分割するとした。しかしながら、実行計画生成部13は、処理コストが実行可能な処理ノードの数よりも小さい場合、Map処理を分割せずに実行計画を生成するように構成しても構わない。
また、本実施形態においては、同じ種類のMap処理は関連度が高い(関連度が1である)とした。しかしながら、処理の性質などによっては、同じ種類のMap処理であっても関連度が低くなる場合がある。そのため、同じ種類のMap処理であってもその種類によっては、関連度が低くなるように構成しても構わない。
また、実行計画生成部13は、集約・分割のパターンとそれにより予想される関連度とを先に算出し、算出結果に基づいてどのように集約・分割するかを判断するように構成しても構わない。
また、実行計画生成部13は、Map処理を集約・分割する際に候補となるMap処理が複数ある場合、様々な方法を用いて集約・分割するMap処理を特定することが出来る。実行計画生成部13は、上述したように、Map処理を構成する要素の項目数やデータ型を考慮して集約・分割することが出来る。また、実行計画生成部13は、例えば、集約するMap処理の組み合わせを候補の中からランダムに選択しても構わない。このように、本発明は、実行計画生成部13が複数の候補から集約・分割するMap処理を特定する際に用いる方法には依存せず実施可能である。
また、本実施形態ではMapReduceモデルを利用して並列分散処理を行う場合について説明したが、本発明の適用は、MapReduceモデルを用いる場合に限られない。本発明は、MapReduceモデルを利用する場合以外の並列分散処理を行う場合に適用しても構わない。
[第2の実施形態]
本発明の第2の実施形態では、処理依頼元ノードから依頼された処理(Map処理)の実行を、各処理ノードに対して分散指示する分散処理計画ノード2について説明する。後述するように、本実施形態における分散処理計画ノード2は、各処理ノードの信頼度を加味して、各処理ノードに対して分散指示することになる。
図13を参照すると、本実施形態における分散処理計画ノード2は、第1の実施形態で説明した分散処理計画ノード1とほぼ同様の構成を有している。つまり、分散処理計画ノード2は、処理受付部11と、関連度解析部12と、実行計画生成部13と、分散処理命令部14と、処理情報15と、処理関連度情報16と、を有している。さらに、本実施形態における分散処理計画ノード2は、ノード信頼度情報21を有している。
このように、本実施形態における分散処理計画ノード2は、第1の実施形態で説明した分散処理計画ノード1とほぼ同様の構成を有している。なお、本実施形態においては、第1の実施形態の説明と重複する内容については、その説明を省略する。そのため、以下においては、本実施形態に特徴的な構成について説明する。
ノード信頼度情報21は、分散処理計画ノード1が有するハードディスクやメモリなどの記憶装置に記憶されている。ノード信頼度情報21は、各処理ノードにおいて情報漏洩や改ざんが行われる可能性などを示す各処理ノードの信頼度を定義している。ノード信頼度情報21は、例えば、実行計画生成部13で利用されることになる。
実行計画生成部13は、関連度解析部12から受信した関連度を示す情報と、処理ノードのリソースの空き状況を示す情報と、ノード信頼度情報21と、に基づいて、処理受付部11が受け付けたジョブに含まれるMap処理をどの処理ノードに実行させるかを示す実行計画を生成する。
例えば、実行計画生成部13は、集約したMap処理が信頼度の低い処理ノードで実行されないように、実行計画を生成する。このように、実行計画生成部13は、各処理ノードの信頼度と関連度とを組み合わせて実行計画を生成する。なお、実行計画生成部13は、上記例示した以外の方法により実行計画を生成しても構わない。
このように、本実施形態における分散処理計画ノード2は、ノード信頼度情報21を有している。このような構成により、実行計画生成部13は、各処理ノードの信頼度を加味して実行計画を生成することが出来る。その結果、関連度の高い情報が一度に漏洩する可能性をより低減することが可能となる。
なお、分散処理計画ノード2は、上記構成に加えて、各Map処理で扱う情報の重要度などを更に加味して実行計画生成部13を生成するように構成しても構わない。
また、分散処理計画ノード2は、第1の実施形態で説明した分散処理計画ノード1と同様の変更を行うことが出来る。
[第3の実施形態]
本発明の第3の実施形態では、処理を受け付けて、受け付けた処理を分散指示する分散処理制御装置3について説明する。なお、本実施形態では、分散処理制御装置3の構成の概略について説明する。
図14を参照すると、分散処理制御装置3は、処理受付部31と、関連度取得部32と、分散処理指示部33と、を有している。
処理受付部31は、処理を受け付ける。また、関連度取得部32は、処理受付部31が受け付けた処理の関連度を取得する。また、分散処理指示部33は、関連度取得部32が取得した処理の関連度に基づいて、処理受付部31が受け付けた処理を複数の処理ノードに対して分散指示する。
このように、本実施形態における分散処理制御装置3は、処理受付部31と、関連度取得部32と、分散処理指示部33と、を有している。このような構成により、関連度取得部32は、処理受付部31が受け付けた処理の関連度を取得することが出来る。また、分散処理指示部33は、関連度取得部32が取得した関連度に基づいて、複数の処理ノードに対して分散指示することが出来る。その結果、各処理ノードには、関連度に応じた(例えば、関連度が低い)処理が送られることになる。これにより、分散処理制御装置3は、各処理ノードに関連度の高い処理が集中することを防止することが可能となり、仮にあるノードが攻撃され処理結果が漏洩した場合でも、相互に関連する情報がまとまって漏洩することを防止することが可能となる。
また、上述した分散処理制御装置3は、分散処理制御装置3に所定のプログラムが組み込まれることで実現できる。具体的に、本発明の他の形態であるプログラムは、分散処理制御装置に、処理を受け付ける処理受付手段と、処理受付手段が受け付けた処理の関連度を取得する関連度取得手段と、関連度取得手段が取得した処理の関連度に基づいて、処理受付手段が受け付けた処理を複数の処理ノードに対して分散指示する分散処理指示手段と、を実現させるためのプログラムである。
また、上述した分散処理制御装置3が作動することにより実行される分散処理制御方法は、処理を受け付け、受け付けた処理の関連度を取得し、取得した処理の関連度に基づいて、受け付けた処理を複数の処理ノードに対して分散指示する、という方法である。
上述した構成を有する、プログラム、又は、分散処理制御方法、の発明であっても、上記分散処理制御装置3と同様の作用を有するために、上述した本発明の目的を達成することが出来る。
<付記>
上記実施形態の一部又は全部は、以下の付記のようにも記載されうる。以下、本発明における分散処理制御装置などの概略を説明する。但し、本発明は、以下の構成に限定されない。
(付記1)
処理を受け付ける処理受付部と、
前記処理受付部が受け付けた処理の関連度を取得する関連度取得部と、
前記関連度取得部が取得した処理の関連度に基づいて、前記処理受付部が受け付けた処理を複数の処理ノードに対して分散指示する分散処理指示部と、
を有する
分散処理制御装置。
(付記2)
付記1に記載の分散処理制御装置であって、
前記分散処理指示部は、前記複数の処理ノードに対して分散指示する際にある処理ノードに対して複数の処理を指示する場合、前記関連度に基づいて選択した前記複数の処理を集約した処理を指示する
分散処理制御装置。
(付記3)
付記1又は2に記載の分散処理制御装置であって、
前記分散処理指示部は、前記処理受付部が受け付けた処理を実行する際に必要となる処理ノードの数が処理を実行可能な処理ノードの数よりも大きい場合、前記関連度に基づいて選択した複数の処理を集約し、当該集約した処理を含む処理を前記複数の処理ノードに対して分散指示する
分散処理制御装置。
(付記4)
付記3に記載の分散処理制御装置であって、
前記分散処理指示部は、前記集約した処理を含む処理の関連度である集約後関連度を算出し、当該算出した集約後関連度に基づいて前記集約した処理を含む処理から選択した複数の処理を再度集約し、当該再度集約した処理を含む処理を前記複数の処理ノードに対して分散指示する
分散処理制御装置。
(付記5)
付記1乃至4のいずれかに記載の分散処理制御装置であって、
前記分散処理指示部は、前記処理受付部が受け付けた処理を実行する際に必要となる処理ノードの数が処理を実行可能な処理ノードの数よりも小さい場合、前記関連度に基づいて選択した処理の一部を分割し、当該分割した処理を含む処理を前記複数の処理ノードに対して分散指示する
分散処理制御装置。
(付記6)
付記5に記載の分散処理制御装置であって、
前記分散処理指示部は、前記分割した処理を含む処理の関連度である分割後関連度を算出し、当該算出した分割後関連度に基づいて前記分割した処理を含む処理から選択した処理の一部を再度分割し、当該再度分割した処理を含む処理を前記複数の処理ノードに対して分散指示する
分散処理制御装置。
(付記7)
付記1乃至6のいずれかに記載の分散処理制御装置であって、
前記分散処理指示部は、処理ノードに対する信頼度を示す信頼度情報を取得し、前記関連度と、前記信頼度情報と、に基づいて、前記処理受付部が受け付けた処理を複数の処理ノードに対して分散指示する
分散処理制御装置。
(付記8)
付記1乃至7のいずれかに記載の分散処理制御装置であって、
前記処理受付部は、キーとバリューのペアを生成するMap処理を伴う一連の処理であるジョブを受け付けることで、当該受け付けたジョブに含まれる前記Map処理を受け付け、
前記関連度取得部は、前記処理受付部が単位時間あたりに受け付けたジョブに含まれる前記Map処理の関連度を算出し、
前記分散処理指示部は、前記Map処理の関連度に基づいて、前記Map処理を複数の処理ノードに対して分散指示する
分散処理制御装置。
(付記9)
処理を受け付け、
受け付けた処理の関連度を取得し、
取得した前記処理の関連度に基づいて、受け付けた前記処理を複数の処理ノードに対して分散指示する
分散処理制御方法。
(付記9−1)
付記9に記載の分散処理制御方法であって、
前記複数の処理ノードに対して分散指示する際にある処理ノードに対して複数の処理を指示する場合、前記関連度に基づいて選択した前記複数の処理を集約した処理を指示する
分散処理制御方法。
(付記9−2)
付記9又は9−1に記載の分散処理制御方法であって、
処理を実行する際に必要となる処理ノードの数が処理を実行可能な処理ノードの数よりも大きい場合、前記関連度に基づいて選択した複数の処理を集約し、当該集約した処理を含む処理を前記複数の処理ノードに対して分散指示する
分散処理制御方法。
(付記10)
分散処理制御装置に、
処理を受け付ける処理受付手段と、
前記処理受付手段が受け付けた処理の関連度を取得する関連度取得手段と、
前記関連度取得手段が取得した処理の関連度に基づいて、前記処理受付手段が受け付けた処理を複数の処理ノードに対して分散指示する分散処理指示手段と、
を実現させるための
プログラム。
(付記10−1)
付記10に記載のプログラムであって、
前記分散処理指示手段は、前記複数の処理ノードに対して分散指示する際にある処理ノードに対して複数の処理を指示する場合、前記関連度に基づいて選択した前記複数の処理を集約した処理を指示する
プログラム。
(付記10−2)
付記10又は10−1に記載のプログラムであって、
前記分散処理指示手段は、前記処理受付手段が受け付けた処理を実行する際に必要となる処理ノードの数が処理を実行可能な処理ノードの数よりも大きい場合、前記関連度に基づいて選択した複数の処理を集約し、当該集約した処理を含む処理を前記複数の処理ノードに対して分散指示する
プログラム。
なお、上記各実施形態及び付記において記載したプログラムは、記憶装置に記憶されていたり、コンピュータが読み取り可能な記録媒体に記録されていたりする。例えば、記録媒体は、フレキシブルディスク、光ディスク、光磁気ディスク、及び、半導体メモリ等の可搬性を有する媒体である。
以上、上記各実施形態を参照して本願発明を説明したが、本願発明は、上述した実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明の範囲内で当業者が理解しうる様々な変更をすることが出来る。
1、2 分散処理計画ノード
11 処理受付部
12 関連度解析部
13 実行計画生成部
14 分散処理命令部
15 処理情報
16 処理関連度情報
21 ノード信頼度情報
3 分散処理制御装置
31 処理受付部
32 関連度取得部
33 分散処理指示部

Claims (10)

  1. 処理を受け付ける処理受付部と、
    前記処理受付部が受け付けた処理の関連度を取得する関連度取得部と、
    前記関連度取得部が取得した処理の関連度に基づいて、前記処理受付部が受け付けた処理を複数の処理ノードに対して分散指示する分散処理指示部と、
    を有する
    分散処理制御装置。
  2. 請求項1に記載の分散処理制御装置であって、
    前記分散処理指示部は、前記複数の処理ノードに対して分散指示する際にある処理ノードに対して複数の処理を指示する場合、前記関連度に基づいて選択した前記複数の処理を集約した処理を指示する
    分散処理制御装置。
  3. 請求項1又は2に記載の分散処理制御装置であって、
    前記分散処理指示部は、前記処理受付部が受け付けた処理を実行する際に必要となる処理ノードの数が処理を実行可能な処理ノードの数よりも大きい場合、前記関連度に基づいて選択した複数の処理を集約し、当該集約した処理を含む処理を前記複数の処理ノードに対して分散指示する
    分散処理制御装置。
  4. 請求項3に記載の分散処理制御装置であって、
    前記分散処理指示部は、前記集約した処理を含む処理の関連度である集約後関連度を算出し、当該算出した集約後関連度に基づいて前記集約した処理を含む処理から選択した複数の処理を再度集約し、当該再度集約した処理を含む処理を前記複数の処理ノードに対して分散指示する
    分散処理制御装置。
  5. 請求項1乃至4のいずれかに記載の分散処理制御装置であって、
    前記分散処理指示部は、前記処理受付部が受け付けた処理を実行する際に必要となる処理ノードの数が処理を実行可能な処理ノードの数よりも小さい場合、前記関連度に基づいて選択した処理の一部を分割し、当該分割した処理を含む処理を前記複数の処理ノードに対して分散指示する
    分散処理制御装置。
  6. 請求項5に記載の分散処理制御装置であって、
    前記分散処理指示部は、前記分割した処理を含む処理の関連度である分割後関連度を算出し、当該算出した分割後関連度に基づいて前記分割した処理を含む処理から選択した処理の一部を再度分割し、当該再度分割した処理を含む処理を前記複数の処理ノードに対して分散指示する
    分散処理制御装置。
  7. 請求項1乃至6のいずれかに記載の分散処理制御装置であって、
    前記分散処理指示部は、処理ノードに対する信頼度を示す信頼度情報を取得し、前記関連度と、前記信頼度情報と、に基づいて、前記処理受付部が受け付けた処理を複数の処理ノードに対して分散指示する
    分散処理制御装置。
  8. 請求項1乃至7のいずれかに記載の分散処理制御装置であって、
    前記処理受付部は、キーとバリューのペアを生成するMap処理を伴う一連の処理であるジョブを受け付けることで、当該受け付けたジョブに含まれる前記Map処理を受け付け、
    前記関連度取得部は、前記処理受付部が単位時間あたりに受け付けたジョブに含まれる前記Map処理の関連度を算出し、
    前記分散処理指示部は、前記Map処理の関連度に基づいて、前記Map処理を複数の処理ノードに対して分散指示する
    分散処理制御装置。
  9. 処理を受け付け、
    受け付けた処理の関連度を取得し、
    取得した前記処理の関連度に基づいて、受け付けた前記処理を複数の処理ノードに対して分散指示する
    分散処理制御方法。
  10. 分散処理制御装置に、
    処理を受け付ける処理受付手段と、
    前記処理受付手段が受け付けた処理の関連度を取得する関連度取得手段と、
    前記関連度取得手段が取得した処理の関連度に基づいて、前記処理受付手段が受け付けた処理を複数の処理ノードに対して分散指示する分散処理指示手段と、
    を実現させるための
    プログラム。

JP2015052264A 2015-03-16 2015-03-16 分散処理制御装置 Active JP6547342B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015052264A JP6547342B2 (ja) 2015-03-16 2015-03-16 分散処理制御装置
US15/057,304 US10503560B2 (en) 2015-03-16 2016-03-01 Distributed processing control device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015052264A JP6547342B2 (ja) 2015-03-16 2015-03-16 分散処理制御装置

Publications (2)

Publication Number Publication Date
JP2016173643A true JP2016173643A (ja) 2016-09-29
JP6547342B2 JP6547342B2 (ja) 2019-07-24

Family

ID=56923835

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015052264A Active JP6547342B2 (ja) 2015-03-16 2015-03-16 分散処理制御装置

Country Status (2)

Country Link
US (1) US10503560B2 (ja)
JP (1) JP6547342B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020526849A (ja) * 2017-07-20 2020-08-31 シーメンス アクチエンゲゼルシヤフトSiemens Aktiengesellschaft ブロックチェーンの監視

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210023073A (ko) 2019-08-22 2021-03-04 삼성전자주식회사 전자장치 및 그 제어방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005310120A (ja) * 2004-03-23 2005-11-04 Hitachi Ltd 計算機システム及びタスク割当方法
JP2012079242A (ja) * 2010-10-05 2012-04-19 Fujitsu Ltd 複合イベント分散装置、複合イベント分散方法および複合イベント分散プログラム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100205075A1 (en) * 2009-02-11 2010-08-12 Yahoo! Inc. Large-scale item affinity determination using a map reduce platform
JP2010218307A (ja) 2009-03-17 2010-09-30 Hitachi Ltd 分散計算制御装置及び方法
US8321870B2 (en) * 2009-08-14 2012-11-27 General Electric Company Method and system for distributed computation having sub-task processing and sub-solution redistribution
JP5478526B2 (ja) 2011-01-31 2014-04-23 日本電信電話株式会社 データ分析及び機械学習処理装置及び方法及びプログラム
US9137304B2 (en) 2011-05-25 2015-09-15 Alcatel Lucent Method and apparatus for achieving data security in a distributed cloud computing environment
US20130219394A1 (en) * 2012-02-17 2013-08-22 Kenneth Jerome GOLDMAN System and method for a map flow worker
JP5853866B2 (ja) * 2012-06-05 2016-02-09 富士通株式会社 割当プログラム、割当装置、および割当方法
US9471390B2 (en) * 2013-01-16 2016-10-18 International Business Machines Corporation Scheduling mapreduce jobs in a cluster of dynamically available servers
CN103970604B (zh) * 2013-01-31 2017-05-03 国际商业机器公司 基于MapReduce架构实现图处理的方法和装置
US9424274B2 (en) * 2013-06-03 2016-08-23 Zettaset, Inc. Management of intermediate data spills during the shuffle phase of a map-reduce job

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005310120A (ja) * 2004-03-23 2005-11-04 Hitachi Ltd 計算機システム及びタスク割当方法
JP2012079242A (ja) * 2010-10-05 2012-04-19 Fujitsu Ltd 複合イベント分散装置、複合イベント分散方法および複合イベント分散プログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020526849A (ja) * 2017-07-20 2020-08-31 シーメンス アクチエンゲゼルシヤフトSiemens Aktiengesellschaft ブロックチェーンの監視

Also Published As

Publication number Publication date
JP6547342B2 (ja) 2019-07-24
US10503560B2 (en) 2019-12-10
US20160274954A1 (en) 2016-09-22

Similar Documents

Publication Publication Date Title
US10356167B1 (en) Workload profiling
JP2015529367A5 (ja)
US8898422B2 (en) Workload-aware distributed data processing apparatus and method for processing large data based on hardware acceleration
KR101671184B1 (ko) 매니코어 시스템에서 응용 프로그램의 상태를 동적으로 재구성하는 장치 및 방법
US9374287B2 (en) Managing processing branches in an operator graph
CN109726004B (zh) 一种数据处理方法及装置
JP2012118669A (ja) 負荷分散処理システム及び負荷分散処理方法
US10866838B2 (en) Cluster computing service assurance apparatus and method
Huang et al. Novel heuristic speculative execution strategies in heterogeneous distributed environments
JP2016173643A (ja) 分散処理制御装置
KR101212497B1 (ko) 컴퓨팅 장치에서 수행되는 자원 모니터링 방법 및 컴퓨팅 장치
KR20140103805A (ko) 데이터 분배 방법 및 장치
US9529688B2 (en) Performance evaluation device and performance evaluation method
JP2011141703A (ja) 資源配置システム、資源配置方法、及び資源配置用プログラム
US20180081581A1 (en) Device and method for determining data placement destination, and program recording medium
Azumah et al. Hybrid cloud service selection strategies: a qualitative meta-analysis
CN110069319A (zh) 一种面向朵云资源管理的多目标虚拟机调度方法及系统
KR20170062235A (ko) 서비스 처리 시스템 및 방법
KR20120069364A (ko) 멀티코어 환경에서 코어별 처리 능력 및 전력량을 고려한 프레임 처리장치 및 방법
US9626231B2 (en) Database dispatcher
CN109669668B (zh) 一种系统性能测试中实现模拟交易执行的方法和装置
Li et al. Scalability and performance analysis of BDPS in clouds
KR20130099351A (ko) 디스크 캐쉬 효과를 극대화하는 워크플로우 작업 스케줄링 장치 및 방법
JP7084894B2 (ja) リソース管理システム、リソース割当方法
US10296493B2 (en) Distributed data processing system and distributed data processing method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180206

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180912

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180925

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181101

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20190205

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190424

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

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20190508

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190528

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190610

R150 Certificate of patent or registration of utility model

Ref document number: 6547342

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150