JPH08241218A - コンピュータシステムおよび並列コンピュータシステムにおいて実行される複数のスレッド間を通信する方法 - Google Patents
コンピュータシステムおよび並列コンピュータシステムにおいて実行される複数のスレッド間を通信する方法Info
- Publication number
- JPH08241218A JPH08241218A JP7345456A JP34545695A JPH08241218A JP H08241218 A JPH08241218 A JP H08241218A JP 7345456 A JP7345456 A JP 7345456A JP 34545695 A JP34545695 A JP 34545695A JP H08241218 A JPH08241218 A JP H08241218A
- Authority
- JP
- Japan
- Prior art keywords
- processor
- virtual
- threads
- node
- processor node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
Abstract
び利用度を高めるための仮想プロセッサ方法および装置
を提供する。 【解決手段】 プロセッサノード12当たり複数のスレ
ッドを含むように並列処理のレベルを高めた並列コンピ
ュータシステムのための仮想プロセッサ方法および装置
を開示する。各スレッドは、仮想プロセッサ18と呼ば
れるオペレーティング環境に入れられている。1つのプ
ロセッサノードに複数のストレイジ装置が設けられてい
る場合、単一のスレッドを各装置に割り当てることがで
きるので、複数のスレッドが同時に実行できる。タスク
は潜在的にシステム中の全ての利用可能なハードウェア
を利用することができ、システムの有用性および利用度
が向上する。
Description
テムに係り、特に作業の複数のスレッドを同時に実行す
ることを可能にし、並列処理および利用度を向上させる
ように設計された仮想プロセッサに関する。
ングシステムおよび個々のコンピュータ(すなわち、プ
ロセッサノード)のアレイからなる。プロセッサノード
のそれぞれは、それ自身の中央演算処理装置(CP
U)、メモリおよびデータ記憶ユニットを有する。タス
クは、各プロセッサノードを使用することにより並列に
実行される。
に分割される。スレッドは、タスクのためにコンピュー
タにより実行されるインストラクションのストリームで
ある。類似物として、オーケストラが演奏するシンフォ
ニーのようなタスクは、それぞれのパートを演奏する個
々の音楽家に相当する多くのスレッドに分解することが
できる。
て、各スレッドは、異なるプロセッサノードに割り当て
られる。これらのスレッドのそれぞれは、その対応する
別個のプロセッサノードにおいて並列に実行される。例
えば、3つのスレッドは、一度に3つの異なるノードを
使用し、同時に実行される。
行時間の短縮である。しかしこの技術は、1つのプロセ
ッサノードが複数のスレッドを実行し、これらのスレッ
ドがプロセッサノードの全体時間を実際に共有し、すな
わちその一部分を交互に使用する状況と混同されるべき
ではない。
理には利点もあるが、欠点もある。従来の並列演算処理
技術では、利用可能なハードウェアの使用が非効率的で
あった。例えば、1つのプロセッサノードに複数の記憶
装置(すなわちディスクドライブ装置)が設けられてい
る場合、1つの実行スレッドは、これらの記憶装置のう
ちの1つのみを一度にアクセスすることになり、他の記
憶装置は、十分に活用されないすなわちアイドル状態と
なる。さらに並列システムがマルチプロセッサノードか
ら構成される場合、ノード当たり単一スレッドは、ノー
ド中の全ての利用可能なCPUを利用することはできな
い。
る制約を克服するために、本発明は、ノード当たり複数
のスレッドを含むように並列処理のレベルを高めた並列
コンピュータシステムのための仮想プロセッサ方法およ
び装置を開示する。1つのプロセッサノードに複数の記
憶装置が設けられている場合、単に時間の一部分を交互
に使用するのではなく複数のスレッドが同時に実行でき
るように、単一のスレッドを各装置に割り当てることが
できる。
CPUを有する場合、個々のスレッドのそれぞれは同時
に異なるCPUを利用することができる。したがって、
タスクは潜在的にシステム中の全ての利用可能なハード
ウェアを使用することができる。この結果、システムの
有用性および利用度が向上する。
セッサ(vproc)と呼ばれるオペレーティング環境
に入れられている。この仮想プロセッサvprocは、
並列処理の基本単位を提供する。この仮想プロセッサv
procの並列処理は、現実のハードウェアの並列処理
とは独立したものである。さらに、仮想プロセッサvp
rocは、同じノードまたは他のノードにおける他の仮
想プロセッサvproc中で働く他のスレッドからのあ
るレベルの分離を提供する。
システムのより効率的な利用を提供することである。こ
の目的は、本発明の仮想プロセッサ(vproc)コン
セプトの使用により達成される。本発明の仮想プロセッ
サは、特定のタスクのマルチスレッディングとコンピュ
ータシステムの物理的レイアウトとの間のあるレベルの
抽象性を付加する。この特徴は、並列処理の程度以上の
より良い制御という利点を提供する。もう一つの利点
は、アプリケーションにおける不必要なプログラミング
オーバヘッドなしにより高いシステム利用度が得られる
ことである。本発明のさらなる他の利点は、故障に対す
る耐性を向上できるということである。
を、図面を参照して説明する。なお、他の実施形態が使
用でき、本発明の範囲から離れることなく構造的な変更
を加えることができることは言うまでもない。
定のタスクの実行を演算処理エレメントのアレイについ
て分割することを試みる。本発明の仮想プロセッサ(v
proc)コンセプトは、特定のタスクのマルチスレッ
ディングと演算システムの物理的レイアウトとの間のあ
るレベルの抽象性を付加する。得られる利点は、並列処
理の程度以上のより良い制御、アプリケーションにおけ
る不必要なプログラミングオーバヘッドなしにより高い
システム利用度が得られること、および故障に対する耐
性が向上することである。
示す。相互接続ネットワーク10は、これによりプロセ
ッサノード12を共にグループ化し、互いに通信させる
手段である。各ノードは、複数の記憶装置14を有す
る。プロセッサノード12は、しっかりと結合されたマ
ルチプロセッシングまたは対称的なマルチプロセッシン
グのために使用される複数のCPUを有することもでき
る。典型的な並列演算処理システムにおいて、タスクは
複数の実行スレッド(すなわち作業のエレメント)に分
割され、通常はプロセッサノード当たり1スレッドを有
する。これらのスレッドのそれぞれは、プロセッサノー
ド12により並列的に(同時に)実行される。しかし、
プロセッサノード12が複数のCPUで構成されている
場合、ノード当たり単一スレッドは、全てのCPUを使
用することはできない。
が、仮想プロセッサvprocが設けられていない単一
のプロセッサノード12を示す。実行の単一スレッド1
6は、3つの記憶装置14を逐次アクセスできるが、一
度に1つのみをアクセスでき、他の利用可能な記憶装置
14はアイドル状態のままである。
記憶装置14を有する単一のプロセッサノード12を示
す。各スレッド16は、仮想プロセッサ(vproc)
18と呼ばれるオペレーティング環境中に入れられてい
る。各仮想プロセッサ(vproc)18には、仮想デ
ィスク(vdisk)と呼ばれるそれ自体固有の論理的
ディスク空間が与えられており、実際にはこの仮想ディ
スクは1つまたはそれ以上のデータ記憶装置14であっ
てもよい。仮想プロセッサvprocコンセプトを使用
して、並列システムにより与えられる並列処理の程度
は、ノード当たり複数の同時実行スレッドを含むように
高めることができるので、図2に示されているようにノ
ード当たり1つのスレッドではなく記憶装置当たり1つ
のスレッドがある。仮想プロセッサ18および仮想ディ
スクvdiskは、プロセッサノード12の時間の一部
分を単に交互に使用するのではなく、スレッド16を同
時に実行することを可能にする。同様に、プロセッサノ
ード12が複数のCPUを有する場合、個々のスレッド
16のそれぞれは強化された並列処理のために異なるC
PUを使用することができる。また仮想プロセッサvp
roc18も、同じプロセッサノード12上の他の仮想
プロセッサvproc18中で働く他のスレッド16か
らのあるレベルの分離を提供する。さらに、仮想プロセ
ッサvproc18は、その中で仮想プロセッサvpr
oc18がアドレスを使用して互いに通信するある程度
のロケーション透明度を提供する。このアドレスは、プ
ロセッサノードに特有のものではなく仮想プロセッサv
procに特有のものである。すなわち仮想プロセッサ
vprocは、どのノード上で実行しているかを知るこ
とを必要とせずにアドレスされることができる。異なる
プロセッサノード12上の仮想プロセッサvproc1
8は、同じプロセッサノード12上の仮想プロセッサv
procと同じメカニズムを使用して互いに通信する。
さらに、仮想プロセッサvproc18は、物理的プロ
セッサノード12および実行スレッド16との間のある
レベルの分離/抽象化を与えることにより冗長度を促進
し、いくつかのプロセッサノード12が故障したか遮断
された場合にも全てのスレッド16をランさせることを
可能にする。この結果、システムの有用性および故障に
対する耐性が向上する。
セプトの好ましい実施形態が具現化され得るシステムソ
フトウェアのレベルを示す。伝統的なコンピュータシス
テムの分割は、非常に低いレベルで行われてきた。ここ
でアドレス空間が分割されており、インターラプトおよ
び他の低いレベルのCPU動作が分割され分離されてい
る。本発明は、仮想プロセッサvproc18をオペレ
ーティングシステムデータ構造レベルにおいて相互接続
ネットワーク10のソフトウェア中に具現化している。
データ構造レベルにおける「バーチャリズム」を提供す
ることにより仮想プロセッサvproc18の分割およ
び分離は、伝統的な仮想マシーン手段よりもかなり低い
パフォーマンスコストで提供することができる。
ングシステム(OS)イメージは、各タスクがどの仮想
プロセッサvproc18に属するかを監視する。タス
クがオペレーティングシステムコールに機能を実行させ
る場合には、オペレーティングシステムOSは、仮想プ
ロセッサvproc18に基づく存在についてのアドレ
ス/タグ/ハンドルを監視する。言い換えれば、タスク
は仮想プロセッサvproc18内で固有のアドレスと
共にメールボックスを回収する。同じプロセッサノード
12上で働く他の仮想プロセッサvproc18もこの
アドレスを有することができるが、オペレーティングシ
ステムOSがどのタスクがどの仮想プロセッサvpro
c18に属するかを監視しているので、全てのこれらの
メールボックスは論理的には別個のものである。
ムの起動時に、仮想プロセッサvproc18をプロセ
ッサノード12に割り当てる。好ましくはこれは、付加
バランスアルゴリズムに基づいて行われるが、他の割当
アルゴリズムも同様に使用することができる。さらに、
オペレーティングシステムOSは、追加的なプロセッサ
ノードが利用可能となった場合にはいつでも、すなわち
プロセッサノードが修理されおよび/またはブートし直
された後に、仮想プロセッサvproc18をプロセッ
サノード12に割り当てることができる。システムスタ
ートアップ時に、仮想プロセッサvproc18および
これらが存在するプロセッサノード12の翻訳テーブル
がつくられ、相互接続ネットワーク10に格納される。
仮想プロセッサvproc18およびこれらが存在する
プロセッサノード12の翻訳テーブルは、仮想プロセッ
サvproc18がどんな理由のためでも、プロセッサ
ノード12の間を移動したときにはいつでも更新され
る。
oc18中のメールボックスに送られた場合、相互接続
ネットワーク(相互接続ドライバ)10は、テーブル中
の仮想プロセッサvproc/プロセッサノードの翻訳
を参照し、メッセージを指定されたプロセッサノード1
2に送り、受信プロセッサノードは、適切な仮想プロセ
ッサvproc18中の適切なメールボックスにそのメ
ッセージを局所的に方路選択する。そして、仮想プロセ
ッサvproc18は、ノード特有ではなく仮想プロセ
ッサvproc特有のアドレスを使用して互いに通信す
る。具体的には、仮想プロセッサvproc18は、ど
のプロセッサノード12上で実行しているかを知ること
なしにアドレスされ得る。
(vproc0)22中のタスクは仮想プロセッサ(v
proc3)26中のメールボックス24中のmbx1
にメッセージを送ることを決定できる。このメッセージ
は、用意され、ローカルプロセッサノード30上の相互
接続ドライバ28に送られる。相互接続ドライバ28
は、宛先仮想プロセッサ(vproc3)26を使用し
て、その翻訳テーブル34中のホストプロセッサノード
を参照し、この例においては、プロセッサノード(ノー
ド1)32を識別する。このメッセージは、相互接続ネ
ットワーク36を通してプロセッサノード(ノード1)
32に送られる。プロセッサノード(ノード1)32中
の相互接続ネットワークドライバ28は、このメッセー
ジを受け取り、これを仮想プロセッサ(vproc3)
26中のメールボックス24中のmbx1に方路選択す
る。仮想プロセッサ特有のアドレスの結果として、コン
ピュータシステム中のどこかに位置するタスクは、この
コンピュータシステム中のどこかに位置するいかなる他
のタスクにもメッセージを送ることができる。したがっ
て、図4Aにおいて、同じプロセッサノード12上の仮
想プロセッサvproc18は、異なるプロセッサノー
ド12上の仮想プロセッサvproc18と同じメカニ
ズムを使用して互いに通信する。
す。クリークは、1つまたはそれ以上のデータ記憶装置
14に接続されたプロセッサノード12の集合である。
クリークは、利用度を向上させるためのプロセッサノー
ド12のクラスタに、データ記憶装置14への共通に割
り当てられたアクセスの側面的利点を与える。仮想ディ
スクvdiskは、クリーク内のどのプロセッサノード
12からもアクセスすることができ、仮想プロセッサv
proc18をクリーク内のどのプロセッサノード12
においてもランさせることが可能となる。プロセッサノ
ード12を一緒にグループ化し、これらに共通のデータ
記憶装置(ディスク記憶装置)14を取り付けることに
より、グループ中の少なくとも1つのプロセッサノード
12が機能的である可能性は、グループ中の全てのプロ
セッサノードが機能的である可能性よりも数桁高いこと
がわかる。例えば、30,000時間の平均故障間隔
(MTBF)を有するプロセッサノード12でできた3
つのプロセッサノード12のクリークにおいて、クリー
ク内のプロセッサノード12の平均故障間隔は10,0
00時間(30,000時間/クリークにつき3ノー
ド)である。しかし、故障したプロセッサノード12に
対して、平均修理時間(MTTR)が30時間である場
合、クリーク全体の理論的MTBFは(百万倍改善し
て)非常に高くなる。これが冗長度の基本的な利点であ
る。したがって、並列システムは、個々のプロセッサノ
ード12のアレイというよりはむしろクリークのアレイ
の合成物であると考えられる。
ノード12が故障しまたは遮断されたとしても、構成が
一定に保たれることを示す。データ記憶装置14は、い
くつかのよく知られた冗長度および回復の形(例えば、
鏡像化アルゴリズムおよび他のRAIDアルゴリズム)
を有する。プロセッサノード12およびデータ記憶装置
14をクリークに構成することは、冗長性のあるハード
ウェアを提供し、仮想プロセッサvproc18は、冗
長性のあるソフトウェアを提供する。プロセッサノード
当たり複数のスレッドおよびロケーション独立(仮想プ
ロセッサvproc18は、どのプロセッサノード12
に前もって割り当てられたかを知らないので)の特質を
利用することにより、1つまたはそれ以上のプロセッサ
ノード12が利用可能でない場合であっても、仮想プロ
セッサvproc18の構成は、一定に保たれることが
わかる。処理されている全てのデータは、共有のデータ
記憶装置14において利用可能である。結果としての構
成は、より少ない処理パワーで動作可能であるが、この
並列アプリケーションは、なお同じ数の仮想プロセッサ
vproc18を有し、全てのデータ記憶装置14への
完全なアクセスを保持する。
高めノード当たり複数のスレッドを含むようにした並列
コンピュータシステムのための仮想プロセッサ方法およ
び装置を開示する。1つのプロセッサノードに複数の記
憶装置が設けられている場合、個々のスレッドのそれぞ
れは異なるデータ記憶装置に割り当てることができる。
同様に、1つのプロセッサノードが複数のCPUを有し
ている場合、個々のスレッドのそれぞれは、そのコード
中の異なるCPUを利用することができる。したがっ
て、タスクは、システム中の全ての利用可能なハードウ
ェアを潜在的に使用することができる。この結果、シス
テムの有用性および利用度が向上する。
ステムの有用性および利用度を向上させることが可能な
コンピュータシステムおよび並列コンピュータシステム
において実行される複数のスレッド間を通信する方法を
提供することができる。
ロック図
使用した構成を示すブロック図
する構成を示すブロック図
スを使用して互いに通信する方法を示す図
ノードの集合であるクリークを示す図
したとしても、仮想プロセッサ構成が一定に保たれるこ
とを示す図
Claims (2)
- 【請求項1】 それぞれが複数のデータ記憶装置に接続
された複数のプロセッサノードと、 前記プロセッサノード間でメッセージを伝送するため
に、前記プロセッサノードに結合された相互接続ネット
ワークとを有するコンピュータシステムにおいて、 各プロセッサノードは、複数のスレッドを同時に実行す
るための複数の仮想プロセッサ手段を含み、 各仮想プロセッサ手段は、スレッドのうちの1つを実行
し、 前記スレッドはタスクのために実行されるインストラク
ションのストリームであり、スレッドのそれぞれは、異
なるデータ記憶装置上のデータを他のスレッドと同時に
アクセスし、 各プロセッサノードは、 システム起動時に仮想プロセッサ手段をプロセッサノー
ドに割り当てるためのオペレーティングシステム手段
と、 システム起動時に相互接続ネットワーク上の仮想プロセ
ッサ手段およびプロセッサノードのロケーションを識別
する翻訳テーブルをつくり格納するための手段とをさら
に含むことを特徴とするコンピュータシステム。 - 【請求項2】 プロセッサノード故障の後に、複数のプ
ロセッサノードを含む並列コンピュータシステムにおい
て実行される複数のスレッド間を通信する方法におい
て、 (a)複数のスレッドを同時に実行するために複数の仮
想プロセッサを使用するステップと、 (b)第1のプロセッサノードが故障した後に、仮想プ
ロセッサを第1のプロセッサノードから第2のプロセッ
サノードに移動させるステップと、 (c)メッセージが第2のプロセッサノード中の仮想プ
ロセッサに方路選択されるように、仮想プロセッサの第
1のプロセッサノードから第2のプロセッサノードへの
移動を反映するように仮想プロセッサ/プロセッサノー
ド翻訳テーブルを更新するステップとを有し、 前記各仮想プロセッサは、スレッドのうちの1つを実行
するためのプロセッサノードのうちの1つ中の動作環境
を含み、 前記スレッドはタスクのために実行されるインストラク
ションのストリームであり、 スレッドのそれぞれは、異なるデータ記憶装置上のデー
タを他のスレッドと同時にアクセスすることを特徴とす
る方法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US353590 | 1994-12-12 | ||
| US08/353,590 US5640584A (en) | 1994-12-12 | 1994-12-12 | Virtual processor method and apparatus for enhancing parallelism and availability in computer systems |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH08241218A true JPH08241218A (ja) | 1996-09-17 |
| JP3696960B2 JP3696960B2 (ja) | 2005-09-21 |
Family
ID=23389774
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP34545695A Expired - Fee Related JP3696960B2 (ja) | 1994-12-12 | 1995-12-11 | 並列演算処理システム及び並列演算処理方法 |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US5640584A (ja) |
| EP (1) | EP0717355B1 (ja) |
| JP (1) | JP3696960B2 (ja) |
| DE (1) | DE69522916T2 (ja) |
Families Citing this family (64)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3095163B2 (ja) * | 1995-07-19 | 2000-10-03 | 株式会社日立製作所 | 自動ログオン機能の制御方法 |
| US5764905A (en) * | 1996-09-09 | 1998-06-09 | Ncr Corporation | Method, system and computer program product for synchronizing the flushing of parallel nodes database segments through shared disk tokens |
| US6567837B1 (en) * | 1997-01-29 | 2003-05-20 | Iq Systems | Object oriented processor arrays |
| JP3898264B2 (ja) * | 1997-02-21 | 2007-03-28 | 本田技研工業株式会社 | 車両用ネットワークシステム |
| US6802062B1 (en) * | 1997-04-01 | 2004-10-05 | Hitachi, Ltd. | System with virtual machine movable between virtual machine systems and control method |
| JP3883647B2 (ja) * | 1997-06-10 | 2007-02-21 | インターナショナル・ビジネス・マシーンズ・コーポレーション | メッセージ処理方法、メッセージ処理装置及びメッセージ処理を制御するプログラムを格納する記憶媒体 |
| US6009264A (en) * | 1997-08-28 | 1999-12-28 | Ncr Corporation | Node coordination using a channel object and point-to-point protocol |
| 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 |
| 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 |
| 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 |
| 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 |
| US6260068B1 (en) | 1998-06-10 | 2001-07-10 | Compaq Computer Corporation | Method and apparatus for migrating resources in a multi-processor computer system |
| US6199179B1 (en) | 1998-06-10 | 2001-03-06 | Compaq Computer Corporation | Method and apparatus for failure recovery in a multi-processor computer system |
| US6321279B1 (en) * | 1998-09-14 | 2001-11-20 | Compaq Computer Corporation | System for implementing intelligent I/O processing in a multi-processor system by redirecting I/O messages to a target central processor selected from the multi-processor system |
| US6792559B1 (en) | 2000-04-25 | 2004-09-14 | Ncr Corporation | Performing operations in an environment recreated from system dump information |
| US6643802B1 (en) | 2000-04-27 | 2003-11-04 | Ncr Corporation | Coordinated multinode dump collection in response to a fault |
| US7685602B1 (en) | 2000-06-05 | 2010-03-23 | Teradata Us, Inc. | Controlling software components in a multi-node processing system |
| US6832378B1 (en) * | 2000-06-20 | 2004-12-14 | International Business Machines Corporation | Parallel software processing system |
| US7246111B1 (en) | 2000-06-30 | 2007-07-17 | Ncr Corporation | Capturing database system information |
| US7185000B1 (en) | 2000-06-30 | 2007-02-27 | Ncr Corp. | Method and apparatus for presenting query plans |
| US6738756B1 (en) | 2000-06-30 | 2004-05-18 | Ncr Corporation | Analysis method and apparatus for a parallel system |
| US7080101B1 (en) | 2000-12-01 | 2006-07-18 | Ncr Corp. | Method and apparatus for partitioning data for storage in a database |
| US7904419B1 (en) | 2000-12-08 | 2011-03-08 | Teradata Us, Inc. | Managing allocation of temporary and permanent files in a database system |
| US7428485B2 (en) * | 2001-08-24 | 2008-09-23 | International Business Machines Corporation | System for yielding to a processor |
| US6757677B2 (en) | 2001-09-28 | 2004-06-29 | Ncr Corporation | Providing a join plan using group-by operator |
| US7072970B2 (en) * | 2001-10-05 | 2006-07-04 | International Business Machines Corporation | Programmable network protocol handler architecture |
| US7676588B2 (en) * | 2001-10-05 | 2010-03-09 | International Business Machines Corporation | Programmable network protocol handler architecture |
| US6801903B2 (en) | 2001-10-12 | 2004-10-05 | Ncr Corporation | Collecting statistics in a database system |
| US7499907B2 (en) * | 2001-10-12 | 2009-03-03 | Teradata Us, Inc. | Index selection in a database system |
| US20030088546A1 (en) * | 2001-10-12 | 2003-05-08 | Brown Douglas P. | Collecting and/or presenting demographics information in a database system |
| EP1438346A1 (de) * | 2001-10-22 | 2004-07-21 | Henkel Kommanditgesellschaft auf Aktien | Baumwollaktive schmutzablösevermögende polymere auf urethan-basis |
| US7620615B1 (en) | 2001-10-26 | 2009-11-17 | Teradata Us, Inc. | Joins of relations in an object relational database system |
| US8103619B1 (en) | 2001-11-15 | 2012-01-24 | Teradata Us, Inc. | Compressing data stored in a database system |
| US6938044B1 (en) | 2001-12-28 | 2005-08-30 | Ncr Corporation | Tracking usage of resources of a database system |
| US7386561B1 (en) | 2002-02-06 | 2008-06-10 | Ncr Corp. | Partitioned joins of spatial objects in a database system |
| US6920446B1 (en) | 2002-03-21 | 2005-07-19 | Ncr Corporation | Representing spatial objects in a defined space |
| US7778996B2 (en) * | 2002-09-25 | 2010-08-17 | Teradata Us, Inc. | Sampling statistics in a database system |
| US10025588B1 (en) | 2002-11-25 | 2018-07-17 | Teradata Us, Inc. | Parsing of database queries containing clauses specifying methods of user-defined data types |
| US8332373B1 (en) | 2002-12-18 | 2012-12-11 | Teradata Us, Inc. | Representing user-defined routines with defined data structures |
| US7236971B1 (en) | 2002-12-20 | 2007-06-26 | Ncr Corporation | Method and system for deriving data through interpolation in a database system |
| US7003508B1 (en) | 2003-03-06 | 2006-02-21 | Ncr Corp. | Partitioning data in a parallel database system |
| US20040267766A1 (en) * | 2003-06-26 | 2004-12-30 | Andreas Marek | Defining user-defined data types and/or user-defined methods using an interpreted programming language |
| US7725455B1 (en) | 2003-12-31 | 2010-05-25 | Teradata Us, Inc. | Computing aggregates on distinct attribute values |
| US8126900B1 (en) | 2004-02-03 | 2012-02-28 | Teradata Us, Inc. | Transforming a data type of a column in a table |
| US7383270B1 (en) | 2004-02-03 | 2008-06-03 | Teradata Us, Inc. | Compressing data stored in an intermediate or result table of a database |
| US7398427B2 (en) * | 2004-07-08 | 2008-07-08 | International Business Machines Corporation | Isolation of input/output adapter error domains |
| US20060010276A1 (en) * | 2004-07-08 | 2006-01-12 | International Business Machines Corporation | Isolation of input/output adapter direct memory access addressing domains |
| US20060010277A1 (en) * | 2004-07-08 | 2006-01-12 | International Business Machines Corporation | Isolation of input/output adapter interrupt domains |
| US7509332B1 (en) | 2005-12-16 | 2009-03-24 | Tevaclata Us, Inc. | Customized indexes for user defined data types |
| US8694524B1 (en) | 2006-08-28 | 2014-04-08 | Teradata Us, Inc. | Parsing a query |
| US8112593B2 (en) * | 2007-03-29 | 2012-02-07 | Netapp, Inc. | System and method for improving cluster performance |
| US7917462B1 (en) | 2007-11-09 | 2011-03-29 | Teradata Us, Inc. | Materializing subsets of a multi-dimensional table |
| US8732716B2 (en) | 2008-09-30 | 2014-05-20 | International Business Machines Corporation | Virtualization across physical partitions of a multi-core processor (MCP) |
| US8438404B2 (en) * | 2008-09-30 | 2013-05-07 | International Business Machines Corporation | Main processing element for delegating virtualized control threads controlling clock speed and power consumption to groups of sub-processing elements in a system such that a group of sub-processing elements can be designated as pseudo main processing element |
| US9244793B1 (en) | 2008-11-04 | 2016-01-26 | Teradata Us, Inc. | Using target database system statistics in emulation |
| US8239524B2 (en) * | 2008-12-16 | 2012-08-07 | International Business Machines Corporation | Techniques for dynamically assigning jobs to processors in a cluster based on processor workload |
| US9396021B2 (en) * | 2008-12-16 | 2016-07-19 | International Business Machines Corporation | Techniques for dynamically assigning jobs to processors in a cluster using local job tables |
| US9384042B2 (en) * | 2008-12-16 | 2016-07-05 | International Business Machines Corporation | Techniques for dynamically assigning jobs to processors in a cluster based on inter-thread communications |
| US8122132B2 (en) * | 2008-12-16 | 2012-02-21 | International Business Machines Corporation | Techniques for dynamically assigning jobs to processors in a cluster based on broadcast information |
| US8887162B2 (en) * | 2008-12-17 | 2014-11-11 | Microsoft Corporation | Persistent local storage for processor resources |
| US9378229B1 (en) | 2008-12-19 | 2016-06-28 | Teradata Us, Inc. | Index selection based on a compressed workload |
| US8943058B1 (en) | 2009-12-14 | 2015-01-27 | Teradata Us, Inc. | Calculating aggregates of multiple combinations of a given set of columns |
| US20110218978A1 (en) * | 2010-02-22 | 2011-09-08 | Vertica Systems, Inc. | Operating on time sequences of data |
Citations (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH02176822A (ja) * | 1988-09-19 | 1990-07-10 | Hitachi Ltd | ディスクファイルシステム |
| JPH05113893A (ja) * | 1991-10-23 | 1993-05-07 | Nec Corp | 仮想計算機システムにおけるボリユーム資源管理方式 |
| JPH05233154A (ja) * | 1991-12-05 | 1993-09-10 | Internatl Business Mach Corp <Ibm> | ディスクドライブサブシステム、スピンドルの同期方法及びデータ通信プロトコル |
| JPH05307445A (ja) * | 1990-05-11 | 1993-11-19 | Internatl Business Mach Corp <Ibm> | データ処理システムにおけるミラー化された一対のデータ記憶ユニットの状態を決定する方法及び装置 |
| JPH05334012A (ja) * | 1992-05-28 | 1993-12-17 | Fujitsu Ltd | 大容量化ディスク制御装置 |
| JPH06110800A (ja) * | 1992-09-25 | 1994-04-22 | Fujitsu Ltd | 動的パス切替方法 |
| JPH06187301A (ja) * | 1992-12-18 | 1994-07-08 | Fujitsu Ltd | 仮想プロセッサ方式とデータ転送処理方法及びその装置 |
| JPH06332782A (ja) * | 1993-03-22 | 1994-12-02 | Hitachi Ltd | ファイルサーバシステム及びそのファイルアクセス制御方法 |
| JPH07306844A (ja) * | 1994-05-13 | 1995-11-21 | Hitachi Ltd | マルチプロセッサシステムの無停止プログラム変更方法およびマルチプロセッサシステムおよびディスク制御装置の無停止プログラム変更方法およびディスク制御装置 |
Family Cites Families (13)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4500960A (en) * | 1982-06-28 | 1985-02-19 | At&T Bell Laboratories | Geographically distributed multiprocessor time-shared communication processing system |
| US5047925A (en) * | 1985-05-06 | 1991-09-10 | Motorola, Inc. | Logical ring in a virtual single machine |
| CA1293819C (en) * | 1986-08-29 | 1991-12-31 | Thinking Machines Corporation | Very large scale computer |
| JPH0293952A (ja) * | 1988-09-30 | 1990-04-04 | Hitachi Ltd | 仮想計算機システム |
| JPH02123455A (ja) * | 1988-11-02 | 1990-05-10 | Hitachi Ltd | マルチプロセッサシステムの再構成方法 |
| JPH02245864A (ja) * | 1989-03-20 | 1990-10-01 | Hitachi Ltd | 多重プロセッサシステム |
| US5113522A (en) * | 1989-05-17 | 1992-05-12 | International Business Machines Corporation | Data processing system with system resource management for itself and for an associated alien processor |
| US5353418A (en) * | 1989-05-26 | 1994-10-04 | Massachusetts Institute Of Technology | System storing thread descriptor identifying one of plural threads of computation in storage only when all data for operating on thread is ready and independently of resultant imperative processing of thread |
| 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 |
| US5339415A (en) * | 1990-06-11 | 1994-08-16 | Cray Research, Inc. | Dual level scheduling of processes to multiple parallel regions of a multi-threaded program on a tightly coupled multiprocessor computer system |
| US5247675A (en) * | 1991-08-09 | 1993-09-21 | International Business Machines Corporation | Preemptive and non-preemptive scheduling and execution of program threads in a multitasking operating system |
| US5404469A (en) * | 1992-02-25 | 1995-04-04 | Industrial Technology Research Institute | Multi-threaded microprocessor architecture utilizing static interleaving |
| US5481719A (en) * | 1994-09-09 | 1996-01-02 | International Business Machines Corporation | Exception handling method and apparatus for a microkernel data processing system |
-
1994
- 1994-12-12 US US08/353,590 patent/US5640584A/en not_active Expired - Lifetime
-
1995
- 1995-12-07 DE DE69522916T patent/DE69522916T2/de not_active Expired - Lifetime
- 1995-12-07 EP EP95308908A patent/EP0717355B1/en not_active Expired - Lifetime
- 1995-12-11 JP JP34545695A patent/JP3696960B2/ja not_active Expired - Fee Related
Patent Citations (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH02176822A (ja) * | 1988-09-19 | 1990-07-10 | Hitachi Ltd | ディスクファイルシステム |
| JPH05307445A (ja) * | 1990-05-11 | 1993-11-19 | Internatl Business Mach Corp <Ibm> | データ処理システムにおけるミラー化された一対のデータ記憶ユニットの状態を決定する方法及び装置 |
| JPH05113893A (ja) * | 1991-10-23 | 1993-05-07 | Nec Corp | 仮想計算機システムにおけるボリユーム資源管理方式 |
| JPH05233154A (ja) * | 1991-12-05 | 1993-09-10 | Internatl Business Mach Corp <Ibm> | ディスクドライブサブシステム、スピンドルの同期方法及びデータ通信プロトコル |
| JPH05334012A (ja) * | 1992-05-28 | 1993-12-17 | Fujitsu Ltd | 大容量化ディスク制御装置 |
| JPH06110800A (ja) * | 1992-09-25 | 1994-04-22 | Fujitsu Ltd | 動的パス切替方法 |
| JPH06187301A (ja) * | 1992-12-18 | 1994-07-08 | Fujitsu Ltd | 仮想プロセッサ方式とデータ転送処理方法及びその装置 |
| JPH06332782A (ja) * | 1993-03-22 | 1994-12-02 | Hitachi Ltd | ファイルサーバシステム及びそのファイルアクセス制御方法 |
| JPH07306844A (ja) * | 1994-05-13 | 1995-11-21 | Hitachi Ltd | マルチプロセッサシステムの無停止プログラム変更方法およびマルチプロセッサシステムおよびディスク制御装置の無停止プログラム変更方法およびディスク制御装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| DE69522916D1 (de) | 2002-05-08 |
| DE69522916T2 (de) | 2002-06-20 |
| EP0717355A3 (en) | 1996-10-16 |
| JP3696960B2 (ja) | 2005-09-21 |
| EP0717355B1 (en) | 2001-09-26 |
| EP0717355A2 (en) | 1996-06-19 |
| US5640584A (en) | 1997-06-17 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3696960B2 (ja) | 並列演算処理システム及び並列演算処理方法 | |
| US11627041B2 (en) | Dynamic reconfiguration of resilient logical modules in a software defined server | |
| US6968398B2 (en) | Method of virtualizing I/O resources in a computer system | |
| EP1636696B1 (en) | Os agnostic resource sharing across multiple computing platforms | |
| CN100470494C (zh) | 集群可用性管理方法和系统 | |
| EP0709779B1 (en) | Virtual shared disks with application-transparent recovery | |
| US20050080982A1 (en) | Virtual host bus adapter and method | |
| US20070061441A1 (en) | Para-virtualized computer system with I/0 server partitions that map physical host hardware for access by guest partitions | |
| JP2010510592A (ja) | システムプロセッサーのトランスペアレントな交換 | |
| WO2005106659A1 (en) | System and method for managing virtual servers | |
| AU2004280976A1 (en) | Computer system para-virtualization using a hypervisor that is implemented in a partition of the host system | |
| CN100478894C (zh) | 集群代码管理的方法和系统 | |
| US7487222B2 (en) | System management architecture for multi-node computer system | |
| US12443497B2 (en) | High availability systems having thinly-provisioned secondary servers | |
| US7484032B2 (en) | Fault tolerant computer system | |
| US20240152286A1 (en) | Fast restart of large memory systems | |
| JP2004030578A (ja) | 仮想入出力の相互接続メカニズム | |
| JP2986930B2 (ja) | 対称型マルチプロセッサのタスクスケジューリング方式 | |
| JP2006053896A (ja) | コンピュータシステムの複数の処理ノードを接続するファブリック数のソフトウェアトランスペアレントな拡張 | |
| US7590811B1 (en) | Methods and system for improving data and application availability in clusters | |
| JP2018152125A (ja) | 情報処理装置 | |
| JP2008040540A (ja) | エミュレーション装置及びエミュレーション方法 | |
| Hicks et al. | StarTTM Architecture White Paper Version 007 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040415 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040511 |
|
| A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20040811 |
|
| A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20040817 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041111 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20050621 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050701 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080708 Year of fee payment: 3 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080708 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090708 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090708 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100708 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100708 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110708 Year of fee payment: 6 |
|
| S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120708 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120708 Year of fee payment: 7 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120708 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130708 Year of fee payment: 8 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| LAPS | Cancellation because of no payment of annual fees |