JP2001503170A - 金銭的なコストを最適化する負荷分配コントローラ - Google Patents

金銭的なコストを最適化する負荷分配コントローラ

Info

Publication number
JP2001503170A
JP2001503170A JP10513790A JP51379098A JP2001503170A JP 2001503170 A JP2001503170 A JP 2001503170A JP 10513790 A JP10513790 A JP 10513790A JP 51379098 A JP51379098 A JP 51379098A JP 2001503170 A JP2001503170 A JP 2001503170A
Authority
JP
Japan
Prior art keywords
processor
cost
processors
controller
load
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.)
Pending
Application number
JP10513790A
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 JP2001503170A publication Critical patent/JP2001503170A/ja
Pending 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/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Multi Processors (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

(57)【要約】 分割可能負荷のセグメントを、分散されたプロセッサ(105,107,109)に、各プロセッサの金銭的コストに基づいて割り当てることによって、全体的なコストを最小にする、負荷分配システム(100)。前記分散されたプロセッサを、ローカルエリアネットワーク(114)またはインタネットのようなネットワークに接続する。コントローラ(103)は、分割可能負荷を分割し、この負荷の各セグメントを、プロセッサに、前記プロセッサの動作コストおよび処理速度の関数である前記プロセッサの金銭的コストに基づいて割り当てる。次に、この割り当てを、負荷の一部を高価なプロセッサからより安価なプロセッサに伝送することによって最適化し、同時に、すべての処理に関して許容しうる終了時間を保持する。この最適化を、費用制限内での前記プロセッサの終了時間の最短化のために行なうこともできる。

Description

【発明の詳細な説明】 金銭的なコストを最適化する負荷分配コントローラ発明の背景 技術分野 本発明は、ネットワークシステム内の分散されたプロセッサの計算の金銭的な コストを最適化する負荷分配コントローラに関係する。 発明の背景 並列処理技術は、ジョブを少なくとも2個の別個のプロセッサに分配し、負荷 またはジョブと呼ばれるデータの大きなグループにおける演算時の計算効率を向 上させる。より短い時間で計算を完了させるために、可能であれば、1つのジョ ブを多数のプロセッサ間での同時処理に分割することによって、しばしば、効率 がより向上する。処理すべき負荷は、分割不可能または分割可能のいずれかによ って特徴付けられる。分割不可能な負荷は、多数のプロセッサに分配すべき2つ 以上のより小さい断片に分割できず、1個のプロセッサによって処理する必要が ある負荷である。分割可能な負荷は、線形的なやり方で任意に分割することがで き、2個以上のプロセッサに分配して、解答時間を短縮することができる負荷で ある。分割可能な負荷の一例は、数の大きな集合の加算のような簡単な演算に関 係するきわめて長い線形データである。数のリストの中間加算を、異なった分散 されたプロセッサにおいて計算し、後に、再結合し、合計して、最終的な解答を 得ることができる。 分割可能負荷のより洗練された例は、ディジタルフィルタの列に用いて識別す べき入力波形を表わすデータである。このデータを、必要な計算期間を短縮する ために、セグメント化し、異なったプロセッサにおいて処理することができる。 一般的に、この種類の分割可能負荷は、多数の反復的且つ独立の演算が、きわめ て大きいデータファイルにおいて行われるという問題を含む。分割可能負荷の例 は、信号処理、画像処理および実験データ処理の領域において一般に現れる。分 割可能負荷の理論は、どのような統計的または確率的仮定の必要もなしに、完全 に決定的であるという利益を有する。 ある分割可能負荷を多数のプロセッサに分配する場合、どのプロセッサがこの 負荷のどの部分をどのような順序で得るかを選択する中央コントローラが必要で あり、この中央コントローラを、これらのプロセッサの1個とすることができる 。1つのやり方は、(計算速度の見地から)最高速のプロセッサに、所定の時間 制限内で、できる限り多くのデータを割り当てることである。この速度に基づく 負荷分配アプローチは、利用可能なプロセッサの数と、各プロセッサの速度と、 通信リンクの速度と、負荷開始点と、ネットワークアーキテクチャとを考慮しな ければならない。 従来のコントローラの割り当ては、分割可能負荷を並列処理することによって 時間効率を高めるために、ネットワークに接続されたプロセッサ間の処理速度に 基づいていた。コンピュータハードウェアおよび通信技術が急速に進歩している ため、ある負荷を共に計算する、異なった遠隔地に位置するプロセッサをリンク することが期待されている。インタネットは、現在、プロセッサ間の、これらの 物理的位置にかかわりなく高速且つ安価な通信を考慮している。実際は、インタ ネットは、比較的安価な基礎における世界的な通信を考慮している。 通信コスト(例えば、電話線料金)は、分散処理に関する金銭的コストの1つ である。また、種々のプロセッサは、これら自身に関係する金銭的コストが多様 である。スーパコンピュータにおけるプロセッサタイムの1分は、簡単な486 コンピュータプラットフォームにおける1分より、演算するのが何桁も高価であ る。現在、インタネットのような世界的なネットワークに接続した場合に、これ らの休止プロセッサ時間を他のユーザに賃貸するビジネスの可能性がある。テキ サスのエレクトロニックデータシステムズ(electronic Data Systems)の創立者ロス ペロット(Ross Perot)は、私有の メインフレームコンピュータ設備における休止プロセッサタイムを貸し出し、プ ログラミングを実行させるビジネスを作り出した。関係する金銭的コストが様々 な異なった形式のプロセッサの数が増加すると、分散したプロセッサ間で分割可 能負荷を割り当て、前記負荷を処理する全体的な金銭的コストを最小にする負荷 分配コントローラの必要性が生じる。発明の要約 本発明は、分割可能負荷ジョブを、複数の分散されたプロセッサへ、これらの 金銭的コストに基づいて割り当てるコントローラを含む。このシステムは、複数 のプロセッサと、分散されたネットワークを接続するネットワークとを含み、前 記プロセッサの1個を、処理すべきコンピュータジョブをセグメントに分割し、 これらのセグメントを前記分散されたプロセッサに、各プロセッサの関係する金 銭的コストに基づいて割り当てるコントローラとする。 あるプロセッサの金銭的コストは、このプロセッサ自身の演算コストと、これ が動作するプラットフォームとを含む。この金銭的コストは、前記コンピュータ プラットフォームの購入コストのある割合を含み、このプロセッサのオーナがそ の初期投資のいくらかを取り戻せるようにすることもできる。前記コントローラ は、分散されたプロセッサの金銭的コストを、前記プロセッサをポーリングし、 情報を有する予め決められたメモリ位置を検査するか、既知の情報に基づいて前 記金銭的コストを計算することによって決定する。 また、前記コントローラは、前記ジョブを計算する許容可能な終了時間を保持 しながら、その分配を、前記負荷の一部をより高価なプロセッサからあまり高価 でないプロセッサに割り当てることによって最適化する。前記コントローラは、 コスト上限以下に保ちながら、前記プロセッサの終了時間を最短にすることもで きる。 図面の簡単な説明 本発明の他の目的、特徴および利点は、本発明の好適実施形態を示す添付した 図面に関連する以下の詳細な説明から明らかになるであろう。 図1Aは、本発明による、分割可能なジョブを、分散されたプロセッサに、金 銭的コストに基づいて負荷分配するシステムのブロック図を示す。 図1Bは、前記分散されたプロセッサに関係する情報を記憶するメモリをさら に含む図1Aにおけるシステムの一部を示す。図1Cは、図1Bのメモリに記憶 されるデータファイルを示す。 図2は、分割可能なコンピュータジョブを、2個以上のプロセッサに、金銭的 コストに基づいて分配する方法のステップを示す。 図3は、図1のシステムにおいて動作するコントローラのブロック図を示す。 図4は、選択されたコスト制限内に保ちながら、終了時間を最適化する方法を 示す。 図5は、本発明によって分配される負荷の初期割り当てのタイミング図である 。 図6は、終了時間が一定量ずつ延長する場合、最適化して全体的な金銭的コス トを最小にした後の、分配された負荷のタイミング図である。 詳細な説明 並列処理することができる分割可能な負荷は、記憶容量と、プロセッサの速度 とが増大し、大きな計算ジョブを扱えるようになるにつれて、より一般的になっ てきている。分割可能ジョブを処理することができるプロセッサの種々の異なっ た形式も、劇的に増加している。現在、パーソナルコンピュータは、多くの異な った速度において動作し、関係するコストが多様である、多数の異なった形式の プロセッサを有する。これらのプロセッサは、386、486、ペンティアムお よびP6を含む。ワークステーション、ミニコンピュータ、スーパコンピュータ およびメインフレームを含むコンピュータプラットフォームも、分配されたジョ ブに利用することができる。低温で動作するGaAs回路網およびチップのよう な新たな技術が、利用可能になってきている。これらのプロセッサおよびプラッ トフォームは、相互間の接続および通信が容易になってきている。インタネット および他のネットワークにおける進歩が進むにつれ、プロセッサの協働も容易に なる。このように、分割可能な負荷をセグメント化することができ、これらの部 分を、486コンピュータ、ワークステーションおよびスーパコンピュータを含 む異なった形式のコンピュータプラットフォームにおいて同時に処理することが できる。個々のプロセッサまたはプロセッサのグループの各々を、コンピュータ 時間を他のユーザに貸し出すコンピュータ”ユーティリティ”とすることができ る。 各々異なった形式のプロセッサおよびコンピュータプラットフォームは、負荷 の一部を処理するために使用される場合の関係する金銭的コストを有する。プラ ットフォームは、プロセッサを含み、前記プロセッサの動作に必要なエレクトロ ニクスおよびデバイス(例えば、マザーボード)をサポートする。プロセッサの 金銭的コストは、単位が”1秒あたりのコスト”である計算コストと、単位が” 1秒あたりの負荷”である計算速度とに基づく。この計算速度パラメータにおけ る単位”負荷”を、同じパラメータを使用する異なったプロセッサを比較できる ようにするために、予め決められたサイズのものとする。単位負荷あたりのプロ セッサごとの金銭的コストは、前記計算コストを前記計算速度の逆数倍したもの であり、”単位負荷あたりのコスト”を有するパラメータを発生する。例えば、 486プラットフォームコンピュータが、5ドル/秒の計算コストと、2負荷/ 秒の計算速度を有する場合、1単位負荷を処理するコストは、2.50ドルにな る。ミニコンピュータプラットフォームが、10ドル/秒の計算コストと、8負 荷/秒の計算速度を有する場合、1単位負荷を処理するコストは、1.25ドル になる。したがって、このミニコンピュータプロセッサの金銭的コストは、その 計算コストに比較してばく大に上昇するその速度のため、前記486よりも安い 。 プロセッサの計算コストは、前記プロセッサおよびプラットフォームの動作コ スト、および/または、前記プロセッサおよびプラットフォームの初期購入価格 に基づく。前記動作コスト成分は、電力コストと、通信料金と、前記プロセッサ の保守と、前記プロセッサおよびプラットフォームの運転に関係する何か他の料 金とを含む、前記プロセッサおよびプラットフォームの購入価格を、前記プロセ ッサの耐用年数を通じて減少させ、前記負荷分配技術の一部として前記プロセッ サを使用する一時的なユーザに費用として課金することができる。代わりの計算 を、前記負荷のセグメントの処理にかかる時間中に、前記プロセッサによって処 理することができる代わりのジョブの価値(損失機会コスト)に基づいて行なう ことができる。このアプローチは、1つのジョブあたりの金銭的コストを最小に しながら、各々のプロセッサごとの最高賃貸収入を最適化することができる。 金銭的コストが前記負荷分配プロセスにおいて重要な因子である他の環境は、 ネットワークにおける各プロセッサが個々の予め決められた料金を有する環境で ある。この状況の一例は、プロセッサを購入および動作させるコストを、プロセ ッサにおいて使用される時間を各ユーザまたは学部に内部的に課金することによ って割り当てる大学において生じる。本コントローラの使用は、選択された終了 時間内で、最も安価な解答を達成する。前記負荷の分配は、一般的に、前記負荷 を1個のプロセッサにおいて処理する場合よりも高速な処理時間を達成し、本コ ントローラは、前記負荷の処理に関する全体的なコストを最小にする。金銭に基 づく負荷分配技術の他の例は、ネットワーク接続された多数のプロセッサとの協 働において生じ、多数の負荷をこれらのプロセッサに最適に分配することを可能 にする。 図1は、各プロセッサの金銭的コストに基づく負荷分散動作を行なうシステム 100を示す。好適実施形態における本システムは、コントローラ103と、ジ ョブ待ち行列111と、ネットワーク114と、高い関連金銭コストを有するプ ロセッサ107と、中くらいの金銭コストを有するプロセッサ105と、比較的 低い金銭コストを有する安価なプロセッサのグループ109とを含む。コントロ ーラ103を、これらの分散されたプロセッサの1個とすることができ、コント ローラ103は、前記負荷の一部を処理すると共にコントローラとして働くこと ができる代わりに、この制御プロセッサを、前記負荷を適切に分配することの専 用にすることができる。各々の金銭的コストグループにおけるプロセッサの数は 、異なってもよい。加えて、異なった数の、プロセッサの金銭的コストグループ は、異なってもよい。この例において、高い金銭的コストのプロセッサ107を 、動作するために5ドル/単位負荷かかる(このコストを説明目的のみのためと する)ミニコンピュータプロセッサとし、中くらいのコストのプロセッサ105 を、動作するために3ドル/単位負荷かかるスーパコンピュータプラットフォー ムプロセッサとし、あまり高価でないプロセッサのグループ109を、動作する ために1ドル/単位負荷かかる486プラットフォームで構成する。各プロセッ サの動作コストおよび速度は、上述した金銭的コストの式に含まれる。ジョブ待 ち行列111を、本コントローラに、選択された終了時間内で最もコスト効果的 に、前記分散されたプロセッサに分配すべき分割可能負荷を供給する、どのよう な端末、プロセッサ、または他の電子ユニットとすることもできる。 ジョブ待ち行列111は、本コントローラに、分配すべき分割可能プロセスを 供給する。ジョブ待ち行列111は、処理する多数のジョブ(負荷)を保持する ことができ、先入れ先出し(FIFO)において動作する。前記ジョブ待ち行列 において使用できる代わりの案は、ユーザ規定優先権フラグ、後入れ先出し(L IFO)案、または、なにか他の慣例的な待ち行列案の使用を含む。ネットワー ク114を、ローカルエリアネットワーク、インタネット、バス相互接続ネット ワーク、または、なにか他の慣例的なネットワークとすることができる。 前記スーパコンピュータプラットフォームを、動作コストにおいてより高価で あるとしたが、増加するプロセッサ速度の程度が、前記スーパコンピュータプラ ットフォームに関係するより高い動作コストを相殺するため、負荷あたりのコス トは、前記ミニコンピュータプロセッサの負荷あたりのコストより低い。コント ローラ103は、分割し、他のプロセッサに分配すべき負荷を含み、計算された ジョブの結果も含む。セグメントに分割できるどのようなジョブも、上述した負 荷分配システムと共に動作する。 前記コントローラおよびプロセッサ間の相互作用と、本システムによって使用 される方法とを、図2に関連して詳細に説明するが、一般的な説明を続ける。前 記システムにおいて最も安価な利用可能なプロセッサを、前記コントローラとし て設計することができる。前記コントローラが、ジョブ待ち行列111から分割 可能なジョブを受けると、最初に、前記負荷の一部を処理することができる前記 システムのネットワークに接続された何らかの利用可能なプロセッサの金銭的コ ストを決定する。これを、前記ネットワークにおけるすべてのプロセッサに対す る動的な照会によって行なうことができ、利用可能なプロセッサの現在のコスト を含む、前記コントローラにおけるデータ場所から抽出することもできる。前記 制御プロセッサは、前記負荷のセグメントの処理に利用できる場合、自分自身の 金銭的コストを決定することもできる。前記コントローラは、他の個別的なプロ セッサまたはネットワークに、モデム、専用線またはインタネットを経てリンク することができる。 図1Bは、コントローラ103をネットワークに結合し、外部メモリ115に も結合した、システム100の代わりの実施形態を示す。メモリ115は、前記 ネットワークにおける各プロセッサの金銭的コストおよび状態を含む。メモリ1 15に記憶される代表的なファイル150を、図1Cに示す。状態列を、前記ネ ットワークにおけるプロセッサの各々によって規則的に更新する。コスト列も、 周期的に更新する。コントローラ103は、メモリ115において最も安価な利 用可能なプロセスを選択し、分割可能負荷のセグメントを分配する。メモリ11 5を、コントローラ103内に配置することもできる。加えて、メモリ115を 、インタネット上の中央ファイルサーバまたはウェブサイト内に配置することも できる。 各利用可能なプロセッサの金銭的単位コストが既知になると、コントローラ1 03は、最も安価なプロセッサを選択し、前記分割された負荷の第1の部分を割 り当てる。前記プロセッサは、最初に、選択された終了時間内でこの最も安価な プロセッサにおいて処理できる負荷の最大部分を割り当てる。前記終了時間を、 前記ジョブの創作者またはコントローラによって決定する。次に、前記プロセッ サは、前記負荷の残りの部分を、次の利用可能な最も安価なプロセッサに連続的 に割り当てる。次に、全体のプロセスの終了に許容される最長時間への段階的な 延長に基づいて、最適化ルーチンを実行することができる。次に、前記負荷を、 前記選択された分散されたプロセッサに、最適な分割において分配する。処理後 、前記負荷の処理されたセグメントまたは中間結果を、各々の選択された分散さ れたプロセッサからコントローラ103に返し、統合し、完全なジョブ結果を形 成し、この解答を、選択された宛先に供給する。中間結果の一例は、各プロセッ サに割り当てられた数の部分の中間和である。 前記分散されたプロセッサに負荷を割り当てる順序は、プロセッサ間の通信時 間が無視できない場合、重要である。前記通信時間がある要因であり、前記コン トローラがメッセージを並列に送信できない場合、前記最も安価な利用可能なプ ロセッサに最初に負荷を割り当て、前記負荷のそのセグメントを、前記最長時間 の間に処理できるようにすることが望ましい。参加に選択された最も高価なプロ セッサは、その負荷を最後に受け、前記費用を最小にするために、前記負荷を処 理する時間が、選択するプロセッサ中で最短になることを保証する。 図2は、分割可能負荷を分散されたプロセッサに分配する場合、システム10 0において行われるステップを示す。ステップ201において、コントローラ1 03は、ジョブ待ち行列111から、少なくとも2個のプロセッサに分配すべき 分割可能負荷を受ける。前記コントローラを、独立した装置にすることができ、 または、前記分散されたシステムにおけるプロセッサの1個とすることができる 。 前記コントローラを、前記分散システムからの1個とした場合、好適には、最も 安価なプロセッサとする。 ステップ203は、前記システムにおける各々の利用可能な分散されたプロセ ッサの金銭的コスト(単位負荷あたりのコスト)を検索する。前記コントローラ を、ある利用可能なプロセッサとしてもよい。いくつかのプロセッサは、他のア プリケーションにおいて忙しく働いており、特定のジョブに利用できないかもし れない。前記金銭的コストデータを、コントローラ103が前記ネットワーク上 の各プロセッサをポーリングした後、各々の分散されたプロセッサによって供給 してもよい。代わりに、前記金銭的コストデータを、各プロセッサによって周期 的に更新される、内部または外部メモリからロードすることもできる。他の方法 は、前記分散されたプロセッサがこれらの動作コストデータおよび動作速度デー タを供給し、これらのデータから、コントローラ103は、前記プロセッサに関 する実際の負荷あたりのコストを計算することができる。加えて、コントローラ 103は、各々のプロセッサの形式を含むデータを含むメモリに簡単にアクセス し、前記コントローラが適切な金銭的コストを推定できるようにすることができ る。 前記コントローラは、次に、ステップ205ないし209において、前記負荷 を、別々に処理することができるセグメントに分割する。これらのセグメントを 、使用される前記分散されたプロセッサの速度およびコストに依存する異なった サイズとすることができる。前記セグメントの数も、前記選択された終了時間と 、使用される前記利用可能なプロセッサの形式とに依存する。前記選択された終 了時間を、前記分割可能負荷と共に前記コントローラに送ることができ、前記シ ステムに関して予め決めることができ、前記コントローラによって決定すること ができる。前記プロセッサへの送信時間は、通常、前記負荷の比較的大きいサイ ズのため無視できるが、前記負荷の分割されたセグメントがきわめて小さく、前 記通信時間を前記最適化技術において考慮する必要がある場合、無視できなくな る。分割可能負荷の一例は、3つのセグメントに分割することができ、3個の異 なった分散されたプロセッサにおいて処理することができる、探索すべきデータ のリストであり、各々のプロセッサは、その個々のセグメントにおいて探索ルー チン を行なう。前記負荷分配の割り当ておよび最適化を、前記負荷セグメントを各々 の分散されたプロセッサに物理的に送る前に行なう。 ステップ205は、前記ネットワークにおいて(前記コスト/単位負荷に基づ いて)最も安価な利用可能なプロセッサを、前記負荷の分割されたセグメントに 割り当てる。初めの最も安価なプロセッサが確認された場合、前記負荷の最初の 分割されたセグメントに割り当てる。前記負荷を、前記セグメントが前記最も安 価なプロセッサを全体の選択された終了時間制限間に完全に利用するように分割 する。比例的なセグメント化を、前記金銭的コストと同様に見つけることができ る、前記分散されたプロセッサの速度に基づいて計算することができる。ちょう ど割り当てられた前記分散されたプロセッサは、その活性度状態を”使用中”に 変化させ、他の負荷に利用できないことを示す。次に、後のステップにおいて、 最低金銭的コストを有する次の利用可能な分散されたプロセッサを、前記負荷の 残りのセグメントに割り当てる。 ステップ207は、前記負荷の処理されていないセグメントに割り当てるべき 次の最も安価な利用可能なプロセッサを確認する。前記負荷のセグメントにすで に割り当てられたプロセッサは、もはや利用できない。利用可能なプロセッサの 完全なリストをステップ203において形成および更新し、ステップ207がす でに行われたようにすることができる。しかしながら、好適実施形態において、 前記ネットワークを、利用可能になり、金銭的コストが最も安価であるかもしれ ない新たな追加プロセッサに関して検査する。 ステップ209は、処理すべき前記負荷の何らかの残っているセグメントがあ るかどうか検査する。ある場合、この方法は、ステップ205にジャンプして戻 る。ない場合、この方法はステップ210に続く。 ステップ210ないし215は、分散されたプロセッサへの元の負荷分配割り 当てを、前記終了時間を段階的に延長すると同時に、最も低い金銭的コストのプ ロセッサに前記負荷のより大きい割り当てを与えるために、最適化する。この最 適化は、前記負荷の処理の全体的なコストを下げ、したがって、よりコスト効果 的にする。 ステップ210は、前記分配されたジョブを処理する全体的な金銭的コストを 減少させると同時に、前記終了時間を延長させる増分時間を選択する。前記コン トローラは、前記選択された増分時間を、前記ジョブの創作者から前記ネットワ ークを経て、または、前記コントローラに接続された入力装置から受ける。前記 コントローラは、ユーザがコストを減少させたい場合、省略時設定増分時間を使 用することもできる。ユーザは、全体的なコストを大量に、例えば20%減らす ことができる場合に、処理終了時間の延長を許容しうることを決定してもよい。 ステップ211は、ジョブの負荷分配に使用される最も安価なプロセッサが、 前記選択された延長された終了時間制限の追加の部分を処理できるかどうかを検 査する。定義による分割可能負荷を、必要なだけ多くの部分に再分することがで きる。例えば、前記分配された負荷を、最初にセグメント化し、3分における完 全な処理に割り当て、コストを低減し、前記選択された増分終了時問を5秒とす る場合、負荷コントローラ103は、5秒の処理時間に等しい前記負荷の分割可 能部分を、最も高価なプロセッサから最も安価なプロセッサに再割り当てする。 前記最も安価なプロセッサを前記選択された増分終了時間に完全に割り当てた場 合、次に最も安価なプロセッサを検査し、前記最も高価なプロセッサの負荷の一 部を、前記増分時間内に処理できるかどうかを決定する。 ステップ213は、前記最も高価なプロセッサの負荷の一部を、前記初期終了 時間に増分終了時間を加えた時間によって実行を完了できるより安価なプロセッ サの負荷に再割り当てする。前記高価なプロセッサに割り当てられた負荷のセグ メントを、より安価なプロセッサに完全に再割り当てした場合、前記高価なプロ セッサは、もはや使用されず、前記システムにおける他のジョブに利用可能にな る。 ステップ215は、前記最適化技術を通じて再割り当てされた負荷を持たない プロセッサが残っているかどうかを決定する。まだ検査されておらず、追加の負 荷を前記増分終了時間内に処理できる、追加のより安価なプロセッサがある場合 、前記方法は、ステップ211にジャンプして戻る。検査されていないプロセッ サが無い場合、前記最適化を終了し、前記方法はステップ217に続く。 ステップ217は、前記負荷を、前記選択されたプロセッサに、前のステップ において決定された割り当てを使用して分配する。最も安価な利用可能なプロセ ッサに、その割り当てられた部分を最初に送り、他の選択されたプロセッサには 、それらの部分を、各プロセッサの金銭的コストにしたがった昇順において送る 。代わりに、各々の割り当てられたセグメントのより小さい部分を、各々のプロ セッサに送り、これらのプロセッサが、これらの負荷セグメントにおける演算を より早く開始できるようにすることもできる。前記コントローラは、残りのより 小さいセグメントを、すべての割り当てられたセグメントが分配されるまで、分 配し続ける。 ステップ219は、前記割り当てられた負荷部分の各々を、前記割り当てられ た分散されたプロセッサにおいて処理する。各負荷を、分散されたプロセッサに おいて、前記コントローラから受けたらすぐに処理する。 ステップ221は、前記分散されたプロセッサにおいて処理された分割可能負 荷のすべてのセグメントの中間結果を、前記コントローラに返す。この機能は、 前記中間結果を合計し、または、各プロセッサからの結果としてのデータを一つ に連結し、解答を形成するような他の計算を伴ってもよい。次に、前記ジョブ結 果を終了する。この結果を、メモリに記憶することができ、または、前記ジョブ の創作者または選択された宛先に送り返すことができる。 図3は、本発明において使用する負荷分配コントローラのブロック図である。 コントローラ300は、中央処理ユニット301と、メモリ303と、このコン トローラの動作に必要な他の慣例的な電子装置305と、インタフェース307 とを含む。これらの構成要素の各々を、慣例的なコネクタによって結合する。イ ンタフェース307を、伝送ライン309によって、ジョブ待ち行列111およ びネットワーク114の双方に接続する。代わりに、ジョブ待ち行列111を、 メモリ303を使用するコントローラ103の一部とすることもできる。インタ フェース307を、同時に接続すべきジョブ待ち行列111およびネットワーク 114の双方に対して十分に大きくしてもよく、または、インタフェース307 は、切り替え能力を有してもよい。前記負荷を、ジョブ待ち行列111から、伝 送ライン309によって、インタフェース307に伝送する。次に、前記負荷を 、メモリ303に記憶し、多数の分散されたプロセッサに割り当てるべきより小 さい負荷に分割する。 コントローラ300の動作を制御するCPU301は、ネットワーク114に 接続された利用可能な分散されたプロセッサを、これらのプロセッサをポーリン グするか、最も安価な利用可能なプロセッサを載せる予め指定された記憶場所を 検査することによって決定する。次に、前記負荷を、前記分散されたプロセッサ の各々に、最も安価なプロセッサから開始して割り当てる。次に、CPU301 は、前記選択された延長された終了時間制限内に計算すべき負荷の追加のセグメ ントを引き受ける、より安価なプロセッサの可能性を検査する。より安価なプロ セッサが、前記追加の負荷を、前記延長された時間制限内に引き受けることがで きる場合、前記負荷のセグメントを、より高価なプロセッサから、あまり高価で ないプロセッサに再割り当てする。前記セグメント化を最適化したら、前記負荷 セグメントを、各々の分散されたプロセッサに、インタフェース307を経て、 伝送ライン309に沿って伝送する。 前記コントローラを、前記分割された負荷の一部を割り当てられるプロセッサ の1個とすることができる。CPU301は、その割り当てられたセグメントを 、前記コントローラの機能を行なった後、処理する。 図4は、最終的なコスト上限を前記ジョブの創作者によって選択する場合、コ ントローラによって前記負荷分配の終了時間を最短にする技術のステップを示す 。この技術を、例えば、ユーザが、分割可能負荷を最も速く、しかし、25ドル 未満で処理したい場合に使用する。前記コントローラは、コスト上限データを受 け、前記負荷を、前記コスト上限を満たし、同時に、前記終了時間をできる限り 短く延長するように割り当てる。 ステップ401は、ユーザに、分散されたシステムにおいて処理すべき個々の ジョブに関する最高コスト制限を選択させる。このコスト制限情報を、前記分割 可能負荷を有するジョブ待ち行列からコントローラ103に送ることができ、ま たは、前記コントローラに、キーボード、データファイルまたは他の入力装置を 経て、直接入力することができる。前記コスト制限を、個々のユーザまたはユー ザのグループからのすべてのジョブに対して標準にすることもできる。例えば、 ユーザは、すべてのジョブを10ドル未満で処理することを要求することができ る。 ステップ403は、前記ネットワークにおける利用可能なプロセッサに分配す べき分割可能ジョブの全体的なコストを計算する。この全体的なコストは、各プ ロセッサの金銭的コスト(コスト/単位負荷)に、そのプロセッサにおいて処理 されている前記負荷の部分の割合を掛け、全体的な負荷のサイズを掛けた値の和 に等しい。前記コストを、前記負荷の多くを低い金銭適コストを有するプロセッ サに分配することによって最低にし、依然として前記処理を許容しうる終了時間 内に完了する。 ステップ405は、前記計算された全体的なコストが、前記選択されたコスト 制限より高いかどうかを決定する。前記全体的なコストがより高い場合、この技 術は、ステップ407にジャンプする。前記全体的なコストがより高くない場合 、この技術を終了する。次に、この技術はステップ409に続く。 ステップ407は、前記最も高価なプロセッサからの負荷の増分を、より安価 なプロセッサに再割り当てする(コストは減少するが、おそらく、速度も低下す る)。コスト上限を与えられた前記終了時間を最短にするために、前記負荷のセ グメントに割り当てられたすべての前記プロセッサは、同時に処理を停止しなけ ればならない。このように、前記より安価なプロセッサの各々は、前記増分負荷 を受ける個々のプロセッサの速度に応じて再割り当てされた負荷の部分を受ける 。プロセッサYの2倍速いプロセッサXは、より多くの負荷を処理することがで き、その負荷の処理をプロセッサYと同じ時間において終了できるため、前記増 分負荷のより大きい部分を受ける。このように、前記全体的な終了時間を、最小 限延長するが、依然として、所定のコスト上限に関して最短にする。プロセッサ 間で再割り当てされた増分のサイズは、前記負荷の実際のサイズに依存し、例え ば、前記負荷セグメントの1%ないし5%から100%の範囲にすることができ る。次に、この処理は、ステップ403に続き、コストにおける低減が、前記全 体的なコストを前記コスト上限以下にするのに十分であるかを決定する。 ステップ409は、前記負荷を、前記選択されたプロセッサに、前のステップ において決定された割り当てを使用して分配する。前記最も安価な利用可能なプ ロセッサに、その割り当てられた部分を最初に送り、他の選択されたプロセッサ には、それらの部分を、各プロセッサの金銭的コストにしたがった昇順において 送る。代わりに、各々の割り当てられたセグメントのより小さい部分を各プロセ ッサに送り、これらのプロセッサがこれらの負荷セグメントにおける演算をより 早く開始できるようにすることもできる。前記コントローラは、残りのより小さ いセグメントを、前記割り当てられたセグメントのすべてが分配されるまで分配 する。 ステップ411は、前記割り当てられた負荷部分の各々を、前記割り当てられ た分散されたプロセッサにおいて処理する。各々の負荷を、分散されたプロセッ サにおいて、前記コントローラから受けたらすぐに処理する。 ステップ413は、前記分散されたプロセッサにおいて処理された分割可能負 荷のすべてのセグメントの中間結果を、前記コントローラに返す。この機能は、 前記中間結果を合計し、または、各プロセッサからの結果としてのデータを一つ に連結し、解答を形成するような他の計算を伴ってもよい。次に、前記ジョブ結 果を終了する。この結果を、メモリに記憶することができ、または、前記ジョブ の創作者または選択された宛先に送り返すことができる。 前記金銭的コストを考慮することなく、負荷割り当ての終了時間を最適化する 場合、前記分散されたプロセッサのすべては、同じ時間に処理を中止しなければ ならない。そうではない場合、前記プロセッサのいくつかは、他のプロセッサが 使用中の間、休止する。しかしながら、金銭的コストがある要因である場合、よ り高価なプロセッサを使用せず、あまり高価でないプロセッサを長い時間動作さ せることが、より能率的であるかもしれない。金銭的コストに基づいて分割可能 負荷を最適に割り当てる技術は、単に、前記プロセッサの速度およびこれらの終 了時間に基づく場合とは異なる。 図5は、図2において説明した負荷分配技術の用途に関係するN個の相互接続 されたプロセッサのタイミング図である。この例において、第1プロセッサユニ ット501は、前記コントローラと、前記分割可能負荷のセグメントにおいて演 算するプロセッサとの双方として働く。この例における各処理ユニットは、2個 の別個のプロセッサ、すなわち、メインプロセッサと、このメインプロセッサの 演算と同時にデータを送信および受信するフロントエンドプロセッサとを含む。 この例において、前記負荷を分割し、他の分散されたプロセッサの各々に順次に 送る。前記負荷を、すべての前記負荷の終了時間が同じ時間において生じるよう に割り当てる。図5は、前記コントローラとして働き、すぐに前記負荷のその部 分を処理する、第1プロセッサの計算時間を示す。前記第1プロセッサに関する プロセス時間ブロック501はt=T1において開始し、負荷セグメントをt= Tfまで処理する。他のプロセッサには、これらの個々の負荷割り当てを連続的 に送信する。第2プロセッサに関するプロセス時間(処理ブロック503によっ て示す)はt=T2において開始し、t=Tfまで処理する。第3プロセッサに関 するプロセス時間(処理ブロック505によって示す)はt=T3において開始 し、t=Tfまで処理する。N番目のプロセッサに関するプロセス時間(処理ブ ロック507によって示す)はt=TNにおいて開始し、t=Tfまで処理する。 各プロセッサの開始の遅延は、前記コントローラから各プロセッサへの前記負荷 セグメントの連続的な送信時間によるものである。前記初期割り当ては、最も安 価な金銭的コストを保証すると共に、全体のジョブを依然として(前記結果を前 記コントローラに返送する時間を除いて)Tfまでに終了する。このタイミング 図は、さらに最適化を行ない、前記ジョブの金銭的コストを低減する前の、図2 のステップ201ないし209に対応する。 図6は、前記金銭的コストを、前記終了時間を許容しうるレベルまで段階的に 延長することによって低減する場合の、N個の相互接続されたプロセッサのタイ ミング図を示す。この図において、前記初期割り当て後の終了時間は、Tnewに 延長する。前記第1プロセッサは、ここでは、T1において開始し、Tnewまで続 く処理ブロック601によって示されるように、より長い時間処理する。追加の 負荷を、最も高価なプロセッサTNから再割り当てし、前記第1プロセッサの負 荷に加える。他のより安価なプロセッサも、高価なプロセッサから負荷の一部を 再割り当てすることによって(処理ブロック603および605において示すよ うに)延長されたそれらの処理する負荷を有する。高価なN番目のプロセッサは 、ここでは、(点線部分609として示す)その負荷の一部が他のプロセッサに 再割り当てされたため、(処理ブロック603および605において示すような )元の時間Tfより短い終了時間を有する。この結果、前記ジョブの全体的な金 銭的コストが減少すると共に、前記終了時間が段階的に延長する。この金銭的 コスト/終了時間のトレードオフを、ジョブ供給者によって決定することができ 、前記コントローラに、伝送データ、データプロトコルまたは前記コントローラ への別個の入力を経て示すことができる。 上記は、単に本発明の原理を説明する。したがって、当業者が、ここには明示 的に図示または説明していないが、本発明の原理を具体化し、したがって請求の 範囲によって規定した本発明の精神および範囲内である、多数のシステム、装置 および方法を考案できるであろうことは、理解されるであろう。
【手続補正書】 【提出日】平成11年4月6日(1999.4.6) 【補正内容】 請求の範囲 1.入計算ジョブを分配するシステムであって、 各々関連する金銭的コストを有する複数のプロセッサと、 前記入計算ジョブを受ける待ち行列と、 前記受けた計算ジョブをセグメントに分割し、前記セグメントを少なく とも2個の前記プロセッサに割り当てるコントローラと、 前記プロセッサおよびコントローラを接続するネットワークとを具える システムにおいて、 前記コントローラが前記複数のプロセッサの関連する金銭的コストデー タを検索し、少なくともl個の前記金銭的コストの低いプロセッサを識別 し、前記セグメントの割り当てを各々の前記プロセッサの検索された関連 する金銭的コストに応じて行ない、前記コントローラが前記計算ジョブ全 体の金銭的コストを最低にするために前記セグメントを前記プロセッサに さらに再割り当てすることを特徴とするシステム。 2.請求の範囲1に記載のシステムにおいて、前記コントローラを前記プロ セッサの1個としたことを特徴とするシステム。 3.請求の範囲2に記載のシステムにおいて、前記コントローラに少なくと も1つの前記セグメントを割り当てないことを特徴とするシステム。 4.請求の範囲1に記載のシステムにおいて、前記プロセッサが、少なくと も2つの異なった形式のプロセッサを含むことを特徴とするシステム。 5.請求の範囲1に記載のシステムにおいて、各々の前記プロセッサの金銭 的コストを、前記プロセッサの速度と、前記プロセッサの動作コストとに 応じて決定することを特徴とするシステム。 6.請求の範囲5に記載のシステムにおいて、各々の前記プロセッサの動作 コストを、前記プロセッサの購入価格にさらに応じて決定することを特徴 とするシステム。 7.請求の範囲1に記載のシステムにおいて、前記再割り当てを、金銭的コ ストが高い前記プロセッサから金銭的コストが低い前記プロセッサに行な うことを特徴とするシステム。 8.請求の範囲1に記載のシステムにおいて、前記コントローラが、前記分 割可能ジョブを前記プロセッサに再割り当てし、前記計算ジョブの金銭的 コストを選択されたコスト制限より下に減少させるようにしたことを特徴 とするシステム。 9.請求の範囲8に記載のシステムにおいて、前記再割り当てがさらに前記 計算ジョブの終了時間を最短にするようにしたことを特徴とするシステム 。 10.請求の範囲1に記載のシステムにおいて、実際的にすべての前記プロセ ッサのセグメント終了時間を等しくしたことを特徴とするシステム。 11.請求の範囲lに記載のシステムにおいて、前記セグメントの割り当てを 、さらに各々の前記プロセッサの処理速度に応じて行なうことを特徴とす るシステム。 12.計算ジョブを複数のプロセッサに分配する方法であって、 各々の前記プロセッサに関係する金銭的コストを決定するステップと、 前記計算ジョブをセグメントに分割するステップと、 前記セグメントを前記プロセッサに各々の前記プロセッサの金銭的コス トに応答して割り当てるステップとを具えることを特徴とする方法。 13.請求の範囲12に記載の方法において、前記関係する金銭的コストが低 い前記プロセッサの1個を識別するステップをさらに含むことを特徴とす る方法。 14.請求の範囲12に記載の方法において、前記割り当てステップが、前記 セグメントを前記識別されたプロセッサに割り当てることを特徴とする方 法。 15.請求の範囲12に記載の方法において、前記決定ステップが、前記プロ セッサをポーリングして、前記金銭的コストを決定することを特徴とする 方法。 16.請求の範囲15に記載の方法において、前記プロセッサの各々をポーリ ングしてその利用可能性を決定するステップをさらに含み、前記割り当て ステップを前記利用可能性に応じて行なうことを特徴とする方法。 17.請求の範囲12に記載の方法において、前記決定ステップが、各々の前 記プロセッサの金銭的コストを記憶する予め設計された記憶場所を検査す ることを特徴とする方法。 18.請求の範囲17に記載の方法において、前記プロセッサの利用可能性の 各々を記憶する予め設計された記憶場所を読み出すステップをさらに含み 、前記割り当てステップを前記利用可能性に応じて行なうことを特徴とす る方法。 19.請求の範囲12に記載の方法において、前記プロセッサの各々の金銭的 コストを、少なくとも、前記プロセッサの動作コストに応じて決定するこ とを特徴とする方法。 20.請求の範囲19に記載の方法において、前記金銭的コストを、さらに、 前記プロセッサの購入価格に応じて決定することを特徴とする方法。 21.請求の範囲12に記載の方法において、前記分割可能ジョブの分配を最 適化し、前記計算ジョブの全体的な金銭的コストを最小にするステップを さらに含むことを特徴とする方法。 22.請求の範囲21に記載の方法において、前記最適化ステップが、関係す る金銭的コストが高い前記プロセッサから分配されたセグメントの一部を 、金銭的コストが低い前記プロセッサに再割り当てすることをさらに含む ことを特徴とする方法。 23.請求の範囲22に記載の方法において、前記計算ジョブの終了時間を、 前記最適化ステップ中に、段階的に延長することを特徴とする方法。 24.請求の範囲12に記載の方法において、前記分割可能ジョブの分配を最 適化し、前記計算ジョブの金銭的コストを、選択されたコスト制限より下 に減少させるステップをさらに含むことを特徴とする方法。 25.請求の範囲24に記載の方法において、前記最適化ステップが、関係す る金銭的コストが高い前記プロセッサから分配されたセグメントの一部を 、金銭的コストが低い前記プロセッサに再割り当てすることをさらに含む ことを特徴とする方法。 26.請求の範囲24に記載の方法において、前記最適化ステップが、前記計 算ジョブの終了時間をさらに短縮することを特徴とする方法。 27.請求の範囲12に記載の方法において、前記割り当てられたセグメント を分配し、前記割り当てられたセグメントを前記割り当てられたプロセッ サにおいて処理するステップをさらに含むことを特徴とする方法。 28.請求の範囲12に記載の方法において、実際的にすべての前記割り当て られたプロセッサのセグメント終了時間を等しくすることを特徴とする方 法。 29.請求の範囲12に記載の方法において、前記割り当てステップを、さら に各々の前記プロセッサの処理速度に応じて行なうこと特徴とする方法。 30.計算ジョブを、関係する金銭的コストを有する複数のプロセッサに、金 銭的コスト上限を使用して分配する方法において、 前記金銭的コスト上限を選択するステップと、 前記計算ジョブを受けた時に、各々の前記プロセッサに関係する金銭的 コストを決定するステップと、 前記計算ジョブをセグメントに分割し、前記セグメントを前記プロセッ サに、各々の前記プロセッサの金銭的コストおよび前記金銭的コスト上限 に応じて割り当てるステップと、 割り当てられたセグメントを有する前記プロセッサの決定された金銭的 コストから成る前記計算ジョブを処理する合計の金銭的コストが、前記選 択された金銭的コスト上限以下の場合、前記セグメントを前記プロセッサ に分配するステップとを具えることを特徴とする方法。 31.請求の範囲30に記載の方法において、前記セグメントを割り当てるス テップを、各々の前記プロセッサの処理速度にさらに応じて行なうことを 特徴とする方法。 32.請求の範囲31に記載の方法において、関係する金銭的コストが最も高 い前記プロセッサに割り当てられたセグメントを、前記他の割り当てられ たプロセッサに再割り当てすることを特徴とする方法。 33.請求の範囲32に記載の方法において、前記他の割り当てられたプロセ ッサのすべてが、前記割り当てられたセグメントの処理を同時に終了する ことを特徴とする方法。 34.請求の範囲30に記載の方法において、前記プロセッサを、少なくとも 2つの異なった形式のプロセッサで構成することを特徴とする方法。 35.請求の範囲30に記載の方法において、前記分割ステップが、前記計算 ジョブの終了時間をさらに最短にすることを特徴とする方法。 36.計算ジョブを分配するコントローラにおいて、 前記計算ジョブを受けた時に、各々が関係する金銭的コストを有する複 数のプロセッサとインタフェースする手段と、 前記プロセッサの金銭的コストを決定し、前記計算ジョブを、前記プロ セッサに割り当てるべきセグメントにセグメント化し、前記割り当てられ るプロセッサを、前記金銭的コストに基づいて選択する、前記インタフェ ース手段に結合した決定手段と、 前記割り当てられたセグメントの少なくとも1つを、前記選択されたプ ロセッサの少なくとも1個に送り、前記選択されたプロセッサからの中間 結果を、前記インタフェース手段を経て受ける手段とを具えることを特徴 とするコントローラ。 37.請求の範囲36に記載のコントローラにおいて、前記プロセッサを、少 なくとも2つの異なった形式のプロセッサで構成したことを特徴とするコ ントローラ。 38.請求の範囲36に記載のコントローラにおいて、各々の前記プロセッサ の金銭的コストを、前記プロセッサの動作コストに応じて決定したことを 特徴とするコントローラ。 39.請求の範囲38に記載のコントローラにおいて、前記金銭的コストを、 前記プロセッサの購入価格にさらに応じて決定したことを特徴とするコン トローラ。 40.請求の範囲36に記載のコントローラにおいて、関係する金銭的コスト を有し、前記セグメントの1つを割り当てることができることを特徴とす るコントローラ。 41.請求の範囲36に記載のコントローラにおいて、前記計算ジョブの全体 的な金銭的コストを最低にするために、前記セグメントを前記プロセッサ に再割り当てする手段をさらに具えることを特徴とするコントローラ。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ルリ サージ アメリカ合衆国 ニューヨーク州 11790 ストーニー ブルック オヴァル コー ト 3 (72)発明者 ソーン ジェーホ アメリカ合衆国 ニュージャージー州 07747 アバーディーン ダンバートン ヒルコート 131

Claims (1)

  1. 【特許請求の範囲】 1.計算ジョブを分配するシステムであって、 各々関連する金銭的コストを有する複数のプロセッサと、 前記計算ジョブをセグメントに分割し、少なくとも2個の前記プロセッサに割 り当てるコントローラと、 前記プロセッサおよびコントローラを接続するネットワークとを具えるシステ ムにおいて、 前記セグメントの割り当てを、各々の前記プロセッサの関連する金銭的コスト に応じて行なうことを特徴とするシステム。 2.請求の範囲1に記載のシステムにおいて、前記コントローラを前記プロセッ サの1個としたことを特徴とするシステム。 3.請求の範囲2に記載のシステムにおいて、前記コントローラに少なくとも1 つの前記セグメントを割り当てないことを特徴とするシステム。 4.請求の範囲1に記載のシステムにおいて、前記プロセッサが、少なくとも2 つの異なった形式のプロセッサを含むことを特徴とするシステム。 5.請求の範囲1に記載のシステムにおいて、各々の前記プロセッサの金銭的コ ストを、前記プロセッサの速度と、前記プロセッサの動作コストとに応じて決定 することを特徴とするシステム。 6.請求の範囲5に記載のシステムにおいて、各々の前記プロセッサの動作コス トを、前記プロセッサの購入価格にさらに応じて決定することを特徴とするシス テム。 7.請求の範囲1に記載のシステムにおいて、前記コントローラが、前記セグメ ントを前記プロセッサに、前記計算ジョブの全体的な金銭的コストを最低にする ために、さらに再割り当てすることを特徴とするシステム。 8.請求の範囲7に記載のシステムにおいて、前記再割り当てを、金銭的コスト が高い前記プロセッサから、金銭的コストが低い前記プロセッサに対して行なう ようにしたことを特徴とするシステム。 9.請求の範囲1に記載のシステムにおいて、前記コントローラが、前記分割可 能ジョブを前記プロセッサに再割り当てし、前記計算ジョブの金銭的コストを選 択されたコスト制限より下に減少させるようにしたことを特徴とするシステム。 10.請求の範囲9に記載のシステムにおいて、前記再割り当てが、前記計算ジ ョブの終了時間をさらに最短にするようにしたことを特徴とするシステム。 11.請求の範囲1に記載のシステムにおいて、前記プロセッサのセグメント終 了時間の実際的にすべてを等しくしたことを特徴とするシステム。 12.請求の範囲1に記載のシステムにおいて、前記セグメントの割り当てを、 各々の前記プロセッサの処理速度にさらに応じて行なうことを特徴とするシステ ム。 13.計算ジョブを複数のプロセッサに分配する方法であって、 各々の前記プロセッサに関係する金銭的コストを決定するステップと、 前記計算ジョブをセグメントに分割するステップと、 前記セグメントを前記プロセッサに各々の前記プロセッサの金銭的コストに応 答して割り当てるステップとを具えることを特徴とする方法。 14.請求の範囲13に記載の方法において、前記関係する金銭的コストが低い 前記プロセッサの1個を識別するステップをさらに含むことを特徴とする方法。 15.請求の範囲14に記載の方法において、前記割り当てステップが、前記セ グメントを前記識別されたプロセッサに割り当てることを特徴とする方法。 16.請求の範囲13に記載の方法において、前記決定ステップが、前記プロセ ッサをポーリングして、前記金銭的コストを決定することを特徴とする方法。 17.請求の範囲16に記載の方法において、前記プロセッサの各々をポーリン グしてその利用可能性を決定するステップをさらに含み、前記割り当てステップ を前記利用可能性に応じて行なうことを特徴とする方法。 18.請求の範囲13に記載の方法において、前記決定ステップが、各々の前記 プロセッサの金銭的コストを記憶する予め設計された記憶場所を検査することを 特徴とする方法。 19.請求の範囲18に記載の方法において、前記プロセッサの利用可能性の各 々を記憶する予め設計された記憶場所を読み出すステップをさらに含み、前記割 り当てステップを前記利用可能性に応じて行なうことを特徴とする方法。 20.請求の範囲13に記載の方法において、前記プロセッサの各々の金銭的コ ストを、少なくとも、前記プロセッサの動作コストに応じて決定することを特徴 とする方法。 21.請求の範囲20に記載の方法において、前記金銭的コストを、さらに、前 記プロセッサの購入価格に応じて決定することを特徴とする方法。 22.請求の範囲13に記載の方法において、前記分割可能ジョブの分配を最適 化し、前記計算ジョブの全体的な金銭的コストを最小にするステップをさらに含 むことを特徴とする方法。 23.請求の範囲22に記載の方法において、前記最適化ステップが、関係する 金銭的コストが高い前記プロセッサから分配されたセグメントの一部を、金銭的 コストが低い前記プロセッサに再割り当てすることをさらに含むことを特徴とす る方法。 24.請求の範囲23に記載の方法において、前記計算ジョブの終了時間を、前 記最適化ステップ中に、段階的に延長することを特徴とする方法。 25.請求の範囲13に記載の方法において、前記分割可能ジョブの分配を最適 化し、前記計算ジョブの金銭的コストを、選択されたコスト制限より下に減少さ せるステップをさらに含むことを特徴とする方法。 26.請求の範囲25に記載の方法において、前記最適化ステップが、関係する 金銭的コストが高い前記プロセッサから分配されたセグメントの一部を、金銭的 コストが低い前記プロセッサに再割り当てすることをさらに含むことを特徴とす る方法。 27.請求の範囲25に記載の方法において、前記最適化ステップが、前記計算 ジョブの終了時間をさらに短縮することを特徴とする方法。 28.請求の範囲13に記載の方法において、前記割り当てられたセグメントを 分配し、前記割り当てられたセグメントを前記割り当てられたプロセッサにおい て処理するステップをさらに含むことを特徴とする方法。 29.請求の範囲13に記載の方法において、前記割り当てられたプロセッサの セグメント終了時間の実際的にすべてを等しくすることを特徴とする方法。 30.請求の範囲13に記載の方法において、前記割り当てステップを、さらに 各々の前記プロセッサの処理速度に応じて行なうこと特徴とする方法。 31.計算ジョブを、関係する金銭的コストを有する複数のプロセッサに、コス ト上限を使用して分配する方法において、 前記コスト上限を選択するステップと、 各々の前記プロセッサに関係する金銭的コストを決定するステップと、 前記計算ジョブをセグメントに分割し、前記セグメントを前記プロセッサに、 各々の前記プロセッサの金銭的コストおよび前記コスト上限に応じて割り当てる ステップと、 割り当てられたセグメントを有する前記プロセッサの金銭的コストから成る前 記計算ジョブを処理する合計の金銭的コストが、前記選択されたコスト上限以下 の場合、前記セグメントを前記プロセッサに分配するステップとを具えることを 特徴とする方法。 32.請求の範囲31に記載の方法において、前記セグメントを割り当てるステ ップを、各々の前記プロセッサの処理速度にさらに応じて行なうことを特徴とす る方法。 33.請求の範囲32に記載の方法において、関係する金銭的コストが最も高い 前記プロセッサに割り当てられたセグメントを、前記他の割り当てられたプロセ ッサに再割り当てすることを特徴とする方法。 34.請求の範囲33に記載の方法において、前記他の割り当てられたプロセッ サのすべてが、前記割り当てられたセグメントの処理を同時に終了することを特 徴とする方法。 35.請求の範囲31に記載の方法において、前記プロセッサを、少なくとも2 つの異なった形式のプロセッサで構成することを特徴とする方法。 36.請求の範囲31に記載の方法において、前記分割ステップが、前記計算ジ ョブの終了時間をさらに最短にすることを特徴とする方法。 37.計算ジョブを分配するコントローラにおいて、 各々が関係する金銭的コストを有する複数のプロセッサとインタフェースする 手段と、 前記プロセッサの金銭的コストを決定し、前記計算ジョブを、前記プロセッサ に割り当てるべきセグメントにセグメント化し、前記割り当てられるプロセッサ を、前記金銭的コストに基づいて選択する、前記インタフェース手段に結合した 決定手段と、 前記割り当てられたセグメントの少なくとも1つを、前記選択されたプロセッ サの少なくとも1個に送り、前記選択されたプロセッサからの中間結果を、前記 インタフェース手段を経て受ける手段とを具えることを特徴とするコントローラ 。 38.請求の範囲37に記載のコントローラにおいて、前記プロセッサを、少な くとも2つの異なった形式のプロセッサで構成したことを特徴とするコントロー ラ。 39.請求の範囲37に記載のコントローラにおいて、各々の前記プロセッサの 金銭的コストを、前記プロセッサの動作コストに応じて決定したことを特徴とす るコントローラ。 40.請求の範囲39に記載のコントローラにおいて、前記金銭的コストを、前 記プロセッサの購入価格にさらに応じて決定したことを特徴とするコントローラ 。 41.請求の範囲37に記載のコントローラにおいて、関係する金銭的コストを 有し、前記セグメントの1つを割り当てることができることを特徴とするコント ローラ。
JP10513790A 1996-09-16 1997-09-09 金銭的なコストを最適化する負荷分配コントローラ Pending JP2001503170A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/714,696 US5889989A (en) 1996-09-16 1996-09-16 Load sharing controller for optimizing monetary cost
US08/714,696 1996-09-16
PCT/US1997/015955 WO1998011482A1 (en) 1996-09-16 1997-09-09 Load sharing controller for optimizing monetary cost

Publications (1)

Publication Number Publication Date
JP2001503170A true JP2001503170A (ja) 2001-03-06

Family

ID=24871097

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10513790A Pending JP2001503170A (ja) 1996-09-16 1997-09-09 金銭的なコストを最適化する負荷分配コントローラ

Country Status (6)

Country Link
US (2) US5889989A (ja)
EP (1) EP1012704A4 (ja)
JP (1) JP2001503170A (ja)
KR (1) KR20000036178A (ja)
CA (1) CA2265800A1 (ja)
WO (1) WO1998011482A1 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005063066A (ja) * 2003-08-08 2005-03-10 Internatl Business Mach Corp <Ibm> 分散コンピューティングシステム
JP2011076470A (ja) * 2009-09-30 2011-04-14 Nomura Research Institute Ltd 負荷管理装置、情報処理システムおよび負荷管理方法
JP2011204128A (ja) * 2010-03-26 2011-10-13 Nomura Research Institute Ltd 運用管理装置および運用管理方法
JP2011210225A (ja) * 2010-07-14 2011-10-20 Nomura Research Institute Ltd 情報処理システムおよび情報処理方法
US8812639B2 (en) 2008-11-17 2014-08-19 Fujitsu Limited Job managing device, job managing method and job managing program
JPWO2019111411A1 (ja) * 2017-12-08 2020-07-30 株式会社ウフル 協調分散システム、協調分散管理装置、協調分散方法、及びプログラム

Families Citing this family (217)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5768594A (en) * 1995-07-14 1998-06-16 Lucent Technologies Inc. Methods and means for scheduling parallel processors
US7926097B2 (en) 1996-11-29 2011-04-12 Ellis Iii Frampton E Computer or microchip protected from the internet by internal hardware
US7506020B2 (en) 1996-11-29 2009-03-17 Frampton E Ellis Global network computers
US6167428A (en) 1996-11-29 2000-12-26 Ellis; Frampton E. Personal computer microprocessor firewalls for internet distributed processing
US8225003B2 (en) 1996-11-29 2012-07-17 Ellis Iii Frampton E Computers and microchips with a portion protected by an internal hardware firewall
US6732141B2 (en) 1996-11-29 2004-05-04 Frampton Erroll Ellis Commercial distributed processing by personal computers over the internet
US7024449B1 (en) 1996-11-29 2006-04-04 Ellis Iii Frampton E Global network computers
US20050180095A1 (en) * 1996-11-29 2005-08-18 Ellis Frampton E. Global network computers
US7035906B1 (en) 1996-11-29 2006-04-25 Ellis Iii Frampton E Global network computers
US8312529B2 (en) 1996-11-29 2012-11-13 Ellis Frampton E Global network computers
US7805756B2 (en) * 1996-11-29 2010-09-28 Frampton E Ellis Microchips with inner firewalls, faraday cages, and/or photovoltaic cells
US7634529B2 (en) 1996-11-29 2009-12-15 Ellis Iii Frampton E Personal and server computers having microchips with multiple processing units and internal firewalls
US6725250B1 (en) 1996-11-29 2004-04-20 Ellis, Iii Frampton E. Global network computers
US6604124B1 (en) * 1997-03-13 2003-08-05 A:\Scribes Corporation Systems and methods for automatically managing work flow based on tracking job step completion status
US6336127B1 (en) * 1998-01-15 2002-01-01 International Business Machines Corporation Dynamic user management for timed shared computer systems
US6301603B1 (en) * 1998-02-17 2001-10-09 Euphonics Incorporated Scalable audio processing on a heterogeneous processor array
JPH11261626A (ja) * 1998-03-09 1999-09-24 Mitsubishi Electric Corp データ配送システムおよびデータ配送方法
US6359879B1 (en) * 1998-04-24 2002-03-19 Avici Systems Composite trunking
US6345240B1 (en) * 1998-08-24 2002-02-05 Agere Systems Guardian Corp. Device and method for parallel simulation task generation and distribution
US6249769B1 (en) * 1998-11-02 2001-06-19 International Business Machines Corporation Method, system and program product for evaluating the business requirements of an enterprise for generating business solution deliverables
US7386586B1 (en) * 1998-12-22 2008-06-10 Computer Associates Think, Inc. System for scheduling and monitoring computer processes
US6418462B1 (en) * 1999-01-07 2002-07-09 Yongyong Xu Global sideband service distributed computing method
JP3780732B2 (ja) * 1999-03-10 2006-05-31 株式会社日立製作所 分散制御システム
JP2000284970A (ja) * 1999-03-29 2000-10-13 Matsushita Electric Ind Co Ltd プログラム変換装置及びプロセッサ
US6618820B1 (en) * 2000-01-10 2003-09-09 Imagex.Com, Inc. Method for configuring an application server system
US6618742B1 (en) 2000-01-10 2003-09-09 Imagex.Com, Inc. Method for job impact learning
EP1085396A1 (en) 1999-09-17 2001-03-21 Hewlett-Packard Company Operation of trusted state in computing platform
US6986137B1 (en) * 1999-09-28 2006-01-10 International Business Machines Corporation Method, system and program products for managing logical processors of a computing environment
US6779183B1 (en) * 1999-12-23 2004-08-17 Lucent Technologies Inc. Method and system for load scheduling multidimensional tasks among multiple processors
US7233331B2 (en) * 2000-03-16 2007-06-19 Square Enix Co., Ltd. Parallel object task engine and processing method
US8010703B2 (en) * 2000-03-30 2011-08-30 Prashtama Wireless Llc Data conversion services and associated distributed processing system
US6963897B1 (en) * 2000-03-30 2005-11-08 United Devices, Inc. Customer services and advertising based upon device attributes and associated distributed processing system
US20040103139A1 (en) * 2000-03-30 2004-05-27 United Devices, Inc. Distributed processing system having sensor based data collection and associated method
US20090216641A1 (en) * 2000-03-30 2009-08-27 Niration Network Group, L.L.C. Methods and Systems for Indexing Content
US20090222508A1 (en) * 2000-03-30 2009-09-03 Hubbard Edward A Network Site Testing
US7092985B2 (en) * 2000-03-30 2006-08-15 United Devices, Inc. Method of managing workloads and associated distributed processing system
US20010039497A1 (en) * 2000-03-30 2001-11-08 Hubbard Edward A. System and method for monitizing network connected user bases utilizing distributed processing systems
USRE42153E1 (en) 2000-03-30 2011-02-15 Hubbard Edward A Dynamic coordination and control of network connected devices for large-scale network site testing and associated architectures
US6862623B1 (en) * 2000-04-14 2005-03-01 Microsoft Corporation Capacity planning for server resources
US6591298B1 (en) * 2000-04-24 2003-07-08 Keynote Systems, Inc. Method and system for scheduling measurement of site performance over the internet
JP4475614B2 (ja) * 2000-04-28 2010-06-09 大正製薬株式会社 並列処理方法におけるジョブの割り当て方法および並列処理方法
US7490328B2 (en) * 2000-05-09 2009-02-10 Surf Communication Solutions, Ltd. Method and apparatus for allocating processor pool resources for handling mobile data connections
JP2001325052A (ja) * 2000-05-17 2001-11-22 Sharp Corp エージェント表示装置、エージェント表示方法およびエージェント表示プログラムを記録した記録媒体
US6735769B1 (en) * 2000-07-13 2004-05-11 International Business Machines Corporation Apparatus and method for initial load balancing in a multiple run queue system
GB0020441D0 (en) * 2000-08-18 2000-10-04 Hewlett Packard Co Performance of a service on a computing platform
US6725454B1 (en) * 2000-08-21 2004-04-20 International Business Machines Corporation Method and apparatus for capacity consumption profiling in a client/server environment
US7278142B2 (en) 2000-08-24 2007-10-02 Veritas Operating Corporation Dynamic computing environment using remotely allocable resources
US7082521B1 (en) 2000-08-24 2006-07-25 Veritas Operating Corporation User interface for dynamic computing environment using allocateable resources
US7065637B1 (en) 2000-08-24 2006-06-20 Veritas Operating Corporating System for configuration of dynamic computing environments using a visual interface
US20020129080A1 (en) * 2001-01-11 2002-09-12 Christian Hentschel Method of and system for running an algorithm
JP2002092366A (ja) * 2000-09-11 2002-03-29 Nec Corp Cpu時間売買方法及びcpu時間売買システムにおける管理サーバ
US7043724B2 (en) 2000-09-14 2006-05-09 Veritas Operating Corporation System and services for handling computing environments as documents
US7027412B2 (en) * 2000-11-10 2006-04-11 Veritas Operating Corporation System for dynamic provisioning of secure, scalable, and extensible networked computer environments
US8631103B1 (en) 2000-11-10 2014-01-14 Symantec Operating Corporation Web-based administration of remote computing environments via signals sent via the internet
US20020059377A1 (en) * 2000-11-14 2002-05-16 Jagadish Bandhole Collaborative computing systems using dynamic computing environments
GB2376763B (en) * 2001-06-19 2004-12-15 Hewlett Packard Co Demonstrating integrity of a compartment of a compartmented operating system
US7213231B1 (en) 2001-01-11 2007-05-01 Cisco Technology, Inc. Cross-spectrum application model for dynamic computing environments in software lifecycle
GB0102518D0 (en) * 2001-01-31 2001-03-21 Hewlett Packard Co Trusted operating system
GB0102516D0 (en) * 2001-01-31 2001-03-21 Hewlett Packard Co Trusted gateway system
GB2372345A (en) * 2001-02-17 2002-08-21 Hewlett Packard Co Secure email handling using a compartmented operating system
GB2372595A (en) * 2001-02-23 2002-08-28 Hewlett Packard Co Method of and apparatus for ascertaining the status of a data processing environment.
GB2372593B (en) * 2001-02-23 2005-05-18 Hewlett Packard Co Electronic communication
GB2372592B (en) 2001-02-23 2005-03-30 Hewlett Packard Co Information system
US7653710B2 (en) 2002-06-25 2010-01-26 Qst Holdings, Llc. Hardware task manager
US7400668B2 (en) * 2001-03-22 2008-07-15 Qst Holdings, Llc Method and system for implementing a system acquisition function for use with a communication device
US6577678B2 (en) 2001-05-08 2003-06-10 Quicksilver Technology Method and system for reconfigurable channel coding
US20020169680A1 (en) * 2001-05-10 2002-11-14 International Business Machines Corporation Method and apparatus for building commercial distributed computing networks via computer cost subsidization
US7036006B2 (en) 2001-05-17 2006-04-25 Veritas Operating Corporation System to provide computing as a product using dynamic computing environments
US20020178260A1 (en) * 2001-05-23 2002-11-28 Chang Hsin-Wang Wayne Distributed computer resource bartering system
US20030023660A1 (en) * 2001-06-01 2003-01-30 Bogdan Kosanovic Real-time embedded resource management system
US7096471B2 (en) * 2001-06-01 2006-08-22 Texas Instruments Incorporated Apparatus for resource management in a real-time embedded system
US7191446B2 (en) * 2001-06-01 2007-03-13 Texas Instruments Incorporated Method for resource management in a real-time embedded system
US7321568B2 (en) * 2001-06-01 2008-01-22 Texas Instruments Incorporated Realtime management of processing resources
GB0114898D0 (en) * 2001-06-19 2001-08-08 Hewlett Packard Co Interaction with electronic services and markets
GB2376762A (en) * 2001-06-19 2002-12-24 Hewlett Packard Co Renting a computing environment on a trusted computing platform
GB2376761A (en) * 2001-06-19 2002-12-24 Hewlett Packard Co An arrangement in which a process is run on a host operating system but may be switched to a guest system if it poses a security risk
GB2376764B (en) * 2001-06-19 2004-12-29 Hewlett Packard Co Multiple trusted computing environments
US7111074B2 (en) * 2001-07-24 2006-09-19 Pluris, Inc. Control method for data path load-balancing on a data packet network
GB2378013A (en) * 2001-07-27 2003-01-29 Hewlett Packard Co Trusted computer platform audit system
TW576061B (en) * 2001-08-13 2004-02-11 Via Tech Inc Device and method for load balancing of packet switching
US7305674B2 (en) * 2001-08-31 2007-12-04 International Business Machines Corporation Method and apparatus to manage multi-computer supply
US8024395B1 (en) 2001-09-04 2011-09-20 Gary Odom Distributed processing multiple tier task allocation
US6880002B2 (en) * 2001-09-05 2005-04-12 Surgient, Inc. Virtualized logical server cloud providing non-deterministic allocation of logical attributes of logical servers to physical resources
KR100842983B1 (ko) * 2001-11-19 2008-07-01 주식회사 엘지이아이 분산처리 기능이 있는 데이터 방송용 셋탑의 대가지불방법
GB2382419B (en) * 2001-11-22 2005-12-14 Hewlett Packard Co Apparatus and method for creating a trusted environment
US7574496B2 (en) 2001-11-30 2009-08-11 Surgient, Inc. Virtual server cloud interfacing
US20030108012A1 (en) * 2001-12-12 2003-06-12 Quicksilver Technology, Inc. Method and system for detecting and identifying scrambling codes
US7215701B2 (en) 2001-12-12 2007-05-08 Sharad Sambhwani Low I/O bandwidth method and system for implementing detection and identification of scrambling codes
US7231508B2 (en) * 2001-12-13 2007-06-12 Quicksilver Technologies Configurable finite state machine for operation of microinstruction providing execution enable control value
US7013344B2 (en) * 2002-01-09 2006-03-14 International Business Machines Corporation Massively computational parallizable optimization management system and method
US7996507B2 (en) * 2002-01-16 2011-08-09 International Business Machines Corporation Intelligent system control agent for managing jobs on a network by managing a plurality of queues on a client
US7085831B2 (en) * 2002-01-16 2006-08-01 International Business Machines Corporation Intelligent system control agent for managing jobs on a network by managing a plurality of queues on a client
US20030144855A1 (en) * 2002-01-30 2003-07-31 Nir Cohen Computer implemented method and system for demand forecast applications
US7187682B2 (en) * 2002-02-21 2007-03-06 Telefonaktiebolaget Lm Ericsson (Publ) Packet data serving node (PDSN) load optimization
US8005978B1 (en) * 2002-03-01 2011-08-23 Cisco Technology, Inc. Method to optimize the load balancing of parallel coprocessors
JP2003271572A (ja) * 2002-03-14 2003-09-26 Fuji Photo Film Co Ltd 処理分散制御装置、分散処理システム、処理分散制御プログラム、処理分散制御方法
US20030177166A1 (en) * 2002-03-15 2003-09-18 Research Foundation Of The State University Of New York Scalable scheduling in parallel processors
US6990666B2 (en) * 2002-03-18 2006-01-24 Surgient Inc. Near on-line server
US7257584B2 (en) 2002-03-18 2007-08-14 Surgient, Inc. Server file management
US7328414B1 (en) 2003-05-13 2008-02-05 Qst Holdings, Llc Method and system for creating and programming an adaptive computing engine
US7143413B2 (en) * 2002-05-15 2006-11-28 Hewlett-Packard Development Company, L.P. Method and system for allocating system resources among applications using weights
US7093255B1 (en) * 2002-05-31 2006-08-15 Quicksilver Technology, Inc. Method for estimating cost when placing operations within a modulo scheduler when scheduling for processors with a large number of function units or reconfigurable data paths
US7322034B2 (en) 2002-06-14 2008-01-22 Hewlett-Packard Development Company, L.P. Method and system for dynamically allocating computer system resources
US7159099B2 (en) * 2002-06-28 2007-01-02 Motorola, Inc. Streaming vector processor with reconfigurable interconnection switch
US7415601B2 (en) * 2002-06-28 2008-08-19 Motorola, Inc. Method and apparatus for elimination of prolog and epilog instructions in a vector processor using data validity tags and sink counters
US7140019B2 (en) * 2002-06-28 2006-11-21 Motorola, Inc. Scheduler of program instructions for streaming vector processor having interconnected functional units
US8020162B2 (en) * 2002-07-19 2011-09-13 International Business Machines Corporation Employing a resource broker in managing workloads of a peer-to-peer computing environment
US8108656B2 (en) 2002-08-29 2012-01-31 Qst Holdings, Llc Task definition for specifying resource requirements
US6986033B2 (en) 2002-09-10 2006-01-10 Veritas Operating Corporation System for automated boot from disk image
US7069428B2 (en) * 2002-09-10 2006-06-27 Veritas Operating Corporation System for managing boot-up of target computers
US20040055001A1 (en) * 2002-09-16 2004-03-18 Islam Farhad Fuad Method and apparatus for computational load sharing in a multiprocessor architecture
US7937591B1 (en) 2002-10-25 2011-05-03 Qst Holdings, Llc Method and system for providing a device which can be adapted on an ongoing basis
US7681122B1 (en) * 2002-11-06 2010-03-16 Vistaprint Technologies Limited File conversion system and method
US8276135B2 (en) * 2002-11-07 2012-09-25 Qst Holdings Llc Profiling of software and circuit designs utilizing data operation analyses
US7761876B2 (en) * 2003-03-20 2010-07-20 Siemens Enterprise Communications, Inc. Method and system for balancing the load on media processors based upon CPU utilization information
US20040249616A1 (en) * 2003-04-16 2004-12-09 Vierus Stephanie A. Resource modeler system and method
US7478393B2 (en) * 2003-04-30 2009-01-13 International Business Machines Corporation Method for marketing to instant messaging service users
US7299469B2 (en) * 2003-04-30 2007-11-20 International Business Machines Corporation Hierarchical weighting of donor and recipient pools for optimal reallocation in logically partitioned computer systems
US7325062B2 (en) * 2003-04-30 2008-01-29 International Business Machines Corporation Method and system for automated adapter reallocation and optimization between logical partitions
US7472246B2 (en) * 2003-04-30 2008-12-30 International Business Machines Corporation Method and system for automated memory reallocating and optimization between logical partitions
US7590984B2 (en) * 2003-05-29 2009-09-15 International Business Machines Corporation System and method for balancing a computing load among computing resources in a distributed computing problem
US7467180B2 (en) * 2003-05-29 2008-12-16 International Business Machines Corporation Automatically segmenting and populating a distributed computing problem
US7313796B2 (en) * 2003-06-05 2007-12-25 International Business Machines Corporation Reciprocity and stabilization in dynamic resource reallocation among logically partitioned systems
US7707296B2 (en) * 2003-06-30 2010-04-27 Siemens Communications, Inc. Method and apparatus for selecting a media processor to host a conference
US7237139B2 (en) * 2003-08-07 2007-06-26 International Business Machines Corporation Services heuristics for computer adapter placement in logical partitioning operations
US7290122B2 (en) * 2003-08-29 2007-10-30 Motorola, Inc. Dataflow graph compression for power reduction in a vector processor
US7594228B2 (en) * 2003-09-23 2009-09-22 Lam Siu H Method and apparatus to perform task scheduling
US7769004B2 (en) * 2003-09-26 2010-08-03 Surgient, Inc. Network abstraction and isolation layer for masquerading machine identity of a computer
US7643484B2 (en) * 2003-09-26 2010-01-05 Surgient, Inc. Network abstraction and isolation layer rules-based federation and masquerading
KR100518233B1 (ko) * 2003-10-31 2005-10-04 주식회사 하이닉스반도체 반도체 소자의 제조방법
WO2005067227A1 (ja) * 2004-01-09 2005-07-21 Nec Corporation 負荷分散方法、ノード及び制御プログラム
CA2493732A1 (en) * 2004-01-23 2005-07-23 Gridiron Software, Inc. Authentication in a distributed computing environment
US20050172291A1 (en) * 2004-01-30 2005-08-04 Rajarshi Das Method and apparatus for utility-based dynamic resource allocation in a distributed computing system
US8057307B2 (en) * 2004-04-08 2011-11-15 International Business Machines Corporation Handling of players and objects in massive multi-player on-line games
US20050234937A1 (en) * 2004-04-15 2005-10-20 International Business Machines Corporation System and method for rating performance of computing grid service providers
US8458691B2 (en) 2004-04-15 2013-06-04 International Business Machines Corporation System and method for dynamically building application environments in a computational grid
JP2005352689A (ja) 2004-06-09 2005-12-22 Hitachi Ltd 対話型サービス配置方法、対話型サービス配置プログラムおよびその記録媒体、ならびに、サービスブローカ装置
US8260893B1 (en) 2004-07-06 2012-09-04 Symantec Operating Corporation Method and system for automated management of information technology
US8429660B2 (en) * 2004-08-23 2013-04-23 Goldman, Sachs & Co. Systems and methods to allocate application tasks to a pool of processing machines
US7765552B2 (en) * 2004-09-17 2010-07-27 Hewlett-Packard Development Company, L.P. System and method for allocating computing resources for a grid virtual system
US7644410B1 (en) * 2004-11-23 2010-01-05 Hewlett-Packard Development Company, L.P. Resource management for shared computing environment
US8214461B1 (en) 2004-11-23 2012-07-03 Hewlett-Packard Development Company, L.P. Method of processing request by server computer system
US7827435B2 (en) * 2005-02-15 2010-11-02 International Business Machines Corporation Method for using a priority queue to perform job scheduling on a cluster based on node rank and performance
EP1866825A1 (en) 2005-03-22 2007-12-19 Hewlett-Packard Development Company, L.P. Methods, devices and data structures for trusted data
EP1705582A1 (en) * 2005-03-24 2006-09-27 Logimax S.r.l. System and method for optimising use of data management programs and computer program product thereof
US7743378B1 (en) 2005-05-13 2010-06-22 Oracle America, Inc. Method and apparatus for multi-dimensional priority determination for job scheduling
US7844968B1 (en) 2005-05-13 2010-11-30 Oracle America, Inc. System for predicting earliest completion time and using static priority having initial priority and static urgency for job scheduling
US7984447B1 (en) 2005-05-13 2011-07-19 Oracle America, Inc. Method and apparatus for balancing project shares within job assignment and scheduling
US7752622B1 (en) 2005-05-13 2010-07-06 Oracle America, Inc. Method and apparatus for flexible job pre-emption
US8214836B1 (en) * 2005-05-13 2012-07-03 Oracle America, Inc. Method and apparatus for job assignment and scheduling using advance reservation, backfilling, and preemption
US8881233B2 (en) * 2005-05-23 2014-11-04 Microsoft Corporation Resource management via periodic distributed time
US10026140B2 (en) 2005-06-10 2018-07-17 Nvidia Corporation Using a scalable graphics system to enable a general-purpose multi-user computer system
US20070005318A1 (en) * 2005-06-20 2007-01-04 Dimenna Richard A System and method for chemical process simulations
US7831972B2 (en) * 2005-11-03 2010-11-09 International Business Machines Corporation Method and apparatus for scheduling jobs on a network
US8122446B2 (en) * 2005-11-03 2012-02-21 International Business Machines Corporation Method and apparatus for provisioning software on a network of computers
US8443372B2 (en) * 2006-03-23 2013-05-14 International Business Machines Corporation Methods and systems for partitioning data in parallel processing systems
US8307366B2 (en) * 2006-03-30 2012-11-06 Apple Inc. Post-processing phase in a distributed processing system using assignment information
US8078728B1 (en) 2006-03-31 2011-12-13 Quest Software, Inc. Capacity pooling for application reservation and delivery
US8260924B2 (en) * 2006-05-03 2012-09-04 Bluetie, Inc. User load balancing systems and methods thereof
US20070271130A1 (en) * 2006-05-19 2007-11-22 Microsoft Corporation Flexible scheduling and pricing of multicore computer chips
US8056082B2 (en) * 2006-05-31 2011-11-08 Bluetie, Inc. Capacity management and predictive planning systems based on trended rate change of monitored factors and methods thereof
US8056083B2 (en) * 2006-10-10 2011-11-08 Diskeeper Corporation Dividing a computer job into micro-jobs for execution
US20080182021A1 (en) * 2007-01-31 2008-07-31 Simka Harsono S Continuous ultra-thin copper film formed using a low thermal budget
US8103562B2 (en) * 2007-04-03 2012-01-24 Sony Computer Entertainment America Llc System and method for processor cycle accounting and valuation
EP2527980A3 (en) * 2007-06-19 2013-01-09 VirtualLogix SA Load balancing
US8127032B2 (en) * 2007-10-18 2012-02-28 International Business Machines Corporation Performance sampling in distributed systems
US8125796B2 (en) 2007-11-21 2012-02-28 Frampton E. Ellis Devices with faraday cages and internal flexibility sipes
US8127235B2 (en) 2007-11-30 2012-02-28 International Business Machines Corporation Automatic increasing of capacity of a virtual space in a virtual world
US8194674B1 (en) 2007-12-20 2012-06-05 Quest Software, Inc. System and method for aggregating communications and for translating between overlapping internal network addresses and unique external network addresses
US20090164919A1 (en) 2007-12-24 2009-06-25 Cary Lee Bates Generating data for managing encounters in a virtual world environment
US8332847B1 (en) 2008-01-10 2012-12-11 Hewlett-Packard Development Company, L. P. Validating manual virtual machine migration
US8185894B1 (en) 2008-01-10 2012-05-22 Hewlett-Packard Development Company, L.P. Training a virtual machine placement controller
US8082290B2 (en) * 2008-03-19 2011-12-20 Verizon Patent And Licensing Inc. Intelligent establishment of peer-to-peer communication
US7945768B2 (en) * 2008-06-05 2011-05-17 Motorola Mobility, Inc. Method and apparatus for nested instruction looping using implicit predicates
JP5195913B2 (ja) * 2008-07-22 2013-05-15 トヨタ自動車株式会社 マルチコアシステム、車両用電子制御ユニット、タスク切り替え方法
US8539035B2 (en) * 2008-09-29 2013-09-17 Fujitsu Limited Message tying processing method and apparatus
US9026640B2 (en) * 2009-06-03 2015-05-05 Microsoft Technology Licensing, Llc Determining server utilization
US9131529B1 (en) * 2009-06-29 2015-09-08 The Boeing Company System and method for demand driven network topology management
US9137847B1 (en) 2009-06-29 2015-09-15 The Boeing Company Application of potential field methods in directing agents
US10973656B2 (en) 2009-09-18 2021-04-13 Spinal Surgical Strategies, Inc. Bone graft delivery system and method for using same
US9081621B2 (en) * 2009-11-25 2015-07-14 Microsoft Technology Licensing, Llc Efficient input/output-aware multi-processor virtual machine scheduling
WO2011091323A1 (en) 2010-01-21 2011-07-28 Qst Holdings, Llc A method and apparatus for a general-purpose, multiple-core system for implementing stream-based computations
US8429735B2 (en) 2010-01-26 2013-04-23 Frampton E. Ellis Method of using one or more secure private networks to actively configure the hardware of a computer or microchip
US9205328B2 (en) 2010-02-18 2015-12-08 Activision Publishing, Inc. Videogame system and method that enables characters to earn virtual fans by completing secondary objectives
US20110213730A1 (en) * 2010-03-01 2011-09-01 International Business Machines Corporation Goal programming approach for optimal budget allocation for national analysis of wildland fire management
US9682324B2 (en) 2010-05-12 2017-06-20 Activision Publishing, Inc. System and method for enabling players to participate in asynchronous, competitive challenges
CN103092683B (zh) * 2011-11-07 2017-12-26 Sap欧洲公司 用于数据分析的基于启发式的调度
US9110717B2 (en) * 2012-07-05 2015-08-18 International Business Machines Corporation Managing use of lease resources allocated on fallover in a high availability computing environment
US9239727B1 (en) * 2012-10-17 2016-01-19 Amazon Technologies, Inc. Configurable virtual machines
US9336057B2 (en) 2012-12-21 2016-05-10 Microsoft Technology Licensing, Llc Assigning jobs to heterogeneous processing modules
US10137376B2 (en) 2012-12-31 2018-11-27 Activision Publishing, Inc. System and method for creating and streaming augmented game sessions
WO2015127668A1 (en) * 2014-02-28 2015-09-03 Pivotal Software, Inc. Task centric resource scheduling framework
US10286326B2 (en) 2014-07-03 2019-05-14 Activision Publishing, Inc. Soft reservation system and method for multiplayer video games
JP6251417B2 (ja) * 2014-10-27 2017-12-20 株式会社日立製作所 ストレージシステム、及び、記憶制御方法
US11351466B2 (en) 2014-12-05 2022-06-07 Activision Publishing, Ing. System and method for customizing a replay of one or more game events in a video game
US10118099B2 (en) 2014-12-16 2018-11-06 Activision Publishing, Inc. System and method for transparently styling non-player characters in a multiplayer video game
US10315113B2 (en) 2015-05-14 2019-06-11 Activision Publishing, Inc. System and method for simulating gameplay of nonplayer characters distributed across networked end user devices
US10471348B2 (en) 2015-07-24 2019-11-12 Activision Publishing, Inc. System and method for creating and sharing customized video game weapon configurations in multiplayer video games via one or more social networks
US10099140B2 (en) 2015-10-08 2018-10-16 Activision Publishing, Inc. System and method for generating personalized messaging campaigns for video game players
US11185784B2 (en) 2015-10-08 2021-11-30 Activision Publishing, Inc. System and method for generating personalized messaging campaigns for video game players
US10245509B2 (en) 2015-10-21 2019-04-02 Activision Publishing, Inc. System and method of inferring user interest in different aspects of video game streams
US10376781B2 (en) 2015-10-21 2019-08-13 Activision Publishing, Inc. System and method of generating and distributing video game streams
US10232272B2 (en) 2015-10-21 2019-03-19 Activision Publishing, Inc. System and method for replaying video game streams
CN105554900A (zh) * 2015-12-08 2016-05-04 上海电机学院 一种剩余能量排序负载调度方法及系统
US10300390B2 (en) 2016-04-01 2019-05-28 Activision Publishing, Inc. System and method of automatically annotating gameplay of a video game based on triggering events
US10500498B2 (en) 2016-11-29 2019-12-10 Activision Publishing, Inc. System and method for optimizing virtual games
US10561945B2 (en) 2017-09-27 2020-02-18 Activision Publishing, Inc. Methods and systems for incentivizing team cooperation in multiplayer gaming environments
US10974150B2 (en) 2017-09-27 2021-04-13 Activision Publishing, Inc. Methods and systems for improved content customization in multiplayer gaming environments
US11040286B2 (en) 2017-09-27 2021-06-22 Activision Publishing, Inc. Methods and systems for improved content generation in multiplayer gaming environments
US10864443B2 (en) 2017-12-22 2020-12-15 Activision Publishing, Inc. Video game content aggregation, normalization, and publication systems and methods
US10620989B2 (en) * 2018-06-08 2020-04-14 Capital One Services, Llc Managing execution of data processing jobs in a virtual computing environment
US11679330B2 (en) 2018-12-18 2023-06-20 Activision Publishing, Inc. Systems and methods for generating improved non-player characters
US11097193B2 (en) 2019-09-11 2021-08-24 Activision Publishing, Inc. Methods and systems for increasing player engagement in multiplayer gaming environments
US11712627B2 (en) 2019-11-08 2023-08-01 Activision Publishing, Inc. System and method for providing conditional access to virtual gaming items
US11351459B2 (en) 2020-08-18 2022-06-07 Activision Publishing, Inc. Multiplayer video games with virtual characters having dynamically generated attribute profiles unconstrained by predefined discrete values
US11524234B2 (en) 2020-08-18 2022-12-13 Activision Publishing, Inc. Multiplayer video games with virtual characters having dynamically modified fields of view
US11745747B2 (en) * 2021-08-25 2023-09-05 Cyngn, Inc. System and method of adaptive distribution of autonomous driving computations

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL8400186A (nl) * 1984-01-20 1985-08-16 Philips Nv Processorsysteem bevattende een aantal stations verbonden door een kommunikatienetwerk, alsmede station voor gebruik in zo een processorsysteem.
EP0300456A3 (en) * 1987-07-24 1990-08-08 Bruce H. Faaland Improved scheduling method and system
US5079760A (en) * 1990-02-06 1992-01-07 Paul Nemirovsky Method for efficient distributed data communications network access network configuration
US5283897A (en) * 1990-04-30 1994-02-01 International Business Machines Corporation Semi-dynamic load balancer for periodically reassigning new transactions of a transaction type from an overload processor to an under-utilized processor based on the predicted load thereof
CA2076293A1 (en) * 1991-10-11 1993-04-12 Prathima Agrawal Multiprocessor computer for solving sets of equations
US5418953A (en) * 1993-04-12 1995-05-23 Loral/Rohm Mil-Spec Corp. Method for automated deployment of a software program onto a multi-processor architecture
US5408663A (en) * 1993-11-05 1995-04-18 Adrem Technologies, Inc. Resource allocation methods
US5694602A (en) * 1996-10-01 1997-12-02 The United States Of America As Represented By The Secretary Of The Air Force Weighted system and method for spatial allocation of a parallel load
US6014612A (en) * 1997-10-02 2000-01-11 Fisher Controls International, Inc. Remote diagnostics in a process control network having distributed control functions
US6223205B1 (en) * 1997-10-20 2001-04-24 Mor Harchol-Balter Method and apparatus for assigning tasks in a distributed server system

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005063066A (ja) * 2003-08-08 2005-03-10 Internatl Business Mach Corp <Ibm> 分散コンピューティングシステム
US8812639B2 (en) 2008-11-17 2014-08-19 Fujitsu Limited Job managing device, job managing method and job managing program
JP2011076470A (ja) * 2009-09-30 2011-04-14 Nomura Research Institute Ltd 負荷管理装置、情報処理システムおよび負荷管理方法
JP2011204128A (ja) * 2010-03-26 2011-10-13 Nomura Research Institute Ltd 運用管理装置および運用管理方法
JP2011210225A (ja) * 2010-07-14 2011-10-20 Nomura Research Institute Ltd 情報処理システムおよび情報処理方法
JPWO2019111411A1 (ja) * 2017-12-08 2020-07-30 株式会社ウフル 協調分散システム、協調分散管理装置、協調分散方法、及びプログラム

Also Published As

Publication number Publication date
EP1012704A4 (en) 2002-04-17
US5889989A (en) 1999-03-30
CA2265800A1 (en) 1998-03-19
EP1012704A1 (en) 2000-06-28
WO1998011482A1 (en) 1998-03-19
KR20000036178A (ko) 2000-06-26
US6370560B1 (en) 2002-04-09

Similar Documents

Publication Publication Date Title
JP2001503170A (ja) 金銭的なコストを最適化する負荷分配コントローラ
JP2781744B2 (ja) 多数のサーバに開放されている情報処理システム
US9015227B2 (en) Distributed data processing system
JP5065050B2 (ja) クライアント・サーバ・システムにおける負荷分散
CN106095569B (zh) 一种基于sla的云工作流引擎资源调度与控制方法
CN106453146B (zh) 私有云计算资源的分配方法、系统、设备和可读存储介质
EP1253516A2 (en) Apparatus and method for scheduling processes on a fair share basis
GB0302926D0 (en) System architecture and engine for massively multi-user operation
JP2003503787A (ja) 大規模集合ネットワークによる処理システムおよびその方法
CN103067293A (zh) 负载均衡设备的连接管理和复用的方法和系统
US20040158637A1 (en) Gated-pull load balancer
US6298382B1 (en) Information retrieving method, information retrieving system, and retrieval managing unit for the same
CN110727950A (zh) 一种分布式协同计算系统和协同处理方法
CN111985786A (zh) 基于坐席的任务分配方法、装置、计算机设备和存储介质
CN111427551A (zh) 编程平台的用户代码运行方法及平台、设备、存储介质
EP1654647A1 (en) A method of assigning objects to processing units
US11556382B1 (en) Hardware accelerated compute kernels for heterogeneous compute environments
CN109544347B (zh) 尾差分配方法、计算机可读存储介质及尾差分配系统
CN113312359B (zh) 一种分布式作业进度计算方法、装置和存储介质
JP2023543744A (ja) リソーススケジューリング方法、システム、電子デバイスおよびコンピュータ可読記憶媒体
CN112395091A (zh) 云服务请求响应方法及装置、电子设备和存储介质
US6754658B1 (en) Database server processing system, method, program and program storage device
CN116192849A (zh) 一种异构加速板卡计算方法、装置、设备及介质
JP3284864B2 (ja) ファイル配信方法
CN114546393A (zh) 多任务程序编译方法及装置、多核芯片