JP2015069518A - 処理の並列化装置、処理の並列化方法及びプログラム - Google Patents
処理の並列化装置、処理の並列化方法及びプログラム Download PDFInfo
- Publication number
- JP2015069518A JP2015069518A JP2013204606A JP2013204606A JP2015069518A JP 2015069518 A JP2015069518 A JP 2015069518A JP 2013204606 A JP2013204606 A JP 2013204606A JP 2013204606 A JP2013204606 A JP 2013204606A JP 2015069518 A JP2015069518 A JP 2015069518A
- Authority
- JP
- Japan
- Prior art keywords
- input
- processing
- processor
- record
- records
- 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
- 238000000034 method Methods 0.000 title claims abstract description 109
- 230000002776 aggregation Effects 0.000 claims abstract description 48
- 238000004220 aggregation Methods 0.000 claims abstract description 48
- 230000004931 aggregating effect Effects 0.000 claims 1
- 238000004891 communication Methods 0.000 description 7
- 238000004590 computer program Methods 0.000 description 2
- 239000006185 dispersion Substances 0.000 description 2
- 241001522296 Erithacus rubecula Species 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000009931 harmful effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
入力レコード分類手段101が、入力レコード41の1レコード目を入力する。1レコード目の内容は、親キー=X、子キー=A、データ=3である。
入力レコード分類手段101が、分散管理テーブル61(図5)を参照し、ステップ31で入力したレコードの子キーが、分散管理テーブル61に存在するか判定する。分散管理テーブルとは、あるプロセッサ111が、あるレコードを対象とする集計処理を行っている場合、そのレコードの子キー及び親キーの情報を、そのプロセッサ111のプロセッサ番号と紐付けて保持する役割を担うテーブルである。いま、分散管理テーブル61には、いずれのプロセッサ111にも、何らの子キーも紐付けられていない。すなわち、ステップ31で入力したレコードの子キー「A」と紐付けられたプロセッサ111は存在しない。これは、この時点で、子キー「A」を有するレコードを処理しているプロセッサ111が1つも存在しないことを意味している。この場合、ステップ34に移行する。
入力レコード分類手段101が、分散管理テーブル61(図5)を参照し、ステップ31で入力したレコードの親キーが、分散管理テーブル61に存在するか判定する。いま、分散管理テーブル61には、いずれのプロセッサ111にも、何らの親キーも紐付けられていない。すなわち、ステップ31で入力したレコードの親キー「X」と紐付けられたプロセッサ111は存在しない。これは、この時点で、親キー「X」を有するレコードを処理しているプロセッサ111が1つも存在しないことを意味している。この場合、ステップ37に移行する。
入力レコード分類手段101は、現時点で最も処理負荷が低いプロセッサ111を1つ選択し、そのプロセッサ111を、ステップ31で入力したレコードの集計処理を行うべきプロセッサとして決定する。なお、最も処理負荷が低いプロセッサ111が複数存在する場合は、その中から任意の1つのプロセッサ111を選択する。例えば、複数のプロセッサ111に予め序列を付与しておき、最も序列の高いプロセッサ111を選択することができる。ここでは、入力レコード分類手段101によりプロセッサ「1」が選択されたものとする。
入力レコード分類手段101が、入力レコード41の2レコード目を入力する。1レコード目の内容は、親キー=X、子キー=A、データ=2である。
入力レコード分類手段101が、現時点の分散管理テーブル62を参照し、2回目の入力レコードの子キー「A」が、分散管理テーブル62に存在するか判定する。いま、分散管理テーブル62では、プロセッサ「1」と子キー「A」が紐付けられている。これは、この時点で、子キー「A」を有するレコードを、プロセッサ「1」が既に処理していることを意味している。この場合、ステップ33に移行する。
入力レコード分類手段101が、2レコード目をプロセッサ「1」で処理すべきことを決定する。これは、同じキーを持つレコードの集計処理は極力同一プロセッサで行う方が、プロセッサ間のデータ通信を削減でき、効率的だからである。
入力レコード分類手段101が、入力レコード41の3レコード目を入力する。3レコード目の内容は、親キー=Y、子キー=B、データ=5である。
入力レコード分類手段101が、現時点の分散管理テーブル63を参照し、3回目の入力レコードの子キー「B」が、分散管理テーブル63に存在するか判定する。この時点で、分散管理テーブル63には該当するレコードがない。これは、子キー「B」を有するレコードを処理しているプロセッサ111は存在しないことを意味している。この場合、ステップ34に移行する。
入力レコード分類手段101が、現時点の分散管理テーブル63を参照し、3回目の入力レコードの親キー「Y」が、分散管理テーブル63に存在するか判定する。この時点で、分散管理テーブル63には該当するレコードがない。これは、親キー「Y」を有するレコードを処理しているプロセッサ111は存在しないことを意味している。この場合、ステップ37に移行する。
入力レコード分類手段101は、現時点で最も処理負荷が低いプロセッサ111を1つ選択し、そのプロセッサ111を、3レコード目を処理すべきプロセッサとして決定する。ここでは、入力レコード分類手段101によりプロセッサ「2」が選択されたものとする。
入力レコード分類手段101が、入力レコード41の4レコード目を入力する。4レコード目の内容は、親キー=X、子キー=C、データ=4である。
入力レコード分類手段101が、現時点の分散管理テーブル64を参照し、4回目の入力レコードの子キー「C」が、分散管理テーブル64に存在するか判定する。この時点で、分散管理テーブル64には該当するレコードがない。これは、子キー「C」を有するレコードを処理しているプロセッサ111は存在しないことを意味している。この場合、ステップ34に移行する。
入力レコード分類手段101が、現時点の分散管理テーブル64を参照し、4回目の入力レコードの親キー「X」が、分散管理テーブル64に存在するか判定する。いま、分散管理テーブル64では、プロセッサ「1」と親キー「X」が紐付けられている。これは、この時点で、親キー「X」を有するレコードを、プロセッサ「1」が既に処理していることを意味している。この場合、ステップ35に移行する。
入力レコード分類手段101は、入力レコードをステップ33で発見したプロセッサ111に処理させるべきかを判断するため、しきい値判定を行う。しきい値判定の処理は次の通りである。まず、入力レコード分類手段101は、現在の分散管理テーブル64に対し、入力レコードと同一の親キーを既に処理しているプロセッサ111で入力レコードを処理すると仮定して、分散管理テーブル64の「処理レコード数」カラムを更新した状態を想定する。この例では、プロセッサ「1」の処理レコード数を「3」とした状態を想定する。その上で、処理レコード数の標準偏差を求める。この例では、標準偏差は1.24となり、しきい値1.5を超えない。この場合、入力レコード分類手段101は、入力レコードをステップ33で発見したプロセッサ111に処理させてよいと判断する。すなわち、4レコード目をプロセッサ「1」に割り当てることとする。この場合、ステップ36に移行する。
入力レコード分類手段101は、4レコード目を、既に同一の親キー「X」処理しているプロセッサ「1」で処理すべきものと決定する。
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、上述の実施の形態では親キーを1つとした例を説明したが、親キーが2つ以上の場合も同様の考えで処理できる。この場合、しきい値131は親キーの数だけ別々に設定し、図2の分散管理テーブル102の親キーの列を親キーの数だけ増やし、かつ図3のフローチャートのステップ34:親キー判定処理を、親キーの数だけ実施することになる。
101 入力レコード分類手段
111 プロセッサ
121 集計手段
131 しきい値
132 プロセッサ数
102 分散管理テーブル
141 入力ファイル等
142 出力ファイル等
Claims (10)
- 複数のプロセッサと、
少なくともキーとデータとを有する、複数の入力レコードを入力し、前記入力レコード夫々にかかる処理を、いずれかの前記プロセッサに割り当てる入力レコード分類手段と、を有し、
前記入力レコード分類手段は、
同一の前記キーを有する複数の前記入力レコードを、同一の前記プロセッサが処理するよう割り当てる
並列化装置。 - 前記入力レコード分類手段は、
予め定められたしきい値を参照し、
複数の前記プロセッサに処理が割り当てられた前記入力レコードの数の偏りが、前記しきい値を超えない場合に、同一の前記キーを有する複数の前記入力レコードを、同一の前記プロセッサが処理するよう割り当てるものである
請求項1記載の並列化装置。 - 前記入力レコード分類手段は、
第1の入力レコードを入力した際、前記第1の入力レコードと同一の前記キーを有する他の前記入力レコードを処理している前記プロセッサが無い場合には、複数の前記プロセッサのうち負荷の低い前記プロセッサに、前記第1の入力レコードの処理を割り当てる
請求項1又は2記載の並列化装置。 - 複数の前記プロセッサによる処理結果を集計する集計手段をさらに有する
請求項1乃至3いずれか1項記載の並列化装置。 - 前記プロセッサ毎に、処理が割り当てられた前記入力レコードの数と、処理が割り当てられた前記入力レコード夫々が有する前記キーと、を保持する分散管理テーブルをさらに有する
請求項1乃至4いずれか1項記載の並列化装置。 - 少なくともキーとデータとを有する、複数の入力レコードを入力するステップと、
前記入力レコード夫々にかかる処理を、複数のプロセッサのいずれかに割り当てる入力レコード分類ステップと、を有し、
前記入力レコード分類ステップでは、
同一の前記キーを有する複数の前記入力レコードを、同一の前記プロセッサが処理するよう割り当てる
並列化方法。 - 前記入力レコード分類ステップは、
予め定められたしきい値を参照し、
複数の前記プロセッサに処理が割り当てられた前記入力レコードの数の偏りが、前記しきい値を超えない場合に、同一の前記キーを有する複数の前記入力レコードを、同一の前記プロセッサが処理するよう割り当てるものである
請求項6記載の並列化方法。 - 前記入力レコード分類ステップは、
第1の入力レコードを入力した際、前記第1の入力レコードと同一の前記キーを有する他の前記入力レコードを処理している前記プロセッサが無い場合には、複数の前記プロセッサのうち負荷の低い前記プロセッサに、前記第1の入力レコードの処理を割り当てるものである
請求項6又は7記載の並列化方法。 - 複数の前記プロセッサによる処理結果を集計する集計ステップをさらに有する
請求項6乃至8いずれか1項記載の並列化方法。 - コンピュータに、請求項6乃至9いずれか1項の方法を実行させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013204606A JP6221584B2 (ja) | 2013-09-30 | 2013-09-30 | 処理の並列化装置、処理の並列化方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013204606A JP6221584B2 (ja) | 2013-09-30 | 2013-09-30 | 処理の並列化装置、処理の並列化方法及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015069518A true JP2015069518A (ja) | 2015-04-13 |
JP6221584B2 JP6221584B2 (ja) | 2017-11-01 |
Family
ID=52836084
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013204606A Active JP6221584B2 (ja) | 2013-09-30 | 2013-09-30 | 処理の並列化装置、処理の並列化方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6221584B2 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018081392A (ja) * | 2016-11-14 | 2018-05-24 | 富士通株式会社 | 情報処理装置、情報処理システム、および状態情報収集プログラム |
CN112709785A (zh) * | 2020-12-23 | 2021-04-27 | 中国人民解放军国防科技大学 | 一种惯质系数可变可双向旋转棘轮式滚珠丝杠惯容器 |
CN112728003A (zh) * | 2020-12-23 | 2021-04-30 | 中国人民解放军国防科技大学 | 一种用于滚珠丝杠惯容的可双向旋转棘轮展开式飞轮 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08297643A (ja) * | 1995-04-26 | 1996-11-12 | Hitachi Ltd | 複数cpuでの処理分散方式 |
JPH1097544A (ja) * | 1996-09-20 | 1998-04-14 | Hitachi Ltd | データベース処理システム |
JP2006309777A (ja) * | 2006-05-18 | 2006-11-09 | Hitachi Ltd | 負荷分散システム |
JP2006352236A (ja) * | 2005-06-13 | 2006-12-28 | Toyota Motor Corp | ゲートウェイ |
JP2012247979A (ja) * | 2011-05-27 | 2012-12-13 | Fujitsu Ltd | 処理プログラム、処理方法及び処理装置 |
-
2013
- 2013-09-30 JP JP2013204606A patent/JP6221584B2/ja active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08297643A (ja) * | 1995-04-26 | 1996-11-12 | Hitachi Ltd | 複数cpuでの処理分散方式 |
JPH1097544A (ja) * | 1996-09-20 | 1998-04-14 | Hitachi Ltd | データベース処理システム |
JP2006352236A (ja) * | 2005-06-13 | 2006-12-28 | Toyota Motor Corp | ゲートウェイ |
JP2006309777A (ja) * | 2006-05-18 | 2006-11-09 | Hitachi Ltd | 負荷分散システム |
JP2012247979A (ja) * | 2011-05-27 | 2012-12-13 | Fujitsu Ltd | 処理プログラム、処理方法及び処理装置 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018081392A (ja) * | 2016-11-14 | 2018-05-24 | 富士通株式会社 | 情報処理装置、情報処理システム、および状態情報収集プログラム |
CN112709785A (zh) * | 2020-12-23 | 2021-04-27 | 中国人民解放军国防科技大学 | 一种惯质系数可变可双向旋转棘轮式滚珠丝杠惯容器 |
CN112728003A (zh) * | 2020-12-23 | 2021-04-30 | 中国人民解放军国防科技大学 | 一种用于滚珠丝杠惯容的可双向旋转棘轮展开式飞轮 |
CN112709785B (zh) * | 2020-12-23 | 2022-05-24 | 中国人民解放军国防科技大学 | 一种惯质系数可变可双向旋转棘轮式滚珠丝杠惯容器 |
CN112728003B (zh) * | 2020-12-23 | 2022-06-21 | 中国人民解放军国防科技大学 | 一种用于滚珠丝杠惯容的可双向旋转棘轮展开式飞轮 |
Also Published As
Publication number | Publication date |
---|---|
JP6221584B2 (ja) | 2017-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2023201414B2 (en) | Systems and methods for performing data processing operations using variable level parallelism | |
JP6779231B2 (ja) | データ処理方法及びシステム | |
JP6605573B2 (ja) | 並列ディシジョン・ツリー・プロセッサー・アーキテクチャ | |
US8595732B2 (en) | Reducing the response time of flexible highly data parallel task by assigning task sets using dynamic combined longest processing time scheme | |
US20110320460A1 (en) | Efficient representation of data lineage information | |
US10733202B2 (en) | Advanced database systems and methods for use in a multi-tenant system | |
US20150032680A1 (en) | Parallel tree based prediction | |
US11106649B2 (en) | Electronic apparatus, data chain archiving method, system and storage medium | |
CN108415912B (zh) | 基于MapReduce模型的数据处理方法和设备 | |
CN107729423A (zh) | 一种大数据处理方法及装置 | |
JP6221584B2 (ja) | 処理の並列化装置、処理の並列化方法及びプログラム | |
US20160034528A1 (en) | Co-processor-based array-oriented database processing | |
US20160125009A1 (en) | Parallelized execution of window operator | |
Mestre et al. | Adaptive sorted neighborhood blocking for entity matching with mapreduce | |
Han et al. | Distme: A fast and elastic distributed matrix computation engine using gpus | |
US20160092279A1 (en) | Distributed real-time computing framework using in-storage processing | |
JP7427896B2 (ja) | データベースの分割システム、データベースの分割方法、及びデータベースの分割プログラム | |
US20230093911A1 (en) | Systems and methods for performing data processing operations using variable level parallelism | |
Wangsom et al. | Multi-objective scheduling for scientific workflows on cloud with peer-to-peer clustering | |
US20210216573A1 (en) | Algorithm to apply a predicate to data sets | |
JP2012003733A (ja) | 論理式変換プログラム、及びsat解法プログラム | |
JP6457290B2 (ja) | グラフを剪定する方法、前記グラフを剪定する方法をコンピュータに行なわせる命令を記録している非一時的なコンピュータ可読記憶媒体、及びグラフの剪定を行うためのコンピュータシステム | |
US10402230B2 (en) | System allocating links for data packets in an electronic system | |
CN110309177B (zh) | 一种数据处理的方法以及相关装置 | |
Garshasbi et al. | Tasks scheduling on parallel heterogeneous multi-processor systems using genetic algorithm |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160805 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170412 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170425 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170622 |
|
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: 20170905 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170918 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6221584 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |