JP6519111B2 - データ処理制御方法、データ処理制御プログラムおよびデータ処理制御装置 - Google Patents
データ処理制御方法、データ処理制御プログラムおよびデータ処理制御装置 Download PDFInfo
- Publication number
- JP6519111B2 JP6519111B2 JP2014148139A JP2014148139A JP6519111B2 JP 6519111 B2 JP6519111 B2 JP 6519111B2 JP 2014148139 A JP2014148139 A JP 2014148139A JP 2014148139 A JP2014148139 A JP 2014148139A JP 6519111 B2 JP6519111 B2 JP 6519111B2
- Authority
- JP
- Japan
- Prior art keywords
- reduce
- task
- processing
- key
- map
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
Description
図1は、実施例1に係る分散処理システムの全体構成例を示す図である。図1に示すように、この分散処理システムは、マスタノード30、複数のスレーブノード50がネットワーク1を介して互いに通信可能に接続される。
図3は、Map処理を説明する図である。図3に示すように、各スレーブノード50は、入力データとして「Hello Apple!」と「Apple is red」を受信し、それぞれの入力データに対してMap処理を実行して、「キー、Value」のペアを出力する。
図4は、Shuffle処理を説明する図である。図4に示すように、各スレーブノード50は、各スレーブノードからMap処理結果を取得してShuffle処理を実行する。
次に、スレーブノード50が実行するReduce処理について説明する。図5は、Reduce処理を説明する図である。図5に示すように、各スレーブノード50は、各スレーブノードのMap処理結果から生成したShuffle結果を用いて、Reduce処理を実行する。具体的には、Shuffle処理の説明と同様、スレーブノード(D)には、「Apple」と「Hello」についてのReduce処理タスクが割当てられて、スレーブノード(Z)には、「is」と「red」についてのReduce処理タスクが割当てられたとする。
図6は、管理サーバの機能構成を示す機能ブロック図である。図6に示すように、管理サーバ10は、通信制御部11、記憶部12、制御部15を有する。
図9は、マスタノードの機能構成を示す機能ブロック図である。図9に示すように、マスタノード30は、通信制御部31、記憶部32、制御部40を有する。
図12は、スレーブノードの機能構成を示す機能ブロック図である。図12に示すように、スレーブノード50は、通信制御部51と、記憶部52と、制御部60とを有する。
次に、本実施例の分散処理システムが実行する処理の流れを説明する。
図14は、パーティションテーブルの生成処理の流れを示すフローチャートである。この処理は、管理サーバ10が実行する。
図15は、キーの振分け先のReduceタスクを決定する処理の流れを示すフローチャートである。この処理は、図14のS104に該当する。
図16は、マスタノードが実行する処理の流れを示すフローチャートである。この処理は、なお、ここで説明する処理の流れはあくまで一例であり、例えば各タスクの割当、Map処理、Reduce処理は、MapReduceの制約の中において矛盾がない範囲内で並列に実行することができる。
図17は、スレーブノードが実行する処理の流れを示すフローチャートである。図17に示すように、スレーブノード50は、マスタノード30に、ハートビートでタスク要求を送信する(S401)。
図18は、Map処理の流れを示すフローチャートである。この処理は、図17のS406で実行される処理である。
上述したように、スレーブノード50は、スペアReduceタスクの数と通常のReduceタスクの数、検出されたキーの情報に基づいて、スペアReduceタスクに対してハッシュ値を用いてスロットに割当てることができる。このため、スレーブノード50は、通信する仕組みを加えることなく、全て一意のReduceタスクにキーを振分けることができる。
上記実施例では、スペアReduceタスクが1つの例で説明したが、これに限定されるものではなく、複数のスペアReduceタスクを有していてもよい。その場合、各スレーブノード50は、スペアReduceタスクの数でハッシュ値の計算を行うことで、システム内で共通のReduceIDを割り当てることができる。
また、上記例では、サンプリング時に含まれなかった主キーをスペアReduceタスクに割り当てる例を説明したが、これは一例であり、割当てを限定するものではない。例えば、算出された割合によって、通常のReduceタスクが割り当てられなかった出現数の少ない主キーがスペアReduceタスクに割り当てられる場合もある。さらに、スペアReduceタスクに割り当てられる主キーは、1つに限られず、2つ以上が割り当てられる場合もある。
上記実施例で説明したスペアReduceタスクに割り当てる入力データ量は、Reduceタスクのいずれよりも小さい例で説明した。ここで、入力データ量とは、例えばレコードの数やペイロードの大きさなどを任意に指定することができ、入力データ量が少ないとは、例えばレコードの数が少ない、ペイロードが小さいなどで判定することができる。
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともできる。あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
次に、各サーバのハードウェア構成例を説明するが、各装置は同様の構成を有するので、ここでは一例を説明する。図21は、装置のハードウェア構成例を示す図である。図21に示すように、装置100は、通信インタフェース101、メモリ102、複数のHDD(ハードディスクドライブ)103、プロセッサ装置104を有する。
11 通信制御部
12 記憶部
13 サンプリング結果テーブル
14 パーティションテーブル
15 制御部
16 サンプリング実行部
17 実行数取得部
18 割合決定部
19 タスク決定部
20 テーブル配布部
30 マスタノード
31 通信制御部
32 記憶部
33 パーティションテーブル
34 ジョブリストDB
35 タスクリストDB
40 制御部
41 配布部
42 Map割当部
43 Reduce割当部
50 スレーブノード
51 通信制御部
52 記憶部
53 パーティションテーブル
54 割当確定テーブル
60 制御部
61 取得部
62 Map処理部
62a Mapアプリ実行部
62b Reduce割当部
63 Reduce処理部
63a Shuffle処理部
63b Reduceアプリ実行部
Claims (4)
- MapReduce処理におけるデータ処理制御方法を実行するコンピュータが、
前記MapReduce処理の処理対象である入力データをサンプリングして得られた各キーの出現数に基づく割当てルールを生成し、
前記割当てルールに含まれる各キー用のタスクとして、Map処理の結果を用いて実行される各第1のReduceタスクを割当て、前記割当てルールに含まれないキー用または事前に取得したキーごとの入力データ量が最も少ないキー用のタスクとして、第2のReduceタスクを割り当て、
前記第2のReduceタスクが前記各第1のReduceタスクのいずれよりも後に開始されるように、前記入力データが割り当てられた前記各第1のReduceタスクおよび前記第2のReduceタスクを、前記MapReduce処理におけるReduce処理を実行するサーバに割り当てる
処理を含んだことを特徴とするデータ処理制御方法。 - 前記割り当てる処理は、前記入力データ量が大きい順に実行されるように、前記各第1のReduceタスクおよび前記第2のReduceタスクの属性を設定することを特徴とする請求項1に記載のデータ処理制御方法。
- MapReduce処理を実行するコンピュータが、
前記MapReduce処理の処理対象である入力データをサンプリングして得られた各キーの出現数に基づく割当てルールを生成し、
前記割当てルールに含まれる各キー用のタスクとして、Map処理の結果を用いて実行される各第1のReduceタスクを割当て、前記割当てルールに含まれないキー用または事前に取得したキーごとの入力データ量が最も少ないキー用のタスクとして、第2のReduceタスクを割り当て、
前記第2のReduceタスクが前記各第1のReduceタスクのいずれよりも後に開始されるように、前記入力データが割り当てられた前記各第1のReduceタスクおよび前記第2のReduceタスクを、前記MapReduce処理におけるReduce処理を実行するサーバに割り当てる
処理を実行させることを特徴とするデータ処理制御プログラム。 - MapReduce処理を実行するデータ処理制御装置において、
前記MapReduce処理の処理対象である入力データをサンプリングして得られた各キーの出現数に基づく割当てルールを生成し、前記割当てルールに含まれる各キー用のタスクとして、Map処理の結果を用いて実行される各第1のReduceタスクを割当て、前記割当てルールに含まれないキー用または事前に取得したキーごとの入力データ量が最も少ないキー用のタスクとして、第2のReduceタスクを割り当てる第1割当部と、
前記第2のReduceタスクが前記各第1のReduceタスクのいずれよりも後に開始されるように、前記第1割当部によって前記入力データが割り当てられた前記各第1のReduceタスクおよび前記第2のReduceタスクを、前記MapReduce処理におけるReduce処理を実行するサーバに割り当てる第2割当部と
を有することを特徴とするデータ処理制御装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014148139A JP6519111B2 (ja) | 2014-07-18 | 2014-07-18 | データ処理制御方法、データ処理制御プログラムおよびデータ処理制御装置 |
US14/790,368 US9535743B2 (en) | 2014-07-18 | 2015-07-02 | Data processing control method, computer-readable recording medium, and data processing control device for performing a Mapreduce process |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014148139A JP6519111B2 (ja) | 2014-07-18 | 2014-07-18 | データ処理制御方法、データ処理制御プログラムおよびデータ処理制御装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016024612A JP2016024612A (ja) | 2016-02-08 |
JP6519111B2 true JP6519111B2 (ja) | 2019-05-29 |
Family
ID=55074658
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014148139A Active JP6519111B2 (ja) | 2014-07-18 | 2014-07-18 | データ処理制御方法、データ処理制御プログラムおよびデータ処理制御装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9535743B2 (ja) |
JP (1) | JP6519111B2 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10831546B2 (en) * | 2017-11-27 | 2020-11-10 | International Business Machines Corporation | Computing task management using tree structures |
US11870840B2 (en) * | 2018-01-12 | 2024-01-09 | Workday, Inc. | Distributed partitioned map reduce using a data fabric |
US10838998B2 (en) * | 2018-03-31 | 2020-11-17 | Insight Services, Inc. | System and methods for evaluating material samples |
CN109947559B (zh) * | 2019-02-03 | 2021-11-23 | 百度在线网络技术(北京)有限公司 | 优化MapReduce计算的方法、装置、设备和计算机存储介质 |
WO2020180291A1 (en) * | 2019-03-04 | 2020-09-10 | Hitachi Vantara Llc | Metadata routing in a distributed system |
US11360821B1 (en) * | 2019-05-17 | 2022-06-14 | Ent. Services Development Corporation Lp | Systems and methods for resource utilization control |
CN113608859A (zh) * | 2021-08-24 | 2021-11-05 | 京东科技控股股份有限公司 | 节点任务的执行方法、装置及存储介质 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010114006A1 (ja) | 2009-03-31 | 2010-10-07 | 日本電気株式会社 | ストレージシステムとストレージアクセス方法とプログラム |
JP5659880B2 (ja) | 2011-03-08 | 2015-01-28 | 富士通株式会社 | 処理装置、分散処理システム、及び処理プログラム |
WO2013153620A1 (ja) * | 2012-04-10 | 2013-10-17 | 株式会社日立製作所 | データ処理システム及びデータ処理方法 |
CN103379114B (zh) * | 2012-04-28 | 2016-12-14 | 国际商业机器公司 | 用于在MapReduce系统中保护隐私数据的方法和装置 |
JP5818263B2 (ja) | 2012-05-10 | 2015-11-18 | 日本電信電話株式会社 | データの分散管理システム及び装置及び方法及びプログラム |
JP5853866B2 (ja) * | 2012-06-05 | 2016-02-09 | 富士通株式会社 | 割当プログラム、割当装置、および割当方法 |
US8924977B2 (en) * | 2012-06-18 | 2014-12-30 | International Business Machines Corporation | Sequential cooperation between map and reduce phases to improve data locality |
JP2014044677A (ja) * | 2012-08-28 | 2014-03-13 | Fujitsu Ltd | 送信制御プログラム、通信ノード、および送信制御方法 |
JP5935622B2 (ja) * | 2012-09-18 | 2016-06-15 | 富士通株式会社 | 情報処理装置,監視装置,情報処理方法,及び監視プログラム |
JP5939123B2 (ja) * | 2012-10-09 | 2016-06-22 | 富士通株式会社 | 実行制御プログラム、実行制御方法および情報処理装置 |
US9268716B2 (en) * | 2012-10-19 | 2016-02-23 | Yahoo! Inc. | Writing data from hadoop to off grid storage |
EP2746941A1 (en) * | 2012-12-20 | 2014-06-25 | Thomson Licensing | Device and method for optimization of data processing in a MapReduce framework |
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架构实现图处理的方法和装置 |
JP2015001828A (ja) * | 2013-06-14 | 2015-01-05 | 富士通株式会社 | 割当プログラム、割当装置および割当方法 |
US8819335B1 (en) * | 2013-08-30 | 2014-08-26 | NXGN Data, Inc. | System and method for executing map-reduce tasks in a storage device |
-
2014
- 2014-07-18 JP JP2014148139A patent/JP6519111B2/ja active Active
-
2015
- 2015-07-02 US US14/790,368 patent/US9535743B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20160019090A1 (en) | 2016-01-21 |
US9535743B2 (en) | 2017-01-03 |
JP2016024612A (ja) | 2016-02-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6519111B2 (ja) | データ処理制御方法、データ処理制御プログラムおよびデータ処理制御装置 | |
US9092266B2 (en) | Scalable scheduling for distributed data processing | |
Rajguru et al. | A comparative performance analysis of load balancing algorithms in distributed system using qualitative parameters | |
JP5664098B2 (ja) | 複合イベント分散装置、複合イベント分散方法および複合イベント分散プログラム | |
JP6233413B2 (ja) | タスク割り当て判定装置、制御方法、及びプログラム | |
CN106326002B (zh) | 资源调度方法、装置及设备 | |
JP6083290B2 (ja) | 分散処理システム | |
JP6172649B2 (ja) | 情報処理装置、プログラム、及び、情報処理方法 | |
JP5121936B2 (ja) | リソース割り当て装置及びリソース割り当てプログラム及び記録媒体及びリソース割り当て方法 | |
Rupprecht et al. | SquirrelJoin: Network-aware distributed join processing with lazy partitioning | |
JP6129290B1 (ja) | 分散計算におけるアプリケーションパラメータ設定およびシステム仕様設定を推奨する方法およびシステム | |
JP2017037492A (ja) | 分散処理プログラム、分散処理方法および分散処理装置 | |
JP6492977B2 (ja) | 並列演算装置、並列演算システム、ノード割当プログラム及びノード割当方法 | |
Hou et al. | Dynamic workload balancing for hadoop mapreduce | |
US20150365474A1 (en) | Computer-readable recording medium, task assignment method, and task assignment apparatus | |
Elshater et al. | A study of data locality in YARN | |
KR101656706B1 (ko) | 고성능 컴퓨팅 환경에서의 작업 분배 시스템 및 방법 | |
US10334028B2 (en) | Apparatus and method for processing data | |
JP6357807B2 (ja) | タスク割当プログラム、タスク実行プログラム、マスタサーバ、スレーブサーバおよびタスク割当方法 | |
JP5879117B2 (ja) | 情報処理システムおよび運用管理方法 | |
WO2017018978A1 (en) | Scheduling jobs in a computing cluster | |
US10824640B1 (en) | Framework for scheduling concurrent replication cycles | |
US20160014198A1 (en) | Information processing apparatus | |
KR101639947B1 (ko) | 하둡 선점 데드라인 제약 스케줄링 방법 및 그 방법을 수행하는 컴퓨터프로그램과, 그 프로그램이 기록된 매체 | |
KR101654969B1 (ko) | 가상화 클러스터 환경에서 네임 노드를 할당하는 방법 및 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170406 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180221 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180227 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180427 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20180925 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20181225 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20190108 |
|
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: 20190326 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190408 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6519111 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |