JP6891399B2 - データ処理プログラム、データ処理方法およびデータ処理装置 - Google Patents
データ処理プログラム、データ処理方法およびデータ処理装置 Download PDFInfo
- Publication number
- JP6891399B2 JP6891399B2 JP2016079154A JP2016079154A JP6891399B2 JP 6891399 B2 JP6891399 B2 JP 6891399B2 JP 2016079154 A JP2016079154 A JP 2016079154A JP 2016079154 A JP2016079154 A JP 2016079154A JP 6891399 B2 JP6891399 B2 JP 6891399B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- processing
- server
- servers
- slave server
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
-
- 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/5083—Techniques for rebalancing the load in a distributed system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1023—Server selection for load balancing based on a hash applied to IP addresses or costs
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
図1は、実施例1にかかるシステムの全体構成例を示す図である。図1に示すように、この分散処理システムは、マスタサーバ10と、スレーブサーバ20やスレーブサーバ30などの複数のスレーブサーバとがインターネットなどのネットワークを介して相互に通信可能に接続される。
次に、実施例1にかかるチャンク割当ての例について説明する。図2は、実施例1にかかるチャンク割当てを説明する図である。図2に示すように、マスタサーバ10のジョブトラッカーは、管理者等から予め指定された分散数等にしたがって、MapタスクやReduceタスクの割当てを決定し、各スレーブサーバのタスクトラッカーにMapタスクを割当てる。
次に、図3を用いて、マスタサーバ10と各スレーブサーバの機能構成について説明する。図3は、実施例1にかかるシステムの機能構成例を示す機能ブロック図である。なお、各スレーブサーバは、同様の構成を有するので、ここでは、スレーブサーバ20を例にして説明する。
図3に示すように、マスタサーバ10は、通信部11、記憶部12、制御部15を有する。通信部11は、有線や無線を問わず、他の装置との通信を制御する処理部である。例えば、通信部11は、各スレーブサーバにタスクの割当情報やデータの配置情報、各種指示などを送信し、各スレーブサーバからタスクの処理結果などを受信する。
図3に示すように、スレーブサーバ20は、通信部21、記憶部22、制御部25を有する。通信部21は、有線や無線を問わず、他の装置との通信を制御する処理部である。例えば、通信部21は、マスタサーバ10からタスクの割当情報やデータの配置指示などを受信し、マスタサーバ10にタスクの処理結果などを送信する。
次に、MapReduce処理後のデータ配置の例について説明する。つまり、MPI処理におけるチャンクの格納について説明する。図4は、データ配置を説明する図である。なお、ここでは入力ファイルの先頭から順にランク0、ランク1、ランク2が割当てられているものとする。また、マスタサーバ10は、入力データの一部から、MPI処理の対象となるファイルのサイズを推定済みであり、当該ファイルのどの領域をどのランク(スレーブサーバ)に割当てるかを決定済みとする。
図5は、システム全体の処理の流れを示すフローチャートである。図5に示すように、マスタサーバ10のタスク割当部16は、処理が開始されると(S101:Yes)、タスク割当を実行して各スレーブサーバにMapタスクやReduceタスクを割当てる(S102)。そして、タスク割当部16は、タスクの割当てが完了すると、タスクの実行を各スレーブサーバに通知する(S103)。
上述したように、分散処理システムは、MPI側の都合に合わせてデータノードを決定するので、遠隔書込みとなる確率が高くなる。なお、遠隔書込みはバッファが十分あれば突き放しにする事が可能で、アプリを待たせることがない。また、分散処理システムは、MPI側の都合に合わせてデータノードを決定するため、従来技術では遠隔読み込みであったのが、ローカル読み込みとなる。また、データの読み込みは、データが届くまでアプリケーションの実行が停止するため影響が大きいので、そのコストが大きく削減される事は、アプリケーションの性能向上に直結する。したがって、マスタサーバ10は、MPI処理におけるデータ読み込みを高速化し、処理効率を向上させることができる。
上記実施例では、MPI処理を例に説明したが、これに限定されるものではなく、他の主成分分析を用いることもできる。また、行列データに限定するものではなく、他の形式のデータでも同様に処理することができる。
例えば、MapReduce処理のアプリで生成したファイルを複数のMPIアプリで入力する場合があり得る。その場合、MPIアプリでのメモリレイアウトが異なり、それぞれに適したチャンクのデータノードへの割り付けが異なる事があり得る。一方、HDFSはデータの安全性の為に、チャンクのコピーを複数持つように設定する事ができる。その機能を利用し、複数のコピー各々を複数のMPIアプリに都合が良いように配置する。ただし、複数のコピーは単一サーバ故障により失われることが無いように、異なるサーバに割り付ける。
上記実施例では、データ変換の比率が1以外を例にして説明したが、MPI処理への入力ファイルのサイズが予め特定できる場合には、データ予測の処理を省略することもできる。また、データ変換の比率が1の場合には、データ予測の処理を省略することもできる。この場合、マスタサーバ10は、MapReduce処理への入力ファイルをランク数で分割して、データ配置を制御することができる。したがって、上記実施例では、MapReduce処理後に、一度データを組み立ててからデータ配置を実行していたが、このデータ組み立てを省略することができるので、より処理効率を向上させることができる。
また、図3に示した各装置の各構成は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、任意の単位で分散または統合して構成することができる。例えば、データ取得部17と配置指示部18を統合するなどすることができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
上記の実施例で説明した各種の処理は、予め用意されたプログラムをコンピュータで実行することで実現できる。そこで、以下では、上記の実施例と同様の機能を有するプログラムを実行するコンピュータの一例を説明する。なお、マスタサーバ10と各スレーブサーバは、同一の構成を有するので、ここではノード100として説明する。図9は、ハードウェア構成例を説明する図である。
11 通信部
12 記憶部
12a ジョブDB
12b MPI設定情報DB
15 制御部
16 タスク割当部
17 データ取得部
18 配置指示部
20 スレーブサーバ
21 通信部
22 記憶部
22a データDB
25 制御部
26 タスク実行部
27 結果配置部
28 MPI実行部
Claims (5)
- コンピュータに、
前記コンピュータと通信可能な複数のサーバのいずれかにより実行される第1の処理によって生成される第1のデータを、前記複数のサーバに分散して記憶させ、
前記第1のデータの少なくとも一部のデータであって前記第1の処理に後続する第2の処理に用いるデータである第2のデータを特定する情報と、前記複数のサーバに含まれるサーバであって前記第2の処理を実行するサーバを特定する情報と、を含むデータ配置情報を生成し、
前記データ配置情報を前記複数のサーバに送信して、前記第2の処理を実行するサーバに前記第2のデータを前記生成したデータ配置情報に基づいて記憶させる
処理を実行させることを特徴とするデータ処理プログラム。 - 前記コンピュータに、
前記第1の処理に入力される入力データの一部のデータに対して前記第1の処理を実行する前のデータ量である入力量と、前記入力データの一部のデータに対して前記第1の処理を実行した後のデータ量である出力量とから、前記入力量に対する前記出力量の比率を測定し、
前記測定した比率と前記入力データのデータ量とを用いて算出される前記第1のデータの全体のデータ量であるサイズを取得する
処理を実行させ、
前記データ配置情報は、前記サイズと、前記複数のサーバの数であるサーバ数とに基づいて生成される、
ことを特徴とする請求項1に記載のデータ処理プログラム。 - 前記第1の処理は、データを分散して処理するMapReduce処理であって、
前記第2の処理は、前記MapReduce処理の処理結果に対して処理するMPI処理である
ことを特徴とする請求項1または2に記載のデータ処理プログラム。 - コンピュータが、
前記コンピュータと通信可能な複数のサーバのいずれかにより実行される第1の処理によって生成される第1のデータを、前記複数のサーバに分散して記憶させ、
前記第1のデータの少なくとも一部のデータであって前記第1の処理に後続する第2の処理に用いるデータである第2のデータを特定する情報と、前記複数のサーバに含まれるサーバであって前記第2の処理を実行するサーバを特定する情報と、を含むデータ配置情報を生成し、
前記データ配置情報を前記複数のサーバに送信して、前記第2の処理を実行するサーバに前記第2のデータを前記生成したデータ配置情報に基づいて記憶させる
処理を実行することを特徴とするデータ処理方法。 - データ処理装置において、
前記データ処理装置と通信可能な複数のサーバのいずれかにより実行される第1の処理によって生成される第1のデータを、前記複数のサーバに分散して記憶させ、
前記第1のデータの少なくとも一部のデータであって前記第1の処理に後続する第2の処理に用いるデータである第2のデータを特定する情報と、前記複数のサーバに含まれるサーバであって前記第2の処理を実行するサーバを特定する情報と、を含むデータ配置情報を生成し、
前記データ配置情報を前記複数のサーバに送信して、前記第2の処理を実行するサーバに前記第2のデータを前記生成したデータ配置情報に基づいて記憶させる、
制御部を有することを特徴とするデータ処理装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016079154A JP6891399B2 (ja) | 2016-04-11 | 2016-04-11 | データ処理プログラム、データ処理方法およびデータ処理装置 |
US15/467,477 US10334028B2 (en) | 2016-04-11 | 2017-03-23 | Apparatus and method for processing data |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016079154A JP6891399B2 (ja) | 2016-04-11 | 2016-04-11 | データ処理プログラム、データ処理方法およびデータ処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017191387A JP2017191387A (ja) | 2017-10-19 |
JP6891399B2 true JP6891399B2 (ja) | 2021-06-18 |
Family
ID=59998942
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016079154A Active JP6891399B2 (ja) | 2016-04-11 | 2016-04-11 | データ処理プログラム、データ処理方法およびデータ処理装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10334028B2 (ja) |
JP (1) | JP6891399B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11616686B1 (en) * | 2017-11-21 | 2023-03-28 | Amazon Technologies, Inc. | Cluster management |
US10997538B1 (en) | 2017-11-21 | 2021-05-04 | Amazon Technologies, Inc. | Resource management |
US20220129329A1 (en) * | 2019-03-29 | 2022-04-28 | Intel Corporation | Technologies for managing data wait barrier operations |
WO2021166228A1 (ja) * | 2020-02-21 | 2021-08-26 | 日本電信電話株式会社 | ネットワーク管理装置、方法およびプログラム |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8429630B2 (en) * | 2005-09-15 | 2013-04-23 | Ca, Inc. | Globally distributed utility computing cloud |
JP5531465B2 (ja) * | 2009-06-30 | 2014-06-25 | 日本電気株式会社 | 情報システム、制御装置、そのデータ処理方法およびプログラム |
JP5331898B2 (ja) * | 2009-11-12 | 2013-10-30 | 富士通株式会社 | 並列計算用の通信方法、情報処理装置およびプログラム |
JP5408442B2 (ja) | 2010-01-21 | 2014-02-05 | 株式会社日立製作所 | 並列分散処理方法、及び、計算機システム |
US9658890B2 (en) | 2010-10-08 | 2017-05-23 | Microsoft Technology Licensing, Llc | Runtime agnostic representation of user code for execution with selected execution runtime |
JP2012118669A (ja) * | 2010-11-30 | 2012-06-21 | Ntt Docomo Inc | 負荷分散処理システム及び負荷分散処理方法 |
CN102567312A (zh) * | 2011-12-30 | 2012-07-11 | 北京理工大学 | 一种基于分布式并行计算框架的机器翻译方法 |
US9262216B2 (en) * | 2012-02-14 | 2016-02-16 | Microsoft Technologies Licensing, LLC | Computing cluster with latency control |
US20140059552A1 (en) * | 2012-08-24 | 2014-02-27 | International Business Machines Corporation | Transparent efficiency for in-memory execution of map reduce job sequences |
CN103491024B (zh) * | 2013-09-27 | 2017-01-11 | 中国科学院信息工程研究所 | 一种面向流式数据的作业调度方法及装置 |
US9571356B2 (en) * | 2013-09-27 | 2017-02-14 | Zettaset, Inc. | Capturing data packets from external networks into high availability clusters while maintaining high availability of popular data packets |
JP2015191428A (ja) * | 2014-03-28 | 2015-11-02 | 日本電信電話株式会社 | 分散データ処理装置、分散データ処理方法及び分散データ処理プログラム |
CN105389619B (zh) * | 2014-08-31 | 2021-08-03 | 通用电气公司 | 用于改进健康护理生态系统内的连接的方法和系统 |
US10015106B1 (en) * | 2015-04-06 | 2018-07-03 | EMC IP Holding Company LLC | Multi-cluster distributed data processing platform |
US10122806B1 (en) * | 2015-04-06 | 2018-11-06 | EMC IP Holding Company LLC | Distributed analytics platform |
US10193753B1 (en) * | 2015-08-31 | 2019-01-29 | EMC IP Holding Company LLC | Automated configuration and deployment of internet of things platforms |
-
2016
- 2016-04-11 JP JP2016079154A patent/JP6891399B2/ja active Active
-
2017
- 2017-03-23 US US15/467,477 patent/US10334028B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US10334028B2 (en) | 2019-06-25 |
JP2017191387A (ja) | 2017-10-19 |
US20170295221A1 (en) | 2017-10-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9720989B2 (en) | Dynamic partitioning techniques for data streams | |
US10574734B2 (en) | Dynamic data and compute management | |
US20200026560A1 (en) | Dynamic workload classification for workload-based resource allocation | |
Mihailescu et al. | {MixApart}: Decoupled Analytics for Shared Storage Systems | |
KR101460062B1 (ko) | 동영상 파일을 하둡 분산 파일 시스템에 분산 저장하는 시스템, 동영상 맵리듀스 시스템 및 그 제공방법 | |
JP6891399B2 (ja) | データ処理プログラム、データ処理方法およびデータ処理装置 | |
US10089313B2 (en) | Conversion of data integration system files | |
US20150128150A1 (en) | Data processing method and information processing apparatus | |
US9535743B2 (en) | Data processing control method, computer-readable recording medium, and data processing control device for performing a Mapreduce process | |
US11151141B2 (en) | Data processing device and data processing method | |
US11442927B1 (en) | Storage performance-based distribution of deduplicated data to nodes within a clustered storage environment | |
KR101656360B1 (ko) | 자동 분산병렬 처리 하둡 시스템을 지원하는 클라우드 시스템 | |
Huang et al. | Achieving load balance for parallel data access on distributed file systems | |
US10057338B2 (en) | Data distribution apparatus, data distribution method, and data distribution program for parallel computing processing system | |
US10048991B2 (en) | System and method for parallel processing data blocks containing sequential label ranges of series data | |
US10579419B2 (en) | Data analysis in storage system | |
US9501485B2 (en) | Methods for facilitating batch analytics on archived data and devices thereof | |
CN110781159B (zh) | Ceph目录文件信息读取方法、装置、服务器及存储介质 | |
US8463886B2 (en) | Method and apparatus for distributed computing, and computer product | |
US20200076681A1 (en) | Volume allocation management apparatus, volume allocation management method, and volume allocation management program | |
US11960939B2 (en) | Management computer, management system, and recording medium | |
US10824640B1 (en) | Framework for scheduling concurrent replication cycles | |
JP6679445B2 (ja) | 情報処理装置、情報処理システム、情報処理プログラムおよび情報処理方法 | |
US11610151B2 (en) | Distribution system, data management apparatus, data management method, and computer-readable recording medium | |
JP5472885B2 (ja) | プログラム、ストリームデータ処理方法及びストリームデータ処理計算機 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190115 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20191029 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20191203 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200203 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200929 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20201130 |
|
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: 20210427 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210510 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6891399 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |