[go: up one dir, main page]

JPS63145567A - 並列コンピュータシステム - Google Patents

並列コンピュータシステム

Info

Publication number
JPS63145567A
JPS63145567A JP62213190A JP21319087A JPS63145567A JP S63145567 A JPS63145567 A JP S63145567A JP 62213190 A JP62213190 A JP 62213190A JP 21319087 A JP21319087 A JP 21319087A JP S63145567 A JPS63145567 A JP S63145567A
Authority
JP
Japan
Prior art keywords
processors
processor
computer
parallel
instructions
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
JP62213190A
Other languages
English (en)
Other versions
JP2792649B2 (ja
Inventor
ダブリュー ダニエル ヒリス
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.)
Thinking Machines Corp
Original Assignee
Thinking 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 Thinking Machines Corp filed Critical Thinking Machines Corp
Publication of JPS63145567A publication Critical patent/JPS63145567A/ja
Application granted granted Critical
Publication of JP2792649B2 publication Critical patent/JP2792649B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5066Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
    • 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
    • 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/0215Addressing or allocation; Relocation with look ahead addressing means
    • 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/17337Direct connection machines, e.g. completely connected computers, point to point communication networks
    • G06F15/17343Direct connection machines, e.g. completely connected computers, point to point communication networks wherein the interconnection is dynamically configurable, e.g. having loosely coupled nearest neighbor architecture
    • 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/17381Two dimensional, e.g. mesh, torus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8007Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
    • G06F15/8023Two dimensional arrays, e.g. mesh, torus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8007Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
    • G06F15/803Three-dimensional arrays or hypercubes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/165Error detection by comparing the output of redundant processing systems with continued operation after detection of the error
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1658Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2041Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with more than one idle spare processing component
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2046Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant where the redundant components share persistent storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space
    • 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/10Address translation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Multi Processors (AREA)
  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、並列した非常に多数のプロセッサ/メモリを
備えた超大型コンピュータを、非常に大勢のユーザに割
り付けて、同時に効率よく利用するようにした方法と装
置に関する。
(従来の技術〕 従来すでに、特願昭59−109776号「並列プロセ
ッサ」 (特開昭(lid−84661号)、特願昭6
1−128294号「超次元アレイ内のプロセッサ相互
接続方法およびその装置」、特願昭62−39301号
「並列プロセッサ・アレイにおけるプロセッサ付加のシ
ミュレーション方法」等が出願されており、また前記特
願昭59−109776号に対応する米国出願を分割出
願した米国特許第4598400号「メッセージ・パケ
ットの送受経路を指定する方法と装置?2 (METH
OD ANDAPPAl?ATUS  FORROIJ
TING  MESSAGE  PACKETS)  
  J  が成立している。
上記「並列プロセッサ」は、従来一般に使用されて来た
ディジタル・コンピュータが、基本的にはプログラムの
命令を、一時に一つずつ順次直列的に実行するため、装
置が大型な場合でも、実際には其の一部分ずつしか働い
ておらず、効率が悪い点を解決するために発明されたも
のであって、例えば特願昭59−109776号(特開
昭60−84661号)の第1A図に示す実施例では、
32(・2’)個のプロセッサ/メモリを含む集積回路
(IC)を32.768(=r 2 )個配列したアレイよりなる。これらプロセッサ/
メそりは、通常の二次元格子状およびプールのn次元超
立方体状の2形態に組織され相互接続される。二次元格
子状の場合は、プロセッサ/メモリは4個の最近隣接素
子と接続され、矩形アレイに組織され、便宜上、このア
レイの各辺は北、東、南、西と区別される。各プロセッ
サ/メそりは其の4個の最近隣接素子と、格子の各行、
各列を形成するように導電線で接続される。プールのn
次元立方体は、上記ICにOから32767までの番号
を付け、これらの番号即ちアドレスを、15個の二進数
で表示すると理解し易い。二次元格子内の対象物の位置
を、二次元格子の第1次元内の位置を指定する数と第2
次元内の位置を指定する二つの数を用いてtit定する
ことが出来るのと同様に、プールの15次元立方体内の
各次元内のICの位置を一つの数で指定することが出来
る。
n次元立方体の場合、各次元内において、ICは0かl
の唯二つの位置の一方を占めることが出来る。こうして
15ビツトよりなるICのアドレスの2進表示を、n立
方体の15次元内に於けるICの位置指定に利用できる
。また、ビットはOか1の二つの値しか持たず、各IC
は15ピントの数で一部に指定できるから、各ICには
其の2進アドレスが夫自身のアドレスと唯1個所でだけ
異なった15個の他のICがある。あるICと2進アド
レスが唯一個所だけで異なる上記のような15個のrc
を、前記ICの最近隣接ICとみなす。
ICをプールの15次元立方体の形態に接続するには、
各ICを其の15個の最近隣接ICに15本の入力線と
15本の出力線で接続すれば良い(特開昭60−846
61号公報の第2図、第3図参照)。
第13図(特開昭80−84661号の第1A図と同じ
)は上記並列プロセッサのプロセッサ/メそりを含むr
cを二次元格子状に配列した状態を示す図である。各I
Cは256(・23)行X128(=2’)列の矩形ア
レイに配列され、各IC内には4(・22)行×8(・
23)列に配列されたプロセッサ/メモリや、演算結果
をメッセージ・パケットの形式に編成して其のパケット
の一部をなすアドレス情報に従って、メッセージ・パケ
ットをICからICへパケットを送出する経路を指定す
る回路が載置されている。なお、各IC内では、プロセ
ッサ・メモリ(PM) 36が第14図(特開昭60−
84661号の第匈図)に示す如く配置されており、プ
ロセンサ・メモリ36の内部は第15図(特開昭60−
84661号の第7八図)に示すようになっている。ま
た、各IC内には、10群を前記プールの超立方体に接
続した際にメッセージ・パケットの伝達経路をt旨定す
るルータがあるが、ルータは第16図(特開昭60−8
4661号の第16図)に示す回路200よりなり、ル
ータの中のライン・アサイナ(LineAssigne
r)は第17図(特開昭60−84661号の第11図
)に示すようになっている。
〔発明が解決しようとする問題点〕
並列に動作する何千という多数のプロセッサ/メそりを
使用することは、計算機操作に全く新しい展望をもたら
す、直列コンピュータの限界のために企てられなかった
多(の問題が、並列コンビエータ例えばコネクション・
マシン(米国商標名ンを用いて余り長くない時間で実行
できる。
計算力が非常に増大するので、現在利用できる並列コン
ピュータには重荷になるような複雑な問題に対する関心
をかき立て、更にずっと大型な並列コンピュータに対す
る需要を引き起こしている。同時に、並列コンピュータ
によって有利に処理゛できる問題の全てに対して、非常
に大きなコンピュータが常に必要なわけではない。ある
種の問題は、率直に言って、大型の並列コンピュータの
全システムを使い尽くす程のデータを持っていない、ま
た他の問題は並列コンピュータのS1算力をそれほど必
要としていない。並列コンピュータのかなりの部分を常
に利用するような方法が見っからない限り、かかるコン
ピュータを経済的に引き合うようにすることは困難であ
る。
かかる問題の一つの解決法は、既述の特願昭62−39
301号「並列プロセッサ・アレイにおけるプロセッサ
付加のシミュレーション方法」に述べられているように
、余裕のある処理および記憶能力を利用して、付加的な
並列プロセッサをシミュレートすることである。この技
術によれば、各物理的プロセッサに結合されたメモリは
複数のサブ・メモリに分割され、更に各サブ・メモリは
順に夫が恰も別のプロセッサに結合されているかのよう
に使用される。こうして、最初の命令または命令群が、
並列コンピュータの全てのプロセッサに与えられて、少
なくとも幾つかのプロセッサに最初のサブ・メモリの最
初の一つの記憶位置または複数記憶位置に格納されたデ
ータを処理させる。次いで、その同じ命令または命令群
が、そのコンピュータの全てのプロセッサに与えられて
、少なくとも幾つかのプロセッサに第2のサブ・メモリ
の同じ最初の記憶位置に格納されているデータを処理さ
せる。各サブ・メモリに対して、以後、同様に行う。こ
の技術は多くの状況下で非常に有効であるが、シミュレ
ートされたプロセッサの各グループに対するデータを処
理する物理的プロセッサは依然として従来通常の直列(
叩ちフォノ・ノイマン形)プロセッサである。その結果
、若し其の物理的プロセッサに対して、多数のシミュレ
ートされたプロセッサ及び/又は多量のデータを関連さ
せると、その物理的プロセッサにフォノ・ノイマン的隘
路が生ずることになる。
〔発明が解決しようとする問題点〕
本発明は、並列コンピュータの構成を多数のユーザに割
付け、並列コンピュータの利用状態を改善することを目
的とする。
〔問題点を解決するための手段〕
本発明に従って、並列コンピュータは其のコンピュータ
で同時に実行される多数のデータ・ペースとプログラム
の要求を満たすように、多数のユーザ間で分割される。
本発明の基本になるのは、元来、一つのプロセッサ、一
つのメモリ、及び制御回路からなる複数のプロセッサ・
ユニットで形成された並列コンピュータであるが、前記
制御回路に、アドレス指定されたメソセージ・パケット
を並列コンピュータ内の一つのプロセッサ・ユニットか
ら他のユニットへ送る経路を指定する(routing
)ことによりプロセッサ・ユニット間を相互に接続する
手段(ルータ)と、動作中のプロセッサ・ユニットの第
1グループと第2グループの間にメッセージ・パケット
の経路が指定されるのを防止し、それにより並列コンピ
ュータを互いに影響し合わない複数グループに分割する
手段とを設け、並列コンピュータを複数のプロセッサ・
アレイに分割し、その各々がその他とは独立して使用で
きるようにすることにより、多数ユーザ間での分割使用
が達成される。この分割は、分割が容易に変更でき、し
かもタイム・シェアリング時には二つの連続した時間ス
ロットの間でも変更できるという意味で、ダイナミック
に行われる。
前記複数プロセッサ間を信号線によって超立方体(例え
ば前記プールのn次元立方体)を形成するように相互接
続し、これら信号線を用いて、複数グループで並列に実
行された命令の実行結果を比較して誤動作を検出する手
段も設けである。
更に、特願昭62.−39301号「並列プロセンサ・
アレイにおけるプロセッサ付加のシミュレーション方法
」で述べられている如く、アレイの中の各物理的プロセ
ンサによって付加並列プロセッサのシミュレーションが
出来るように、また、シミュレートされた並列プロセッ
サ間で通信が出来るように、並列コンピュータを構成す
る。本発明では、特定の物理的プロセッサに対応するシ
ミュレートされたプロセッサ間で通信できるだけでなく
、任意の物理的プロセッサに対応する任意のシミュレー
トされたプロセッサが、並列コンピュータ内の任意の物
理的プロセッサに対応する任意のシミュレートされたプ
ロセッサと通信することも可能である。仮想メモリの概
念との類似により、以後、シミュレートされたプロセッ
サを仮想プロセッサと呼ぶ。更に、本発明では、仮想プ
ロセッサを仮想メモリ内に格納する手段も装備される。
かかる設計の結果、106個の桁の物理的プロセッサで
ro  (IIの桁の仮想プロセッサを有する並列コン
ピュータを作ることが可能である。更に、このコンビエ
ータは多数の独立したプロセッサの複数アレイに、構成
をダイナミックに変更することが出来るので、この規模
の装置は多数のユーザにより共用でき、各ユーザは其の
コンピュータの全体の中の、其の時点で処理中の問題に
見合った容量の部分だけを働かすことが出来る。詳細に
言えば、約千人のユーザが、ローカル・エリア・ネット
ワークを介して並列コンピュータにインタフェースする
ことが出来る。
プロセッサ間の通信を可能にするため、物理的プロセッ
サは十分な大きさの2進n次元立方体の形に相互接続さ
れ、各物理的プロセッサには其の立方体内で一意的な位
置が割当てられ、各仮想プロセッサには夫自身のアドレ
スが割当てられる。
こうして、このアドレス指定構造は最大240個の仮想
プロセッサにアドレスを割り当てることが可能である。
本発明に係る並列コンピュータは更に他の特徴として下
記各項を有する。
本コンピュータは通常の一時に一語ずつの命令群をサポ
ートし、更に、全く同形式の並列命令群をもサポートす
る。一時に一語ずつの処理それぞれに対して、対応する
データの並列処理が全データ群について同時に行われる
本コンピュータは多数のプロセッサ間に命令を配分し同
時に実行するようにハードウェアでサポートする。その
結果、本機全体にわたる演算が相互間で完全に決定した
回数だけ行われる。
ユーザは必要なだけの冗長度を割付けて、重要な事象(
トランザクション)のフェイル・セーフな処理を確保す
ることが出来る。これには、さほどm要でない応用の場
合の簡単な自己検査から、フェイル・セーフ・トランザ
クションのための完全な4倍モジュール方式冗長度まで
ある。冗長な要素は必要な場合にだけ割付けられるので
、冗長度のコストは、かかる冗長度を必要とする時にだ
け負担させられることになる。
〔作用〕
上記のように構成すれば、本発明超大型コンピュータを
利用する多数のユーザが、同時に、互いに他の干渉を受
けずに、十分な冗長度割付によりフェイル・セーフ処理
を確保しながら、効率よく超大型コンピュータを使用で
きる。
(実施例〕 第1図に示すように、本発明の実施例は、複数のユーザ
端末310(A−N)、ローカル・エリア・ネットワー
ク320、及びプロセッサ・アレイ330よりなるシス
テム300である。図示の如(、各端末には、キーボー
ド314と表示管316を有するコンソール312、プ
リンタ(図示せず)などのハードコピー出力装置、及び
端末とローカル・エリア・ネットワーク320間のイン
タフェース318が含まれる。従来のパーソナル・コン
ピュータを、必要ならば、端末310として使用できる
プロセッサ・アレイ330は実例としては、2′す(・
262.144) IIIの物理的プロセッサ・ユニソ
)(PPU)、各プロセッサに結合された4メガバイト
の高速読み書きメモリ即ちランダム・アクセス・メモリ
、頑丈な付加低速大記憶容量の読み書きメモリ、及び広
範なサポート回路から構成される。テラバイトの高速メ
モリは、一般にICメモリチップにより供給される。大
容量読み書きメモリは、例えば、合計10兆(tera
)バイトの容量となる各300メガバイトの32.76
88(=2”)個のハードディスク装置よりなる。26
2.144個のPPUは18次元の超立方体の形に接続
され、その中で各PPUはその超立方体の18個の辺そ
れぞれに沿って18個の隣接PPUと接続されており、
その詳細は以下説明する。
ローカル・エリア・ネットワーク320は、端末310
をプロセッサ・アレイ330内の幾つかのPPUに接続
し、特定の端末が特定のPPUと通信できるようにする
。これらのPPUは、順繰りに、アレイ内の他のPPU
をダイナミックに制御し、これら他のPPUは更に順次
なお一層多くのPPUを制御して、特定の問題に対して
適当な処理とメモリを供給するようにする。このローカ
ル・エリア・ネットワークはクロスバ−スイッチのよう
にフレキシブルで、任意の端末が其のネットワークに接
続された任意のPPuに接続でき、これらの接続は、タ
イムシェアリング環境下の場合のように極めて頻繁に要
求されても、何時も必要に応じて変更できることが好ま
しい。多数の従来からのローカル・エリア・ネットワー
ク、例えばイーサネット(商標名)システムやディジタ
ルPaχは、システム300に含まれるだけの端末を接
続する容量がありさえすれば、この目的に使用できる。
必要ならば、複数のローカル・エリア・ネットワークを
使用しても良い。例えば、この発明のシステムでは、ロ
ーカル・エリア・ネットワークは1000個の端末を接
続できなければならない。
明らかに、本発明の装置は従来のマシンで実用されてい
たよりも遥かに大量のランダム・アクセス・メモリをサ
ポートする。これは、データベース全体を、ディスクよ
りもアクセス時間が能力的に数千倍も速いメインメモリ
内に格納可能にする。1兆バイトのメインメモリは、一
般には直列機の場合、かかる大メモリは、−人のユーザ
がたった1個所にアクセスしている間、他部分を遊ばせ
ておくと金がかかり過ぎて不経済である。本発明の場合
は、メモリの多くの個所が同時にアクセスされるので、
この問題は生じない。
先に参照した特願昭62−39301号の説明に従えば
、各1’P[Iは、其のPPUに結合したメモリを複数
のメモリに分割し、各サブメモリに異なる仮想プロセッ
サを割り当てることによって、複数の仮想プロセッサと
して働かせることが出来る。本発明によれば、メモリの
分割はディスクやテープ上の仮想メモリにまで拡張する
ことが出来る。更に、各仮想プロセッサは、コンピュー
タ内の処理動作に際し、物理的プロセッサと同等に見な
される。
本発明によれば、ユーザはPPUに対してデータ処理と
メモリに関するその要求を指定することができ、それで
其のPPuはこれらの要求を満たすのに十分な一群のプ
ロセッサ(物理的プロセッサと仮想プロセッサの双方)
を形成することが出来る、都合よ(、プロセッサ群は再
帰的に構成されていて、一つのプロセッサは一つ以上の
他のプロセッサを制御し、これら他の複数プロセッサは
更により多くのプロセッサを制御するというように続行
する。データベースの各要素が、複数プロセ。
す中の一つのプロセッサに1対1で格納されており、ま
た、これらのプロセッサはデータベースと同じ構造に構
成されているのが好ましい。このような配置の結果: 1、各プロセッサは、算術/論理演算、データ移動、及
びサブルーチンの呼出や分岐などのような通常の制御の
流れを含む通常のフォノ・ノイマン型演算を実行するこ
とができる。
2、各プロセッサは、並列命令実行中、其の制御下にあ
る複数プロセッサに、1組のデータを割付けることが出
来る。割付けるプロセッサを制御プロセッサと呼び、割
付けられたプロセッサはデータ・プロセッサと呼ぶ。デ
ータ・プロセッサは制御プロセッサの全能力を有し、彼
等自身データ・プロセッサを割付けることができるから
、前記名称は相対的なものである。
3、各プロセッサは、その割付けられたデータ・プロセ
ッサの中からコンテキストの組を選ぶことが出来る。こ
のコンテキストの組は、並列に演算されるべきデータの
組である。コンテキストの組は、全てのデータ・プロセ
ッサ即ち現在のコンテキストの組内の全てのデータ・プ
ロセッサに課せられた成る条件に従って選ばれる。コン
テキストの組は保全され、再度記憶される。
4、各プロセッサは、そのコンテキストの棲の中のデー
タの全てに対して同時に並列演算を行うことが出来る。
この並列演算は、これらがコンテキストの組の中の全デ
ータに対して同時に行われる点以外は、カテゴリlの順
次演算と全く同じである。並列演算は全データ操作、メ
モリ参照(通信)、及び制御の流れの操作を含む。プロ
グラマに見える限りでは、これらの操作はデータ・セン
ト内の全プロセンサで同時に行われる。
5、各プロセッサは、配分されたデータベースにアクセ
スでき、そのデータ要素のある部分を其のメモリに入れ
ることが出来る。仮想プロセッサは、また、データベー
スを更新することが出来る。
本発明並列コンピュータの命令は、従来のコンピュータ
の命令と同様である。その命令は、ローカル命令、並列
命令およびコンテキスト命令の3カテゴリに区分できる
ローカル命令は従来のコンピュータ命令そのものであっ
て、サブルーチン呼出、条件付きおよび無条件分岐、復
帰、レジスタによる算術データ移動、論理演算、および
テストを含む。ローカル命令は制御プロセッサ内で実行
される。
並列命令は、複数データ・プロセッサのコンテキストの
組に同時に実行される意思外は、ローカル命令と全く同
様である。オーダと呼ばれる並列命令のグループが、コ
ンテキストの組の中の全仮想データ・プロセッサ上で同
時に実行される。各ローカル・データ命令に対応して並
列データ命令が存在する。
コンテキスト命令は、並列に実行される仮想データ・プ
ロセッサの組を指定するのに用いられる。コンテキスト
命令には次の41M頬がある:全仮想プロセッサがある
条件を満足するコンテキストを設定するもの、コンテキ
ストを制限して現在のコンテキスト内である条件を満足
するプロセッサのサブコンテキストにするもの、現在の
コンテキストをスタックの上に押し込むもの、現在のコ
ンテキストをスタックからtaね上げて出すもの。これ
らのコンテキスト命令を並列命令と混合してグループに
まとめ、オーダにすることが出来る。
オーダは、本発明並列コンピュータ内での同期の基本要
素である。一つのオーダは1制御プロセツサと1データ
・プロセッサ間の通信の単位である。最も簡単な場合に
は、オーダは1個の命令である。オーダは、其のオーダ
内の複数物理的データ・プロセッサ間の同期に無関係に
一緒に実行できる一つの命令グループであってもよい。
一つの制御プロセッサの基本動作は、第5図中に示すア
ルファ・ルータを通じて1オーダを出し、オーダが全デ
ータ・プロセッサによって実行されたことの確認を待つ
ことである。別々の仮想プロセッサ群が、別々の時点で
、オーダ内の種々の命令を実行でき、通常、繰り返し実
行する。
一つのオーダは、システム内で命令を一時貯蔵する基本
単位でもある。これは、1オーダ内に許容される命令数
が限定されることを意味する。一つのオーダは1呼出命
令を持てるから、一つのオーダで実行できる処理の数は
任意に大きく出来る。サブルーチンの呼出の他に、オー
ダは簡単なループや条件付き分岐命令を持てる。
オーダ内の命令は非同期的に実行可能という簡単な規則
に従って、複数命令は複数オーダにまとめられる。これ
は、例えば、非局所的通信だけに関係する命令を一つの
オーダの最後の命令とすることによって行われる。
オーダは、複数制御プロセッサから複数データ・プロセ
ッサへ、アルファ・ルータを介して放送される。オーダ
が全データ・プロセッサによって実行された時に制御プ
ロセッサに信号するのがアルファ・ルータの責任である
。この信号機構は、制御プロセッサ内のプログラミング
の流れを制御するために条件コードを結合するのにも用
いられる。
第2図の概略図に示すように、各PP(Iは、一つのマ
イクロプロセッサ350、機能回路360、及び   
゛メモリ370よりなる。PPtlは、数学演算を高速
で実行するため特別の数学回路380をオプションとし
て持つことがある。マイクロプロセッサ350、メモリ
370、数学回路380は従来の集積回路で良い。例え
ば、マイクロプロセッサはインテル社のローラ社の68
000を用いることもできるし、命令ピンとデータビン
が別になったフェアチャイルド社のクリッパのようなマ
イクロプロセッサは特に有利である。
メモリ370は、高速大容量の読み書きメモリなら何で
も良い。例示したのは、4×64キロビツトのICチッ
プを32個配列したアレイよりなる4メガバイトのメモ
リである。誤り検出と訂正用に、メモリを付加して、パ
リティビットと誤り制御ビットを格納するようにするの
が有利である。一層大容量のメモリチップが入手できる
ようになった時は、かかるチップを用いてメモリの容量
を増し及び/又は所要ICチップ数を減らすことが出来
る。
と同期、データの一時貯蔵、及び仮想プロセンサの制御
を負担する。この回路はPPUから情報を受取り、ダイ
ナミック・メモリ駆動用のアドレス情報を作る。この回
路はまたPPUのデータビンとダイナミック・メモリの
データピンの間でデータを遺り取りする。機能回路はま
たppuを仮想プロセッサとして作動させるのに必要な
全ての管理機能を実行する。機能回路3らOがマイクロ
プロセッサ350とメモリ370の中間に位置する、3
者の構成は、マイクロプロセッサとメモリが直接接続さ
れた米国特許第4,598,400号中で述べたシステ
ムの場合よりも、マイクロプロセッサが遥かに多量のメ
モリに対しアドレス出来るようにする。同時に、この構
成はまた以下説明するメッセージ・パケットの経路指定
を可能にする。
PPUは16個を単位にして編成され、0−15の16
個のPPuの集積回路とサポート回路が第3図に示すよ
うに一枚の回路基板400上に搭載されている。
このサポート回路は、ディスク・インクフェース410
、汎用入出力回路420、自己検査回路430、クロッ
ク回路440、識別回路450、及び性能測定回路46
0からなる。
ディスク・インタフェース410はppu oに接続さ
れた標準SCSI(small computer 5
yste+n 1nter −face小規模コンピュ
ータシステム・インタフェース)インタフェースで、以
下に述べる大容量記憶モジュール470に接続するよう
に設計されている。その最大通信帯域幅は毎秒約10メ
ガピノ1へである。回路基板400上の他のPPUは、
ファイル・サーバとしてgB<ppuoを通して大容量
記す、αモジュールとインタフェースする。
入出力回路420は、PI’U  1に接続された32
ビット幅の並列または直列ポートである。このポートは
毎秒約50メガビ、トの最大帯域幅を有する。回路42
0は、ローカル・エリア・ネットワーク320をPPU
 1にインクフェースするが、PPIJ 1は其のネッ
トワーク上ではもう一つの端子または並列または直列ボ
ートにしか見えない。回路基板400上の他のPPUは
Pr’ll 1を通して入出力回路420とインクフェ
ースする。この配列の結果、端末310 A〜Nに居る
どのユーザも、電話網に接続されたどの電話機へも電話
をかけられるのと同様に、プロセッサ・アレイ330内
のどのPPUでも選び出してアドレス出来る。
自己検査回路430は回路基板400上で生じたどんな
誤りをも検出して其のモジュールをシステムから除去で
きる。この回路は発光ダイオードに接続していて、其の
モジュールが外されていることを視覚的に示し保守に好
都合になっている。各回路基板は自身のクロック回路4
40を持ち、その回路はシステムの他の複数PPυのク
ロック回路と同期している。識別回路450は電気的に
消去可能な非揮発性メモリで、その基板の製造および保
守の履歴、型造番号などを保持している。性能測定回路
′460はソフトウェアの性能を監視する。
大容量記す、aモジュール470は、図の如く、標準的
ディスク制御器480と標準5−1/41n300メガ
ハイド・ディスク装置490よりなり、最大7台の装置
を同じ制御器に付加して合計記憶容ff12400メガ
バイトにできるように用意されている。
回路基板400と記f、αモジュール470は、第4図
に示すように、16枚の基板400と16台のモジュー
ル470の複数バンク502に編成されてキャビネット
500内に実装されている。こうして、262.144
個のPPUのシステムでは、PPUを収容するために1
 、024 (・2′5個のキャビネットが用いられる
。これらのキャビネ71−は光フアイバ通信線で相互接
続される。従って各キャビネッ1へは、キャビネ、ト間
のデータ多重化と伝送に使用する少なくとも1個の光フ
ァイバ・トランシーバからなる1個以上の通信モジュー
ル505を持つ。これらトランシーバは、毎秒100メ
ガビツトのデータ速度で1キャビネット内の種々のPP
Uから他の複数キャビネット内の複数PPUへ光フアイ
バ通信線の広い帯域幅の利点を生かして時間多重化通信
を行う能力を持つ従来型光ファイバ・トランシーバで良
い。都合の良いことに、各通信モジュールには少なくと
も2個のトランシーバが用いられているので、各通信モ
ジュールでは信号を同時に送信および受信することが出
来る。
複数PPU 330は先に参照した特願昭61−128
294号の趣旨に従って超立方体に接続しておくのが良
い。こうすると各PPUはこの立方体ネットワークの中
で、超立方体の4つの次元に対応する同じ回路基板上の
4個の他のPP(J 、及びその超立方体の更に4つの
次元に対応する一つのキャビネット内の4枚の他の回路
基板上の4個のPPUに接続されている。262.14
41固のPPUよりなるシステムの場合、キャビネット
内の各Pr’lJは10個の別々のキャビネット内の1
0([1i1のPPUに接続されている。これら1(l
I[l1lO別の接続は、その超立方体の残りの101
囚の次元に対応している。これら10個の次元の各々に
おける各キャビネットの接続は、別の通信モジュール5
05を経由して行われる。
第5図に示すように、機能回路は9個の主要機能ユニッ
トを持っている:即ち、アドレス・マツバ510.メモ
リ・インタフェース520.仮想プロセッサ・シーケン
サ5301データ・キャッシュ540.誤り訂正S 5
50 +アルファ・ルータ560.ベータ・/L/−タ
570、インクセブタ5BO9及び/又はオーダ・キヤ
シュ590である。実例では、これら機能ユニットは全
て単−ff1g1回路すなわちチップ上に実現されてい
るが、複数のチップも使用できる。アドレス・ビン53
2とデータ・ビン582は、仮想プロセッサ<vp>・
シーケンサ530とインクセブタ580をPPUのマイ
クロプロセッサ350に接続する。アドレス・ビン52
2とデータ・ビン552は、メモリ・インタフェース5
20と誤り訂正器550をPPtlのメモリ370に接
続する。アルファ・ビン562とキューブ・ビン572
は、一つのPPIIのアルファ及ヒべ一り・ルータ56
0.570を他の複数PI”Uのアルファ及びベータ・
ルータに以下詳細に説明するように、接続する。
第6図に示すように、アドレス・マツバ510はPPU
アドレス・レジスタ605、オンセ・7ト・レジスタ6
10 、VPオフセット・レジスタ615 、VPイン
クリメント・レジスタ620、及びページ・テーブル6
25を備える。また此のマツバは、第1、第2、第3マ
ルチプレクサ630.635 、640及び第11第2
加算fi645,650を備える。アドレス・マツバへ
の入力は、vPシーケンサ530からアドレス・バス6
02経出で受は取られ、マツバからの出力は物理アドレ
ス・バス652経出でメモリ・インタフェース520に
与えられる。2ビツトよりなるページ・ビットが、ペー
ジ・ビット線654経由でvPシーケンザ530に与え
られる。図示のように、アドレス・バスは24ビツト幅
で、物理アドレス・バスは22ビツト幅である。
アドレス・マツバの動作を理解するには、本発明システ
ムに対するアドレス機構を理解するのが役に立つ。第1
1図に示す如く、システム内に収容されるアドレスには
4種類ある:即ち、ロケーティブ、ルータ・アドレス、
仮想アドレス、及び物理アドレスである。1000人の
ユーザの必要を満たすのに十分な仮想プロセッサをサポ
ートするために、本発明システムは、たとえ仮想メモリ
内に格納された仮想プロセッサでもサポートする。この
ため、物理的にディスクに格納されているデータでも、
一つの仮想プロセッサに結合することが出来る。その結
果、本発明システムは、最大1トリリオン(#2”)個
の仮想プロセッサをサポートするように設計されている
。原理的には全アドレス領域を一人のユーザが使用する
場合があるため、CM2  (米国商標名コネクション
マシン)機は64ビツトのアドレス領域でアドレス構造
をサポートしている。
アドレスの最も一般的な形式はロケーティブで、64ビ
ツトの記憶装置を必要とする。一つのロケーティブは、
全システム内の任意の仮想プロセッサ内の任意のメモリ
位置を指定することが出来る。ロケーティブの上位40
ビツトは、どの仮想プロセッサがアクセスされているか
を指定する。下位24ビツトは該当仮想プロセッサ内で
のオフセントを指定する。2b4は全システムの仮想メ
モリの規模より大きいので、コーディングに際して冗長
度の余裕がある。詳細には、仮想プロセッサを指定して
いる40ビツトは、その仮想プロセッサが存在するPP
tl(18ビツト)と、物理的プロセシング・ユニソI
−(f’PU)の仮想メモリ内で其の仮想プロセッサが
始まる語(22ビツト)を別々に指定する。仮想プロセ
ッサは、物理的プロセシング・ユニット(PPtl)の
24ビツトの仮想アドレス領域内の任意の偶数の32ピ
ントの境界で始まる。
ルータ・アドレスは通信ネットワークで使用されるアド
レスである。これらは実質的にはロケーティブを圧縮し
た形式で、24ビツトのオフセントと仮想プロセッサの
アドレスの22ビツトのオフセット部を4倍したものを
加え合せて作られる。ルータ・アドレスはシステム内の
ある物理的プロセシング・ユニット内の仮想メモリ内の
一つの語をFW定する。ルータ・アドレスの長さは42
ビツト・で、これは全システム上の仮想メモリの語数に
対応する。
一つのPPU内では、全てのボインクは24ピントの仮
想アドレスで格納されている。このようなアドレスのう
ち、8ビツトはメモリのページを示し、16ヒツトは其
のページ内のあるバイトのアドレスを示す。ページは、
仮想メモリ・システムのデマンドをベースにしたキャッ
シングの単位である。任意の時点で、最大64ページが
メモリ内に存在する。
24ビツトの仮想アドレスは、ページ・テーブル625
によって22ビツトの物理アドレス上にマツプされる。
ページ・テーブルは、仮想メモリ内の夫々2ページを物
理メモリ内の2ページにマツプする、256語×6ビツ
トのルック・アップ・テーブルである。
アドレス・マツパ510は、機能回路に入力中の仮想ア
ドレスを受取り、これをメモリ用の物理アドレスか通信
用のルータ・アドレスのどちらかに変換する。アドレス
・マツパは次の3種類の7Fレシング・モードをサポー
トするように設計されている:即ち、ノーマル、仮想プ
ロセッサ相対、及び拡張である。ノーマル・アドレシン
グ・モードでは、24ビツトの物理アドレスが直接PP
Uから採られ、8ピントのページ数と16ビツトのオフ
セントに分かれる。8ビツトのページ数は、複数仮想ペ
ージの物理メモリへのマツピングを含ムページ・テーブ
ル625に対する索引として用いられる。参照ページが
物理メモリ内にある場合は、ページ・テーブルは、物理
メモリのどの部分に其のページが在るかを示す6ビント
のアドレスを作る。
これは16ビノトのオフセットと組み合わされて22ビ
ツトの、直接メモリ・インタフェースに行(物理アドレ
スを形成する。参照ページがスワップアウトされている
場合は、ページ・テーブルはページ・ビットの設定によ
りその行表示し、また2次記憶装置から物理メモリに其
のページがロードされるようにトラップを設ける。ペー
ジは先入れ/先出し方式でロードされるので、新しいペ
ージは最も最近ロードされたページの上にロードされる
。ページ・ビットは、成るページを逃げられなくし、絶
対に2次記憶装置へ出て行けなくするのに使用すること
も出来る。
アドレシングの第2のモードは仮想プロセッサ相対であ
る。この場合、バスから入って来るアドレスは、現在実
行されている仮想プロセッサ用の仮想プロセッサのオフ
セント・アドレスに対するオフセントと見なされる。こ
れら二つの24ビツトのアドレスは加算器650で加え
合わされて、24ビツトの仮想アドレスとなり、このア
ドレスは前記同様ページ・テーブルによって物理アドレ
スに変換される。仮想プロセッサ・オフセントは、仮想
プロセッサ・シーケンサか、また固定サイズの仮想プロ
セッサの場合は多分インクリメントすることによって設
定される。
アドレシングの最後の形式は、プロセッサ間の通信を行
うメカニズムである。この場合は、該当機能はベータ・
ルータによって計算され、そのアドレスは下記の如く算
出される:目的地のPP[Iの18ビツトのアドレスは
千ノブから来る24ビツトの物理アドレス(オフセット
)とオンセット・レジスタ610にロードされた24ビ
ツトのオンセント・ワードの和に連結される。一般的に
は、これは拡張アドレシング動作の間に其の前のサイク
ルによってロードされる。あるメソセージ・アドレスを
受は取ると、オンセントとオフセントの和から計算され
た、受は取られたアドレスのメモリ部分が、仮想メモリ
・アドレスとして使用され、ノーマル・アドレシングの
場合のように、ページ・テーブルによって索引されて物
理アドレスになる。
メモリ・インタフェース・ユニット520は、アドレシ
ングの物理的多重化とDI’?AMのリフレッシュを受
は持つ。第7図に示すように、インタフェース・ユニッ
ト520はリフレッシュ・カウンタ660、行番号レジ
スタ665、マルチプレクサ670、及び比較器675
よりなる。マルチプレクサ670は、22ビツトの物理
アドレスを11本のアドレス・ピンに多重化する。リフ
レッシュ・カウンタ660は故障診断のためにリセット
できる。メモリ・インタフェース・ユニットは、今日大
部分のDRA旧こよってサポートされている高速ブロッ
ク・モード・アクセスを利用するように設計されている
。これを行うために、メモリ・インタフェース・ユニッ
トは行番号レジスタ665に最後にアクセスされた行の
番号を格納する。もし比較器675が前回のアクセスと
同じ行にアクセスするように決めると、アドレスの列部
分だけをストローブする高速サイクルが実行される。こ
うして、メモリの同じブロックに対する参照は一般のラ
ンダム・アクセスに要する時間の約半分で実行される。
これは順序データのブロックにアクセスするのに特に重
要である。
仮想プロセッサ・シーケンサ530は、仮想プロセッサ
のオーバヘッドに必要なリスト操作を迅速に行うための
簡単な有限状態のステー1・・マシンである。PPuは
多数の仮想プロセッサの動作を時間的に順次多重化して
実行する。仮想プロセッサ当たりの仮想メモリ金は完全
に可変であるが、PPUのメモリ領域(その仮想メモリ
を含み)の成る部分は各仮想プロセッサに割付けられる
。一般に、一つのPPUによって実行される複数仮想プ
ロセンサは、幾つかの別のタスクに従事している。各タ
スクに対して、そのPPuは、そのタスクの現在のコン
テキストの中に、実行中のオーダを使用するために、全
てのブロモ・ノサを順位付けなければならない。そのP
PUはタスクの順序に対応したオーダ夫々に全て順位付
けしなければならない。しかし、実行中のタスクのコン
テキスト内に無いPPUによって実行される複数仮想プ
ロセッサを順位付ける必要はない。その結果、PPUに
よって実行される仮想プロセッサに順位付けを行うのに
要する時間は大幅に節約される。
仮想プロセッサと多重タスク・コンテキスト切換えの双
方とも直接ハードウェアでサポートされる。メモリ内の
仮想プロセッサの編成は第12図に概略が示しである。
タスクはタスク・リストと呼ばれる環状のリストに結合
され、PPtlは任意の時点でタスク・リスト中のタス
クの一つに対するポインタを持っている。シーケンサ5
30に助けられて、PPUは、次のタスクに行く前に、
現在のタスクのコンテキスト中の全ての仮想プロセッサ
に対するオーダを実行しながら、各タスクを順番に循環
する。こうして、コンテキストが比較的小さければ、全
ての仮想プロセッサが現在のコンテキスト内にある場合
よりも短い時間内に実行される。
各タスクは、3個の情報を含む一つのヘッダに結合して
いる:即ち、現在のコンテキストに対するポインタ、結
合されたリストとして格納されたスタックに対するポイ
ンタ、及びタスク内の全仮想プロセッサのリストに対す
るポインタである。
シーケンサは、また、タスク・リスト内の次のタスクに
対するポインタと、優先順位や実行の統計のようなタス
クに関する補助的情報を持っている。PpUは、コンテ
キスト・ポインタから始めてゼロのターミネータに達す
るまで、結合されたリストに従って、仮想メモリ内の各
仮想プロセッサの位置を決める。これらのリストはメモ
リの保護区域内に格納される。
「ブツシュ・コンテキスト」命令を実行するため、Pr
’tlは新しい記憶素子を割付け、現在のコンテキスト
・ポインタをスタックの上に押し付け、スタック・ポイ
ンタをスタックの最上部に変える。「ポツプ・コンテキ
スト」命令は、若しスタックがアンダフローした時は最
上位コンテキスト・ポインタが使用されること以外は、
丁度逆である。次に最も一般的な操作は、コンテキスト
を成る条件に従って現在のコンテキストのサブセントに
制限することである。この場合は、仮想プロセッサのリ
ストは、現在のコンテキストから出発して、その条件に
従って分かれる。その指定された条件に適合する複数仮
想プロセッサはリストの最後に付加される。そうすると
、そのリストの終りに対するポインタが現在のコンテキ
ストになる。こうして、連続したコンテキストを表す入
子になったサブセントの系列が効率的に格納される。こ
の方式で、現在のコンテキスト中にない仮想プロセッサ
は、オーダの実行中、オーバヘッドを招くことがない。
第8図に示すように、仮想プロセッサ・シーケンサ53
0は、5個の一次レジスタを持っており、これらは夫々
仮想プロセッサ・アドレスの上位22ピントを保持する
ことが出来る。コンテキスト・レジスタ680は現在の
コンテキスト・リストの開始位置に対するポインタを保
持する。スタック・レジスタ685は現在のタスクのコ
ンテキスト・スタックに対するポインタを保持する。ト
ップ・レジスタ690は現在のスタックのコンテキスト
・リストの最上部に対するポインタを保持する。タスク
・レジスタ695はタスク・リスト中の次のタスクに対
するポインタを保持し、ネクスト・レジスタ700は、
仮想プロセッサ・リスト内の次の仮想プロセッサに対す
るポインタを保持する。必要に応じて補助的情報を格納
する付加レジスタを使用することが出来る。シーケンサ
530の出力は、プロゲラマフ゛ル・ロジック・アレイ
(PL八)71Oからの信号に応じて、マルチプレクサ
715によって選択される。
仮想プロセッサ・シーケンサは、その中に、これらのレ
ジスタを操作し、且つアドレス・マツパとオーダ・キャ
ッシュ内のレジスタを制御するために、状態レジスタ7
05とPLA710で実行される有限状態マシンを有し
ている。この有限状態マシンは、タスクと仮想プロセッ
サの双方のスワツピングというオーバヘッドを実行する
のに必要なリスト15作命令の順位付けを行う。状態マ
シンの出力は現在の状態と、機能回路の残りの部分から
来る条件ビット、例えば、ページ・テーブル625のペ
ージ・ビットとに依存する。PLΔはゼロ検出器720
によって検出された現在のデータがゼロか否かによって
条件的に移行を行うことが出来る。ある意味では、仮想
プロセッサ・シーケンサは算術演算ユニットを持たない
非常に簡単なコンピュータである。
データ・キャッシュ540は読み取り専用データをキャ
ッシュするための全〈従来通りのキャッシュである。
誤り訂正器550は、6ビノトのハミング・コードに基
いた、標準的な1ビット誤り訂正、多ビット誤り検出ロ
ジックである。第9図に示すように、それは、ライン・
ドライバ740,745,750,755□パリテイ・
ビット計算用の誤り制御回路760,765、パリティ
・ビット検出用の排他的オア・ゲート770、誤りが訂
正できるか否かを決めるデコーダ775゜及び検出した
誤りを訂正する為の排他的オア・ゲート780より成る
。誤り制御回路760は、物理的メモリに書込まれた全
てのデータに誤り訂正ビットを加算する。物理メモリか
ら読出された全てのデータは、誤り制御回路765でメ
モリから読だされたデータに対するパリティ・ビットを
再計算し、これらのビットを排他的オア(XOR)ゲー
ト770でメモリから読出したパリティ・ビットと比較
することによって点検する。デコーダ775は誤りが訂
正可能か否かを決定し、もし可能ならば適当な信号をX
ORゲート770に与えて訂正を行う。複数の誤りが生
じた場合は、デコーダ775によってユニットの故障を
通報する。
アルファ及びベータ・ルータ560,570は夫々、命
令およびデータの分配に使用され、そのルーティングの
ハードウェアは分かれているが、物理的な通信線は共通
に使われる。第10図に示すように、アルファ・ルータ
560は、フリップ・フロンプ805 A−Nにより制
御されたアンド・ゲート800A−Nのアレイ、第1及
び第2オア・ゲート810.815、フリップ・フロッ
プ825 A−Nにより制御されたマルチプレクサ82
0 A−Nのアレイ、フリップ・フロップ832,83
4により制御された第1マルチプレクサ830、及びフ
リップ・フロップ842により制御された第2マルチプ
レクサ840により構成されている。入力線802 A
−Nはアンド・ゲート800 A−Nに入力され、出力
線822 A−Nはマルチプレクサ820 A−Nから
伸びている。これらの線は一つのPPUのアルファ・ル
ータを2進超立方体内の最近接複数PPUのアルファ・
ルータに接続する。従って、アンド・ゲート800 A
−N 1マルチプレクサ820^−N及びこれらに関連
した回路の数は、超立方体の次元の数、実例では18、
に対応しているが、図ではその中の3個だけが示しであ
る。各次元に対応する入出力線は同じアルファ・ルータ
に接続するから、必要ならばこれらの線は多重化できる
更に、これらの線はベータ・ルータの入出力線として同
じ複数PPUに接続しているから、ベータ・ルータの線
と多重化することができる。
アルファ・ルータは命令を配分し、同期させるのに使用
される。それは本質的に、任意のプロセンサ又は任意の
複数のプロセッサが同時に命令の送出源となることが出
来る点を除けば、米国特許第4 、598.400号中
に述べられている命令分配トリー及びグローバル・オア
・トリーと同じ#R能を行5う。これらの命令はオーダ
と呼ばれるグループにまとめられる。一つのオーダの実
行はマシン全体を通してアルファ・ルータによって同期
されるため、一つのオーダが完全に実行され終わってか
ら次ぎのオーダが出される。
放送されるべきオーダはローカル・インタセプタ580
からのオーダ入力線上で受取られ、他のルータから受取
られるオーダはオーダ出力線経由でオーダ・キャッシュ
540に与えられる。受取ったオーダが完了したことを
示す同期信号は、PPUによって同期入力線でルータへ
与えられ、他のPPtlによって一つのオーダが完了し
たことを示す信号はPPuへ同期出力線によって与えら
れる。
アルファ・ルータの動作モードは、PPuから受取る信
号に従ってフリップ・フロップによって制御される。だ
から、特定の場所のPPuが他の複数のIIP[Iヘオ
ーダを放送するときには、オーダ入力線上で其の信号を
送出できるようにマルチプレクサ840をフリップ・フ
ロップ842がセットし、それからフリップ・フロップ
825^−Nがマルチプレクサ82OA−Nをこれらの
信号を送出するようにセットする。特定個所のPPUが
他のPPUからオーダを受取るときには、オーダが来る
と予想されるマルチプレクサ830への特定の入力次元
の線を指定するようにフリップ・フリップ832,83
4がセントされる。オーダを他のPPuへ通過させると
きには、フリップ・フロップ842は、その信号をマル
チプレクサ830からマルチプレクサ820 A−Nへ
送るように、マルチプレクサ840をセットする。この
構成によって、一つのPPUがオーダをその最近隣接P
PUへ放送することができ、そうして夫等を制御するこ
とが出来る、こうして各PPUはその最近隣接proか
らのオーダを聴き取って、そのt誇示に従うことが出来
る。
一つのオーダが出されたのち、そのオーダを出したPP
Uはオーダの行動を同期信号により監視する。PPUは
オア・ゲート815への同期入力線を介して、かつ、マ
ルチプレクサ820 A−Nがオア・ゲート815から
信号を出すようにフリップ・フロップ825 A−Nを
セットすることにより、同期信号を出す。同期信号は、
アンド・ゲート800 A−Nが受取った信号をオア・
ゲート810へ通過させるようにフリップ・フロップ8
05八−Nをセットすることにより受取られる。オア・
ゲート810の出力は、また、オア・ゲート815への
入力を経由して他のPPUへ通される。この構成により
、一つのPPUは、それが制御する最近隣接PPUから
の同期信号を受信し、それが制御していない他のPPU
からの信号を無視することが出来る。
ベータ・ルータ570は米国特許第4.598,400
号に述べられているルータと本質的に同じ種類のもので
ある。第17図(特開昭60〜84661号の第11図
)に示すように、ベータ・ルータは第5図に示すキユー
ザ・ピン572経由で超立方体内の最近隣接複数ppu
のベータ・ルータと交信する入力、出力線38.39の
アレイを有している。メッセージ・パケットはアドレス
・マツパ510とデータ・キャッシュ540経由でマイ
クロプロセッサからベータ・ルータ570に供給され、
そして受信されたメッセージ・パケットはマイクロプロ
セッサへこれら同一素子経由で供給される。入力線と出
力線は互いに多重化することができ、また、これらはア
ルファ・ルータの線802 A−N及び822 A−N
と多重化することが出来る。
ベータ・ルータは本質的にLfffi頬の機能を担う。
それは米国特許第4,598,400号の場合同様、あ
るPPUから他のPPUへ経路を指定してメッセージ・
パケットを送る。他のPPtlに結合しているメモリへ
、ベータ・ルータが結合しているPPUからのメモリ要
求に対応したメツセージ・パトソトを作る。ベータ・ル
ータは、それが結合しているPPUへ当てた他の複数P
PUからのメッセージ・パケット入力を受取り、これら
メツセージを適当に配分する。後者の2機能は新しいも
のであるが、各機能におけるメッセージ・パケットの経
路指定法は米国特許第4,598,400号に述べられ
ているものと同一である。
完全に形成した本発明の並列コンピュータは高価なリソ
ース(資源)であり、多分、単一ユーザが、かなりの期
間占有するには高価すぎる。このコンピュータの設計前
提事項の一つは、これは丙子ものユーザによって同時に
使用できるということである。一つのユーザのピーク要
求量は極めて大きいかもしれないが、平均要求量は比較
的控目に、例えば1ユーザ、1秒当たり百方命令、と仮
定しである。更に、ユーザはただ計算サイクルだけでな
く、他の共用リソース、例えば、共用データ・ベース内
の情報を利用することが出来ると仮定している。
このリソースを共用するための技術は、複数ユーザが空
間および時間的に共用して此のコンピュータの空間一時
間リソースを分割しているから、時分割との類似から、
空間分割と呼べるであろう。この意味で、空間分割は、
時間の多重化をも包含しているので、より正確には「空
間一時間分割」と呼ぶべきであろう。空間一時間分割は
、板金、全ユーザが全システムに常に均一な負荷をかけ
たとしても作用するであろうが、典型的ユーザの負荷に
は下記のような不均一性があるので、ユーザに知覚され
る利益に関して、一層都合よく作用する: アイドル・クイム:多(のユーザはマシンを使用してい
るとき、殆どの場合、本当に必要なのは極めて僅かなサ
イクルだけである。これは特に照会や共用データ・ベー
スをサポートするトランザクション・ベースのシステム
に当てはまる。
不均一な並列性:並列プログラムを実行しているとき、
そのプログラムに同時に何十万もの仮想プロセッサを有
効に利用できる個所が多数あり、また、一時に一語の実
行で十分な個所もある。
不均一なメモリ要求:多くのユーザは、任意の時点で、
此のコンピュータの1テラ(兆)バイトのメモリの比較
的僅かな部分への直接アクセスを要求するだけである。
データの共通性:多くのユーザは短時間内に同じデータ
・ベースにアクセスするため、そのデータ・ベースを比
較的低価格でメイン・メモリ内に保持しておくことが出
来る、同じことが共用ソフトウェアについても成り立つ
これらの不均一性を利用するために、此のコンピュータ
は、実行時間の要求に基づいて、物理的プロセッサを仮
想プロセッサにグイナミソクに割付ける。従って、−人
のユーザは、アプリケーションが使用すると予想される
母に応じてではなく、アプリケーションが実際に使用す
る量に応じてリソースを消費する。
ベータ・ルータの一つの特徴として、別々のユーザの間
に空間分割を与えるために、PPUのアレイを細分割す
ることを可能になる。第17図に示すように、G−in
(G=GranL許可)入力端子は成るppuから他の
PPUヘメソセージ・パケットを伝える通信線39への
アクセスを制御する。この線が切れた場合、その線に結
合したG−in入力端子に低い信号を与えて夫をネット
ワークから除去できる。本発明によれば、その超立方体
の任意の創立方体は、その創立方体を超立方体の残りに
結合する通信線に結合したG−in入力端子に低い信号
を与えることにより、超立方体の残りの部分から隔離さ
れる。
例えば、256個のppuの創立方体は、各創立方体の
・8〜18次元に対する通信線に結合されたG−in入
力端子に単に低い信号を与えるだけで、■8次元超立方
体から隔離することが出来る。同時に、超立方体の他の
部分の多数の創立方体を、使用されていない通信線に結
合したG−in入力端子に低い信号を与えることによっ
て、超立方体から同様に隔離することが出来る。
これを行うために、各PP[Iのマイクロプロセッサに
、創立方体の特定された構成に応じて、低い信号を印加
できるように、G−4n入力端子へのアクセスが与えら
れる。実例としては、アクセスは、其のPPuのマイク
ロプロセッサにより出力状態が制御される図示してない
フロップ・フロップにより供給される。
本発明によれば、命令中の一つのタグ・ビットが、他の
PPUによって並列に実行されるべき並列命令であるこ
とを見極める。インタセプタ580は、此のタグ・ビッ
トを検査する。PPUによってメモリからアクセスされ
た全てのデータはインタセプタ580を通過する。デー
タのタグ・ビットが、それが並列命令であることを示し
ている場合は、データ・ピンにno−op命令が送られ
て、インタセプタはアルファ・ルータへ並列命令を送っ
て他の複数PPUへ放送させる。タグ・ビットが並列命
令を示していない場合は、その命令はデータ・ピンを通
ってPPUへ送られる。
オーダ・キャンシュ590は、アルファ・ルータからの
オーダを格納するのに用いるメモリである。仮想プロセ
ッサ・シーケンサ530は、PP[Iにオーダ・キャッ
シュからの命令にアクセスさせ、各仮想プロセッサ上で
動作を実行させる。オーダ・キャッシュは、実質的には
、各タスクによって並列に操作されている複数命令に対
する命令キャッシュである。実例としては、キャッシュ
は256語の奥行きがある。
このコンピュータの内部では部品が重複されているため
、自然に、冗長性により耐故障性を得るにの適している
。データベース内の記憶は全て、クアソプ・モジュール
からのデータが使用され、他のバックアップを作るため
に複製される。あるプロセッサ・モジュールが故障する
と、それは後釜ができるまでシステムから隔離され、残
りの作動中のプロセッサの組の中から物理プロセッサが
割付けられる。
この種の耐故障性システムの中で最も困難な問題は、故
障が発生した場合の検出、切離しと、故障が生じたとき
に処理中のタスクの取扱である。
ここに、タスクが=tXに完了する確率と其のタスクに
割付けられるハードウェア量の間には交換関係がある。
本発明の並列コンピュータでは、ユーザは、タスクの重
大性に応じて実行時に、この交換を行うことが出来る。
必要な冗長度の量に応じて、タスクは3種類のモードの
一つで実行することが出来る。
システムの最も簡単な動作モードでは、第5図中に示し
た誤り訂正回路550のような自己点検ハードウェアが
故障の検出と隔離に用いられる。このハードウェアは、
最も頻繁に発生する誤りや故障、例えば、訂正不能なメ
モリ・エラー、パワーのロス、及び通信中の訂正不能エ
ラーなどを検出することが出来る。動作の自己点検モー
ドの際に、故障が自己点検回路によって検出されると、
現在のトランザクションは中断され、ハードウェアは故
障個所を切り離すために再構成される。それからトラン
ザクションは最初から再開される。
自己点検回路は発生する大部分のエラーを検出できるけ
れども、全ての種類のエラーを検出できると保証されて
はいない。特に、PPU自身の内部で生ずる多くのエラ
ーは検出されない。二M冗長モードでは、動作システム
は、其のプログラムの二つの同一コピーを、二つの物理
的に別なプロセッサの同形の組に実行させ、所定時間毎
に中間結果を比較する。(n次元立方体パターンをとる
通信システムの配線は、このような比較のために、厳密
に正しい通信経路を提供する。)この比較機構は、如何
なる誤りでも、そして其の誤りが生じた原因をも、確実
に検出する。二重冗長モードで一旦エラーが検出される
と、それらは自己点検モードの場合と正確に同じ方法で
扱われる。二つのプロセッサは、どちらのプロセッサが
故障していたか診断して決定できるまで、システムから
隔離される。
上記自己点検および二重冗長モードの不利な点は、エラ
ーが発生した場合、トランザクションを再スタートさせ
る必要があることである。これば、比較的小さいトラン
ザクションにうまく分解できないタスクにとっては許容
できるであろう。また、ある種のタスクは実時間処理が
必要でトランザクションの再試行が許容されない。これ
ら二つの場合に対しては、4重冗長モードがフェイルセ
ーフ処理を達成するのに通したモードである。
4重冗長モードでは、アプリケーションの4個の同じコ
ピーが同期して実行される。各タスクはその演算を循環
的な方法で他と比較する、例えば、AはBをチェックし
、BはCをチェックし、CはDをチェックし、そしてD
はAをチェックする。エラーが生ずると、比較不一致の
パターンによって、検出および隔離される。この場合、
その処理過程の正しい状態は、エラーの生じていないタ
スクの一つから他の副室方体にコピーされ、演算は顕著
な中断なしに続行される。3重よりも、4mの冗長度を
使用するので、n次元立方体内で比較のために適当な配
線が得られる。
本発明の趣旨と範囲内で、上記方法と装置の多数の変形
が可能である。例えば、本発明は2進超立方体の形式に
構成された並列プロセッサのアレイに関係して述べられ
ているが、米国特許第4,598.400号に述べたよ
うな他の構成も使用できることが理解されるであろう。
そのような場合には、明らかに、プロセッサ・アレイ内
の信号伝送のための上記アルファ及びベータ・ルータの
ような通信装置について、適当な変更を必要となる。
〔発明の効果〕
以上説明したように本発明によれば、多数のプロセンサ
やメモリを用いた大型の並列プロセッサ形超大型コンピ
ュータを、極めて多数のユーザが同時に互いに他人とは
独立して、空間分割一時間分割的に、その分割状態を各
ユーザの使用状態に応じて時々刻々ダイナミックに変え
ながら、かつ、使用するハードウェアに十分な冗長度を
持たせてフェイルセーフ性を保持しながら、非常に効率
良く使用することが出来る。
【図面の簡単な説明】
第1図は本発明一実施例の全体概略図、第2図は本発明
に係るプロセッサ・ユニット(PPU)の概略図、第3
図、第4図はプロセッサ・ユニットを並列プロセッサの
アレイに構成した例を示す図、第5図はプロセッサ・ユ
ニットの機能回路を示す詳細図、第6〜10図は第5図
に示した各要素の詳細図、第11図は本発明実施例のア
ドレス指定機構を示す図、第12図はメモリ内の仮想プ
ロセッサの概略構成図、第13図は従来並列プロセッサ
の概略構成図、第14図は従来の並列プロセッサの各I
C内のプロセッサ/メモリの配列を示す図、第15図は
従来のプロセンサ/メモリの概略図、第16図は従来の
経路指定回路例を示す図、第17図は従来の経路指定回
路中のセル・アレイで構成されるライン・アサイナの概
略図である。 35−・=IC136−−−−プロセツサ/メモリ、 
 3B−ICからの出力線、 39−・ICへの入力線
、 200・・・ルータ(経路指定回路)、400−経
路指定論理セル、 300−・・本発明システム、31
0 A−N・一端末、320−・ローカル・エリア・ネ
ットワーク、330−・・プロセッサ・アレイ、350
−・−マイクロプロセッサ、360−機能回路、370
・−メモリ、 510−アドレス・マツパ、530・−
仮想プロセッサ・シーケンサ、550−・誤り訂正器、
560−アルファ・ルータ、570−ベータ・ルータ。

Claims (1)

  1. 【特許請求の範囲】 1、それぞれが、一つのプロセッサ、一つの読み書きメ
    モリ、及び制御回路からなる複数のプロセッサ・ユニッ
    トで形成された並列コンピュータにおいて、前記制御回
    路が、 アドレス指定されたメッセージ・パケットを並列コンピ
    ュータ内の一つのプロセッサ・ユニットから他のユニッ
    トへ送る経路を指定することによりプロセッサ・ユニッ
    ト間を相互に接続する手段と、 動作中のプロセッサ・ユニットの第1グループと第2グ
    ループの間にメッセージ・パケットの経路が指定される
    のを防止し、それにより並列コンピュータを互いに影響
    し合わない複数グループに分割する手段と を具備することを特徴とする超大型コンピュータ。 2、前記相互接続手段が、プロセッサ・ユニット間の通
    信線と、これら通信線へのアクセスを優先順位により制
    御する手段を含む、通信線へのメッセージ・パケットの
    経路を指定する為の経路指定手段とよりなり、且つ、前
    記防止手段が、前記通信線へのアクセスを防止するよう
    に前記制御回路をを設定する手段よりなる特許請求の範
    囲第1項指定の超大型コンピュータ。 3、並列コンピュータが、それぞれ命令を連続して順次
    実行することが出来る複数のプロセッサ、及び、前記複
    数のプロセッサにより並列に実行すべき命令か、そうで
    ない命令かを識別するための手段とを具備することを特
    徴とする超大型コンピュータ。 4、命令を識別するための前記手段が、各命令中のタグ
    ・ビットと、このタグ・ビットを検出し、タグ・ビット
    が並列命令であると同定した際には、その命令を並列に
    実行させる手段とを具備する特許請求の範囲第3項記載
    の超大型コンピュータ。 5、並列コンピュータが、 それぞれが夫自身の読み書きメモリを有する複数のプロ
    セッサと、 信号線によって超立方体を形成するように前記プロセッ
    サを相互接続する手段と、 前記複数プロセッサを少なくとも第1と第2の複数プロ
    セッサの同形のグループに再分割し、これらグループが
    亦、前記プロセッサに結合された読み書きメモリ夫々の
    中に格納されたデータに関して同形になっているように
    する手段と、 前記複数プロセッサ間を超立方体の形に相互接続する信
    号線を用いて、第1、第2グループで並列に実行された
    コンピュータ命令の実行結果を比較することにより、コ
    ンピュータ命令実行時の誤動作を検出する手段と を具備することを特徴とする超大型コンピュータ。 6、並列コンピュータが、それぞれ夫自身の読み書きメ
    モリを有する複数のプロセッサと、前記プロセッサと読
    み書きメモリ夫々を付加プロセッサをシミュレートする
    ように動作させる手段と、前記シミュレートされた付加
    プロセッサに含まれる前記複数プロセッサを、一つのプ
    ロセッサが少なくとも他の一つのプロセッサを制御し此
    のプロセッサが少なくとも更に一つのプロセッサを制御
    するように、繰り返し制御する手段とを備えていること
    を特徴とする超大型コンピュータ。 7、並列コンピュータが、複数のプロセッサと、これら
    プロセッサの間で信号する手段を備え、この手段が、前
    記プロセッサ間の信号線と、アドレス指定されたメッセ
    ージ・パケットを前記プロセッサ間で送受する経路を指
    定する手段と、命令を最初のプロセッサから選定された
    他の複数プロセッサへ放送する手段と、前記放送された
    命令の実行を示す信号を求めて前記選定された他のプロ
    セッサからの通信線を前記最初のプロセッサから監視す
    る手段とよりなることを特徴とする超大型コンピュータ
    。 8、並列コンピュータが、更に前記監視手段で検出され
    た信号に応じて、前記命令の放送を同期させる手段を備
    えている特許請求の範囲第7項記載の超大型コンピュー
    タ。 9、並列コンピュータの誤動作を検出する方法が、それ
    ぞれが夫自身の読み書きメモリを有する複数のプロセッ
    サを信号線で相互接続して超立方体を形成させるステッ
    プと、 前記複数プロセッサを少なくとも第1と第2の複数プロ
    セッサの同形のグループに再分割し、これらグループが
    亦、前記プロセッサに結合された読み書きメモリ夫々の
    中に格納されたデータに関して同形になっているように
    するステップと、 前記複数プロセッサ間を超立方体に相互接続する信号線
    を用いて、第1、第2グループで並列に実行されたコン
    ピュータ命令の実行結果を比較することにより、コンピ
    ュータ命令実行時の誤動作を検出するステップと よりなることを特徴とる超大型コンピュータの誤動作検
    出法。
JP62213190A 1986-08-29 1987-08-28 並列コンピュータシステム Expired - Lifetime JP2792649B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US90229086A 1986-08-29 1986-08-29
US902290 1986-08-29

Publications (2)

Publication Number Publication Date
JPS63145567A true JPS63145567A (ja) 1988-06-17
JP2792649B2 JP2792649B2 (ja) 1998-09-03

Family

ID=25415622

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62213190A Expired - Lifetime JP2792649B2 (ja) 1986-08-29 1987-08-28 並列コンピュータシステム

Country Status (9)

Country Link
US (3) US5129077A (ja)
EP (1) EP0262750B1 (ja)
JP (1) JP2792649B2 (ja)
KR (1) KR960012654B1 (ja)
CN (1) CN1020972C (ja)
CA (1) CA1293819C (ja)
DE (1) DE3751616T2 (ja)
IN (1) IN170067B (ja)
WO (1) WO1988001772A1 (ja)

Families Citing this family (188)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4985832A (en) * 1986-09-18 1991-01-15 Digital Equipment Corporation SIMD array processing system with routing networks having plurality of switching stages to transfer messages among processors
US5175865A (en) * 1986-10-28 1992-12-29 Thinking Machines Corporation Partitioning the processors of a massively parallel single array processor into sub-arrays selectively controlled by host computers
US5418970A (en) * 1986-12-17 1995-05-23 Massachusetts Institute Of Technology Parallel processing system with processor array with processing elements addressing associated memories using host supplied address value and base register content
US5282201A (en) * 1987-12-22 1994-01-25 Kendall Square Research Corporation Dynamic packet routing network
US5251308A (en) * 1987-12-22 1993-10-05 Kendall Square Research Corporation Shared memory multiprocessor with data hiding and post-store
US5822578A (en) * 1987-12-22 1998-10-13 Sun Microsystems, Inc. System for inserting instructions into processor instruction stream in order to perform interrupt processing
US5341483A (en) * 1987-12-22 1994-08-23 Kendall Square Research Corporation Dynamic hierarchial associative memory
US5761413A (en) * 1987-12-22 1998-06-02 Sun Microsystems, Inc. Fault containment system for multiprocessor with shared memory
US5226039A (en) * 1987-12-22 1993-07-06 Kendall Square Research Corporation Packet routing switch
US5055999A (en) * 1987-12-22 1991-10-08 Kendall Square Research Corporation Multiprocessor digital data processing system
EP0605401B1 (en) * 1988-09-19 1998-04-22 Fujitsu Limited Parallel computer system using a SIMD method
US5276893A (en) * 1989-02-08 1994-01-04 Yvon Savaria Parallel microprocessor architecture
DE69132495T2 (de) * 1990-03-16 2001-06-13 Texas Instruments Inc., Dallas Verteilter Verarbeitungsspeicher
US5168499A (en) * 1990-05-02 1992-12-01 California Institute Of Technology Fault detection and bypass in a sequence information signal processor
JP3179513B2 (ja) * 1990-05-10 2001-06-25 ヒューレット・パッカード・カンパニー 異種ネットワーク環境における適用業務プログラムの統合システム
US5193202A (en) * 1990-05-29 1993-03-09 Wavetracer, Inc. Processor array with relocated operand physical address generator capable of data transfer to distant physical processor for each virtual processor while simulating dimensionally larger array processor
US5157785A (en) * 1990-05-29 1992-10-20 Wavetracer, Inc. Process cell for an n-dimensional processor array having a single input element with 2n data inputs, memory, and full function arithmetic logic unit
US5367636A (en) * 1990-09-24 1994-11-22 Ncube Corporation Hypercube processor network in which the processor indentification numbers of two processors connected to each other through port number n, vary only in the nth bit
US5777609A (en) * 1990-10-29 1998-07-07 Societe Nationale Elf Aquitaine Method of exploiting colors on screen
US5765011A (en) * 1990-11-13 1998-06-09 International Business Machines Corporation Parallel processing system having a synchronous SIMD processing with processing elements emulating SIMD operation using individual instruction streams
US5617577A (en) * 1990-11-13 1997-04-01 International Business Machines Corporation Advanced parallel array processor I/O connection
US5590345A (en) * 1990-11-13 1996-12-31 International Business Machines Corporation Advanced parallel array processor(APAP)
US5825773A (en) * 1991-03-20 1998-10-20 Hitachi, Ltd. Switching system for transferring broadcast packet held in broadcast buffer received from input port to output ports according to the state of each output port
US5426747A (en) * 1991-03-22 1995-06-20 Object Design, Inc. Method and apparatus for virtual memory mapping and transaction management in an object-oriented database system
US5442772A (en) * 1991-03-29 1995-08-15 International Business Machines Corporation Common breakpoint in virtual time logic simulation for parallel processors
FR2675923A1 (fr) * 1991-04-25 1992-10-30 Yonter Eric Architecture de systeme informatique massivement parallele.
JP3679813B2 (ja) * 1991-07-22 2005-08-03 株式会社日立製作所 並列計算機
US5313647A (en) * 1991-09-20 1994-05-17 Kendall Square Research Corporation Digital data processor with improved checkpointing and forking
CA2078315A1 (en) * 1991-09-20 1993-03-21 Christopher L. Reeve Parallel processing apparatus and method for utilizing tiling
CA2078312A1 (en) 1991-09-20 1993-03-21 Mark A. Kaufman Digital data processor with improved paging
RO105026B1 (en) * 1991-10-10 1993-09-01 Ion Minca Network structure for parallel processing of calcullation programs
US5564107A (en) * 1991-11-13 1996-10-08 Atalla; Martin M. Microcell computer system and method using cell access switch and moving memory architecture
US5594915A (en) * 1991-11-13 1997-01-14 Atalla; Martin M. Microcell computer system and method using cell access switch and functionally partitioned moving memory architecture
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
US5347654A (en) * 1992-02-03 1994-09-13 Thinking Machines Corporation System and method for optimizing and generating computer-based code in a parallel processing environment
JP3375658B2 (ja) * 1992-03-19 2003-02-10 株式会社日立製作所 並列計算機およびそのためのネットワーク
US6047122A (en) * 1992-05-07 2000-04-04 Tm Patents, L.P. System for method for performing a context switch operation in a massively parallel computer system
US5758053A (en) * 1992-07-22 1998-05-26 Hitachi, Ltd. Fault handling and recovery for system having plural processors
US5581778A (en) * 1992-08-05 1996-12-03 David Sarnoff Researach Center Advanced massively parallel computer using a field of the instruction to selectively enable the profiling counter to increase its value in response to the system clock
US5579527A (en) * 1992-08-05 1996-11-26 David Sarnoff Research Center Apparatus for alternately activating a multiplier and a match unit
JP2977688B2 (ja) * 1992-12-18 1999-11-15 富士通株式会社 マルチプロセッシング装置、方法、及びこれらに使用するプロセッサ
US5574914A (en) * 1993-01-04 1996-11-12 Unisys Corporation Method and apparatus for performing system resource partitioning
JPH06243113A (ja) * 1993-02-19 1994-09-02 Fujitsu Ltd 並列計算機における計算モデルのマッピング法
JPH06325005A (ja) * 1993-05-14 1994-11-25 Fujitsu Ltd 再構成可能なトーラス・ネットワーク方式
DE59408657D1 (de) * 1993-06-30 1999-09-30 Anton Gunzinger Intelligentes kommunikations-system
FR2707776B1 (fr) 1993-07-15 1995-08-18 Bull Sa Procédé de gestion de mémoires d'un système informatique, système informatique mémoire et support d'enregistrement mettant en Óoeuvre le procédé.
FR2707778B1 (fr) * 1993-07-15 1995-08-18 Bull Sa NÓoeud de processeurs.
CA2129882A1 (en) * 1993-08-12 1995-02-13 Soheil Shams Dynamically reconfigurable interprocessor communication network for simd multiprocessors and apparatus implementing same
US5784706A (en) 1993-12-13 1998-07-21 Cray Research, Inc. Virtual to logical to physical address translation for distributed memory massively parallel processing systems
GB2286067A (en) * 1993-12-23 1995-08-02 Motorola Inc A processor system
US5515501A (en) * 1994-01-21 1996-05-07 Unisys Corporation Redundant maintenance architecture
JP3300776B2 (ja) * 1994-03-15 2002-07-08 株式会社日立製作所 並列プロセッサの切替え制御方式
US5611054A (en) * 1994-03-18 1997-03-11 Intel Corporation Method and apparatus for decoding and recoding of addresses
US5600822A (en) * 1994-04-05 1997-02-04 International Business Machines Corporation Resource allocation synchronization in a parallel processing system
WO1995028686A1 (en) * 1994-04-15 1995-10-26 David Sarnoff Research Center, Inc. Parallel processing computer containing a multiple instruction stream processing architecture
US5586289A (en) * 1994-04-15 1996-12-17 David Sarnoff Research Center, Inc. Method and apparatus for accessing local storage within a parallel processing computer
US5463732A (en) * 1994-05-13 1995-10-31 David Sarnoff Research Center, Inc. Method and apparatus for accessing a distributed data buffer
JP2625385B2 (ja) * 1994-06-30 1997-07-02 日本電気株式会社 マルチプロセッサシステム
US5832287A (en) * 1994-07-11 1998-11-03 Atalla; Martin M. Wideband on-demand video distribution system and method
US5671377A (en) * 1994-07-19 1997-09-23 David Sarnoff Research Center, Inc. System for supplying streams of data to multiple users by distributing a data stream to multiple processors and enabling each user to manipulate supplied data stream
JP3560662B2 (ja) * 1994-12-06 2004-09-02 富士通株式会社 並列プロセッサ装置
US5640584A (en) * 1994-12-12 1997-06-17 Ncr Corporation Virtual processor method and apparatus for enhancing parallelism and availability in computer systems
US5603005A (en) * 1994-12-27 1997-02-11 Unisys Corporation Cache coherency scheme for XBAR storage structure with delayed invalidates until associated write request is executed
US5717942A (en) * 1994-12-27 1998-02-10 Unisys Corporation Reset for independent partitions within a computer system
US5710938A (en) * 1995-07-19 1998-01-20 Unisys Corporation Data processing array in which sub-arrays are established and run independently
KR970043012A (ko) * 1995-12-19 1997-07-26 백운화 효과적인 현탁배양을 위한 식물세포 배양장치
US5913070A (en) * 1996-01-16 1999-06-15 Tm Patents, L.P. Inter-connector for use with a partitionable massively parallel processing system
US5918243A (en) * 1996-01-30 1999-06-29 International Business Machines Corporation Computer mechanism for reducing DASD arm contention during parallel processing
US5675768A (en) * 1996-02-01 1997-10-07 Unisys Corporation Store software instrumentation package instruction
US5761696A (en) * 1996-04-02 1998-06-02 International Business Machines Corporation Parallel database serving mechanism for a single-level-store computer system
US5970510A (en) * 1996-04-10 1999-10-19 Northrop Grumman Corporation Distributed memory addressing system
US5854896A (en) * 1996-06-17 1998-12-29 International Business Machines Corporation System for preserving logical partitions of distributed parallel processing system after re-booting by mapping nodes to their respective sub-environments
US5799149A (en) * 1996-06-17 1998-08-25 International Business Machines Corporation System partitioning for massively parallel processors
US5881227A (en) * 1996-06-17 1999-03-09 International Business Machines Corporation Use of daemons in a partitioned massively parallel processing system environment
US5941943A (en) * 1996-06-17 1999-08-24 International Business Machines Corporation Apparatus and a method for creating isolated sub-environments using host names and aliases
US5799143A (en) * 1996-08-26 1998-08-25 Motorola, Inc. Multiple context software analysis
US6084638A (en) * 1996-10-08 2000-07-04 Hare; Charles S. Computer interface extension system and method
US6279098B1 (en) 1996-12-16 2001-08-21 Unisys Corporation Method of and apparatus for serial dynamic system partitioning
US5970253A (en) * 1997-01-09 1999-10-19 Unisys Corporation Priority logic for selecting and stacking data
US5822766A (en) * 1997-01-09 1998-10-13 Unisys Corporation Main memory interface for high speed data transfer
KR100207598B1 (ko) * 1997-01-27 1999-07-15 윤종용 상호연결망으로서 파이브 채널을 사용한 클러스터시스템
US6567837B1 (en) * 1997-01-29 2003-05-20 Iq Systems Object oriented processor arrays
JP3603524B2 (ja) * 1997-02-05 2004-12-22 株式会社日立製作所 ネットワーキング方法
US5978881A (en) * 1997-02-24 1999-11-02 Sigma Electronics, Inc. Scalable switcher with detachably securable frame adapter cards for routing audio and video signals
US6199179B1 (en) 1998-06-10 2001-03-06 Compaq Computer Corporation Method and apparatus for failure recovery in a multi-processor computer system
US6260068B1 (en) 1998-06-10 2001-07-10 Compaq Computer Corporation Method and apparatus for migrating resources in a multi-processor computer system
US6381682B2 (en) 1998-06-10 2002-04-30 Compaq Information Technologies Group, L.P. Method and apparatus for dynamically sharing memory in a multiprocessor system
US6332180B1 (en) 1998-06-10 2001-12-18 Compaq Information Technologies Group, L.P. Method and apparatus for communication in a multi-processor computer system
US6226734B1 (en) 1998-06-10 2001-05-01 Compaq Computer Corporation Method and apparatus for processor migration from different processor states in a multi-processor computer system
US6633916B2 (en) 1998-06-10 2003-10-14 Hewlett-Packard Development Company, L.P. Method and apparatus for virtual resource handling in a multi-processor computer system
JP4634548B2 (ja) * 1997-11-04 2011-02-16 ヒューレット・パッカード・カンパニー マルチプロセッサコンピュータシステム及びその動作方法
US6647508B2 (en) 1997-11-04 2003-11-11 Hewlett-Packard Development Company, L.P. Multiprocessor computer architecture with multiple operating system instances and software controlled resource allocation
US6542926B2 (en) 1998-06-10 2003-04-01 Compaq Information Technologies Group, L.P. Software partitioned multi-processor system with flexible resource sharing levels
US6047390A (en) * 1997-12-22 2000-04-04 Motorola, Inc. Multiple context software analysis
JP3794151B2 (ja) 1998-02-16 2006-07-05 株式会社日立製作所 クロスバースイッチを有する情報処理装置およびクロスバースイッチ制御方法
US6247109B1 (en) 1998-06-10 2001-06-12 Compaq Computer Corp. Dynamically assigning CPUs to different partitions each having an operation system instance in a shared memory space
US6356548B1 (en) 1998-06-29 2002-03-12 Cisco Technology, Inc. Pooled receive and transmit queues to access a shared bus in a multi-port switch asic
US6195739B1 (en) 1998-06-29 2001-02-27 Cisco Technology, Inc. Method and apparatus for passing data among processor complex stages of a pipelined processing engine
US6836838B1 (en) 1998-06-29 2004-12-28 Cisco Technology, Inc. Architecture for a processor complex of an arrayed pipelined processing engine
US6119215A (en) 1998-06-29 2000-09-12 Cisco Technology, Inc. Synchronization and control system for an arrayed processing engine
US6101599A (en) * 1998-06-29 2000-08-08 Cisco Technology, Inc. System for context switching between processing elements in a pipeline of processing elements
US6513108B1 (en) 1998-06-29 2003-01-28 Cisco Technology, Inc. Programmable processing engine for efficiently processing transient data
SE515461C2 (sv) * 1998-10-05 2001-08-06 Ericsson Telefon Ab L M Metod och arrangemang för minneshantering
US6728839B1 (en) 1998-10-28 2004-04-27 Cisco Technology, Inc. Attribute based memory pre-fetching technique
US6385747B1 (en) 1998-12-14 2002-05-07 Cisco Technology, Inc. Testing of replicated components of electronic device
US6173386B1 (en) 1998-12-14 2001-01-09 Cisco Technology, Inc. Parallel processor with debug capability
US6920562B1 (en) 1998-12-18 2005-07-19 Cisco Technology, Inc. Tightly coupled software protocol decode with hardware data encryption
DE19910863A1 (de) * 1999-03-11 2000-09-21 Siemens Ag Vorrichtung und Verfahren zum Verarbeiten von Aufträgen
US20070294510A1 (en) * 1999-04-09 2007-12-20 Dave Stuttard Parallel data processing apparatus
US8762691B2 (en) * 1999-04-09 2014-06-24 Rambus Inc. Memory access consolidation for SIMD processing elements using transaction identifiers
US20080184017A1 (en) * 1999-04-09 2008-07-31 Dave Stuttard Parallel data processing apparatus
US20080162874A1 (en) * 1999-04-09 2008-07-03 Dave Stuttard Parallel data processing apparatus
US20080016318A1 (en) * 1999-04-09 2008-01-17 Dave Stuttard Parallel data processing apparatus
US7627736B2 (en) * 1999-04-09 2009-12-01 Clearspeed Technology Plc Thread manager to control an array of processing elements
US7526630B2 (en) * 1999-04-09 2009-04-28 Clearspeed Technology, Plc Parallel data processing apparatus
US20070242074A1 (en) * 1999-04-09 2007-10-18 Dave Stuttard Parallel data processing apparatus
US7506136B2 (en) * 1999-04-09 2009-03-17 Clearspeed Technology Plc Parallel data processing apparatus
US20080007562A1 (en) * 1999-04-09 2008-01-10 Dave Stuttard Parallel data processing apparatus
US8171263B2 (en) * 1999-04-09 2012-05-01 Rambus Inc. Data processing apparatus comprising an array controller for separating an instruction stream processing instructions and data transfer instructions
US7966475B2 (en) 1999-04-09 2011-06-21 Rambus Inc. Parallel data processing apparatus
US7802079B2 (en) * 1999-04-09 2010-09-21 Clearspeed Technology Limited Parallel data processing apparatus
US8169440B2 (en) * 1999-04-09 2012-05-01 Rambus Inc. Parallel data processing apparatus
US8174530B2 (en) * 1999-04-09 2012-05-08 Rambus Inc. Parallel date processing apparatus
EP1181648A1 (en) * 1999-04-09 2002-02-27 Clearspeed Technology Limited Parallel data processing apparatus
US20080008393A1 (en) * 1999-04-09 2008-01-10 Dave Stuttard Parallel data processing apparatus
US6779016B1 (en) 1999-08-23 2004-08-17 Terraspring, Inc. Extensible computing system
US8234650B1 (en) 1999-08-23 2012-07-31 Oracle America, Inc. Approach for allocating resources to an apparatus
US6597956B1 (en) * 1999-08-23 2003-07-22 Terraspring, Inc. Method and apparatus for controlling an extensible computing system
US8179809B1 (en) 1999-08-23 2012-05-15 Oracle America, Inc. Approach for allocating resources to an apparatus based on suspendable resource requirements
US8032634B1 (en) 1999-08-23 2011-10-04 Oracle America, Inc. Approach for allocating resources to an apparatus based on resource requirements
US7703102B1 (en) 1999-08-23 2010-04-20 Oracle America, Inc. Approach for allocating resources to an apparatus based on preemptable resource requirements
US7463648B1 (en) 1999-08-23 2008-12-09 Sun Microsystems, Inc. Approach for allocating resources to an apparatus based on optional resource requirements
US7103647B2 (en) 1999-08-23 2006-09-05 Terraspring, Inc. Symbolic definition of a computer system
US8019870B1 (en) 1999-08-23 2011-09-13 Oracle America, Inc. Approach for allocating resources to an apparatus based on alternative resource requirements
US7917397B1 (en) 1999-10-14 2011-03-29 Jarbridge, Inc. Merging private images for gifting
US6903756B1 (en) * 1999-10-14 2005-06-07 Jarbridge, Inc. Merged images viewed via a virtual storage closet
US7418407B2 (en) 1999-10-14 2008-08-26 Jarbridge, Inc. Method for electronic gifting using merging images
US6681341B1 (en) 1999-11-03 2004-01-20 Cisco Technology, Inc. Processor isolation method for integrated multi-processor systems
US6529983B1 (en) 1999-11-03 2003-03-04 Cisco Technology, Inc. Group and virtual locking mechanism for inter processor synchronization
US7058064B2 (en) 2000-02-08 2006-06-06 Mips Technologies, Inc. Queueing system for processors in packet routing operations
US7082552B2 (en) 2000-02-08 2006-07-25 Mips Tech Inc Functional validation of a packet management unit
US7649901B2 (en) 2000-02-08 2010-01-19 Mips Technologies, Inc. Method and apparatus for optimizing selection of available contexts for packet processing in multi-stream packet processing
US7076630B2 (en) * 2000-02-08 2006-07-11 Mips Tech Inc Method and apparatus for allocating and de-allocating consecutive blocks of memory in background memo management
US7502876B1 (en) 2000-06-23 2009-03-10 Mips Technologies, Inc. Background memory manager that determines if data structures fits in memory with memory state transactions map
US7155516B2 (en) 2000-02-08 2006-12-26 Mips Technologies, Inc. Method and apparatus for overflowing data packets to a software-controlled memory when they do not fit into a hardware-controlled memory
US20010052053A1 (en) * 2000-02-08 2001-12-13 Mario Nemirovsky Stream processing unit for a multi-streaming processor
US7065096B2 (en) * 2000-06-23 2006-06-20 Mips Technologies, Inc. Method for allocating memory space for limited packet head and/or tail growth
US7032226B1 (en) 2000-06-30 2006-04-18 Mips Technologies, Inc. Methods and apparatus for managing a buffer of events in the background
US7139901B2 (en) * 2000-02-08 2006-11-21 Mips Technologies, Inc. Extended instruction set for packet processing applications
US7165257B2 (en) 2000-02-08 2007-01-16 Mips Technologies, Inc. Context selection and activation mechanism for activating one of a group of inactive contexts in a processor core for servicing interrupts
US7042887B2 (en) 2000-02-08 2006-05-09 Mips Technologies, Inc. Method and apparatus for non-speculative pre-fetch operation in data packet processing
US7058065B2 (en) * 2000-02-08 2006-06-06 Mips Tech Inc Method and apparatus for preventing undesirable packet download with pending read/write operations in data packet processing
US7093005B2 (en) 2000-02-11 2006-08-15 Terraspring, Inc. Graphical editor for defining and creating a computer system
US6714980B1 (en) 2000-02-11 2004-03-30 Terraspring, Inc. Backup and restore of data associated with a host in a dynamically changing virtual server farm without involvement of a server that uses an associated storage device
US6892237B1 (en) * 2000-03-28 2005-05-10 Cisco Technology, Inc. Method and apparatus for high-speed parsing of network messages
US6505269B1 (en) 2000-05-16 2003-01-07 Cisco Technology, Inc. Dynamic addressing mapping to eliminate memory resource contention in a symmetric multiprocessor system
US6807557B1 (en) 2000-05-31 2004-10-19 International Business Machines Corporation Method, system and program products for providing clusters of a computing environment
US7263476B1 (en) * 2000-06-12 2007-08-28 Quad Research High speed information processing and mass storage system and method, particularly for information and application servers
JP4712279B2 (ja) * 2000-06-20 2011-06-29 テラスプリング・インコーポレーテッド 拡張可能コンピューティングシステムの制御方法および装置
AU2001286449A1 (en) * 2000-08-11 2002-02-25 3Ware, Inc. Architecture for providing block-level storage access over computer network
US7779089B2 (en) * 2000-09-15 2010-08-17 Invensys Systems, Inc. Method and system for remote configuration of process data access servers
US6751667B1 (en) * 2000-10-06 2004-06-15 Hewlett-Packard Development Company, L.P. System for generating unique identifiers in a computer network
US7328232B1 (en) * 2000-10-18 2008-02-05 Beptech Inc. Distributed multiprocessing system
EP1356384A1 (en) * 2000-12-21 2003-10-29 Exanet Co. Interconnect topology for a scalable distributed computer system
US20040158663A1 (en) * 2000-12-21 2004-08-12 Nir Peleg Interconnect topology for a scalable distributed computer system
US6934254B2 (en) * 2001-01-18 2005-08-23 Motorola, Inc. Method and apparatus for dynamically allocating resources in a communication system
US7631064B1 (en) 2001-04-13 2009-12-08 Sun Microsystems, Inc. Method and apparatus for determining interconnections of network devices
JP3921367B2 (ja) * 2001-09-26 2007-05-30 日本電気株式会社 データ処理装置および方法、コンピュータプログラム、情報記憶媒体、並列演算装置、データ処理システム
US20030068038A1 (en) * 2001-09-28 2003-04-10 Bedros Hanounik Method and apparatus for encrypting data
MXPA04003556A (es) * 2001-10-17 2004-11-22 Beptech Inc Metodo de comunicacion a traves de un sistema de operacion.
US7447872B2 (en) * 2002-05-30 2008-11-04 Cisco Technology, Inc. Inter-chip processor control plane communication
EP1378824A1 (en) * 2002-07-02 2004-01-07 STMicroelectronics S.r.l. A method for executing programs on multiple processors and corresponding processor system
US7606995B2 (en) * 2004-07-23 2009-10-20 Hewlett-Packard Development Company, L.P. Allocating resources to partitions in a partitionable computer
GB0425860D0 (en) * 2004-11-25 2004-12-29 Ibm A method for ensuring the quality of a service in a distributed computing environment
WO2006077911A1 (ja) * 2005-01-24 2006-07-27 Independent Administrative Institution, Japan Agency For Marine-Earth Science And Technology シミュレータシステム
US8559443B2 (en) 2005-07-22 2013-10-15 Marvell International Ltd. Efficient message switching in a switching apparatus
US7543126B2 (en) * 2005-08-31 2009-06-02 International Business Machines Corporation Apparatus, system, and method for implementing protected virtual memory subcontexts
US8212805B1 (en) 2007-01-05 2012-07-03 Kenneth Banschick System and method for parametric display of modular aesthetic designs
US8307180B2 (en) 2008-02-28 2012-11-06 Nokia Corporation Extended utilization area for a memory device
JP4724730B2 (ja) * 2008-04-09 2011-07-13 株式会社日立製作所 情報処理システムの運用管理方法、運用管理プログラム、および運用管理装置、ならびに情報処理システム
US8887162B2 (en) * 2008-12-17 2014-11-11 Microsoft Corporation Persistent local storage for processor resources
US8874824B2 (en) 2009-06-04 2014-10-28 Memory Technologies, LLC Apparatus and method to share host system RAM with mass storage memory RAM
US8732669B2 (en) * 2011-03-11 2014-05-20 Oracle International Corporation Efficient model checking technique for finding software defects
US9417998B2 (en) 2012-01-26 2016-08-16 Memory Technologies Llc Apparatus and method to provide cache move with non-volatile mass memory system
US9311226B2 (en) 2012-04-20 2016-04-12 Memory Technologies Llc Managing operational state data of a memory module using host memory in association with state change
US9766823B2 (en) 2013-12-12 2017-09-19 Memory Technologies Llc Channel optimized storage modules
RU2550555C1 (ru) * 2014-07-21 2015-05-10 ООО Научно-исследовательский центр супер-ЭВМ и нейрокомпьютеров Мультиконтроллер распределяемой памяти
CN108491187B (zh) * 2018-02-11 2021-06-11 许昌学院 一种基于top-k分割超立方体模型的并行处理方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5746099A (en) * 1980-09-03 1982-03-16 Shibaura Eng Works Co Ltd Jet pump

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3343135A (en) * 1964-08-13 1967-09-19 Ibm Compiling circuitry for a highly-parallel computing system
US4191996A (en) * 1977-07-22 1980-03-04 Chesley Gilman D Self-configurable computer and memory system
US4293950A (en) * 1978-04-03 1981-10-06 Nippon Telegraph And Telephone Public Corporation Test pattern generating apparatus
US4247892A (en) * 1978-10-12 1981-01-27 Lawrence Patrick N Arrays of machines such as computers
JPS5617401A (en) * 1979-07-23 1981-02-19 Omron Tateisi Electronics Co Sequence controller
US4384273A (en) * 1981-03-20 1983-05-17 Bell Telephone Laboratories, Incorporated Time warp signal recognition processor for matching signal patterns
US4593351A (en) * 1981-06-12 1986-06-03 International Business Machines Corporation High speed machine for the physical design of very large scale integrated circuits
US4533993A (en) * 1981-08-18 1985-08-06 National Research Development Corp. Multiple processing cell digital data processor
US4432057A (en) * 1981-11-27 1984-02-14 International Business Machines Corporation Method for the dynamic replication of data under distributed system control to control utilization of resources in a multiprocessing, distributed data base system
US4622632A (en) * 1982-08-18 1986-11-11 Board Of Regents, University Of Washington Data processing system having a pyramidal array of processors
US4524415A (en) * 1982-12-07 1985-06-18 Motorola, Inc. Virtual machine data processor
US4523273A (en) * 1982-12-23 1985-06-11 Purdue Research Foundation Extra stage cube
US4644496A (en) * 1983-01-11 1987-02-17 Iowa State University Research Foundation, Inc. Apparatus, methods, and systems for computer information transfer
US4814973A (en) * 1983-05-31 1989-03-21 Hillis W Daniel Parallel processor
US4598400A (en) * 1983-05-31 1986-07-01 Thinking Machines Corporation Method and apparatus for routing message packets
AU3746585A (en) * 1983-12-12 1985-06-26 Parallel Computers Inc. Computer processor controller
US4722084A (en) * 1985-10-02 1988-01-26 Itt Corporation Array reconfiguration apparatus and methods particularly adapted for use with very large scale integrated circuits
US4733353A (en) * 1985-12-13 1988-03-22 General Electric Company Frame synchronization of multiply redundant computers
US4748585A (en) * 1985-12-26 1988-05-31 Chiarulli Donald M Processor utilizing reconfigurable process segments to accomodate data word length

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5746099A (en) * 1980-09-03 1982-03-16 Shibaura Eng Works Co Ltd Jet pump

Also Published As

Publication number Publication date
US5129077A (en) 1992-07-07
US5390336A (en) 1995-02-14
CN1020972C (zh) 1993-05-26
EP0262750A3 (en) 1988-08-03
US5978570A (en) 1999-11-02
CA1293819C (en) 1991-12-31
DE3751616D1 (de) 1996-01-11
EP0262750A2 (en) 1988-04-06
CN87106067A (zh) 1988-03-09
IN170067B (ja) 1992-02-01
JP2792649B2 (ja) 1998-09-03
KR880003237A (ko) 1988-05-14
KR960012654B1 (ko) 1996-09-23
WO1988001772A1 (en) 1988-03-10
DE3751616T2 (de) 1996-05-09
EP0262750B1 (en) 1995-11-29

Similar Documents

Publication Publication Date Title
JPS63145567A (ja) 並列コンピュータシステム
US4972314A (en) Data flow signal processor method and apparatus
US5224215A (en) Message queue processing among cooperative processors having significant speed differences
US9823980B2 (en) Prioritizing data reconstruction in distributed storage systems
JP2576846B2 (ja) クラスタ制御装置及びクラスタ接続多重多重プロセッシング・システム
US5848229A (en) Fault tolerant disk array system for allocating auxillary disks in place of faulty disks
EP0357768B1 (en) Record lock processor for multiprocessing data system
US5043874A (en) Memory configuration for use with means for interfacing a system control unit for a multi-processor system with the system main memory
US5701313A (en) Method and apparatus for removing soft errors from a memory
US5007053A (en) Method and apparatus for checksum address generation in a fail-safe modular memory
JPH02236735A (ja) データ処理方法及び装置
KR920704231A (ko) 고도 병렬 스칼라/벡터 멀티프로세서 시스템용 클러스터 구성
US5887182A (en) Multiprocessor system with vector pipelines
Palmer et al. Connection Machine model CM-5 system overview
Storaasli et al. The finite element machine: An experiment in parallel processing
US7979660B2 (en) Paging memory contents between a plurality of compute nodes in a parallel computer
AU633898B2 (en) Method and means for interfacing a system control unit for a multi-processor system with the system main memory
CA1313276C (en) Very large scale computer
Olson Safeguard data-processing system: Architecture of the central logic and control
US12340195B2 (en) Handling interrupts from a virtual function in a system with a reconfigurable processor
US6629229B1 (en) Message index descriptor
WO2025051891A1 (en) Accessing fabric attached memory
JPH07152710A (ja) マルチプロセサシステム
Steele Jr An Overview of the Connection Machine Model CM-5
EP3646202A1 (en) Dynamically configurable storage clusters

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080619

Year of fee payment: 10

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080619

Year of fee payment: 10