JP5224053B2 - マルチプロセッサ計算機、キャッシュ整合性の保証方法、及びプログラム - Google Patents
マルチプロセッサ計算機、キャッシュ整合性の保証方法、及びプログラム Download PDFInfo
- Publication number
- JP5224053B2 JP5224053B2 JP2009014617A JP2009014617A JP5224053B2 JP 5224053 B2 JP5224053 B2 JP 5224053B2 JP 2009014617 A JP2009014617 A JP 2009014617A JP 2009014617 A JP2009014617 A JP 2009014617A JP 5224053 B2 JP5224053 B2 JP 5224053B2
- Authority
- JP
- Japan
- Prior art keywords
- cache
- time
- processor
- resource
- processors
- 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
Description
リアを行っていても、他プロセッサの更新後に再度キャッシュクリアが行われる。このように、上記の特許文献1に開示の計算機においても、不要なキャッシュクリアが行われている。
前記メインメモリは、前記複数のプロセッサ間で共有される情報を複数個の資源として記憶し、
前記複数のプロセッサそれぞれは、前記複数個の資源のいずれかに対して排他的制御によってアクセスするときに、
一のプロセッサによってアクセス対象とされている前記資源を最後に更新したプロセッサを特定する情報を用い、
前記アクセス対象とされている資源が最後に更新された時刻t1と、前記アクセス対象とされている資源を最後に更新したプロセッサに対応するキャッシュメモリがクリアされた最新の時刻t2と、前記一のプロセッサに対応するキャッシュメモリがクリアされた最新の時刻t3との関係に基づいて、
前記複数のキャッシュメモリの全部又は一部のクリアを実行する、ことを特徴とする。
前記複数のプロセッサのいずれかが、前記メインメモリによって記憶され、且つ、前記複数のプロセッサ間で共有される情報で構成された複数個の資源のいずれかに対して、排他的制御によってアクセスするときに、
一のプロセッサによってアクセス対象とされている前記資源を最後に更新したプロセッサを特定する情報を用い、
前記アクセス対象とされている資源が最後に更新された時刻t1と、前記アクセス対象とされている資源を最後に更新したプロセッサに対応するキャッシュメモリがクリアされた最新の時刻t2と、前記一のプロセッサに対応するキャッシュメモリがクリアされた最新の時刻t3との関係に基づいて、
前記複数のキャッシュメモリの全部又は一部のクリアを実行するステップを有する、ことを特徴とする。
前記複数のプロセッサそれぞれに対して、
前記複数のプロセッサのいずれかが、前記メインメモリによって記憶され、且つ、前記複数のプロセッサ間で共有される情報で構成された複数個の資源のいずれかに対して、排他的制御によってアクセスするときに、
一のプロセッサによってアクセス対象とされている前記資源を最後に更新したプロセッサを特定する情報を用い、前記アクセス対象とされている資源が最後に更新された時刻t1
と、前記アクセス対象とされている資源を最後に更新したプロセッサに対応するキャッシュメモリがクリアされた最新の時刻t2と、前記一のプロセッサに対応するキャッシュメモリがクリアされた最新の時刻t3との関係に基づいて、
前記複数のキャッシュメモリの全部又は一部のクリアを実行するステップを実行させる、ことを特徴とする。
最初に、本発明で使用する用語について、次のように定義する。先ず、本発明のマルチプロセッサ計算機において、演算器を、「プロセッサ」と表記し、主記憶装置を、「メインメモリ」と表記する。また、メインメモリより高速な記憶装置を、「キャッシュ(またはキャッシュメモリ)」と表記し、メインメモリ上に格納された情報の集合を「資源」と表記する。
理を実行する事を「資源をアンロックする」と表記する。
以下、本発明の実施の形態1におけるマルチプロセッサ計算機、キャッシュ整合性の保証方法、及びプログラムについて、図1〜図4を参照しながら説明する。最初に、本実施の形態1におけるマルチプロセッサ計算機の概略構成について図1を用いて説明する。図1は、本発明の実施の形態1におけるマルチプロセッサ計算機の概略構成を示すブロック図である。
後に更新された時刻(システムタイマの値)を格納し、その初期値は0である。資源更新プロセッサ8−mは、資源10−mを最後に更新したプロセッサを特定する情報(♯1〜♯N)を格納し、その初期値は0である。
同期を取って順序関係を保証する時刻(システムタイマ)が低コストで取得可能な必要がある。また、HPC分野では、そのような時刻を取得する機構を組み込む事が容易なようにハードウェアが設計されている。
全てのキャッシュラインをフラッシュ(クリア)する。その後、プロセッサ1−nは、ロック処理を終了する。
である。また、図5においては、プロセッサ1−1、プロセッサ1−2、プロセッサ1−3の3つのプロセッサが、ある順番で資源10−1、資源10−2、資源10−3の3つの資源を排他的にアクセスした場合に、キャッシュメモリのクリアが実行される箇所が示されている。
が格納している値は「0」である。よって、プロセッサ1−2は、キャッシュメモリ2−2のキャッシュクリアを実行しない。
いるからである。
次に、本発明の実施の形態2におけるマルチプロセッサ計算機、キャッシュ整合性の保証方法、及びプログラムについて、図7を参照しながら説明する。図7は、本発明の実施の形態2におけるマルチプロセッサ計算機の概略構成を示すブロック図である。
2−1〜2−N キャッシュメモリ
3 システムタイマ
4 メインメモリ
5−1〜5−N キャッシュクリアタイムスタンプ
6−1〜6−M ロックワード
7−1〜7−M 資源更新タイムスタンプ
8−1〜8−M 資源更新プロセッサ
9 排他制御部
10−1〜10−M 資源
11 マルチプロセッサ計算機(実施の形態1)
21 マルチプロセッサ計算機(実施の形態2)
22 メインメモリ
23 メインメモリ
24 排他制御部
Claims (13)
- メインメモリと、前記メインメモリを共有する複数のプロセッサと、前記複数のプロセッサそれぞれ毎に設けられた複数のキャッシュメモリとを備えるマルチプロセッサ計算機であって、
前記メインメモリは、前記複数のプロセッサ間で共有される情報を複数個の資源として記憶し、
前記複数のプロセッサそれぞれは、前記複数個の資源のいずれかに対して排他的制御によってアクセスするときに、
一のプロセッサによってアクセス対象とされている前記資源を最後に更新したプロセッサを特定する情報を用い、
前記アクセス対象とされている資源が最後に更新された時刻t1と、前記アクセス対象とされている資源を最後に更新したプロセッサに対応するキャッシュメモリがクリアされた最新の時刻t2と、前記一のプロセッサに対応するキャッシュメモリがクリアされた最新の時刻t3との関係に基づいて、
前記複数のキャッシュメモリの全部又は一部のクリアを実行する、ことを特徴とするマルチプロセッサ計算機。 - 前記時刻t1、前記時刻t2、及び前記時刻t3が、設定された基準時からの経過時間によって特定され、
前記複数のプロセッサそれぞれが、前記一のプロセッサによってアクセス対象とされている前記資源を最後に更新したプロセッサが、前記一のプロセッサ以外のプロセッサである場合に、前記時刻t1≦前記時刻t2≦前記時刻t3の関係が成立するように、前記複数のキャッシュメモリの全部又は一部のクリアを実行する、請求項1に記載のマルチプロセッサ計算機。 - 前記複数のプロセッサそれぞれが、前記時刻t1≦前記時刻t2≦前記時刻t3の関係が既に成立している場合に、前記複数のキャッシュメモリの全部又は一部のクリアを実行しない、請求項2に記載のマルチプロセッサ計算機。
- 前記複数のプロセッサそれぞれが、予め設定されたプログラムに従って、前記複数のキャッシュメモリのクリアを実行する、請求項1〜3のいずれかに記載のマルチプロセッサ計算機。
- 前記複数のプロセッサそれぞれが、リードオンリーキャッシュ機構、ライトスルーキャッシュ機構、及びライトバックキャッシュ機構のうち何れかの機構を備えている、請求項1〜4のいずれかに記載のマルチプロセッサ計算機。
- メインメモリと、前記メインメモリを共有する複数のプロセッサと、前記複数のプロセッサそれぞれ毎に設けられた複数のキャッシュメモリとを備えるマルチプロセッサ計算機において、前記複数のキャッシュメモリの整合性を保証するための方法であって、
前記複数のプロセッサのいずれかが、前記メインメモリによって記憶され、且つ、前記複数のプロセッサ間で共有される情報で構成された複数個の資源のいずれかに対して、排他的制御によってアクセスするときに、
一のプロセッサによってアクセス対象とされている前記資源を最後に更新したプロセッサを特定する情報を用い、
前記アクセス対象とされている資源が最後に更新された時刻t1と、前記アクセス対象とされている資源を最後に更新したプロセッサに対応するキャッシュメモリがクリアされた最新の時刻t2と、前記一のプロセッサに対応するキャッシュメモリがクリアされた最新の時刻t3との関係に基づいて、前記複数のキャッシュメモリの全部又は一部のクリアを
実行するステップを有する、ことを特徴とするキャッシュ整合性の保証方法。 - 前記時刻t1、前記時刻t2、及び前記時刻t3が、設定された基準時からの経過時間によって特定されており、
前記一のプロセッサによってアクセス対象とされている前記資源を最後に更新したプロセッサが、前記一のプロセッサ以外のプロセッサである場合に、前記時刻t1≦前記時刻t2≦前記時刻t3の関係が成立するように、前記複数のキャッシュメモリの全部又は一部のクリアを実行する、請求項6に記載のキャッシュ整合性の保証方法。 - 前記時刻t1≦前記時刻t2≦前記時刻t3の関係が既に成立している場合に、前記複数のキャッシュメモリの全部又は一部のクリアを実行しない、請求項7に記載のキャッシュ整合性の保証方法。
- 前記複数のプロセッサそれぞれが、リードオンリーキャッシュ機構、ライトスルーキャッシュ機構、及びライトバックキャッシュ機構のうち何れかの機構を備えている、請求項6〜8のいずれかに記載のキャッシュ整合性の保証方法。
- メインメモリと、前記メインメモリを共有する複数のプロセッサと、前記複数のプロセッサそれぞれ毎に設けられた複数のキャッシュメモリとを備えるマルチプロセッサ計算機において、前記複数のプロセッサに、前記複数のキャッシュメモリの整合性を保証させるプログラムであって、
前記複数のプロセッサそれぞれに対して、
前記複数のプロセッサのいずれかが、前記メインメモリによって記憶され、且つ、前記複数のプロセッサ間で共有される情報で構成された複数個の資源のいずれかに対して、排他的制御によってアクセスするときに、
一のプロセッサによってアクセス対象とされている前記資源を最後に更新したプロセッサを特定する情報を用い、
前記アクセス対象とされている資源が最後に更新された時刻t1と、前記アクセス対象とされている資源を最後に更新したプロセッサに対応するキャッシュメモリがクリアされた最新の時刻t2と、前記一のプロセッサに対応するキャッシュメモリがクリアされた最新の時刻t3との関係に基づいて、
前記複数のキャッシュメモリの全部又は一部のクリアを実行するステップを実行させる、ことを特徴とするプログラム。 - 前記時刻t1、前記時刻t2、及び前記時刻t3が、設定された基準時からの経過時間によって特定されており、
前記一のプロセッサによってアクセス対象とされている前記資源を最後に更新したプロセッサが、前記一のプロセッサ以外のプロセッサである場合に、前記時刻t1≦前記時刻t2≦前記時刻t3の関係が成立するように、前記複数のキャッシュメモリの全部又は一部のクリアを実行する、請求項10に記載のプログラム。 - 前記時刻t1≦前記時刻t2≦前記時刻t3の関係が既に成立している場合に、前記複数のキャッシュメモリの全部又は一部のクリアを実行しない、請求項11に記載のプログラム。
- 前記複数のプロセッサそれぞれが、リードオンリーキャッシュ機構、ライトスルーキャッシュ機構、及びライトバックキャッシュ機構のうち何れかの機構を備えている、請求項10〜12のいずれかに記載のプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009014617A JP5224053B2 (ja) | 2009-01-26 | 2009-01-26 | マルチプロセッサ計算機、キャッシュ整合性の保証方法、及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009014617A JP5224053B2 (ja) | 2009-01-26 | 2009-01-26 | マルチプロセッサ計算機、キャッシュ整合性の保証方法、及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010170493A JP2010170493A (ja) | 2010-08-05 |
JP5224053B2 true JP5224053B2 (ja) | 2013-07-03 |
Family
ID=42702571
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009014617A Expired - Fee Related JP5224053B2 (ja) | 2009-01-26 | 2009-01-26 | マルチプロセッサ計算機、キャッシュ整合性の保証方法、及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5224053B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102929800B (zh) * | 2012-10-17 | 2015-07-08 | 无锡江南计算技术研究所 | Cache一致性协议派生处理方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5668852A (en) * | 1979-11-08 | 1981-06-09 | Toshiba Corp | Information processor |
KR100451211B1 (ko) * | 2002-10-31 | 2004-10-13 | 엘지전자 주식회사 | 이동 컴퓨팅 환경에서 트랜잭션 캐시 일관성 유지 시스템및 방법 |
JP2006276901A (ja) * | 2005-03-25 | 2006-10-12 | Nec Corp | マルチプロセッサ計算機、そのキャッシュコヒーレンシ保証方法及びキャッシュコヒーレンシ保証プログラム |
-
2009
- 2009-01-26 JP JP2009014617A patent/JP5224053B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2010170493A (ja) | 2010-08-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8171229B2 (en) | Wait-free parallel data cache | |
US8180971B2 (en) | System and method for hardware acceleration of a software transactional memory | |
KR101355496B1 (ko) | 복수의 병렬 클러스터들을 포함하는 계층 프로세서의스케쥴링 메카니즘 | |
US20110208921A1 (en) | Inverted default semantics for in-speculative-region memory accesses | |
US20050154866A1 (en) | Systems and methods for executing across at least one memory barrier employing speculative fills | |
EP2641171B1 (en) | Preventing unintended loss of transactional data in hardware transactional memory systems | |
US20050154805A1 (en) | Systems and methods for employing speculative fills | |
CN106663026B (zh) | 针对事务型数据处理执行模式的调用堆栈维护 | |
CN113505088A (zh) | 在使用带锁定和未锁定的非易失存储器的共享存储器中的硬件事务存储的一致性协议 | |
US8301844B2 (en) | Consistency evaluation of program execution across at least one memory barrier | |
US7216202B1 (en) | Method and apparatus for supporting one or more servers on a single semiconductor chip | |
JP2008503821A (ja) | 小容量キャッシュシステムにおけるアトミック予約ライン上のライトバックを無効化する方法およびシステム | |
US8380935B2 (en) | Atomic memory operation cache protocol with opportunistic combining | |
WO2017074416A1 (en) | Managing cache operations using epochs | |
JP5224053B2 (ja) | マルチプロセッサ計算機、キャッシュ整合性の保証方法、及びプログラム | |
Poudel et al. | Adaptive versioning in transactional memories | |
US9244844B2 (en) | Enabling hardware transactional memory to work more efficiently with readers that can tolerate stale data | |
Singh et al. | Efficient hardware primitives for immediate memory reclamation in optimistic data structures | |
Atoofian | Improving performance of software transactional memory through contention locality | |
JP2006276901A (ja) | マルチプロセッサ計算機、そのキャッシュコヒーレンシ保証方法及びキャッシュコヒーレンシ保証プログラム | |
Gaona et al. | Selective dynamic serialization for reducing energy consumption in hardware transactional memory systems | |
Titos-Gil et al. | Zebra: Data-centric contention management in hardware transactional memory | |
Scott et al. | Architectural Background | |
Shahid et al. | Hardware transactional memories: A survey | |
KR20240067941A (ko) | 예비 디렉토리 항목에 특정 데이터 패턴의 표시 저장 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110830 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130206 |
|
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: 20130213 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130226 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5224053 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: 20160322 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |