JPH01298459A - 共用メモリ・マルチプロセツサ・システム - Google Patents
共用メモリ・マルチプロセツサ・システムInfo
- Publication number
- JPH01298459A JPH01298459A JP1088185A JP8818589A JPH01298459A JP H01298459 A JPH01298459 A JP H01298459A JP 1088185 A JP1088185 A JP 1088185A JP 8818589 A JP8818589 A JP 8818589A JP H01298459 A JPH01298459 A JP H01298459A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- hot spot
- network
- address
- block
- 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
- 230000015654 memory Effects 0.000 title claims abstract description 185
- 238000001514 detection method Methods 0.000 claims description 57
- 230000005540 biological transmission Effects 0.000 claims description 3
- 230000007246 mechanism Effects 0.000 abstract description 10
- 238000012546 transfer Methods 0.000 abstract description 8
- 238000000034 method Methods 0.000 description 57
- 239000000872 buffer Substances 0.000 description 42
- 230000006870 function Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 12
- 238000004891 communication Methods 0.000 description 8
- 230000009471 action Effects 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 6
- 238000013461 design Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000013519 translation Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 241001522296 Erithacus rubecula Species 0.000 description 1
- 241000287828 Gallus gallus Species 0.000 description 1
- 229910017309 Mo—Mn Inorganic materials 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 229910052729 chemical element Inorganic materials 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 125000000524 functional group Chemical class 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/28—Routing or path finding of packets in data switching networks using route fault recovery
-
- 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/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/122—Replacement control using replacement algorithms of the least frequently used [LFU] type, e.g. with individual count value
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1652—Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
- G06F13/1663—Access to shared memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17356—Indirect interconnection networks
- G06F15/17368—Indirect interconnection networks non hierarchical topologies
- G06F15/17393—Indirect interconnection networks non hierarchical topologies having multistage networks, e.g. broadcasting scattering, gathering, hot spot contention, combining/decombining
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/24—Multipath
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/80—Ingress point selection by the source endpoint, e.g. selection of ISP or POP
- H04L45/85—Selection among different networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/80—Ingress point selection by the source endpoint, e.g. selection of ISP or POP
- H04L45/85—Selection among different networks
- H04L45/851—Dynamic network selection or re-selection, e.g. after degradation of quality
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Multimedia (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Multi Processors (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
以下の順序で、本発明を説明する。
A、産業上の利用分野
B、従来技術
C0発明が解決しようとする問題点
り0問題点を解決するための手段
E、実施例
El、序論
E2.−船釣説明
E3.好ましい実施例(第1図乃至第6図)F0発明の
効果 A、産業上の利用分野 本発明はデータ・プロセッサ・メモリ・システムに関し
、更に具体的には、複数のプロセッサ及び複数の個々の
メモリ・モジュールを有する大型マルチプロセッサ・コ
ンピュータ・システムで使用するためのこのようなメモ
リ・システム制御装置に関する。さらに具体的には、本
発明は複雑な相互接続ネットワークを介して個々のプロ
セッサとメモリ・モジュール間のデータの流れを制御す
る技術に関する。
効果 A、産業上の利用分野 本発明はデータ・プロセッサ・メモリ・システムに関し
、更に具体的には、複数のプロセッサ及び複数の個々の
メモリ・モジュールを有する大型マルチプロセッサ・コ
ンピュータ・システムで使用するためのこのようなメモ
リ・システム制御装置に関する。さらに具体的には、本
発明は複雑な相互接続ネットワークを介して個々のプロ
セッサとメモリ・モジュール間のデータの流れを制御す
る技術に関する。
B、従来技術
最近の研究によれば、大型並列コンピュータのメモリ・
システムは性能が低下する可能性があるという欠点があ
ることがわかっている。メモリ参照の大部分が1つのメ
モリ・アドレスに向けられると、システム全体の性能は
この1つのメモリ容量によって制限される。このメモリ
へのアクセスが多段の相互接続ネットワークを介して行
われる時には「ツリー封鎖(tree blockag
e) Jとして知られている現象がさらに競合を生じ、
このシステムのすべてのユーザにかなりな遅延をもたら
す。
システムは性能が低下する可能性があるという欠点があ
ることがわかっている。メモリ参照の大部分が1つのメ
モリ・アドレスに向けられると、システム全体の性能は
この1つのメモリ容量によって制限される。このメモリ
へのアクセスが多段の相互接続ネットワークを介して行
われる時には「ツリー封鎖(tree blockag
e) Jとして知られている現象がさらに競合を生じ、
このシステムのすべてのユーザにかなりな遅延をもたら
す。
この問題及び関連する性能上の問題は後にリストする論
文「ホット・スポットの競合と多段相互接続ネットワー
ク中での組合せ」に論ぜられている。
文「ホット・スポットの競合と多段相互接続ネットワー
ク中での組合せ」に論ぜられている。
この問題の一つの解決法はNYtJ超コンピュータ設計
中に提案されている“組合せネットワーク″“である(
rNYtJ超コンピュータ・・・MIMD、共用メモリ
並列マシンの設計J 19B3年2月刊のコンピュータ
に関するIEEE論文集、第175〜第189頁(”T
he N Y U Ultracomputer−De
signing a M I M D% 5hared
I’lemory ParallelMachine
、 “I E E E Transactions
onComputers 、 February 19
83、pp、175−189)を参照)。この組合せネ
ットワによって、メモリのホット・スポットへの参照が
メモリに行く前に組合されて、ホット・スポットのため
の競合を減少しているが、組合せネットワークは複雑で
高価なハードウェアの設計を要する。大型マルチプロセ
ッサシステム中のすべてのメモリ参照を支援するために
十分低い待ち時間の組合せネットワークを構成すること
は現在困難である。他の方法は2つのネットワークを形
成して、1つを低待ち時間用に他を競合性の高いトラフ
ィック処理のためにして、ホット・スポットを生ずるこ
とが予想されるメツセージを第2のネットワークに向け
るものである。しかしながら、一般のメモリ・トラフイ
ツ′りからホット・スポット参照を効果的に選択する際
に問題が残る。このようなシステム中でソフトウェアも
しくはメツセージのタイプの予定の指定に依存して、ど
のような参照がホット・スポットになされているかを指
示することによってホット・スポットの問題を避けるこ
とは勿論可能である。従ってホット・スポットは予じめ
識別できる。しかしながら、このような解決法は大型マ
ルチ・ユーザ・システムでは明らかに実施不能である。
中に提案されている“組合せネットワーク″“である(
rNYtJ超コンピュータ・・・MIMD、共用メモリ
並列マシンの設計J 19B3年2月刊のコンピュータ
に関するIEEE論文集、第175〜第189頁(”T
he N Y U Ultracomputer−De
signing a M I M D% 5hared
I’lemory ParallelMachine
、 “I E E E Transactions
onComputers 、 February 19
83、pp、175−189)を参照)。この組合せネ
ットワによって、メモリのホット・スポットへの参照が
メモリに行く前に組合されて、ホット・スポットのため
の競合を減少しているが、組合せネットワークは複雑で
高価なハードウェアの設計を要する。大型マルチプロセ
ッサシステム中のすべてのメモリ参照を支援するために
十分低い待ち時間の組合せネットワークを構成すること
は現在困難である。他の方法は2つのネットワークを形
成して、1つを低待ち時間用に他を競合性の高いトラフ
ィック処理のためにして、ホット・スポットを生ずるこ
とが予想されるメツセージを第2のネットワークに向け
るものである。しかしながら、一般のメモリ・トラフイ
ツ′りからホット・スポット参照を効果的に選択する際
に問題が残る。このようなシステム中でソフトウェアも
しくはメツセージのタイプの予定の指定に依存して、ど
のような参照がホット・スポットになされているかを指
示することによってホット・スポットの問題を避けるこ
とは勿論可能である。従ってホット・スポットは予じめ
識別できる。しかしながら、このような解決法は大型マ
ルチ・ユーザ・システムでは明らかに実施不能である。
それはシステム全体の性能がすべてのユーザによる正し
い、効率的なプログラミングに依存し、どのタイプの参
照がホット・スポットになされているかを指示する際の
一貫性が暗に示されていなくてはならないからである。
い、効率的なプログラミングに依存し、どのタイプの参
照がホット・スポットになされているかを指示する際の
一貫性が暗に示されていなくてはならないからである。
従って、このようなマルチプロセッサ・マルチメモリ・
モジュール相互接続システムの概念が提案されていて、
低待ち時間ネットワークと潜在的な高待ち時間ホット・
スポット組合せネットワークが提案されたが、ホット・
スポットであることを示すメツセージをダイナミックに
識別して、その後相互接続機構を制御する効率的な手段
もしくは機構は知られていない。
モジュール相互接続システムの概念が提案されていて、
低待ち時間ネットワークと潜在的な高待ち時間ホット・
スポット組合せネットワークが提案されたが、ホット・
スポットであることを示すメツセージをダイナミックに
識別して、その後相互接続機構を制御する効率的な手段
もしくは機構は知られていない。
1987年5月12日に出願された米国特許出願第04
8982号は、適切な相互接続ネットワークを介して相
互接続されなければならない、複数のプロセッサ及び複
数のメモリをユーザマルチプロセッサ・システム中で使
用される2ネツトワーク相互接続システムを開示してい
る。このシステムでは、デルタ・ネットワークの概念力
補百単な交差点ネットワークと組合されて、ある情況の
下で、メツセージは交互にどちらかのネットワークに送
られている。しかしながら、この特許出願にはホット・
スポットを実時間ベースで連続的にモニタして、これ等
のホット・スポットに対するその後のメモリ参照を適切
な組合せネットワーク上に振向け、他の通常のメモリ参
照を低待ち時間ネットワーク上に送る方法の開示はない
。
8982号は、適切な相互接続ネットワークを介して相
互接続されなければならない、複数のプロセッサ及び複
数のメモリをユーザマルチプロセッサ・システム中で使
用される2ネツトワーク相互接続システムを開示してい
る。このシステムでは、デルタ・ネットワークの概念力
補百単な交差点ネットワークと組合されて、ある情況の
下で、メツセージは交互にどちらかのネットワークに送
られている。しかしながら、この特許出願にはホット・
スポットを実時間ベースで連続的にモニタして、これ等
のホット・スポットに対するその後のメモリ参照を適切
な組合せネットワーク上に振向け、他の通常のメモリ参
照を低待ち時間ネットワーク上に送る方法の開示はない
。
次にリストする4つの論文は大きな共用メモリを有する
、RP3として知られた実験用マルチプロセッサ計算シ
ステムの属性を説明したものであり、1985年8月2
0−23日に開催された並列処理に関する1985年国
際会議論文集(Proceedings of 19
85 InternationalConferen
ce on Parallel Processing
、 August20−23.1985)に発表され
たものである。
、RP3として知られた実験用マルチプロセッサ計算シ
ステムの属性を説明したものであり、1985年8月2
0−23日に開催された並列処理に関する1985年国
際会議論文集(Proceedings of 19
85 InternationalConferen
ce on Parallel Processing
、 August20−23.1985)に発表され
たものである。
(1) G、F、ツイスタ−(Pfister)等によ
るrlBM研究用並列プロセッサのプロトタイプ(RP
3):入門とアーキテクチュア(“ThelBMRe
search Parallel Processor
Prototype (RP3 ) : Intr
oduction and Architecture
”) J第764−771頁。
るrlBM研究用並列プロセッサのプロトタイプ(RP
3):入門とアーキテクチュア(“ThelBMRe
search Parallel Processor
Prototype (RP3 ) : Intr
oduction and Architecture
”) J第764−771頁。
(2) V、A、ツートン(Norton)等による「
マルチプロセッサのパフォーマンスを予測する方法じA
Metho dology for Predict
ionMultiprocessor Perform
ance”)第772−781頁。この論文は所与のマ
ルチプロセッサのパフォーマンスを予測する方法を開示
し、システム全体のパフォーマンスを著しく損う、種々
のタイプのメモリ閉鎖を予測する方法を示している。
マルチプロセッサのパフォーマンスを予測する方法じA
Metho dology for Predict
ionMultiprocessor Perform
ance”)第772−781頁。この論文は所与のマ
ルチプロセッサのパフォーマンスを予測する方法を開示
し、システム全体のパフォーマンスを著しく損う、種々
のタイプのメモリ閉鎖を予測する方法を示している。
(3) K、P、マクオリフエ(McAuliffe)
等による「RP3プロセッサ/メそり素子(”The
RP 3Processor/Memory Elem
ent’) J第782−第789頁。
等による「RP3プロセッサ/メそり素子(”The
RP 3Processor/Memory Elem
ent’) J第782−第789頁。
(4) G、F、ツイスタ−(Pf is ter)等
による「ホット・スポットの競合と多段相互接続ネット
ワーク中での組合せ (”Hot−5pot Contention and
Combining inMultistage I
nter connection Networks″
)」第790−797頁。
による「ホット・スポットの競合と多段相互接続ネット
ワーク中での組合せ (”Hot−5pot Contention and
Combining inMultistage I
nter connection Networks″
)」第790−797頁。
(5)米国特許第3956737号。
(6)米国特許第4484262号及び第470778
1号。
1号。
C0発明が解決しようとする問題点
本発明の目的は、共用メモリ・マルチプロセッサ・シス
テムのための相互接続ネットワーク管理アーキテクチュ
アを与えることにある。
テムのための相互接続ネットワーク管理アーキテクチュ
アを与えることにある。
本発明に従えば、少なくとも1つの低待ち時間通信ネッ
トワーク、及び少なくとも1つの他の相互接続ネットワ
ークを有するシステムのための相互接続ネットワーク管
理アーキテクチュアが与え−られる。
トワーク、及び少なくとも1つの他の相互接続ネットワ
ークを有するシステムのための相互接続ネットワーク管
理アーキテクチュアが与え−られる。
本発明に従えば、メモリのアドレス基準に基づいて、上
記2つのネットワークの一方もしくは他方へメモリ・ア
クセスを転向させる手段を有する相互接続ネットワーク
・アーキテクチュアが与えられる。
記2つのネットワークの一方もしくは他方へメモリ・ア
クセスを転向させる手段を有する相互接続ネットワーク
・アーキテクチュアが与えられる。
本発明に従えば、上記メモリ・アクセスを転向するため
の手段が、転向の基準としてホット・スポット・メモリ
基準を使用する相互接続ネットワーク・アーキテクチュ
アが与えられる。
の手段が、転向の基準としてホット・スポット・メモリ
基準を使用する相互接続ネットワーク・アーキテクチュ
アが与えられる。
本発明に従えば、システム制御の基準としてのホット・
スポットをダイナミックに検出して、除去し、上記ホッ
ト・スポットを検出した時にこれを使用して上記メツセ
ージの転向を行う相互接続ネットワーク・アーキテクチ
ュアが与えられる。
スポットをダイナミックに検出して、除去し、上記ホッ
ト・スポットを検出した時にこれを使用して上記メツセ
ージの転向を行う相互接続ネットワーク・アーキテクチ
ュアが与えられる。
D1問題点を解決するための手段
本発明に従えば、複数のプロセッサ及び複数の個別にア
ドレス可能なメモリ・モジュールを有し、メモリ・モジ
ュールの各々がメモリ相互接続ネットワークを介して上
記プロセッサの任意のものによってアクセスできる大型
共用メモリ・マルチプロセッサ・コンピュータ・システ
ムで使用される相互接続ネットワーク・アーキテクチュ
アが与えられる。上記システムは2つの並列相互接続メ
モリ・ネットワークより成り、各々は任意のプロセッサ
を任意のモジュールに相互接続できる。上記2つのネッ
トワークは、メモリの競合を生ずる可能の低いメモリ要
求が導かれる第1の低待ち時間ネットワーク及びメモリ
競合の可能性が高いメモリ要求が導かれる第2のネット
ワークより成る。
ドレス可能なメモリ・モジュールを有し、メモリ・モジ
ュールの各々がメモリ相互接続ネットワークを介して上
記プロセッサの任意のものによってアクセスできる大型
共用メモリ・マルチプロセッサ・コンピュータ・システ
ムで使用される相互接続ネットワーク・アーキテクチュ
アが与えられる。上記システムは2つの並列相互接続メ
モリ・ネットワークより成り、各々は任意のプロセッサ
を任意のモジュールに相互接続できる。上記2つのネッ
トワークは、メモリの競合を生ずる可能の低いメモリ要
求が導かれる第1の低待ち時間ネットワーク及びメモリ
競合の可能性が高いメモリ要求が導かれる第2のネット
ワークより成る。
ホット・スポット検出装置が各メモリ・モジュールと関
連していて、そのモジュール中の特定のアドレスがホッ
ト・スポットとなった時を検出する。
連していて、そのモジュール中の特定のアドレスがホッ
ト・スポットとなった時を検出する。
転向装置が各プロセッサ及びメモリ・ネットワークと関
連していて、上記第1もしくは第2のメモリ・ネットワ
ークにメモリ要求を選択的に導く。
連していて、上記第1もしくは第2のメモリ・ネットワ
ークにメモリ要求を選択的に導く。
ホット・スポット通知装置が、すべての上記ホット・ス
ポット検出装置を上記転向装置のすべてと相互接続する
ために与えられる。上記転向装置の各々には、上記検出
装置の任意のものによって検出されたすべてのホット・
スポットを記憶するためのメモリ装置が与えられている
。各転向装置中には、現在のメモリ・アクセスが上記メ
モリ・システム内にリストされたホット・スポットにあ
るかどうかを判断し、もしあれば、メモリ・アクセスを
第2の相互接続ネットワークを介してメモリ・システム
に転送する装置が与えられる。
ポット検出装置を上記転向装置のすべてと相互接続する
ために与えられる。上記転向装置の各々には、上記検出
装置の任意のものによって検出されたすべてのホット・
スポットを記憶するためのメモリ装置が与えられている
。各転向装置中には、現在のメモリ・アクセスが上記メ
モリ・システム内にリストされたホット・スポットにあ
るかどうかを判断し、もしあれば、メモリ・アクセスを
第2の相互接続ネットワークを介してメモリ・システム
に転送する装置が与えられる。
上記検出装置の各々は、所定の時間の枠内で、特定のア
ドレスがホット・スポットとみなされる程十分な回数繰
返されたかどうかを判断し、もし繰返された時には各プ
ロセッサに関連するすべての転向装置に、この事実を、
新らしいホット・スポットのアドレスとともに通知して
記憶させ、後に各転向装置で使用される装置を含む。
ドレスがホット・スポットとみなされる程十分な回数繰
返されたかどうかを判断し、もし繰返された時には各プ
ロセッサに関連するすべての転向装置に、この事実を、
新らしいホット・スポットのアドレスとともに通知して
記憶させ、後に各転向装置で使用される装置を含む。
E、実施例
El、序論
本発明はネットワーク・トラフィック中のホット・スポ
ットを検出し、組合せネットワークを介してメモリ参照
を転向させるハードウェア技術を有する、大型共用メモ
リ・マルチプロセッサ・システムのための相互接続ネッ
トワーク管理アーキテクチュアに関する。「ホット・ス
ポット」なる用語は、予じめ定められた時間の枠内で繰
返し参照される同じメモリ位置を示している。ホット・
スポットの指定は異なるシステムの用途に適するように
システムの設計者によって自由に変更できることは明ら
かであろう。換言すれば、時間の枠だけでなく、同じメ
モリへの参照の総数が変更できる。しかしながら時間の
枠はこのレベルの制御を行う基本のアーキテクチュアに
は関係がない。
ットを検出し、組合せネットワークを介してメモリ参照
を転向させるハードウェア技術を有する、大型共用メモ
リ・マルチプロセッサ・システムのための相互接続ネッ
トワーク管理アーキテクチュアに関する。「ホット・ス
ポット」なる用語は、予じめ定められた時間の枠内で繰
返し参照される同じメモリ位置を示している。ホット・
スポットの指定は異なるシステムの用途に適するように
システムの設計者によって自由に変更できることは明ら
かであろう。換言すれば、時間の枠だけでなく、同じメ
モリへの参照の総数が変更できる。しかしながら時間の
枠はこのレベルの制御を行う基本のアーキテクチュアに
は関係がない。
本発明はメモリ・トラフィックを管理する際に多くの利
点を与える。この管理は容易に自動化でき、従って(非
効率的なことを行ったユーザのパホーマンスを除き)プ
ログラマのエラーもしくは不注意がシステム全体を劣化
することはない。
点を与える。この管理は容易に自動化でき、従って(非
効率的なことを行ったユーザのパホーマンスを除き)プ
ログラマのエラーもしくは不注意がシステム全体を劣化
することはない。
トラフィックが1つのネットワークから他方へ転向され
た時は、同じプロセッサによってアクセスされる変数へ
のアクセスの順序の変更によって一貫性が失われる可能
性がある。たとえば同じアドレスに向けられたロードと
記憶命令はこれ等が異なるネットワーク上を移動する時
は発生された順序に現われないことがある。ソフトウェ
アで順序の一貫性を保持することは困難であり、コンパ
イラの支援を必要とするか、かなりな実行時間のゆとり
を必要とする。このような一貫性はシステム内でプログ
ラムの正しい実行を保持するために絶対的に重要である
。本発明は、同じメモリへのネットワーク・トラフィッ
クが時々異なるネットワーク(たとえば組合せもしくは
非組合せネットワーク)を流れる場合でも、順序の一貫
性を保証するハードウェア手順を与える。任意の1つの
プロセッサから任意の1つのメモリへ発生されるメモリ
参照は、これらのメモリ参照が通るネットワークに関係
なく、発生した順序に生ずる。
た時は、同じプロセッサによってアクセスされる変数へ
のアクセスの順序の変更によって一貫性が失われる可能
性がある。たとえば同じアドレスに向けられたロードと
記憶命令はこれ等が異なるネットワーク上を移動する時
は発生された順序に現われないことがある。ソフトウェ
アで順序の一貫性を保持することは困難であり、コンパ
イラの支援を必要とするか、かなりな実行時間のゆとり
を必要とする。このような一貫性はシステム内でプログ
ラムの正しい実行を保持するために絶対的に重要である
。本発明は、同じメモリへのネットワーク・トラフィッ
クが時々異なるネットワーク(たとえば組合せもしくは
非組合せネットワーク)を流れる場合でも、順序の一貫
性を保証するハードウェア手順を与える。任意の1つの
プロセッサから任意の1つのメモリへ発生されるメモリ
参照は、これらのメモリ参照が通るネットワークに関係
なく、発生した順序に生ずる。
プロセッサのホット・スポット参照だけが高競合ネット
ワークを通して転向されるので、このようなネットワー
クは最悪の事態に遭遇する可能性のある、予定のホット
・スポットロードだけを処理すれば十分なように最小の
コストで構成できる。
ワークを通して転向されるので、このようなネットワー
クは最悪の事態に遭遇する可能性のある、予定のホット
・スポットロードだけを処理すれば十分なように最小の
コストで構成できる。
もし、たとえば、大部分がホット・スポットを生じない
、すべての同期トラフィックが組合せネットワークを通
して転向されるならば、組合せネットワークが非組合せ
ネットワークよりもかなり複雑であり、従ってより多く
の論理レベル、チエツク及び比較動作を経なければなら
ないという事実によって、待ち時間が増大する。
、すべての同期トラフィックが組合せネットワークを通
して転向されるならば、組合せネットワークが非組合せ
ネットワークよりもかなり複雑であり、従ってより多く
の論理レベル、チエツク及び比較動作を経なければなら
ないという事実によって、待ち時間が増大する。
すべてのメモリ・アクセスが本発明の相互接続制御アー
キテクチュアのコストは、すべてのメモリ・アクセスが
組合せネットワークを通るような大型システム中で適切
なメモリ・バホーマンスを与えるのに十分な帯域幅を有
する組合せネットワークを構成するコストよりも安いと
考えられる。
キテクチュアのコストは、すべてのメモリ・アクセスが
組合せネットワークを通るような大型システム中で適切
なメモリ・バホーマンスを与えるのに十分な帯域幅を有
する組合せネットワークを構成するコストよりも安いと
考えられる。
さらに本発明の必要とするハードウェア及び手順はキャ
ッシュ−ルックアップ及び変換機能のような機能と重畳
でき、単一の超大型、低待ち時間ネットワークを使用す
るメモリ参照のための総時間と比較して時間はさほど増
加しない。このような低待ち時間ネットワークのコスト
は上述のように組合せネットワークのコストの数分の−
である。
ッシュ−ルックアップ及び変換機能のような機能と重畳
でき、単一の超大型、低待ち時間ネットワークを使用す
るメモリ参照のための総時間と比較して時間はさほど増
加しない。このような低待ち時間ネットワークのコスト
は上述のように組合せネットワークのコストの数分の−
である。
本発明の相互接続ネットワーク管理アーキテクチュアの
他の利点として、メモリ参照トラフィック中のホット・
スポットを示す情報もしくはデータが実行時間中に利用
可能になることがあげられる。従ってこの情報をシステ
ムのユーザに報告して、適用業務でホット・スポットが
望ましくない時にソフトウェアのエラーを訂正すること
ができる。従ってこの情報でデータ組織等を変更して、
データをインターリーブされたメモリ・システム上によ
りよく分散してホット・スポットをなくすか、少なくと
も最小にすることが可能である。
他の利点として、メモリ参照トラフィック中のホット・
スポットを示す情報もしくはデータが実行時間中に利用
可能になることがあげられる。従ってこの情報をシステ
ムのユーザに報告して、適用業務でホット・スポットが
望ましくない時にソフトウェアのエラーを訂正すること
ができる。従ってこの情報でデータ組織等を変更して、
データをインターリーブされたメモリ・システム上によ
りよく分散してホット・スポットをなくすか、少なくと
も最小にすることが可能である。
本発明のアーキテクチュアは多(の(たとえば10以上
)独立した処理ユニットのシステム中で使用することを
意図している。2つの通信ネットワークが必要である。
)独立した処理ユニットのシステム中で使用することを
意図している。2つの通信ネットワークが必要である。
1つはニューヨーク大学超コンピュータ計画(New
York UniversityUltracompu
ter Project)によって提案され、A。
York UniversityUltracompu
ter Project)によって提案され、A。
ゴツトリープ(Gottlieb)等による論文rNY
U超コンピュータ・・・MIND共用メモリ並列マシン
(’The NYU Ultracomputer M
emory ParallelMachine”)」、
1983年2月刊コンピュータに関するI EEE論文
集(I E E E Transactionson
Computers)第175−185頁に詳細に説明
されている組合せネットワークのような高競合トラヒッ
クを処理できるものである。他のネットワークはすべて
の非ホット・スポット参照を効率的にメモリに転送でき
るに十分な低待ち時間のものである。両ネットワークは
、任意の入力に到達する、同じ宛先アドレスへの2つの
メツセージの順序がネットワークの出力迄保持されると
いった意味で、順序の一貫性を保持できるハードウェア
の内部に与えられる。このことは任意の1つの宛先には
メツセージの飛び越しがあってはならないことを意味し
ている。本発明においては、このような飛び越しを防止
するために、以下説明する「フェンス」機能及び原始的
なメモリ・アクセスをメモリ自体の中で使用して、一つ
のアクセスが完了してから他のアクセスが開始すること
が保証される。
U超コンピュータ・・・MIND共用メモリ並列マシン
(’The NYU Ultracomputer M
emory ParallelMachine”)」、
1983年2月刊コンピュータに関するI EEE論文
集(I E E E Transactionson
Computers)第175−185頁に詳細に説明
されている組合せネットワークのような高競合トラヒッ
クを処理できるものである。他のネットワークはすべて
の非ホット・スポット参照を効率的にメモリに転送でき
るに十分な低待ち時間のものである。両ネットワークは
、任意の入力に到達する、同じ宛先アドレスへの2つの
メツセージの順序がネットワークの出力迄保持されると
いった意味で、順序の一貫性を保持できるハードウェア
の内部に与えられる。このことは任意の1つの宛先には
メツセージの飛び越しがあってはならないことを意味し
ている。本発明においては、このような飛び越しを防止
するために、以下説明する「フェンス」機能及び原始的
なメモリ・アクセスをメモリ自体の中で使用して、一つ
のアクセスが完了してから他のアクセスが開始すること
が保証される。
メモリ・システムは1つの物理的なアドレス・スペース
を有し、1つのアドレスが特定のワードもしくはアドレ
ス可能要素の、モジュール内の位置だけでなく、メモリ
・モジュールを決定できるようになっている。本発明の
範囲を越えた因子によって生ずるメモリ封鎖による可能
性を減少する他の機能を有することも好ましい。これ等
の機能には次のものが含まれる。
を有し、1つのアドレスが特定のワードもしくはアドレ
ス可能要素の、モジュール内の位置だけでなく、メモリ
・モジュールを決定できるようになっている。本発明の
範囲を越えた因子によって生ずるメモリ封鎖による可能
性を減少する他の機能を有することも好ましい。これ等
の機能には次のものが含まれる。
(1)メモリ・インターピーニング:この動作は多くの
プロセッサが1ページ内の異なるアドレスをアクセスし
ようとする時に生じるメモリの競合を最小にするために
行わなければならない。
プロセッサが1ページ内の異なるアドレスをアクセスし
ようとする時に生じるメモリの競合を最小にするために
行わなければならない。
(2)アドレス・ハツシングもしくはスキューインタ:
この動作はメモリに対するストライド(大また)アクセ
スによる競合から生ずるメモリ競合を最小にするために
行われなくてはならない。このようなハツシング方法に
ついては、たとえば1987年10月29日出願の米国
特許第07/114909号を参照されたい。
この動作はメモリに対するストライド(大また)アクセ
スによる競合から生ずるメモリ競合を最小にするために
行われなくてはならない。このようなハツシング方法に
ついては、たとえば1987年10月29日出願の米国
特許第07/114909号を参照されたい。
(3)読取り専用データのキャッシング:これによれば
少なくとも現行の時間の枠内には1プロセッサ当り高々
1回のアクセスが生じるので、共用コード及び定数がホ
ット・スポットを生じるのが防止される。勿論、このよ
うなデータはキャッシュ可能とは指定されていないが、
本発明の管理アーキテクチュアがホット・スポットを生
じるのを防止する。
少なくとも現行の時間の枠内には1プロセッサ当り高々
1回のアクセスが生じるので、共用コード及び定数がホ
ット・スポットを生じるのが防止される。勿論、このよ
うなデータはキャッシュ可能とは指定されていないが、
本発明の管理アーキテクチュアがホット・スポットを生
じるのを防止する。
上述の3つの機能は上述のRP3として知られている大
型メモリ・マルチプロセッサ構造中に組込まれている。
型メモリ・マルチプロセッサ構造中に組込まれている。
E2.一般的説明
次に本発明の相互接続ネットワーク管理アーキテクチュ
アを一般的な機能的用語で説明する。基本のアーキテク
チュアに必要とされるハードウェアは次のように要約で
きる。
アを一般的な機能的用語で説明する。基本のアーキテク
チュアに必要とされるハードウェアは次のように要約で
きる。
ホット・スポット検出装置:この装置は特定のメモリ・
モジュールのすべてのメモリ参照をモニタする。各メモ
リ・モジュールにはこのような検出装置が与えられてい
る。この装置は最新にアクセスした、メモリ中の物理的
アドレスを表にするカウンタを有する。この検出装置は
キャッシュ・ディレクトリ中で通常使用されているよう
な連想メモリを必要とする(セット連想性はあってもな
くてもよい)。アクセスの総数はメモリ・サイクルの時
間ウィンドー、たとえば1000−10000サイクル
にわたって検出装置によって作表される。しかしながら
、この数値はシステム設計者の指定によって変更できる
。任意の1つのアドレスへの参照が十分頻繁でホット・
スポットを形成する時は、ホット・スポット検出装置が
ホット・スポット通知バスを活性化して、以下説明する
ように、すべての転向装置に通知する。
モジュールのすべてのメモリ参照をモニタする。各メモ
リ・モジュールにはこのような検出装置が与えられてい
る。この装置は最新にアクセスした、メモリ中の物理的
アドレスを表にするカウンタを有する。この検出装置は
キャッシュ・ディレクトリ中で通常使用されているよう
な連想メモリを必要とする(セット連想性はあってもな
くてもよい)。アクセスの総数はメモリ・サイクルの時
間ウィンドー、たとえば1000−10000サイクル
にわたって検出装置によって作表される。しかしながら
、この数値はシステム設計者の指定によって変更できる
。任意の1つのアドレスへの参照が十分頻繁でホット・
スポットを形成する時は、ホット・スポット検出装置が
ホット・スポット通知バスを活性化して、以下説明する
ように、すべての転向装置に通知する。
上述のように、ホット・スポットが存在するとみなされ
る特定の闇値は変更でき、所与のシステムについて実験
的は決定される。しかしながら特定の闇値が本発明のア
ーキテクチュア全体に制限を加えることはない。それは
闇値は本質的にシステムに与えられるカウントであって
、このカウントに対してホット・スポットのテストが繰
返しなされるものであるからである。
る特定の闇値は変更でき、所与のシステムについて実験
的は決定される。しかしながら特定の闇値が本発明のア
ーキテクチュア全体に制限を加えることはない。それは
闇値は本質的にシステムに与えられるカウントであって
、このカウントに対してホット・スポットのテストが繰
返しなされるものであるからである。
ホット・スポット通知バスの制御を獲得した後、検出装
置はそのアドレスを各プロセッサに関連するすべての転
向装置に同時に通報する。これ等の転向装置は、連想メ
モリであることが好ましい、ホット・スポット索引(ル
ックアサイド)バッファとして示すメモリ装置を有する
。すでにホット・スポットとして指定されているメモリ
の位置は、集中的アクセスが止る迄ホット・スポットと
して繰返し再指定される(残される)。前に指定された
ホット・スポットをそれとして再指定するための闇値は
、最初に決定した闇値よりも低くてもよい。それはトラ
フィックが組合せネットワークに転向されると、ネット
ワーク中のメツセージの組合せによって、メモリのホッ
ト・スポット・アクセスが少なくなるからであく。しか
しながら、再指定するかしないかはシステムの設計者の
選択事項であるので、−度指定された特定のホット・ス
ポットのための闇値を再指定するためのアーキテクチュ
アについては本実施例では具体的に開示しない。しかし
ながらこの機能基2段階闇値を使用し、第2の低い闇値
を前に指定したホット・スポットのために使用すること
によって容易に達成できる。この機能はたとえば各検出
装置に関連するホット・スポット・メモリ中に追加のビ
ットを与えることによって達成できる。
置はそのアドレスを各プロセッサに関連するすべての転
向装置に同時に通報する。これ等の転向装置は、連想メ
モリであることが好ましい、ホット・スポット索引(ル
ックアサイド)バッファとして示すメモリ装置を有する
。すでにホット・スポットとして指定されているメモリ
の位置は、集中的アクセスが止る迄ホット・スポットと
して繰返し再指定される(残される)。前に指定された
ホット・スポットをそれとして再指定するための闇値は
、最初に決定した闇値よりも低くてもよい。それはトラ
フィックが組合せネットワークに転向されると、ネット
ワーク中のメツセージの組合せによって、メモリのホッ
ト・スポット・アクセスが少なくなるからであく。しか
しながら、再指定するかしないかはシステムの設計者の
選択事項であるので、−度指定された特定のホット・ス
ポットのための闇値を再指定するためのアーキテクチュ
アについては本実施例では具体的に開示しない。しかし
ながらこの機能基2段階闇値を使用し、第2の低い闇値
を前に指定したホット・スポットのために使用すること
によって容易に達成できる。この機能はたとえば各検出
装置に関連するホット・スポット・メモリ中に追加のビ
ットを与えることによって達成できる。
システムの次に重要な機能素子はホット・スポット通知
バス即ちホット・スポット通知装置である。このバスは
すべてのホット・スポット検出装置がすべての転向装置
、と通信手段を与え、従って転向装置の中のホット・ス
ポット索引バッファと通信するための手段を与える。す
べてのホット・スポット検出装置はバス上にメツセージ
を転送することができ、各転向装置のすべてのホット・
スポット索引バッファはバスによって送られて来るメツ
セージによって制御される。このバスへのアクセスは公
正な機構、たとえばラウンド・ロビン優先順位機構中で
決定され、各ホット・スポット検出装置がバス上にそれ
自身の割り当て期間の制御を周期的に獲得する。バスの
帯域幅はすべてのこのようなメツセージを処理するに十
分でなければならない。バスのサイクルがメモリのサイ
クル時間と同程度のものであるならば、このような直列
通信の帯域幅は数千の独立したメモリ・モジュールを含
むシステムに適していると考えられる。
バス即ちホット・スポット通知装置である。このバスは
すべてのホット・スポット検出装置がすべての転向装置
、と通信手段を与え、従って転向装置の中のホット・ス
ポット索引バッファと通信するための手段を与える。す
べてのホット・スポット検出装置はバス上にメツセージ
を転送することができ、各転向装置のすべてのホット・
スポット索引バッファはバスによって送られて来るメツ
セージによって制御される。このバスへのアクセスは公
正な機構、たとえばラウンド・ロビン優先順位機構中で
決定され、各ホット・スポット検出装置がバス上にそれ
自身の割り当て期間の制御を周期的に獲得する。バスの
帯域幅はすべてのこのようなメツセージを処理するに十
分でなければならない。バスのサイクルがメモリのサイ
クル時間と同程度のものであるならば、このような直列
通信の帯域幅は数千の独立したメモリ・モジュールを含
むシステムに適していると考えられる。
バスは1つの物理的アドレスと制御及びエラー検出の解
決に必要な情報を転送するに十分広くなくてはならない
。ホット・スポット検出装置から転向装置への他の通信
手段も使用できる。すべてのメツセージは同時に、転向
装置に到達する必要はない。この通信には、たとえばト
ークン通過リングが適しているであろう。この通信手段
は設計上の選択事項であり、ハードウェアのこの特定の
小部分にどれだけ投資したいかという配慮及びシステム
の他の部分の速度によって判断されることは明らかであ
ろう。
決に必要な情報を転送するに十分広くなくてはならない
。ホット・スポット検出装置から転向装置への他の通信
手段も使用できる。すべてのメツセージは同時に、転向
装置に到達する必要はない。この通信には、たとえばト
ークン通過リングが適しているであろう。この通信手段
は設計上の選択事項であり、ハードウェアのこの特定の
小部分にどれだけ投資したいかという配慮及びシステム
の他の部分の速度によって判断されることは明らかであ
ろう。
本発明の最後の主な機能素子は、各々ホット・スポット
索引バッファを有する転向装置である。
索引バッファを有する転向装置である。
転向装置はシステムの種々のプロセッサとネットワーク
の入力ボート間に存在する。転向装置はシステムの変換
された(物理的)アドレスにアクセスすることが必要で
あり、従ってメモリ・マツピング機能の後に位置付けら
れる。ホット・スポット索引バッファは、システム中で
現在ホット・スポットとして指定されているすべての物
理的アドレスの索引テーブルを含んでいる。ホット・ス
ポット索引バッファのすべては全く同じリストを保持し
て、完全にホット・スポット通知の制御の下で動作する
。ホット・スポット・アドレスが指定されると、このア
ドレスはバッファの現在の内容と比較される。もしこの
アドレスが既に指定されたものであった時には、時間の
刻印が更新され、ホット・スポットの状態の最新の表示
がなされる。
の入力ボート間に存在する。転向装置はシステムの変換
された(物理的)アドレスにアクセスすることが必要で
あり、従ってメモリ・マツピング機能の後に位置付けら
れる。ホット・スポット索引バッファは、システム中で
現在ホット・スポットとして指定されているすべての物
理的アドレスの索引テーブルを含んでいる。ホット・ス
ポット索引バッファのすべては全く同じリストを保持し
て、完全にホット・スポット通知の制御の下で動作する
。ホット・スポット・アドレスが指定されると、このア
ドレスはバッファの現在の内容と比較される。もしこの
アドレスが既に指定されたものであった時には、時間の
刻印が更新され、ホット・スポットの状態の最新の表示
がなされる。
後に明らかになるように、この時間の刻印はホット・ス
ポット索引バッファの置換アルゴリズムに使用される。
ポット索引バッファの置換アルゴリズムに使用される。
もしこのアドレスが前に指定されたものでない時には、
最も古い時間の刻印を有する項目が削除され、現在のア
ドレスによって置換される。
最も古い時間の刻印を有する項目が削除され、現在のア
ドレスによって置換される。
これ迄の説明はホット・スポット索引バッファが完全な
連想メモリより成るものと仮定していた。
連想メモリより成るものと仮定していた。
これに代って、もし2重もしくは4重連想索引が使用さ
れるならば、同じ合同クラス内の最も古い項目が新らし
いホット・スポット・アドレスによって置換される。各
ホット・スポット索引バッファでは同じ置換アルゴリズ
ムが使用されるので、これ等は未解決のアドレスの同じ
リストを保持している。索引バッファが更新されるのと
同時に、プロセッサのノードで「フェンス」動作が開始
し、すべての未解決のメモリ要求が解決される迄、この
ノードからの次のメモリ参照が遅延される。システムが
各プロセッサのノードにキャッシュが存在するように設
計されている場合には、フェンスはキャッシュ可能でな
い参照にだけ適用する。フェンス動作は索引バッファに
アドレスが加除される時のみ必要である。もしホット・
スポット・アドレスが既に指定されている時にはフェン
スの要はなく、その後のホット・スポットへの参照には
フェンスの要はない。多くのアーキテクチュアでは、任
意の一時刻には唯1つの参照の保留が許されているので
フェンス機能は必要とされない。各転向装置内のホット
・スポット索引バッファの機能は、メモリ・マツピング
装置によって発生される各変換アドレスとバッファ中の
アドレスを比較することである。すべての一致したアド
レスは高競合ネットワークへ転向される。他の参照は低
待ち時間ネットワークに進められる。索引は時間の刻印
の更新と並列に進行するが、ホット・スポット索引バッ
ファの項目が置換されている時には、バッファの通常の
索引動作は保留しなければならない。システムの設計を
考えて、異なるセット値で実験した後に、セットしなけ
ればならない多くの変数が本発明にはある。不適切なセ
ット値は過当なバスの競合もしくはホット・スポットの
非効率的な選択を生じる。これ等の変数には次のものが
含まれる。
れるならば、同じ合同クラス内の最も古い項目が新らし
いホット・スポット・アドレスによって置換される。各
ホット・スポット索引バッファでは同じ置換アルゴリズ
ムが使用されるので、これ等は未解決のアドレスの同じ
リストを保持している。索引バッファが更新されるのと
同時に、プロセッサのノードで「フェンス」動作が開始
し、すべての未解決のメモリ要求が解決される迄、この
ノードからの次のメモリ参照が遅延される。システムが
各プロセッサのノードにキャッシュが存在するように設
計されている場合には、フェンスはキャッシュ可能でな
い参照にだけ適用する。フェンス動作は索引バッファに
アドレスが加除される時のみ必要である。もしホット・
スポット・アドレスが既に指定されている時にはフェン
スの要はなく、その後のホット・スポットへの参照には
フェンスの要はない。多くのアーキテクチュアでは、任
意の一時刻には唯1つの参照の保留が許されているので
フェンス機能は必要とされない。各転向装置内のホット
・スポット索引バッファの機能は、メモリ・マツピング
装置によって発生される各変換アドレスとバッファ中の
アドレスを比較することである。すべての一致したアド
レスは高競合ネットワークへ転向される。他の参照は低
待ち時間ネットワークに進められる。索引は時間の刻印
の更新と並列に進行するが、ホット・スポット索引バッ
ファの項目が置換されている時には、バッファの通常の
索引動作は保留しなければならない。システムの設計を
考えて、異なるセット値で実験した後に、セットしなけ
ればならない多くの変数が本発明にはある。不適切なセ
ット値は過当なバスの競合もしくはホット・スポットの
非効率的な選択を生じる。これ等の変数には次のものが
含まれる。
(1)ホット・スポット検出装置によってホット・スポ
ットを検出するために使用される時間ウィンドー (2)ホット・スポットとして指定するために必要な闇
値即ち参照数 (3)ホット・スポット索引バッファ、同じくホット・
スポット検出装置のアドレス・バッファの寸法、たとえ
ば項目の数。
ットを検出するために使用される時間ウィンドー (2)ホット・スポットとして指定するために必要な闇
値即ち参照数 (3)ホット・スポット索引バッファ、同じくホット・
スポット検出装置のアドレス・バッファの寸法、たとえ
ば項目の数。
E3.好ましい実施例
第2図は適切な相互接続ネットワークによって複数のメ
モリ・ユニットMo−Mqに選択的に接続可能な複数の
プロセッサPo−Pnを有する従来技術のマルチプロセ
ッサ・システムのレイアウト全体を示す。上述のように
、この相互接続ネットワークは簡単な交差点スイッチ・
ネットワークもしくは複雑な組合せネットワークのいず
れでもよい。この両方ともすでに一般に知られているも
のである。プロセッサの数及び個別にアドレス可能なメ
モリ・モジュールの数は同じでも、同じでなくても、即
ちn≠qでもよい。このような相互接続ネットワークの
欠点は、明らかにネットワーク自体の複雑さもしくは精
緻さにある。
モリ・ユニットMo−Mqに選択的に接続可能な複数の
プロセッサPo−Pnを有する従来技術のマルチプロセ
ッサ・システムのレイアウト全体を示す。上述のように
、この相互接続ネットワークは簡単な交差点スイッチ・
ネットワークもしくは複雑な組合せネットワークのいず
れでもよい。この両方ともすでに一般に知られているも
のである。プロセッサの数及び個別にアドレス可能なメ
モリ・モジュールの数は同じでも、同じでなくても、即
ちn≠qでもよい。このような相互接続ネットワークの
欠点は、明らかにネットワーク自体の複雑さもしくは精
緻さにある。
第3図は第2図と類似の図面であるが、個々のプロセッ
サPo−Pnを個々のメモリ・モジュールMo−Mnに
選択的に接続するための2つの可能な相互接続ネットワ
ークを示している。このネットワークは上述の論文「ホ
ット・スポット競合及び多段相互接続ネットワーク中で
の組合せ」に述べられている種類の相互接続ネットワー
クMi織である。ここでネットワーク1はたとえば低待
ち時間ネットワークであり、ネットワーク2はたとえば
かなりより複雑な組合せネットワークである。
サPo−Pnを個々のメモリ・モジュールMo−Mnに
選択的に接続するための2つの可能な相互接続ネットワ
ークを示している。このネットワークは上述の論文「ホ
ット・スポット競合及び多段相互接続ネットワーク中で
の組合せ」に述べられている種類の相互接続ネットワー
クMi織である。ここでネットワーク1はたとえば低待
ち時間ネットワークであり、ネットワーク2はたとえば
かなりより複雑な組合せネットワークである。
第3図のブロック図は個々のメモリ・アクセスがネット
ワークlを経て行われるか、ネットワーク2を経て行わ
れるかについての判断を行う機構について具体的に示し
ていない。このネットワーク図全体は従来技術のネット
ワークもしくは本発明に等しく適用されるものである。
ワークlを経て行われるか、ネットワーク2を経て行わ
れるかについての判断を行う機構について具体的に示し
ていない。このネットワーク図全体は従来技術のネット
ワークもしくは本発明に等しく適用されるものである。
本発明の著しい特徴は勿論、メツセージをネットワーク
1もしくはネットワーク2のいずれに転向させるかの判
断がある予じめ定められた、一定のスタチックなベース
(たとえばコンパイラ中で実行されるソフトウェア方法
)でなくダイナミックに行われる特定のアーキテクチュ
アにある。本発明はネットワークの経路指定をシステム
中で見られる具体的な問題のダイナミックな要因に基づ
いて行うダイナミックな相互接続ネットワーク管理アー
キテクチュアを与える。上述のように、単にホット・ス
ポット検出サイクルのための時間の枠、ホット・スポッ
トの参照闇値もしくはホット・スポット索引バッファ及
びホット・スポット検出装置のアドレス・バッファの実
際の寸法を変ることによってスイッチング闇値の数を変
更することは比較的容易である。
1もしくはネットワーク2のいずれに転向させるかの判
断がある予じめ定められた、一定のスタチックなベース
(たとえばコンパイラ中で実行されるソフトウェア方法
)でなくダイナミックに行われる特定のアーキテクチュ
アにある。本発明はネットワークの経路指定をシステム
中で見られる具体的な問題のダイナミックな要因に基づ
いて行うダイナミックな相互接続ネットワーク管理アー
キテクチュアを与える。上述のように、単にホット・ス
ポット検出サイクルのための時間の枠、ホット・スポッ
トの参照闇値もしくはホット・スポット索引バッファ及
びホット・スポット検出装置のアドレス・バッファの実
際の寸法を変ることによってスイッチング闇値の数を変
更することは比較的容易である。
本発明の相互接続ネットワーク管理アーキテクチュアの
組織全体を第1図に示す。第1図には本発明の3つの主
要基本機能ユニットが明確に示されている。これ等のユ
ニットは転向装置10、ホット・スポット検出装置12
及びホット・スポット通知装置即ち通知バス14である
。夫々低待ち時間ネットワーク及び組合せネットワーク
である2つのネットワーク16及び18が概略的に示さ
れているが、これ等のネットワークの機能は転向装置の
制御を適切に変更することによって容易に逆にできるこ
とは明らかであろう。n+1個のプロセッサは別個の転
向装置10を有することも明らかであろう。同じ(q+
1個のメモリ・モジュールの各々はそれ自身の専用検出
装置12を有する。勿論すべての検出装置とすべての転
向装置を相互接続するのに単一の通知バスが使用される
。
組織全体を第1図に示す。第1図には本発明の3つの主
要基本機能ユニットが明確に示されている。これ等のユ
ニットは転向装置10、ホット・スポット検出装置12
及びホット・スポット通知装置即ち通知バス14である
。夫々低待ち時間ネットワーク及び組合せネットワーク
である2つのネットワーク16及び18が概略的に示さ
れているが、これ等のネットワークの機能は転向装置の
制御を適切に変更することによって容易に逆にできるこ
とは明らかであろう。n+1個のプロセッサは別個の転
向装置10を有することも明らかであろう。同じ(q+
1個のメモリ・モジュールの各々はそれ自身の専用検出
装置12を有する。勿論すべての検出装置とすべての転
向装置を相互接続するのに単一の通知バスが使用される
。
同じく、すべての転向装置及び検出装置は選択的に2つ
のネットワーク16及び18に接続可能である。第1図
中に示したように、検出装置12の詳細は第4図(a)
に、転向装置10の詳細は第6図(a)に示されている
。
のネットワーク16及び18に接続可能である。第1図
中に示したように、検出装置12の詳細は第4図(a)
に、転向装置10の詳細は第6図(a)に示されている
。
第1図に関連して、本発明のシステムの動作全体を簡単
に繰返すと、検出装置の機能は、この検出装置によって
受取られる各新らしいメモリ・アドレスを連続してモニ
タして、このアドレスがホット・スポットであるかどう
かを判断する。検出装置中のハードウェアが使用される
基準に従ってホット・スポットが存在すると判断すると
、メツセージが通知バスを介して検出装置がすべての転
向装置に送られ、それ等のホット・スポット索引バッフ
ァが新らしいホット・スポット情報で適切に更新される
。情報が転向装置によって受取られ、ホット・スポット
索引バッファが適切に更新されると、転向装置の1つが
転向装置のための通信装置として働き(それは転向装置
が同じであり、同じ情報を含むからである)、検出装置
のすべてに特定のホット・スポットが除去されつつある
ことが通知される。以下明らかにされるように、この動
作は適切な置換アルゴリズムをもとにして行われ、ホッ
ト・スポットから除去されつつある特定のアドレスは通
知バスを介して、そのホット・スポットをセット・アッ
プした特定の検出装置に戻されて、このホット・スポッ
トは検出装置中のホット・スポット・メモリ・アレイか
ら効果的に除去される。明らかに、特定のアドレスが関
与するので、検出装置の1つだけがこのアドレスによっ
て影響を受ける。即ち検出装置はこのアドレスによって
指示されたメモリ・ブロックもしくはモジュールを参照
する。
に繰返すと、検出装置の機能は、この検出装置によって
受取られる各新らしいメモリ・アドレスを連続してモニ
タして、このアドレスがホット・スポットであるかどう
かを判断する。検出装置中のハードウェアが使用される
基準に従ってホット・スポットが存在すると判断すると
、メツセージが通知バスを介して検出装置がすべての転
向装置に送られ、それ等のホット・スポット索引バッフ
ァが新らしいホット・スポット情報で適切に更新される
。情報が転向装置によって受取られ、ホット・スポット
索引バッファが適切に更新されると、転向装置の1つが
転向装置のための通信装置として働き(それは転向装置
が同じであり、同じ情報を含むからである)、検出装置
のすべてに特定のホット・スポットが除去されつつある
ことが通知される。以下明らかにされるように、この動
作は適切な置換アルゴリズムをもとにして行われ、ホッ
ト・スポットから除去されつつある特定のアドレスは通
知バスを介して、そのホット・スポットをセット・アッ
プした特定の検出装置に戻されて、このホット・スポッ
トは検出装置中のホット・スポット・メモリ・アレイか
ら効果的に除去される。明らかに、特定のアドレスが関
与するので、検出装置の1つだけがこのアドレスによっ
て影響を受ける。即ち検出装置はこのアドレスによって
指示されたメモリ・ブロックもしくはモジュールを参照
する。
第4表(A)は、第1図に示した検出装置12の1つの
中間レベルの機能ブロック図である。すべての検出装置
はハードウェアの構成要素に関しては、同じであるが、
勿論データの内容については異なっている。検出装置の
主要機能素子は、アドレス比較ブロック20、ホット・
スポット・アドレス・メモリ22、闇値カウント比較ブ
ロック24及びホット・スポット・アドレス・メモリの
位置のすべてを、状態H=1(ホット・スポットである
)及びC=0(通知未完了)を求めて周期的に走査する
比較ブロック26である。ブロック20.24及び26
によって遂行される比較機能のすべてはホット・スポッ
ト・アドレス・メモリ22の内容に関して遂行されるこ
とは明らかであろう。
中間レベルの機能ブロック図である。すべての検出装置
はハードウェアの構成要素に関しては、同じであるが、
勿論データの内容については異なっている。検出装置の
主要機能素子は、アドレス比較ブロック20、ホット・
スポット・アドレス・メモリ22、闇値カウント比較ブ
ロック24及びホット・スポット・アドレス・メモリの
位置のすべてを、状態H=1(ホット・スポットである
)及びC=0(通知未完了)を求めて周期的に走査する
比較ブロック26である。ブロック20.24及び26
によって遂行される比較機能のすべてはホット・スポッ
ト・アドレス・メモリ22の内容に関して遂行されるこ
とは明らかであろう。
第4図(A)では遂行される機能及びこれ等の機能素子
の各々が関連するホット・スポット・アドレス・メモリ
の一般的領域に従ってデータ線及び制御線だけが示され
ている。従って、アドレス比較ブロック20は現在受取
ったアドレスをホット・スポット・アドレス・メモリの
内容全体と比較し、従ってこのような連想メモリ中のメ
モリ・アドレスを調べる働きを有する。
の各々が関連するホット・スポット・アドレス・メモリ
の一般的領域に従ってデータ線及び制御線だけが示され
ている。従って、アドレス比較ブロック20は現在受取
ったアドレスをホット・スポット・アドレス・メモリの
内容全体と比較し、従ってこのような連想メモリ中のメ
モリ・アドレスを調べる働きを有する。
アドレス比較ブロック20中で成功裡に一致がみられる
と、闇値カウント比較ブロック24はカウント(CT)
フィールドを調べて、ホット・スポット闇値に到達した
かどうかを判断する。ブロック20と24間の破線は、
以下明らかにされるようにホット・スポット・アドレス
・メモリ中でアドレスが一致した時にブロック24が動
作されるだけであることを示している。明らかに、特定
の比較に使用される実際の闇値は固定され、システム設
計者によって決定されるが、他方ブロック20中で比較
される特定のアドレスはメモリMj内で要求されつつあ
る現在のアドレスに従って異なっている。
と、闇値カウント比較ブロック24はカウント(CT)
フィールドを調べて、ホット・スポット闇値に到達した
かどうかを判断する。ブロック20と24間の破線は、
以下明らかにされるようにホット・スポット・アドレス
・メモリ中でアドレスが一致した時にブロック24が動
作されるだけであることを示している。明らかに、特定
の比較に使用される実際の闇値は固定され、システム設
計者によって決定されるが、他方ブロック20中で比較
される特定のアドレスはメモリMj内で要求されつつあ
る現在のアドレスに従って異なっている。
他方、ブロック26はそれ自身の別個のシステム・クロ
ックの下に動作し、以下説明するように条件H=1、C
=0を求めてホット・スポット・アドレス・メモリのH
及びCフィールドを連続的に走査する。ホット・スポッ
ト・アドレス・メモリがすべてのフィールドにわたって
完全に連想式であると仮想すると、この走査動作も連想
ベースで行われ、探索規準が満足された時に、ホット・
スポット・アドレスを含むホット・スポット・アドレス
・メモリ中の特定の行がアクセスされ、アドレス・メモ
リから読出されて、通知バス上に置かれる。
ックの下に動作し、以下説明するように条件H=1、C
=0を求めてホット・スポット・アドレス・メモリのH
及びCフィールドを連続的に走査する。ホット・スポッ
ト・アドレス・メモリがすべてのフィールドにわたって
完全に連想式であると仮想すると、この走査動作も連想
ベースで行われ、探索規準が満足された時に、ホット・
スポット・アドレスを含むホット・スポット・アドレス
・メモリ中の特定の行がアクセスされ、アドレス・メモ
リから読出されて、通知バス上に置かれる。
ホット・スポット・アドレス・メモリのための特定の引
数、及びアドレス・バッファは図示されていないが、そ
れはこのようなメモリは良く知られていて、多くの形態
をなすことができるからである。同じくブロック20.
24及び26のための特定のゲート回路及びレジスタは
示されていないが、それはこれ等の機能を具体化するた
めのハードウェア回路がコンピュータ・システムの設計
者にとって明らかであり、詳細の細かいレベルを示すこ
とは本発明の説明を混乱させるからである。
数、及びアドレス・バッファは図示されていないが、そ
れはこのようなメモリは良く知られていて、多くの形態
をなすことができるからである。同じくブロック20.
24及び26のための特定のゲート回路及びレジスタは
示されていないが、それはこれ等の機能を具体化するた
めのハードウェア回路がコンピュータ・システムの設計
者にとって明らかであり、詳細の細かいレベルを示すこ
とは本発明の説明を混乱させるからである。
第4図(A)のハードウェアの動作を適切に順序付ける
のに使用される制御機構は、代表的には関連するデコー
ダ及び論理回路を有する1もしくはそれ以上の読取り専
用のメモリであり、これ等は以下説明する第4図(B)
、(C)及び(D)の流れ図を参照して容易に設計でき
るであろう。
のに使用される制御機構は、代表的には関連するデコー
ダ及び論理回路を有する1もしくはそれ以上の読取り専
用のメモリであり、これ等は以下説明する第4図(B)
、(C)及び(D)の流れ図を参照して容易に設計でき
るであろう。
第1表は本発明とともに使用するに適した代表的なホッ
ト・スポット・アドレス・メモリの代表的な様式を示す
。
ト・スポット・アドレス・メモリの代表的な様式を示す
。
第1表
ホット・スポット・アドレス・メモリへの各アクセスは
アドレス・フィールド中に記憶されているアドレスによ
って決定される。フィールドには他に参照カウント、ホ
ット・スポット・フィールド(H)及び通信完了フィー
ルド(C)がある。
アドレス・フィールド中に記憶されているアドレスによ
って決定される。フィールドには他に参照カウント、ホ
ット・スポット・フィールド(H)及び通信完了フィー
ルド(C)がある。
任意選択事項として示された時間の刻印フィールドも示
されている。このフィールドのための機能的制御素子は
示されていないが、それはシステムの設計者がこの機能
を含ませることが任意であるからである。すべての時間
の刻印の現在のセット値をある現在の値と比較する機能
は簡単である。
されている。このフィールドのための機能的制御素子は
示されていないが、それはシステムの設計者がこの機能
を含ませることが任意であるからである。すべての時間
の刻印の現在のセット値をある現在の値と比較する機能
は簡単である。
もしホット・スポット・アドレス・メモリ中の特定の項
目がある予定の期間内にインクレメントされなかった場
合には、その参照カウントは0にリセットされる。
目がある予定の期間内にインクレメントされなかった場
合には、その参照カウントは0にリセットされる。
従って参照カウントがかなり長い期間ホット・ストツボ
ット・ステータスに到達しないと、このことはある情況
の下ではシステムのパホーマンスを改良する。それは現
在活性化されているホット・スポットだけが転向装置の
ホット・スポット・リスト中に置かれるからである。
ット・ステータスに到達しないと、このことはある情況
の下ではシステムのパホーマンスを改良する。それは現
在活性化されているホット・スポットだけが転向装置の
ホット・スポット・リスト中に置かれるからである。
時刻の刻印は、新らしいアドレスのための余地を作るた
めに特定のホット・スポット・アドレスを除去しなけれ
ばならない時に使用する追加の基準として、検出装置の
置換アルゴリズムによっても使用される。このアドレス
・メモリ内のアドレス・フィールドはメモリのアドレス
を識別するのに必要な程大きい。参照カウントはこのカ
ウンタをリセットする前に遭遇する最高のカウントの大
きさを表わすために、システムの設計者がみて必要とさ
れるだけのビット数を有する。時間の刻印は、参照カウ
ントと同じく、システムの時間クロックの現在の設定値
を表わすのに必要なだけ多くのビットを有する。ホット
・スポット・フィールド(I()及び通知完了フィール
ド(C)は勿論現在の実施例では1ビツトだけでよい。
めに特定のホット・スポット・アドレスを除去しなけれ
ばならない時に使用する追加の基準として、検出装置の
置換アルゴリズムによっても使用される。このアドレス
・メモリ内のアドレス・フィールドはメモリのアドレス
を識別するのに必要な程大きい。参照カウントはこのカ
ウンタをリセットする前に遭遇する最高のカウントの大
きさを表わすために、システムの設計者がみて必要とさ
れるだけのビット数を有する。時間の刻印は、参照カウ
ントと同じく、システムの時間クロックの現在の設定値
を表わすのに必要なだけ多くのビットを有する。ホット
・スポット・フィールド(I()及び通知完了フィール
ド(C)は勿論現在の実施例では1ビツトだけでよい。
第4図(B)はアドレスが特定のメモリ・モジュールに
提示される通常のメモリ・アドレス手順内に生じる動作
の流れ図を示す。アドレスは先ず検出装置、具体的には
適切なレジスタ中に現在のメモリ・アドレスを記憶する
機能ブロック20に渡され、次にこの要求がメモリに渡
されなくてはならない。この動作はブロック10中で生
じる。
提示される通常のメモリ・アドレス手順内に生じる動作
の流れ図を示す。アドレスは先ず検出装置、具体的には
適切なレジスタ中に現在のメモリ・アドレスを記憶する
機能ブロック20に渡され、次にこの要求がメモリに渡
されなくてはならない。この動作はブロック10中で生
じる。
ブロック12において、現在のアドレスが現在ホット・
スポット・メモリ22中にある任意のアドレスと一致す
るかどうかについての判断が行われる。この機能は比較
ブロック20中において遂行され、連想ホット・スポッ
ト・アドレス・メモリ22中のすべての項目に対してア
ドレス引数を順次照合しなくてはならない。もし一致が
見出されると、手順はブロック14に続く。もし一致が
見出されないと、手順はブロック22へと分岐する。
スポット・メモリ22中にある任意のアドレスと一致す
るかどうかについての判断が行われる。この機能は比較
ブロック20中において遂行され、連想ホット・スポッ
ト・アドレス・メモリ22中のすべての項目に対してア
ドレス引数を順次照合しなくてはならない。もし一致が
見出されると、手順はブロック14に続く。もし一致が
見出されないと、手順はブロック22へと分岐する。
一致が見出されたものとすると、ブロック14はホット
・スポット・アドレス・メモリ中の一致したアドレスに
関連する参照カウント(CT)がインクレメントされ、
手順はブロック16に続く。
・スポット・アドレス・メモリ中の一致したアドレスに
関連する参照カウント(CT)がインクレメントされ、
手順はブロック16に続く。
ブロック16中で、現在の参照カウントの大きさが比較
ブロック24中で闇値と比較され、ホット・スポットの
闇値にまだ達していないかどうかが判断される。もし達
していなければ、この手順は完了し、さらに何も行われ
る必要はない。もし参照カウントが闇値よりも大きいと
、シーケンスは現在のホット・スポットHのセット値が
1に等しいかどうかを判断するブロック18に進む。H
−1はこの特定のアドレスが既に指定されているホット
・スポットであることを意味しているので、これ以上動
作は行われず、この手順はYESの出力線を介して終了
する。もしHフィールドが現在lに等しくなければ、手
順は適切なHフィールドを1にセットし、通知完了フィ
ールド(C)がOにセットされていることを確めるブロ
ック20に続く。これ等の動作が完了すると、手順は終
了する。
ブロック24中で闇値と比較され、ホット・スポットの
闇値にまだ達していないかどうかが判断される。もし達
していなければ、この手順は完了し、さらに何も行われ
る必要はない。もし参照カウントが闇値よりも大きいと
、シーケンスは現在のホット・スポットHのセット値が
1に等しいかどうかを判断するブロック18に進む。H
−1はこの特定のアドレスが既に指定されているホット
・スポットであることを意味しているので、これ以上動
作は行われず、この手順はYESの出力線を介して終了
する。もしHフィールドが現在lに等しくなければ、手
順は適切なHフィールドを1にセットし、通知完了フィ
ールド(C)がOにセットされていることを確めるブロ
ック20に続く。これ等の動作が完了すると、手順は終
了する。
ブロック12中のテストでブロック22への分岐が生じ
たものと仮定すると、このことは新らしいアドレスがホ
ット・スポット・アドレス・メモリ中に入力されなけれ
ばならないことを意味する。
たものと仮定すると、このことは新らしいアドレスがホ
ット・スポット・アドレス・メモリ中に入力されなけれ
ばならないことを意味する。
ブロック22によって置換手順が開始され、これによっ
てホット・スポット・アドレス・メモリ中の現在使用中
の行の1つが除去され、新らしいアドレスによって置換
される。任意の適切な置換アルゴリズムがこの動作に使
用できる。たとえば置換の基準としては、最も古く使用
されたもの、参照カウントが一番小さいもの等が含まれ
る。このような置換アドレスはこの分野で一般に知られ
ているので詳細には説明しない。又本発明の概念全体は
使用される特定の置換アルゴリズムによって制限される
ことはない。
てホット・スポット・アドレス・メモリ中の現在使用中
の行の1つが除去され、新らしいアドレスによって置換
される。任意の適切な置換アルゴリズムがこの動作に使
用できる。たとえば置換の基準としては、最も古く使用
されたもの、参照カウントが一番小さいもの等が含まれ
る。このような置換アドレスはこの分野で一般に知られ
ているので詳細には説明しない。又本発明の概念全体は
使用される特定の置換アルゴリズムによって制限される
ことはない。
ホット・スポット・アドレス・メモリ中にスロットが見
出されると、ブロック24中でシステムの制御装置がア
ドレスを記入し、参照カウント・フィールドCTを0に
セットし、H及びCフィールドを0にセットし、時間の
刻印を(使用する時は)システム・クロックの現在のセ
ット値にセットする。ここでアクセスが手順が終了する
。
出されると、ブロック24中でシステムの制御装置がア
ドレスを記入し、参照カウント・フィールドCTを0に
セットし、H及びCフィールドを0にセットし、時間の
刻印を(使用する時は)システム・クロックの現在のセ
ット値にセットする。ここでアクセスが手順が終了する
。
第4図(B)の手順は、第4図(C)の実際のホット・
スポット走査手順及び第4図(D)の終了手順とは独立
して動作することは明らかであろう。要約すると、第4
図(B)の手順は要求されたアドレスのレコードを保持
し、アドレスがどの程度しばしば要求されて、ホット・
スポットになったかを判断することによって、メモリ・
アスセスもしくはホット・スポットの統計的データを保
持する。
スポット走査手順及び第4図(D)の終了手順とは独立
して動作することは明らかであろう。要約すると、第4
図(B)の手順は要求されたアドレスのレコードを保持
し、アドレスがどの程度しばしば要求されて、ホット・
スポットになったかを判断することによって、メモリ・
アスセスもしくはホット・スポットの統計的データを保
持する。
この統計的データがどのようにして転向装置に通知する
のに使用されるかは、第4図(C)のホット・スポット
走査手順に示されている。ブロック10はこの手順の開
始を暗に示し、この手順が各メモリ・サイクル毎に生ず
ることが記されている。この手順は実際にはメモリ・ア
クセス手順と独立に行われるが、その動作はホット・ス
ポット・アドレス・メモリを連続して走査し、Hフィー
ルド及びCフィールドを調べるので、この引数は基本的
な連想探索に加える方が便利である。しかしながら、ア
ドレスの突合せがホット・スポット・アドレス・メモリ
のアクセス手順の連続性と干渉せず、H及びCフィール
ドの突合せがメモリ・アクセス手順と独立してホット・
スポット走査手順が連続して行われるように制御方法が
設定される。しかしながら、機能的には走査手順は別個
のクロックによって駆動できるが、走査はメモリ・アク
セス手順が実効のない時に行わなければならない。しか
しながらこの独立性はシステム設計者の設計の選択事項
であり、本発明の原理に著しい影響を与えるものではな
い。
のに使用されるかは、第4図(C)のホット・スポット
走査手順に示されている。ブロック10はこの手順の開
始を暗に示し、この手順が各メモリ・サイクル毎に生ず
ることが記されている。この手順は実際にはメモリ・ア
クセス手順と独立に行われるが、その動作はホット・ス
ポット・アドレス・メモリを連続して走査し、Hフィー
ルド及びCフィールドを調べるので、この引数は基本的
な連想探索に加える方が便利である。しかしながら、ア
ドレスの突合せがホット・スポット・アドレス・メモリ
のアクセス手順の連続性と干渉せず、H及びCフィール
ドの突合せがメモリ・アクセス手順と独立してホット・
スポット走査手順が連続して行われるように制御方法が
設定される。しかしながら、機能的には走査手順は別個
のクロックによって駆動できるが、走査はメモリ・アク
セス手順が実効のない時に行わなければならない。しか
しながらこの独立性はシステム設計者の設計の選択事項
であり、本発明の原理に著しい影響を与えるものではな
い。
第4図(C)の説明を続ける。手順はブロック10で開
始している。最初の動作はブロック12で開始され、こ
こで第4図(A)の比較装置26がフィールドH=1及
びC=0を有する最初の項目を求めて連想メモリを走査
する。
始している。最初の動作はブロック12で開始され、こ
こで第4図(A)の比較装置26がフィールドH=1及
びC=0を有する最初の項目を求めて連想メモリを走査
する。
ブロック12中で探索動作が完了し、最初の検出された
が、未通知のホット・スポットが見付かると、手順はブ
ロック14に続く。ブロック14で、通知機能が通知バ
ス上に開始され、新らしく検出されたホット・スポット
・アドレスが次の利用可能なバス・サイクルですべての
転向装置に転送される。この時点で、ホット・スポット
走査手順は待機状態に進み、特定の転向装置から返答が
受取られる迄この状態に留まる。この特定の転向装置は
、ホット・スポット索引バッファから取除かれた特定の
ホット・スポットについてすべての検出装置に通知する
ように指定されたものである。
が、未通知のホット・スポットが見付かると、手順はブ
ロック14に続く。ブロック14で、通知機能が通知バ
ス上に開始され、新らしく検出されたホット・スポット
・アドレスが次の利用可能なバス・サイクルですべての
転向装置に転送される。この時点で、ホット・スポット
走査手順は待機状態に進み、特定の転向装置から返答が
受取られる迄この状態に留まる。この特定の転向装置は
、ホット・スポット索引バッファから取除かれた特定の
ホット・スポットについてすべての検出装置に通知する
ように指定されたものである。
この転向装置は通知バスを介して新らしいホット・スポ
ット・アドレスを送った検出装置に返答を送る。この返
答はホット・スポット走査手順のブロック16中で受取
られ、新らしいホット・スポットのアドレスのCフィー
ルドを1にセットする。
ット・アドレスを送った検出装置に返答を送る。この返
答はホット・スポット走査手順のブロック16中で受取
られ、新らしいホット・スポットのアドレスのCフィー
ルドを1にセットする。
このことは新らしいホット・スポットのための通知機能
が完了したことを意味する。通知機能の終了の結果、遂
行されなければならない他の機能は第4図(D)に示さ
れているが、この機能は検出装置のすべてに送られて影
ツを与える。
が完了したことを意味する。通知機能の終了の結果、遂
行されなければならない他の機能は第4図(D)に示さ
れているが、この機能は検出装置のすべてに送られて影
ツを与える。
第4図(E)の“終了手順′″は終了メツセージが通知
機能、具体的には通知用転向装置から受取られた時に呼
出される。このシーケーシスはブロック10で開始され
るものとして示されている。
機能、具体的には通知用転向装置から受取られた時に呼
出される。このシーケーシスはブロック10で開始され
るものとして示されている。
再び第4図(A)を参照するに、終了メツセージは図の
通知バスの下の線を介して受取られるものとして示され
ている。終了メツセージによって、検出装置は終了メツ
セージを介して受取ったアドレスをホット・スポット・
アドレス・メモリのすべての項目と一致を求めてチエツ
クする。一致が見出されないと、手順はブロック12の
終りで終了する。もし一致が見出されると、手順はブロ
ック14に進み、この特定のアドレスのCフィールド及
びHフィールドがOにセットされる。この動作は現在ホ
ット・スポットであった特定のアドレスを効果的に除去
する。もしアドレスがホット・スポット・アドレス・メ
モリ中に見出されない時は、このことは新らしいアドレ
スがシステムに動作された時に検出装置自身の置換アル
ゴリズムによってこのアドレスが除去されていたことを
意味する。逆にアドレスが依然存在する時は、システム
はホット・スポットがより最新のホット・スポットによ
って置換されたために、このアドレスがもはやホット・
スポットとして指定されていないことを知らなければな
らない。この状態がホット・スポットとして再確立され
るためには、予定のホット・スポット闇値に達する迄に
所定の回数のアクセスがなされなくてはならない。
通知バスの下の線を介して受取られるものとして示され
ている。終了メツセージによって、検出装置は終了メツ
セージを介して受取ったアドレスをホット・スポット・
アドレス・メモリのすべての項目と一致を求めてチエツ
クする。一致が見出されないと、手順はブロック12の
終りで終了する。もし一致が見出されると、手順はブロ
ック14に進み、この特定のアドレスのCフィールド及
びHフィールドがOにセットされる。この動作は現在ホ
ット・スポットであった特定のアドレスを効果的に除去
する。もしアドレスがホット・スポット・アドレス・メ
モリ中に見出されない時は、このことは新らしいアドレ
スがシステムに動作された時に検出装置自身の置換アル
ゴリズムによってこのアドレスが除去されていたことを
意味する。逆にアドレスが依然存在する時は、システム
はホット・スポットがより最新のホット・スポットによ
って置換されたために、このアドレスがもはやホット・
スポットとして指定されていないことを知らなければな
らない。この状態がホット・スポットとして再確立され
るためには、予定のホット・スポット闇値に達する迄に
所定の回数のアクセスがなされなくてはならない。
第5図(A)を参照すると、通知バスの極めて高レベル
の組織図が示されている。バスはn+1個のプロセッサ
Pの各々に関連するn+1個の転向装置のすべてに、又
q+1個のメモリ・モジュールMの各々に関連するq+
1個の検出装置のすべてに接続されている。バスは検出
装置から転向装置ヘアドレス及び簡単な制御フィールド
を転送するだけでよい単なる両方向バスである。勿論、
アドレスはシステムによって指定されつつある新らしい
ホット・スポットを指定し、逆に指定された転向装置か
らすべての検出装置に転送されるアドレスは、特定のホ
ット・スポット・アドレスがすべてのホット・スポット
索引バッファから除去されたことを示す。メツセージ、
たとえば、アドレスはすべての検出装置に与えられるが
、このアドレスを含むメモリ・モジュールに関連する特
定の検出装置だけがこのメツセージに応答する(メツセ
ージによって影響がある)。上述のように、通知バスの
アーキテクチュアはトークン・リング・ラウンド・ロビ
ン等を含む多くの可能な様式をなすことができる。通知
バスの唯一つの条件は、検出装置がある規則正しい組織
化されたベースでバスにアクセスでき、長い期間にわた
ってホット・スポットがマークされないようなことがな
いことである。バスのアーキテクチュアにとっては、又
、バス・サイクル全体にわたって、新らしいホット・ス
ポット通知に応答しなければならない特定の転向装置特
定が新らしいホット・スポット・メツセージの転送に直
ちに続くサイクル中にバスにアクセスできることが必要
である。明らかに、この機構は転向装置のアーキテクチ
ュアに結合されなければならない。
の組織図が示されている。バスはn+1個のプロセッサ
Pの各々に関連するn+1個の転向装置のすべてに、又
q+1個のメモリ・モジュールMの各々に関連するq+
1個の検出装置のすべてに接続されている。バスは検出
装置から転向装置ヘアドレス及び簡単な制御フィールド
を転送するだけでよい単なる両方向バスである。勿論、
アドレスはシステムによって指定されつつある新らしい
ホット・スポットを指定し、逆に指定された転向装置か
らすべての検出装置に転送されるアドレスは、特定のホ
ット・スポット・アドレスがすべてのホット・スポット
索引バッファから除去されたことを示す。メツセージ、
たとえば、アドレスはすべての検出装置に与えられるが
、このアドレスを含むメモリ・モジュールに関連する特
定の検出装置だけがこのメツセージに応答する(メツセ
ージによって影響がある)。上述のように、通知バスの
アーキテクチュアはトークン・リング・ラウンド・ロビ
ン等を含む多くの可能な様式をなすことができる。通知
バスの唯一つの条件は、検出装置がある規則正しい組織
化されたベースでバスにアクセスでき、長い期間にわた
ってホット・スポットがマークされないようなことがな
いことである。バスのアーキテクチュアにとっては、又
、バス・サイクル全体にわたって、新らしいホット・ス
ポット通知に応答しなければならない特定の転向装置特
定が新らしいホット・スポット・メツセージの転送に直
ちに続くサイクル中にバスにアクセスできることが必要
である。明らかに、この機構は転向装置のアーキテクチ
ュアに結合されなければならない。
第5図(B)は上述のことを繰返した極めて簡単な流れ
図である。この流れ図は通知バス手順と記され、唯2つ
のブロック10及び12より成る。
図である。この流れ図は通知バス手順と記され、唯2つ
のブロック10及び12より成る。
ブロック10中に示されたとおり、−度ホット・スポッ
トが検出装置の1つの中に見出されると、検出装置は予
定のベースで通知バスの制御を行い、新らしいホット・
スポット・アドレスをすべての転向装置に送らなければ
ならない。
トが検出装置の1つの中に見出されると、検出装置は予
定のベースで通知バスの制御を行い、新らしいホット・
スポット・アドレスをすべての転向装置に送らなければ
ならない。
この送信がなされると、直ぐ次のバス・サイクルで指定
された転向装置は、現在のホット・スポット・アドレス
がシステムから削除されつつある特定の検出装置に確認
のメツセージを戻さなければならない。検出装置の動作
のこれ迄の説明から明らかなように、ホット・スポット
はそのH及びCフィールドをOにリセットすることによ
って効果的に除去される(ブロック12)。勿論、この
動作はこのアドレスが特定の検出装置のホット・スポッ
ト・アドレス・メモリ中に依然あることを仮定している
。もしこのアドレスが局所的な置換動作によってすでに
除去されていると、さらに何も行う必要はない。これに
よって通知バスの動作及び機能が完了する。
された転向装置は、現在のホット・スポット・アドレス
がシステムから削除されつつある特定の検出装置に確認
のメツセージを戻さなければならない。検出装置の動作
のこれ迄の説明から明らかなように、ホット・スポット
はそのH及びCフィールドをOにリセットすることによ
って効果的に除去される(ブロック12)。勿論、この
動作はこのアドレスが特定の検出装置のホット・スポッ
ト・アドレス・メモリ中に依然あることを仮定している
。もしこのアドレスが局所的な置換動作によってすでに
除去されていると、さらに何も行う必要はない。これに
よって通知バスの動作及び機能が完了する。
次に第6図(A)乃至第6図(D)及び第2表を参照し
て個々の転向装置の動作について説明する。先ず第6図
(A)を参照すると、転向装置のための中間レベルの機
能ブロック図が示されている。第4図(A)の場合と同
じように、種々のアドレス及び種々のデータ項目を、た
とえばホット・スポット索引バッファ(H3LB)、ホ
ット・スポット・アドレス比較ブロック等及び種々のレ
ジスタからゲートする制御信号を転送するための制御回
路の詳細は示す必要はないであろう。このような詳細な
部分は第6図(A)のブロック図全体及び第6図(B)
乃至(D)の流れ図から容易に想倒されるであろう。
て個々の転向装置の動作について説明する。先ず第6図
(A)を参照すると、転向装置のための中間レベルの機
能ブロック図が示されている。第4図(A)の場合と同
じように、種々のアドレス及び種々のデータ項目を、た
とえばホット・スポット索引バッファ(H3LB)、ホ
ット・スポット・アドレス比較ブロック等及び種々のレ
ジスタからゲートする制御信号を転送するための制御回
路の詳細は示す必要はないであろう。このような詳細な
部分は第6図(A)のブロック図全体及び第6図(B)
乃至(D)の流れ図から容易に想倒されるであろう。
−i的に云って、転向装置の機能はメモリ・システムに
提示されつつある新らしいアドレスが実際にホット・ス
ポットであるかどうかを判断し、もしホット・スポット
である時には、高競合性のたとえば組合せネットワーク
上にメモリ・アクセス要求を転向させることである。さ
らにホット・スポットが見出された時に、これをホット
・スポット索引バッファに記入し又現在のホット・スポ
ットがシステムから除去されたことを示す通知を検出装
置に送る機構が与えられなければならない。
提示されつつある新らしいアドレスが実際にホット・ス
ポットであるかどうかを判断し、もしホット・スポット
である時には、高競合性のたとえば組合せネットワーク
上にメモリ・アクセス要求を転向させることである。さ
らにホット・スポットが見出された時に、これをホット
・スポット索引バッファに記入し又現在のホット・スポ
ットがシステムから除去されたことを示す通知を検出装
置に送る機構が与えられなければならない。
さらに−度新らしいホット・スポットが転向装置に入力
されると、関連するプロセッサによるすべての現在のメ
モリ要求が、新らしいメモリ要求が許容される前に、完
了することを保証する機構が与えられなければならない
。これによって後のメツセージが先のメツセージよりも
早くサービスされて、システム・メモリ中で置換される
かプロセッサに戻されるべきデータの順番を狂わせるよ
うなデータの非−質性の可能性が防止される。
されると、関連するプロセッサによるすべての現在のメ
モリ要求が、新らしいメモリ要求が許容される前に、完
了することを保証する機構が与えられなければならない
。これによって後のメツセージが先のメツセージよりも
早くサービスされて、システム・メモリ中で置換される
かプロセッサに戻されるべきデータの順番を狂わせるよ
うなデータの非−質性の可能性が防止される。
第6図(A)を参照すると、メツセージ戻りバスが図面
の一番上に示され、メツセージ出力バスが転向装置10
の右側から出ている。明らかに、これ等のバスは両方と
もネットワーク1及びネットワーク2に関連しているが
、両方向性であってもなくてもよい。ホット・スポット
・アドレス比較動作はブロック30中で適切なレジスタ
によってなられる。ここで現在のアドレスが、上述のよ
うに連想メモリであるホット・スポット索引バッファ(
H3LB)32中の引数となり、一致が生じた時には、
この一致を示す信号がスイッチ34を制御して、現在の
メモリ・アクセスを組合せネットワーク(NET)2の
方に転向させる。もし一致が生じなかった場合には、こ
のことはこの特定のアドレスがホット・スポットとして
まだ決定されていないことを示し、スイッチ34はメツ
セージを低待ち時間ネットワーク1上に導く。
の一番上に示され、メツセージ出力バスが転向装置10
の右側から出ている。明らかに、これ等のバスは両方と
もネットワーク1及びネットワーク2に関連しているが
、両方向性であってもなくてもよい。ホット・スポット
・アドレス比較動作はブロック30中で適切なレジスタ
によってなられる。ここで現在のアドレスが、上述のよ
うに連想メモリであるホット・スポット索引バッファ(
H3LB)32中の引数となり、一致が生じた時には、
この一致を示す信号がスイッチ34を制御して、現在の
メモリ・アクセスを組合せネットワーク(NET)2の
方に転向させる。もし一致が生じなかった場合には、こ
のことはこの特定のアドレスがホット・スポットとして
まだ決定されていないことを示し、スイッチ34はメツ
セージを低待ち時間ネットワーク1上に導く。
保持ブロック26はフリップ・フロップであり、新らし
いホット・スポットが見出されたことを示す通知が転向
装置によって受取られると直ちに1にセットされる。カ
ウンタF38は所与の時間に各特定の転向装置中でアク
ティブな未解決のメモリ要求を記録するためのものであ
る。新らしいメモリ・アドレスが受取られる時にはいつ
でも、カウンタF38はインクレメントされ、メツセー
ジがメツセージ戻りバスを介して戻される時はカウンタ
F3Bはデクレメントされる。二〇カウンタFはOにセ
ットされるか、所与の時間にシステム中に累積が許され
ているメモリ・アクセスの数に依存するある有限な数に
セットされることは明らかである。「保持=1の時待機
」と記されているブロック40は、保持ブロック36が
現在lにセットされていると判断された時にはいつでも
、プロセッサPjにメモリ要求を保留せしめる単なるス
イッチもしくはインターロックである。この機能はこの
分野で良く知られているものであり、プロセッサがメモ
リ要求を発生できるようになる迄、プロセッサに待機を
要求するものである。又保持ブロック36と関連するシ
ステム制御装置が与えられていて、保持ブロック36が
1にセットされるや否や、カウンタFが直ちに質問され
、もしカウンタFが現在0であるならば、保持ブロック
36を0にリセットし、カウンタFがOの設定値に戻る
と直ちに保持ブロック36は0にリセットされるように
なっている。
いホット・スポットが見出されたことを示す通知が転向
装置によって受取られると直ちに1にセットされる。カ
ウンタF38は所与の時間に各特定の転向装置中でアク
ティブな未解決のメモリ要求を記録するためのものであ
る。新らしいメモリ・アドレスが受取られる時にはいつ
でも、カウンタF38はインクレメントされ、メツセー
ジがメツセージ戻りバスを介して戻される時はカウンタ
F3Bはデクレメントされる。二〇カウンタFはOにセ
ットされるか、所与の時間にシステム中に累積が許され
ているメモリ・アクセスの数に依存するある有限な数に
セットされることは明らかである。「保持=1の時待機
」と記されているブロック40は、保持ブロック36が
現在lにセットされていると判断された時にはいつでも
、プロセッサPjにメモリ要求を保留せしめる単なるス
イッチもしくはインターロックである。この機能はこの
分野で良く知られているものであり、プロセッサがメモ
リ要求を発生できるようになる迄、プロセッサに待機を
要求するものである。又保持ブロック36と関連するシ
ステム制御装置が与えられていて、保持ブロック36が
1にセットされるや否や、カウンタFが直ちに質問され
、もしカウンタFが現在0であるならば、保持ブロック
36を0にリセットし、カウンタFがOの設定値に戻る
と直ちに保持ブロック36は0にリセットされるように
なっている。
ホット・スポット発見及びホット・スポット終了と記さ
れた転向装置10の下側への2人力を参照すると、これ
等の入力は通知バスを介して遂行される2つのメツセー
ジ機能を示している。転向装置のすべてはホット・スポ
ット発見メツセージに応答するが、唯一の指定された転
向装置だけがホット・スポット終了メツセージに応答す
るだけでよいことは明らかである。
れた転向装置10の下側への2人力を参照すると、これ
等の入力は通知バスを介して遂行される2つのメツセー
ジ機能を示している。転向装置のすべてはホット・スポ
ット発見メツセージに応答するが、唯一の指定された転
向装置だけがホット・スポット終了メツセージに応答す
るだけでよいことは明らかである。
従って、要約すると、すべてのプロセッサのすべての転
送装置は基本的な機能ブロック及び所与の時間のホット
・スポット索引バッファの内容に関して略同じである。
送装置は基本的な機能ブロック及び所与の時間のホット
・スポット索引バッファの内容に関して略同じである。
個々のカウンタFは異なる値を含んでいる。又通信を行
う転向装置はホット・スポット・アドレスがすべての転
向装置のホット・スポット索引バッファから削除されつ
つあることを検出装置に通知する制御シーケンスを持っ
ていなければならない。
う転向装置はホット・スポット・アドレスがすべての転
向装置のホット・スポット索引バッファから削除されつ
つあることを検出装置に通知する制御シーケンスを持っ
ていなければならない。
同じく第6図(A)を参照すると、ホット:スポット発
見バスはホット・バス索引バッファ(H3LB)32に
接続されていて、置換アルゴリズムによって空きにされ
たバッファ32中に新らしいホット・スポットが記憶さ
れるようになっている。同じく通知バスは保持ブロック
36を1にセットする信号を転送する。
見バスはホット・バス索引バッファ(H3LB)32に
接続されていて、置換アルゴリズムによって空きにされ
たバッファ32中に新らしいホット・スポットが記憶さ
れるようになっている。同じく通知バスは保持ブロック
36を1にセットする信号を転送する。
次に第6図(B)、(C)及び(D)の流れ図を参照し
て、転向装置内の種々の動作に必要な、たとえば適切な
ROM、通常のデコーダ、マルチプレクサ及び他のシー
ケンス回路によって制御される動作のシーケンスを説明
する。
て、転向装置内の種々の動作に必要な、たとえば適切な
ROM、通常のデコーダ、マルチプレクサ及び他のシー
ケンス回路によって制御される動作のシーケンスを説明
する。
次の第2表は個々のホット・スポット索引バッファ32
の様式を示す。
の様式を示す。
第2表
各転送装置の各バッファは同一であり、又任意の時点で
同一のデータを含む。バッファ中の各項目は所与のホッ
ト・スポット・アドレス及びホット・スポットがシステ
ムに導入された時を示す時間の刻印を含んでいる。時間
の刻印はバッファの置換アルゴリズムに使用するための
ものであり、新らしいホット・スポットが発見された時
にどのホット・スポットが除去されるかを判断するのに
使用される。これは簡単な置換アルゴリズムであるが、
もし望まれるならば、他のより複雑なアルゴリズムを使
用できる。勿論どの置換アルゴリズムが使用されるかに
かかわらず、すべての索引バッファ及びすべての転向装
置は同じ置換アルゴリズムを使用して同じアドレスがす
べての素子から除去されることが保証さなければならな
い。
同一のデータを含む。バッファ中の各項目は所与のホッ
ト・スポット・アドレス及びホット・スポットがシステ
ムに導入された時を示す時間の刻印を含んでいる。時間
の刻印はバッファの置換アルゴリズムに使用するための
ものであり、新らしいホット・スポットが発見された時
にどのホット・スポットが除去されるかを判断するのに
使用される。これは簡単な置換アルゴリズムであるが、
もし望まれるならば、他のより複雑なアルゴリズムを使
用できる。勿論どの置換アルゴリズムが使用されるかに
かかわらず、すべての索引バッファ及びすべての転向装
置は同じ置換アルゴリズムを使用して同じアドレスがす
べての素子から除去されることが保証さなければならな
い。
第6図(B)の流れ図を参照すると、ホット・スボツl
−(HS)が検出装置の1つによって発見されて、この
ことが適切なデータ、たとえばホット・スポットのアド
レスとともにすべての転向装置に通知される時に生じな
ければならない事象のシーケンスが示されている。ブロ
ック10内で転向装置内の手順が開始し、ブロック12
に進んで保持ブロック36が1にセットされる。手順は
次にブロック14に続く。
−(HS)が検出装置の1つによって発見されて、この
ことが適切なデータ、たとえばホット・スポットのアド
レスとともにすべての転向装置に通知される時に生じな
ければならない事象のシーケンスが示されている。ブロ
ック10内で転向装置内の手順が開始し、ブロック12
に進んで保持ブロック36が1にセットされる。手順は
次にブロック14に続く。
ブロック14中で、各転向装置内の置換アルゴリズムが
呼び出され、上述のようにホット・スポット索引バッフ
ァからどの「現在」のホット・スポットが除去されなけ
ればならないかについての判断がなされる。新らしい項
目が挿入されるホット・スポット索引バッファ内の記憶
位置はポインタが指摘する。次に手順はブロック16に
続く。
呼び出され、上述のようにホット・スポット索引バッフ
ァからどの「現在」のホット・スポットが除去されなけ
ればならないかについての判断がなされる。新らしい項
目が挿入されるホット・スポット索引バッファ内の記憶
位置はポインタが指摘する。次に手順はブロック16に
続く。
通知用機能のために選択された1つを除(すべての転向
装置は直接ブロック14からブロック20に進むという
意味で、ブロック16は実際の手順の段階ではない。し
かしながら通知を行う転向装置はブロック18に導入し
なければならない。
装置は直接ブロック14からブロック20に進むという
意味で、ブロック16は実際の手順の段階ではない。し
かしながら通知を行う転向装置はブロック18に導入し
なければならない。
ここでホット・スポット索引バッファ中の除去される項
目のアドレスが通知バッファを介して検出装置を介して
送られてホット・スポット・アドレス・メモリが適切に
更新される。
目のアドレスが通知バッファを介して検出装置を介して
送られてホット・スポット・アドレス・メモリが適切に
更新される。
ブロック20中で項目が除去され、ブロック22中で新
らしい項目が挿入される。上述のように実際には、新ら
しい項目は単にホット・スポット索引バッファの古い項
目上に重ね書きされるだけである。次にブロック24中
で、新らしい項目のための時間の刻印がセットされる。
らしい項目が挿入される。上述のように実際には、新ら
しい項目は単にホット・スポット索引バッファの古い項
目上に重ね書きされるだけである。次にブロック24中
で、新らしい項目のための時間の刻印がセットされる。
再び、時間の刻印はこれが置換アルゴリズムに使用され
る場合にのみセットれ、従って時間の刻印フィールドが
与えられる。
る場合にのみセットれ、従って時間の刻印フィールドが
与えられる。
ブロック26中では、タイムアウト即ち待機動作が行わ
れ、カウンタFのセット値が連続的にサンプルされて、
未解決の現在のメモリ要求が存在しないことを意味する
値0にセットされているかどうかが判断される。カウン
タFがOにデクレメントされている(もしくは新らしい
ホット・スポット項目がH3LB中に置かれてOにセッ
トされた)ことが判ると、手順はブロック28に続く。
れ、カウンタFのセット値が連続的にサンプルされて、
未解決の現在のメモリ要求が存在しないことを意味する
値0にセットされているかどうかが判断される。カウン
タFがOにデクレメントされている(もしくは新らしい
ホット・スポット項目がH3LB中に置かれてOにセッ
トされた)ことが判ると、手順はブロック28に続く。
ブロック2日で、保持フリップ・フロップが0にリセッ
トされ、特定の転向装置及びこれに関連するプロセッサ
のメモリ動作の回復が可能になる。
トされ、特定の転向装置及びこれに関連するプロセッサ
のメモリ動作の回復が可能になる。
これによってこの手順が終了する。
第6図(C)を参照すると、プロセッサからの通常のメ
モリ・アクセスが転向装置によって遂行されている・ブ
ロック10で保持フリップ・フロップ36の問合せが行
われる。もしこれが1にセットされている時には、シス
テムはこれがOにリセットさる迄待機する。この動作は
しばしば「フェンス」動作と呼ばれる。このような特定
の従来技術の1つの説明は上述の論文rRP3プロセッ
サ/メモリ素子(”The RP 3 Proces
soy/Memory Element” ) 」の第
787頁の第7.3章に見られる。保持フリップ・フロ
ップがOに等しいと制御装置が判断すると、手順はブロ
ック12に続く。
モリ・アクセスが転向装置によって遂行されている・ブ
ロック10で保持フリップ・フロップ36の問合せが行
われる。もしこれが1にセットされている時には、シス
テムはこれがOにリセットさる迄待機する。この動作は
しばしば「フェンス」動作と呼ばれる。このような特定
の従来技術の1つの説明は上述の論文rRP3プロセッ
サ/メモリ素子(”The RP 3 Proces
soy/Memory Element” ) 」の第
787頁の第7.3章に見られる。保持フリップ・フロ
ップがOに等しいと制御装置が判断すると、手順はブロ
ック12に続く。
ブロック12で、プロセッサによって転向装置に提示さ
れる現在のアドレスがH3LBに対する引数として使用
され、たとえば比較ブロック30内で現在のアドレスが
ホット・スポットであるかどうかの判断がなされる。つ
いでながら、H3LBが連想メモリであるアーキテクチ
ュアでは、比較はH3LB自体の中で行われ、第6図(
A)の比較ブロック30は単なる保持レジスタであるこ
とに注意されたい。もし一致が見出されない時は、手順
はブロック16に続き、メモリ・アクセス要求は低待ち
時間ネットワーク1を介して送られる。
れる現在のアドレスがH3LBに対する引数として使用
され、たとえば比較ブロック30内で現在のアドレスが
ホット・スポットであるかどうかの判断がなされる。つ
いでながら、H3LBが連想メモリであるアーキテクチ
ュアでは、比較はH3LB自体の中で行われ、第6図(
A)の比較ブロック30は単なる保持レジスタであるこ
とに注意されたい。もし一致が見出されない時は、手順
はブロック16に続き、メモリ・アクセス要求は低待ち
時間ネットワーク1を介して送られる。
もし一致した時は、手順はブロック14に続き、スイッ
チ34はより複雑なネットワーク2、たとえば組合せネ
ットワークを介して要求を送る。ブロック14もしくは
16の段階が完了すると、手順はブロック18に続く。
チ34はより複雑なネットワーク2、たとえば組合せネ
ットワークを介して要求を送る。ブロック14もしくは
16の段階が完了すると、手順はブロック18に続く。
ブロック18中で、カウンタFが1だけインクレメント
され、上述のようにプロセッサに関連する転向装置から
の現在の未解決の要求数が記録される。
され、上述のようにプロセッサに関連する転向装置から
の現在の未解決の要求数が記録される。
第6図(D)は1段階の流れ図であり、メモリ・アクセ
ス動作が完了したことを示すメツセージがメモリ・シス
テムから戻される時に、転向装置内で行われる唯一の動
作を示している。たとえば要求がロード要求である時に
は、データに「動作完了」信号が伴い、そうでない時は
この信号だけが戻される。上述のように、カウンタFは
プロセッサからの未解決のメモリ要求のカウントを保持
している。上述の制御及びシーケンスのすべてかう見て
、システムにとって必要なことのすべては、必要なデー
タの一貫性を保持することであるから、このカウントは
単に統計である。
ス動作が完了したことを示すメツセージがメモリ・シス
テムから戻される時に、転向装置内で行われる唯一の動
作を示している。たとえば要求がロード要求である時に
は、データに「動作完了」信号が伴い、そうでない時は
この信号だけが戻される。上述のように、カウンタFは
プロセッサからの未解決のメモリ要求のカウントを保持
している。上述の制御及びシーケンスのすべてかう見て
、システムにとって必要なことのすべては、必要なデー
タの一貫性を保持することであるから、このカウントは
単に統計である。
以上で本発明の説明を終る。
F8発明の効果
本発明に従えば、大型共用メモリ・マルチプロセッサ・
システムのための相互接続ネットワーク管理アーキテク
チュアが与えられる。
システムのための相互接続ネットワーク管理アーキテク
チュアが与えられる。
第1図はマルチプロセッサ・システムの代表的なプロセ
ッサ及びメモリ・モジュールに関連する。 本発明の主要機能ユニットを示した高レベルの機能ブロ
ック図である。 第2図は従来の大型マルチプロセッサ・システム、大型
共用主メモリ及び相互接続ネットワークの組織図である
。 第3図は本発明とともに使用される適用した、異なる伝
送特性を有する2つの別個の相互接続ネットワークを組
込んだマルチプロセッサ・メモリ相互接続システムの組
織図である。 第4図(A)は第1図の各メモリ・モジュールに関連す
る検出装置の1つの機能的概略図である。 第4図(B)は第4図(A)の検出装置で行われるメモ
リ・アクセス手順の流れ図である。 第4図(C)は各検出装置内のホット・スポット検出を
遂行するための独立した手順の流れ図である。 第4図(D)は各検出装置内で行われる終了手順の流れ
図である。 第5図(A)は本発明の通知バスの概略図である。 第5図(B)は通知バスのプロトコルを示した流れ図で
ある。 第6図(A)は第1図の転向装置の1つの機能的概略図
である。 第6図(B)は新らしいホット・スポットを見出した時
の転向装置中の手順の流れ図である。 第6図(C)はプロセッサから標準のメモリ・アクセス
を受取った時の、転向装置中の手順の流れ図である。 第6図(D)はメモリ参照が完了した時に、転向装置内
で生ずる動作の、1段階の流れ図である。 10・・・転向装置、 12・・・検出装置、14・
・・通知装置、 16・・・ネットワーク1.18・
・・ネットワーク2゜ 出願人 インターナショナル・ビジネス・マシーンズ
・コーポレーション 代理人 弁理士 山 本 仁 ωj(外1名
) 第2図 第3図 見六口にA。 メモリ アクセス手躍酉 ホノトスCノド走j對手J頃 終了 第5図(A) ′″7 筒5図(B)
ッサ及びメモリ・モジュールに関連する。 本発明の主要機能ユニットを示した高レベルの機能ブロ
ック図である。 第2図は従来の大型マルチプロセッサ・システム、大型
共用主メモリ及び相互接続ネットワークの組織図である
。 第3図は本発明とともに使用される適用した、異なる伝
送特性を有する2つの別個の相互接続ネットワークを組
込んだマルチプロセッサ・メモリ相互接続システムの組
織図である。 第4図(A)は第1図の各メモリ・モジュールに関連す
る検出装置の1つの機能的概略図である。 第4図(B)は第4図(A)の検出装置で行われるメモ
リ・アクセス手順の流れ図である。 第4図(C)は各検出装置内のホット・スポット検出を
遂行するための独立した手順の流れ図である。 第4図(D)は各検出装置内で行われる終了手順の流れ
図である。 第5図(A)は本発明の通知バスの概略図である。 第5図(B)は通知バスのプロトコルを示した流れ図で
ある。 第6図(A)は第1図の転向装置の1つの機能的概略図
である。 第6図(B)は新らしいホット・スポットを見出した時
の転向装置中の手順の流れ図である。 第6図(C)はプロセッサから標準のメモリ・アクセス
を受取った時の、転向装置中の手順の流れ図である。 第6図(D)はメモリ参照が完了した時に、転向装置内
で生ずる動作の、1段階の流れ図である。 10・・・転向装置、 12・・・検出装置、14・
・・通知装置、 16・・・ネットワーク1.18・
・・ネットワーク2゜ 出願人 インターナショナル・ビジネス・マシーンズ
・コーポレーション 代理人 弁理士 山 本 仁 ωj(外1名
) 第2図 第3図 見六口にA。 メモリ アクセス手躍酉 ホノトスCノド走j對手J頃 終了 第5図(A) ′″7 筒5図(B)
Claims (1)
- 【特許請求の範囲】 複数のプロセッサ、及びメモリ相互接続ネットワークを
介して上記プロセッサの任意のものによつて夫々アクセ
スできる複数の個別にアドレス可能なメモリ・モジュー
ルを有する共用メモリ・マルチプロセッサ・システムに
おいて、 (a)競合する可能性が低いメモリ要求が転送される第
1の低待ち時間ネットワーク及び競合する可能性が高い
メモリ要求が転送される第2のネットワークより成る、
少なくとも2つの並列な相互接続ネットワークと、 (b)アクセス基準の予定の頻度に基づいて、特定のア
ドレスがホット・スポットとなつた時を検出するための
、各メモリ・モジュールに接続されたホット・スポット
検出装置と、 (c)各プロセッサの出力と相互接続ネットワーク間に
接続されていて、メモリ要求を選択的に上記第1もしく
は第2のネットワークのいずれかに転送する転向装置と
、 (d)すべての上記転向装置とすべての上記ホット・ス
ポット検出装置との間に設けられ、ホット・スポットに
遭遇した時にこのことをすべての上記転向装置に通知し
、現在のメモリ要求が現在指示されているホット・スポ
ットになされている時には、上記メモリ要求を上記第2
のネットワーク上に転送させるためのホット・スポット
通知装置とを有する、共用メモリ・マルチプロセッサ・
システム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/186,327 US4969088A (en) | 1988-04-26 | 1988-04-26 | Hardware mechanism for automatically detecting hot-spot references and diverting same from memory traffic in a multiprocessor computer system |
US186327 | 1994-01-24 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH01298459A true JPH01298459A (ja) | 1989-12-01 |
JPH0786861B2 JPH0786861B2 (ja) | 1995-09-20 |
Family
ID=22684500
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP1088185A Expired - Lifetime JPH0786861B2 (ja) | 1988-04-26 | 1989-04-10 | 共用メモリ・マルチプロセツサ・システム |
Country Status (5)
Country | Link |
---|---|
US (1) | US4969088A (ja) |
EP (1) | EP0339270B1 (ja) |
JP (1) | JPH0786861B2 (ja) |
CA (1) | CA1311851C (ja) |
DE (1) | DE68921365T2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0728764A (ja) * | 1990-08-27 | 1995-01-31 | Internatl Business Mach Corp <Ibm> | プロセツサ−メモリ間のトラフイツク径路指定装置及び方法 |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0625984B2 (ja) * | 1990-02-20 | 1994-04-06 | インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン | マルチプロセツサ・システム |
JP2665813B2 (ja) * | 1990-02-23 | 1997-10-22 | 三菱電機株式会社 | 記憶制御装置 |
US5076364A (en) * | 1990-03-30 | 1991-12-31 | Shell Oil Company | Gas hydrate inhibition |
US5083265A (en) * | 1990-04-17 | 1992-01-21 | President And Fellows Of Harvard College | Bulk-synchronous parallel computer |
US5325510A (en) * | 1990-05-25 | 1994-06-28 | Texas Instruments Incorporated | Multiprocessor system and architecture with a computation system for minimizing duplicate read requests |
US5321844A (en) * | 1990-12-20 | 1994-06-14 | Siemens Aktiengesellschaft | Method for error correction of software errors in a communication system |
JP2777496B2 (ja) * | 1991-02-28 | 1998-07-16 | インターナショナル・ビジネス・マシーンズ・コーポレイション | コンピュータシステムにおいてマルチプロセスをプロファイリングする際の使用方法 |
US5386540A (en) * | 1991-09-18 | 1995-01-31 | Ncr Corporation | Method and apparatus for transferring data within a computer using a burst sequence which includes modified bytes and a minimum number of unmodified bytes |
US5442797A (en) * | 1991-12-04 | 1995-08-15 | Casavant; Thomas L. | Latency tolerant risc-based multiple processor with event driven locality managers resulting from variable tagging |
JPH06175914A (ja) * | 1992-09-21 | 1994-06-24 | Eastman Kodak Co | メモリ管理装置 |
US5404464A (en) * | 1993-02-11 | 1995-04-04 | Ast Research, Inc. | Bus control system and method that selectively generate an early address strobe |
JPH08263226A (ja) * | 1995-03-23 | 1996-10-11 | Toshiba Corp | 情報記憶装置 |
US5727167A (en) * | 1995-04-14 | 1998-03-10 | International Business Machines Corporation | Thresholding support in performance monitoring |
US5706467A (en) * | 1995-09-05 | 1998-01-06 | Emc Corporation | Sequential cache management system utilizing the establishment of a microcache and managing the contents of such according to a threshold comparison |
US5761716A (en) * | 1996-05-01 | 1998-06-02 | International Business Machines Corporation | Rate based memory replacement mechanism for replacing cache entries when the cache is full |
JPH10255485A (ja) * | 1997-03-10 | 1998-09-25 | Kawasaki Steel Corp | 連想メモリおよびネットワークフレーム中継器 |
US6785784B1 (en) * | 1997-12-30 | 2004-08-31 | Intel Corporation | Method for protective cache replacement |
US6404752B1 (en) * | 1999-08-27 | 2002-06-11 | International Business Machines Corporation | Network switch using network processor and methods |
US6460120B1 (en) | 1999-08-27 | 2002-10-01 | International Business Machines Corporation | Network processor, memory organization and methods |
US6681387B1 (en) * | 1999-12-01 | 2004-01-20 | Board Of Trustees Of The University Of Illinois | Method and apparatus for instruction execution hot spot detection and monitoring in a data processing unit |
GB2374749B (en) * | 2001-04-20 | 2005-04-06 | Discreet Logic Inc | Image data processing |
KR100678926B1 (ko) * | 2006-01-05 | 2007-02-06 | 삼성전자주식회사 | 로그 정보 관리 시스템 및 방법 |
US20070233258A1 (en) * | 2006-02-28 | 2007-10-04 | Zimmer Spine, Inc. | Vertebroplasty- device and method |
US20170249257A1 (en) * | 2016-02-29 | 2017-08-31 | Itu Business Development A/S | Solid-state storage device flash translation layer |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4484262A (en) * | 1979-01-09 | 1984-11-20 | Sullivan Herbert W | Shared memory computer method and apparatus |
US4707781A (en) * | 1979-01-09 | 1987-11-17 | Chopp Computer Corp. | Shared memory computer method and apparatus |
US4400768A (en) * | 1980-06-04 | 1983-08-23 | Burroughs Corporation | Parallel access computer memory system employing a power-of-two memory modules |
US4412286A (en) * | 1980-09-25 | 1983-10-25 | Dowd Brendan O | Tightly coupled multiple instruction multiple data computer system |
US4466060A (en) * | 1982-02-11 | 1984-08-14 | At&T Bell Telephone Laboratories, Incorporated | Message routing in a computer network |
US4556972A (en) * | 1983-12-27 | 1985-12-03 | At&T Bell Laboratories | Arrangement for routing data packets through a circuit switch |
US4654778A (en) * | 1984-06-27 | 1987-03-31 | International Business Machines Corporation | Direct parallel path for storage accesses unloading common system path |
US4794521A (en) * | 1985-07-22 | 1988-12-27 | Alliant Computer Systems Corporation | Digital computer with cache capable of concurrently handling multiple accesses from parallel processors |
US4696000A (en) * | 1985-12-12 | 1987-09-22 | American Telephone And Telegraph Company, At&T Bell Laboratories | Nonblocking self-routing packet and circuit switching network |
-
1988
- 1988-04-26 US US07/186,327 patent/US4969088A/en not_active Expired - Fee Related
-
1989
- 1989-01-25 CA CA000589107A patent/CA1311851C/en not_active Expired - Fee Related
- 1989-03-22 EP EP89105326A patent/EP0339270B1/en not_active Expired - Lifetime
- 1989-03-22 DE DE68921365T patent/DE68921365T2/de not_active Expired - Fee Related
- 1989-04-10 JP JP1088185A patent/JPH0786861B2/ja not_active Expired - Lifetime
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0728764A (ja) * | 1990-08-27 | 1995-01-31 | Internatl Business Mach Corp <Ibm> | プロセツサ−メモリ間のトラフイツク径路指定装置及び方法 |
Also Published As
Publication number | Publication date |
---|---|
EP0339270A3 (en) | 1990-11-28 |
EP0339270B1 (en) | 1995-03-01 |
JPH0786861B2 (ja) | 1995-09-20 |
CA1311851C (en) | 1992-12-22 |
EP0339270A2 (en) | 1989-11-02 |
DE68921365T2 (de) | 1995-10-05 |
US4969088A (en) | 1990-11-06 |
DE68921365D1 (de) | 1995-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH01298459A (ja) | 共用メモリ・マルチプロセツサ・システム | |
US6895482B1 (en) | Reordering and flushing commands in a computer memory subsystem | |
KR900006791B1 (ko) | 패킷 스위치식 다중포트 메모리 n×m 스위치 노드 및 처리 방법 | |
EP0472879B1 (en) | Method and apparatus for dynamic detection and routing of non-uniform traffic in parallel buffered multistage interconnection networks | |
Ranade | How to emulate shared memory | |
US6874053B2 (en) | Shared memory multiprocessor performing cache coherence control and node controller therefor | |
US8214845B2 (en) | Context switching in a network on chip by thread saving and restoring pointers to memory arrays containing valid message data | |
KR100766732B1 (ko) | 고속의 낮은 오버헤드의 콘텍스트 전환을 실행하는 디바이스 및 방법 | |
EP1615138A2 (en) | Multiprocessor chip having bidirectional ring interconnect | |
US6587926B2 (en) | Incremental tag build for hierarchical memory architecture | |
US6175942B1 (en) | Variable bit width cache memory architecture | |
US20160275015A1 (en) | Computing architecture with peripherals | |
JP2004158020A (ja) | マルチプロセッサ・システム | |
US5371893A (en) | Look-ahead priority arbitration system and method | |
EP0351955A2 (en) | Multiprocessor systems with cross-interrogated store-in-caches | |
JP2000242545A (ja) | データ処理システムにおいてメモリ・アクセス要求を処理するための装置および方法 | |
EP0553158B1 (en) | A scalable parallel vector computer system | |
JP2731742B2 (ja) | クラスタ構成の並列計算機 | |
Liu et al. | Prevention of congestion in packet-switched multistage interconnection networks | |
EP0437712A2 (en) | Tandem cache memory | |
US6587925B2 (en) | Elimination of vertical bus queueing within a hierarchical memory architecture | |
JP2853652B2 (ja) | プロセッサ間通信におけるパケット送信方法およびその装置 | |
JP2001154913A (ja) | 主記憶制御装置 | |
JP4117621B2 (ja) | データ一括転送装置 | |
Dickey et al. | Designing VLSI network nodes to reduce memory traffic in a shared memory parallel computer |