JP2005071109A - マルチプロセッサシステムの同期方法 - Google Patents
マルチプロセッサシステムの同期方法 Download PDFInfo
- Publication number
- JP2005071109A JP2005071109A JP2003300510A JP2003300510A JP2005071109A JP 2005071109 A JP2005071109 A JP 2005071109A JP 2003300510 A JP2003300510 A JP 2003300510A JP 2003300510 A JP2003300510 A JP 2003300510A JP 2005071109 A JP2005071109 A JP 2005071109A
- Authority
- JP
- Japan
- Prior art keywords
- synchronization
- processor
- barrier synchronization
- cpu
- barrier
- 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/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
-
- 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/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
- G06F9/522—Barrier synchronisation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Multi Processors (AREA)
Abstract
【解決手段】共有メモリ4上にバリア同期をとる各プロセッサ1の実行が完了した同期ポイントを示す同期フラグ領域5を割り当て、ソフトウェアによりこの同期フラグ領域5を実行状態に応じて更新し、各プロセッサ1はバリア同期に参加する他のプロセッサの同期フラグ領域5同士を比較することでバリア同期処理を行う。
【選択図】図1
Description
・並列化が容易であること(既存のプログラムの構造を変えなくても並列化できること)。
・並列実行時にスケーラブルな性能(並列度に応じた性能が得られること)。
・並列化に伴うオーバーヘッドの影響を低減すること。
・できるだけ並列実行される部分を増やすこと。
2 キャッシュメモリ
3 共有バス
4 メインメモリ
5、34 同期フラグ領域
Claims (6)
- 複数のプロセッサでプログラムを並列的に実行するためのバリア同期を行うマルチプロセッサシステムの同期方法であって、
前記マルチプロセッサシステムは、各プロセッサが共有可能な共有メモリ領域を設け、
この共有メモリ領域内に各プロセッサ毎に個別のメモリ領域を割り当て、
このメモリ領域には各プロセッサがプログラム中のバリア同期をとる部分を実行した回数を格納するカウンタを設け、
各プロセッサは、プログラム中のバリア同期をとる部分を実行したときに自プロセッサに割り当てられた個別のメモリ領域の前記カウンタを加算して書き込んだ後、他のプロセッサに割り当てられたメモリ領域すべてに同一もしくはより大きい値が書き込まれたことを判定した後に、後のプログラムの実行を行うことを特徴とするマルチプロセッサシステムの同期方法。 - 複数のプロセッサでプログラムを並列的に実行するためのバリア同期を行うマルチプロセッサシステムの同期方法であって、
前記マルチプロセッサシステムは、各プロセッサが共有可能な共有メモリ領域を設け、
この共有メモリ領域内に各プロセッサ毎に個別のメモリ領域を割り当て、
このメモリ領域には各プロセッサがプログラム中のバリア同期をとる部分の実行回数に応じた値を格納するカウンタを設け、
各プロセッサは、プログラム中のバリア同期をとる部分を実行したときに、実行回数に応じた値を定める数列から実行回数に対応する値を求め、この値を自プロセッサに割り当てられた前記個別のメモリ領域のカウンタに書き込み、
他のプロセッサに割り当てられたメモリ領域すべてに同一の値または前記数列において該実行回数に1を加えた回数に応じた値が書き込まれたことを判定した後に、後のプログラムの実行を行うことを特徴とするマルチプロセッサシステムの同期方法。 - 前記プロセッサはキャッシュメモリを有し、前記各プロセッサに個別に割り当てるメモリ領域のメモリ上のアドレスの間隔を、該プロセッサに搭載されるキャッシュメモリ間のコヒーレンスを保つための管理における処理単位以上に大きくすることを特徴とする請求項1または請求項2に記載のマルチプロセッサシステムの同期方法。
- 前記プロセッサはキャッシュメモリと、各キャッシュメモリ間のコヒーレンスを保つ機構を有し、前記各プロセッサ毎に割り当てる個別のメモリ領域用のキャッシュメモリを設定し、該キャッシュメモリを利用してバリア同期を行うことを特徴とする請求項1または請求項2に記載のマルチプロセッサシステムの同期方法。
- 前記プログラム中のバリア同期をとる部分の実行回数に応じて一意の値を定める数列は、一定の実行回数毎に同一の数列を繰り返すことを特徴とする請求項2に記載のマルチプロセッサシステムの同期方法。
- 前記数列は、少なくとも現在のバリア同期が実行中であることを示す値と、現在のバリア同期が終了したことを示す値と、次のバリア同期が終了したことを示す値の少なくとも3つの値を備えることを特徴とする請求項5に記載のマルチプロセッサシステムの同期方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003300510A JP4276028B2 (ja) | 2003-08-25 | 2003-08-25 | マルチプロセッサシステムの同期方法 |
US10/894,064 US7191294B2 (en) | 2003-08-25 | 2004-07-20 | Method for synchronizing processors in a multiprocessor system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003300510A JP4276028B2 (ja) | 2003-08-25 | 2003-08-25 | マルチプロセッサシステムの同期方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005071109A true JP2005071109A (ja) | 2005-03-17 |
JP4276028B2 JP4276028B2 (ja) | 2009-06-10 |
Family
ID=34213833
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003300510A Expired - Fee Related JP4276028B2 (ja) | 2003-08-25 | 2003-08-25 | マルチプロセッサシステムの同期方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7191294B2 (ja) |
JP (1) | JP4276028B2 (ja) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008155806A1 (ja) | 2007-06-20 | 2008-12-24 | Fujitsu Limited | バリア同期方法、装置、及びマルチコアプロセッサ |
KR101029769B1 (ko) | 2008-11-19 | 2011-04-19 | 후지쯔 가부시끼가이샤 | 배리어 동기 장치, 배리어 동기 처리 시스템 및 방법, 리덕션 연산 장치, 리덕션 연산 처리 시스템 및 방법 |
US8108660B2 (en) | 2008-01-25 | 2012-01-31 | Renesas Electronics Corporation | Multiprocessor system and method of synchronization for multiprocessor system |
JP2013137833A (ja) * | 2013-04-08 | 2013-07-11 | Waseda Univ | マルチプロセッサシステムおよびマルチプロセッサシステムの同期方法 |
JP2013174943A (ja) * | 2012-02-23 | 2013-09-05 | Nec Corp | 超並列計算機、同期方法、同期プログラム |
DE102015213370A1 (de) | 2014-07-18 | 2016-01-21 | Denso Corporation | Datenverarbeitungsvorrichtung |
JP2016525746A (ja) * | 2013-08-13 | 2016-08-25 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | 動的幅計算を用いたバリア同期 |
JP2017010364A (ja) * | 2015-06-24 | 2017-01-12 | 株式会社デンソー | データ処理装置 |
JP2017062843A (ja) * | 2016-11-30 | 2017-03-30 | 学校法人早稲田大学 | マルチプロセッサシステム |
US9891655B2 (en) | 2014-12-05 | 2018-02-13 | Fujitsu Limited | Parallel operation system, apparatus and medium |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7937709B2 (en) | 2004-12-29 | 2011-05-03 | Intel Corporation | Synchronizing multiple threads efficiently |
US7464115B2 (en) * | 2005-04-25 | 2008-12-09 | Silicon Graphics, Inc. | Node synchronization for multi-processor computer systems |
JP4831599B2 (ja) * | 2005-06-28 | 2011-12-07 | ルネサスエレクトロニクス株式会社 | 処理装置 |
US7770170B2 (en) * | 2005-07-12 | 2010-08-03 | Microsoft Corporation | Blocking local sense synchronization barrier |
US7587555B2 (en) * | 2005-11-10 | 2009-09-08 | Hewlett-Packard Development Company, L.P. | Program thread synchronization |
US7555607B2 (en) * | 2005-11-10 | 2009-06-30 | Hewlett-Packard Development Company, L.P. | Program thread syncronization for instruction cachelines |
US7353346B2 (en) * | 2006-03-24 | 2008-04-01 | International Business Machines Corporation | Read-copy-update (RCU) operations with reduced memory barrier usage |
US7818306B2 (en) * | 2006-03-24 | 2010-10-19 | International Business Machines Corporation | Read-copy-update (RCU) operations with reduced memory barrier usage |
GB0613289D0 (en) * | 2006-07-04 | 2006-08-16 | Imagination Tech Ltd | Synchronisation of execution threads on a multi-threaded processor |
US7925791B2 (en) * | 2006-07-17 | 2011-04-12 | The Math Works, Inc. | Recoverable error detection for concurrent computing programs |
JP4745904B2 (ja) * | 2006-07-18 | 2011-08-10 | 株式会社日本自動車部品総合研究所 | 電子装置 |
EP1953643A3 (en) * | 2007-02-01 | 2009-12-16 | Denso Corporation | Calculation apparatus provided with a plurality of calculating units which access a single memory |
US8060881B2 (en) * | 2007-05-15 | 2011-11-15 | Microsoft Corporation | Small barrier with local spinning |
US20090006507A1 (en) * | 2007-06-27 | 2009-01-01 | Mingnan Guo | System and method for ordering reclamation of unreachable objects |
WO2009028231A1 (ja) * | 2007-08-24 | 2009-03-05 | Nec Corporation | 通信方法 |
US8065681B2 (en) * | 2007-10-12 | 2011-11-22 | International Business Machines Corporation | Generic shared memory barrier |
US8539188B2 (en) * | 2008-01-30 | 2013-09-17 | Qualcomm Incorporated | Method for enabling multi-processor synchronization |
US8799629B2 (en) * | 2008-12-04 | 2014-08-05 | Microsoft Corporation | Parallel execution of a loop |
KR101266747B1 (ko) * | 2009-01-23 | 2013-05-22 | 알까뗄 루슨트 | 실시간 분산 시스템의 분산 모듈에서, 다른 분산 모듈들과 동기적으로 동작하기 위해 사용되는 방법, 디바이스, 신호 프로세싱 디바이스 및 mimo 통신 장비 |
US8924984B2 (en) | 2009-06-26 | 2014-12-30 | Microsoft Corporation | Lock-free barrier with dynamic updating of participant count |
DE102011084569B4 (de) * | 2011-10-14 | 2019-02-21 | Continental Automotive Gmbh | Verfahren zum Betreiben eines informationstechnischen Systems und informationstechnisches System |
US9846673B2 (en) | 2011-11-04 | 2017-12-19 | Waseda University | Processor, accelerator, and direct memory access controller within a processor core that each reads/writes a local synchronization flag area for parallel execution |
US8869168B2 (en) * | 2012-05-14 | 2014-10-21 | International Business Machines Corporation | Scheduling synchronization in association with collective operations in a parallel computer |
JP5994601B2 (ja) * | 2012-11-27 | 2016-09-21 | 富士通株式会社 | 並列計算機、並列計算機の制御プログラム及び並列計算機の制御方法 |
CN104932947B (zh) * | 2014-03-17 | 2018-06-05 | 华为技术有限公司 | 一种栅栏同步方法及设备 |
EP2950214B1 (fr) * | 2014-05-23 | 2024-04-03 | Kalray | Barriere de synchronisation materielle entre elements de traitement |
US10318355B2 (en) * | 2017-01-24 | 2019-06-11 | Oracle International Corporation | Distributed graph processing system featuring interactive remote control mechanism including task cancellation |
CN108572926B (zh) * | 2017-03-13 | 2022-02-22 | 阿里巴巴集团控股有限公司 | 一种用于同步中央处理器所属缓存的方法和装置 |
US11461130B2 (en) | 2020-05-26 | 2022-10-04 | Oracle International Corporation | Methodology for fast and seamless task cancelation and error handling in distributed processing of large graph data |
EP4206995A1 (en) * | 2021-12-30 | 2023-07-05 | Rebellions Inc. | Neural processing device and method for synchronization thereof |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09305546A (ja) | 1996-05-17 | 1997-11-28 | Nec Corp | マルチプロセッサシステム及びその同期方法 |
-
2003
- 2003-08-25 JP JP2003300510A patent/JP4276028B2/ja not_active Expired - Fee Related
-
2004
- 2004-07-20 US US10/894,064 patent/US7191294B2/en not_active Expired - Fee Related
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008155806A1 (ja) | 2007-06-20 | 2008-12-24 | Fujitsu Limited | バリア同期方法、装置、及びマルチコアプロセッサ |
US7971029B2 (en) | 2007-06-20 | 2011-06-28 | Fujitsu Limited | Barrier synchronization method, device, and multi-core processor |
US8108660B2 (en) | 2008-01-25 | 2012-01-31 | Renesas Electronics Corporation | Multiprocessor system and method of synchronization for multiprocessor system |
KR101029769B1 (ko) | 2008-11-19 | 2011-04-19 | 후지쯔 가부시끼가이샤 | 배리어 동기 장치, 배리어 동기 처리 시스템 및 방법, 리덕션 연산 장치, 리덕션 연산 처리 시스템 및 방법 |
JP2013174943A (ja) * | 2012-02-23 | 2013-09-05 | Nec Corp | 超並列計算機、同期方法、同期プログラム |
JP2013137833A (ja) * | 2013-04-08 | 2013-07-11 | Waseda Univ | マルチプロセッサシステムおよびマルチプロセッサシステムの同期方法 |
JP2016525746A (ja) * | 2013-08-13 | 2016-08-25 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | 動的幅計算を用いたバリア同期 |
DE102015213370A1 (de) | 2014-07-18 | 2016-01-21 | Denso Corporation | Datenverarbeitungsvorrichtung |
JP2016024614A (ja) * | 2014-07-18 | 2016-02-08 | 株式会社デンソー | データ処理装置 |
US9891655B2 (en) | 2014-12-05 | 2018-02-13 | Fujitsu Limited | Parallel operation system, apparatus and medium |
JP2017010364A (ja) * | 2015-06-24 | 2017-01-12 | 株式会社デンソー | データ処理装置 |
JP2017062843A (ja) * | 2016-11-30 | 2017-03-30 | 学校法人早稲田大学 | マルチプロセッサシステム |
Also Published As
Publication number | Publication date |
---|---|
US7191294B2 (en) | 2007-03-13 |
US20050050374A1 (en) | 2005-03-03 |
JP4276028B2 (ja) | 2009-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4276028B2 (ja) | マルチプロセッサシステムの同期方法 | |
JP6525286B2 (ja) | プロセッサコア及びプロセッサシステム | |
Li et al. | NUMA-aware shared-memory collective communication for MPI | |
US8732711B2 (en) | Two-level scheduler for multi-threaded processing | |
US10007527B2 (en) | Uniform load processing for parallel thread sub-sets | |
US7398376B2 (en) | Instructions for ordering execution in pipelined processes | |
TWI483180B (zh) | 重疊原子區域執行的方法 | |
US20090240895A1 (en) | Systems and methods for coalescing memory accesses of parallel threads | |
KR20100115578A (ko) | 재구성 가능한 프로세서 및 그 재구성 방법 | |
US20120254551A1 (en) | Method of generating code executable by processor | |
US7788672B2 (en) | System for controlling assignment of a plurality of modules of a program to available execution units based on speculative executing and granularity adjusting | |
WO2015148679A1 (en) | Method and processor for processing data | |
TW201435734A (zh) | 條件阻擋以及急性阻擋的硬體排程之系統及方法 | |
JP2002251321A (ja) | キャッシュメモリシステム装置 | |
US11226798B2 (en) | Information processing device and information processing method | |
JP5680466B2 (ja) | 並列処理システム及び並列処理システムの動作方法 | |
JP6732032B2 (ja) | 情報処理装置 | |
US20110320781A1 (en) | Dynamic data synchronization in thread-level speculation | |
JP6973856B2 (ja) | 情報処理装置、実行方法及びプログラムの修正方法 | |
Ma et al. | Effective data exchange in parallel computing | |
CN117331669A (zh) | 基于锁语义实现应用透明的动态处理器缓存分区调度方法和系统 | |
CN116685958A (zh) | 一种访问数据的方法和装置 | |
Lo et al. | Dynamic Data Migration to Eliminate Bank-level Interference for Stencil Applications in Multicore Systems | |
JP2001160035A (ja) | 並列化コンパイラにおけるループスケジューリング方法 | |
JPH02144757A (ja) | 共有変数アクセス方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060322 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080225 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080311 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080509 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080826 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081027 |
|
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: 20090303 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090305 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120313 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120313 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130313 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130313 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |