JP5146444B2 - マルチプロセッサシステム及びその制御方法 - Google Patents
マルチプロセッサシステム及びその制御方法 Download PDFInfo
- Publication number
- JP5146444B2 JP5146444B2 JP2009505042A JP2009505042A JP5146444B2 JP 5146444 B2 JP5146444 B2 JP 5146444B2 JP 2009505042 A JP2009505042 A JP 2009505042A JP 2009505042 A JP2009505042 A JP 2009505042A JP 5146444 B2 JP5146444 B2 JP 5146444B2
- Authority
- JP
- Japan
- Prior art keywords
- data transfer
- execution
- data
- dependency
- multiprocessor system
- 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.)
- Expired - Fee Related
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/54—Interprogram communication
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
Description
If (k) {
Y=B()
}
Z=C(Y)
ここで、条件kが成立した場合、プログラムブロックCにおいて、プログラムブロックBの処理結果B()が使用される。一方、条件kが成立しない場合、プログラムブロックCにおいて、プログラムブロックAの処理結果A()がそのまま使用される。こうして、処理の制御の流れが確定する。
101、102、103 プロセッサ
111 メモリ
121、122 データ転送装置
150 システムバス
200 分散型マルチプロセッサシステム
201、202、203 プロセッサ
211、212、213 メモリ
221、222、223 データ転送装置
231、232、233 通信装置
251、252、253 システムバス
300 マルチプロセッサシステム
310 (プログラム)メモリ
320 実行制御部
321 実行登録部
322 依存関係チェック・実行開始部
323 実行完了部
330 内部データ
331 実行待ち情報
332 実行パラメータ情報
340 データ転送装置
350 プロセッサ
400、500、600 マルチプロセッサシステム
410、510、610 (プログラム)メモリ
420、520、620 実行制御部
421、521、621 実行登録部
422、522、622 依存関係チェック・実行開始部
423、523、623 実行完了部
430、530、630 内部データ
431、531、631 実行待ち情報
432、532、632 実行パラメータ情報
433、533、633 データ依存関係情報
440、540 データ転送装置
450、550、650 プロセッサ
525 キャンセル制御部
Y=A();
Z=C(Y);
このプログラムを手続要求側プロセッサのプログラム(疑似コード、以下同様である)として記述したものが、プログラム310である。なお、プログラム310では、手続の依存関係は省略している。
[第1の実施形態]
図11は、本発明の第1の実施形態によるマルチプロセッサシステム400を示す図である。マルチプロセッサシステム400は、図10に示した従来のマルチプロセッサシステム300と同様に、プログラム410を記憶するメモリ、実行制御部420、内部データ430、データ転送装置440、プロセッサ450を有している。実行制御部420は、図10の実行制御部と同様に、実行登録部421、依存関係チェック・実行開始部422、実行完了部423を有しているが、実行登録部421は、実行制御及びデータ依存関係更新の点で、図10に示した実行登録部321と異なる。依存関係チェック・実行開始部422は、依存関係更新の点で、図10に示した依存関係チェック・実行開始部322と異なる。また、実行完了部423も、依存関係更新の点で、図10に示した実行完了部323と異なる。
[実行例1]
実行例1は、先行するデータ転送が実行完了後に、後続のデータ転送を登録する場合である。
If (k) {
Y=B();
}
Z=C(Y);
これを実行制御プログラムで表したものがプログラム410である。プログラムの実行開始前には、内部データ430の実行待ち情報431、実行パラメータ情報432には情報が登録されておらず、データ依存関係情報433も「未登録」状態となっている。
[実行例2]
実行例2は、先行するデータ転送が未実行のときに、後続のデータ転送を登録する場合である。初期状態は、実行例1について図12Aを参照して説明した状態と同じである。図14Aは、実行例2において、プログラム410のstart A(); move Y from Aが実行登録された状態を示す図である。実行登録部421は、該当するプログラムステップを読み、実行待ち情報431と実行パラメータ情報432に登録をする。ここで、move Y from Aはデータ転送の要求であるが、これ以前に登録されている実行待ち情報421はないから、実行登録部421は、プログラムステップmove Y from Aに対応する実行パラメータ情報を設定し、データ依存関係情報433の状態を「未実行」に設定する。dispatch ()命令により、依存関係が満たされたものから実行される。
[実行例3]
実行例3は、先行するデータ転送が実行中のときに、後続のデータ転送を登録する場合である。初期状態は、実行例1について図12Aを参照して説明した状態と同じである。図16Aは、実行例3において、プログラム410のstart A(); move Y from Aが実行登録され、A()の実行が完了し、A→Cが実行されている時の状態を示す図である。実行待ち情報431のデータ転送A→Cは削除され、データ依存関係情報433は「実行中」に設定されている。データ転送装置440はデータ転送A→Cを実行中である。
[第2の実施形態]
以下に説明する第2の実施形態は、プログラム中に、先行するデータ転送をキャンセルすることを明示的に指定するものである。分岐条件の成立が確定した後、プログラム中に明示的にキャンセル動作を指定する。このようにすることで、実行制御部での処理が簡単になり、システム開発やメンテナンスに要するコストを削減することができる。
[第3の実施形態]
この実施形態では、分岐条件kが成立して、先行するデータ転送が実行中であるが上書きされることが分かった場合、先行するデータ転送が終了するまで後続のデータ転送を待たせる。
[第4の実施形態]
図25は、本発明の第4の実施形態による、マルチプロセッサシステム600を示す図である。本実施形態のマルチプロセッサシステム600は、実行ユニット中にプロセッサ650を有するが、データ転送を行う専用のデータ転送装置を持たない点で、上記の実施形態と異なる。データ転送は、プロセッサ650により行うことができる。
[第5の実施形態]
図26は、本発明の並列プログラム実行装置の一実施形態のハードウェアを示す、分散型マルチプロセッサシステムを示すブロック図である。図26に示した分散型マルチプロセッサシステム200は、複数のプロセッサ201、202、203等、メモリ211、212、213等、データ転送装置221、222、223等、通信装置231、232、233等、を含み、これらの構成要素は、それぞれ共通のシステムバス251、252、253等を介して命令、アドレス情報、データをやりとりすることができるように構成されている。すなわち、プロセッサ201、メモリ211、データ転送装置221、通信装置231がシステムバス251を介して命令、アドレス情報、データをやりとりすることができるように構成され、1つのサブシステムを構成している。プロセッサ202、メモリ212、データ転送装置222、通信装置232がシステムバス252を介して命令、アドレス情報、データをやりとりすることができるように構成され、1つのサブシステムを構成している。さらに、プロセッサ203、メモリ213、データ転送装置223、通信装置233がシステムバス253を介して命令、アドレス情報、データをやりとりすることができるように構成され、1つのサブシステムを構成している。これらのサブシステムは、共通の通信路260を介して通信することができる。
Claims (8)
- マルチプロセッサシステムであって、
複数のプロセッサと、
前記複数のプロセッサによる処理及び前記複数のプロセッサ間のデータ転送を制御する実行制御部と、
前記データ転送の状態を示すデータ依存関係情報を含む内部データ記憶部と、
を有し、
前記実行制御部は、先行するデータ転送が実行登録された後に、前記プロセッサによる前記処理に対する制御の流れが確定し、前記先行するデータ転送と同一の転送先への別のデータ転送が必要となったとき、前記データ依存関係情報に基づき前記先行するデータ転送をキャンセルすることを特徴とするマルチプロセッサシステム。 - 請求項1に記載のマルチプロセッサシステムであって、
前記実行制御部は、前記先行するデータ転送が実行可能となったとき、前記制御の流れが確定する前であっても前記先行するデータ転送の実行を開始することを特徴とするマルチプロセッサシステム。 - 請求項1又は2に記載のマルチプロセッサシステムであって、
前記実行制御部は、前記データ依存関係情報に基づき前記先行するデータ転送をキャンセルするときに、該キャンセルされるデータ転送が未実行である場合、該未実行のデータ転送の実行登録を削除することを特徴とするマルチプロセッサシステム。 - 請求項1又は2に記載のマルチプロセッサシステムであって、
前記実行制御部は、前記データ依存関係情報に基づき前記先行するデータ転送をキャンセルするときに、該キャンセルされるデータ転送が実行中である場合、該実行中のデータ転送を中止することを特徴とするマルチプロセッサシステム。 - 請求項1乃至4のいずれか一つに記載のマルチプロセッサシステムであって、
前記内部データ記憶部は、実行されるデータ転送が登録される実行待ち情報と、前記実行されるデータ転送に係わる実行パラメータが登録される実行パラメータ情報とをさらに含むことを特徴とするマルチプロセッサシステム。 - 請求項1乃至5のいずれか一つに記載のマルチプロセッサシステムであって、
前記複数のプロセッサ間のデータ転送を実行する少なくとも1つのデータ転送装置を有することを特徴とするマルチプロセッサシステム。 - 複数のプロセッサと、前記複数のプロセッサ間のデータ転送の状態を示すデータ依存関係情報を含む内部データ記憶部とを有するマルチプロセッサシステムの制御方法であって、
先行するデータ転送を実行登録し、
前記複数のプロセッサによる処理に対する制御の流れが確定したか判定し、
前記制御の流れが確定し、前記先行するデータ転送と同一の転送先への別のデータ転送が必要となったとき、前記データ依存関係情報に基づき前記先行するデータ転送をキャンセルする
ことを特徴とする制御方法。 - 複数のプロセッサと、前記複数のプロセッサ間のデータ転送の状態を示すデータ依存関係情報を含む内部データ記憶部とを有するマルチプロセッサシステムを制御するコンピュータプログラムであって、前記複数のプロセッサのうちの少なくとも1つのプロセッサに、
先行するデータ転送を実行登録し、前記複数のプロセッサによる処理に対する制御の流れが確定したか判定し、前記制御の流れが確定し、前記先行するデータ転送と同一の転送先への別のデータ転送が必要となったとき、前記データ依存関係情報に基づき前記先行するデータ転送をキャンセルすることを、
実行させることを特徴とするコンピュータプログラム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2007/055743 WO2008114443A1 (ja) | 2007-03-20 | 2007-03-20 | マルチプロセッサシステム及びその制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2008114443A1 JPWO2008114443A1 (ja) | 2010-07-01 |
JP5146444B2 true JP5146444B2 (ja) | 2013-02-20 |
Family
ID=39765564
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009505042A Expired - Fee Related JP5146444B2 (ja) | 2007-03-20 | 2007-03-20 | マルチプロセッサシステム及びその制御方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7953962B2 (ja) |
JP (1) | JP5146444B2 (ja) |
WO (1) | WO2008114443A1 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
PL2254046T3 (pl) * | 2009-05-18 | 2014-12-31 | Amadeus Sas | Sposób i system zarządzania kolejnością wiadomości |
JP5773065B2 (ja) * | 2012-03-19 | 2015-09-02 | 富士通株式会社 | スケジューリングプログラム、マルチコアプロセッサシステム、およびスケジューリング方法 |
US9110963B2 (en) * | 2012-04-10 | 2015-08-18 | Dell Inc | Transparent adaptive file transform |
JP2015210791A (ja) * | 2014-04-30 | 2015-11-24 | 富士通株式会社 | 分散処理装置、分散処理システム、および分散処理プログラム |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04181460A (ja) * | 1990-11-16 | 1992-06-29 | Hitachi Ltd | マルチプロセッサシステム |
JPH08255144A (ja) * | 1995-03-16 | 1996-10-01 | Fujitsu Ltd | データ転送システム |
JPH1115803A (ja) * | 1997-06-19 | 1999-01-22 | Hitachi Ltd | 並列計算機におけるデータ送受信方法 |
JP2000056971A (ja) * | 1998-08-04 | 2000-02-25 | Fujitsu Ltd | 高速演算処理装置および記録媒体 |
JP3035108B2 (ja) * | 1993-04-02 | 2000-04-17 | 株式会社東芝 | 並列演算処理装置 |
JP2000181711A (ja) * | 1998-12-18 | 2000-06-30 | Hitachi Ltd | 命令フェッチのキャンセル方式 |
JP2003263331A (ja) * | 2002-03-07 | 2003-09-19 | Toshiba Corp | マルチプロセッサシステム |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3035108U (ja) | 1996-08-26 | 1997-03-11 | 有限会社カンタム | 微弱電磁波放射装置 |
US6202089B1 (en) * | 1998-06-30 | 2001-03-13 | Microsoft Corporation | Method for configuring at runtime, identifying and using a plurality of remote procedure call endpoints on a single server process |
JP2000099332A (ja) * | 1998-09-25 | 2000-04-07 | Hitachi Ltd | 遠隔手続き呼び出し最適化方法とこれを用いたプログラム実行方法 |
US7577834B1 (en) * | 2000-05-09 | 2009-08-18 | Sun Microsystems, Inc. | Message authentication using message gates in a distributed computing environment |
US6950925B1 (en) | 2002-08-28 | 2005-09-27 | Advanced Micro Devices, Inc. | Scheduler for use in a microprocessor that supports data-speculative execution |
JP4673585B2 (ja) | 2004-08-05 | 2011-04-20 | 富士通株式会社 | メモリシステム制御装置およびメモリシステム制御方法 |
-
2007
- 2007-03-20 WO PCT/JP2007/055743 patent/WO2008114443A1/ja active Application Filing
- 2007-03-20 JP JP2009505042A patent/JP5146444B2/ja not_active Expired - Fee Related
-
2009
- 2009-09-18 US US12/585,620 patent/US7953962B2/en not_active Expired - Fee Related
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04181460A (ja) * | 1990-11-16 | 1992-06-29 | Hitachi Ltd | マルチプロセッサシステム |
JP3035108B2 (ja) * | 1993-04-02 | 2000-04-17 | 株式会社東芝 | 並列演算処理装置 |
JPH08255144A (ja) * | 1995-03-16 | 1996-10-01 | Fujitsu Ltd | データ転送システム |
JPH1115803A (ja) * | 1997-06-19 | 1999-01-22 | Hitachi Ltd | 並列計算機におけるデータ送受信方法 |
JP2000056971A (ja) * | 1998-08-04 | 2000-02-25 | Fujitsu Ltd | 高速演算処理装置および記録媒体 |
JP2000181711A (ja) * | 1998-12-18 | 2000-06-30 | Hitachi Ltd | 命令フェッチのキャンセル方式 |
JP2003263331A (ja) * | 2002-03-07 | 2003-09-19 | Toshiba Corp | マルチプロセッサシステム |
Also Published As
Publication number | Publication date |
---|---|
JPWO2008114443A1 (ja) | 2010-07-01 |
WO2008114443A1 (ja) | 2008-09-25 |
US7953962B2 (en) | 2011-05-31 |
US20100070739A1 (en) | 2010-03-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8145820B2 (en) | Multiprocessor system and computer program product | |
US9329911B2 (en) | Driver initialization for a process in user mode | |
US11055132B2 (en) | Multicore page fault processing | |
JP5146444B2 (ja) | マルチプロセッサシステム及びその制御方法 | |
JP4019073B2 (ja) | キャッシュ可能なdma | |
KR101858597B1 (ko) | 프로세싱 인 메모리 시스템의 연산할 작업, 연산할 데이터 및 연산 결과 데이터 전달 방법 및 프로세싱 인 메모리 시스템 | |
JP5213485B2 (ja) | マルチプロセッサシステムにおけるデータ同期方法及びマルチプロセッサシステム | |
JP2001333137A (ja) | 自主動作通信制御装置及び自主動作通信制御方法 | |
JP4856413B2 (ja) | 演算処理装置、情報処理装置、及び演算処理装置の制御方法 | |
JP5168800B2 (ja) | マルチプロセッサシステム | |
JPH04186453A (ja) | ファイル転送方式 | |
JP2003108513A (ja) | ハードウェア・チェーン・プル | |
JP2001188745A (ja) | 制御装置及び制御方法 | |
JPH0895810A (ja) | バッチジョブ実行方式 | |
JP2020086807A (ja) | 車両制御装置およびプログラム実行方法 | |
JP5555514B2 (ja) | プロセッサシステム | |
JP2022078486A (ja) | 記憶制御システム、及び、記憶制御方法 | |
KR102280241B1 (ko) | 메모리 액세스 제어 시스템, 메모리 액세스 제어 장치 및 이를 이용한 메모리 액세스 제어 방법 | |
JP4618240B2 (ja) | オブジェクト指向型車両用制御システム及びプログラム搭載支援システム | |
JPS62177653A (ja) | 共有メモリ制御方式 | |
JP2006048163A (ja) | ストアデータ制御装置およびストアデータ制御方法 | |
JPH01137359A (ja) | プロセッサの制御方法 | |
JPH0728703A (ja) | 排他制御可能なマルチプロセッサシステム | |
KR20240067955A (ko) | 추측적으로 명령어를 실행하기 위한 약한 캐시 라인 무효화 요청 | |
JP2018120484A (ja) | Dma転送制御装置、dma転送制御方法、及び、dma転送制御プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120529 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120723 |
|
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: 20121030 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20121112 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5146444 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20151207 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |