JP5293609B2 - マルチプロセッサ並びにそのキャッシュ同期制御方法及びプログラム - Google Patents
マルチプロセッサ並びにそのキャッシュ同期制御方法及びプログラム Download PDFInfo
- Publication number
- JP5293609B2 JP5293609B2 JP2009539132A JP2009539132A JP5293609B2 JP 5293609 B2 JP5293609 B2 JP 5293609B2 JP 2009539132 A JP2009539132 A JP 2009539132A JP 2009539132 A JP2009539132 A JP 2009539132A JP 5293609 B2 JP5293609 B2 JP 5293609B2
- Authority
- JP
- Japan
- Prior art keywords
- task
- cache
- data
- processor
- storage device
- 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
- 238000000034 method Methods 0.000 title claims abstract description 105
- 230000001360 synchronised effect Effects 0.000 claims abstract description 9
- 238000012545 processing Methods 0.000 claims description 56
- 230000008569 process Effects 0.000 claims description 46
- 238000012217 deletion Methods 0.000 claims description 21
- 230000037430 deletion Effects 0.000 claims description 21
- 230000008878 coupling Effects 0.000 claims description 8
- 238000010168 coupling process Methods 0.000 claims description 8
- 238000005859 coupling reaction Methods 0.000 claims description 8
- 230000006870 function Effects 0.000 description 73
- 239000013598 vector Substances 0.000 description 13
- 230000004888 barrier function Effects 0.000 description 11
- 238000003491 array Methods 0.000 description 5
- 238000011161 development Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 241001522296 Erithacus rubecula Species 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 239000000284 extract Substances 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0842—Multiuser, multiprocessor or multiprocessing cache systems for multiprocessing or multitasking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
- G06F12/0837—Cache consistency protocols with software control, e.g. non-cacheable data
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
本発明は、日本国特許出願:特願2007−285299号(2007年11月 1日出願)の優先権主張に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は、マルチプロセッサ並びにそのキャッシュ同期制御方法及びプログラムに関する。
以下の分析は、本発明者によってなされたものである。
第1の展開形態のキャッシュ同期制御方法は、前記第1の工程において、前記タスクを管理するプロセッサはそれ以外のプロセッサに自己のキャッシュから前記入力データに相当するデータを削除するように通知し、前記第2の工程において、前記タスクを実行したプロセッサはそれ以外のプロセッサに自己のキャッシュから前記出力データに相当するデータを削除するように通知することが好ましい。
本発明の第2の視点に係るキャッシュ同期制御方法は、複数のプロセッサと、各プロセッサに付随するキャッシュと、記憶装置と、これらを接続する結合網とを含んで構成されるマルチプロセッサにおいて、プログラムをタスクと呼ばれる複数の小プログラムに分割し、タスクへ他タスクから与えられたデータを入力データとし、タスクが他タスクへ受け渡すデータを出力データとし、前記タスクを前記マルチプロセッサにおいて実行する場合に前記キャッシュの同期を制御する方法であって、タスクの実行前に、該タスクを管理するプロセッサは該タスクの入力データをキャッシュから記憶装置に書き戻し、タスクの入力データの古いコピーを他のプロセッサのキャッシュから削除する第1の工程と、タスクの実行後に、タスクの出力データをキャッシュから記憶装置に書き戻し、タスクの出力データの古いコピーを他のプロセッサのキャッシュから削除する第2の工程と、を含む。
第3の展開形態のマルチプロセッサにおいて、前記複数のプロセッサはマスタプロセッサとスレーブプロセッサとを含み、前記スレーブプロセッサは前記タスクを実行し、前記マスタプロセッサは前記タスクを前記スレーブプロセッサに割り当てることが好ましい。
第4の展開形態のマルチプロセッサは、前記複数のプロセッサ及び前記記憶装置が結合されたバスを備えることが好ましい。
本発明の第4の視点に係るマルチプロセッサは、複数のプロセッサと、各プロセッサに付随するキャッシュと、記憶装置と、これらを接続する結合網とを含んで構成されるとともに、プログラムをタスクと呼ばれる複数の小プログラムに分割し、各タスクを前記プロセッサのいずれかにおいて実行するように構成されたマルチプロセッサであって、前記プロセッサはデータ書き戻し部とデータ削除部とを備え、前記データ書き戻し部は各タスクの実行前にそのタスクの入力データを保持するキャッシュから記憶装置に入力データを書き戻し、さらに、各タスクの実行後にそのタスクの出力データを保持するキャッシュから記憶装置に出力データを書き戻すように構成されるとともに、前記データ削除部は各タスクの実行前に前記データ書き戻し部によって記憶装置に書き戻された入力データの古いコピーを保持するキャッシュからその古いコピーを削除し、さらに、各タスクの実行後に前記データ書き戻し部によって記憶装置に書き戻された出力データの古いコピーを保持するキャッシュからその古いコピーを削除するように構成される。
本発明の第7の視点に係るキャッシュ同期制御プログラムは、複数のプロセッサと、各プロセッサに付随するキャッシュと、記憶装置と、これらを接続する結合網とを含んで構成されるマルチプロセッサにおいて、プログラムをタスクと呼ばれる複数の小プログラムに分割し、各タスクを前記プロセッサのいずれかにおいて実行する場合に前記キャッシュの同期制御を前記プロセッサに実行させるキャッシュ同期制御プログラムであって、各タスクの実行前に、そのタスクの入力データを保持するキャッシュから記憶装置に入力データを書き戻す処理と、その入力データの古いコピーを保持するキャッシュからその古いコピーを削除する処理と、を前記プロセッサに実行させるとともに、各タスクの実行後に、そのタスクの出力データを保持するキャッシュから記憶装置に出力データを書き戻す処理と、その出力データの古いコピーを保持するキャッシュからその古いコピーを削除する処理と、を前記プロセッサに実行させる。
11 命令キャッシュ
12 データキャッシュ
13 データ書き戻し部
14 データ削除部
21〜24 スレーブプロセッサ
30 記憶装置
40 バス
本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素の多様な組み合わせないし選択が可能である。
Claims (11)
- キャッシュを有する複数のプロセッサと、該複数のプロセッサによって共有される記憶装置とを備えたマルチプロセッサにおけるキャッシュ同期制御方法であって、
タスクの実行前に、該タスクを管理するプロセッサは該タスクの入力データを前記記憶装置に書き戻すとともに、それ以外のプロセッサは自己のキャッシュから該入力データに相当するデータを削除する第1の工程と、
前記タスクの実行後に、前記タスクを実行したプロセッサは前記タスクの出力データを前記記憶装置に書き戻すとともに、それ以外のプロセッサは自己のキャッシュから該出力データに相当するデータを削除する第2の工程と、を含むことを特徴とする、キャッシュ同期制御方法。 - 前記第1の工程において、前記タスクを管理するプロセッサはそれ以外のプロセッサに自己のキャッシュから前記入力データに相当するデータを削除するように通知し、
前記第2の工程において、前記タスクを実行したプロセッサはそれ以外のプロセッサに自己のキャッシュから前記出力データに相当するデータを削除するように通知することを特徴とする、請求項1に記載のキャッシュ同期制御方法。 - 複数のプロセッサと、各プロセッサに付随するキャッシュと、記憶装置と、これらを接続する結合網とを含んで構成されるマルチプロセッサにおいて、プログラムをタスクと呼ばれる複数の小プログラムに分割し、タスクへ他タスクから与えられたデータを入力データとし、タスクが他タスクへ受け渡すデータを出力データとし、前記タスクを前記マルチプロセッサにおいて実行する場合に前記キャッシュの同期を制御する方法であって、
タスクの実行前に、該タスクを管理するプロセッサは該タスクの入力データを記憶装置に書き戻し、該タスクの入力データの古いコピーを他のプロセッサのキャッシュから削除する第1の工程と、
タスクの実行後に、タスクの出力データをキャッシュから記憶装置に書き戻し、タスクの出力データの古いコピーを他のプロセッサのキャッシュから削除する第2の工程と、を含むことを特徴とするキャッシュ同期制御方法。 - 前記第1の工程において、どの入力データを記憶装置に書き戻すべきかという情報が与えられており、その情報において指定された入力データのみをキャッシュから記憶装置に書き戻すことを特徴とする、請求項3に記載のキャッシュ同期制御方法。
- キャッシュを有する複数のプロセッサと、該複数のプロセッサによって共有される記憶装置とを備え、
タスクの実行前に、該タスクを管理するプロセッサは該タスクの入力データを前記記憶装置に書き戻すとともに、それ以外のプロセッサは自己のキャッシュから該入力データに相当するデータを削除し、
前記タスクの実行後に、前記タスクを実行したプロセッサは前記タスクの出力データを前記記憶装置に書き戻すとともに、それ以外のプロセッサは自己のキャッシュから該出力データに相当するデータを削除するように構成されたことを特徴とするマルチプロセッサ。 - 前記複数のプロセッサはマスタプロセッサとスレーブプロセッサとを含み、
前記スレーブプロセッサは前記タスクを実行し、
前記マスタプロセッサは前記タスクを前記スレーブプロセッサに割り当てることを特徴とする、請求項5に記載のマルチプロセッサ。 - 前記複数のプロセッサ及び前記記憶装置が結合されたバスを備えることを特徴とする、請求項5又は6に記載のマルチプロセッサ。
- 複数のプロセッサと、各プロセッサに付随するキャッシュと、記憶装置と、これらを接続する結合網とを含んで構成されるとともに、プログラムをタスクと呼ばれる複数の小プログラムに分割し、各タスクを前記プロセッサのいずれかにおいて実行するように構成されたマルチプロセッサであって、
前記プロセッサはデータ書き戻し部とデータ削除部とを備え、
前記データ書き戻し部は各タスクの実行前にそのタスクの入力データを保持するキャッシュから記憶装置に入力データを書き戻し、さらに、各タスクの実行後にそのタスクの出力データを保持するキャッシュから記憶装置に出力データを書き戻すように構成されるとともに、
前記データ削除部は各タスクの実行前に前記データ書き戻し部によって記憶装置に書き戻された入力データの古いコピーを保持するキャッシュからその古いコピーを削除し、さらに、各タスクの実行後に前記データ書き戻し部によって記憶装置に書き戻された出力データの古いコピーを保持するキャッシュからその古いコピーを削除するように構成されることを特徴とするマルチプロセッサ。 - プログラムをタスクと呼ばれる複数の小プログラムに分割し、タスクへ他タスクから与えられたデータを入力データとし、タスクが他タスクへ受け渡すデータを出力データとしたときに、タスクの入力データと出力データとにもとづいてタスクの実行順序を制御するように構成されたマスタプロセッサと、
タスクを実行するように構成された1個以上のスレーブプロセッサと、
タスクの入力データ及び出力データを記録するように構成された記憶装置と、
前記両プロセッサと記憶装置とを接続するように構成された結合網と、を備えたマルチプロセッサであって、
前記両プロセッサはキャッシュとデータ書き戻し部とデータ削除部とを備え、
前記データ書き戻し部は各タスクの実行前にそのタスクの入力データを保持するキャッシュから記憶装置に入力データを書き戻し、さらに、各タスクの実行後にそのタスクの出力データを保持するキャッシュから記憶装置に出力データを書き戻すように構成されるとともに、
前記データ削除部は各タスクの実行前に前記データ書き戻し部によって記憶装置に書き戻された入力データの古いコピーを保持するキャッシュからその古いコピーを削除し、さらに、各タスクの実行後に前記データ書き戻し部によって記憶装置に書き戻された出力データの古いコピーを保持するキャッシュからその古いコピーを削除するように構成されることを特徴とするマルチプロセッサ。 - キャッシュを有する複数のプロセッサと、該複数のプロセッサによって共有される記憶装置とを備えたマルチプロセッサにおけるキャッシュ同期制御プログラムであって、
タスクの実行前に、該タスクを管理するプロセッサに対して該タスクの入力データを前記記憶装置に書き戻す処理を実行させるとともに、それ以外のプロセッサに対して自己のキャッシュから該入力データに相当するデータを削除する処理を実行させ、
前記タスクの実行後に、前記タスクを実行したプロセッサに対して前記タスクの出力データを前記記憶装置に書き戻す処理をさせるとともに、それ以外のプロセッサに対して自己のキャッシュから該出力データに相当するデータを削除する処理を実行させることを特徴とする、キャッシュ同期制御プログラム。 - 複数のプロセッサと、各プロセッサに付随するキャッシュと、記憶装置と、これらを接続する結合網とを含んで構成されるマルチプロセッサにおいて、プログラムをタスクと呼ばれる複数の小プログラムに分割し、各タスクを前記プロセッサのいずれかにおいて実行する場合に前記キャッシュの同期制御を前記プロセッサに実行させるキャッシュ同期制御プログラムであって、
各タスクの実行前に、そのタスクの入力データを保持するキャッシュから記憶装置に入力データを書き戻す処理と、
その入力データの古いコピーを保持するキャッシュからその古いコピーを削除する処理と、を前記プロセッサに実行させるとともに、
各タスクの実行後に、そのタスクの出力データを保持するキャッシュから記憶装置に出力データを書き戻す処理と、
その出力データの古いコピーを保持するキャッシュからその古いコピーを削除する処理と、を前記プロセッサに実行させることを特徴とするキャッシュ同期制御プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009539132A JP5293609B2 (ja) | 2007-11-01 | 2008-10-31 | マルチプロセッサ並びにそのキャッシュ同期制御方法及びプログラム |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007285299 | 2007-11-01 | ||
JP2007285299 | 2007-11-01 | ||
PCT/JP2008/069918 WO2009057762A1 (ja) | 2007-11-01 | 2008-10-31 | マルチプロセッサ並びにそのキャッシュ同期制御方法及びプログラム |
JP2009539132A JP5293609B2 (ja) | 2007-11-01 | 2008-10-31 | マルチプロセッサ並びにそのキャッシュ同期制御方法及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2009057762A1 JPWO2009057762A1 (ja) | 2011-03-10 |
JP5293609B2 true JP5293609B2 (ja) | 2013-09-18 |
Family
ID=40591142
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009539132A Expired - Fee Related JP5293609B2 (ja) | 2007-11-01 | 2008-10-31 | マルチプロセッサ並びにそのキャッシュ同期制御方法及びプログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US8990511B2 (ja) |
JP (1) | JP5293609B2 (ja) |
WO (1) | WO2009057762A1 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10423424B2 (en) * | 2012-09-28 | 2019-09-24 | Nvidia Corporation | Replicated stateless copy engine |
US9244629B2 (en) * | 2013-06-25 | 2016-01-26 | Advanced Micro Devices, Inc. | Method and system for asymmetrical processing with managed data affinity |
KR20220072357A (ko) * | 2020-11-25 | 2022-06-02 | 에스케이하이닉스 주식회사 | 컨트롤러, 및 이를 포함하는 메모리 시스템 및 데이터 처리 시스템 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008204292A (ja) * | 2007-02-21 | 2008-09-04 | Toshiba Corp | メモリ管理システム |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0962576A (ja) | 1995-08-21 | 1997-03-07 | Canon Inc | 情報処理装置及びその制御方法 |
JPH0962580A (ja) | 1995-08-30 | 1997-03-07 | Canon Inc | マルチプロセッサ装置 |
US6378066B1 (en) | 1999-02-04 | 2002-04-23 | Sun Microsystems, Inc. | Method, apparatus, and article of manufacture for developing and executing data flow programs, and optimizing user input specifications |
JP4784792B2 (ja) | 1999-12-22 | 2011-10-05 | 学校法人早稲田大学 | マルチプロセッサ |
US6829665B2 (en) * | 2001-09-28 | 2004-12-07 | Hewlett-Packard Development Company, L.P. | Next snoop predictor in a host controller |
US7530066B2 (en) * | 2002-06-24 | 2009-05-05 | Chang Stephen S | Controlling snoop activities using task table in multiprocessor system |
-
2008
- 2008-10-31 US US12/734,421 patent/US8990511B2/en not_active Expired - Fee Related
- 2008-10-31 JP JP2009539132A patent/JP5293609B2/ja not_active Expired - Fee Related
- 2008-10-31 WO PCT/JP2008/069918 patent/WO2009057762A1/ja active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008204292A (ja) * | 2007-02-21 | 2008-09-04 | Toshiba Corp | メモリ管理システム |
Non-Patent Citations (1)
Title |
---|
JPN6013021614; 岩田英次 他: '統合型並列化コンパイラ・システム -コンパイラ支援型キャッシュ・コヒーレンス制御-' 情報処理学会研究報告 第90巻、第60号, 19900718, p.121-126, 社団法人情報処理学会 * |
Also Published As
Publication number | Publication date |
---|---|
US20110047335A1 (en) | 2011-02-24 |
US8990511B2 (en) | 2015-03-24 |
WO2009057762A1 (ja) | 2009-05-07 |
JPWO2009057762A1 (ja) | 2011-03-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5488697B2 (ja) | マルチコアプロセッサシステム、同期制御方法、および同期制御プログラム | |
US10324694B2 (en) | Arranging binary code based on call graph partitioning | |
US7533246B2 (en) | Application program execution enhancing instruction set generation for coprocessor and code conversion with marking for function call translation | |
JP4339371B2 (ja) | 情報処理装置および情報処理方法 | |
US9928057B2 (en) | Method of providing a non-cacheable area in memory | |
JP2003029985A (ja) | マルチスレッド実行方法及び並列プロセッサシステム | |
JP2003029986A (ja) | プロセッサ間レジスタ継承方法及びその装置 | |
JP2011118743A (ja) | ベクトル型計算機及びベクトル型計算機の命令制御方法 | |
US10031697B2 (en) | Random-access disjoint concurrent sparse writes to heterogeneous buffers | |
JP5843801B2 (ja) | 情報処理装置およびデバッグ方法 | |
US20140019710A1 (en) | Endian conversion method and system | |
JP4294059B2 (ja) | 情報処理装置および情報処理方法 | |
JP4130465B2 (ja) | メモリ転送処理サイズが異なるプロセッサに関してアトミックな処理を実行するための技術 | |
US9606923B2 (en) | Information processing device with shared memory, memory order guarantee method using counters fence instructions in relation to cache-oriented requests, and recording medium storing program | |
JP5293609B2 (ja) | マルチプロセッサ並びにそのキャッシュ同期制御方法及びプログラム | |
KR102458467B1 (ko) | 벡터 생성 명령 | |
Saporito et al. | Design of the IBM z15 microprocessor | |
US6298355B1 (en) | Computer system | |
JP2012103923A (ja) | コンパイラ装置、コンパイル方法及びコンパイラプログラム | |
JP6740719B2 (ja) | 情報処理装置、情報処理方法、およびプログラム | |
JP3670646B2 (ja) | レジスタ転送オペレーション | |
JP5811211B2 (ja) | マルチコアプロセッサシステム、マルチコアプロセッサシステムの制御方法、およびマルチコアプロセッサシステムの制御プログラム | |
US20200409746A1 (en) | Information processing apparatus and recording medium | |
Wong et al. | Integrating software distributed shared memory and message passing programming | |
Börger et al. | Modeling an operating system kernel |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110905 |
|
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: 20130514 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130527 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5293609 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |