JP6930139B2 - 並列プロセス実行方法 - Google Patents
並列プロセス実行方法 Download PDFInfo
- Publication number
- JP6930139B2 JP6930139B2 JP2017039936A JP2017039936A JP6930139B2 JP 6930139 B2 JP6930139 B2 JP 6930139B2 JP 2017039936 A JP2017039936 A JP 2017039936A JP 2017039936 A JP2017039936 A JP 2017039936A JP 6930139 B2 JP6930139 B2 JP 6930139B2
- Authority
- JP
- Japan
- Prior art keywords
- communication
- processing
- parallel
- processes
- state
- 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
Landscapes
- Multi Processors (AREA)
Description
並列プログラムを構成する複数のプロセスを、1以上のプロセッサで並列実行する並列プロセス実行方法であって、
それぞれの前記プロセスは、プロセス間通信処理中に待ち合わせが発生した場合、メモリを共有する他プロセスであってプロセス状態が「演算処理中」かつ「仕掛り通信処理有り」である他プロセスを探索し、前記探索した前記他プロセスの仕掛り状態の通信処理を前記他プロセスに代わって実行する。
並列プログラムを構成する複数のプロセスを並列実行する1以上のプロセッサを有する情報処理装置であって、
それぞれの前記プロセスは、プロセス間通信処理中に待ち合わせが発生した場合、メモリを共有する他プロセスであってプロセス状態が「演算処理中」かつ「仕掛り通信処理有り」である他プロセスを探索し、前記探索した前記他プロセスの仕掛り状態の通信処理を前記他プロセスに代わって実行するように構成されている。
1以上のプロセッサを有するコンピュータに、
並列プログラムを構成する複数のプロセスを並列実行させるためのプログラムであって、それぞれの前記プロセスは、プロセス間通信処理中に待ち合わせが発生した場合、メモリを共有する他プロセスであってプロセス状態が「演算処理中」かつ「仕掛り通信処理有り」である他プロセスを探索し、前記探索した前記他プロセスの仕掛り状態の通信処理を前記他プロセスに代わって実行する。
次に本発明の第1の実施形態について図面を参照して詳細に説明する。
分散並列プログラムの実行性能改善のため、非同期通信機能(例えば、MPI(Message Passing Interface)のMPI_IsendやMPI_Irecv等のAPI)を利用し、通信処理と計算処理(演算処理)を同時実行(オーバーラップ)させる手法がある。
分散並列プログラムの実行において、自プロセスの通信処理中に通信待合せが発生し、その通信待合せ時間が一定時間を超えた場合、メモリを共有する他プロセスの状態を参照し、その状態が「演算処理中」かつ「仕掛り状態の通信処理有り」の場合、その仕掛り状態の通信処理を代理実行する。
図1は本発明の第1の実施形態に係る情報処理装置のブロック図である。図1を参照すると、分散並列プログラムは複数のプロセス1−1から構成されており、各プロセス1−1はノード間通信経路1−2で接続された複数のノード1−3上に分散配置される。また、各ノード1−3上には複数のプロセス1−1が配置される。ここで、各ノード1−3は、1以上のCPUとメモリとを少なくとも有する計算機である。
次に本実施形態に係る情報処理装置の動作を説明する。
図7は、2プロセス(プロセスAとプロセスB)が演算と通信を行った場合の本実施形態の効果を図示したものである。
図9を参照すると、本発明の第2の実施形態に係る情報処理装置9−1は、並列プログラムを構成する複数のプロセス9−3を並列実行する1以上のプロセッサ9−2を有している。また、それぞれのプロセス9−3は、プロセス間通信処理中に待ち合わせが発生した場合、メモリを共有する他プロセス9−3であってプロセス状態が「演算処理中」かつ「仕掛り通信処理有り」である他プロセス9−3を探索するように構成されている。さらに、それぞれのプロセス9−3は、上記探索した他プロセス9−3の仕掛り状態の通信処理を他プロセス9−3に代わって実行するように構成されている。
1−2…ノード間通信経路
1−3…ノード
1−4…プロセス固有メモリ領域
1−5…プロセス間共有メモリ領域
1−6…ユーザデータ
1−7…通信制御データ
1−8…プロセス状態変数
1−9…ロック変数
9−1…情報処理装置
9−2…プロセッサ
9−3…プロセス
Claims (8)
- 並列プログラムを構成する複数のプロセスを、1以上のプロセッサで並列実行する並列プロセス実行方法であって、
それぞれの前記プロセスに基づいて、プロセス間通信処理中に待ち合わせが発生した場合、メモリを共有する他プロセスであってプロセス状態が「演算処理中」かつ「仕掛り通信処理有り」である他プロセスを探索し、前記探索した前記他プロセスの仕掛り状態の通信処理を前記他プロセスに代わって実行する、
並列プロセス実行方法。 - それぞれの前記プロセスに基づいて、初期化処理を実行し、
前記初期化処理では、
プロセス間共有メモリ領域に配置した通信制御データ、ロック変数、およびプロセス状態変数を初期化した後、全プロセスのバリア同期の処理を行う、
請求項1に記載の並列プロセス実行方法。 - それぞれの前記プロセスに基づいて、前記バリア同期の成立後に通信開始処理を実行し、
前記通信開始処理では、
前記プロセス状態変数を「通信処理中」に設定してデータ転送を開始し、前記データ転送が完了したか否かを確認し、データ転送が完了していれば、前記プロセス状態変数を「演算処理中」に設定し、データ転送が完了していなければ前記プロセス状態変数を「演算処理中」かつ「仕掛り通信処理有り」に設定する、
請求項2に記載の並列プロセス実行方法。 - それぞれの前記プロセスに基づいて、前記プロセス状態変数を「通信処理中」あるいは「演算処理中」に変更する前に、前記ロック変数によるロックを取得し、前記プロセス状態変数を「通信処理中」あるいは「演算処理中」に変更した後に、前記ロック変数によるロックを解放する、
請求項3に記載の並列プロセス実行方法。 - それぞれの前記プロセスに基づいて、前記通信開始処理の実行後に演算処理を実行し、前記演算処理を終えると、通信完了処理を実行し、
前記通信完了処理では、
前記プロセス状態変数を「通信処理中」に設定した後、仕掛り通信があるか否かを判定し、仕掛り通信がなければ前記プロセス状態変数を「演算処理中」に設定して前記通信完了処理を終了し、
仕掛り通信があれば、現在時刻を取得して保持した後、仕掛り通信のデータ転送処理を、継続可能か否かを判定し、継続可能であれば仕掛り通信のデータ転送処理を実施した後、再び仕掛り通信があるか否かの前記判定に戻り、
仕掛り通信のデータ転送処理を継続可能でない状態が前記取得した現在時刻から一定時間以上続いた場合、前記プロセス状態変数を「演算処理中」に設定した後、メモリを共有する他プロセスであってプロセス状態が「演算処理中」かつ「仕掛り通信処理有り」である他プロセスの探索を開始する、
請求項3または4に記載の並列プロセス実行方法。 - それぞれの前記プロセスに基づいて、メモリを共有する他プロセスであってプロセス状態が「演算処理中」かつ「仕掛り通信処理有り」である他プロセスの探索では、
前記他プロセスの前記ロック変数によるロックを取得した後、前記他プロセスの前記プロセス状態変数が「演算処理中」かつ「仕掛り通信処理有り」であるか否かを判定し、
前記他プロセスの前記プロセス状態変数が「演算処理中」かつ「仕掛り通信処理あり」であれば、前記他プロセスの前記仕掛り状態の通信処理を前記他プロセスに代わって実行した後、前記他プロセスの前記ロック変数によるロックを解放し、
前記他プロセスの前記プロセス状態変数が「演算処理中」かつ「仕掛り通信処理あり」でなければ、前記他プロセスの前記ロック変数によるロックを解放する、
請求項5に記載の並列プロセス実行方法。 - 並列プログラムを構成する複数のプロセスを並列実行する1以上のプロセッサを有する情報処理装置であって、
それぞれの前記プロセスに基づいて、プロセス間通信処理中に待ち合わせが発生した場合、メモリを共有する他プロセスであってプロセス状態が「演算処理中」かつ「仕掛り通信処理有り」である他プロセスを探索し、前記探索した前記他プロセスの仕掛り状態の通信処理を前記他プロセスに代わって実行するように構成されている、
情報処理装置。 - 1以上のプロセッサを有するコンピュータに、
並列プログラムを構成する複数のプロセスを並列実行させるためのプログラムであって、それぞれの前記プロセスに基づいて、プロセス間通信処理中に待ち合わせが発生した場合、メモリを共有する他プロセスであってプロセス状態が「演算処理中」かつ「仕掛り通信処理有り」である他プロセスを探索し、前記探索した前記他プロセスの仕掛り状態の通信処理を前記他プロセスに代わって実行する、
プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017039936A JP6930139B2 (ja) | 2017-03-03 | 2017-03-03 | 並列プロセス実行方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017039936A JP6930139B2 (ja) | 2017-03-03 | 2017-03-03 | 並列プロセス実行方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018147126A JP2018147126A (ja) | 2018-09-20 |
JP6930139B2 true JP6930139B2 (ja) | 2021-09-01 |
Family
ID=63591248
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017039936A Active JP6930139B2 (ja) | 2017-03-03 | 2017-03-03 | 並列プロセス実行方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6930139B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7100260B2 (ja) * | 2018-11-21 | 2022-07-13 | 富士通株式会社 | 情報処理装置および情報処理プログラム |
-
2017
- 2017-03-03 JP JP2017039936A patent/JP6930139B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2018147126A (ja) | 2018-09-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5479802B2 (ja) | ハイブリッド・コンピューティング環境におけるデータ処理のための方法、装置、およびプログラム | |
US7953915B2 (en) | Interrupt dispatching method in multi-core environment and multi-core processor | |
JP3636871B2 (ja) | 並列プロセッサシステム | |
RU2568292C2 (ru) | Система и способ выбора синхронного или асинхронного межпроцессного взаимодействия | |
US8255909B2 (en) | Synchronizing access to resources in a hybrid computing environment | |
CN106844017B (zh) | 用于网站服务器处理事件的方法和设备 | |
US8635318B1 (en) | Message broadcast protocol which handles configuration changes in a cluster of virtual servers | |
US20080127202A1 (en) | Stateless asynchronous message transmission | |
JP6197791B2 (ja) | 分散処理装置及び分散処理システム並びに分散処理方法 | |
WO2013185571A1 (zh) | 多线程虚拟流水线处理器的线程控制和调用方法及其处理器 | |
KR20110047753A (ko) | 교착 상태의 방지를 위한 데이터 처리 방법 및 시스템 | |
Si et al. | Direct MPI library for Intel Xeon Phi co-processors | |
JP6336602B2 (ja) | パケットフロー制御方法、関連装置、及びコンピューティングノード | |
JP6930139B2 (ja) | 並列プロセス実行方法 | |
US20180024865A1 (en) | Parallel processing apparatus and node-to-node communication method | |
JP2007172611A (ja) | 方法、記憶媒体(仮想共有環境におけるプロセッサの有効利用法) | |
JP4414447B2 (ja) | 情報処理装置、情報処理システムおよび情報処理方法 | |
WO2012113224A1 (zh) | 多节点计算系统下选择共享内存所在节点的方法和装置 | |
US7962656B1 (en) | Command encoding of data to enable high-level functions in computer networks | |
US20110191437A1 (en) | Implementing asyncronous collective operations in a multi-node processing system | |
US20160328276A1 (en) | System, information processing device, and method | |
JP5623187B2 (ja) | マルチノードにわたるデータの送受信をバリア同期無しで行う並列計算処理 | |
Aji et al. | Synchronization and ordering semantics in hybrid MPI+ GPU programming | |
JP4833911B2 (ja) | プロセッサユニットおよび情報処理方法 | |
CN112306703A (zh) | 一种numa系统中的临界区执行方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200212 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210120 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210210 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210402 |
|
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: 20210713 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210726 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6930139 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |