JPH01298459A - Common memory multiprocessor system - Google Patents

Common memory multiprocessor system

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
Application number
JP1088185A
Other languages
Japanese (ja)
Other versions
JPH0786861B2 (en
Inventor
Kevin P Mcauliffe
ケビン・パトリツク・マクオーリフイ
Vern Alan Norton
ヴアーン・アレン・ノートン
Gregoty F Pfister
グレゴリイ・フランシス・フイスター
Bharat D Rathi
バラツト・デイープ・ラチイ
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH01298459A publication Critical patent/JPH01298459A/en
Publication of JPH0786861B2 publication Critical patent/JPH0786861B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/28Routing or path finding of packets in data switching networks using route fault recovery
    • 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/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/122Replacement control using replacement algorithms of the least frequently used [LFU] type, e.g. with individual count value
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1652Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
    • G06F13/1663Access to shared memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations 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/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17356Indirect interconnection networks
    • G06F15/17368Indirect interconnection networks non hierarchical topologies
    • G06F15/17393Indirect interconnection networks non hierarchical topologies having multistage networks, e.g. broadcasting scattering, gathering, hot spot contention, combining/decombining
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/80Ingress point selection by the source endpoint, e.g. selection of ISP or POP
    • H04L45/85Selection among different networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/80Ingress point selection by the source endpoint, e.g. selection of ISP or POP
    • H04L45/85Selection among different networks
    • H04L45/851Dynamic network selection or re-selection, e.g. after degradation of quality

Abstract

PURPOSE: To efficiently control a mutual connection mechanism by dynamically detecting a hot spot so as to turn a message. CONSTITUTION: This system mutually connects an optional processor PO to PN to an optional module MO to MQ and is provided with a first low-waiting network 16 to lead the memory request of the low possibility of generating the competition of memories and a second network 18 to lead the memory request of the high possibility of generating the competition of memories. When a specific address is repeated enough times for regarding as a hot spot within the frame of a prescribed time, each of hot spot detectors 12 informs a turning device 10 of this to shore. When present memory access is at the hot spot, each turning device 10 transfers memory access to a memory system through the second mutual connection network 18. Thereby, the combination network of satisfactorily low waiting times is constituted.

Description

【発明の詳細な説明】 以下の順序で、本発明を説明する。[Detailed description of the invention] The present invention will be explained in the following order.

A、産業上の利用分野 B、従来技術 C0発明が解決しようとする問題点 り0問題点を解決するための手段 E、実施例 El、序論 E2.−船釣説明 E3.好ましい実施例(第1図乃至第6図)F0発明の
効果 A、産業上の利用分野 本発明はデータ・プロセッサ・メモリ・システムに関し
、更に具体的には、複数のプロセッサ及び複数の個々の
メモリ・モジュールを有する大型マルチプロセッサ・コ
ンピュータ・システムで使用するためのこのようなメモ
リ・システム制御装置に関する。さらに具体的には、本
発明は複雑な相互接続ネットワークを介して個々のプロ
セッサとメモリ・モジュール間のデータの流れを制御す
る技術に関する。
A. Industrial field of application B. Prior art C0 Problems to be solved by the invention Means for solving the problems E. Example El. Introduction E2. - Boat fishing explanation E3. PREFERRED EMBODIMENTS (FIGS. 1-6) F0 EFFECTS OF THE INVENTION A. INDUSTRIAL APPLICATION FIELD OF THE INVENTION The present invention relates to data processor memory systems, and more particularly to data processor memory systems and, more particularly, to data processor memory systems. - Concerning such memory system controllers for use in large multiprocessor computer systems with modules. More specifically, the present invention relates to techniques for controlling the flow of data between individual processors and memory modules over complex interconnect networks.

B、従来技術 最近の研究によれば、大型並列コンピュータのメモリ・
システムは性能が低下する可能性があるという欠点があ
ることがわかっている。メモリ参照の大部分が1つのメ
モリ・アドレスに向けられると、システム全体の性能は
この1つのメモリ容量によって制限される。このメモリ
へのアクセスが多段の相互接続ネットワークを介して行
われる時には「ツリー封鎖(tree blockag
e) Jとして知られている現象がさらに競合を生じ、
このシステムのすべてのユーザにかなりな遅延をもたら
す。
B. Prior art According to recent research, the memory capacity of large-scale parallel computers
The system has been found to have drawbacks in that performance may be degraded. When the majority of memory references are directed to a single memory address, the overall system performance is limited by this single memory capacity. When this memory is accessed through a multi-stage interconnection network, it is called a "tree blockade".
e) The phenomenon known as J gives rise to further conflicts;
This results in significant delays for all users of the system.

この問題及び関連する性能上の問題は後にリストする論
文「ホット・スポットの競合と多段相互接続ネットワー
ク中での組合せ」に論ぜられている。
This issue and related performance issues are discussed in the paper "Hot Spot Contention and Combination in Multi-Stage Interconnection Networks" listed below.

この問題の一つの解決法は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のネットワークに向け
るものである。しかしながら、一般のメモリ・トラフイ
ツ′りからホット・スポット参照を効果的に選択する際
に問題が残る。このようなシステム中でソフトウェアも
しくはメツセージのタイプの予定の指定に依存して、ど
のような参照がホット・スポットになされているかを指
示することによってホット・スポットの問題を避けるこ
とは勿論可能である。従ってホット・スポットは予じめ
識別できる。しかしながら、このような解決法は大型マ
ルチ・ユーザ・システムでは明らかに実施不能である。
One solution to this problem is the “combinatorial network” proposed during the NYtJ supercomputer design (
rNYtJ Super Computer... Design of MIMD, Shared Memory Parallel Machine J IEEE Proceedings on Computers February 19B3, pp. 175-189 ("T
he N Y U Ultracomputer-De
signing a M I M D% 5hared
I'remory Parallel Machine
, “I E E E Transactions
onComputers, February 19
83, pp. 175-189). With this combinatorial network, references to hot spots in memory are combined before going to memory, reducing contention for hot spots, but combinatory networks require complex and expensive hardware designs. . It is currently difficult to construct a combinational network with sufficiently low latency to support all memory references in large multiprocessor systems. Another method is to form two networks, one for low latency and the other for high contention traffic handling, and send messages that are expected to create hot spots to the second network. It is something to be directed toward. However, problems remain in effectively selecting hot spot references from general memory traffic. It is of course possible to avoid hot spot problems in such systems by relying on software or message type scheduling to indicate what references are being made to hot spots. . Hot spots can therefore be identified in advance. However, such a solution is clearly impractical in large multi-user systems.

それはシステム全体の性能がすべてのユーザによる正し
い、効率的なプログラミングに依存し、どのタイプの参
照がホット・スポットになされているかを指示する際の
一貫性が暗に示されていなくてはならないからである。
This is because the performance of the entire system depends on correct and efficient programming by all users, and consistency in indicating what types of references are being made to hot spots must be implied. It is.

従って、このようなマルチプロセッサ・マルチメモリ・
モジュール相互接続システムの概念が提案されていて、
低待ち時間ネットワークと潜在的な高待ち時間ホット・
スポット組合せネットワークが提案されたが、ホット・
スポットであることを示すメツセージをダイナミックに
識別して、その後相互接続機構を制御する効率的な手段
もしくは機構は知られていない。
Therefore, such multiprocessor, multimemory,
The concept of a module interconnection system has been proposed,
Low-latency networks and potential high-latency hot
Spot combinatorial networks have been proposed, but hot
There is no known efficient means or mechanism to dynamically identify messages indicating spots and subsequently control the interconnection mechanism.

1987年5月12日に出願された米国特許出願第04
8982号は、適切な相互接続ネットワークを介して相
互接続されなければならない、複数のプロセッサ及び複
数のメモリをユーザマルチプロセッサ・システム中で使
用される2ネツトワーク相互接続システムを開示してい
る。このシステムでは、デルタ・ネットワークの概念力
補百単な交差点ネットワークと組合されて、ある情況の
下で、メツセージは交互にどちらかのネットワークに送
られている。しかしながら、この特許出願にはホット・
スポットを実時間ベースで連続的にモニタして、これ等
のホット・スポットに対するその後のメモリ参照を適切
な組合せネットワーク上に振向け、他の通常のメモリ参
照を低待ち時間ネットワーク上に送る方法の開示はない
U.S. Patent Application No. 04 filed May 12, 1987
No. 8982 discloses a two-network interconnection system for use in a user multiprocessor system with multiple processors and multiple memories, which must be interconnected via a suitable interconnection network. In this system, the concept of a delta network is combined with a simple crossroads network, with messages being sent alternately to either network under certain circumstances. However, this patent application has a hot
A method for continuously monitoring spots on a real-time basis and directing subsequent memory references to these hot spots onto the appropriate combinatorial network and directing other regular memory references onto the low-latency network. No disclosures.

次にリストする4つの論文は大きな共用メモリを有する
、RP3として知られた実験用マルチプロセッサ計算シ
ステムの属性を説明したものであり、1985年8月2
0−23日に開催された並列処理に関する1985年国
際会議論文集(Proceedings of  19
85  InternationalConferen
ce on Parallel Processing
 、 August20−23.1985)に発表され
たものである。
The four papers listed below describe the attributes of an experimental multiprocessor computing system with large shared memory, known as RP3, published August 2, 1985.
Proceedings of 1985 International Conference on Parallel Processing held on 0-23
85 International Conference
ce on Parallel Processing
, August 20-23, 1985).

(1) G、F、ツイスタ−(Pfister)等によ
るrlBM研究用並列プロセッサのプロトタイプ(RP
 3):入門とアーキテクチュア(“ThelBMRe
search Parallel Processor
 Prototype  (RP3 ) : Intr
oduction and Architecture
”) J第764−771頁。
(1) Prototype of parallel processor for rlBM research (RP
3): Introduction and Architecture (“ThelBMRe
search Parallel Processor
Prototype (RP3): Intr
duction and architecture
”) J, pp. 764-771.

(2) V、A、ツートン(Norton)等による「
マルチプロセッサのパフォーマンスを予測する方法じA
 Metho dology for Predict
ionMultiprocessor Perform
ance”)第772−781頁。この論文は所与のマ
ルチプロセッサのパフォーマンスを予測する方法を開示
し、システム全体のパフォーマンスを著しく損う、種々
のタイプのメモリ閉鎖を予測する方法を示している。
(2) V, A, Norton et al.
How to predict multiprocessor performance A
Methodology for Predict
ionMultiprocessor Perform
ance”), pp. 772-781. This paper discloses a method for predicting the performance of a given multiprocessor and shows how to predict various types of memory closures that can significantly impair overall system performance. .

(3) K、P、マクオリフエ(McAuliffe)
等による「RP3プロセッサ/メそり素子(”The 
RP 3Processor/Memory Elem
ent’) J第782−第789頁。
(3) K, P, McAuliffe
"RP3 Processor/Mesori Element ("The
RP 3Processor/Memory Elem
ent') J pages 782-789.

(4) G、F、ツイスタ−(Pf is ter)等
による「ホット・スポットの競合と多段相互接続ネット
ワーク中での組合せ (”Hot−5pot Contention and
 Combining inMultistage I
nter connection Networks″
)」第790−797頁。
(4) “Hot-5pot Contention and Combination in Multistage Interconnection Networks” by G., F., Pfister et al.
Combining in Multistage I
connection networks”
)” pp. 790-797.

(5)米国特許第3956737号。(5) U.S. Patent No. 3,956,737.

(6)米国特許第4484262号及び第470778
1号。
(6) U.S. Patent Nos. 4,484,262 and 470,778
No. 1.

C0発明が解決しようとする問題点 本発明の目的は、共用メモリ・マルチプロセッサ・シス
テムのための相互接続ネットワーク管理アーキテクチュ
アを与えることにある。
PROBLEM SOLVED BY THE C0 INVENTION It is an object of the present invention to provide an interconnection network management architecture for shared memory multiprocessor systems.

本発明に従えば、少なくとも1つの低待ち時間通信ネッ
トワーク、及び少なくとも1つの他の相互接続ネットワ
ークを有するシステムのための相互接続ネットワーク管
理アーキテクチュアが与え−られる。
In accordance with the present invention, an interconnection network management architecture is provided for a system having at least one low latency communication network and at least one other interconnection network.

本発明に従えば、メモリのアドレス基準に基づいて、上
記2つのネットワークの一方もしくは他方へメモリ・ア
クセスを転向させる手段を有する相互接続ネットワーク
・アーキテクチュアが与えられる。
According to the invention, an interconnection network architecture is provided having means for diverting memory accesses to one or the other of the two networks based on memory addressing criteria.

本発明に従えば、上記メモリ・アクセスを転向するため
の手段が、転向の基準としてホット・スポット・メモリ
基準を使用する相互接続ネットワーク・アーキテクチュ
アが与えられる。
According to the invention, means for redirecting said memory accesses are provided in an interconnection network architecture that uses a hot spot memory criterion as the redirection criterion.

本発明に従えば、システム制御の基準としてのホット・
スポットをダイナミックに検出して、除去し、上記ホッ
ト・スポットを検出した時にこれを使用して上記メツセ
ージの転向を行う相互接続ネットワーク・アーキテクチ
ュアが与えられる。
According to the invention, hot
An interconnect network architecture is provided that dynamically detects and removes spots and uses the hot spots to divert the messages when detected.

D1問題点を解決するための手段 本発明に従えば、複数のプロセッサ及び複数の個別にア
ドレス可能なメモリ・モジュールを有し、メモリ・モジ
ュールの各々がメモリ相互接続ネットワークを介して上
記プロセッサの任意のものによってアクセスできる大型
共用メモリ・マルチプロセッサ・コンピュータ・システ
ムで使用される相互接続ネットワーク・アーキテクチュ
アが与えられる。上記システムは2つの並列相互接続メ
モリ・ネットワークより成り、各々は任意のプロセッサ
を任意のモジュールに相互接続できる。上記2つのネッ
トワークは、メモリの競合を生ずる可能の低いメモリ要
求が導かれる第1の低待ち時間ネットワーク及びメモリ
競合の可能性が高いメモリ要求が導かれる第2のネット
ワークより成る。
SUMMARY OF THE INVENTION In accordance with the present invention, there is provided a plurality of processors and a plurality of individually addressable memory modules, each of which is connected to any one of said processors via a memory interconnection network. An interconnection network architecture for use in large shared memory multiprocessor computer systems that can be accessed by computers is provided. The system consists of two parallel interconnected memory networks, each capable of interconnecting any processor to any module. The two networks are comprised of a first low-latency network, where memory requests with a low probability of memory contention are directed, and a second network, where memory requests with a high probability of memory contention are directed.

ホット・スポット検出装置が各メモリ・モジュールと関
連していて、そのモジュール中の特定のアドレスがホッ
ト・スポットとなった時を検出する。
A hot spot detection device is associated with each memory module to detect when a particular address in that module becomes a hot spot.

転向装置が各プロセッサ及びメモリ・ネットワークと関
連していて、上記第1もしくは第2のメモリ・ネットワ
ークにメモリ要求を選択的に導く。
A diverting device is associated with each processor and memory network for selectively directing memory requests to the first or second memory network.

ホット・スポット通知装置が、すべての上記ホット・ス
ポット検出装置を上記転向装置のすべてと相互接続する
ために与えられる。上記転向装置の各々には、上記検出
装置の任意のものによって検出されたすべてのホット・
スポットを記憶するためのメモリ装置が与えられている
。各転向装置中には、現在のメモリ・アクセスが上記メ
モリ・システム内にリストされたホット・スポットにあ
るかどうかを判断し、もしあれば、メモリ・アクセスを
第2の相互接続ネットワークを介してメモリ・システム
に転送する装置が与えられる。
A hot spot notification device is provided for interconnecting all of the hot spot detection devices with all of the diversion devices. Each of the above-mentioned turning devices includes all hot spots detected by any of the above-mentioned detection devices.
A memory device is provided for storing the spots. Each diversion device includes a device that determines whether the current memory access is in a hot spot listed within the memory system and routes the memory access, if any, through a second interconnect network. An apparatus is provided for transferring to a memory system.

上記検出装置の各々は、所定の時間の枠内で、特定のア
ドレスがホット・スポットとみなされる程十分な回数繰
返されたかどうかを判断し、もし繰返された時には各プ
ロセッサに関連するすべての転向装置に、この事実を、
新らしいホット・スポットのアドレスとともに通知して
記憶させ、後に各転向装置で使用される装置を含む。
Each of the above detection devices determines whether, within a predetermined time frame, a particular address is repeated enough times to be considered a hot spot, and if so, all the turns associated with each processor are This fact to the device,
It is notified and stored along with the address of the new hot spot, including the device for later use in each diversion device.

E、実施例 El、序論 本発明はネットワーク・トラフィック中のホット・スポ
ットを検出し、組合せネットワークを介してメモリ参照
を転向させるハードウェア技術を有する、大型共用メモ
リ・マルチプロセッサ・システムのための相互接続ネッ
トワーク管理アーキテクチュアに関する。「ホット・ス
ポット」なる用語は、予じめ定められた時間の枠内で繰
返し参照される同じメモリ位置を示している。ホット・
スポットの指定は異なるシステムの用途に適するように
システムの設計者によって自由に変更できることは明ら
かであろう。換言すれば、時間の枠だけでなく、同じメ
モリへの参照の総数が変更できる。しかしながら時間の
枠はこのレベルの制御を行う基本のアーキテクチュアに
は関係がない。
E., EXAMPLE EL, INTRODUCTION The present invention provides an interconnect architecture for large shared memory multiprocessor systems having hardware techniques for detecting hot spots in network traffic and redirecting memory references through a combinatorial network. Concerning connection network management architecture. The term "hot spot" refers to the same memory location that is referenced repeatedly within a predetermined time frame. hot·
It will be clear that the spot designation may be varied freely by the system designer to suit different system applications. In other words, not only the time frame but also the total number of references to the same memory can be changed. However, the time frame is irrelevant to the underlying architecture that provides this level of control.

本発明はメモリ・トラフィックを管理する際に多くの利
点を与える。この管理は容易に自動化でき、従って(非
効率的なことを行ったユーザのパホーマンスを除き)プ
ログラマのエラーもしくは不注意がシステム全体を劣化
することはない。
The present invention provides many advantages in managing memory traffic. This management can be easily automated so that programmer error or carelessness (other than inefficient user performance) does not degrade the overall system.

トラフィックが1つのネットワークから他方へ転向され
た時は、同じプロセッサによってアクセスされる変数へ
のアクセスの順序の変更によって一貫性が失われる可能
性がある。たとえば同じアドレスに向けられたロードと
記憶命令はこれ等が異なるネットワーク上を移動する時
は発生された順序に現われないことがある。ソフトウェ
アで順序の一貫性を保持することは困難であり、コンパ
イラの支援を必要とするか、かなりな実行時間のゆとり
を必要とする。このような一貫性はシステム内でプログ
ラムの正しい実行を保持するために絶対的に重要である
。本発明は、同じメモリへのネットワーク・トラフィッ
クが時々異なるネットワーク(たとえば組合せもしくは
非組合せネットワーク)を流れる場合でも、順序の一貫
性を保証するハードウェア手順を与える。任意の1つの
プロセッサから任意の1つのメモリへ発生されるメモリ
参照は、これらのメモリ参照が通るネットワークに関係
なく、発生した順序に生ずる。
When traffic is diverted from one network to another, there can be inconsistencies due to changes in the order of accesses to variables accessed by the same processor. For example, load and store instructions directed to the same address may not appear in the order in which they occur when they travel on different networks. Maintaining order consistency in software is difficult, requires compiler assistance, or requires significant execution time margins. Such consistency is absolutely critical to maintaining correct execution of programs within the system. The present invention provides a hardware procedure that guarantees order consistency even when network traffic to the same memory sometimes flows through different networks (eg, combinational or non-combinational networks). Memory references issued from any one processor to any one memory occur in the order in which they occur, regardless of the network through which these memory references pass.

プロセッサのホット・スポット参照だけが高競合ネット
ワークを通して転向されるので、このようなネットワー
クは最悪の事態に遭遇する可能性のある、予定のホット
・スポットロードだけを処理すれば十分なように最小の
コストで構成できる。
Since only the processor's hot spot references are diverted through the high contention network, such a network is likely to encounter the worst-case scenario, with a minimal Can be configured by cost.

もし、たとえば、大部分がホット・スポットを生じない
、すべての同期トラフィックが組合せネットワークを通
して転向されるならば、組合せネットワークが非組合せ
ネットワークよりもかなり複雑であり、従ってより多く
の論理レベル、チエツク及び比較動作を経なければなら
ないという事実によって、待ち時間が増大する。
If, for example, all synchronous traffic is diverted through the combinational network, most of which do not result in hot spots, then the combinational network is considerably more complex than the non-combined network and therefore requires more logic levels, checks and The fact that the comparison operation has to go through increases the latency.

すべてのメモリ・アクセスが本発明の相互接続制御アー
キテクチュアのコストは、すべてのメモリ・アクセスが
組合せネットワークを通るような大型システム中で適切
なメモリ・バホーマンスを与えるのに十分な帯域幅を有
する組合せネットワークを構成するコストよりも安いと
考えられる。
The cost of the interconnection control architecture of the present invention is that all memory accesses go through the combinatorial network with sufficient bandwidth to provide adequate memory efficiency in large systems. It is considered cheaper than the cost of configuring the .

さらに本発明の必要とするハードウェア及び手順はキャ
ッシュ−ルックアップ及び変換機能のような機能と重畳
でき、単一の超大型、低待ち時間ネットワークを使用す
るメモリ参照のための総時間と比較して時間はさほど増
加しない。このような低待ち時間ネットワークのコスト
は上述のように組合せネットワークのコストの数分の−
である。
Furthermore, the required hardware and procedures of the present invention can be overlapped with functions such as cache-lookup and translation functions, and the total time for memory references using a single ultra-large, low-latency network is The time will not increase significantly. As mentioned above, the cost of such a low-latency network is several times lower than the cost of a combinational network.
It is.

本発明の相互接続ネットワーク管理アーキテクチュアの
他の利点として、メモリ参照トラフィック中のホット・
スポットを示す情報もしくはデータが実行時間中に利用
可能になることがあげられる。従ってこの情報をシステ
ムのユーザに報告して、適用業務でホット・スポットが
望ましくない時にソフトウェアのエラーを訂正すること
ができる。従ってこの情報でデータ組織等を変更して、
データをインターリーブされたメモリ・システム上によ
りよく分散してホット・スポットをなくすか、少なくと
も最小にすることが可能である。
Another advantage of the interconnection network management architecture of the present invention is that hot
Information or data indicating the spot may become available during execution time. This information can then be reported to users of the system to correct software errors when hot spots are undesirable in the application. Therefore, change the data organization etc. with this information,
Data can be better distributed over interleaved memory systems to eliminate or at least minimize hot spots.

本発明のアーキテクチュアは多(の(たとえば10以上
)独立した処理ユニットのシステム中で使用することを
意図している。2つの通信ネットワークが必要である。
The architecture of the present invention is intended for use in systems of multiple (eg, 10 or more) independent processing units. Two communication networks are required.

1つはニューヨーク大学超コンピュータ計画(New 
York UniversityUltracompu
ter Project)によって提案され、A。
One is the New York University Supercomputer Project (New
York UniversityUltracomp
ter Project) and proposed by 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つの宛先には
メツセージの飛び越しがあってはならないことを意味し
ている。本発明においては、このような飛び越しを防止
するために、以下説明する「フェンス」機能及び原始的
なメモリ・アクセスをメモリ自体の中で使用して、一つ
のアクセスが完了してから他のアクセスが開始すること
が保証される。
The paper rNY by Gottlieb et al.
U Ultracomputer...MIND Shared Memory Parallel Machine ('The NYU Ultracomputer M
``emory Parallel Machine'')'',
IEEE Transactions on Computers, February 1983
The combinatorial network described in detail on pages 175-185 of ``Computers'', pages 175-185, is capable of handling high contention traffic. Other networks are of sufficient low latency to efficiently transfer all non-hot spot references to memory. Both networks are provided internally in hardware that can maintain order consistency in the sense that the order of two messages to the same destination address arriving at any input is preserved until the output of the network. This means that there should be no message skipping to any one destination. In order to prevent such jumps, the present invention uses a "fencing" feature and primitive memory accesses described below within the memory itself, allowing one access to complete before another is guaranteed to start.

メモリ・システムは1つの物理的なアドレス・スペース
を有し、1つのアドレスが特定のワードもしくはアドレ
ス可能要素の、モジュール内の位置だけでなく、メモリ
・モジュールを決定できるようになっている。本発明の
範囲を越えた因子によって生ずるメモリ封鎖による可能
性を減少する他の機能を有することも好ましい。これ等
の機能には次のものが含まれる。
A memory system has one physical address space such that one address can determine a memory module as well as the location within the module of a particular word or addressable element. It may also be desirable to have other features that reduce the likelihood of memory blockage caused by factors beyond the scope of the present invention. These features include:

(1)メモリ・インターピーニング:この動作は多くの
プロセッサが1ページ内の異なるアドレスをアクセスし
ようとする時に生じるメモリの競合を最小にするために
行わなければならない。
(1) Memory interpeening: This operation must be performed to minimize memory contention that occurs when many processors attempt to access different addresses within a page.

(2)アドレス・ハツシングもしくはスキューインタ:
この動作はメモリに対するストライド(大また)アクセ
スによる競合から生ずるメモリ競合を最小にするために
行われなくてはならない。このようなハツシング方法に
ついては、たとえば1987年10月29日出願の米国
特許第07/114909号を参照されたい。
(2) Address hashing or skew inter:
This operation must be done to minimize memory contention resulting from contention due to stride accesses to memory. For such hashing methods, see, for example, US Pat. No. 07/114,909, filed Oct. 29, 1987.

(3)読取り専用データのキャッシング:これによれば
少なくとも現行の時間の枠内には1プロセッサ当り高々
1回のアクセスが生じるので、共用コード及び定数がホ
ット・スポットを生じるのが防止される。勿論、このよ
うなデータはキャッシュ可能とは指定されていないが、
本発明の管理アーキテクチュアがホット・スポットを生
じるのを防止する。
(3) Caching of read-only data: This prevents shared code and constants from creating hot spots since at most one access per processor occurs, at least within the current time frame. Of course, such data is not specified as cacheable, but
The management architecture of the present invention prevents the creation of hot spots.

上述の3つの機能は上述のRP3として知られている大
型メモリ・マルチプロセッサ構造中に組込まれている。
The three functions described above are incorporated into the large memory multiprocessor structure known as RP3 mentioned above.

E2.一般的説明 次に本発明の相互接続ネットワーク管理アーキテクチュ
アを一般的な機能的用語で説明する。基本のアーキテク
チュアに必要とされるハードウェアは次のように要約で
きる。
E2. General Description The interconnection network management architecture of the present invention will now be described in general functional terms. The hardware required for the basic architecture can be summarized as follows.

ホット・スポット検出装置:この装置は特定のメモリ・
モジュールのすべてのメモリ参照をモニタする。各メモ
リ・モジュールにはこのような検出装置が与えられてい
る。この装置は最新にアクセスした、メモリ中の物理的
アドレスを表にするカウンタを有する。この検出装置は
キャッシュ・ディレクトリ中で通常使用されているよう
な連想メモリを必要とする(セット連想性はあってもな
くてもよい)。アクセスの総数はメモリ・サイクルの時
間ウィンドー、たとえば1000−10000サイクル
にわたって検出装置によって作表される。しかしながら
、この数値はシステム設計者の指定によって変更できる
。任意の1つのアドレスへの参照が十分頻繁でホット・
スポットを形成する時は、ホット・スポット検出装置が
ホット・スポット通知バスを活性化して、以下説明する
ように、すべての転向装置に通知する。
Hot Spot Detection Device: This device detects certain memory
Monitor all memory references in a module. Each memory module is provided with such a detection device. The device has a counter that lists the most recently accessed physical address in memory. This detection device requires associative memory (with or without set associativity), such as is commonly used in cache directories. The total number of accesses is tabulated by the detection device over a time window of memory cycles, for example 1000-10000 cycles. However, this value can be changed as specified by the system designer. References to any one address are sufficiently frequent and hot
When a spot is formed, the hot spot detection device activates the hot spot notification bus to notify all diversion devices, as described below.

上述のように、ホット・スポットが存在するとみなされ
る特定の闇値は変更でき、所与のシステムについて実験
的は決定される。しかしながら特定の闇値が本発明のア
ーキテクチュア全体に制限を加えることはない。それは
闇値は本質的にシステムに与えられるカウントであって
、このカウントに対してホット・スポットのテストが繰
返しなされるものであるからである。
As mentioned above, the particular darkness value at which a hot spot is considered to exist can vary and is determined empirically for a given system. However, the particular darkness value does not limit the overall architecture of the present invention. This is because the dark value is essentially a count given to the system against which the hot spot test is repeated.

ホット・スポット通知バスの制御を獲得した後、検出装
置はそのアドレスを各プロセッサに関連するすべての転
向装置に同時に通報する。これ等の転向装置は、連想メ
モリであることが好ましい、ホット・スポット索引(ル
ックアサイド)バッファとして示すメモリ装置を有する
。すでにホット・スポットとして指定されているメモリ
の位置は、集中的アクセスが止る迄ホット・スポットと
して繰返し再指定される(残される)。前に指定された
ホット・スポットをそれとして再指定するための闇値は
、最初に決定した闇値よりも低くてもよい。それはトラ
フィックが組合せネットワークに転向されると、ネット
ワーク中のメツセージの組合せによって、メモリのホッ
ト・スポット・アクセスが少なくなるからであく。しか
しながら、再指定するかしないかはシステムの設計者の
選択事項であるので、−度指定された特定のホット・ス
ポットのための闇値を再指定するためのアーキテクチュ
アについては本実施例では具体的に開示しない。しかし
ながらこの機能基2段階闇値を使用し、第2の低い闇値
を前に指定したホット・スポットのために使用すること
によって容易に達成できる。この機能はたとえば各検出
装置に関連するホット・スポット・メモリ中に追加のビ
ットを与えることによって達成できる。
After gaining control of the hot spot notification bus, the detection device simultaneously reports its address to all diverting devices associated with each processor. These turning devices have a memory device designated as a hot spot lookaside buffer, preferably an associative memory. Memory locations already designated as hot spots are repeatedly re-designated (remained) as hot spots until intensive accesses cease. The darkness value for re-designating a previously designated hot spot as such may be lower than the originally determined darkness value. This is because when traffic is diverted to a combinational network, there are fewer memory hot spot accesses due to the combination of messages in the network. However, since whether or not to re-specify is a matter of choice of the system designer, the architecture for re-specifying the dark value for a particular hot spot that has been specified by − degrees is not specifically described in this example. will not be disclosed. However, this functional group can easily be achieved by using a two-level darkness value and using a second, lower darkness value for the previously designated hot spot. This functionality can be accomplished, for example, by providing additional bits in the hot spot memory associated with each detection device.

システムの次に重要な機能素子はホット・スポット通知
バス即ちホット・スポット通知装置である。このバスは
すべてのホット・スポット検出装置がすべての転向装置
、と通信手段を与え、従って転向装置の中のホット・ス
ポット索引バッファと通信するための手段を与える。す
べてのホット・スポット検出装置はバス上にメツセージ
を転送することができ、各転向装置のすべてのホット・
スポット索引バッファはバスによって送られて来るメツ
セージによって制御される。このバスへのアクセスは公
正な機構、たとえばラウンド・ロビン優先順位機構中で
決定され、各ホット・スポット検出装置がバス上にそれ
自身の割り当て期間の制御を周期的に獲得する。バスの
帯域幅はすべてのこのようなメツセージを処理するに十
分でなければならない。バスのサイクルがメモリのサイ
クル時間と同程度のものであるならば、このような直列
通信の帯域幅は数千の独立したメモリ・モジュールを含
むシステムに適していると考えられる。
The next important functional element of the system is the hot spot notification bus or hot spot notification device. This bus provides a means for all hot spot detection devices to communicate with all diverting devices, and thus with the hot spot index buffers in the diverting devices. All hot spot detection devices can forward messages onto the bus, and all hot spot detection devices on each
The spot index buffer is controlled by messages sent over the bus. Access to this bus is determined in a fair mechanism, such as a round robin priority mechanism, with each hot spot detection device periodically gaining control of its own allocation period on the bus. Bus bandwidth must be sufficient to handle all such messages. If bus cycles are comparable to memory cycle times, such serial communication bandwidth may be suitable for systems containing thousands of independent memory modules.

バスは1つの物理的アドレスと制御及びエラー検出の解
決に必要な情報を転送するに十分広くなくてはならない
。ホット・スポット検出装置から転向装置への他の通信
手段も使用できる。すべてのメツセージは同時に、転向
装置に到達する必要はない。この通信には、たとえばト
ークン通過リングが適しているであろう。この通信手段
は設計上の選択事項であり、ハードウェアのこの特定の
小部分にどれだけ投資したいかという配慮及びシステム
の他の部分の速度によって判断されることは明らかであ
ろう。
The bus must be wide enough to transfer one physical address and the information necessary to resolve control and error detection. Other means of communication from the hot spot detection device to the diversion device may also be used. It is not necessary that all messages reach the diverter at the same time. For example, a token passing ring would be suitable for this communication. It will be clear that this means of communication is a design choice, determined by considerations of how much one wants to invest in this particular piece of hardware and the speed of the other parts of the system.

本発明の最後の主な機能素子は、各々ホット・スポット
索引バッファを有する転向装置である。
The last major functional element of the invention is the diversion devices, each having a hot spot lookup buffer.

転向装置はシステムの種々のプロセッサとネットワーク
の入力ボート間に存在する。転向装置はシステムの変換
された(物理的)アドレスにアクセスすることが必要で
あり、従ってメモリ・マツピング機能の後に位置付けら
れる。ホット・スポット索引バッファは、システム中で
現在ホット・スポットとして指定されているすべての物
理的アドレスの索引テーブルを含んでいる。ホット・ス
ポット索引バッファのすべては全く同じリストを保持し
て、完全にホット・スポット通知の制御の下で動作する
。ホット・スポット・アドレスが指定されると、このア
ドレスはバッファの現在の内容と比較される。もしこの
アドレスが既に指定されたものであった時には、時間の
刻印が更新され、ホット・スポットの状態の最新の表示
がなされる。
Diverting devices exist between the various processors of the system and the input ports of the network. The translation device needs access to the translated (physical) addresses of the system and is therefore located after the memory mapping function. The hot spot index buffer contains an index table of all physical addresses currently designated as hot spots in the system. All of the Hot Spot index buffers maintain exactly the same list and operate entirely under the control of Hot Spot Notification. Once a hot spot address is specified, this address is compared to the current contents of the buffer. If this address has already been specified, the time stamp is updated to give an up-to-date indication of the hot spot status.

後に明らかになるように、この時間の刻印はホット・ス
ポット索引バッファの置換アルゴリズムに使用される。
As will become clear later, this time stamp is used in the hot spot index buffer replacement algorithm.

もしこのアドレスが前に指定されたものでない時には、
最も古い時間の刻印を有する項目が削除され、現在のア
ドレスによって置換される。
If this address is not the one previously specified, then
The item with the oldest time stamp is deleted and replaced by the current address.

これ迄の説明はホット・スポット索引バッファが完全な
連想メモリより成るものと仮定していた。
The previous discussion has assumed that the hot spot index buffer consists of a fully associative memory.

これに代って、もし2重もしくは4重連想索引が使用さ
れるならば、同じ合同クラス内の最も古い項目が新らし
いホット・スポット・アドレスによって置換される。各
ホット・スポット索引バッファでは同じ置換アルゴリズ
ムが使用されるので、これ等は未解決のアドレスの同じ
リストを保持している。索引バッファが更新されるのと
同時に、プロセッサのノードで「フェンス」動作が開始
し、すべての未解決のメモリ要求が解決される迄、この
ノードからの次のメモリ参照が遅延される。システムが
各プロセッサのノードにキャッシュが存在するように設
計されている場合には、フェンスはキャッシュ可能でな
い参照にだけ適用する。フェンス動作は索引バッファに
アドレスが加除される時のみ必要である。もしホット・
スポット・アドレスが既に指定されている時にはフェン
スの要はなく、その後のホット・スポットへの参照には
フェンスの要はない。多くのアーキテクチュアでは、任
意の一時刻には唯1つの参照の保留が許されているので
フェンス機能は必要とされない。各転向装置内のホット
・スポット索引バッファの機能は、メモリ・マツピング
装置によって発生される各変換アドレスとバッファ中の
アドレスを比較することである。すべての一致したアド
レスは高競合ネットワークへ転向される。他の参照は低
待ち時間ネットワークに進められる。索引は時間の刻印
の更新と並列に進行するが、ホット・スポット索引バッ
ファの項目が置換されている時には、バッファの通常の
索引動作は保留しなければならない。システムの設計を
考えて、異なるセット値で実験した後に、セットしなけ
ればならない多くの変数が本発明にはある。不適切なセ
ット値は過当なバスの競合もしくはホット・スポットの
非効率的な選択を生じる。これ等の変数には次のものが
含まれる。
Alternatively, if a double or quadruple associative index is used, the oldest entry within the same congruence class is replaced by the new hot spot address. Since each hot spot lookup buffer uses the same replacement algorithm, they maintain the same list of unresolved addresses. At the same time that the index buffer is updated, a "fencing" operation is initiated at the processor's node, delaying the next memory reference from this node until all outstanding memory requests are resolved. If the system is designed so that there is a cache on each processor node, then fences only apply to non-cacheable references. Fencing is only necessary when addresses are added to or subtracted from the index buffer. If hot
There is no need for fencing when the spot address has already been specified, and subsequent references to the hot spot do not need fencing. In many architectures, fencing is not required because only one reference is allowed to be pending at any given time. The function of the hot spot look-up buffer within each conversion device is to compare each translation address generated by the memory mapping device with the address in the buffer. All matching addresses are diverted to high contention networks. Other references are forwarded to the low latency network. The index proceeds in parallel with the time stamp update, but normal indexing operations of the buffer must be suspended when entries in the hot spot index buffer are being replaced. There are many variables in the present invention that must be set after considering the system design and experimenting with different set values. Improper set values result in excessive bus contention or inefficient selection of hot spots. These variables include:

(1)ホット・スポット検出装置によってホット・スポ
ットを検出するために使用される時間ウィンドー (2)ホット・スポットとして指定するために必要な闇
値即ち参照数 (3)ホット・スポット索引バッファ、同じくホット・
スポット検出装置のアドレス・バッファの寸法、たとえ
ば項目の数。
(1) the time window used to detect the hot spot by the hot spot detection device; (2) the dark value or number of references needed to designate it as a hot spot; and (3) the hot spot index buffer, also hot·
Dimensions of the spot detection device's address buffer, e.g. number of entries.

E3.好ましい実施例 第2図は適切な相互接続ネットワークによって複数のメ
モリ・ユニットMo−Mqに選択的に接続可能な複数の
プロセッサPo−Pnを有する従来技術のマルチプロセ
ッサ・システムのレイアウト全体を示す。上述のように
、この相互接続ネットワークは簡単な交差点スイッチ・
ネットワークもしくは複雑な組合せネットワークのいず
れでもよい。この両方ともすでに一般に知られているも
のである。プロセッサの数及び個別にアドレス可能なメ
モリ・モジュールの数は同じでも、同じでなくても、即
ちn≠qでもよい。このような相互接続ネットワークの
欠点は、明らかにネットワーク自体の複雑さもしくは精
緻さにある。
E3. Preferred Embodiment FIG. 2 shows the overall layout of a prior art multiprocessor system having a plurality of processors Po-Pn selectively connectable to a plurality of memory units Mo-Mq by a suitable interconnection network. As mentioned above, this interconnection network consists of a simple intersection switch
It may be either a network or a complex combinatorial network. Both of these are already generally known. The number of processors and the number of individually addressable memory modules may or may not be the same, ie n≠q. The drawback of such interconnection networks is clearly the complexity or sophistication of the network itself.

第3図は第2図と類似の図面であるが、個々のプロセッ
サPo−Pnを個々のメモリ・モジュールMo−Mnに
選択的に接続するための2つの可能な相互接続ネットワ
ークを示している。このネットワークは上述の論文「ホ
ット・スポット競合及び多段相互接続ネットワーク中で
の組合せ」に述べられている種類の相互接続ネットワー
クMi織である。ここでネットワーク1はたとえば低待
ち時間ネットワークであり、ネットワーク2はたとえば
かなりより複雑な組合せネットワークである。
FIG. 3 is a drawing similar to FIG. 2, but showing two possible interconnection networks for selectively connecting individual processors Po-Pn to individual memory modules Mo-Mn. This network is an interconnection network of the type described in the above-mentioned article "Hot Spot Contention and Combination in Multi-Stage Interconnection Networks". Network 1 here is, for example, a low-latency network, and network 2 is, for example, a much more complex combinatorial network.

第3図のブロック図は個々のメモリ・アクセスがネット
ワークlを経て行われるか、ネットワーク2を経て行わ
れるかについての判断を行う機構について具体的に示し
ていない。このネットワーク図全体は従来技術のネット
ワークもしくは本発明に等しく適用されるものである。
The block diagram of FIG. 3 does not specifically show a mechanism for determining whether an individual memory access is to be performed via network 1 or network 2. This entire network diagram applies equally to prior art networks or to the present invention.

本発明の著しい特徴は勿論、メツセージをネットワーク
1もしくはネットワーク2のいずれに転向させるかの判
断がある予じめ定められた、一定のスタチックなベース
(たとえばコンパイラ中で実行されるソフトウェア方法
)でなくダイナミックに行われる特定のアーキテクチュ
アにある。本発明はネットワークの経路指定をシステム
中で見られる具体的な問題のダイナミックな要因に基づ
いて行うダイナミックな相互接続ネットワーク管理アー
キテクチュアを与える。上述のように、単にホット・ス
ポット検出サイクルのための時間の枠、ホット・スポッ
トの参照闇値もしくはホット・スポット索引バッファ及
びホット・スポット検出装置のアドレス・バッファの実
際の寸法を変ることによってスイッチング闇値の数を変
更することは比較的容易である。
A significant feature of the present invention is, of course, that the decision to route a message to network 1 or network 2 is not made on a predetermined, fixed, static basis (e.g., by a software method implemented in a compiler). It is in a specific architecture that is done dynamically. The present invention provides a dynamic interconnection network management architecture that bases network routing on dynamic factors of specific problems encountered in the system. As mentioned above, switching simply by varying the time window for the hot spot detection cycle, the hot spot reference value or the actual dimensions of the hot spot index buffer and address buffer of the hot spot detection device. Changing the number of darkness values is relatively easy.

本発明の相互接続ネットワーク管理アーキテクチュアの
組織全体を第1図に示す。第1図には本発明の3つの主
要基本機能ユニットが明確に示されている。これ等のユ
ニットは転向装置10、ホット・スポット検出装置12
及びホット・スポット通知装置即ち通知バス14である
。夫々低待ち時間ネットワーク及び組合せネットワーク
である2つのネットワーク16及び18が概略的に示さ
れているが、これ等のネットワークの機能は転向装置の
制御を適切に変更することによって容易に逆にできるこ
とは明らかであろう。n+1個のプロセッサは別個の転
向装置10を有することも明らかであろう。同じ(q+
1個のメモリ・モジュールの各々はそれ自身の専用検出
装置12を有する。勿論すべての検出装置とすべての転
向装置を相互接続するのに単一の通知バスが使用される
The overall organization of the interconnection network management architecture of the present invention is shown in FIG. FIG. 1 clearly shows the three main basic functional units of the invention. These units include a turning device 10 and a hot spot detection device 12.
and a hot spot notification device or notification bus 14. Although two networks 16 and 18 are shown schematically, being a low latency network and a combinatorial network respectively, it should be noted that the functionality of these networks can easily be reversed by appropriate changes in the control of the diverter. It should be obvious. It will also be clear that the n+1 processors have separate turning devices 10. Same (q+
Each memory module has its own dedicated detection device 12. Of course, a single notification bus is used to interconnect all sensing devices and all diverting devices.

同じく、すべての転向装置及び検出装置は選択的に2つ
のネットワーク16及び18に接続可能である。第1図
中に示したように、検出装置12の詳細は第4図(a)
に、転向装置10の詳細は第6図(a)に示されている
All deflection and detection devices can also be selectively connected to the two networks 16 and 18. As shown in FIG. 1, the details of the detection device 12 are shown in FIG. 4(a).
The details of the turning device 10 are shown in FIG. 6(a).

第1図に関連して、本発明のシステムの動作全体を簡単
に繰返すと、検出装置の機能は、この検出装置によって
受取られる各新らしいメモリ・アドレスを連続してモニ
タして、このアドレスがホット・スポットであるかどう
かを判断する。検出装置中のハードウェアが使用される
基準に従ってホット・スポットが存在すると判断すると
、メツセージが通知バスを介して検出装置がすべての転
向装置に送られ、それ等のホット・スポット索引バッフ
ァが新らしいホット・スポット情報で適切に更新される
。情報が転向装置によって受取られ、ホット・スポット
索引バッファが適切に更新されると、転向装置の1つが
転向装置のための通信装置として働き(それは転向装置
が同じであり、同じ情報を含むからである)、検出装置
のすべてに特定のホット・スポットが除去されつつある
ことが通知される。以下明らかにされるように、この動
作は適切な置換アルゴリズムをもとにして行われ、ホッ
ト・スポットから除去されつつある特定のアドレスは通
知バスを介して、そのホット・スポットをセット・アッ
プした特定の検出装置に戻されて、このホット・スポッ
トは検出装置中のホット・スポット・メモリ・アレイか
ら効果的に除去される。明らかに、特定のアドレスが関
与するので、検出装置の1つだけがこのアドレスによっ
て影響を受ける。即ち検出装置はこのアドレスによって
指示されたメモリ・ブロックもしくはモジュールを参照
する。
Briefly repeating the overall operation of the system of the present invention with reference to FIG. 1, the function of the detection device is to continuously monitor each new memory address received by the detection device so that Determine if it is a hot spot. When the hardware in the detection device determines that a hot spot exists according to the criteria used, a message is sent via the notification bus to all turning devices whose hot spot index buffers are new. Updated appropriately with hot spot information. Once the information is received by the diverters and the hot spot index buffer is updated appropriately, one of the diverters acts as a communication device for the diverters (because the diverters are the same and contain the same information). ), all of the detection devices are notified that a particular hot spot is being removed. As will be made clear below, this operation is done based on a suitable replacement algorithm such that the particular address being removed from the hot spot has set up the hot spot via the notification bus. Returned to the particular detection device, this hot spot is effectively removed from the hot spot memory array in the detection device. Obviously, since a specific address is involved, only one of the detection devices will be affected by this address. That is, the detection device refers to the memory block or module pointed to by this address.

第4表(A)は、第1図に示した検出装置12の1つの
中間レベルの機能ブロック図である。すべての検出装置
はハードウェアの構成要素に関しては、同じであるが、
勿論データの内容については異なっている。検出装置の
主要機能素子は、アドレス比較ブロック20、ホット・
スポット・アドレス・メモリ22、闇値カウント比較ブ
ロック24及びホット・スポット・アドレス・メモリの
位置のすべてを、状態H=1(ホット・スポットである
)及びC=0(通知未完了)を求めて周期的に走査する
比較ブロック26である。ブロック20.24及び26
によって遂行される比較機能のすべてはホット・スポッ
ト・アドレス・メモリ22の内容に関して遂行されるこ
とは明らかであろう。
Table 4(A) is a mid-level functional block diagram of one of the detection devices 12 shown in FIG. All detection devices are the same in terms of hardware components;
Of course, the content of the data is different. The main functional elements of the detection device are the address comparison block 20, the hot
The locations of the spot address memory 22, the dark value count comparison block 24, and the hot spot address memory are all determined for states H=1 (hot spot) and C=0 (notification not completed). A comparison block 26 is periodically scanned. Blocks 20.24 and 26
It will be clear that all of the comparison functions performed by are performed with respect to the contents of hot spot address memory 22.

第4図(A)では遂行される機能及びこれ等の機能素子
の各々が関連するホット・スポット・アドレス・メモリ
の一般的領域に従ってデータ線及び制御線だけが示され
ている。従って、アドレス比較ブロック20は現在受取
ったアドレスをホット・スポット・アドレス・メモリの
内容全体と比較し、従ってこのような連想メモリ中のメ
モリ・アドレスを調べる働きを有する。
In FIG. 4A, only data and control lines are shown according to the functions performed and the general area of the hot spot address memory with which each of these functional elements is associated. The address comparison block 20 therefore serves to compare the currently received address with the entire contents of the hot spot address memory and thus examine the memory address in such an associative memory.

アドレス比較ブロック20中で成功裡に一致がみられる
と、闇値カウント比較ブロック24はカウント(CT)
フィールドを調べて、ホット・スポット闇値に到達した
かどうかを判断する。ブロック20と24間の破線は、
以下明らかにされるようにホット・スポット・アドレス
・メモリ中でアドレスが一致した時にブロック24が動
作されるだけであることを示している。明らかに、特定
の比較に使用される実際の闇値は固定され、システム設
計者によって決定されるが、他方ブロック20中で比較
される特定のアドレスはメモリMj内で要求されつつあ
る現在のアドレスに従って異なっている。
If a successful match is found in the address comparison block 20, the dark value count comparison block 24 counts (CT)
Examine the field to determine if a hot spot darkness value has been reached. The dashed line between blocks 20 and 24 is
It is shown that block 24 is only activated when there is an address match in the hot spot address memory, as will be seen below. Obviously, the actual value used for a particular comparison is fixed and determined by the system designer, while the particular address being compared in block 20 is the current address being requested in memory Mj. They are different according to.

他方、ブロック26はそれ自身の別個のシステム・クロ
ックの下に動作し、以下説明するように条件H=1、C
=0を求めてホット・スポット・アドレス・メモリのH
及びCフィールドを連続的に走査する。ホット・スポッ
ト・アドレス・メモリがすべてのフィールドにわたって
完全に連想式であると仮想すると、この走査動作も連想
ベースで行われ、探索規準が満足された時に、ホット・
スポット・アドレスを含むホット・スポット・アドレス
・メモリ中の特定の行がアクセスされ、アドレス・メモ
リから読出されて、通知バス上に置かれる。
Block 26, on the other hand, operates under its own separate system clock and operates under conditions H=1, C
H in the hot spot address memory to find = 0
and C field are continuously scanned. Assuming that the hot spot address memory is fully associative across all fields, this scanning operation is also done on an associative basis and when the search criteria are satisfied, the hot spot address memory is fully associative across all fields.
A particular row in the hot spot address memory containing the spot address is accessed, read from the address memory, and placed on the notification bus.

ホット・スポット・アドレス・メモリのための特定の引
数、及びアドレス・バッファは図示されていないが、そ
れはこのようなメモリは良く知られていて、多くの形態
をなすことができるからである。同じくブロック20.
24及び26のための特定のゲート回路及びレジスタは
示されていないが、それはこれ等の機能を具体化するた
めのハードウェア回路がコンピュータ・システムの設計
者にとって明らかであり、詳細の細かいレベルを示すこ
とは本発明の説明を混乱させるからである。
Specific arguments for hot spot address memory and address buffers are not shown because such memory is well known and can take many forms. Similarly block 20.
Although the specific gate circuits and registers for 24 and 26 are not shown, it is likely that the hardware circuitry for embodying these functions will be obvious to the computer system designer and the fine level of detail will be appreciated. This is because it would confuse the description of the present invention.

第4図(A)のハードウェアの動作を適切に順序付ける
のに使用される制御機構は、代表的には関連するデコー
ダ及び論理回路を有する1もしくはそれ以上の読取り専
用のメモリであり、これ等は以下説明する第4図(B)
、(C)及び(D)の流れ図を参照して容易に設計でき
るであろう。
The control mechanism used to properly order the operations of the hardware of FIG. 4A is typically one or more read-only memories with associated decoders and logic circuitry; etc., as shown in Figure 4 (B), which will be explained below.
, (C) and (D).

第1表は本発明とともに使用するに適した代表的なホッ
ト・スポット・アドレス・メモリの代表的な様式を示す
Table 1 shows typical formats of typical hot spot address memories suitable for use with the present invention.

第1表 ホット・スポット・アドレス・メモリへの各アクセスは
アドレス・フィールド中に記憶されているアドレスによ
って決定される。フィールドには他に参照カウント、ホ
ット・スポット・フィールド(H)及び通信完了フィー
ルド(C)がある。
Table 1 Hot Spot Address Each access to memory is determined by the address stored in the address field. Other fields include a reference count, a hot spot field (H), and a communication completion field (C).

任意選択事項として示された時間の刻印フィールドも示
されている。このフィールドのための機能的制御素子は
示されていないが、それはシステムの設計者がこの機能
を含ませることが任意であるからである。すべての時間
の刻印の現在のセット値をある現在の値と比較する機能
は簡単である。
An optional time stamp field is also shown. The functional control element for this field is not shown since it is optional for the system designer to include this functionality. The ability to compare the current set value of all time stamps to some current value is simple.

もしホット・スポット・アドレス・メモリ中の特定の項
目がある予定の期間内にインクレメントされなかった場
合には、その参照カウントは0にリセットされる。
If a particular item in hot spot address memory is not incremented within a scheduled period of time, its reference count is reset to zero.

従って参照カウントがかなり長い期間ホット・ストツボ
ット・ステータスに到達しないと、このことはある情況
の下ではシステムのパホーマンスを改良する。それは現
在活性化されているホット・スポットだけが転向装置の
ホット・スポット・リスト中に置かれるからである。
Therefore, if the reference count does not reach hot stock status for a significant period of time, this may improve the performance of the system under certain circumstances. This is because only currently activated hot spots are placed in the converter's hot spot list.

時刻の刻印は、新らしいアドレスのための余地を作るた
めに特定のホット・スポット・アドレスを除去しなけれ
ばならない時に使用する追加の基準として、検出装置の
置換アルゴリズムによっても使用される。このアドレス
・メモリ内のアドレス・フィールドはメモリのアドレス
を識別するのに必要な程大きい。参照カウントはこのカ
ウンタをリセットする前に遭遇する最高のカウントの大
きさを表わすために、システムの設計者がみて必要とさ
れるだけのビット数を有する。時間の刻印は、参照カウ
ントと同じく、システムの時間クロックの現在の設定値
を表わすのに必要なだけ多くのビットを有する。ホット
・スポット・フィールド(I()及び通知完了フィール
ド(C)は勿論現在の実施例では1ビツトだけでよい。
The time stamp is also used by the detector's replacement algorithm as an additional criterion to use when a particular hot spot address must be removed to make room for a new address. The address field within this address memory is large enough to identify the address of the memory. The reference count has as many bits as needed by the system designer to represent the highest count magnitude encountered before resetting the counter. The time stamp, like the reference count, has as many bits as necessary to represent the current setting of the system's time clock. The hot spot field (I()) and notification completion field (C), of course, only require one bit in the current embodiment.

第4図(B)はアドレスが特定のメモリ・モジュールに
提示される通常のメモリ・アドレス手順内に生じる動作
の流れ図を示す。アドレスは先ず検出装置、具体的には
適切なレジスタ中に現在のメモリ・アドレスを記憶する
機能ブロック20に渡され、次にこの要求がメモリに渡
されなくてはならない。この動作はブロック10中で生
じる。
FIG. 4B shows a flowchart of the operations that occur during a normal memory address procedure in which an address is presented to a particular memory module. The address must first be passed to a detection device, specifically a functional block 20 which stores the current memory address in the appropriate register, and then this request must be passed to memory. This operation occurs in block 10.

ブロック12において、現在のアドレスが現在ホット・
スポット・メモリ22中にある任意のアドレスと一致す
るかどうかについての判断が行われる。この機能は比較
ブロック20中において遂行され、連想ホット・スポッ
ト・アドレス・メモリ22中のすべての項目に対してア
ドレス引数を順次照合しなくてはならない。もし一致が
見出されると、手順はブロック14に続く。もし一致が
見出されないと、手順はブロック22へと分岐する。
At block 12, the current address is currently hot.
A determination is made as to whether there is a match with any address in spot memory 22. This function is performed in compare block 20, which must sequentially match the address argument against all entries in associative hot spot address memory 22. If a match is found, the procedure continues at block 14. If no match is found, the procedure branches to block 22.

一致が見出されたものとすると、ブロック14はホット
・スポット・アドレス・メモリ中の一致したアドレスに
関連する参照カウント(CT)がインクレメントされ、
手順はブロック16に続く。
Assuming a match is found, block 14 increments the reference count (CT) associated with the matched address in the hot spot address memory;
The procedure continues at block 16.

ブロック16中で、現在の参照カウントの大きさが比較
ブロック24中で闇値と比較され、ホット・スポットの
闇値にまだ達していないかどうかが判断される。もし達
していなければ、この手順は完了し、さらに何も行われ
る必要はない。もし参照カウントが闇値よりも大きいと
、シーケンスは現在のホット・スポットHのセット値が
1に等しいかどうかを判断するブロック18に進む。H
−1はこの特定のアドレスが既に指定されているホット
・スポットであることを意味しているので、これ以上動
作は行われず、この手順はYESの出力線を介して終了
する。もしHフィールドが現在lに等しくなければ、手
順は適切なHフィールドを1にセットし、通知完了フィ
ールド(C)がOにセットされていることを確めるブロ
ック20に続く。これ等の動作が完了すると、手順は終
了する。
In block 16, the current reference count magnitude is compared to the dark value in comparison block 24 to determine if the hot spot dark value has not yet been reached. If not, the procedure is complete and nothing further needs to be done. If the reference count is greater than the dark value, the sequence proceeds to block 18 which determines whether the current hot spot H set value is equal to one. H
Since the -1 means that this particular address is already a designated hot spot, no further action is taken and the procedure ends via the YES output line. If the H field is not currently equal to l, the procedure continues at block 20 with setting the appropriate H field to one and ensuring that the notification complete field (C) is set to O. Once these operations are complete, the procedure ends.

ブロック12中のテストでブロック22への分岐が生じ
たものと仮定すると、このことは新らしいアドレスがホ
ット・スポット・アドレス・メモリ中に入力されなけれ
ばならないことを意味する。
Assuming that the test in block 12 resulted in a branch to block 22, this means that a new address must be entered into the hot spot address memory.

ブロック22によって置換手順が開始され、これによっ
てホット・スポット・アドレス・メモリ中の現在使用中
の行の1つが除去され、新らしいアドレスによって置換
される。任意の適切な置換アルゴリズムがこの動作に使
用できる。たとえば置換の基準としては、最も古く使用
されたもの、参照カウントが一番小さいもの等が含まれ
る。このような置換アドレスはこの分野で一般に知られ
ているので詳細には説明しない。又本発明の概念全体は
使用される特定の置換アルゴリズムによって制限される
ことはない。
A replacement procedure is initiated by block 22, whereby one of the currently used rows in the hot spot address memory is removed and replaced by a new address. Any suitable replacement algorithm can be used for this operation. For example, criteria for replacement include the oldest used, the one with the lowest reference count, etc. Such replacement addresses are generally known in the art and will not be described in detail. Also, the overall concept of the invention is not limited by the particular replacement algorithm used.

ホット・スポット・アドレス・メモリ中にスロットが見
出されると、ブロック24中でシステムの制御装置がア
ドレスを記入し、参照カウント・フィールドCTを0に
セットし、H及びCフィールドを0にセットし、時間の
刻印を(使用する時は)システム・クロックの現在のセ
ット値にセットする。ここでアクセスが手順が終了する
If a slot is found in the hot spot address memory, the system controller in block 24 fills in the address, sets the reference count field CT to zero, sets the H and C fields to zero, Sets the time stamp (if used) to the current set value of the system clock. The access procedure ends here.

第4図(B)の手順は、第4図(C)の実際のホット・
スポット走査手順及び第4図(D)の終了手順とは独立
して動作することは明らかであろう。要約すると、第4
図(B)の手順は要求されたアドレスのレコードを保持
し、アドレスがどの程度しばしば要求されて、ホット・
スポットになったかを判断することによって、メモリ・
アスセスもしくはホット・スポットの統計的データを保
持する。
The procedure in Figure 4(B) is the actual hot
It will be clear that the spot scanning procedure and the termination procedure of FIG. 4(D) operate independently. In summary, the fourth
The procedure in Figure (B) keeps a record of requested addresses and how often an address is requested and whether it is hot or
By determining whether the memory
Maintain statistical data on access or hot spots.

この統計的データがどのようにして転向装置に通知する
のに使用されるかは、第4図(C)のホット・スポット
走査手順に示されている。ブロック10はこの手順の開
始を暗に示し、この手順が各メモリ・サイクル毎に生ず
ることが記されている。この手順は実際にはメモリ・ア
クセス手順と独立に行われるが、その動作はホット・ス
ポット・アドレス・メモリを連続して走査し、Hフィー
ルド及びCフィールドを調べるので、この引数は基本的
な連想探索に加える方が便利である。しかしながら、ア
ドレスの突合せがホット・スポット・アドレス・メモリ
のアクセス手順の連続性と干渉せず、H及びCフィール
ドの突合せがメモリ・アクセス手順と独立してホット・
スポット走査手順が連続して行われるように制御方法が
設定される。しかしながら、機能的には走査手順は別個
のクロックによって駆動できるが、走査はメモリ・アク
セス手順が実効のない時に行わなければならない。しか
しながらこの独立性はシステム設計者の設計の選択事項
であり、本発明の原理に著しい影響を与えるものではな
い。
How this statistical data is used to inform the diverter is shown in the hot spot scanning procedure of FIG. 4(C). Block 10 implies the beginning of this procedure, and it is noted that this procedure occurs every memory cycle. This procedure is actually independent of the memory access procedure, but since its operation continuously scans the hot spot address memory and examines the H and C fields, this argument is a basic associative It is more convenient to add it to the search. However, the address matching does not interfere with the continuity of the hot spot address memory access procedure, and the H and C field matching does not interfere with the hot spot address memory access procedure.
The control method is set up so that the spot scanning procedure is carried out continuously. However, although functionally the scan procedure can be driven by a separate clock, the scan must occur when the memory access procedure is not in effect. However, this independence is a design choice of the system designer and does not significantly affect the principles of the invention.

第4図(C)の説明を続ける。手順はブロック10で開
始している。最初の動作はブロック12で開始され、こ
こで第4図(A)の比較装置26がフィールドH=1及
びC=0を有する最初の項目を求めて連想メモリを走査
する。
The explanation of FIG. 4(C) will be continued. The procedure begins at block 10. The first operation begins at block 12, where comparator 26 of FIG. 4A scans the content addressable memory for the first entry having fields H=1 and C=0.

ブロック12中で探索動作が完了し、最初の検出された
が、未通知のホット・スポットが見付かると、手順はブ
ロック14に続く。ブロック14で、通知機能が通知バ
ス上に開始され、新らしく検出されたホット・スポット
・アドレスが次の利用可能なバス・サイクルですべての
転向装置に転送される。この時点で、ホット・スポット
走査手順は待機状態に進み、特定の転向装置から返答が
受取られる迄この状態に留まる。この特定の転向装置は
、ホット・スポット索引バッファから取除かれた特定の
ホット・スポットについてすべての検出装置に通知する
ように指定されたものである。
Once the search operation is completed in block 12 and the first detected but unannounced hot spot is found, the procedure continues to block 14. At block 14, a notification function is initiated on the notification bus and the newly detected hot spot address is transferred to all diverting devices on the next available bus cycle. At this point, the hot spot scanning procedure proceeds to a waiting state and remains in this state until a response is received from the particular diverter. This particular turning device is the one designated to notify all detection devices about a particular hot spot that has been removed from the hot spot index buffer.

この転向装置は通知バスを介して新らしいホット・スポ
ット・アドレスを送った検出装置に返答を送る。この返
答はホット・スポット走査手順のブロック16中で受取
られ、新らしいホット・スポットのアドレスのCフィー
ルドを1にセットする。
The redirecting device sends a reply via the notification bus to the detecting device that sent the new hot spot address. This reply is received in block 16 of the hot spot scanning procedure and sets the C field of the new hot spot's address to one.

このことは新らしいホット・スポットのための通知機能
が完了したことを意味する。通知機能の終了の結果、遂
行されなければならない他の機能は第4図(D)に示さ
れているが、この機能は検出装置のすべてに送られて影
ツを与える。
This means that the notification function for new hot spots is complete. Other functions that must be performed as a result of the termination of the notification function are shown in FIG. 4(D), which are sent to all of the detection devices to provide feedback.

第4図(E)の“終了手順′″は終了メツセージが通知
機能、具体的には通知用転向装置から受取られた時に呼
出される。このシーケーシスはブロック10で開始され
るものとして示されている。
The "termination procedure" in FIG. 4(E) is called when a termination message is received from the notification function, specifically from the notification conversion device. The sequence is shown starting at block 10.

再び第4図(A)を参照するに、終了メツセージは図の
通知バスの下の線を介して受取られるものとして示され
ている。終了メツセージによって、検出装置は終了メツ
セージを介して受取ったアドレスをホット・スポット・
アドレス・メモリのすべての項目と一致を求めてチエツ
クする。一致が見出されないと、手順はブロック12の
終りで終了する。もし一致が見出されると、手順はブロ
ック14に進み、この特定のアドレスのCフィールド及
びHフィールドがOにセットされる。この動作は現在ホ
ット・スポットであった特定のアドレスを効果的に除去
する。もしアドレスがホット・スポット・アドレス・メ
モリ中に見出されない時は、このことは新らしいアドレ
スがシステムに動作された時に検出装置自身の置換アル
ゴリズムによってこのアドレスが除去されていたことを
意味する。逆にアドレスが依然存在する時は、システム
はホット・スポットがより最新のホット・スポットによ
って置換されたために、このアドレスがもはやホット・
スポットとして指定されていないことを知らなければな
らない。この状態がホット・スポットとして再確立され
るためには、予定のホット・スポット闇値に達する迄に
所定の回数のアクセスがなされなくてはならない。
Referring again to FIG. 4A, the termination message is shown as being received via the bottom line of the notification bus in the figure. The termination message causes the detection device to assign the address received via the termination message to the hot spot.
Checks all entries in address memory for a match. If no match is found, the procedure ends at the end of block 12. If a match is found, the procedure proceeds to block 14, where the C and H fields for this particular address are set to O. This action effectively eliminates the particular address that was currently a hot spot. If an address is not found in the hot spot address memory, this means that this address has been removed by the detector's own replacement algorithm when a new address is operated on the system. Conversely, if the address still exists, the system indicates that this address is no longer a hot spot because the hot spot has been replaced by a more recent hot spot.
You must know that it is not designated as a spot. In order for this state to be re-established as a hot spot, a predetermined number of accesses must be made until the predetermined hot spot darkness value is reached.

第5図(A)を参照すると、通知バスの極めて高レベル
の組織図が示されている。バスはn+1個のプロセッサ
Pの各々に関連するn+1個の転向装置のすべてに、又
q+1個のメモリ・モジュールMの各々に関連するq+
1個の検出装置のすべてに接続されている。バスは検出
装置から転向装置ヘアドレス及び簡単な制御フィールド
を転送するだけでよい単なる両方向バスである。勿論、
アドレスはシステムによって指定されつつある新らしい
ホット・スポットを指定し、逆に指定された転向装置か
らすべての検出装置に転送されるアドレスは、特定のホ
ット・スポット・アドレスがすべてのホット・スポット
索引バッファから除去されたことを示す。メツセージ、
たとえば、アドレスはすべての検出装置に与えられるが
、このアドレスを含むメモリ・モジュールに関連する特
定の検出装置だけがこのメツセージに応答する(メツセ
ージによって影響がある)。上述のように、通知バスの
アーキテクチュアはトークン・リング・ラウンド・ロビ
ン等を含む多くの可能な様式をなすことができる。通知
バスの唯一つの条件は、検出装置がある規則正しい組織
化されたベースでバスにアクセスでき、長い期間にわた
ってホット・スポットがマークされないようなことがな
いことである。バスのアーキテクチュアにとっては、又
、バス・サイクル全体にわたって、新らしいホット・ス
ポット通知に応答しなければならない特定の転向装置特
定が新らしいホット・スポット・メツセージの転送に直
ちに続くサイクル中にバスにアクセスできることが必要
である。明らかに、この機構は転向装置のアーキテクチ
ュアに結合されなければならない。
Referring to FIG. 5A, a very high level organizational chart of the notification bus is shown. The bus connects all of the n+1 turning devices associated with each of the n+1 processors P and the q+ bus associated with each of the q+1 memory modules M.
All connected to one detection device. The bus is simply a two-way bus that only needs to transfer addresses and simple control fields from the sensing device to the diverting device. Of course,
The address specifies the new hot spot being designated by the system, and conversely, the address forwarded from the specified redirecting device to all detecting devices indicates that a particular hot spot address Indicates that it has been removed from the buffer. message,
For example, an address may be given to all sensing devices, but only the particular sensing device associated with the memory module containing this address will respond to (and be affected by) this message. As mentioned above, the architecture of the notification bus can take many possible forms, including Token Ring, Round Robin, and the like. The only condition for a notification bus is that the detection devices have access to the bus on an orderly and organized basis and that hot spots are not left unmarked for long periods of time. The architecture of the bus also requires that a particular turning device access the bus during the cycle immediately following the transfer of a new hot spot message, which must respond to new hot spot notifications throughout the bus cycle. It is necessary to be able to do it. Obviously, this mechanism must be coupled to the architecture of the deflection device.

第5図(B)は上述のことを繰返した極めて簡単な流れ
図である。この流れ図は通知バス手順と記され、唯2つ
のブロック10及び12より成る。
FIG. 5(B) is a very simple flowchart that repeats the above. This flowchart is labeled the notification bus procedure and consists of only two blocks 10 and 12.

ブロック10中に示されたとおり、−度ホット・スポッ
トが検出装置の1つの中に見出されると、検出装置は予
定のベースで通知バスの制御を行い、新らしいホット・
スポット・アドレスをすべての転向装置に送らなければ
ならない。
As shown in block 10, when a - degree hot spot is found in one of the detection devices, the detection device takes control of the notification bus on a scheduled basis and detects a new hot spot.
Spot addresses must be sent to all diverters.

この送信がなされると、直ぐ次のバス・サイクルで指定
された転向装置は、現在のホット・スポット・アドレス
がシステムから削除されつつある特定の検出装置に確認
のメツセージを戻さなければならない。検出装置の動作
のこれ迄の説明から明らかなように、ホット・スポット
はそのH及びCフィールドをOにリセットすることによ
って効果的に除去される(ブロック12)。勿論、この
動作はこのアドレスが特定の検出装置のホット・スポッ
ト・アドレス・メモリ中に依然あることを仮定している
。もしこのアドレスが局所的な置換動作によってすでに
除去されていると、さらに何も行う必要はない。これに
よって通知バスの動作及び機能が完了する。
Once this transmission is made, on the very next bus cycle the designated diverting device must send a confirmation message back to the particular detecting device whose current hot spot address is being removed from the system. As is clear from the previous description of the operation of the detection device, hot spots are effectively eliminated by resetting the H and C fields to O (block 12). Of course, this operation assumes that this address is still in the hot spot address memory of the particular detection device. If this address has already been removed by a local replacement operation, no further action is required. This completes the operation and functionality of the notification bus.

次に第6図(A)乃至第6図(D)及び第2表を参照し
て個々の転向装置の動作について説明する。先ず第6図
(A)を参照すると、転向装置のための中間レベルの機
能ブロック図が示されている。第4図(A)の場合と同
じように、種々のアドレス及び種々のデータ項目を、た
とえばホット・スポット索引バッファ(H3LB)、ホ
ット・スポット・アドレス比較ブロック等及び種々のレ
ジスタからゲートする制御信号を転送するための制御回
路の詳細は示す必要はないであろう。このような詳細な
部分は第6図(A)のブロック図全体及び第6図(B)
乃至(D)の流れ図から容易に想倒されるであろう。
Next, the operation of each turning device will be explained with reference to FIGS. 6(A) to 6(D) and Table 2. Referring first to FIG. 6A, a mid-level functional block diagram for a turning device is shown. As in FIG. 4A, control signals for gating various addresses and various data items from, e.g., the Hot Spot Lookaside Buffer (H3LB), the Hot Spot Address Compare Block, etc., and the various registers. It is not necessary to show details of the control circuit for transferring the . These detailed parts are shown in the entire block diagram in Figure 6(A) and in Figure 6(B).
This can be easily guessed from the flowcharts from (D) to (D).

−i的に云って、転向装置の機能はメモリ・システムに
提示されつつある新らしいアドレスが実際にホット・ス
ポットであるかどうかを判断し、もしホット・スポット
である時には、高競合性のたとえば組合せネットワーク
上にメモリ・アクセス要求を転向させることである。さ
らにホット・スポットが見出された時に、これをホット
・スポット索引バッファに記入し又現在のホット・スポ
ットがシステムから除去されたことを示す通知を検出装
置に送る機構が与えられなければならない。
-i-wise, the function of the conversion device is to determine whether a new address that is being presented to the memory system is actually a hot spot, and if it is, it is The goal is to route memory access requests onto a combinatorial network. Additionally, when a hot spot is found, a mechanism must be provided to write it into the hot spot index buffer and to send a notification to the detection device indicating that the current hot spot has been removed from the system.

さらに−度新らしいホット・スポットが転向装置に入力
されると、関連するプロセッサによるすべての現在のメ
モリ要求が、新らしいメモリ要求が許容される前に、完
了することを保証する機構が与えられなければならない
。これによって後のメツセージが先のメツセージよりも
早くサービスされて、システム・メモリ中で置換される
かプロセッサに戻されるべきデータの順番を狂わせるよ
うなデータの非−質性の可能性が防止される。
Furthermore, once a new hot spot is entered into the turning device, a mechanism is provided to ensure that all current memory requests by the associated processor are completed before the new memory request is granted. There must be. This allows later messages to be serviced sooner than earlier messages, preventing the possibility of data non-uniformity that would cause data to be replaced in system memory or returned to the processor out of order. .

第6図(A)を参照すると、メツセージ戻りバスが図面
の一番上に示され、メツセージ出力バスが転向装置10
の右側から出ている。明らかに、これ等のバスは両方と
もネットワーク1及びネットワーク2に関連しているが
、両方向性であってもなくてもよい。ホット・スポット
・アドレス比較動作はブロック30中で適切なレジスタ
によってなられる。ここで現在のアドレスが、上述のよ
うに連想メモリであるホット・スポット索引バッファ(
H3LB)32中の引数となり、一致が生じた時には、
この一致を示す信号がスイッチ34を制御して、現在の
メモリ・アクセスを組合せネットワーク(NET)2の
方に転向させる。もし一致が生じなかった場合には、こ
のことはこの特定のアドレスがホット・スポットとして
まだ決定されていないことを示し、スイッチ34はメツ
セージを低待ち時間ネットワーク1上に導く。
Referring to FIG. 6A, the message return bus is shown at the top of the drawing and the message output bus is connected to the diverter 10.
It comes out from the right side. Obviously, these buses are both associated with network 1 and network 2, but they may or may not be bidirectional. Hot spot address comparison operations are performed in block 30 by appropriate registers. Here the current address is the hot spot index buffer (
H3LB) 32, and when a match occurs,
A signal indicating this match controls switch 34 to divert the current memory access towards combinational network (NET) 2. If a match does not occur, this indicates that this particular address has not yet been determined as a hot spot, and switch 34 directs the message onto low latency network 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にリセットされるように
なっている。
Holding block 26 is a flip-flop that is set to 1 as soon as a notification is received by the diversion device that a new hot spot has been found. Counter F38 is for recording the outstanding memory requests active in each particular conversion device at a given time. Counter F38 is incremented whenever a new memory address is received and counter F3B is decremented when a message is returned via the message return bus. It is clear that the counter F is set to O or to some finite number depending on the number of memory accesses that are allowed to accumulate in the system at a given time. The block 40 labeled "wait when hold = 1" is simply a switch or interlock that causes processor Pj to hold a memory request whenever it is determined that hold block 36 is currently set to l. . This feature is well known in the art and requires the processor to wait until it can make a memory request. Also provided is a system controller associated with holding block 36 such that as soon as holding block 36 is set to 1, counter F is immediately interrogated and if counter F is currently zero, holding block 36 is interrogated. As soon as the counter F returns to the set value of O, the holding block 36 is reset to zero.

ホット・スポット発見及びホット・スポット終了と記さ
れた転向装置10の下側への2人力を参照すると、これ
等の入力は通知バスを介して遂行される2つのメツセー
ジ機能を示している。転向装置のすべてはホット・スポ
ット発見メツセージに応答するが、唯一の指定された転
向装置だけがホット・スポット終了メツセージに応答す
るだけでよいことは明らかである。
Referring to the two-man inputs to the underside of diverter 10 marked Hot Spot Found and Hot Spot Exit, these inputs represent two message functions performed via the notification bus. It is clear that all of the diverting devices respond to the hot spot discovery message, but only one designated diverting device need respond to the hot spot termination message.

従って、要約すると、すべてのプロセッサのすべての転
送装置は基本的な機能ブロック及び所与の時間のホット
・スポット索引バッファの内容に関して略同じである。
Thus, in summary, all transfer devices of all processors are approximately the same with respect to the basic functional blocks and contents of the hot spot index buffer at any given time.

個々のカウンタFは異なる値を含んでいる。又通信を行
う転向装置はホット・スポット・アドレスがすべての転
向装置のホット・スポット索引バッファから削除されつ
つあることを検出装置に通知する制御シーケンスを持っ
ていなければならない。
Each counter F contains different values. The communicating turning devices must also have a control sequence that notifies the detection device that the hot spot address is being deleted from the hot spot index buffers of all turning devices.

同じく第6図(A)を参照すると、ホット:スポット発
見バスはホット・バス索引バッファ(H3LB)32に
接続されていて、置換アルゴリズムによって空きにされ
たバッファ32中に新らしいホット・スポットが記憶さ
れるようになっている。同じく通知バスは保持ブロック
36を1にセットする信号を転送する。
Also referring to FIG. 6A, the hot:spot discovery bus is connected to a hot bus lookaside buffer (H3LB) 32, and new hot spots are stored in the buffer 32 vacated by the replacement algorithm. It is now possible to do so. The notification bus also transfers a signal that sets holding block 36 to one.

次に第6図(B)、(C)及び(D)の流れ図を参照し
て、転向装置内の種々の動作に必要な、たとえば適切な
ROM、通常のデコーダ、マルチプレクサ及び他のシー
ケンス回路によって制御される動作のシーケンスを説明
する。
Referring now to the flow diagrams of FIGS. 6(B), (C) and (D), the various operations within the converting device may be carried out by, for example, appropriate ROMs, conventional decoders, multiplexers and other sequential circuits. Describe the sequence of controlled operations.

次の第2表は個々のホット・スポット索引バッファ32
の様式を示す。
The following table 2 shows the individual hot spot index buffers 32.
The format is shown below.

第2表 各転送装置の各バッファは同一であり、又任意の時点で
同一のデータを含む。バッファ中の各項目は所与のホッ
ト・スポット・アドレス及びホット・スポットがシステ
ムに導入された時を示す時間の刻印を含んでいる。時間
の刻印はバッファの置換アルゴリズムに使用するための
ものであり、新らしいホット・スポットが発見された時
にどのホット・スポットが除去されるかを判断するのに
使用される。これは簡単な置換アルゴリズムであるが、
もし望まれるならば、他のより複雑なアルゴリズムを使
用できる。勿論どの置換アルゴリズムが使用されるかに
かかわらず、すべての索引バッファ及びすべての転向装
置は同じ置換アルゴリズムを使用して同じアドレスがす
べての素子から除去されることが保証さなければならな
い。
Table 2 Each buffer of each transfer device is identical and contains the same data at any given time. Each entry in the buffer contains a given hot spot address and a time stamp indicating when the hot spot was introduced into the system. The time stamp is for use in the buffer replacement algorithm and is used to determine which hot spots are removed when new hot spots are discovered. This is a simple replacement algorithm, but
Other more complex algorithms can be used if desired. Of course, regardless of which replacement algorithm is used, all index buffers and all conversion devices must use the same replacement algorithm to ensure that the same address is removed from all elements.

第6図(B)の流れ図を参照すると、ホット・スボツl
−(HS)が検出装置の1つによって発見されて、この
ことが適切なデータ、たとえばホット・スポットのアド
レスとともにすべての転向装置に通知される時に生じな
ければならない事象のシーケンスが示されている。ブロ
ック10内で転向装置内の手順が開始し、ブロック12
に進んで保持ブロック36が1にセットされる。手順は
次にブロック14に続く。
Referring to the flowchart in Figure 6(B), the hot bot l
- The sequence of events that must occur when (HS) is discovered by one of the detection devices and this is notified to all diverting devices with appropriate data, e.g. the address of the hot spot is shown. . In block 10 the procedure in the turning device begins and in block 12
Then, the holding block 36 is set to 1. The procedure then continues at block 14.

ブロック14中で、各転向装置内の置換アルゴリズムが
呼び出され、上述のようにホット・スポット索引バッフ
ァからどの「現在」のホット・スポットが除去されなけ
ればならないかについての判断がなされる。新らしい項
目が挿入されるホット・スポット索引バッファ内の記憶
位置はポインタが指摘する。次に手順はブロック16に
続く。
During block 14, the replacement algorithm within each turning device is called to make a determination as to which "current" hot spot must be removed from the hot spot index buffer as described above. A pointer points to the location in the hot spot index buffer where the new item is inserted. The procedure then continues at block 16.

通知用機能のために選択された1つを除(すべての転向
装置は直接ブロック14からブロック20に進むという
意味で、ブロック16は実際の手順の段階ではない。し
かしながら通知を行う転向装置はブロック18に導入し
なければならない。
Block 16 is not an actual step in the procedure, in the sense that all diverters, except the one selected for the notification function, proceed directly from block 14 to block 20. Must be introduced on the 18th.

ここでホット・スポット索引バッファ中の除去される項
目のアドレスが通知バッファを介して検出装置を介して
送られてホット・スポット・アドレス・メモリが適切に
更新される。
The address of the item to be removed in the hot spot index buffer is then sent through the notification buffer to the detection device to update the hot spot address memory appropriately.

ブロック20中で項目が除去され、ブロック22中で新
らしい項目が挿入される。上述のように実際には、新ら
しい項目は単にホット・スポット索引バッファの古い項
目上に重ね書きされるだけである。次にブロック24中
で、新らしい項目のための時間の刻印がセットされる。
Items are removed in block 20 and new items are inserted in block 22. In practice, as described above, the new item is simply written over the old item in the hot spot index buffer. Next, in block 24, the time stamp for the new item is set.

再び、時間の刻印はこれが置換アルゴリズムに使用され
る場合にのみセットれ、従って時間の刻印フィールドが
与えられる。
Again, the time stamp is only set if this is used in the replacement algorithm, thus giving the time stamp field.

ブロック26中では、タイムアウト即ち待機動作が行わ
れ、カウンタFのセット値が連続的にサンプルされて、
未解決の現在のメモリ要求が存在しないことを意味する
値0にセットされているかどうかが判断される。カウン
タFがOにデクレメントされている(もしくは新らしい
ホット・スポット項目がH3LB中に置かれてOにセッ
トされた)ことが判ると、手順はブロック28に続く。
In block 26, a timeout or wait operation takes place, and the set value of counter F is continuously sampled;
It is determined whether it is set to the value 0, meaning that there are no current memory requests outstanding. Once it is determined that counter F has been decremented to O (or a new hot spot entry has been placed in H3LB and set to O), the procedure continues at block 28.

ブロック2日で、保持フリップ・フロップが0にリセッ
トされ、特定の転向装置及びこれに関連するプロセッサ
のメモリ動作の回復が可能になる。
At block 2, the retention flip-flop is reset to 0, allowing recovery of the memory operations of the particular turning device and its associated processor.

これによってこの手順が終了する。This ends the procedure.

第6図(C)を参照すると、プロセッサからの通常のメ
モリ・アクセスが転向装置によって遂行されている・ブ
ロック10で保持フリップ・フロップ36の問合せが行
われる。もしこれが1にセットされている時には、シス
テムはこれがOにリセットさる迄待機する。この動作は
しばしば「フェンス」動作と呼ばれる。このような特定
の従来技術の1つの説明は上述の論文rRP3プロセッ
サ/メモリ素子(”The RP 3  Proces
soy/Memory Element” ) 」の第
787頁の第7.3章に見られる。保持フリップ・フロ
ップがOに等しいと制御装置が判断すると、手順はブロ
ック12に続く。
Referring to FIG. 6C, the holding flip-flop 36 is interrogated at block 10, where normal memory accesses from the processor are performed by the turning device. If this is set to 1, the system will wait until this is reset to 0. This action is often referred to as a "fence" action. One such specific prior art description is provided in the above-mentioned article "The RP 3 Processor/Memory Device".
See Chapter 7.3 on page 787 of ``Soy/Memory Element''). If the controller determines that the hold flip-flop is equal to O, the procedure continues at block 12.

ブロック12で、プロセッサによって転向装置に提示さ
れる現在のアドレスがH3LBに対する引数として使用
され、たとえば比較ブロック30内で現在のアドレスが
ホット・スポットであるかどうかの判断がなされる。つ
いでながら、H3LBが連想メモリであるアーキテクチ
ュアでは、比較はH3LB自体の中で行われ、第6図(
A)の比較ブロック30は単なる保持レジスタであるこ
とに注意されたい。もし一致が見出されない時は、手順
はブロック16に続き、メモリ・アクセス要求は低待ち
時間ネットワーク1を介して送られる。
At block 12, the current address presented by the processor to the diversion device is used as an argument to H3LB, such as within comparison block 30, to determine whether the current address is a hot spot. Incidentally, in architectures where the H3LB is an associative memory, the comparison is done within the H3LB itself, as shown in Figure 6 (
Note that the comparison block 30 in A) is just a holding register. If no match is found, the procedure continues at block 16 and the memory access request is sent over the low latency network 1.

もし一致した時は、手順はブロック14に続き、スイッ
チ34はより複雑なネットワーク2、たとえば組合せネ
ットワークを介して要求を送る。ブロック14もしくは
16の段階が完了すると、手順はブロック18に続く。
If there is a match, the procedure continues at block 14, where the switch 34 sends the request over a more complex network 2, such as a combinational network. Once the steps of block 14 or 16 have been completed, the procedure continues with block 18.

ブロック18中で、カウンタFが1だけインクレメント
され、上述のようにプロセッサに関連する転向装置から
の現在の未解決の要求数が記録される。
During block 18, a counter F is incremented by one to record the current number of outstanding requests from conversion devices associated with the processor, as described above.

第6図(D)は1段階の流れ図であり、メモリ・アクセ
ス動作が完了したことを示すメツセージがメモリ・シス
テムから戻される時に、転向装置内で行われる唯一の動
作を示している。たとえば要求がロード要求である時に
は、データに「動作完了」信号が伴い、そうでない時は
この信号だけが戻される。上述のように、カウンタFは
プロセッサからの未解決のメモリ要求のカウントを保持
している。上述の制御及びシーケンスのすべてかう見て
、システムにとって必要なことのすべては、必要なデー
タの一貫性を保持することであるから、このカウントは
単に統計である。
FIG. 6D is a one-step flowchart that illustrates the only action that takes place within the converter when a message is returned from the memory system indicating that a memory access operation is complete. For example, when the request is a load request, the data is accompanied by an "operation complete" signal, otherwise only this signal is returned. As mentioned above, counter F maintains a count of outstanding memory requests from the processor. Given all of the controls and sequences described above, this count is merely a statistic since all that is required of the system is to maintain the necessary data consistency.

以上で本発明の説明を終る。This concludes the description of the present invention.

F8発明の効果 本発明に従えば、大型共用メモリ・マルチプロセッサ・
システムのための相互接続ネットワーク管理アーキテク
チュアが与えられる。
Effects of F8 Invention According to the present invention, large shared memory, multiprocessor,
An interconnection network management architecture for the system is provided.

【図面の簡単な説明】[Brief explanation of the drawing]

第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)
FIG. 1 relates to a typical processor and memory module of a multiprocessor system. 1 is a high level functional block diagram illustrating the main functional units of the present invention. FIG. FIG. 2 is an organizational chart of a conventional large multiprocessor system, large shared main memory, and interconnection network. FIG. 3 is an organizational diagram of an applied multiprocessor memory interconnect system for use with the present invention that incorporates two separate interconnect networks with different transmission characteristics. FIG. 4A is a functional schematic diagram of one of the detection devices associated with each memory module of FIG. FIG. 4(B) is a flowchart of a memory access procedure performed in the detection device of FIG. 4(A). FIG. 4C is a flowchart of the independent procedures for performing hot spot detection within each detection device. FIG. 4(D) is a flowchart of the termination procedure performed within each detection device. FIG. 5A is a schematic diagram of the notification bus of the present invention. FIG. 5(B) is a flowchart showing the protocol of the notification bus. FIG. 6A is a functional schematic diagram of one of the turning devices of FIG. FIG. 6B is a flowchart of the procedure in the diverter when a new hot spot is discovered. FIG. 6C is a flow diagram of the procedure in the converter when receiving a standard memory access from the processor. FIG. 6D is a one-step flowchart of the operations that occur within the turning device when the memory reference is completed. 10... Turning device, 12... Detection device, 14.
...Notification device, 16...Network 1.18.
...Network 2゜Applicant International Business Machines Corporation Agent Patent Attorney Hitoshi Yamamoto ωj (1 other person) A in Figure 2, Figure 3, Rokuguchi. Memory access hand movement rooster honotos C throat run j 對手 J end figure 5 (A) '''7 tube 5 figure (B)

Claims (1)

【特許請求の範囲】 複数のプロセッサ、及びメモリ相互接続ネットワークを
介して上記プロセッサの任意のものによつて夫々アクセ
スできる複数の個別にアドレス可能なメモリ・モジュー
ルを有する共用メモリ・マルチプロセッサ・システムに
おいて、 (a)競合する可能性が低いメモリ要求が転送される第
1の低待ち時間ネットワーク及び競合する可能性が高い
メモリ要求が転送される第2のネットワークより成る、
少なくとも2つの並列な相互接続ネットワークと、 (b)アクセス基準の予定の頻度に基づいて、特定のア
ドレスがホット・スポットとなつた時を検出するための
、各メモリ・モジュールに接続されたホット・スポット
検出装置と、 (c)各プロセッサの出力と相互接続ネットワーク間に
接続されていて、メモリ要求を選択的に上記第1もしく
は第2のネットワークのいずれかに転送する転向装置と
、 (d)すべての上記転向装置とすべての上記ホット・ス
ポット検出装置との間に設けられ、ホット・スポットに
遭遇した時にこのことをすべての上記転向装置に通知し
、現在のメモリ要求が現在指示されているホット・スポ
ットになされている時には、上記メモリ要求を上記第2
のネットワーク上に転送させるためのホット・スポット
通知装置とを有する、共用メモリ・マルチプロセッサ・
システム。
Claims: In a shared memory multiprocessor system having a plurality of processors and a plurality of individually addressable memory modules each accessible by any of the processors via a memory interconnect network. , (a) comprising a first low-latency network to which memory requests that are unlikely to conflict are forwarded and a second network to which memory requests that are likely to conflict are forwarded;
at least two parallel interconnection networks; (b) a hot spot connected to each memory module for detecting when a particular address becomes a hot spot based on a scheduled frequency of access criteria; (c) a diversion device connected between the output of each processor and the interconnection network for selectively forwarding memory requests to either said first or second network; (d) provided between all said diverting devices and all said hot spot detection devices to notify all said diverting devices when a hot spot is encountered and to indicate that a current memory request is currently being directed; When being made to a hot spot, the memory request is
A shared memory multiprocessor with a hot spot notification device for transmission over a network of
system.
JP1088185A 1988-04-26 1989-04-10 Shared memory multiprocessor system Expired - Lifetime JPH0786861B2 (en)

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 1988-04-26

Publications (2)

Publication Number Publication Date
JPH01298459A true JPH01298459A (en) 1989-12-01
JPH0786861B2 JPH0786861B2 (en) 1995-09-20

Family

ID=22684500

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1088185A Expired - Lifetime JPH0786861B2 (en) 1988-04-26 1989-04-10 Shared memory multiprocessor system

Country Status (5)

Country Link
US (1) US4969088A (en)
EP (1) EP0339270B1 (en)
JP (1) JPH0786861B2 (en)
CA (1) CA1311851C (en)
DE (1) DE68921365T2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0728764A (en) * 1990-08-27 1995-01-31 Internatl Business Mach Corp <Ibm> Device and method for specifying traffic path between processor memories

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0625984B2 (en) * 1990-02-20 1994-04-06 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン Multiprocessor system
JP2665813B2 (en) * 1990-02-23 1997-10-22 三菱電機株式会社 Storage controller
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 (en) * 1991-02-28 1998-07-16 インターナショナル・ビジネス・マシーンズ・コーポレイション Uses when profiling multi-processes in computer systems
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 (en) * 1992-09-21 1994-06-24 Eastman Kodak Co Memory management device
US5404464A (en) * 1993-02-11 1995-04-04 Ast Research, Inc. Bus control system and method that selectively generate an early address strobe
JPH08263226A (en) * 1995-03-23 1996-10-11 Toshiba Corp Information storage device
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 (en) * 1997-03-10 1998-09-25 Kawasaki Steel Corp Associative memory and network frame repeater
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 (en) * 2006-01-05 2007-02-06 삼성전자주식회사 System and method for managing log information
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)

* Cited by examiner, † Cited by third party
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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0728764A (en) * 1990-08-27 1995-01-31 Internatl Business Mach Corp <Ibm> Device and method for specifying traffic path between processor memories

Also Published As

Publication number Publication date
EP0339270B1 (en) 1995-03-01
EP0339270A3 (en) 1990-11-28
EP0339270A2 (en) 1989-11-02
US4969088A (en) 1990-11-06
DE68921365D1 (en) 1995-04-06
CA1311851C (en) 1992-12-22
DE68921365T2 (en) 1995-10-05
JPH0786861B2 (en) 1995-09-20

Similar Documents

Publication Publication Date Title
JPH01298459A (en) Common memory multiprocessor system
US6895482B1 (en) Reordering and flushing commands in a computer memory subsystem
KR900006791B1 (en) Packet switched multiport memory nxm switch node and processing method
EP0472879B1 (en) Method and apparatus for dynamic detection and routing of non-uniform traffic in parallel buffered multistage interconnection networks
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 (en) Device and method for performing high-speed low overhead context switch
EP1615138A2 (en) Multiprocessor chip having bidirectional ring interconnect
US6175942B1 (en) Variable bit width cache memory architecture
US6587926B2 (en) Incremental tag build for hierarchical memory architecture
JP2007215203A (en) Data processing method and data processing unit, dynamic reconfiguration method of configurable element, system and process
JP2004158020A (en) Multiprocessor system
EP0351955A2 (en) Multiprocessor systems with cross-interrogated store-in-caches
JP2000242545A (en) Device and method for processing memory access request in data processing system
US5371893A (en) Look-ahead priority arbitration system and method
EP0553158B1 (en) A scalable parallel vector computer system
JP2731742B2 (en) Parallel computer with cluster configuration
JP3641834B2 (en) Parallel processor system and packet discard method suitable therefor
Dandamudi Reducing hot-spot contention in shared-memory multiprocessor systems
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 (en) Packet transmitting method and apparatus in inter-processor communication
Dickey et al. Designing VLSI network nodes to reduce memory traffic in a shared memory parallel computer
JP3609908B2 (en) Computer connection device