JP2008046969A - 共有メモリのアクセス監視方法及び装置 - Google Patents

共有メモリのアクセス監視方法及び装置 Download PDF

Info

Publication number
JP2008046969A
JP2008046969A JP2006223299A JP2006223299A JP2008046969A JP 2008046969 A JP2008046969 A JP 2008046969A JP 2006223299 A JP2006223299 A JP 2006223299A JP 2006223299 A JP2006223299 A JP 2006223299A JP 2008046969 A JP2008046969 A JP 2008046969A
Authority
JP
Japan
Prior art keywords
shared memory
access right
request
packet
processor
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.)
Pending
Application number
JP2006223299A
Other languages
English (en)
Inventor
Shoichi Urata
昭一 浦田
Yukitaka Shigaki
幸貴 志垣
Hidekazu Tsukiji
英一 築地
Kazunori Uemura
和紀 植村
Riyouko Tamura
亮子 田村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2006223299A priority Critical patent/JP2008046969A/ja
Priority to EP07015874A priority patent/EP1895413A3/en
Priority to US11/838,334 priority patent/US20080047005A1/en
Publication of JP2008046969A publication Critical patent/JP2008046969A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0831Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • G06F9/526Mutual exclusion algorithms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0813Multiuser, multiprocessor or multiprocessing cache systems with a network or matrix configuration

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Memory System (AREA)

Abstract

【課題】マルチプロセッサシステムの型式に関わらず、任意のプロセッサからの共有メモリに対するアクセス情報を監視することが可能な共有メモリのアクセス監視方法及び装置を提供する。
【解決手段】共有メモリボード100のバスインタフェース部110は、複数のプロセッサ210_1〜210_nの内の任意の要求元プロセッサ210_1から、プロセッサの識別子(210_1)及び共有メモリSMに対するアクセス権の獲得要求RQ1(又は解放要求)が設定されたリクエストパケットRPを受信する。そして、バスインタフェース部110は、アクセス権の獲得要求RQ1(又は解放要求)に応じて、共有メモリSMに要求元プロセッサの識別子(210_1)を設定(又は解除)すると共に要求元プロセッサの識別子(210_1)の設定(又は解除)に対応してアクセス権の獲得ACK1(又は解放)を示すアンサパケットAPを生成し、全てのプロセッサ210_1〜210_nにブロードキャストする。
【選択図】図3

Description

本発明は、共有メモリのアクセス監視方法及び装置に関し、特に複数のプロセッサから共有メモリへアクセスするマルチプロセッサシステムにおける共有メモリのアクセス監視方法及び装置に関するものである。
上記のような共有メモリのアクセス監視技術の従来例[1]及び[2]を、図11及び12を参照して以下に説明する。
従来例[1] (共通バス型):図11
図11に示すマルチプロセッサシステム10は、共有メモリSMを搭載した共有メモリボード100と、この共有メモリボード100と共通バスCBを介して接続されたn個のプロセッサ210_1〜210_n(以下、符号210で総称することがある。)及びn個のキャッシュメモリCM1〜CMn(以下、符号CMで総称することがある。)をそれぞれが搭載したプロセッサボード200_1〜200_n(以下、符号200で総称することがある。)と、共通バスCBに接続され各プロセッサ210_1〜210_nからの共有メモリSMへのアクセスを調停するバス調停装置300とで構成されており、一般に共通バス型マルチプロセッサシステムと呼ばれている。
このマルチプロセッサシステム10においては、任意のプロセッサ、例えばプロセッサ210_1が、同図に点線で示すように共有メモリSMに対してデータ読出又は書込(アクセス)を行った際、そのアクセス情報(すなわち、任意のプロセッサが共有メモリSMに対してアクセスを実行しているか否かを示す情報)、並びに読み出した又は書き込んだデータを、同図に一点鎖線で示すように、他のプロセッサ210_2〜210_nがそれぞれ共通バスCBを介して監視(スヌープ)することにより、キャッシュメモリCM2〜CMnに反映する。
これにより、各プロセッサ210は、自プロセッサボード200内のキャッシュメモリCMにアクセスすれば共有メモリSMの最新データを取得することができ、以て共有メモリSMへのアクセスに掛かる処理時間を短縮することが可能となる。
しかしながら、この共通バス型マルチプロセッサシステムには下記(1)〜(4)に示す問題がある。
(1) 或るプロセッサによる共有メモリへのアクセス中、他のプロセッサは共通バスを使用して共有メモリへアクセスすることが出来ないため、システム全体の共有メモリアクセス時間にロスが生じる。
(2) プロセッサボードの増設に伴って共通バスの品質が劣化するため、設置可能なプロセッサボート数に制限があり、大規模なマルチプロセッサシステムを構築することが出来ない。
(3) 或るプロセッサの障害により共通バスがスタックした場合、障害が復旧される迄、他のプロセッサから共有メモリへアクセスすることが出来ない。
(4) 上記(3)の障害発生時、障害箇所の切り分けが困難である。
これらの問題に対処するため、以下に説明する従来例[2]が既に提案されている。
従来例[2] (スター型):図12
図12に示すマルチプロセッサシステム10は、上記の従来例[1]で示した構成とは異なり、n本のシリアルバスSBを用いてプロセッサボード200_1〜200_nを、それぞれ共有メモリボード100と1対1に接続しており、一般にスター型マルチプロセッサシステムと呼ばれている。
また、上記の従来例[1]で示したバス調停装置300に代えて、各プロセッサボード200_1〜200_n及び共有メモリボード100は、それぞれ、共有メモリSMへのアクセスを制御するバスインタフェース部220_1〜220_n及び110を備えている。バスインタフェース部220_1〜220_nと110は相互接続され、以てプロセッサ210_1〜210_n及びキャッシュメモリCM1〜CMnは、プロセッサバスPB1〜PBn、並びにバスインタフェース部220_1〜220_n及び110を介して共有メモリSMに接続されている。
このマルチプロセッサシステム10においては、各プロセッサ210_1〜210_nは、それぞれ並列に共有メモリSMへアクセスすることが可能となり、共有メモリSMに対して任意のタイミングでデータ書込を行ったり、必要なデータのみを共有メモリSMから読み出してキャッシュメモリCMに保存したりすることができる(例えば、特許文献1〜3参照。)。
特開昭58-016362号公報 特開2000-267815号公報 特開2000-267816号公報
上記の従来例[2]のようなスター型マルチプロセッサシステムでは、各プロセッサが並列に共有メモリへアクセスすることは可能であるが、上記の従来例[1]のような共通バス型マルチプロセッサの利点である他のプロセッサの共有メモリに対するアクセス情報の監視を行うことが出来ないという課題がある。
この場合、或るプロセッサによる共有メモリへのアクセスを知らずにアクセスを要求した他のプロセッサが、共有メモリへのアクセスを待たされることによる遅延を発生させてしまう虞れや、複数のプロセッサから同時に共有メモリへアクセスを要求することによるトランザクション負荷が、システム全体のスループットを低下させてしまう虞れがある。
従って、本発明は、マルチプロセッサシステムの型式に関わらず、任意のプロセッサからの共有メモリに対するアクセス情報を監視することが可能な共有メモリのアクセス監視方法及び装置を提供することを目的とする。
[1]上記の目的を達成するため、本発明の一態様に係る共有メモリのアクセス監視方法(又は装置)は、複数のプロセッサの内の任意の要求元プロセッサから、該要求元プロセッサの識別子、及び共有メモリに対するアクセス権の獲得要求又は解放要求が設定されたリクエストパケットを受信する第1ステップ(又は手段)と、該アクセス権の獲得要求又は解放要求に応じて、該共有メモリに該要求元プロセッサの識別子をそれぞれ設定又は解除する第2ステップ(又は手段)と、該要求元プロセッサの識別子の設定又は解除にそれぞれ対応して該アクセス権の獲得又は解放を示すアンサパケットを生成し、全てのプロセッサにブロードキャストする第3ステップ(又は手段)とを備えたことを特徴とする。
すなわち、リクエストパケットの受信側(共有メモリ側)において、第2ステップ(又は手段)では、第1ステップ(又は手段)で受信したリクエストパケットに共有メモリに対するアクセス権の獲得要求が設定されている時、該共有メモリに、該リクエストパケットに設定されている要求元プロセッサの識別子を設定することにより該要求元プロセッサは該共有メモリへのアクセス権を獲得させる。
そして、第3ステップ(又は手段)では、該アクセス権の獲得を示すアンサパケットを生成して全てのプロセッサにブロードキャストする。
ここで、該リクエストパケットは、該要求元プロセッサ-該共有メモリ間でのみ伝送されれば良く、また、該アンサパケットは、各プロセッサに対して共通に送信することができるため、上記の従来例[1]で示した共通バス型マルチプロセッサにおいては勿論のこと、従来例[2]で示したスター型マルチプロセッサシステムにおいても、要求元プロセッサ以外の他のプロセッサに、いずれかのプロセッサが共有メモリへアクセス中であることを知らせることが可能である。
また、該リクエストパケットに該アクセス権の解放要求が設定されている時には、該第2ステップ(又は手段)は、該共有メモリから該要求元プロセッサの識別子を解除することにより該要求元プロセッサが獲得していたアクセス権を解放する。
そして、該第3ステップ(又は手段)では、該アクセス権の解放を示すアンサパケットを生成して全てのプロセッサにブロードキャストする。
これにより、他のプロセッサに、いずれのプロセッサも共有メモリへアクセスしていないこと、すなわち、全てのプロセッサがアクセス可能であることを認識させることができる。
[2]また、上記[1]の装置において、該共有メモリが、各プロセッサから読出又は書込されるデータを格納するためのデータ領域と、該データ領域に対する該アクセス権の獲得又は解放の状態を示すアクセス権表示ビット、及びプロセッサの識別子を示す識別子表示ビットを含む排他制御情報の領域とを有し、該第2手段が、該リクエストパケットに該獲得要求が設定されており且つ該アクセス権表示ビットが該アクセス権の解放状態を示す時、該アクセス権表示ビットを獲得状態に更新すると共に該識別子表示ビットに該要求元プロセッサの識別子を設定する第4手段と、該リクエストパケットに該解放要求が設定されており且つ該アクセス権表示ビット及び該識別子表示ビットがそれぞれ該アクセス権の獲得状態及び該要求元プロセッサの識別子を示す時、該アクセス権表示ビットを解放状態に更新すると共に、該識別子表示ビットに設定されている該要求元プロセッサの識別子を消去する第5手段とを含むようにしても良い。
すなわち、共有メモリをデータ領域と排他制御情報領域とに区分することにより、簡易にアクセス権の獲得及び解放を制御することができる。
また、第5手段では、識別子表示ビットに設定されているプロセッサの識別子と、該要求元プロセッサの識別子とが一致する場合に限りアクセス権表示ビットを解放状態に更新しているので、該要求元プロセッサ以外の他のプロセッサから故意にアクセス権を解放出来ないようにしている。
[3]また、上記[2]において、該データ領域が所定のアドレス範囲毎のデータブロックに分割され、該排他制御情報が各データブロックに対応して設けられ、該リクエストパケットが、さらに、各データブロックのいずれに対してアクセス権の獲得要求又は解放要求を行うかを示すアドレス情報を含み、該第4又は該第5手段が、それぞれ、該アドレス情報に示されたデータブロックに対して該アクセス権表示ビットを獲得状態又は解放状態に更新すると共に、該識別子表示ビットに該要求元プロセッサの識別子を設定するか又は設定されている該要求元プロセッサの識別子を消去するようにしても良い。
すなわち、共有メモリを効率的に使用できるように分割した場合であっても、データブロック毎に任意のプロセッサのアクセス権を獲得させること又は解放することができ、以て各プロセッサにデータブロック毎のアクセス情報を監視させることが可能である。
[4]また、上記[3]において、各データブロックが、単一のアドレス毎に分割されており、該第4手段が、該アクセス権ビットを獲得状態に更新し且つ該識別子表示ビットに該要求元プロセッサの識別子を設定した時、該アドレス情報に示されたアドレスのデータブロックに格納されているデータを読み出すと共に、該読み出したデータを該アンサパケットに設定するよう該第3手段に指示する手段を含み、該第3手段が、該生成したアンサパケットに該読み出したデータを設定する手段を含むようにしても良い。
すなわち、各データブロックを単一のアドレス毎に分割することにより、プロセッサにアクセス権を獲得させた時点で読み出すべきデータを一意に特定することができるため、該アンサパケットに読み出したデータを設定して当該プロセッサに送信することができる。
これにより、アクセス権を獲得したプロセッサは、データ読出を実行せずに所望のデータを取得することができ、以て共有メモリへのアクセスに係るトランザクション負荷を軽減することが可能である。
[5]また、上記の目的を達成するための本発明の一態様に係る共有メモリのアクセス監視方法(又は装置)は、複数のプロセッサの内の任意の要求元プロセッサからの共有メモリに対するアクセス権の獲得又は解放を要求するリクエストパケットへの応答として、全てのプロセッサにブロードキャストされたパケットであって、該共有メモリへの該要求元プロセッサの識別子の設定又は解除にそれぞれ対応して該アクセス権の獲得又は解放を示すアンサパケットを受信する第1ステップ(又は手段)と、該アンサパケットにより、該アクセス権の獲得又は解放を示すか判定する第2ステップ(又は手段)とを備えたことを特徴とする。
すなわち、リクエストパケットの送信側(プロセッサ側)において、第1ステップ(又は手段)では、上記[1]で説明したアンサパケットを共有メモリ側から受信する。なお、該アンサパケットは、自ら該リクエストパケットを共有メモリ側へ送信した時(すなわち、自分自身が要求元プロセッサである時)と、他のプロセッサから該リクエストパケットが送信された時の両方の場合において受信される。
これにより、第2ステップ(又は手段)では、該受信したアンサパケットにより、自ら共有メモリへのアクセスを行わなくても、いずれかのプロセッサが共有メモリへアクセス中であること、又はいずれのプロセッサも共有メモリへアクセスしていないことを認識することが可能である。
[6]また、上記[5]の装置において、該共有メモリが、各プロセッサから読出又は書込されるデータを格納するためのデータ領域と、該データ領域に対する該アクセス権の獲得又は解放の状態を示すアクセス権表示ビットを含む排他制御情報の領域とを有し、該第2手段が、該アクセス権の獲得を示すと判定した時、該排他制御情報領域と同一の領域を含むキャッシュメモリ中のアクセス権表示ビットを獲得状態に更新する第3手段と、該アクセス権の解放を示すと判定した時、該キャッシュメモリ中の該アクセス権表示ビットを解放状態に更新する第4手段とを含むようにしても良い。
[7]また、上記[6]において、該データ領域が所定のアドレス範囲毎のデータブロックに分割され、該共有メモリ及び該キャッシュメモリの両排他制御情報が各データブロックにそれぞれ対応して設けられ、該アンサパケットが、さらに、各データブロックのいずれに対してアクセス権の獲得又は解放が行われたかを示すアドレス情報を含み、該第3又は該第4手段が、それぞれ、該アドレス情報に示されたデータブロックに対応する該キャッシュメモリ中の該アクセス権表示ビットを獲得状態又は解放状態に更新するようにしても良い。
すなわち、上記[6]及び[7]のように、該共有メモリに種々の分割が施される場合であっても、各プロセッサが、それぞれ、該共有メモリ中の排他制御情報領域と同一の領域を含むキャッシュメモリに該アクセス権の獲得又は解放を逐次記録することにより、常に同一且つ最新のアクセス情報を共有することが可能であり、以て共有メモリへアクセスを要求した際に不必要に待たされてしまうことや、複数のプロセッサが同時にアクセスを要求してしまうことを未然に防止することができる。
[8]また、上記[6]又は[7]において、該アンサパケットが、さらに、該要求元プロセッサの識別子を含み、該キャッシュメモリの該排他制御情報が、プロセッサの識別子を示す識別子表示ビットを含み、該第3又は該第4手段が、該キャッシュメモリ中のアクセス権表示ビットを獲得状態又は解放状態に更新した時、それぞれ、該識別子表示ビットに該要求元プロセッサの識別子を記録するか又は記録されている該要求元プロセッサの識別子を消去するようにしても良い。
このように、該アンサパケットに該要求元プロセッサの識別子が含まれる場合、各プロセッサが、該キャッシュメモリに該アクセス権を獲得又は解放したプロセッサの識別子を記録することにより、例えば或るプロセッサに障害が発生して該アクセス権を獲得したままとなってしまうような場合であっても、該キャッシュメモリを参照して容易に障害の発生しているプロセッサを切り分けでき、以て迅速に復旧作業を行うことが可能である。
本発明によれば、特にスター型マルチプロセッサシステムにおいて、任意のプロセッサからの共有メモリに対するアクセス情報を監視することができ、以て共有メモリへのアクセスに掛かる処理時間を短縮し、各プロセッサ及びシステム全体のスループットを向上させることができる。
また、共有メモリに対するアクセス情報の監視及びアクセス権の制御を簡易に行えるようにしたので、容易に既存システムへ適用することができる。
本発明に係る共有メモリのアクセス監視方法及びこれを使用する装置の実施例を、図1〜10を参照して以下の順に説明する。
I. 構成例:図1及び2
I.1. 全体構成例:図1
I.2. 共有メモリ及びキャッシュメモリの構成例(1):図2
II. 動作例:図3〜10
II.1. 動作例(1):図3〜8
II.1.A. アクセス権獲得動作例(1):図3〜5
II.1.B. アクセス権解放動作例:図6
II.1.C. データ読出動作例:図7
II.1.D. データ書込動作例:図8
II.2. 動作例(2):図9及び10
II.2.A. 共有メモリの構成例(2):図9
II.2.B. アクセス権獲得動作例(2):図10
I.構成例:図1及び2
I.1.全体構成例:図1
図1に示すマルチプロセッサシステム10は、図12に示した従来のスター型マルチプロセッサに、本発明に係る共有メモリのアクセス監視方法及び装置を適用したものである。
このマルチプロセッサシステム10においては、図12に示した構成に加えて、共有メモリボード100内のバスインタフェース部110が、プロセッサ210_1〜210_nの内の任意の要求元プロセッサから共有メモリSMに対するアクセス権の獲得又は解放を要求するリクエストパケットを受信して該要求元プロセッサのアクセス権を獲得又は解放すると共に、該アクセス権の獲得又は解放を示すアンサパケットの生成指示を発生するパケット受信・処理部111と、このアンサパケット生成指示を受けてアンサパケットを生成し、全てのプロセッサ210_1〜210_nにブロードキャストするアンサパケット生成部112とを備えている。
また、プロセッサボード200_1〜200_n内のバスインタフェース部220_1〜220_nは、それぞれ、該リクエストパケットを生成して共有メモリボード100側に送信するリクエストパケット生成部221_1〜221_n(以下、符号221で総称することがある。)と、該アンサパケットを受信して判定するパケット判定部222_1〜222_n(以下、符号222で総称することがある。)とを備えている。
なお、本実施例では、バスインタフェース部110をパケット受信・処理部111とアンサパケット生成部112とに分けて構成しているが、両者を単一の機能ブロックとして構成しても良い。この場合も、以下の説明は同様に適用される。
I.2.共有メモリ及びキャッシュメモリの構成例(1):図2
共有メモリSMは、図2(1)に示すように、プロセッサ210から読出又は書込されるデータを格納するデータ領域AR1と、このデータ領域AR1に対する排他制御情報の領域AR2とに分けられている。ここで、データ領域AR1は、“0”〜“x”のアドレス範囲毎に分割され、各々のアドレスがB0-0〜B0-x,B1-0〜B1-x, B2-0〜B2-x, …, Bm-0〜Bm-xであるm+1個のデータブロックD0〜Dmを有し、排他制御情報領域AR2には、各データブロックD0〜Dmに対応させて各々のアドレスがA0,A1, A2, …, Amである排他制御情報I0〜Imを設けている。
また、排他制御情報は、対応させたデータブロックに対するアクセス権の獲得“1”(獲得完了)又は解放“0”(解放完了)の状態を示すアクセス権表示ビットb1と、アクセス権を獲得中のプロセッサID(識別子)を表示する表示ビットb2とを含んでいる。
また、キャッシュメモリCMは、同図(2)に示すように、共有メモリSMの排他制御情報領域AR2と同一の領域を含んでいる。
II.動作例:図3〜10
次に、図1に示したマルチプロセッサ10の動作を説明するが、まず、共有メモリSM及びキャッシュメモリCMを図2に示す構成とした場合の動作例(1)を、図3〜8を参照して説明する。そして、共有メモリSMの構成を図2とは異なる構成(図9)とした場合の動作例(2)を、図9及び10を参照して説明する。
II.1.動作例(1):図3〜8
以下、マルチプロセッサ10の動作を、アクセス権獲得動作例、アクセス権解放動作例、データ読出動作例、データ書込動作例の順に説明する。
また、下記の各動作例においては、プロセッサ210_1〜210_nの内のプロセッサ210_1が、図2に示した共有メモリSM中の、例えばデータブロックD2に対してアクセスを行う場合を説明する。
なお、以下の説明は、プロセッサ210_1以外の他のプロセッサ210_2〜210_nが共有メモリに対してアクセスを行う場合、及びデータブロックD2以外のデータブロックD1,D2〜Dmに対してアクセスを行う場合も同様に適用される。
II.1.A.アクセス権獲得動作例(1):図3〜5
まず、データブロックD2に対してアクセスを要求するプロセッサ210_1は、図3に示すように、バスインタフェース部220_1を構成するリクエストパケット生成部221_1にアクセス権獲得要求を与える(ステップS1)。
これを受けたリクエストパケット生成部221_1は、リクエストパケットRPを以下のようにして生成する(ステップS2)。
すなわち、リクエストパケット生成部221_1は、図4(1)に示すリクエストパケットRP中の要求種別RP1、アドレス情報RP2、及び要求元プロセッサIDRP4に、それぞれ、同図(2)に示すアクセス権獲得要求RQ1、データブロックD2に対応する排他制御情報I2のアドレスA2、及び“210_1”を設定する。
なお、データ書込時(すなわち、要求種別RP1にデータ書込要求RQ4を設定する時)以外は、リクエストパケットRP中のデータRP3には何も設定せず、空であるが、後述するデータ書込動作例ではデータが設定される。
そして、リクエストパケット生成部221_1は、生成したリクエストパケットRPを共有メモリボード100内のバスインタフェース部110に送信する(ステップS3)。
これを受けたバスインタフェース部110を構成するパケット受信・処理部111は、リクエストパケットRP中の要求種別RP1を抽出して判定する(ステップS4)。この結果、要求種別RP1にアクセス権獲得要求RQ1が設定されていると判定した時、パケット受信・処理部111は、アドレス情報RP2に設定されているアドレスA2が指し示す排他制御情報I2中のアクセス権表示ビットb1を参照する(ステップS5)。
そして、パケット受信・処理部111は、このアクセス権表示ビットb1がアクセス権解放状態“0”を示しているか否かを判定する(ステップS6)。この結果、アクセス権表示ビットb1が解放状態“0”を示していると判定した時、パケット受信・処理部111は、アクセス権ビットb1をアクセス権獲得状態“1”に更新すると共に、プロセッサID表示ビットb2に“210_1”を設定する(ステップS7)。
これにより、パケット受信・処理部111は、プロセッサ210_1にデータブロックD2に対するアクセス権を獲得させることができる。
そして、パケット受信・処理部111は、プロセッサ210_1によるデータブロックD2に対するアクセス権の獲得を示すアンサパケットAPの生成指示を、アンサパケット生成部112に与える(ステップS8)。これを受けたアンサパケット生成部112は、アンサパケットAPを以下のようにして生成する(ステップS9)。
すなわち、アンサパケット生成部112は、図5(1)に示すアンサパケットAP中の応答種別AP1、アドレス情報AP2、及び要求元プロセッサIDAP4に、それぞれ、同図(2)に示すアクセス権獲得ACK1、アドレスA2、及び“210_1”を設定する。
なお、データ読出時(すなわち、応答種別AP1にデータ読出ACK3を設定する時)以外は、アンサパケットAP中のデータAP3には何も設定せず、空であるが、後述するデータ読出動作例及び動作例(2)ではデータが設定される。
そして、アンサパケット生成部112は、生成したアンサパケットAPを全てのプロセッサボード200_1〜200_n内のバスインタフェース部220_1〜220_nにブロードキャストする(ステップS10)。
ブロードキャストされたアンサパケットAPを受信したバスインタフェース部220_1〜220_nを構成するパケット判定部222_1〜222_nは、それぞれ、アンサパケットAP中の応答種別AP1を抽出して判定する(ステップS11_1〜S11_n)。この結果、応答種別AP1にアクセス権獲得ACK1が設定されていると判定した時、各パケット判定部222_1〜222_nは、アドレス情報AP2に設定されているアドレスA2が指し示すキャッシュメモリCM1〜CMn中の排他制御情報I2のアクセス権表示ビットb1をアクセス権獲得状態“1”に更新すると共に、プロセッサID表示ビットb2に、要求元プロセッサIDRP4に設定されている“210_1”を設定する(ステップS12_1〜S12_n)。
そして、各パケット判定部222_1〜222_nは、要求元プロセッサID RP4に設定されているプロセッサIDが、自プロセッサIDと一致するか否かを判定する。この例では、パケット判定部222_1のみが両プロセッサIDが一致していると判定し、アンサパケットAPをプロセッサ210_1に転送する(ステップS13)。
これを受けたプロセッサ210_1は、データブロックD2に対するアクセス権が獲得されたことを認識し、図7又は8を参照して後述するデータ読出又はデータ書込を実行する(ステップS41又はS61)。
II.1.B.アクセス権解放動作例:図6
データ読出又はデータ書込を完了したプロセッサ210_1は、図6に示すように、データブロックD2に対するアクセス権を解放するため、リクエストパケット生成部221_1にアクセス権解放要求を与える(ステップS21)。
これを受けたリクエストパケット生成部221_1は、リクエストパケットRPを以下のようにして生成する(ステップS22)。
すなわち、リクエストパケット生成部221_1は、リクエストパケットRP中の要求種別RP1、アドレス情報RP2、及び要求元プロセッサIDRP4に、それぞれ、図4(2)に示したアクセス権解放要求RQ2、データブロックD2に対応する排他制御情報I2のアドレスA2、及び“210_1”を設定する。
そして、リクエストパケット生成部221_1は、生成したリクエストパケットRPをパケット受信・処理部111に送信する(ステップS23)。
これを受けたパケット受信・処理部111は、リクエストパケットRP中の要求種別RP1を抽出して判定する(ステップS24)。この結果、要求種別RP1にアクセス権解放要求RQ2が設定されていると判定した時、パケット受信・処理部111は、アドレス情報RP2に設定されているアドレスA2が指し示す排他制御情報I2中のアクセス権表示ビットb1及びプロセッサID表示ビットb2を参照する(ステップS25)。
そして、パケット受信・処理部111は、これらのアクセス権表示ビットb1及びプロセッサID表示ビットb2が、それぞれアクセス権獲得状態“1”及び要求元プロセッサIDRP4に設定されていた“210_1”を示しているか否かを判定する(ステップS26)。この結果、アクセス権表示ビットb1及びプロセッサID表示ビットb2がそれぞれアクセス権獲得状態“1”及び“210_1”を示していると判定した時、パケット受信・処理部111は、アクセス権ビットb1をアクセス権解放状態“0”に更新すると共に、プロセッサID表示ビットb2に設定されている“210_1”を消去する(ステップS27)。
これにより、パケット受信・処理部111は、プロセッサ210_1が獲得していたデータブロックD2に対するアクセス権を解放させることができる。そして、パケット受信・処理部111は、プロセッサ210_1によるデータブロックD2に対するアクセス権の解放を示すアンサパケットAPの生成指示を、アンサパケット生成部112に与える(ステップS28)。
これを受けたアンサパケット生成部112は、アンサパケットAPを以下のようにして生成する(ステップS29)。
すなわち、アンサパケット生成部112は、アンサパケットAP中の応答種別AP1、アドレス情報AP2、及び要求元プロセッサIDAP4に、それぞれ、図5(2)に示したアクセス権解放ACK2、アドレスA2、及び“210_1”を設定する。
そして、アンサパケット生成部112は、生成したアンサパケットAPを全てのパケット判定部222_1〜222_nにブロードキャストする(ステップS30)。
ブロードキャストされたアンサパケットAPを受信したパケット判定部222_1〜222_nは、それぞれ、アンサパケットAP中の応答種別AP1を抽出して判定する(ステップS31_1〜S31_n)。この結果、応答種別AP1にアクセス権解放ACK2が設定されていると判定した時、各パケット判定部222_1〜222_nは、アドレス情報AP2に設定されているアドレスA2が指し示すキャッシュメモリCM1〜CMn中の排他制御情報I2のアクセス権表示ビットb1をアクセス権解放状態“0”に更新すると共に、プロセッサID表示ビットb2に設定されている“210_1”を消去する(ステップS32_1〜S32_n)。
なお、データブロックD2に対するアクセス権の解放を要求したプロセッサ210_1は、その要求時点で自らキャッシュメモリCM1を直接更新することも可能であるが、キャッシュメモリCM1を直接更新した場合、シリアルバスSBの伝送障害によるリクエストパケットRP又はアンサパケットAPの欠落等の影響により、キャッシュメモリCM1と他のプロセッサ210_2〜210_n内のキャッシュメモリCM2〜CMn及び共有メモリSMの内容が不一致となってしまう虞れがある。このため、プロセッサ210_1(パケット判定部222_1)は、上記のステップS31_1の判定後にキャッシュメモリCM1を更新するようにしている。
II.1.C.データ読出動作例:図7
データブロックD2に対するアクセス権を獲得したプロセッサ210_1は、図7に示すように、データブロックD2中の所望のアドレス、例えばアドレスB2-0からのデータ読出要求をリクエストパケット生成部221_1に与える(ステップS41)。
これを受けたリクエストパケット生成部221_1は、リクエストパケットRPを以下のようにして生成する(ステップS42)。
すなわち、リクエストパケット生成部221_1は、リクエストパケットRP中の要求種別RP1、アドレス情報RP2、及び要求元プロセッサIDRP4に、それぞれ、図4(2)に示したデータ読出要求RQ3、アドレスB2-0、及び“210_1”を設定する。
そして、リクエストパケット生成部221_1は、生成したリクエストパケットRPをパケット受信・処理部111に送信する(ステップS43)。
これを受けたパケット受信・処理部111は、リクエストパケットRP中の要求種別RP1を抽出して判定する(ステップS44)。この結果、要求種別RP1にデータ読出要求RQ3が設定されていると判定した時、パケット受信・処理部111は、アドレス情報RP2に設定されているアドレスB2-0が指し示す領域からデータDT2-0を読み出す(ステップS45)。
そして、パケット受信・処理部111は、読み出したデータDT2-0を設定したアンサパケットAPの生成指示を、アンサパケット生成部112に与える(ステップS46)。
これを受けたアンサパケット生成部112は、アンサパケットAPを以下のようにして生成する(ステップS47)。
すなわち、アンサパケット生成部112は、アンサパケットAP中の応答種別AP1、アドレス情報AP2、データAP3、及び要求元プロセッサIDAP4に、それぞれ、図5(2)に示したデータ読出ACK3、アドレスB2-0、データDT2-0、及び“210_1”を設定する。
そして、アンサパケット生成部112は、生成したアンサパケットAPをパケット判定部222_1のみに送信する(ステップS48)。
これを受けたパケット判定部222_1は、アンサパケットAP中の応答種別AP1を抽出して判定し(ステップS49)、応答種別AP1にデータ読出ACK3が設定されていると判定した時、アンサパケットAPをプロセッサ210_1に転送する(ステップS50)。
これを受けたプロセッサ210_1は、アンサパケットAP中のデータAP3からデータDT2-0を取得する(ステップS51)。
II.1.D.データ書込動作例:図8
データブロックD2に対するアクセス権を獲得したプロセッサ210_1は、図8に示すように、データブロックD2中の所望のアドレス、例えばアドレスB2-0への所望のデータDTyの書込要求をリクエストパケット生成部221_1に与える(ステップS61)。
これを受けたリクエストパケット生成部221_1は、リクエストパケットRPを以下のようにして生成する(ステップS62)。
すなわち、リクエストパケット生成部221_1は、リクエストパケットRP中の要求種別RP1、アドレス情報RP2、データRP3、及び要求元プロセッサIDRP4に、それぞれ、図4(2)に示したデータ書込要求RQ4、アドレスB2-0、データDTy、及び“210_1”を設定する。
そして、リクエストパケット生成部221_1は、生成したリクエストパケットRPをパケット受信・処理部111に送信する(ステップS63)。
これを受けたパケット受信・処理部111は、リクエストパケットRP中の要求種別RP1を抽出して判定する(ステップS64)。この結果、要求種別RP1にデータ書込要求RQ4が設定されていると判定した時、パケット受信・処理部111は、アドレス情報RP2に設定されているアドレスB2-0が指し示す領域に、リクエストパケットRP中のデータRP3に設定されているデータDTyを書き込む(ステップS65)。
なお、データ書込時には、アンサパケットAPを共有メモリボード100-プロセッサボード200間で送受信せず、プロセッサ210は、上記のステップS61で示したデータ書込要求を行った時点でデータ書込の実行が完了したと見做している。
II.2.動作例(2):図9及び10
以下、共有メモリSMを図9に示す構成とした場合のマルチプロセッサ10のアクセス権獲得動作例を、図10を参照して説明する。なお、アクセス権解放動作例、データ読出動作例、及びデータ書込動作例については、上記の動作例(1)と同様であるためその説明を省略する。
II.2.A. 共有メモリの構成例(2):図9
図9に示す共有メモリSMは、図2に示した共有メモリの構成例(1)とは異なり、データブロックD0〜Dmが、それぞれ、単一のアドレスB0,B1, B2, …, Bm毎に分割されている。
また、各排他制御情報I0〜Imは、上記の共有メモリの構成例(1)と同様、各データブロックD0〜Dmに対応させて設けられており、アクセス権表示ビットb1及びプロセッサID表示ビットb2を含んでいる。
II.2.B. アクセス権獲得動作例(2):図10
図10に示すアクセス権獲得動作例は、図3に示したアクセス権獲得動作例(1)とステップS70〜S73の処理のみが異なっている。
すなわち、ステップS7において、プロセッサ210_1にデータブロックD2に対するアクセス権を獲得させたパケット受信・処理部111は、リクエストパケットRP中のアドレス情報RP2に設定されているアドレスA2が指し示す排他制御情報I2に対応するデータブロックD2からデータDT2を読み出す(ステップS70)。
そして、パケット受信・処理部111は、アクセス権の獲得と共に読み出したデータDT2をアンサパケットAPに設定するようアンサパケット生成部112に指示を与える(ステップS71)。
これを受けたアンサパケット生成部112は、上記のアクセス権獲得動作例(1)と同様にしてアンサパケットAP中の応答種別AP1、アドレス情報AP2、及び要求元プロセッサIDAP4に、それぞれアクセス権獲得ACK1、アドレスA2、及び“210_1”を設定すると共に、上記のアクセス権獲得動作例(1)では未使用としていたデータAP3にデータDT2を設定する(ステップS72)。
これにより、データDT2が設定されたアンサパケットが全てのパケット判定部222_1〜222_nにブロードキャストされることになる。
そして、ステップS13において、アンサパケットAPを転送されたプロセッサ210_1は、アンサパケットAP中のデータAP3からデータDT2を取得する(ステップS73)。
これにより、プロセッサ210_1は、アクセス権獲得とデータ読出を同時に行うことで、図7のステップS41に示したデータ読出要求を行うことなくデータブロックD2に格納されているデータDT2を取得することができる。なお、プロセッサ210_1が、データブロックD2にデータ書込を行う場合には、取得したデータDR2を破棄し、図8のステップS61と同様にして所望のデータの書込要求を行えば良い。
なお、上記実施例によって本発明は限定されるものではなく、特許請求の範囲の記載に基づき、当業者によって種々の変更が可能なことは明らかである。
(付記1)
複数のプロセッサの内の任意の要求元プロセッサから、該要求元プロセッサの識別子、及び共有メモリに対するアクセス権の獲得要求又は解放要求が設定されたリクエストパケットを受信する第1ステップと、
該アクセス権の獲得要求又は解放要求に応じて、該共有メモリに該要求元プロセッサの識別子をそれぞれ設定又は解除する第2ステップと、
該要求元プロセッサの識別子の設定又は解除にそれぞれ対応して該アクセス権の獲得又は解放を示すアンサパケットを生成し、全てのプロセッサにブロードキャストする第3ステップと、
を備えたことを特徴とする共有メモリのアクセス監視方法。
(付記2)
複数のプロセッサの内の任意の要求元プロセッサからの共有メモリに対するアクセス権の獲得又は解放を要求するリクエストパケットへの応答として、全てのプロセッサにブロードキャストされたパケットであって、該共有メモリへの該要求元プロセッサの識別子の設定又は解除にそれぞれ対応して該アクセス権の獲得又は解放を示すアンサパケットを受信する第1ステップと、
該アンサパケットにより、該アクセス権の獲得又は解放を示すか判定する第2ステップと、
を備えたことを特徴とする共有メモリのアクセス監視方法。
(付記3)
複数のプロセッサの内の任意の要求元プロセッサから、該要求元プロセッサの識別子、及び共有メモリに対するアクセス権の獲得要求又は解放要求が設定されたリクエストパケットを受信する第1手段と、
該アクセス権の獲得要求又は解放要求に応じて、該共有メモリに該要求元プロセッサの識別子をそれぞれ設定又は解除する第2手段と、
該要求元プロセッサの識別子の設定又は解除にそれぞれ対応して該アクセス権の獲得又は解放を示すアンサパケットを生成し、全てのプロセッサにブロードキャストする第3手段と、
を備えたことを特徴とする共有メモリのアクセス監視装置。
(付記4)付記3において、
該共有メモリが、各プロセッサから読出又は書込されるデータを格納するためのデータ領域と、該データ領域に対する該アクセス権の獲得又は解放の状態を示すアクセス権表示ビット、及びプロセッサの識別子を示す識別子表示ビットを含む排他制御情報の領域とを有し、
該第2手段が、該リクエストパケットに該獲得要求が設定されており且つ該アクセス権表示ビットが該アクセス権の解放状態を示す時、該アクセス権表示ビットを獲得状態に更新すると共に該識別子表示ビットに該要求元プロセッサの識別子を設定する第4手段と、
該リクエストパケットに該解放要求が設定されており且つ該アクセス権表示ビット及び該識別子表示ビットがそれぞれ該アクセス権の獲得状態及び該要求元プロセッサの識別子を示す時、該アクセス権表示ビットを解放状態に更新すると共に、該識別子表示ビットに設定されている該要求元プロセッサの識別子を消去する第5手段とを含むことを特徴とした共有メモリのアクセス監視装置。
(付記5)付記4において、
該データ領域が所定のアドレス範囲毎のデータブロックに分割され、該排他制御情報が各データブロックに対応して設けられ、
該リクエストパケットが、さらに、各データブロックのいずれに対してアクセス権の獲得要求又は解放要求を行うかを示すアドレス情報を含み、
該第4又は該第5手段が、それぞれ、該アドレス情報に示されたデータブロックに対して該アクセス権表示ビットを獲得状態又は解放状態に更新すると共に、該識別子表示ビットに該要求元プロセッサの識別子を設定するか又は設定されている該要求元プロセッサの識別子を消去することを特徴とした共有メモリのアクセス監視装置。
(付記6)付記5において、
各データブロックが、単一のアドレス毎に分割されており、
該第4手段が、該アクセス権ビットを獲得状態に更新し且つ該識別子表示ビットに該要求元プロセッサの識別子を設定した時、該アドレス情報に示されたアドレスのデータブロックに格納されているデータを読み出すと共に、該読み出したデータを該アンサパケットに設定するよう該第3手段に指示する手段を含み、
該第3手段が、該生成したアンサパケットに該読み出したデータを設定する手段を含むことを特徴とした共有メモリのアクセス監視装置。
(付記7)
複数のプロセッサの内の任意の要求元プロセッサからの共有メモリに対するアクセス権の獲得又は解放を要求するリクエストパケットへの応答として、全てのプロセッサにブロードキャストされたパケットであって、該共有メモリへの該要求元プロセッサの識別子の設定又は解除にそれぞれ対応して該アクセス権の獲得又は解放を示すアンサパケットを受信する第1手段と、
該アンサパケットにより、該アクセス権の獲得又は解放を示すか判定する第2手段と、
を備えたことを特徴とする共有メモリのアクセス監視装置。
(付記8)付記7において、
該共有メモリが、各プロセッサから読出又は書込されるデータを格納するためのデータ領域と、該データ領域に対する該アクセス権の獲得又は解放の状態を示すアクセス権表示ビットを含む排他制御情報の領域とを有し、
該第2手段が、該アクセス権の獲得を示すと判定した時、該排他制御情報領域と同一の領域を含むキャッシュメモリ中のアクセス権表示ビットを獲得状態に更新する第3手段と、
該アクセス権の解放を示すと判定した時、該キャッシュメモリ中の該アクセス権表示ビットを解放状態に更新する第4手段とを含むことを特徴とした共有メモリのアクセス監視装置。
(付記9)付記8において、
該データ領域が所定のアドレス範囲毎のデータブロックに分割され、該共有メモリ及び該キャッシュメモリの両排他制御情報が各データブロックにそれぞれ対応して設けられ、
該アンサパケットが、さらに、各データブロックのいずれに対してアクセス権の獲得又は解放が行われたかを示すアドレス情報を含み、
該第3又は該第4手段が、それぞれ、該アドレス情報に示されたデータブロックに対応する該キャッシュメモリ中の該アクセス権表示ビットを獲得状態又は解放状態に更新することを特徴とした共有メモリのアクセス監視装置。
(付記10)付記8又は9において、
該アンサパケットが、さらに、該要求元プロセッサの識別子を含み、
該キャッシュメモリの該排他制御情報が、プロセッサの識別子を示す識別子表示ビットを含み、
該第3又は該第4手段が、該キャッシュメモリ中のアクセス権表示ビットを獲得状態又は解放状態に更新した時、それぞれ、該識別子表示ビットに該要求元プロセッサの識別子を記録するか又は記録されている該要求元プロセッサの識別子を消去することを特徴とした共有メモリのアクセス監視装置。
本発明に係る共有メモリのアクセス監視方法及び装置を適用したマルチプロセッサシステムの構成例を示したブロック図である。 本発明に用いる共有メモリ及びキャッシュメモリの構成例(1)を示したブロック図である。 本発明のアクセス権獲得動作例(1)を示したシーケンス図である。 本発明に用いるリクエストパケットのフォーマット例を示した図である。 本発明に用いるアンサパケットのフォーマット例を示した図である。 本発明のアクセス権解放動作例を示したシーケンス図である。 本発明のデータ読出動作例を示したシーケンス図である。 本発明のデータ書込動作例を示したシーケンス図である。 本発明に用いる共有メモリの構成例(2)を示したブロック図である。 本発明のアクセス権獲得動作例(2)を示したシーケンス図である。 マルチプロセッサシステムの従来例[1]を示したブロック図である。 マルチプロセッサシステムの従来例[2]を示したブロック図である。
符号の説明
10 マルチプロセッサシステム
100 共有メモリボード
110, 220, 220_1〜220_n バスインタフェース部
111 パケット受信・処理部
112 アンサパケット生成部
200, 200_1〜200_n プロセッサボード
210, 210_1〜210_n プロセッサ
221, 221_1〜221_n リクエストパケット生成部
222, 222_1〜221_n パケット判定部
300 バス調停装置
SM 共有メモリ
AR1 データ領域
AR2 排他制御情報領域
I0〜Im 排他制御情報
D0〜Dm データブロック
b1 アクセス権表示ビット
b2 プロセッサID表示ビット
CM, CM1〜CMn キャッシュメモリ
RP リクエストパケット
AP アンサパケット
RP1 要求種別
AP1 応答種別
RP2, AP2 アドレス情報
RP3, AP3, DT, DT0〜DTm, DTy, DT0-0〜DTm-x データ
RP4, AP4 要求元プロセッサID
RQ1 アクセス権獲得要求
RQ2 アクセス権解放要求
RQ3 データ読出要求
RQ4 データ書込要求
ACK1 アクセス権獲得
ACK2 アクセス権解放
ACK3 データ読出
PB, PB1〜PBn プロセッサバス
CB 共通バス
SB シリアルバス
図中、同一符号は同一又は相当部分を示す。

Claims (5)

  1. 複数のプロセッサの内の任意の要求元プロセッサから、該要求元プロセッサの識別子、及び共有メモリに対するアクセス権の獲得要求又は解放要求が設定されたリクエストパケットを受信する第1ステップと、
    該アクセス権の獲得要求又は解放要求に応じて、該共有メモリに該要求元プロセッサの識別子をそれぞれ設定又は解除する第2ステップと、
    該要求元プロセッサの識別子の設定又は解除にそれぞれ対応して該アクセス権の獲得又は解放を示すアンサパケットを生成し、全てのプロセッサにブロードキャストする第3ステップと、
    を備えたことを特徴とする共有メモリのアクセス監視方法。
  2. 複数のプロセッサの内の任意の要求元プロセッサからの共有メモリに対するアクセス権の獲得又は解放を要求するリクエストパケットへの応答として、全てのプロセッサにブロードキャストされたパケットであって、該共有メモリへの該要求元プロセッサの識別子の設定又は解除にそれぞれ対応して該アクセス権の獲得又は解放を示すアンサパケットを受信する第1ステップと、
    該アンサパケットにより、該アクセス権の獲得又は解放を示すか判定する第2ステップと、
    を備えたことを特徴とする共有メモリのアクセス監視方法。
  3. 複数のプロセッサの内の任意の要求元プロセッサから、該要求元プロセッサの識別子、及び共有メモリに対するアクセス権の獲得要求又は解放要求が設定されたリクエストパケットを受信する第1手段と、
    該アクセス権の獲得要求又は解放要求に応じて、該共有メモリに該要求元プロセッサの識別子をそれぞれ設定又は解除する第2手段と、
    該要求元プロセッサの識別子の設定又は解除にそれぞれ対応して該アクセス権の獲得又は解放を示すアンサパケットを生成し、全てのプロセッサにブロードキャストする第3手段と、
    を備えたことを特徴とする共有メモリのアクセス監視装置。
  4. 請求項3において、
    該共有メモリが、各プロセッサから読出又は書込されるデータを格納するためのデータ領域と、該データ領域に対する該アクセス権の獲得又は解放の状態を示すアクセス権表示ビット、及びプロセッサの識別子を示す識別子表示ビットを含む排他制御情報の領域とを有し、
    該第2手段が、該リクエストパケットに該獲得要求が設定されており且つ該アクセス権表示ビットが該アクセス権の解放状態を示す時、該アクセス権表示ビットを獲得状態に更新すると共に該識別子表示ビットに該要求元プロセッサの識別子を設定する第4手段と、
    該リクエストパケットに該解放要求が設定されており且つ該アクセス権表示ビット及び該識別子表示ビットがそれぞれ該アクセス権の獲得状態及び該要求元プロセッサの識別子を示す時、該アクセス権表示ビットを解放状態に更新すると共に、該識別子表示ビットに設定されている該要求元プロセッサの識別子を消去する第5手段とを含むことを特徴とした共有メモリのアクセス監視装置。
  5. 複数のプロセッサの内の任意の要求元プロセッサからの共有メモリに対するアクセス権の獲得又は解放を要求するリクエストパケットへの応答として、全てのプロセッサにブロードキャストされたパケットであって、該共有メモリへの該要求元プロセッサの識別子の設定又は解除にそれぞれ対応して該アクセス権の獲得又は解放を示すアンサパケットを受信する第1手段と、
    該アンサパケットにより、該アクセス権の獲得又は解放を示すか判定する第2手段と、
    を備えたことを特徴とする共有メモリのアクセス監視装置。
JP2006223299A 2006-08-18 2006-08-18 共有メモリのアクセス監視方法及び装置 Pending JP2008046969A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2006223299A JP2008046969A (ja) 2006-08-18 2006-08-18 共有メモリのアクセス監視方法及び装置
EP07015874A EP1895413A3 (en) 2006-08-18 2007-08-13 Access monitoring method and device for shared memory
US11/838,334 US20080047005A1 (en) 2006-08-18 2007-08-14 Access monitoring method and device for shared memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006223299A JP2008046969A (ja) 2006-08-18 2006-08-18 共有メモリのアクセス監視方法及び装置

Publications (1)

Publication Number Publication Date
JP2008046969A true JP2008046969A (ja) 2008-02-28

Family

ID=38835067

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006223299A Pending JP2008046969A (ja) 2006-08-18 2006-08-18 共有メモリのアクセス監視方法及び装置

Country Status (3)

Country Link
US (1) US20080047005A1 (ja)
EP (1) EP1895413A3 (ja)
JP (1) JP2008046969A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010061324A (ja) * 2008-09-03 2010-03-18 Hitachi Automotive Systems Ltd 分散制御用制御ソフトウェアおよび電子制御装置
JP2010073122A (ja) * 2008-09-22 2010-04-02 Nec Computertechno Ltd リクエスト発行ノード、リクエスト受信ノード、システム、及び制御方法
US8959303B2 (en) 2011-03-25 2015-02-17 Kabushiki Kaisha Toshiba Information processor and multi-core system
JP2017504089A (ja) * 2013-12-26 2017-02-02 インテル・コーポレーション 共有メモリ、およびノード間のi/oサービス

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102400014B1 (ko) * 2014-12-26 2022-05-20 삼성전자주식회사 이동 단말의 데이터 브로드캐스팅을 이용한 서비스 제공 방법 및 장치
KR101716862B1 (ko) * 2016-10-04 2017-03-15 (주)볼트마이크로 영상데이터 관리 장치 및 방법
US20180285262A1 (en) * 2017-03-31 2018-10-04 Intel Corporation Techniques for shared virtual memory access protection
CN108628621A (zh) * 2018-03-05 2018-10-09 深圳市鼎阳科技有限公司 一种从设备的固件升级方法及固件升级的从设备、系统
CN115455397B (zh) * 2022-10-28 2023-03-21 湖北芯擎科技有限公司 一种输入输出接口控制方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03196249A (ja) * 1989-12-25 1991-08-27 Hitachi Ltd 多重プロセッサシステム
JPH0944402A (ja) * 1995-07-27 1997-02-14 Nec Software Ltd キャッシュメモリの記憶一致制御装置及び方法
JPH09231124A (ja) * 1996-02-20 1997-09-05 Ricoh Co Ltd メモリロック装置及びメモリロック方法
JPH09293055A (ja) * 1996-04-26 1997-11-11 Nec Corp 疎結合多重計算機システムにおける共有ファイルの排他制御システム、排他制御方法、および排他制御プログラムを記憶する媒体
WO2001016738A2 (en) * 1999-08-31 2001-03-08 Times N Systems, Inc. Efficient page ownership control

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4410944A (en) * 1981-03-24 1983-10-18 Burroughs Corporation Apparatus and method for maintaining cache memory integrity in a shared memory environment
US5142676A (en) * 1988-12-28 1992-08-25 Gte Laboratories Incorporated Separate content addressable memories for storing locked segment addresses and locking processor identifications for controlling access to shared memory
JPH04362755A (ja) * 1991-06-10 1992-12-15 Nec Corp 共用型拡張記憶試験方式
US5584017A (en) * 1991-12-19 1996-12-10 Intel Corporation Cache control which inhibits snoop cycles if processor accessing memory is the only processor allowed to cache the memory location
US6195724B1 (en) * 1998-11-16 2001-02-27 Infineon Technologies Ag Methods and apparatus for prioritization of access to external devices
JP3769413B2 (ja) 1999-03-17 2006-04-26 株式会社日立製作所 ディスクアレイ制御装置
JP3716126B2 (ja) 1999-03-17 2005-11-16 株式会社日立製作所 ディスクアレイ制御装置及びディスクアレイ

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03196249A (ja) * 1989-12-25 1991-08-27 Hitachi Ltd 多重プロセッサシステム
JPH0944402A (ja) * 1995-07-27 1997-02-14 Nec Software Ltd キャッシュメモリの記憶一致制御装置及び方法
JPH09231124A (ja) * 1996-02-20 1997-09-05 Ricoh Co Ltd メモリロック装置及びメモリロック方法
JPH09293055A (ja) * 1996-04-26 1997-11-11 Nec Corp 疎結合多重計算機システムにおける共有ファイルの排他制御システム、排他制御方法、および排他制御プログラムを記憶する媒体
WO2001016738A2 (en) * 1999-08-31 2001-03-08 Times N Systems, Inc. Efficient page ownership control

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010061324A (ja) * 2008-09-03 2010-03-18 Hitachi Automotive Systems Ltd 分散制御用制御ソフトウェアおよび電子制御装置
JP2010073122A (ja) * 2008-09-22 2010-04-02 Nec Computertechno Ltd リクエスト発行ノード、リクエスト受信ノード、システム、及び制御方法
US8959303B2 (en) 2011-03-25 2015-02-17 Kabushiki Kaisha Toshiba Information processor and multi-core system
JP2017504089A (ja) * 2013-12-26 2017-02-02 インテル・コーポレーション 共有メモリ、およびノード間のi/oサービス
US10915468B2 (en) 2013-12-26 2021-02-09 Intel Corporation Sharing memory and I/O services between nodes

Also Published As

Publication number Publication date
US20080047005A1 (en) 2008-02-21
EP1895413A3 (en) 2009-09-30
EP1895413A2 (en) 2008-03-05

Similar Documents

Publication Publication Date Title
JP2008046969A (ja) 共有メモリのアクセス監視方法及び装置
JP7003562B2 (ja) ミラーパケット制御プログラム、ミラーパケット制御方法、およびミラーパケット制御装置
US8051325B2 (en) Multiprocessor system and failure recovering system
US7853767B2 (en) Dual writing device and its control method
RU2008119844A (ru) Способ и устройство для очистки резервирования семафоров
JP3807250B2 (ja) クラスタシステム、コンピュータ及びプログラム
KR20030084553A (ko) 멀티프로세서 장치
US20130262553A1 (en) Information processing system and information transmitting method
US7506107B2 (en) Shared memory multiprocessor system
KR100644596B1 (ko) 버스 시스템 및 그 버스 중재방법
KR20180071967A (ko) 데이터 처리
EP3355181B1 (en) Method and apparatus for responding to request based on node controller
JP2006172243A (ja) フォルトトレラントコンピュータ装置およびその同期化方法
JP2007226641A (ja) 情報処理装置、キャッシュ制御方法及びプログラム
US10545885B2 (en) Information processing device, information processing method, and computer program product
KR20200049529A (ko) 데이터 처리 시스템에서의 캐시 유지보수 동작
JP2007334668A (ja) メモリダンプ方法、クラスタシステム、それを構成するノードおよびプログラム
CN110098945B (zh) 应用于节点系统的数据处理方法及装置
JP3288261B2 (ja) キャッシュシステム
US9009412B2 (en) Information processing apparatus and control method of information processing apparatus
JP4546943B2 (ja) 転写メモリシステムに用いられるノードおよびメモリ領域管理方法
JP2009032085A (ja) データ処理システム
CN116107771A (zh) 缓存状态记录方法、数据访问方法及相关装置、设备
KR20160086746A (ko) 인터커넥트 및 인터커넥트의 작동방법
JP2909160B2 (ja) 複合計算機システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081120

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100729

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100803

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101004

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20101026