JP2012048515A - マルチノードにわたるデータの送受信をバリア同期無しで行う並列計算処理 - Google Patents
マルチノードにわたるデータの送受信をバリア同期無しで行う並列計算処理 Download PDFInfo
- Publication number
- JP2012048515A JP2012048515A JP2010190290A JP2010190290A JP2012048515A JP 2012048515 A JP2012048515 A JP 2012048515A JP 2010190290 A JP2010190290 A JP 2010190290A JP 2010190290 A JP2010190290 A JP 2010190290A JP 2012048515 A JP2012048515 A JP 2012048515A
- Authority
- JP
- Japan
- Prior art keywords
- thread
- procedure
- threads
- node
- 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.)
- Granted
Links
Images
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Multi Processors (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
Abstract
マルチノードにわたり分散して並行に処理されている複数のプロシージャを調和させるにあたり、マルチスレッドを構成するスレッド間でのバリア同期を完全に取り除き、ノード間のデータの送受信(非同期通信)を実現すること。
【解決手段】
非同期送信前のバリア同期を取り除き、送信カウンタ (send counter) を導入し、カウンタの値が所定の値に達したときに、送信カウンタが準備完了とする。受信待ち後のバリア同期を取り除き、マルチスレッドを構成するそれぞれのスレッドが自分の必要なデータが受信されるまで待つようにする。マルチスレッドを構成するスレッドの間で依存性のある処理を行う場合に、整合性をとるためにフェーズ・カウンタ (phase counter) を導入し、依存しあうスレッド間でタイムステップを保証する。
【選択図】 図6
Description
Claims (7)
- 1のノードにおいて複数のプロシージャを並行に処理しながら、かつ、その処理結果のデータを1のノードから他のノードへ送信しながら、マルチノードにわたり分散して並行に処理されている複数のプロシージャと調和させる方法であって、
各ノードは、単数または複数のCPUと、単数または複数のCPUによって共有されるメモリと、他のノードとの間をインターコネクトする通信コントローラとを有していて、単数または複数のCPUまたは通信コントローラが、各ノード内に用意された所定の数のスレッドから構成されるマルチスレッドの各々にわたって複数のプロシージャを並行なスケジューリングとして割り当てるものであって、前記方法は、
1のスレッドにおいてスケジューリングされている1のプロシージャが完了した場合には、1のプロシージャの処理結果のデータを、その1のスレッドからメモリ内に用意されている送信バッファ (send buffer) 内におけるスレッドIDに対応する位置に書き込み、保存するステップと、
1のスレッドにおいてスケジューリングされている1のプロシージャが完了した場合には、その1のスレッドからメモリ内に用意されている送信カウンタ (send counter) に完了の通知をするステップと、
完了の通知のたびに、送信カウンタにおけるカウントの数を増加するステップと、
送信カウンタにおけるカウントの数が、マルチスレッドを構成するスレッドの所定の数に達した場合には、マルチスレッドを構成しているスレッドのうちでも最後に完了の通知を行った1つのスレッドが、次のプロシージャを処理する前に、送信バッファに保存されているマルチスレッドにわたる処理結果のデータの全てを、他のノードに送信するステップとを有する、
方法。 - 1のプロシージャにおいて、処理結果のデータを送信バッファに書き込みを完了し、かつ、送信カウンタに完了の通知をしたら、(全てのマルチスレッドとの間でのバリア同期を待つことなく、または、送信バッファにマルチスレッドにわたる処理結果のデータの全て書き込まれる前に)スケジューリングされている次のプロシージャが受信データに依存しない(非依存)プロシージャである場合には、次のプロシージャの処理を開始するステップとを有する、
請求項1に記載の方法。 - 次のプロシージャが受信データに依存するプロシージャである場合には、当該受信データに依存するプロシージャのために必要となるデータの部分が受信バッファ (receive buffer) に現れるまで待つ(次の処理を開始しない)、
請求項1に記載の方法。 - 1のプロシージャにおいて、処理結果のデータを送信バッファに書き込みを完了し、かつ、フェーズ・カウンタに完了の通知をしたら、(全てのマルチスレッドとの間でのバリア同期を待つことなく、または、送信バッファにマルチスレッドにわたる処理結果のデータの全て書き込まれる前に)次のプロシージャが受信データに依存しない(非依存)プロシージャである場合には、次のプロシージャの処理を開始するステップとを有する、
請求項1に記載の方法。 - 1のスレッドにおいてスケジューリングされている1のプロシージャが完了した場合には、メモリ内に用意されているところのその1のスレッドのためのフェーズ・カウンタ (phase counter)におけるカウントの数を増加するステップと、
増加したカウントの数を、1のプロシージャの完了時点におけるカウントの数として、各スレッドに対応して用意されているところのローカル変数を保存する領域に書き込み保存するステップと、
あるスレッドにおいてローカル変数を保存する領域に書き込まれている値と、そのあるスレッドに依存するスレッドのフェーズ・カウンタの値とを比較するステップと、
比較の結果、フェーズ・カウンタの値と同じになるか、または、フェーズ・カウンタの値の方が大きくなるまで待つ、(そのあるスレッドにおいてスケジューリングされている次の処理を開始しない)、
請求項1に記載の方法。 - 1のノードにおいて複数のプロシージャを並行に処理しながら、かつ、その処理結果のデータを1のノードから他のノードへ送信しながら、マルチノードにわたり分散して並行に処理されている複数のプロシージャと調和させるシステムであって、
各ノードは、単数または複数のCPUと、単数または複数のCPUによって共有されるメモリと、他のノードとの間をインターコネクトする通信コントローラとを有していて、単数または複数のCPUまたは通信コントローラが、各ノード内に用意された所定の数のスレッドから構成されるマルチスレッドの各々にわたって複数のプロシージャを並行なスケジューリングとして割り当てるものであって、前記システムは、
1のスレッドにおいてスケジューリングされている1のプロシージャが完了した場合には、1のプロシージャの処理結果のデータを、その1のスレッドからメモリ内に用意されている送信バッファ (send buffer) 内におけるスレッドIDに対応する位置に書き込み、保存し、
1のスレッドにおいてスケジューリングされている1のプロシージャが完了した場合には、その1のスレッドからメモリ内に用意されている送信カウンタ (send counter) に完了の通知をし、
完了の通知のたびに、送信カウンタにおけるカウントの数を増加し、
送信カウンタにおけるカウントの数が、マルチスレッドを構成するスレッドの所定の数に達した場合には、マルチスレッドを構成しているスレッドのうちでも最後に完了の通知を行った1つのスレッドが、次のプロシージャを処理する前に、送信バッファに保存されているマルチスレッドにわたる処理結果のデータの全てを、他のノードに送信する、
システム。 - 1のノードにおいて複数のプロシージャを並行に処理しながら、かつ、その処理結果のデータを1のノードから他のノードへ送信しながら、マルチノードにわたり分散して並行に処理されている複数のプロシージャと調和させる処理を、コンピュータに実行させるためのプログラムであって、
各ノードは、単数または複数のCPUと、単数または複数のCPUによって共有されるメモリと、他のノードとの間をインターコネクトする通信コントローラとを有していて、単数または複数のCPUまたは通信コントローラが、各ノード内に用意された所定の数のスレッドから構成されるマルチスレッドの各々にわたって複数のプロシージャを並行なスケジューリングとして割り当てるものであって、前記プログラムは、
1のスレッドにおいてスケジューリングされている1のプロシージャが完了した場合には、1のプロシージャの処理結果のデータを、その1のスレッドからメモリ内に用意されている送信バッファ (send buffer) 内におけるスレッドIDに対応する位置に書き込み、保存するステップと、
1のスレッドにおいてスケジューリングされている1のプロシージャが完了した場合には、その1のスレッドからメモリ内に用意されている送信カウンタ (send counter) に完了の通知をするステップと、
完了の通知のたびに、送信カウンタにおけるカウントの数を増加するステップと、
送信カウンタにおけるカウントの数が、マルチスレッドを構成するスレッドの所定の数に達した場合には、マルチスレッドを構成しているスレッドのうちでも最後に完了の通知を行った1つのスレッドが、次のプロシージャを処理する前に、送信バッファに保存されているマルチスレッドにわたる処理結果のデータの全てを、他のノードに送信するステップとを、コンピュータに実行させる、
プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010190290A JP5623187B2 (ja) | 2010-08-27 | 2010-08-27 | マルチノードにわたるデータの送受信をバリア同期無しで行う並列計算処理 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010190290A JP5623187B2 (ja) | 2010-08-27 | 2010-08-27 | マルチノードにわたるデータの送受信をバリア同期無しで行う並列計算処理 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012048515A true JP2012048515A (ja) | 2012-03-08 |
JP5623187B2 JP5623187B2 (ja) | 2014-11-12 |
Family
ID=45903299
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010190290A Expired - Fee Related JP5623187B2 (ja) | 2010-08-27 | 2010-08-27 | マルチノードにわたるデータの送受信をバリア同期無しで行う並列計算処理 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5623187B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017162266A (ja) * | 2016-03-10 | 2017-09-14 | 日本電気株式会社 | 並列処理装置、並列処理方法及びプログラム |
CN115826885A (zh) * | 2023-02-21 | 2023-03-21 | 浪潮电子信息产业股份有限公司 | 一种数据迁移方法、装置及电子设备和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH052568A (ja) * | 1990-09-14 | 1993-01-08 | Hitachi Ltd | プロセツサ間の同期処理装置 |
JPH05173990A (ja) * | 1991-12-24 | 1993-07-13 | Mitsubishi Electric Corp | データ処理システム |
JP2001051966A (ja) * | 1999-08-16 | 2001-02-23 | Nec Corp | ノード装置、並列処理システム、並列処理方法、および、並列処理プログラムを記録した記録媒体 |
JP2002163121A (ja) * | 2000-11-22 | 2002-06-07 | Toshiba Corp | 仮想マルチスレッドプロセッサ及びスレッド実行方法 |
JP2005208756A (ja) * | 2004-01-20 | 2005-08-04 | Sony Corp | 分散処理システム及び方法、分散処理プログラム、データ処理装置 |
-
2010
- 2010-08-27 JP JP2010190290A patent/JP5623187B2/ja not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH052568A (ja) * | 1990-09-14 | 1993-01-08 | Hitachi Ltd | プロセツサ間の同期処理装置 |
JPH05173990A (ja) * | 1991-12-24 | 1993-07-13 | Mitsubishi Electric Corp | データ処理システム |
JP2001051966A (ja) * | 1999-08-16 | 2001-02-23 | Nec Corp | ノード装置、並列処理システム、並列処理方法、および、並列処理プログラムを記録した記録媒体 |
JP2002163121A (ja) * | 2000-11-22 | 2002-06-07 | Toshiba Corp | 仮想マルチスレッドプロセッサ及びスレッド実行方法 |
JP2005208756A (ja) * | 2004-01-20 | 2005-08-04 | Sony Corp | 分散処理システム及び方法、分散処理プログラム、データ処理装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017162266A (ja) * | 2016-03-10 | 2017-09-14 | 日本電気株式会社 | 並列処理装置、並列処理方法及びプログラム |
CN115826885A (zh) * | 2023-02-21 | 2023-03-21 | 浪潮电子信息产业股份有限公司 | 一种数据迁移方法、装置及电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
JP5623187B2 (ja) | 2014-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Tan et al. | Coupling task progress for mapreduce resource-aware scheduling | |
KR101332840B1 (ko) | 병렬 컴퓨팅 프레임워크 기반의 클러스터 시스템, 호스트 노드, 계산 노드 및 어플리케이션 실행 방법 | |
US10706009B2 (en) | Techniques to parallelize CPU and IO work of log writes | |
US8209690B2 (en) | System and method for thread handling in multithreaded parallel computing of nested threads | |
JP2882475B2 (ja) | スレッド実行方法 | |
US20140181831A1 (en) | DEVICE AND METHOD FOR OPTIMIZATION OF DATA PROCESSING IN A MapReduce FRAMEWORK | |
KR20170137061A (ko) | 대규모 병렬 실행 가능 객체를 생성하는 방법, 디바이스 및 시스템 | |
WO2013185571A1 (zh) | 多线程虚拟流水线处理器的线程控制和调用方法及其处理器 | |
JP2010079622A (ja) | マルチコアプロセッサシステム、および、そのタスク制御方法 | |
US20130231912A1 (en) | Method, system, and scheduler for simulating multiple processors in parallel | |
WO2013127132A1 (zh) | 用于分布式共享存储的任务同步方法、装置及系统 | |
CN105094840A (zh) | 一种基于缓存一致性原理的原子操作实现方法及装置 | |
WO2015024432A1 (zh) | 一种指令调度方法及装置 | |
Fotohi et al. | A cluster based job scheduling algorithm for grid computing | |
JP5623187B2 (ja) | マルチノードにわたるデータの送受信をバリア同期無しで行う並列計算処理 | |
US20180335957A1 (en) | Lock-free datapath design for efficient parallel processing storage array implementation | |
JP7122299B2 (ja) | 処理タスクを実行するための方法、装置、デバイス、および記憶媒体 | |
Chu et al. | Dynamic kernel fusion for bulk non-contiguous data transfer on GPU clusters | |
WO2016008317A1 (zh) | 数据处理方法和中心节点 | |
CN110955461B (zh) | 计算任务的处理方法、装置、系统、服务器和存储介质 | |
Chakraborty et al. | Non-blocking PMI extensions for fast MPI startup | |
Pumma et al. | Alleviating load imbalance in data processing for large-scale deep learning | |
KR101332839B1 (ko) | 병렬 컴퓨팅 프레임워크 기반 클러스터 시스템의 호스트 노드 및 메모리 관리 방법 | |
TWI442323B (zh) | 用於多核心/眾核心的工作排程與分配管理架構及其方法 | |
JP2010020683A (ja) | スレッド制御方法およびスレッド制御装置ならびにリアルタイムシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130501 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140430 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140603 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140812 |
|
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: 20140902 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140924 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5623187 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |