JP2015170054A - タスク割当プログラム、タスク実行プログラム、タスク割当装置、タスク実行装置およびタスク割当方法 - Google Patents
タスク割当プログラム、タスク実行プログラム、タスク割当装置、タスク実行装置およびタスク割当方法 Download PDFInfo
- Publication number
- JP2015170054A JP2015170054A JP2014043333A JP2014043333A JP2015170054A JP 2015170054 A JP2015170054 A JP 2015170054A JP 2014043333 A JP2014043333 A JP 2014043333A JP 2014043333 A JP2014043333 A JP 2014043333A JP 2015170054 A JP2015170054 A JP 2015170054A
- Authority
- JP
- Japan
- Prior art keywords
- processing
- task
- processing task
- reduce
- 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.)
- Granted
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)
Abstract
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 (10)
- 第1のサーバ装置に、
複数の第2のサーバ装置夫々に第1の処理を割り当て、
前記複数の第2のサーバ装置夫々に割り当てる、第1の処理タスクの実行結果を用いて実行される第2の処理タスクに関連する前記第1の処理タスクの完了通知を受信した場合に、前記第2の処理タスクの処理量を見積もり、
前記第2の処理タスクを割り当てる前記第2のサーバ装置に、見積もった前記処理量に関連した情報を送信する、
処理を実行させることを特徴とするタスク割当プログラム。 - 前記見積もる処理は、前記第1の処理タスクの完了通知に含まれる、当該第1の処理タスクに関連する前記第2の処理タスクのデータ量に基づいて、前記データ量が所定値以上である前記第2の処理タスクを検出し、
前記送信する処理は、前記検出された第2の処理タスクを割り当てる前記第2のサーバ装置に、当該第2の処理タスクの処理方法を変更する指示を送信することを特徴とする請求項1に記載のタスク割当プログラム。 - 前記見積もる処理は、全第1の処理タスクにおける所定の割合のタスクが終了した場合、または、最初の第1の処理タスクが終了してから所定時間が経過した場合に、前記第2の処理タスクの処理量を見積もることを特徴とする請求項1または2に記載のタスク割当プログラム。
- 第1のサーバ装置に、
第1の処理タスクの実行結果を用いる第2の処理タスクを前記第1のサーバ装置に割り当てる第2のサーバ装置から、前記第2の処理タスクに処理量に関連した情報を受信し、
前記第2のサーバ装置から割り当てられた前記第2の処理タスクを実行する際に、前記関連した情報に応じて、前記第2の処理タスクの処理方法を変更する
処理を実行させることを特徴とするタスク実行プログラム。 - 前記第2のサーバ装置に割り当てられた前記第1の処理タスクの実行が完了した場合に、完了した前記第1の処理タスクに関連する第2の処理タスクの処理量を含む完了結果を前記第2のサーバ装置に送信する処理を、前記第1のサーバ装置にさらに実行させることを特徴とする請求項4に記載のタスク実行プログラム。
- 前記変更する処理は、前記第1のサーバ装置が有するプロセッサの数、ディスクの数、予め指定された数の少なくとも1つを用いて、前記割り当てられた前記第2の処理タスクをサブタスクに分割して、複数のプロセッサで並列実行させることを特徴とする請求項4または5に記載のタスク実行プログラム。
- 前記変更する処理は、新たに割り当てられた第2の処理タスクについて、前記第1のサーバ装置から受信した前記第2の処理タスクの処理量に関連した情報に基づいて前記サブタスクに分割すると判定した場合に、分割されずに既に実行される第2の処理タスクの実行を中止して、新たに割り当てられた第2の処理タスクの実行を開始させることを特徴とする請求項6に記載のタスク実行プログラム。
- 複数のサーバ装置夫々に第1の処理を割り当てる第1割当部と、
複数のサーバ装置夫々に割り当てる、前記第1の処理タスクの実行結果を用いて実行される第2の処理タスクに関連する前記第1の処理タスクの完了通知を受信した場合に、前記第2の処理タスクの処理量を見積もる見積り実行部と、
前記第2の処理タスクを割り当てる前記サーバ装置に、見積もった前記処理量に関連した情報を送信する送信部と
を有することを特徴とするタスク割当装置。 - 第1の処理タスクの実行結果を用いる第2の処理タスクを割り当てるサーバ装置から、前記第2の処理タスクに処理量に関連した情報を受信する受信部と、
前記サーバ装置から割り当てられた前記第2の処理タスクを実行する際に、前記関連した情報に応じて、前記第2の処理タスクの処理方法を変更する変更部と
を有することを特徴とするタスク実行装置。 - 第1のサーバ装置が、
複数の第2のサーバ装置夫々に第1の処理を割り当て、
前記複数の第2のサーバ装置夫々に割り当てる、前記第1の処理タスクの実行結果を用いて実行される第2の処理タスクに関連する前記第1の処理タスクの完了通知を受信した場合に、前記第2の処理タスクの処理量を見積もり、
前記第2の処理タスクを割り当てる前記第2のサーバ装置に、見積もった前記処理量に関連した情報を送信する、
処理を含んだことを特徴とするタスク割当方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014043333A JP6357807B2 (ja) | 2014-03-05 | 2014-03-05 | タスク割当プログラム、タスク実行プログラム、マスタサーバ、スレーブサーバおよびタスク割当方法 |
EP15156783.1A EP2916221A1 (en) | 2014-03-05 | 2015-02-26 | Task assignment |
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 |
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 true JP2015170054A (ja) | 2015-09-28 |
JP6357807B2 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 | 上海商汤科技开发有限公司 | 一种任务分发系统、方法、装置、计算机设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012118669A (ja) * | 2010-11-30 | 2012-06-21 | Ntt Docomo Inc | 負荷分散処理システム及び負荷分散処理方法 |
WO2013024597A1 (ja) * | 2011-08-15 | 2013-02-21 | 日本電気株式会社 | 分散処理管理装置及び分散処理管理方法 |
JP2013254280A (ja) * | 2012-06-05 | 2013-12-19 | Fujitsu Ltd | 割当プログラム、割当装置、および割当方法 |
WO2014020735A1 (ja) * | 2012-08-02 | 2014-02-06 | 富士通株式会社 | データ処理方法、情報処理装置およびプログラム |
Family Cites Families (8)
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 |
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 |
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 |
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 US US14/632,617 patent/US20150254102A1/en not_active Abandoned
- 2015-02-26 EP EP15156783.1A patent/EP2916221A1/en not_active Withdrawn
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012118669A (ja) * | 2010-11-30 | 2012-06-21 | Ntt Docomo Inc | 負荷分散処理システム及び負荷分散処理方法 |
WO2013024597A1 (ja) * | 2011-08-15 | 2013-02-21 | 日本電気株式会社 | 分散処理管理装置及び分散処理管理方法 |
JP2013254280A (ja) * | 2012-06-05 | 2013-12-19 | Fujitsu Ltd | 割当プログラム、割当装置、および割当方法 |
WO2014020735A1 (ja) * | 2012-08-02 | 2014-02-06 | 富士通株式会社 | データ処理方法、情報処理装置およびプログラム |
Also Published As
Publication number | Publication date |
---|---|
US20150254102A1 (en) | 2015-09-10 |
EP2916221A1 (en) | 2015-09-09 |
JP6357807B2 (ja) | 2018-07-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6519111B2 (ja) | データ処理制御方法、データ処理制御プログラムおよびデータ処理制御装置 | |
US9027028B2 (en) | Controlling the use of computing resources in a database as a service | |
JP5954074B2 (ja) | 情報処理方法、情報処理装置、及びプログラム。 | |
JP6233413B2 (ja) | タスク割り当て判定装置、制御方法、及びプログラム | |
JP6357807B2 (ja) | タスク割当プログラム、タスク実行プログラム、マスタサーバ、スレーブサーバおよびタスク割当方法 | |
KR102372424B1 (ko) | 원격 직접 메모리 접근을 통한 분산 처리 장치 및 그 방법 | |
KR20160087706A (ko) | 가상화 플랫폼을 고려한 분산 데이터 처리 시스템의 자원 할당 장치 및 할당 방법 | |
WO2012105056A1 (ja) | 並列分散処理システムのデータ転送制御方法、並列分散処理システム及び記憶媒体 | |
JP6468499B2 (ja) | 分散コンピューティングアーキテクチャ | |
JP2017037492A (ja) | 分散処理プログラム、分散処理方法および分散処理装置 | |
Kurazumi et al. | Dynamic processing slots scheduling for I/O intensive jobs of Hadoop MapReduce | |
Garala et al. | A performance analysis of load balancing algorithms in cloud environment | |
JP2016004328A (ja) | タスク割当プログラム、タスク割当方法およびタスク割当装置 | |
US10164904B2 (en) | Network bandwidth sharing in a distributed computing system | |
US10824425B2 (en) | Selecting destination for processing management instructions based on the processor buffer size and uncompleted management instructions | |
JP5549189B2 (ja) | 仮想マシン管理装置、仮想マシン管理方法、及び仮想マシン管理プログラム | |
JP2017191387A (ja) | データ処理プログラム、データ処理方法およびデータ処理装置 | |
US10824640B1 (en) | Framework for scheduling concurrent replication cycles | |
KR101639947B1 (ko) | 하둡 선점 데드라인 제약 스케줄링 방법 및 그 방법을 수행하는 컴퓨터프로그램과, 그 프로그램이 기록된 매체 | |
CN107529696B (zh) | 一种存储资源访问控制方法及装置 | |
Nzanywayingoma et al. | Task scheduling and virtual resource optimising in Hadoop YARN-based cloud computing environment | |
CN111459649B (zh) | 管理计算资源的存储器的方法、设备和计算机可读介质 | |
Liu et al. | Cooperative job scheduling and data allocation for busy data-intensive parallel computing clusters | |
JP5354007B2 (ja) | 分散処理システム、インタフェース、記憶装置、分散処理方法、分散処理プログラム | |
JP6657703B2 (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 |