JP6357807B2 - タスク割当プログラム、タスク実行プログラム、マスタサーバ、スレーブサーバおよびタスク割当方法 - Google Patents
タスク割当プログラム、タスク実行プログラム、マスタサーバ、スレーブサーバおよびタスク割当方法 Download PDFInfo
- Publication number
- JP6357807B2 JP6357807B2 JP2014043333A JP2014043333A JP6357807B2 JP 6357807 B2 JP6357807 B2 JP 6357807B2 JP 2014043333 A JP2014043333 A JP 2014043333A JP 2014043333 A JP2014043333 A JP 2014043333A JP 6357807 B2 JP6357807 B2 JP 6357807B2
- Authority
- JP
- Japan
- Prior art keywords
- task
- processing
- reduce
- map
- reduce processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
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
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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/5066—Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Computer And Data Communications (AREA)
Description
図1は、実施例1に係る分散処理システムの全体構成例を示す図である。図1に示すように、この分散処理システムは、入出力DB(DataBase)サーバ2、マスタサーバ10、複数のスレーブサーバ30がネットワーク1を介して互いに通信可能に接続される。
図2は、実施例1に係るマスタサーバの機能構成を示す機能ブロック図である。図2に示すように、マスタサーバ10は、通信制御部11と、記憶部12と、制御部13とを有する。
図6は、実施例1に係るスレーブサーバの機能構成を示す機能ブロック図である。図6に示すように、スレーブサーバ30は、通信制御部31と、記憶部32と、制御部33とを有する。
ここで、スレーブサーバ30が実行するMap処理について説明する。図7は、Map処理を説明する図である。図7に示すように、各スレーブサーバ30は、入力データとして「Hello Apple!」と「Apple is red」を受信し、それぞれの入力データに対してMap処理を実行して、「Key、Value」のペアを出力する。
次に、スレーブサーバ30が実行するShuffle処理について説明する。図8は、Shuffle処理を説明する図である。図8に示すように、各スレーブサーバ30は、各スレーブサーバからMap処理結果を取得してShuffle処理を実行する。
次に、スレーブサーバ30が実行するReduce処理について説明する。図9は、Reduce処理を説明する図である。図9に示すように、各スレーブサーバ30は、各スレーブサーバのMap処理結果から生成したShuffle結果を用いて、Reduce処理を実行する。具体的には、Shuffle処理の説明と同様、スレーブサーバ(D)には、「Apple」と「Hello」についてのReduce処理タスクが割当てられて、スレーブサーバ(Z)には、「is」と「red」についてのReduce処理タスクが割当てられたとする。
次に、マスタサーバ10がMap処理結果からReduce処理タスクにフラグを設定する例を説明する。図10は、Reduce処理タスクの処理量を予測してフラグを設定する処理を説明する図である。この図10は、マスタサーバ10が保持するタスクリストを示している。
図11は、実施例1に係るマスタサーバが実行する処理の流れを示すフローチャートである。図11に示すように、マスタサーバ10は、管理者等から登録されるジョブ登録の情報にしたがって、ジョブリストDB12aにジョブリストやタスクリストDB12bにタスクリストを追加する(S101)。
図12は、マスタサーバが実行する該当タスクの完了処理の流れを示すフローチャートである。この処理は、図11のS106で実行される処理である。
図13は、実施例1に係るスレーブサーバが実行する処理の流れを示すフローチャートである。図13に示すように、スレーブサーバ30は、マスタサーバ10に、ハートビートでタスク要求を送信する(S301)。
図14は、スレーブサーバが実行するReduce処理タスクの起動処理の流れを示すフローチャートである。図14に示すように、フラグ判定部38は、Reduce受信部37が受信したReduce処理タスクにフラグ「true」が付加されているか否かを判定する(S401)。
図15は、スレーブサーバが実行するReduce処理タスクの分割処理の流れを示すフローチャートである。図15に示すように、スレーブサーバ30のReduce処理部39は、自サーバ内におけるスレーブの受け入れ可能スロット数を「S」と設定する(S501)。
マスタサーバ10は、所定値以上の処理データ量であるReduce処理タスクをフラグ対象として決定する例を説明したが、これに限定されず、様々な判断基準で決定することができる。
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともできる。あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
次に、各サーバのハードウェア構成例を説明するが、各サーバは同様の構成を有するので、ここでは一例を説明する。図18は、サーバのハードウェア構成例を示す図である。図17に示すように、サーバ100は、通信インタフェース101、メモリ102、複数のHDD(ハードディスクドライブ)103、プロセッサ装置104を有する。
11 通信制御部
12 記憶部
12a ジョブリストDB
12b タスクリストDB
13 制御部
14 Map割当部
15 予測部
16 Reduce割当部
30 スレーブサーバ
31 通信制御部
32 記憶部
32a 一時ファイルDB
32b 入出力ファイルDB
33 制御部
34 Map処理部
35 Map結果送信部
36 Shuffle処理部
37 Reduce受信部
38 フラグ判定部
39 Reduce処理部
Claims (9)
- 複数のMap処理タスクを含むMap処理および複数のReduce処理タスクを含むReduce処理を含むMapReduce処理の各タスクを複数のスレーブサーバに割当てるマスタサーバに、
前記複数のスレーブサーバ夫々に、前記複数のMap処理タスクを割り当て、
前記複数のMap処理タスクの全部が完了する前に、対象となる複数のMap処理タスクの実行結果を用いる前記複数のReduce処理タスク夫々が処理対象とするデータ量を、処理が完了した各Map処理タスクから送信される実行結果に含まれるデータ量に基づいて予測し、 前記複数のReduce処理タスクを前記複数のスレーブサーバ夫々に割当てる際に、予測された前記データ量が閾値を超えるReduce処理タスクである高負荷Reduce処理タスクを割当てるスレーブサーバに、前記高負荷Reduce処理タスクの分散処理を指示する、
処理を実行させることを特徴とするタスク割当プログラム。 - 前記予測する処理は、全Map処理タスクにおける所定の割合の処理が終了した場合、または、最初のMap処理タスクが終了してから所定時間が経過した場合に、前記複数のReduce処理タスク夫々のデータ量を予測することを特徴とする請求項1に記載のタスク割当プログラム。
- 複数のMap処理タスクを含むMap処理および複数のReduce処理タスクを含むReduce処理を含むMapReduce処理の各タスクを実行するスレーブサーバに、
前記各タスクの割当てを実行するマスタサーバからReduce処理タスクが割当てられた場合に、当該Reduce処理タスクが分散処理の実行指示が付された高負荷Reduce処理タスクであるか否かを判定し、
前記高負荷Reduce処理タスクであると判定された場合、前記高負荷Reduce処理タスクを分散処理で実行し、前記高負荷Reduce処理タスクではない通常のReduce処理タスクと判定された場合、前記通常のReduce処理タスクを分散させずに実行する
処理を実行させることを特徴とするタスク実行プログラム。 - 前記マスタサーバから割り当てられた前記Map処理タスクの実行が完了した場合に、完了した前記Map処理タスクの処理結果を用いるReduce処理タスクに関するデータ量を含む完了結果を前記マスタサーバに送信する処理を、前記スレーブサーバにさらに実行させることを特徴とする請求項3に記載のタスク実行プログラム。
- 前記実行する処理は、前記スレーブサーバが有するプロセッサの数、ディスクの数、予め指定された数の少なくとも1つを用いて、前記高負荷Reduce処理タスクをサブタスクに分割して、複数のプロセッサで並列実行させることを特徴とする請求項3または4に記載のタスク実行プログラム。
- 前記実行する処理は、前記高負荷Reduce処理タスクではない通常のReduce処理タスクの実行中に前記高負荷Reduce処理タスクが割当てられた場合、前記通常のReduce処理タスクの実行を中止して、前記高負荷Reduce処理タスクを前記サブタスクに分割して実行することを特徴とする請求項5に記載のタスク実行プログラム。
- 複数のMap処理タスクを含むMap処理および複数のReduce処理タスクを含むReduce処理を含むMapReduce処理の各タスクを複数のスレーブサーバに割当てるマスタサーバにおいて、
前記複数のスレーブサーバ夫々に、前記複数のMap処理タスクを割り当てる割当部と、
前記複数のMap処理タスクの全部が完了する前に、対象となる複数のMap処理タスクの実行結果を用いる前記複数のReduce処理タスク夫々が処理対象とするデータ量を、処理が完了した各Map処理タスクから送信される実行結果に含まれるデータ量に基づいて予測する予測部と、
前記複数のReduce処理タスクを前記複数のスレーブサーバ夫々に割当てる際に、予測された前記データ量が閾値を超えるReduce処理タスクである高負荷Reduce処理タスクを割当てるスレーブサーバに、前記高負荷Reduce処理タスクの分散処理を指示する送信部と
を有することを特徴とするマスタサーバ。 - 複数のMap処理タスクを含むMap処理および複数のReduce処理タスクを含むReduce処理を含むMapReduce処理の各タスクを実行するスレーブサーバにおいて、
前記各タスクの割当てを実行するマスタサーバからReduce処理タスクが割当てられた場合に、当該Reduce処理タスクが分散処理の実行指示が付された高負荷Reduce処理タスクであるか否かを判定する判定部と、
前記高負荷Reduce処理タスクであると判定された場合、前記高負荷Reduce処理タスクを分散処理で実行し、前記高負荷Reduce処理タスクではない通常のReduce処理タスクと判定された場合、前記通常のReduce処理タスクを分散させずに実行する処理実行部と
を有することを特徴とするスレーブサーバ。 - 複数のMap処理タスクを含むMap処理および複数のReduce処理タスクを含むReduce処理を含むMapReduce処理の各タスクを複数のスレーブサーバに割当てるマスタサーバが、
前記複数のスレーブサーバ夫々に、前記複数のMap処理タスクを割り当て、
前記複数のMap処理タスクの全部が完了する前に、対象となる複数のMap処理タスクの実行結果を用いる前記複数のReduce処理タスク夫々が処理対象とするデータ量を、処理が完了した各Map処理タスクから送信される実行結果に含まれるデータ量に基づいて予測し、
前記複数のReduce処理タスクを前記複数のスレーブサーバ夫々に割当てる際に、予測された前記データ量が閾値を超えるReduce処理タスクである高負荷Reduce処理タスクを割当てるスレーブサーバに、前記高負荷Reduce処理タスクの分散処理を指示する、
処理を実行することを特徴とするタスク割当方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014043333A JP6357807B2 (ja) | 2014-03-05 | 2014-03-05 | タスク割当プログラム、タスク実行プログラム、マスタサーバ、スレーブサーバおよびタスク割当方法 |
US14/632,617 US20150254102A1 (en) | 2014-03-05 | 2015-02-26 | Computer-readable recording medium, task assignment device, task execution device, and task assignment method |
EP15156783.1A EP2916221A1 (en) | 2014-03-05 | 2015-02-26 | Task assignment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014043333A JP6357807B2 (ja) | 2014-03-05 | 2014-03-05 | タスク割当プログラム、タスク実行プログラム、マスタサーバ、スレーブサーバおよびタスク割当方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015170054A JP2015170054A (ja) | 2015-09-28 |
JP6357807B2 true JP6357807B2 (ja) | 2018-07-18 |
Family
ID=52596790
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014043333A Expired - Fee Related JP6357807B2 (ja) | 2014-03-05 | 2014-03-05 | タスク割当プログラム、タスク実行プログラム、マスタサーバ、スレーブサーバおよびタスク割当方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20150254102A1 (ja) |
EP (1) | EP2916221A1 (ja) |
JP (1) | JP6357807B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9513957B2 (en) * | 2013-05-21 | 2016-12-06 | Hitachi, Ltd. | Management system, management program, and management method |
WO2017212504A1 (en) | 2016-06-06 | 2017-12-14 | Hitachi, Ltd. | Computer system and method for task assignment |
CN108965362B (zh) * | 2017-05-19 | 2023-03-24 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、服务器及存储介质 |
CN113094177A (zh) * | 2021-04-21 | 2021-07-09 | 上海商汤科技开发有限公司 | 一种任务分发***、方法、装置、计算机设备及存储介质 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8190610B2 (en) * | 2006-10-05 | 2012-05-29 | Yahoo! Inc. | MapReduce for distributed database processing |
US8726290B2 (en) * | 2008-06-12 | 2014-05-13 | Yahoo! Inc. | System and/or method for balancing allocation of data among reduce processes by reallocation |
US8510538B1 (en) * | 2009-04-13 | 2013-08-13 | Google Inc. | System and method for limiting the impact of stragglers in large-scale parallel data processing |
US8266289B2 (en) * | 2009-04-23 | 2012-09-11 | Microsoft Corporation | Concurrent data processing in a distributed system |
JP2012118669A (ja) * | 2010-11-30 | 2012-06-21 | Ntt Docomo Inc | 負荷分散処理システム及び負荷分散処理方法 |
WO2012144985A1 (en) * | 2011-04-19 | 2012-10-26 | Hewlett-Packard Development Company, L.P. | Scheduling map and reduce tasks of jobs for execution according to performance goals |
JP6176111B2 (ja) * | 2011-08-15 | 2017-08-09 | 日本電気株式会社 | 分散処理管理装置及び分散処理管理方法 |
US10860384B2 (en) * | 2012-02-03 | 2020-12-08 | Microsoft Technology Licensing, Llc | Managing partitions in a scalable environment |
US20130253888A1 (en) * | 2012-03-22 | 2013-09-26 | Microsoft Corporation | One-pass statistical computations |
JP5853866B2 (ja) * | 2012-06-05 | 2016-02-09 | 富士通株式会社 | 割当プログラム、割当装置、および割当方法 |
JP5935889B2 (ja) * | 2012-08-02 | 2016-06-15 | 富士通株式会社 | データ処理方法、情報処理装置およびプログラム |
US9342355B2 (en) * | 2013-06-20 | 2016-05-17 | International Business Machines Corporation | Joint optimization of multiple phases in large data processing |
-
2014
- 2014-03-05 JP JP2014043333A patent/JP6357807B2/ja not_active Expired - Fee Related
-
2015
- 2015-02-26 EP EP15156783.1A patent/EP2916221A1/en not_active Withdrawn
- 2015-02-26 US US14/632,617 patent/US20150254102A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
JP2015170054A (ja) | 2015-09-28 |
EP2916221A1 (en) | 2015-09-09 |
US20150254102A1 (en) | 2015-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA3021963C (en) | Multi-cluster warehouse | |
JP6519111B2 (ja) | データ処理制御方法、データ処理制御プログラムおよびデータ処理制御装置 | |
JP5954074B2 (ja) | 情報処理方法、情報処理装置、及びプログラム。 | |
JP6233413B2 (ja) | タスク割り当て判定装置、制御方法、及びプログラム | |
JP6357807B2 (ja) | タスク割当プログラム、タスク実行プログラム、マスタサーバ、スレーブサーバおよびタスク割当方法 | |
WO2012105056A1 (ja) | 並列分散処理システムのデータ転送制御方法、並列分散処理システム及び記憶媒体 | |
KR102372424B1 (ko) | 원격 직접 메모리 접근을 통한 분산 처리 장치 및 그 방법 | |
Garala et al. | A performance analysis of load Balancing algorithms in Cloud environment | |
JP2017037492A (ja) | 分散処理プログラム、分散処理方法および分散処理装置 | |
US10164904B2 (en) | Network bandwidth sharing in a distributed computing system | |
JP2016004328A (ja) | タスク割当プログラム、タスク割当方法およびタスク割当装置 | |
KR20200080458A (ko) | 클라우드 멀티-클러스터 장치 | |
JP2008226023A (ja) | ジョブ割当装置、及びジョブ割当方法 | |
JP5549189B2 (ja) | 仮想マシン管理装置、仮想マシン管理方法、及び仮想マシン管理プログラム | |
JP2017191387A (ja) | データ処理プログラム、データ処理方法およびデータ処理装置 | |
KR101639947B1 (ko) | 하둡 선점 데드라인 제약 스케줄링 방법 및 그 방법을 수행하는 컴퓨터프로그램과, 그 프로그램이 기록된 매체 | |
US11893417B2 (en) | Process request management apparatus, process request management method and program | |
Nzanywayingoma et al. | Task scheduling and virtual resource optimising in Hadoop YARN-based cloud computing environment | |
CN107529696B (zh) | 一种存储资源访问控制方法及装置 | |
JP6445876B2 (ja) | リソース割当装置、リソース割当システム、および、リソース割当方法 | |
Liu et al. | Cooperative job scheduling and data allocation for busy data-intensive parallel computing clusters | |
CN111459649B (zh) | 管理计算资源的存储器的方法、设备和计算机可读介质 | |
Dai et al. | A novel decentralized asynchronous scheduler for Hadoop | |
JP2021012464A (ja) | 切替プログラム、装置、および方法 | |
JP2008004125A (ja) | 負荷制御方法および装置並びにその処理プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20161102 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170821 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170829 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20171030 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180313 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180514 |
|
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: 20180522 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180604 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6357807 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |