JP2003503787A - 大規模集合ネットワークによる処理システムおよびその方法 - Google Patents

大規模集合ネットワークによる処理システムおよびその方法

Info

Publication number
JP2003503787A
JP2003503787A JP2001507165A JP2001507165A JP2003503787A JP 2003503787 A JP2003503787 A JP 2003503787A JP 2001507165 A JP2001507165 A JP 2001507165A JP 2001507165 A JP2001507165 A JP 2001507165A JP 2003503787 A JP2003503787 A JP 2003503787A
Authority
JP
Japan
Prior art keywords
cluster
processing
function
computer
program
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.)
Withdrawn
Application number
JP2001507165A
Other languages
English (en)
Inventor
ケビン ディー. ホワード,
ゲラード エイ. バーベック,
スコット エイ. スミス,
Original Assignee
マッシブリー パラレル コンピューティング, インコーポレイテッド
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 マッシブリー パラレル コンピューティング, インコーポレイテッド filed Critical マッシブリー パラレル コンピューティング, インコーポレイテッド
Publication of JP2003503787A publication Critical patent/JP2003503787A/ja
Withdrawn 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/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5044Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/509Offload

Abstract

(57)【要約】 個人または企業により実行されるタイプのプログラム(10)の実行を高速化するための方法およびシステムが提供される。本方法は、プログラムとのデータ通信において、少なくとも1つのプログラム関数をライブラリに伝達する工程、および上記関数(106)を、通常はコンピュータクラスタの形態である、演算処理設備に送信する工程を含む。上記関数は、上記演算処理設備で処理され、結果が上記プログラムのユーザに中継により返送される(116)。本発明のユーザは、オンライントランザクションを介することおよび/または予め構成されたISP(612)接続を介すること等のいくつかのインターフェースのうちの1つにより、高速化された(108、110)実行に対する支払いをする。

Description

【発明の詳細な説明】
【0001】 (関連出願) 本出願は、同一人によって所有されている、同時係属中の米国仮出願第60/
141,208号および第60/188,659号の継続出願である。これらの
出願をそれぞれ、参考のため援用する。
【0002】 (発明の背景) 当該分野において公知の高性能コンピュータとして、CRAY(登録商標)、
Thinking Machines Corporation、Silico
ne Graphics CompanyおよびIBM Corporatio
nにより提供されるコンピュータがある。高性能の演算処理は、いくつかの公知
の恩恵を提供するが、普通のユーザにとっては高価であり、また、利用不可能で
ある場合が多い。そのため、殆どの個人および企業は典型的には、超高速演算処
理を用いればタスクおよび処理タスクをより迅速に処理することが可能であるに
も関わらず、そのような恩恵に浴していない。
【0003】 (発明の要旨) 従って、本発明の1つの目的は、事業および個人にとって「オンデマンド」で
利用可能な新規な大規模に接続されたコンピュータを通じて、高性能演算処理の
ためのシステムおよび方法を提供することである。本発明の別の目的は、インタ
ーネット(好適には、インターネットサービスプロバイダ課金ノードおよび増補
ノード)を通じて、大規模並列演算処理を提供することである。本発明のさらに
別の目的は、コンピュータを超高速演算処理設備にリンクさせて、機能およびプ
ログラムのオンデマンド処理を行うための方法論を提供することである。上記お
よび他の目的は、以下の説明において明らかである。
【0004】 以下の特許および文献は、本発明の背景にとって有用であるため、参考のため
、これらの文献を、その内容全体が本明細書中に含まれているかのごとく援用す
る:「Hypercube Concurrent Computers an
d Applications Proceedings of the th
ird conference on Hypercube concurre
nt computers and applications」(Vol.1
)、Pasadena、California、1月19日〜20日(1988
);Algorithmica 7の内容(1992)(pp51−75);「
Efficient Convexity and Domination A
lgorithms for Fine−and Medium−Grain
Hypercube Computers」(EdCohen、R.Mille
r、E.Cohen、Dept. of Computer Science、
State University of New York at Buff
alo;「Proc.6th Distributed Memory Com
puting Conf.」の内容(1991)、(IEEE、pp.34−4
1);および1997年11月18日に発行された、Swartzrauber
に付与された米国特許第5,689,722号。
【0005】 1つの局面において、本発明は、エンティティによって用いられるコンピュー
タプログラムの実行を加速化させる方法を提供する。例示目的のため、エンティ
ティは、企業、事業または個人である。エンティティは典型的には、エンティテ
ィに対して決定を下す許可発行者(authority)(例えば、CEOすな
わち企業のコスト会計専門家)を有する。加速化された実行が望まれる場合、エ
ンティティからのプログラムおよび/または機能は、エンティティとネットワー
クで接続された演算処理設備を通じて処理される。例えば、エンティティは、イ
ンターネットを介して、演算処理設備にリンクされる。1つの局面において、演
算処理設備は、コンピュータの1つ以上のクラスタ(以下、「クラスタ」と呼ぶ
)を有し、好適には、コンピュータまたはプロセッサの1つのグループまたは1
つのクラスタさえもが、互いにリンクされてホームノードを形成して、クラスタ
による処理を容易化する。エンティティは、1つ以上のトランザクションごとに
演算処理設備の使用料を支払う。例えば、エンティティは、演算処理設備の必要
に応じた使用に対して使用料を支払い得るか、または、演算処理設備の専用の部
分使用または専用の完全使用について、エンティティと契約を交わし得る。トラ
ンザクションは、エンティティによって望まれる処理MIPSに基づいても、価
格付けされ得る。
【0006】 1つの局面において、演算処理設備は、演算処理設備による、トランザクショ
ンに対して責任を有する管理者(例えば、企業)とリンクされる。1つの局面に
おいて、演算処理設備を使用するトランザクションコストは、「900」番の電
話トランザクションを通じてエンティティによって負担され、この「900」番
の電話トランザクションによって、管理者に支払いが行なわれる。さらに別の局
面において、トランザクションコストは、クレジットカードによるトランザクシ
ョンを通じてエンティティによって支払われる。さらに別の局面において、超高
速演算処理のトランザクションコストは、エンティティを管理者および/または
演算処理設備とリンクさせるインターネットサービスプロバイダ料金によって負
担される。
【0007】 1つの局面において、本発明は、管理者にリンクされたインターネットサービ
スプロバイダ(「ISP」)を通じて、無料のインターネットアクセスを提供す
る。詳細には、1つの局面において、演算処理設備は、ISPの一部でありかつ
インターネットに接続されたコンピュータのアレイとして構成される。管理者は
、このコンピュータのアレイを用いて、本明細書において説明する超高速演算処
理機能を行う。そのため、本明細書中、このコンピュータのアレイをコンピュー
タの「バーチャルクラスタ」と呼ぶが、これは、本明細書中に説明するクラスタ
として動作する。クラスタ内においてコンピュータを使用することの代わりに、
そのコンピュータのユーザに、無料のインターネットアクセスが提供される。実
際は、ユーザのコンピュータは、バーチャルクラスタの中の他のコンピュータと
「共有」され、これにより、本明細書中に記載のような超高速演算処理を提供す
る。この共有化は、コンピュータの処理能力のごく一部しか占有しないため、ユ
ーザは、ISPを通じて他のサービスを受けることが可能である。
【0008】 1つの局面の方法は、以下の工程を含む:少なくとも1つのプログラム機能を
、プログラムとデータ通信しているライブラリに通信させる工程;その機能を演
算処理設備に送信する工程;その機能を演算処理設備において処理する工程;そ
の機能の処理に関連する結果を演算処理設備からエンティティに送信する工程;
および、その結果を、プログラムと適合する言語に翻訳する工程。1つの局面の
演算処理設備は、コンピュータのネットワーク(例えば、1つのクラスタとして
構成された複数のコンピュータ)を含む。さらに別の局面において、クラスタは
、ハイパーキューブコンフィギュレーションとしてリンクされたコンピュータの
アレイによって形成される。別の局面において、クラスタは、特殊なカスケード
コンフィギュレーションとして形成される。本明細書中、このカスケードコンフ
ィギュレーションを「ハワードカスケード」と呼び、本明細書における高性能演
算処理機能を行う。
【0009】 別の局面の方法は、以下のさらなる工程を含む:機能の実行および処理にかか
るコストを計算する工程;許可発行者にコストを通知する工程;および、許可発
行者から許可を受けて、機能を処理する工程。これらの工程は、演算処理設備と
の事前に取り決められた支払い方式を持たないエンティティのために用いられる
【0010】 本発明は、いくつかの利点を提供する。一例を挙げると、ソフトウェアの製造
業者が、顧客に高性能演算処理能力をプロセッサのネットワークを通じて提供す
ることができ、これにより、ソフトウェアのインストール先である機器のハード
ウェアによる制約を受けることなく、処理速度が格段に高速化され、顧客の手持
ちのアプリケーションが大幅に高度化される。このような性能向上に加えて、本
発明は、ソフトウェア製造業者のソフトウェアが高性能の超高速演算処理能力へ
のアクセスに用いられるため、ソフトウェア製造業者に継続的な収入源を得る機
会も提供する。
【0011】 本発明によって提供される処理能力は、ソフトウェア製造業者にとって強力な
パラダイムシフトを意味する。製造業者は、アプリケーションサービスプロバイ
ダ(またはASP)の利用を通じた自社のソフトウェアのマーケティングにより
、収入の流れが変化していることを既に認識し始めている。アプリケーションサ
ービスプロバイダにおいて、ユーザは、ウェブサイトを通じてソフトウェアにア
クセスし、接続料金および時間料金によりソフトウェア使用料を支払う。従って
、本発明を用いれば、ASPへのアクセスは、様々なレベルの演算処理能力に結
び付けられ得る。ソフトウェアベンダーは、エンドユーザの必要とする演算処理
能力または望んでいる演算能力に応じて、顧客によって使用される処理能力のレ
ベルに応じて、異なるレベルの収入をも実現することができる。
【0012】 一例を挙げると、画像処理に関与する産業は、極めて高い演算処理能力を既に
必要としている。既に利用可能となっているいくつかの高度なアプリケーション
を用いて、ユーザが必要な処理を1日がかりで設定し、その日の晩にコンピュー
タに処理を終了させることは珍しいことではない。なぜならば、このような高度
なアプリケーションによる処理は8時間以上かかり得るからである。本発明を用
いることにより、ソフトウェア製造業者は、これと同じレベルの処理を数秒間で
提供することができる。これは、1つの画像処理ステーションが1日単位で達成
することのできる仕事量を劇的に増加させる利点を意味する。本発明は、例えば
画像処理速度を高速化させるだけではなく、より高いレベルでの高度化の問題の
実行を可能にする。
【0013】 本発明の1つの局面において、演算処理デバイスの複数のクラスタ(すなわち
、単一の大型コンピュータとして機能するように構成された複数のコンピュータ
)が接続され、これにより、インターネットまたは適合するソフトウェアを有す
るエンドユーザによる直接的リンクを通じて、プログラムの大規模並列演算処理
を行う。プロセス全体の正確な内容は、エンドユーザにとって極めて不透明であ
る−すなわち、エンドユーザは、自身のコンピュータの画面上のアイコンをクリ
ックして特定の料金構造に同意すると、自分のソフトウェアがはるかに強力にな
り、今まで用いていたどのバージョンよりも動作が向上したことに気付くだけで
ある。
【0014】 本発明はまた、ソフトウェア製造業者によって結合される、超高速演算処理ソ
ース(例えば、上述の演算処理設備)に簡単にアクセスするためのソフトウェア
も提供する。さらに、コードライブラリにより、演算処理設備とのシームレスな
インターフェースを(最小の改変および最小の努力で)得る能力をソフトウェア
製造業者に提供する。1つの局面において、ソフトウェア製造業者によって使用
されるソフトウェアは、当該分野において公知のダイナミックリンクライブラリ
(または「DLL」)の形態をとる。
【0015】 本発明のクラスタにおいて用いられるプロセッサの速度は、クラスタの全体的
速度と直接に関係を有する。同様に、クラスタにおいて用いられるプロセッサの
数も、クラスタの全体的速度を決定する一要素である。クラスタ速度に関係を有
する第3の要素は、「アーキテクチャオーバーヘッド」として知られる。クラス
タのアーキテクチャは、システムの物理的トポロジーだけではなく、接続性の点
において用いられる、クラスタ中のプロセッサとプロセッサとの間でのデータ分
配の効率度を決定するソフトウェア技術も含む。接続性は典型的には効率が10
0%ではなく、接続性と関連するこのオーバーヘッドが、クラスタの低速化を招
く。従来技術では、複雑なルータと偏微分方程式の群と組み合わせて用いて、ノ
ード間にデータを分配していた。従来技術のこの複雑性は、プロセッサを1個追
加しても、1個のプロセッサに相当する演算処理能力が得られないことを意味す
る。さらに、この従来技術では、追加されるプロセッサの数が増えるほど、追加
されたプロセッサの効率が低下した。本明細書中に記載の発明は、スイッチによ
って相互接続されたハワードカスケードの論理的トポロジーを用いて、自由な物
理的ラインが常時利用可能となることを確実にするものである。約1.2の線形
負荷係数の使用が、本発明に関連するオーバーヘッドの概算値として妥当である
。この係数は、従来技術の割当て方法と比較して極めて効率が良く、問題セット
をノード間に割り当てる際に数学的カスケードを用いてノード間のタイミングを
処理および規定することにより、得られる。
【0016】 システムオーバーヘッドが線形である場合、クラスタにおいて用いられる個々
のプロセッサの速度は、クラスタの全体的速度に直接比例する。しかし、処理速
度はプロセッサのコストに直接比例しない。言い換えれば、低速のプロセッサの
方が高速なプロセッサよりも「1ドル当たりのMIPS」をより多く提供する場
合、1つのクラスタを高速なプロセッサではなく低速なプロセッサで構築した方
が、コスト的に効率が良い場合がある。実際、これが今日の市場の現状に当ては
まる場合が殆どである。市場は、処理速度に対して割増の価格を支払うが、この
処理速度は、単一のプロセッサ環境において期待されているものである。その結
果、比較的低速のプロセッサは非常に安価となり、これは、プロセッサの巨大ア
レイのコスト面での実行可能性を支援する。例示目的のため、本発明の一実施形
態において、66MHzのプロセッサで動作する5,000個のプロセッサのク
ラスタを用いる。これらのプロセッサの処理能力はそれぞれ、約111.6MI
PS(Million Instructions Per Second)を
処理する。これは、演算はDrystone1.1モデルを用いて計算された。
それとは対照的に、新型の133MHzのプロセッサの処理能力は、約218.
8MIPSである。1.2のオーバーヘッド低速化係数を用いると、5,000
個の66MHzのプロセッサクラスタは、命令の処理を、約465,000MI
PS(すなわち、毎秒当たり4650億個の命令(または465「GIPS」)
)の速度で行う。この計算結果は、111.6MIPSを5,000(プロセッ
サの数)で乗算し、その値を1.2(オーバーヘッド低速化係数)で除算するこ
とによって得ている。218.8MIPSで1時間動作する133MHzのプロ
セッサは、約787,680,000,000個の命令(すなわち、7880億
個の命令)を処理する。この計算は、218.8MIPSを3,600秒で乗算
することによって得ている。465GIPSで動作する、意図される5,000
個のプロセッサによるクラスタは、約1.7秒間に10230億個の命令を処理
する。これは、7880億個の命令(133MHzのプロセッサが1時間で処理
する量)を465GIPS(5,000個のプロセッサによる66MHzのクラ
スタが1時間で生成する命令の数)で除算することにより計算される。従って、
5,000個のプロセッサのクラスタによってサポートされる本発明を用いる顧
客は、本発明を用いなければ比較的高速の133MHzのマシンで約1時間かか
る処理を、わずか1.7秒で処理することができる。
【0017】 このような性能向上に対する価格は、節約できる時間の価値に大きく依存する
。殆どの製造業務において、時間は、ソフトウェアを用いる技術者またはエンジ
ニアの時間あたりの料金の点からだけではなく、業務と関連する総体的オーバー
ヘッドおよびプロジェクトをタイミング良く方向転換する価値の点において、貴
重である。好適には、本発明の1つの局面において、1組の料金を、1兆個の命
令(すなわち、10,000億個の命令。これは、上記の1時間の処理の説明に
おける提供された10,230億個の命令と対照している)の処理に対して請求
する。好適には、均一の接続料金を用いて、512百万個未満の命令を伴うソリ
ューションを網羅する。
【0018】 顧客側は、1つのクラスタに対する時間を独占する権利を購入する。このオプ
ションは、ユーザが、クラスタを丸ごと購入するか、または、ある数のクラスタ
ノードを事前に取り決められた時間の長さで事前に取り決められた日付および時
間に購入するかのいずれかを行うことを可能にする。
【0019】 別の局面において、顧客は、1つの局面(すなわち、1つのクラスタ)に対し
て、非独占的時間ブロックを購入する。このオプションは、ユーザが事前に取り
決められたMIPS数でクラスタ時間を購入することを可能にし、かつ、クラス
タは依然、クラスタ上の他のジョブを動作させることができる。
【0020】 従って、本発明は複数の利点を有し、これらの利点は、本明細書中の説明およ
び図面を見ればさらに明らかとなる。1つの特定の利点として、本発明が、随意
に選択されるサービスプロバイダ(ESP)の方法をサポートする点がある。ユ
ーザをインターネットに接続するだけのISP(インターネットサービスプロバ
イダ)またはユーザがソフトウェアを使うたびに課金するASP(アプリケーシ
ョンサービスプロバイダ)と異なり、ESPは、エンドユーザがソフトウェアの
性能を必要に応じて向上させることを可能にする。言い換えれば、ソフトウェア
のユーザは、現在自分が現にそうしているようにソフトウェアを使用する権利を
購入またはリースし、次いで、ESPを通じて、ユーザは、本発明の教示内容に
従って、そのソフトウェアの性能を所望の程度まで経済的に向上させる。これに
より、エンドユーザは、ASPまたはISPの言い値を支払う代わりに、自分の
支出を制御できるようになる。
【0021】 本発明のより完全な理解は、図面を参照することにより得られ得る。
【0022】 (図面の詳細な説明) 図1は、本発明に従って構築され、以下に述べるトランザクションを介して相
互接続された1つのシステム10を示す。ブロック20は、超高速演算処理を望
む顧客エンティティのための超高速演算処理を容易化する責任を持つ管理者(例
えば、企業)を示す。典型的な顧客エンティティがブロック22によって示され
る。超高速演算処理は、「クラスタ」とラベル付けされたブロック26において
行なわれる。本発明のクラスタは、並列の処理ができるように互いに結合された
コンピュータのアレイ(すなわち、「ノード」)と、好適には、本明細書中に述
べるように、1つ以上のスイッチに結合されたコンピュータのアレイとを含み、
様々なノードを通じたデータ処理を容易化する。また、クラスタ26は好適には
、以下により詳細に説明するような「ホームノード26a」を含む。
【0023】 トランザクション12において、管理者20は、ソフトウェア製造業者(ブロ
ック24)にライセンスを発行して、本発明をその業者のソフトウェアと結合さ
せる;それと交換に、管理者20は、ソフトウェア製造業者24からライセンス
料を受け取る。次いで、ソフトウェア製造業者24は、自身のソフトウェア(こ
の製造業者のソフトウェアは本発明と協働して動作するように改変されているた
め、以下においてこのソフトウェアを「速度向上ソフトウェア」と呼ぶ)を顧客
22に販売し、トランザクション13において、速度向上ソフトウェアの販売に
よる収入を受け取る。
【0024】 トランザクション14において、顧客エンティティ22は、自身の速度向上ソ
フトウェアを用いて、データ(および/またはプログラム)を管理者20に送る
。典型的には、トランザクション14は、インターネット、バーチャルプライベ
ートネットワーク、LAN、WANまたは他のネットワーク上で発生する。好適
な実施形態において、顧客エンティティ22は、クラスタ26へのアクセスの際
、自身のインターネットプロバイダまたは電話会社のいずれかを通じて自動的に
課金される。管理者20は、トランザクション14からのデータを処理対象とし
て待ち受け、クラスタ26を用いるためのパラメータを設定し、そのデータを処
理対象としてトランザクション16で送る。クラスタ26によって処理されたデ
ータは、トランザクション17において管理者20に戻り、トランザクション1
8において顧客エンティティ22に返送される。トランザクション14〜18の
プロセス全てを行うのに、数分の1秒(または、この時間は、処理対象のデータ
またはプログラムの複雑度に応じてそれよりも長くなる)かかり、多数のトラン
ザクションを同時に処理することが可能となる。当業者であれば、本発明の範囲
を逸脱することなく、トランザクションを別の方法でリンクさせることも可能で
ある−例えば、エンティティをクラスタ26に直接リンクさせるなど−ことを理
解するはずである。
【0025】 本発明の別の実施形態において、管理者20は、SAN(「格納領域ネットワ
ーク」)ソリューションを顧客エンティティ22に販売し、その見返りとして、
トランザクション19を介してコンサルタント料金を受け取る。詳細には、顧客
エンティティ22は自身のデータをSAN中に格納し(ブロック28)、管理者
20は、トランザクション19に示すようにその格納に対する料金を受け取る。
動作時において、顧客エンティティ22は、自身の速度向上ソフトウェアを用い
ることにより、処理すべき問題を管理者20に送る。管理者は、その処理リクエ
ストを終了する際、SAN28中に格納されているデータにアクセスして、その
処理に対する料金を受け取る。
【0026】 動作時において、本発明の1つの実施形態は、図2に示すように動作する。コ
ンピュータ30にいるユーザは、プログラム32を処理することを望む。プログ
ラム32は、速度向上ソフトウェア(例えば、図1のソフトウェア製造業者24
からの速度向上ソフトウェア)によって処理またはサポートされる種類のプログ
ラムである。コンピュータ30は典型的には、事務所または企業34(例えば、
図1の顧客エンティティ24)内にある。コンピュータ30は典型的には、保護
されているLAN36を介してエンティティ34と通信し、企業ファイアウォー
ル40を通じてインターネット38とさらに通信する。所望であれば、コンピュ
ータ30にいるユーザは、アイコン48をクリックすることにより、演算処理設
備46を通じて、プログラム32の高速処理をリクエストすることができる。ア
イコン48は典型的には、ユーザが速度向上ソフトウェアを操作または使用して
いるときにコンピュータ30上に現れる。演算処理設備46は、例えば、図1の
管理者20、クラスタ26、および/もしくはSAN28を示すか、または、例
えば、クラスタおよび/もしくはLANへの接続性を示す。当業者であれば、L
AN36およびインターネット38の機能は他のネットワークを通じて提供可能
であり、ファイアウォール40は必須ではないことを理解するはずである。
【0027】 従って、図1および図2の発明は、インターネットによってアクセス可能な異
種の複数のコンピュータを1つ以上の大規模並列コンピュータとして用いること
を容易化する。本発明は、最低レベルのコンピュータの接続速度を上昇させ、コ
ンピュータの切断に関連する問題を取り除くことにより、従来技術の特定の問題
を解消し、これにより、インターネットによって接続されたコンピュータを用い
て、スーパーコンピュータクラスに匹敵する処理速度を提供する。
【0028】 好適な実施形態において、本発明は、以下に説明する「ハワードカスケード効
果」を用いて、インターネット接続されたコンピュータのアレイで見受けられる
相対的な並列処理を増加させる。例えば、所与の演算問題について、ポイントソ
ース(例えば、1つのコンピュータ)を考える。問題を解くために、ポイントソ
ースにさらなるコンピュータを接続することが望ましいので、システムソリュー
ションの固有の並列処理が望まれる。図3、3A、および3Bに、それぞれハワ
ードカスケード効果を表す3つの接続性のセットを示す。レベル「0」は、カス
ケード幅を規定する。ハワードカスケード効果コンピュータ接続性は、好ましく
は、クラスタ、例えば、図1のクラスタ26、または、図2の演算処理設備46
内に組み込まれる。図3において、1つのコンピュータは、ポイントソースに関
係する、1つの幅および深さの1つのカスケードとして表される。図3Aに、ポ
イントソースに関係する3つのコンピュータの接続性を示す。この接続性によっ
て、幅「2」および深さ「2」のハワードカスケード効果が得られる。図3Bに
、ポイントソースに関係する7つのコンピュータの接続性を示す。この接続性に
よって、幅「3」および深さ「3」のハワードカスケード効果が得られる。当業
者であれば、より大きなハワードカスケードコンピュータ接続性によって、連続
的な接続性が築かれ得ることを理解する。
【0029】 より具体的には、図3、3A、および3Bに示す数字「1、2、3」は、コン
ピュータ、またはコンピュータ上の演算スレッドを表す。スレッドは、コンピュ
ータプロセッサのある一定量、処理帯域幅を消費する論理処理である。さらに、
数字は、そのコンピュータまたはスレッドにアクセスするために用いられるタイ
ムチックの数を表す。例えば、図3Bにおいて、ポイントソースは、7つのコン
ピュータのうち、3つとしか通信しない。ポイントソースが第3のコンピュータ
との通信を終わるときには、7つのコンピュータ全てが問題を解くために動作し
ている。
【0030】 表Iに示すように、ハワードカスケードは、好ましくは、以下の仮定のうち1
つ以上を用いて、ポイントソースから接続されたコンピュータまでのコンピュー
タ接続性構成の相対的な効率を計算する。(a)ノード間でデータが転送されな
いこと、(b)問題の処理が1時間単位かかること、および(c)コンピュータ
への呼の転送が1時間単位かかることである。ポイントソースで充分な数の入力
チャネルが利用可能であり、「呼ばれた」コンピュータがデータに並列にアクセ
スすることを可能にしている場合には、仮定(a)が消去され得る。本明細書中
では、効率は、乗算器と同様に、連続処理速度のカスケード処理速度に対する比
として規定される。従って、全ての数のコンピュータが、1つのハワードカスケ
ードによってサポートされているわけではないことが明らかである。表Iの「コ
ンピュータの数」という列に示す数字は、ハワードカスケードについての一般的
な起こり得るシーケンスを示す。表IIのコンピュータリスティングは、ハワー
ドカスケードによってサポートされているコンピュータの数をどのように計算す
るのかについての例を提供する。 表I:ハワードカスケード効果効率
【0031】
【表1】 表II:ハワードカスケード関数を示すコンピュータリスティング
【0032】
【表2】 ハワードカスケードを伴うあらゆる数のコンピュータ/スレッドをサポートす
るため、典型的には、以下の式で変換が起こる。 N=H(x)+...+H(y)+H(z) ただし、 N=コンピュータ/スレッドの数 H()=ハワードカスケード関数 x、y、z=関数レベル この式は、あらゆる整数が、ハワードカスケードの合計として表されることを可
能にする。 例: 00=H(0)=0 01=H(1)=1 02=H(1)+H(1)=1+1 03=H(2)=3 04=H(2)+H(1)=3+1 05=H(2)+H(1)+H(1)=3+1+1 06=H(2)+H(2)=3+3 07=H(3)=7 08=H(3)+H(1)=7+1 09=H(3)+H(1)+H(1)=7+1+1 10=H(3)+H(2)=7+3 ハワードカスケードは、クラスタを通じて問題セットを分配するだけではなく
、プロセッサまたはスレッドのグループを時系列に並べる。例えば、同じ数のプ
ロセッサまたはスレッドの全て(例えば、図3参照)が、同時に発生する。プロ
セッサまたはスレッドが時間で並べられるという事前の知識によって、かつ、プ
ロセッサまたはスレッド間の接続がスイッチングハードウェアを介して行われる
ことを保証することによって、データのノード間転送が、従来技術のデータ分配
で必要な偏微分方程式のセットに頼ることなく、効率的に行われ得る。
【0033】 ノード(プロセッサまたはスレッド)がそれ自体の間で情報を渡す場合、デー
タ分配問題がより困難になるので、これがどのように処理されるかということを
、以下の説明によって示す。情報を渡す方法には、4つの公知の方法がある。1
対1、1対複数、複数対複数、および複数対1である。1対1の情報を渡す方法
は、ソースおよび宛先ノードとして公知の1対のノードを必要とする。効率的に
情報を渡すために、ソースおよび宛先ノードの両方が、時間的に同期化される必
要がある。図3Aおよび3Bに示すように、時間ステップ2で示すこれらのノー
ド、ならびに、時間ステップ3で示すそれらのノードは、時間同期化される。さ
らに、これらのノードのそれぞれは、クリアチャネルを有することを保証される
。従って、対がハワードカスケードを介して時系列に並べられる限り、ポイント
対ポイントデータ転送は、待機することなく、クリアな事前ノードペアリング位
置で、起こる。1対複数の情報を通過させる方法は、1対1情報転送方法と同様
に動作する。1対複数の情報の追加において、関連付けられた、時間同期化され
たノードが用いられる限り、ノード間でクリアチャネルを有することが保証され
る。本発明が、好ましくは、ノード間通信でTCP/IPを用いるので、1対複
数の情報転送について、IPブロードキャストおよびマルチキャストオプション
が用いられて、適切な宛先に並列にデータを送信する。複数対複数の情報転送は
、いくつかの1対複数の情報転送と同様に動作する。複数対1の情報転送は、複
数対1の関係が存在する理由に依存して、異なる数の処理を必要とし得る。例え
ば、超越関数の複数の精度値を表すことは、関数が、シリーズの成分が加算/減
算されて、1つの関数の複数精度インスタンスを生成するシリーズとして表され
ることを必要とする。シリーズの全ての成分が合計されるので、これは、複数対
1の関係として考えられ得る。しかし、合計することは、いくつかのディスクリ
ートの1対1の関係として起こり得、従って、ディスクリートの1対1関係とし
て表され得る任意の複数対1関係が、存在し得る。現在並列処理において用いら
れる殆ど全ての数学関数が、このカテゴリーに入る。このカテゴリーに入らない
少数の関数は、いずれの処理システム上でも効率的に実行されない。上記の説明
は、本発明が、並列処理において用いられる数学的関数を現存する技術よりもず
っと効率的に処理できることを意味する。当業者で有れば、他のクラスタ、カス
ケード、および超高速演算処理構成が本発明と共に用いられ得ること、および、
本発明による、ハワードカスケードが好適なコンピュータクラスタ接続性を表す
ことを理解する。
【0034】 図4に、7つ接続されたハワードカスケード構成を、さらに示す。充填時間(
fill time)および処理時間(すなわち、上記の仮定bおよびc)のた
め、利用されるチャネルは、せいぜい3つである。すなわち、任意のある時刻に
、7つのコンピュータのうち3つしか、並列して、データを請求しない。データ
格納部50は、典型的には、RAMの形式であるが、例えば、図1のSAN28
、または図2の演算処理設備46に常駐し得る。概して、ハワードカスケードを
用いて、動画と同時に(データがほぼ同じサイズであり、転送レートがほぼ同じ
である場合)、並列処理を維持するために用いられる並列データチャネルの数は
、カスケード幅と等しい。従って、表Iの最後の行に示すように、16,383
プロセッサの場合でさえ、充分なデータレートを保つために(ポイントソースで
)14の入力/出力チャネルしか用いられない。入力/出力チャネルは、1つの
ポートに等しい。ポートは、ネットワークインターフェースカード、モデム、シ
リアルバス、パラレルバス、または任意の他の物理層コンピュータ接続ハードウ
ェアと関連付けられ得る。
【0035】 本発明は、好ましくは、異機種クラスタノードを用いて、クラスタ価格性能比
を低減させる。従来技術において、並列処理において用いられるコンピュータの
クラスタは、典型的には、同機種マシンを必要とし、さらに、これらのマシンは
、典型的には、市販されているものの中で最大速度を有するものであった。従来
技術のこれらの制約の主な理由として、プロセッサを均衡させることがあった。
すなわち、プロセッサノード相互通信がある場合、相互動作の速度が、最も遅い
プロセッサ速度(連続動作)に制限される。従って、全体システム性能を増強す
るために、従来技術においては、それぞれのプロセッサが利用可能な最速の速度
で動作し、同じ速度で動作するプロセッサのクラスタを作ろうとしていた。本発
明は、このようなクラスタモデルを用いるのではなく、好ましくは、スレッドを
用いる処理を利用する。コンピュータ「スレッド」は、異なるプログラムカウン
タおよび異なるスタックポインタを有する同じプログラムの組合せである。スレ
ッドは、固定のタイムスライスを有し得、それぞれのスレッドは、自身のデータ
にアクセスし、自身の数学的関数を解釈する。
【0036】 スレッドは、好ましくは、関数の同一セットでプログラムされる。関数がリク
エストされ、データが(スレッドごとに)受信される場合、関数は、データに適
用される。各スレッドについてのタイムスライスが、他の全てのスレッドと同じ
性能を生成するように規定される場合、(効率的なデータおよび関数呼割り当て
で)各処理の速度が、関連付けられたスレッドのそれぞれの速度である。スレッ
ドを最小共通分母とすることによって、本発明は、異なる速度の異なるコンピュ
ータを混ぜること、すなわち、異種クラスタまたはアレイにおいて、平衡が取ら
れたシステムを維持することが可能になる。
【0037】 本発明の好適な実施形態に従って、クラスタにおいて向上した性能を得るため
に、2つの一般的な目標がある。まず、効率的な問題セット割り当てを有するこ
とが望ましく、本発明は、ハワードカスケードを通じてこの目標を達成する。第
2に、効率的なリソース割り当てを有することが望ましく、本発明は、好ましく
は、図4Aを参照しながら、以下で規定されるハワードリソースキューを通じて
この目標を達成する。
【0038】 特に、図4Aは、単一リンクのリンクリスト、および二重リンクのリンクリス
トを示す。リソースを(スレッドのように)割り当てるために、好ましくは、以
下の工程が行われる。
【0039】 1)パッシブヘッドリンク60を用いて第1のパッシブキューノードにアクセ
スする(「スレッド1」) 2)パッシブヘッドリンクを、スレッド1の前方ポインタ64に変更する 3)アクティブテールリンク66を用いて、最後のアクティブキューノードに
アクセスする(「スレッド3」) 4)スレッド3の前方ポインタ68をスレッド1に変更する 5)アクティブテールリンク66をスレッド1に変更する 6)パッシブキューノードの後方ポインタ70を、以前のアクティブテールリ
ンク66に変更する リソースの割り当てを解除するために、好ましくは、以下の工程が行われる。
【0040】 1)現在用いられているリンク位置付けを用いて、キューのアクティブ部分に
アクセスする 2)キューの現在のアクティブ部分の後方ポインタによって指し示されるノー
ドの前方ポインタを、キューのアクティブ部分の前方ポインタに変更する 3)キューの現在のアクティブ部分の前方ポインタによって指し示されるノー
ドの後方ポインタを、キューの現在のアクティブ部分の後方ポインタに変更する 4)パッシブテールリンク72を用いて、パッシブテールリンク72の前方ポ
インタ74をキューの現在のアクティブ部分に変更する 5)パッシブテールポインタをキューの現在のアクティブ部分に変更する 図4Aの割り当て/割り当て解除方法は、次の利用可能なリソースを検索する
ことなくリソースを得る1つの方法を提供する。しかし、これらの方法は、可能
な限り多くのスレッドが、可能な限り多くのクラスタノードからの所与のジョブ
に割り当てられる場合に、最も効率的に用いられる。スレッドの効率的な割り当
ては、好ましくは、パッシブリストの中のスレッドの順序をランダムにすること
によって達成される。スレッドの割り当ておよび割り当て解除する線形方法によ
って、ランダム化が達成され、特別なアルゴリズムなしに、クラスタにわたって
殆ど最適に近い問題セット割り当てが得られる。
【0041】 本発明が、好ましくは、演算処理を行うユーザとクラスタとの間をネットワー
ク接続するためにインターネットを利用することにおいて、データセットの入力
スピードは、好ましくは、高性能を確実にするように適合される。この適合は、
「ホームノード」(例えば、図1のホームノード26a)を通じて可能になる。
ホームノード自体が、例えば、所望の並列データ転送レートを生成するために十
分なサイズのハワードカスケードである。ホームノードは、従って、本明細書中
で「クラスノード」として説明されるコンピュータのアレイを含む。以下の工程
は、ホームノードを通じて入力速度が維持されることを確実にすることに役立つ
【0042】 ・接続されたユーザの転送レートを、ネットワークインターフェースカードの
速度(ネットワークインターフェースカードが全て同じ速度で動作すると仮定す
る)で割る。
【0043】 ・発生される帯域幅がユーザ転送速度と適合するか、または越えることを確実
にするために必要な数の、ホームノードにおけるクラスノードを割り当てる。
【0044】 ・データが到着すると、選択されたクラスノードにデータを移動する。
【0045】 ・クラスタノードが必要な場合、データポインタが適切なホームノードに設定
される。クラスタまたは関数ノードは、並列化されたアルゴリズムの値を計算す
る演算コンピュータまたはスレッドである。ホームノードは、複数の関数ノード
にわたってデータ/問題セットを割り当てる演算コンピュータまたはスレッドで
ある。ホームノードは、1つのコンピュータまたはスレッドではなく、コンピュ
ータまたはスレッドのカスケードである。同時にアクティブな正確な数は、ユー
ザにアクセスする最大入力速度(接続速度)の関数である。
【0046】 素早い割り当て、自動的な帯域幅適合、および効率的な問題セット分配の組合
せは、異なるタイプおよび速度のマシンが、クラスタ内で効率的に用いられ得る
ことを意味し、本発明の重要な利点を提供する。
【0047】 ホームノードのクラスタノードへの接続(その組合せは、例えば、図1のクラ
スタ26である)を、図4Bにより詳細に示す。示すように、ホームノード80
は、スイッチ82を介して、関数およびデータ(「インターネットジョブ79」
とラベルが付けられている)を分配する。クラスタ84も、スイッチ82を介し
てデータを分配する。従って、システムのI/O帯域幅(例えば、図1のクラス
タ26)は、スイッチ82の総内部帯域幅によって制限され、データの速度およ
びインターネットから受信した関数を含む。例えば、総スイッチI/O帯域幅が
、3ギガビット/秒であり、インターネット接続が、1.5メガビット/秒(現
在のT1速度)を必要とする場合、クラスタ84用に残されている帯域幅は、2
.9ギガビット/秒しかない。それぞれのスイッチポート82aが100メガビ
ット/秒を消費する場合、全体で30のクラスタノード(コンピュータ入力/出
力ポート)は、クラスタ84においてサポートされ得、データ(例えば、インタ
ーネットジョブ79)がインターネットから流れることを可能にする。
【0048】 ネットワークまたは従来のクラスタとは異なり、クラスタ84は、ハブおよび
ルータを必要とせず、スイッチ(または、複数のスイッチ)を用いる。スイッチ
82は、2つのTCP/IPポート82aのグループが、同時に接続されること
を可能にする。ポート82aのうち1つがすでに接続されている場合、新たな接
続は、第1の接続がドロップされる後まで待つ。しかし、上述したように、上述
のように使用される場合、ハワードカスケードのジオメトリによって、必要とさ
れる接続がすべて必要なときに利用可能であることが常に保証される。
【0049】 ホームノード80は、インターネット79に接続され、従って、おそらくクラ
スタでもあり得る1つ以上のコンピュータを含む。インターネット接続を接続す
る場合、アクセスされる関数は、スイッチ82を介して、クラスタノードおよび
/またはスレッドに転送される。クラスタノードおよび/またはスレッドが、カ
スケード分配を行う必要がある場合、上述したように、スイッチ82を介して行
う。クラスタノードおよびスレッドが、関数リストを有し、他のクラスタノード
およびスレッドへのカスケード関数リストを必要としない場合、適切なホームノ
ードクラスノードから(スイッチ82を介して)データをリクエストする。デー
タはクラスタノードスレッドに送られる準備ができたときに、スイッチ82を介
して送られる。その後、データは、クラスタノードスレッドによって処理される
。結果は、他のクラスタノードスレッド、またはホームノードに送れられる準備
ができたときに、上述したように、同様にスイッチ82を通じて行われる。
【0050】 動作中、スイッチ82は、物理的に、クラスタ84、およびホームノード80
内のそれぞれのノードに接続され、それぞれがTCP/IPアドレスを有する。
さらなるポート82aが必要である(すなわち、より大きいスイッチが必要とさ
れる)場合、さらなるスイッチが、クラスタノード(および/またはホームノー
ドのノード)接続されて、クラスタサイズを拡大する。
【0051】 図4Cに、クラスタ「ストリップ」とスレッドとの関係を示す。ストリップに
おけるスレッドの数は、1つを除いて、関連付けられたカスケードレベルに等し
い。例えば、Strip1におけるスレッドの数は、3である。これは、カスケ
ードレベル2と等しい。Strip2におけるスレッドの数は、1であり、これ
は、カスケードレベル1と等しい。Strip3におけるスレッドの数は、0で
あり、カスケードレベル0と等しい。ストリップ全体のデータの値をカバーする
ため、第1のストリップは、カスケード内において他のノードへのアドレスを有
する必要がある。カスケードがレベルXだとすると、XNでのストリップは、y
=c(2N-1−1)を意味する。ただし、Nは、ストリップの等しいカスケード
レベルである。
【0052】 インターネットを用いる並列演算による問題の1つは、素早い検出およびコン
ピュータのドロップアウトの低減を含む。すなわち、問題は、(a)アレイ内の
コンピュータがオフラインになる時刻を、作業のその部分が完了する前に検出す
ること、および(b)そのコンピュータを、依然オンラインであるコンピュータ
と取り替えることを含む。本発明のハワードカスケードを用いると、階層のそれ
ぞれの部分が、呼びたすコンピュータ全てを追跡する。従って、コンピュータの
モニタリングは、並列に達成される。ドロップアウトが検出される場合、ドロッ
プされたコンピュータメッセージは、ポイントソースに送られ、ポイントソース
が新たなコンピュータアドレスを可能性のあるコンピュータに渡すことを可能に
する。可能性のあるコンピュータを検出する仕組みの1つは、処理が「OK」で
あるというメッセージを、処理が完了したというメッセージの受信の前に受信し
ないことである。
【0053】 好適な実施形態において、ユーザ(例えば、図2のコンピュータ30でのユー
ザ)は、ダイナミックリンクライブラリ、すなわち「DLL」の使用を通じて、
クラスタ(例えば、図1のクラスタ26)と通信する。当該技術において公知で
あるように、DLLライブラリは、演算関数、制御関数、およびデータ定義の3
つの部分からなる。演算関数は、サポートされた数学的演算のリストである。こ
のリストはしばしば更新される。現在サポートされている演算関数は、以下の通
りである。
【0054】
【数1】 制御関数は、ユーザが情報を送受信したり、関数をグループ化したり、グルー
プを繰り返したり、スレッドを破壊したり、スレッドを作成したりことを可能に
する。データ定義は、ユーザが、演算関数が用いるために、アレイ、マトリクス
、整数、および実数を定義することを可能にする。
【0055】 本発明のクラスタにおいて、特定のコンピュータ(ノード)が、適切に機能し
ないか、通信しないかのいずれかになる時刻を検出することができることが重要
である。本発明の好適な実施形態による、クラスタ内でのエラー検出には、3つ
のレベルがある。第1のレベルは、TCP/IPレベルである。メッセージがホ
ームノードからクラスタに送られる場合、メッセージ確認を受け取ることを必要
とする。数回試みた後、メッセージ確認が発生しない場合、現在のノードがダウ
ンしていると仮定される。カスケードTCP/IP転送の間(メッセージ転送ノ
ードとホームノードとの間に直接の接続がなくてもよいので)メッセージ確認が
発生しない場合、メッセージ転送ノードによって、「ロストノード」メッセージ
が作成され、ホームノードに送られる。「ロストノード」メッセージは、応答し
ないノードのTCP/IPアドレスを含む。
【0056】 第2のエラー検出レベルは、メッセージ内部周期冗長検査によって容易になる
。この検査は、計算を含むので、計算エラーは、良くないメッセージ検査につな
がる。数回のリクエストの後、良好なメッセージが検出されない場合、ホームノ
ードが自動的にエラーを検出するか、または、カスケードノードから「ロストノ
ード」メッセージを受け取るかのいずれかである。
【0057】 第3のエラー検出レベルは、未完了状況によって容易になる。現在のノード/
スレッドが特定のジョブの処理を完了する場合、応答を送る。最長期間内に応答
が発生しない場合、ホームノードが自動的にエラーを検出するか、または、カス
ケードノードから「ロストノード」メッセージを受け取るかのいずれかである。
【0058】 特定のノード上で十分な数のエラーが発生する場合、そのノードは、以下の工
程によってオフラインにされる。
【0059】 1)目標のノードに「キルスレッド」メッセージを送る 2)アクティブリストを検索し、目標TCP/IPアドレスに関する全てのエ
ントリを消去する 3)パッシブリストを検索し、目標TCP/IPアドレスに関する全てのエン
トリを消去する 4)「ノード切断」メッセージをモニタに表示する 5)ネットワークケーブルをスイッチおよびノードの両方から切断する 6)ノードをラックから除去する 同様に、ノードをオンラインにする場合、そのノードは、クラスタには組み込
まれず、以下の工程を通ってオンラインにする。
【0060】 1)ノードをラックに配置する 2)ネットワークケーブルを、空のスイッチポートおよびネットワークインタ
ーフェースカードに接続する 3)「スレッド定義」メッセージをモニタに表示する 4)スレッドの数、スレッドのタイムスライス、ノードTCP/IPアドレス
を入力する 5)「スレッド定義」メッセージをTCP/IPアドレスに送る 6)パッシブスレッドキュー用に、ホームノードスレッドノードを定義する 7)スレッドノード位置をランダム化し、パッシブスレッドキューを通じて発
生するようにする。
【0061】 本発明は、多くの処理工程を提供する。これらの工程は、本願が優先権主張の
基礎とする特許仮出願において明示的に記載され、具体的には、その本明細書中
のソースコード内に記載される。しかし、図5、5A、5B、5C、5D、5E
、5F、5Gは、あるフローチャートを示し、エンドユーザコンピュータ(例え
ば、図1における顧客エンティティ22におけるコンピュータ)から、ホームノ
ード、およびクラスタ(例えば、図1におけるクラスタ26)への本発明の用途
を示す。特に、図5は、エンドユーザコンピュータにおいて起こる処理方法を示
し、図5Aは、ホームノードにおいて起こる処理方法を示し、図5Bは、クラス
タにおいて起こる処理方法を示す。図5C、5D、5E、5F、5Gは、図5、
5A、5Bおよび図5C〜5Gの他のフローチャートと共に、ライブラリ作用お
よび相互接続(例えば、コネクタA−F)を示す。これらのフローチャート内で
使用される場合、「ハワードストリップ(Howard Strip)」は、通
信用にTCP/IPアドレスの共通リストを受信する関連ノード/スレッドを意
味し、「キュー(queue)」は、システムリソース(スレッド、メモリ、ソ
ケット等)のリストを意味し、「クアイエス(quiesce)」は、関連ノー
ドのすべてのスレッドが問題の処理を終了したことを保証することを意味し、「
ヘッドアンドテールポインタ(head and tail pointers
)」は、リストポインタのリンクリスト(ヘッドポインタ)およびリストポイン
タのリンクリストエンド(テールポインタ)を意味し、「並列化(parall
elization)」は、数学関数またはアルゴリズムを等価な数学的級数に
変換することを意味する。
【0062】 図5は、エンドユーザコンピュータ(例えば、図2のコンピュータ3)におい
てまたはエンドユーザコンピュータを介して、好適に起こる工程および機能を示
すフローチャートを示す。図5のフローチャートを、表IIIに十分に記載する
。当業者は、これらの工程が本発明を限定するものでもなく、典型的には処理順
にもなっておらず、かつすべての工程が機能を活かすために必要なわけでもない
ことを理解すべきである。 表III:図5のフローチャートの工程
【0063】
【表3】 図5Aは、好適にはホームノードにおいてまたはホームノードを介して起こる
工程および機能を示すフローチャートを示す。図5Aのフローチャートを、表I
Vに十分に記載する。当業者は、これらの工程が本発明を限定するものでもなく
、通し番号順にもなっておらず、かつすべての工程が機能を活かすために必要な
わけでもないことを理解すべきである。 表IV:図5Aのフローチャートの工程
【0064】
【表4】 図5Bは、好適にはクラスタ(例えば、図1のクラスタ26)においてまたは
クラスタを介して起こる工程および機能を示すフローチャートを示す。図5Bの
フローチャートを、表Vに十分に記載する。当業者は、これらの工程が本発明を
限定するものでもなく、通し番号順にもなっておらず、かつすべての工程が機能
を活かすために必要なわけでもないことを理解すべきである。 表V:図5Bのフローチャートの工程
【0065】
【表5】 表VIは、図5Cにおけるライブラリ作用のフローチャートを記載する。当業
者は、表VIの各工程が必ずしも必要なわけでもなく、これらの工程が、必ずし
も処理が通し番号順に記載されてもいないことを理解すべきである。 表VI:図5Cのフローチャートの工程
【0066】
【表6】 表VIIは、図5Dにおけるライブラリ作用のフローチャートを記載する。当
業者は、各工程が必ずしも必要なわけでもなく、これらの工程が、必ずしも処理
が通し番号順に記載されてもいないことを理解すべきである。 表VII:図5Dのフローチャートの工程
【0067】
【表7】
【0068】
【表8】 表VIIIは、図5Eにおけるライブラリ作用の非限定的な工程からなるフロ
ーチャートを記載する。当業者は、各工程が必ずしも必要なわけでもなく、これ
らの工程が、概して処理が通し番号順に記載されてもいないことを理解すべきで
ある。 表VIII:図5Eのフローチャートの工程
【0069】
【表9】
【0070】
【表10】 表IXは、図5Fにおけるライブラリ作用の非限定的な工程からなるフローチ
ャートを記載する。当業者は、各工程が必ずしも必要なわけでもなく、これらの
工程が、概して処理が通し番号順に記載されてもいないことを理解すべきである
。 表IX:図5Fのフローチャートの工程
【0071】
【表11】 表Xは、図5Gにおけるライブラリ作用の非限定的な工程からなるフローチャ
ートを記載する。当業者は、各工程が必ずしも必要なわけでもなく、これらの工
程が、概して処理が通し番号順に記載されてもいないことを理解すべきである。
表X:図5Gのフローチャートの工程
【0072】
【表12】 図6は、本発明によって構築されたシステム500を示す。システム500は
、1つ以上のエンドユーザ502からの関数を、1つ以上のクラスタ5041
・・504nを介して処理する。図1のように、管理者506は、ソフトウェア
製造者(例えば、製造者508)との通信によって、そのような処理を容易にし
、ユーザ502用に速度向上ソフトウェアを提供する。SAN510は、図1に
示すように、中間格納部として使用され得る。ホームノード512はまた、クラ
スタ504に対して、高性能ネットワーク505を介して、フロントエンドとし
ての役目を果たすクラスタであり、クラスタ504とのデータ並列化を維持する
【0073】 例示するように、管理者506は、ビジネスとして機能するために、非限定的
ないくつかのソースへの一時的なトランザクションと、非限定的ないくつかのソ
ースからの一時的なトランザクションとを実行する。エンドユーザは、料金を管
理者506にトランザクション514を介して支払い、管理者506は、格納に
ついてSAN510にトランザクション516を介して支払い、管理者506は
、製造者508にトランザクション518を介して支払う。データは、ユーザ5
02とクラスタ504との双方に、およびユーザ502とクラスタ504との間
を、いくつかの他のトランザクション520を介して移動する。
【0074】 図6Aは、本発明によって構築された別の実施形態であるシステム600を示
す。システム600は、図6のシステム500に類似している、ただし、ノード
クラスタが共通ISPにリンクされた相互接続コンピュータを介して提供される
ことのみが異なる。特に、システム600は、1つ以上のエンドユーザ602か
らの関数を、1つ以上のクラスタ6041・・・604nを介して処理する。各ク
ラスタ604は、ISP607にリンクされ、ISP607によって可能になる
。図1のように、管理者606は、ソフトウェア製造者(例えば、製造者608
)との通信によって、システム600を介する処理を容易にし、ユーザ602用
の高速化ソフトウェアを提供する。SAN610は、図1のように、中間格納部
として使用され得る。ホームノード612はまた、ISPおよびクラスタ607
、604に対して、高性能ネットワーク605を介して、フロントエンドとして
の役目を果たすクラスタであることが好適であり、クラスタ604とのデータ並
列化を維持する。
【0075】 例示するように、管理者606は、ビジネスとして機能するために、非限定的
ないくつかのソースへの一時的なトランザクションと、非限定的ないくつかのソ
ースからの一時的なトランザクションとを実行する。エンドユーザは、料金を管
理者606にトランザクション614を介して支払い、管理者606は、格納に
ついてSAN610にトランザクション616を介して支払い、管理者606は
、製造者608にトランザクション618を介して支払う。データは、ユーザ6
02とクラスタ604との双方に、およびユーザ602とクラスタ604との間
を、いくつかの他のトランザクション620を介して移動する。好適には、管理
者606はまた、ISP607にトランザクション620を介して支払い、これ
と交換して、クラスタ604のノードが、無料のインターネットアクセスを、I
SP607を介して提供される。このように、超高速演算処理が、無料のインタ
ーネットアクセスと交換にコンピュータ(詳細には、コンピュータの1つ以上の
スレッド)を共有する有志ISP参加者が所有するコンピュータのネットワーク
化されたクラスタによって、提供される。
【図面の簡単な説明】
【図1】 図1は、本発明の1つ以上の実施形態の利用に適用可能なトランザクション
フローチャートを示す。
【図2】 図2は、本発明による、1つのトランザクションの動作を示す。
【図3】 図3は、本発明による、異なるコンピュータの接続性を示し、ハワードカスケ
ードによる効果を説明する。
【図3A】 図3Aは、本発明による、異なるコンピュータの接続性を示し、ハワードカス
ケードによる効果を説明する。
【図3B】 図3Bは、本発明による、異なるコンピュータの接続性を示し、ハワードカス
ケードによる効果を説明する。
【図4】 図4は、本発明による、7個のコンピュータによるハワードカスケードコンフ
ィギュレーションのデータフローおよび格納を示す。
【図4A】 図4Aは、本発明による、効率的なリソースの割当てを得るために用いられる
ハワードリソースキューを模式的に示す。
【図4B】 図4Bは、本発明による、本発明のホームノードおよびクラスタを用いたスイ
ッチ動作を示す。
【図4C】 図4Cは、本発明による、クラスタストリップとスレッドとの間の関係を示す
【図5】 図5は、本発明を用いる際の1つの処理フローを示し、特に、プログラムの高
速処理が必要とするコンピュータにおいて行なわれる工程を含む。
【図5A】 図5Aは、本発明を用いる際の1つの処理フローを示し、特に、ホームノード
(例えば、本発明の管理者)において行なわれる工程を含む。
【図5B】 図5Bは、本発明を用いる際の1つの処理フローを示し、特に、本発明のクラ
スタにおいて行なわれる工程を含む。
【図5C】 図5Cは、本発明の好適な実施形態による、ライブラリアクションのフローチ
ャートを示す。
【図5D】 図5Dは、本発明の好適な実施形態による、ライブラリアクションのフローチ
ャートを示す。
【図5E】 図5Eは、本発明の好適な実施形態による、ライブラリアクションのフローチ
ャートを示す。
【図5F】 図5Fは、本発明の好適な実施形態による、ライブラリアクションのフローチ
ャートを示す。
【図5G】 図5Gは、本発明の好適な実施形態による、ライブラリアクションのフローチ
ャートを示す。
【図6】 図6は、本発明による、クラスタ処理を通じた収入生成トランザクションを示
す。
【図6A】 図6Aは、本発明による、1つ以上のISPを通じた収入生成トランザクショ
ンおよびクラスタ処理を示す。
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE),OA(BF,BJ ,CF,CG,CI,CM,GA,GN,GW,ML, MR,NE,SN,TD,TG),AP(GH,GM,K E,LS,MW,MZ,SD,SL,SZ,TZ,UG ,ZW),EA(AM,AZ,BY,KG,KZ,MD, RU,TJ,TM),AE,AG,AL,AM,AT, AU,AZ,BA,BB,BG,BR,BY,BZ,C A,CH,CN,CR,CU,CZ,DE,DK,DM ,DZ,EE,ES,FI,GB,GD,GE,GH, GM,HR,HU,ID,IL,IN,IS,JP,K E,KG,KP,KR,KZ,LC,LK,LR,LS ,LT,LU,LV,MA,MD,MG,MK,MN, MW,MX,MZ,NO,NZ,PL,PT,RO,R U,SD,SE,SG,SI,SK,SL,TJ,TM ,TR,TT,TZ,UA,UG,UZ,VN,YU, ZA,ZW (72)発明者 バーベック, ゲラード エイ. アメリカ合衆国 コロラド 80303, ボ ールダー, コロラド アベニュー 3790 −ディー (72)発明者 スミス, スコット エイ. アメリカ合衆国 コロラド 80303, ボ ールダー, テルライド レーン 3794 Fターム(参考) 5B045 GG01

Claims (32)

    【特許請求の範囲】
  1. 【請求項1】 エンティティにより用いられるプログラムの実行を高速化す
    る方法であって、該エンティティは、該エンティティについての決定を行う許可
    発行者を有し、該方法は、 該プログラムとのデータ通信において、少なくとも1つのプログラム関数をラ
    イブラリに伝達する工程と、 該関数を演算処理設備に送信する工程と、 該関数を該演算処理設備で処理する工程と、 該関数の処理に関連付けられた結果を、該演算処理設備から該エンティティへ
    と送信する工程と、 該結果を該プログラムと互換性を有する言語に翻訳する工程と を包含する、方法。
  2. 【請求項2】 前記関数を処理する工程がコンピュータクラスタを用いる工
    程を包含する、請求項1に記載の方法。
  3. 【請求項3】 前記関数がデータを含む、請求項1に記載の方法。
  4. 【請求項4】 データを前記関数に送信する工程をさらに包含する、請求項
    1に記載の方法。
  5. 【請求項5】 費用を支払うために番号900番にアクセスする工程をさら
    に包含する、請求項1に記載の方法。
  6. 【請求項6】 費用を計算する工程が、前記関数の処理に関連づけられた毎
    秒命令数を見積もる工程を包含する、請求項1に記載の方法。
  7. 【請求項7】 前記費用を計算する工程が、前記関数を処理するために用い
    られるクラスタ処理の秒数を見積もる工程をさらに包含する、請求項6に記載の
    方法。
  8. 【請求項8】 前記費用を計算する工程が、前記関数の処理に関連付けられ
    た命令数を見積もる工程を包含する、請求項1に記載の方法。
  9. 【請求項9】 前記命令を見積もる工程がMIPSを見積もる工程を包含す
    る、請求項1に記載の方法。
  10. 【請求項10】 前記演算処理設備がコンピュータのクラスタを含む、請求
    項1に記載の方法。
  11. 【請求項11】 前記送信する工程がインターネットを介して送信する工程
    を包含する、請求項1に記載の方法。
  12. 【請求項12】 前記関数を実行し、処理する費用を計算する工程、前記許
    可発行者に該費用を知らせる工程、および該許可発行者から該関数を処理する許
    可を受信する工程をさらに包含する、請求項1に記載の方法。
  13. 【請求項13】 前記費用をトランザクション毎ベースで前記許可発行者に
    請求する工程をさらに包含する、請求項12に記載の方法。
  14. 【請求項14】 前記費用を電子ファンド受渡し(electronic
    funds transfer)を介して支払う工程をさらに包含する、請求項
    12に記載の方法。
  15. 【請求項15】 前記費用をプリペイドアカウントを介して支払う工程をさ
    らに包含する、請求項12に記載の方法。
  16. 【請求項16】 前記費用をクレジットカードe−コマーストランザクショ
    ンを介して支払う工程をさらに包含する、請求項1に記載の方法。
  17. 【請求項17】 前記費用を所定の間隔で前記許可発行者に請求する工程を
    さらに包含する、請求項12に記載の方法。
  18. 【請求項18】 前記処理する工程が、コンピュータのクラスタを介して処
    理する工程を包含し、かつ並列データレートをホームノードを介して生成する工
    程をさらに包含する、請求項1に記載の方法。
  19. 【請求項19】 前記プログラムの高速化された実行を開始するために、前
    記エンティティのコンピュータ上に表示されたアイコンをクリックする工程をさ
    らに包含する、請求項1に記載の方法。
  20. 【請求項20】 前記プログラムの高速化された実行を容易にするために、
    前記エンティティでDLLを利用する工程をさらに包含する、請求項1に記載の
    方法。
  21. 【請求項21】 エンティティにより用いられるプログラムの実行を高速化
    するネットワークであって、 インターネットに接続されるコンピュータと、 該コンピュータに関連付けられたライブラリであって、該プログラムの少なく
    とも1つの関数の処理を高速化をしたいというリクエストを受け入れる、ライブ
    ラリと、 インターネットを介して該コンピュータに接続される分散クラスタと、 ISPであって、該ISPに接続されるノードに該関数の処理および該コンピ
    ュータへの結果の返送を行わせるプロトコルソフトウェアを有する、ISPと を備えた、ネットワーク。
  22. 【請求項22】 前記ノードが、前記関数の処理を高速化するためのクラス
    タを含む、請求項21に記載のネットワーク。
  23. 【請求項23】 前記クラスタが異機種のクラスタを含む、請求項22に記
    載のネットワーク。
  24. 【請求項24】 前記クラスタがネットワークにより接続された少なくとも
    6台のコンピュータを含む、請求項22に記載のネットワーク。
  25. 【請求項25】 前記クラスタがインターネットを介して前記関数を受け取
    る、請求項21に記載のネットワーク。
  26. 【請求項26】 ISPであって、 クラスタ内で接続され、該クラスタ内で処理関数を分配する複数のユーザと、 該クラスタ内の関数の分散処理を容易にするソフトウェアと を備えたISP。
  27. 【請求項27】 前記関数の高速化された処理を所望するエンティティと前
    記ISP間の外部支払いトランザクションを容易にするソフトウェアをさらに備
    えた、請求項20に記載のISP。
  28. 【請求項28】 1以上のプログラムの高速化された並列処理のためのクラ
    スタであって、 少なくとも1つのスイッチを介して共にネットワーク化される異機種のコンピ
    ュータアレイであって、各コンピュータが1つの処理速度を有する、異機種のコ
    ンピュータアレイと、 共通の速度のスレッドを介して該プログラムの一部を処理するために構成され
    た複数のコンピュータアレイであって、該共通の速度が該処理速度よりも低く、
    かつ該スイッチの速度により規定される、複数のコンピュータアレイと を備えたクラスタ。
  29. 【請求項29】 前記コンピュータアレイの全体にわたって並列化を維持す
    るためのホームノードをさらに備えた、請求項28に記載のクラスタ。
  30. 【請求項30】 前記コンピュータアレイの全体にわたってスレッド速度を
    動的に調整するためのコントローラをさらに備えた、請求項28に記載のクラス
    タ。
  31. 【請求項31】 前記アレイの各コンピュータが前記スイッチを介してアド
    レシング可能な一意のTCP/IPアドレスを備えた、請求項28に記載のクラ
    スタ。
  32. 【請求項32】 1以上のコンピュータの故障時に前記コンピュータアレイ
    内でスレッドを再割当てするためのホームノードをさらに備えた、請求項28に
    記載のクラスタ。
JP2001507165A 1999-06-25 2000-06-26 大規模集合ネットワークによる処理システムおよびその方法 Withdrawn JP2003503787A (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US14120899P 1999-06-25 1999-06-25
US60/141,208 1999-06-25
US18865900P 2000-03-10 2000-03-10
US60/188,659 2000-03-10
PCT/US2000/017576 WO2001001219A2 (en) 1999-06-25 2000-06-26 Massive collective network processing system and methods

Publications (1)

Publication Number Publication Date
JP2003503787A true JP2003503787A (ja) 2003-01-28

Family

ID=26838894

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001507165A Withdrawn JP2003503787A (ja) 1999-06-25 2000-06-26 大規模集合ネットワークによる処理システムおよびその方法

Country Status (6)

Country Link
US (2) US6857004B1 (ja)
EP (1) EP1203275A4 (ja)
JP (1) JP2003503787A (ja)
AU (1) AU5891500A (ja)
CA (1) CA2378088A1 (ja)
WO (1) WO2001001219A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005515551A (ja) * 2002-01-10 2005-05-26 マッシブリー パラレル テクノロジーズ, インコーポレイテッド 並列処理システム及び方法

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7418470B2 (en) 2000-06-26 2008-08-26 Massively Parallel Technologies, Inc. Parallel processing systems and method
US8325761B2 (en) 2000-06-26 2012-12-04 Massivley Parallel Technologies, Inc. System and method for establishing sufficient virtual channel performance in a parallel computing network
US7206282B1 (en) * 2001-05-29 2007-04-17 F5 Networks, Inc. Method and apparatus to balance flow loads in a multipurpose networking device
US7360062B2 (en) * 2003-04-25 2008-04-15 International Business Machines Corporation Method and apparatus for selecting an instruction thread for processing in a multi-thread processor
US7401207B2 (en) * 2003-04-25 2008-07-15 International Business Machines Corporation Apparatus and method for adjusting instruction thread priority in a multi-thread processor
US7401208B2 (en) * 2003-04-25 2008-07-15 International Business Machines Corporation Method and apparatus for randomizing instruction thread interleaving in a multi-thread processor
JP4855655B2 (ja) * 2004-06-15 2012-01-18 株式会社ソニー・コンピュータエンタテインメント 処理管理装置、コンピュータ・システム、分散処理方法及びコンピュータプログラム
US7913206B1 (en) * 2004-09-16 2011-03-22 Cadence Design Systems, Inc. Method and mechanism for performing partitioning of DRC operations
US7904852B1 (en) 2005-09-12 2011-03-08 Cadence Design Systems, Inc. Method and system for implementing parallel processing of electronic design automation tools
WO2007038445A2 (en) * 2005-09-26 2007-04-05 Advanced Cluster Systems, Llc Clustered computer system
US7676807B2 (en) * 2006-02-28 2010-03-09 Sap Ag Method and system for cascaded processing a plurality of data objects
US8082289B2 (en) 2006-06-13 2011-12-20 Advanced Cluster Systems, Inc. Cluster computing support for application programs
US8448096B1 (en) 2006-06-30 2013-05-21 Cadence Design Systems, Inc. Method and system for parallel processing of IC design layouts
US8108512B2 (en) 2006-09-01 2012-01-31 Massively Parallel Technologies, Inc. System and method for accessing and using a supercomputer
US7657856B1 (en) 2006-09-12 2010-02-02 Cadence Design Systems, Inc. Method and system for parallel processing of IC design layouts
US20090265205A1 (en) * 2008-03-11 2009-10-22 Incentalign, Inc. Pricing, Allocating, accounting and distributing internal resources using a market mechanism
US7958194B2 (en) 2008-08-25 2011-06-07 Massively Parallel Technologies, Inc. System and method for parallel processing using a Type I Howard Cascade
US10216692B2 (en) * 2009-06-17 2019-02-26 Massively Parallel Technologies, Inc. Multi-core parallel processing system
US9110860B2 (en) * 2009-11-11 2015-08-18 Mellanox Technologies Tlv Ltd. Topology-aware fabric-based offloading of collective functions
US8811417B2 (en) * 2009-11-15 2014-08-19 Mellanox Technologies Ltd. Cross-channel network operation offloading for collective operations
US8640137B1 (en) 2010-08-30 2014-01-28 Adobe Systems Incorporated Methods and apparatus for resource management in cluster computing
WO2012037168A2 (en) 2010-09-13 2012-03-22 Massively Parallel Technologies, Inc. Software design and automatic coding for parallel computing
JP5890648B2 (ja) * 2011-10-21 2016-03-22 キヤノンイメージングシステムズ株式会社 情報処理装置、その制御方法、およびデバイス制御システム
US9160607B1 (en) 2012-11-09 2015-10-13 Cray Inc. Method and apparatus for deadlock avoidance
US9262726B2 (en) * 2013-01-17 2016-02-16 Applied Materials, Inc. Using radial basis function networks and hyper-cubes for excursion classification in semi-conductor processing equipment
US8744890B1 (en) 2013-02-14 2014-06-03 Aktana, Inc. System and method for managing system-level workflow strategy and individual workflow activity
US9800515B2 (en) * 2014-01-31 2017-10-24 Apollo Education Group, Inc. Mechanism for controlling a process on a computing node based on the participation status of the computing node
US9851949B2 (en) 2014-10-07 2017-12-26 Kevin D. Howard System and method for automatic software application creation
US10496514B2 (en) 2014-11-20 2019-12-03 Kevin D. Howard System and method for parallel processing prediction
US10284383B2 (en) 2015-08-31 2019-05-07 Mellanox Technologies, Ltd. Aggregation protocol
US10521283B2 (en) 2016-03-07 2019-12-31 Mellanox Technologies, Ltd. In-node aggregation and disaggregation of MPI alltoall and alltoallv collectives
US11277455B2 (en) 2018-06-07 2022-03-15 Mellanox Technologies, Ltd. Streaming system
US11520560B2 (en) 2018-12-31 2022-12-06 Kevin D. Howard Computer processing and outcome prediction systems and methods
US11625393B2 (en) 2019-02-19 2023-04-11 Mellanox Technologies, Ltd. High performance computing system
EP3699770A1 (en) 2019-02-25 2020-08-26 Mellanox Technologies TLV Ltd. Collective communication system and methods
US11750699B2 (en) 2020-01-15 2023-09-05 Mellanox Technologies, Ltd. Small message aggregation
US11252027B2 (en) 2020-01-23 2022-02-15 Mellanox Technologies, Ltd. Network element supporting flexible data reduction operations
US11876885B2 (en) 2020-07-02 2024-01-16 Mellanox Technologies, Ltd. Clock queue with arming and/or self-arming features
US11556378B2 (en) 2020-12-14 2023-01-17 Mellanox Technologies, Ltd. Offloading execution of a multi-task parameter-dependent operation to a network device
US11861336B2 (en) 2021-08-12 2024-01-02 C Squared Ip Holdings Llc Software systems and methods for multiple TALP family enhancement and management
US11687328B2 (en) 2021-08-12 2023-06-27 C Squared Ip Holdings Llc Method and system for software enhancement and management
US11922237B1 (en) 2022-09-12 2024-03-05 Mellanox Technologies, Ltd. Single-step collective operations

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5161156A (en) 1990-02-02 1992-11-03 International Business Machines Corporation Multiprocessing packet switching connection system having provision for error correction and recovery
US5224100A (en) * 1991-05-09 1993-06-29 David Sarnoff Research Center, Inc. Routing technique for a hierarchical interprocessor-communication network between massively-parallel processors
US5349682A (en) * 1992-01-31 1994-09-20 Parallel Pcs, Inc. Dynamic fault-tolerant parallel processing system for performing an application function with increased efficiency using heterogeneous processors
US5860010A (en) * 1992-03-12 1999-01-12 Bull S.A. Use of language with similar representation for programs and data in distributed data processing
US5371852A (en) 1992-10-14 1994-12-06 International Business Machines Corporation Method and apparatus for making a cluster of computers appear as a single host on a network
WO1994017488A1 (en) 1993-01-22 1994-08-04 University Corporation For Atmospheric Research Multipipeline multiprocessor system
WO1994027216A1 (en) * 1993-05-14 1994-11-24 Massachusetts Institute Of Technology Multiprocessor coupling system with integrated compile and run time scheduling for parallelism
AU671040B2 (en) * 1993-09-20 1996-08-08 Motorola Mobility, Inc. Dynamic rate adjustment for overload control in communication networks
JPH07302236A (ja) * 1994-05-06 1995-11-14 Hitachi Ltd 情報処理システムおよびその方法並びに情報処理システムにおけるサービス提供方法
US5758144A (en) * 1994-06-24 1998-05-26 International Business Machines Corporation Database execution cost and system performance estimator
US5838906A (en) * 1994-10-17 1998-11-17 The Regents Of The University Of California Distributed hypermedia method for automatically invoking external application providing interaction and display of embedded objects within a hypermedia document
US5699500A (en) * 1995-06-01 1997-12-16 Ncr Corporation Reliable datagram service provider for fast messaging in a clustered environment
US5905736A (en) * 1996-04-22 1999-05-18 At&T Corp Method for the billing of transactions over the internet
US5857076A (en) * 1996-04-30 1999-01-05 International Business Machines Corporation Program product for obtaining the state of network resources in A distributed computing environment
US6732141B2 (en) * 1996-11-29 2004-05-04 Frampton Erroll Ellis Commercial distributed processing by personal computers over the internet
US6725250B1 (en) * 1996-11-29 2004-04-20 Ellis, Iii Frampton E. Global network computers
US6167428A (en) * 1996-11-29 2000-12-26 Ellis; Frampton E. Personal computer microprocessor firewalls for internet distributed processing
US6151688A (en) * 1997-02-21 2000-11-21 Novell, Inc. Resource management in a clustered computer system
US6117180A (en) * 1997-02-24 2000-09-12 Lucent Technologies Inc. Hardware-software co-synthesis of heterogeneous distributed embedded systems for low overhead fault tolerance
US6032216A (en) * 1997-07-11 2000-02-29 International Business Machines Corporation Parallel file system with method using tokens for locking modes
US6014669A (en) * 1997-10-01 2000-01-11 Sun Microsystems, Inc. Highly-available distributed cluster configuration database
US6167502A (en) * 1997-10-10 2000-12-26 Billions Of Operations Per Second, Inc. Method and apparatus for manifold array processing
GB2331815A (en) * 1997-11-28 1999-06-02 Ibm Centralized billing for a computer network
US6154765A (en) * 1998-03-18 2000-11-28 Pasocs Llc Distributed digital rule processor for single system image on a clustered network and method
US6163855A (en) * 1998-04-17 2000-12-19 Microsoft Corporation Method and system for replicated and consistent modifications in a server cluster
US6128608A (en) * 1998-05-01 2000-10-03 Barnhill Technologies, Llc Enhancing knowledge discovery using multiple support vector machines
US6295573B1 (en) * 1999-02-16 2001-09-25 Advanced Micro Devices, Inc. Point-to-point interrupt messaging within a multiprocessing computer system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005515551A (ja) * 2002-01-10 2005-05-26 マッシブリー パラレル テクノロジーズ, インコーポレイテッド 並列処理システム及び方法
JP2010277604A (ja) * 2002-01-10 2010-12-09 Massively Parallel Technologies Inc 並列処理システム及び方法
JP2011100487A (ja) * 2002-01-10 2011-05-19 Massively Parallel Technologies Inc 並列処理システム及び方法

Also Published As

Publication number Publication date
WO2001001219A8 (en) 2001-10-11
EP1203275A2 (en) 2002-05-08
EP1203275A4 (en) 2004-12-01
WO2001001219A2 (en) 2001-01-04
US6857004B1 (en) 2005-02-15
CA2378088A1 (en) 2001-01-04
WO2001001219A3 (en) 2001-07-05
AU5891500A (en) 2001-01-31
US20050038852A1 (en) 2005-02-17

Similar Documents

Publication Publication Date Title
JP2003503787A (ja) 大規模集合ネットワークによる処理システムおよびその方法
Mei et al. Profit maximization for cloud brokers in cloud computing
US11552880B2 (en) Systems and methods for managing resources in a serverless workload
US7937705B1 (en) Dynamic job processing based on estimated completion time and specified tolerance time
US8612615B2 (en) Systems and methods for identifying usage histories for producing optimized cloud utilization
US9842004B2 (en) Adjusting resource usage for cloud-based networks
US8612577B2 (en) Systems and methods for migrating software modules into one or more clouds
US9442771B2 (en) Generating configurable subscription parameters
US7370013B1 (en) Approach for determining an amount to bill a customer for the use of resources
US10372490B2 (en) Migration of a virtual machine from a first cloud computing environment to a second cloud computing environment in response to a resource or services in the second cloud computing environment becoming available
US20040015977A1 (en) Employing a resource broker in managing workloads of a peer-to-peer computing environment
WO2008007669A1 (fr) Dispositif et procédé de gestion de système informatique
Ayesta et al. A token-based central queue with order-independent service rates
KR100718907B1 (ko) 퍼지 그룹핑 기반의 로드 밸런싱 시스템 및 그 로드 밸런싱방법
US20120221626A1 (en) Systems and methods for establishing upload channels to a cloud data distribution service
US20150012398A1 (en) Credit optimization to minimize latency
García et al. An efficient cloud scheduler design supporting preemptible instances
Gomoluch et al. Performance evaluation of market‐based resource allocation for Grid computing
Li et al. Utility driven dynamic resource allocation using competitive markets in computational grid
US11256552B1 (en) Systems and methods for managing resources in a serverless workload
US20050086657A1 (en) Service scheduling
Rahman et al. Group based resource management and pricing model in cloud computing
Babu et al. Optimal allocation of virtual resources using genetic algorithm in cloud environments
CN112367349B (zh) 一种协同优化云运营商能耗和用户开销的方法和系统
Zhang et al. Online placing and pricing for cloud container clusters: An auction approach

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20070904