JP2003515807A - ネットワーク化された1以上のコンピュータの余剰の処理能力を用いて複雑な科学的問題を解決するためのスレッドベースの方法及びシステム - Google Patents

ネットワーク化された1以上のコンピュータの余剰の処理能力を用いて複雑な科学的問題を解決するためのスレッドベースの方法及びシステム

Info

Publication number
JP2003515807A
JP2003515807A JP2001540461A JP2001540461A JP2003515807A JP 2003515807 A JP2003515807 A JP 2003515807A JP 2001540461 A JP2001540461 A JP 2001540461A JP 2001540461 A JP2001540461 A JP 2001540461A JP 2003515807 A JP2003515807 A JP 2003515807A
Authority
JP
Japan
Prior art keywords
thread
server
job
computer
molecules
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
JP2001540461A
Other languages
English (en)
Inventor
キーファー,クリストファー,イー.
マーフィー,ステファン
シンプキンス,ジョセフ,ディー.
ヤング,シドニー,スタンレイ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Glaxo Group Ltd
Original Assignee
Glaxo Group Ltd
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 Glaxo Group Ltd filed Critical Glaxo Group Ltd
Publication of JP2003515807A publication Critical patent/JP2003515807A/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/5061Partitioning or combining of resources
    • G06F9/5072Grid computing

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Information Transfer Between Computers (AREA)
  • Power Sources (AREA)
  • Exhaust Gas After Treatment (AREA)
  • Computer And Data Communications (AREA)

Abstract

(57)【要約】 1以上のネットワークコンピュータの余剰の処理法力を利用するためのスレッドベースの方法及びシステムであって、少なくとも1のサーバと1のクライアントを含む方法及びシステム。サーバは、複雑な科学的問題に関するデータ及びジョブ記述を記憶しており、クライアントからの要求に応じてジョブ記述及びデータの一部をクライアントに提供する。各クライアントは第1アイドルスレッドを実行して、サーバからジョブ記述を引き出す。各クライアントはまた、第2アイドルスレッドを実行して、サーバにデータを要求し、ジョブ記述により特定されるジョブを実行する。第1及び第2アイドルスレッドは、オペレーティングシステムにより、自動的に実行するようにスケジュールされる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】
関連出願情報 本願は、1999年11月29日に出願された米国仮特許出願第60/167,925号による利益
を主張する。上記の仮特許出願に開示された全ての内容は、参照により本明細書
に含まれるものとする。
【0002】 本発明は、ネットワーク化された1以上のコンピュータの余剰の処理能力を用
いて複雑な科学的問題を解決するためのスレッドベースの方法及びシステムに関
する。さらに詳しくは、本発明は、ネットワーク化された1以上のコンピュータ
の余剰の処理能力を用いて複雑な科学的問題を解決するためのスレッドベースの
方法及びシステムに関する。
【0003】
【従来の技術】
多くの中規模及び大規模企業は、1以上のネットワークを会して接続されたデ
スクトップコンピュータを多数有している。これらのコンピュータは、多くの時
間アイドル状態であることが典型である。例えば、このようなマシンは、夜間、
週末、及び従業員が他の仕事をしている間は、アイドル状態になっている。最近
の調査では、デスクトップマシンは時間にして5%未満しか使用されていないとさ
れている。サーバもまた、90%を超える時間、アイドル状態であることが典型で
ある。アイドル状態のデスクトップマシンの利用されていない処理能力に鑑みて
、この処理能力を利用して複雑な問題を解決するための方法及びシステムが開発
されてきた。
【0004】 例えば、Kraft et al.の米国特許第6,112,225号は、タスク分散処理システム
及びアイドル時間中にコンピュータに計算タスクを行わせる方法を開示している
。Kraft et al.のシステムでは、末端のコンピュータは統制コンピュータからア
イドル時間活用プログラムをダウンロードする必要がある。アイドル時間活用プ
ログラムは、末端コンピュータがいつアイドル状態なのかを、処理負荷に基づい
て、又はユーザがキーボードを最後に触れてから所定時間経過したかどうか基づ
いて決定するためのスクリーンセーバーを含む。ユーザがアイドル時間活用プロ
グラムをダウンロードしなければならないとすると、集合タスクに参加しようと
する各コンピュータについてダウンロードを行わなければならないので、望まし
くない。さらに、処理負荷、又はユーザがキーボードを最後に触れてからの時間
の測定を実行するプログラムは、末端コンピュータのマシンサイクルを消費する
ので、集合タスクの実行に利用できるアイドル時間を無駄にしてしまうことにな
る。
【0005】 Liu et al.の米国特許第5,031,089号は、分散型異種コンピュータシステムに
おける動的リソース割り当てスキームを開示している。Liu et al.において、複
数の同等なノードが、ノードのキューにあるジョブの数を示す作業負荷の値を計
算及び記録するためのロジックを含む。各ノードは、他の同等なノードに作業を
転送するためのロジックを有する。最後に、各ノードは、各ジョブの完了時に、
ノード自体の作業負荷値をチェックし、他の全ての同等ノードの作業負荷値を集
計するロジックを有する。ノード自体の作業負荷値が低く、他のノードの作業負
荷が高い場合、チェックしたノードは他の高負荷ノードから作業を引き受ける。
Liu et al.のシステムは同等コンピュータ間での負荷をバランスさせることはで
きるが、このようなシステムは、継続的に負荷をバランスさせようとする同等ノ
ード間のトラフィックにより、同等ノード間を接続するネットワークに過負荷を
かけてしまうおそれがある。このようなトラフィックはネットワークを混雑させ
るのみならず、ユーザにとって見えないトラフィックとなる。したがって、分散
された処理問題を解決するためのコンピュータが、エンドユーザにも使用される
ような場合には、Liu et al.に開示されたシステムはネットワークにとって望ま
しいものではない。
【0006】 例えば、製薬会社などの大規模な組織では、エンドユーザがコンピュータを電
子メール、ウェブブラウジング、文書編集その他の仕事に用いている。これらの
コンピュータが接続されたネットワーク内の1以上のコンピュータが、同等なノ
ード間での(ピアベースの)負荷バランス機構を用いて複雑な科学的問題を解い
ているとき、ピアベースの負荷バランス機構を実行するために必要とされるトラ
フィックがネットワークに過負荷をかけてしまい、アイドル状態ではないコンピ
ュータの通信を妨害してしまうおそれがある。したがって、Liu et al.に開示さ
れたシステムは、複雑な問題を解決するのに専用される分散コンピュータにのみ
適しているといえる。
【0007】
【発明が解決しようとする課題】
従来の分散コンピューティングアルゴリズムにおけるこのような困難のため、
エンドユーザへの影響を最小限にとどめながら、ネットワーク化されたコンピュ
ータのアイドル状態における処理能力を用いて複雑な問題を解決するための方法
及びシステムが、長らく必要とされてきた。
【0008】
【課題を解決するための手段】
本発明は、一側面において、複雑な科学的問題を解決するためのスレッドベー
スのシステムを含んでいる。このようなシステムは、複雑な科学的タスクに関し
て、サーバから作業を引き受けるクライアントを含む。より詳細には、クライア
ントは、サーバからジョブの記述を引き受ける第1のスレッドと、サーバからデ
ータを引き受ける第2のスレッドとを開始するためのコンピュータコードを含む
。クライアントは、オペレーティングシステムが第1及び第2のスレッドの実行を
自動的にスケジュールするのを許可する。第1及び第2のスレッドはアイドルスレ
ッドであるのが好ましい。ここで“アイドルスレッド”とは、ユーザスレッドよ
りも優先度の低いスレッドのことを言う。ユーザスレッドとは、ワードプロセッ
シング・プログラムやEメール・プログラムなどのユーザプログラムによりスケ
ジュールされたスレッドである。
【0009】 本発明の実施形態によるスレッドベースの方法は、好ましくは、ネットワーク
コンピュータにおいて複雑な科学的タスクを解決するのに用いられる。クライア
ントのオペレーティングシステムがアイドルスレッドの実行をスケジュールする
と、クライアント上のコードが自動的に実行されるので、ユーザへの影響は最小
限にとどめられる。さらに、以下により詳細に説明するように、このようなシス
テムが扱う複雑なタスクは、小さい部分に分割されており、タスクを実行するた
めにネットワーク上で伝送されるデータが最小化され、かつ各クライアントにお
いて実行される作業が最大化されるようになっているのが好ましい。本発明にお
いて、クライアントが実行することができる計算負荷の高いタスクには、例えば
、分子の3次元的特徴の決定や、分子の他の物理的特性の決定などが含まれる。
このようなシステムにおいて、クライアントは、サーバによりアクセス可能なコ
レクション(データ集合体)から分子又は分子のセットを引用することができる
。次に、クライアントは、分子の特性を決定するのに必要な複雑な計算を実行す
ることができる。その後、クライアントは計算結果をサーバにレポートする。分
子の表現は典型的には短いので、ネットワーク上で伝送されるデータは最小化さ
れる。さらに、分子の3次元的特徴及びその他の特性を決定するために必要な計
算は計算負荷が高いので、クライアントは大量の作業を実行することになる。し
たがって、ネットワークのトラフィックを最小化し、クライアントによる作業を
最大化するという目的は達成されたことになる。
【0010】 しがたって、本発明の目的は、ネットワーク化された1以上のコンピュータの
余剰の処理能力を用いて複雑な科学的問題を解決するための方法及びシステムで
あって、ユーザ及びユーザのネットワークへの影響を最小化するような方法及び
システムを提供することである。
【0011】 本発明の目的の一部は上述したが、他の目的については、添付図面とともに以
下の記載において明らかにする。
【0012】
【発明の実施の形態】
以下、添付図面を参照しながら、本発明の好ましい実施形態を説明する。
【0013】 本発明の好適なコンピューティング環境での実行を図面に示す。この図面にお
いて、同一の参照番号は同一の要素を示すものとする。必要ではなくとも、本発
明は、一般的にコンピュータで実行可能なインストラクション、例えばパーソナ
ルコンピュータにおいて実行されるプログラムモジュール、として説明する。一
般的に、プログラムモジュールは、ルーチン、プログラム、オブジェクト、コン
ポーネント、データ構造などを含んでおり、これらは特定のタスクを実行したり
、特定の抽象データ型を実行したりする。さらには、当業者であれば、本発明が
他のコンピュータシステム構成、例えば、携帯型デバイス、マルチプロセッサシ
ステム、マイクロプロセッサベースの又はプログラマブルの民生電子機器、ネッ
トワークPC、ミニコンピュータ、メインフレームコンピュータなど、においても
実施可能であることが理解できる。本発明はまた、通信ネットワークを通じてリ
ンクされた遠隔処理デバイスによりタスクを実行する分散コンピューティング環
境において実施することもできる。分散コンピューティング環境において、プロ
グラムモジュールはローカル及びリモート両方のメモリ記憶デバイスに配置して
おくことができる。
【0014】 図1において、本発明を実行するための模範的なシステムは、汎用コンピュー
ティングデバイスとして従来のパーソナルコンピュータ20を有しており、パーソ
ナルコンピュータ20は、プロセシングユニット21、システムメモリ22、及びシス
テムメモリとプロセシングユニット21との接続を含む、様々なシステムコンポー
ネントを接続するバスシステム23を含む。システムバス23には、メモリバス又は
メモリコントローラ、周辺バス、及び様々なバスアーキテクチャを使用したロー
カルバスを含む数種類のバス構造のうちいずれかを用いることができる。システ
ムメモリは、読み取り専用メモリ(ROM)24及びランダムアクセスメモリ(RAM)25を
含む。ROM24は、起動時などにパーソナルコンピュータ20内の要素間の情報伝送
を促進する基本的ルーチンを含む基本入出力システム(BIOS)26を記憶している。
パーソナルコンピュータ20はさらに、ハードディスク(図示せず)に読み書きす
るためのハードディスクドライブ27、リムーバブルな磁気ディスク29に読み書き
するための磁気ディスクドライブ28、及びCD-ROMその他の光メディアなどのリム
ーバブル光ディスク31に読み書きするための光ディスクドライブ30を含む。
【0015】 ハードディスクドライブ27、磁気ディスクドライブ28、及び光ディスクドライ
ブ30は、それぞれ、ハードディスクドライブインターフェイス32、磁気ディスク
ドライブインターフェイス33、及び光ディスクドライブインターフェイス34によ
りシステムバス23に接続される。これらのドライブ及び対応するコンピュータで
読み取り可能なメディアは、パーソナルコンピュータ20が使用する、コンピュー
タで読み取り可能なインストラクション、データ構造、プログラムモジュールそ
の他のデータの不揮発性記憶を可能にする。ここで記載する模範的な環境では、
ハードディスク、リムーバブル磁気ディスク29、及びリムーバブル光ディスク31
を用いているが、当業者であれば、コンピュータによりアクセス可能なデータを
記憶することが可能な、他の種類のコンピュータで読み取り可能なメディア、例
えば、磁気カセット、フラッシュメモリカード、デジタルビデオディスク、Bern
oulliカートリッジ、ランダムアクセスメモリ、読み取り専用メモリなどを模範
的実行環境に用いることができるだろう。
【0016】 オペレーティングシステム35、1以上のアプリケーションプログラム36、他の
プログラムモジュール37及びプログラムデータ38を含む多数のプログラムモジュ
ールをハードディスク、磁気ディスク29、光ディスク31、ROM24又はRAM25に記憶
しておくことができる。オペレーティングシステム35は、ユーザプログラムによ
り設定されるスレッド優先度レベルに従ってスレッドの実行を自動的にスケジュ
ールするスレッドスケジューラを含むことができる。ユーザは、キーボード40及
びポインティングデバイス42などの入力装置によりパーソナルコンピュータ20に
コマンド及び情報を入力することができる。他の入力装置(図示せず)には、マ
イクロフォン、タッチパネル、ジョイスティック、ゲームパッド、衛星放送受信
アンテナ、スキャナなどが含まれる。これら及び他の入力装置は、システムバス
に接続されたシリアルポートインターフェイス46を介してプロセシングユニット
21に接続されることが多いが、他にも、パラレルポート、ゲームポート又はユニ
バーサルシリアルバス(USB)などのインターフェイスによっても接続することが
できる。システムバスにはまた、ビデオアダプタ48などのインターフェイスを介
して、モニタ47又は他の種類の表示装置が接続される。典型的には、パーソナル
コンピュータは、モニタに加えて、スピーカ及びプリンタ等の他の周辺出力装置
(図示せず)を含む。
【0017】 パーソナルコンピュータ20は、リモートコンピュータ49などの1以上のリモー
トコンピュータとの論理的接続を用いたネットワーク環境において動作すること
ができる。リモートコンピュータ49は、パーソナルコンピュータ、サーバ、ルー
タ、ネットワークPC、ピアデバイスその他の一般的なネットワークノードなどで
あり、典型的には、上記で説明したパーソナルコンピュータ20に関連する要素の
多数又は全て(図1にはメモリ記憶装置50しか示していないが)を含むことがで
きる。図1に示す論理的接続は、ローカルエリアネットワーク(LAN)51、ワイド
エリアネットワーク(WAN)52、及びシステムエリアネットワーク(SAN)53を含む。
ローカル及びワイドエリアネットワーク環境はオフィスにおいて普及しており、
企業規模のコンピュータネットワークではイントラネット及びインターネットが
普及している。
【0018】 システムエリアネットワーク環境は、例えばクラスタなどであり、分散コンピ
ューティングシステム内のノードを相互接続するのに用いられる。例えば、本実
施形態において、パーソナルコンピュータ20はクラスタ内の第1ノードを含み、
リモートコンピュータ49はクラスタ内の第2ノードを含むことができる。このよ
うな環境では、パーソナルコンピュータ20及びリモートコンピュータ49は、共通
の管理ドメイン下に置かれるのが好ましい。コンピュータ49は「リモート」と名
づけているが、パーソナルコンピュータ20と物理的に近い所にあってもよい。
【0019】 LAN又はSANネットワーク環境において使用する場合、パーソナルコンピュータ
20は、ネットワークインターフェイスアダプタ54及び54aを通じて、ローカルネ
ットワーク51又はシステムネットワーク53に接続される。ネットワークインター
フェイスアダプタ54及び54aは、プロセシングユニット55及び55a、並びに1以上
のメモリユニット56及び56aを含んでいてもよい。
【0020】 WANネットワーク環境において使用する場合、パーソナルコンピュータ20は、
モデム58、又は他のWAN52上に通信を確立するための手段を有するのが典型であ
る。モデム58は内部にあっても外部にあってもよく、シリアルポートインターフ
ェイス46を介してシステムバス23に接続される。ネットワーク環境においては、
パーソナルコンピュータ20に関連して上述したプログラムモジュール、又はそれ
らの一部は、リモートメモリ記憶装置に記憶されていてもよい。ここで示すネッ
トワーク接続は模範的なものであり、この他の、コンピュータ間で通信リンクを
確立するための手段を用いてもかまわない。
【0021】 図2は、本発明の実施形態による複雑な科学的問題を解決するためのスレッド
ベースのシステムを示す図である。図2において、このシステムは、複数のクラ
イアントノード200、サーバノード202、及びジョブデータベース204を含む。ク
ライアントノード200及びサーバノード202は、図1に示すパーソナルコンピュー
タ20に似たような構成を有していてもよい。ジョブデータベース204もまた、図
1に示すパーソナルコンピュータ20に似たようなフロントエンドコンピュータを
含んでいてもよい。本実施形態において、クライアントノード200はイーサーネ
ット(登録商標)206を介して接続されている。しかしながら、本発明はイーサ
ーネット(登録商標)を介したクライアントの相互接続に限定されるものではな
い。あらゆるローカルエリアネットワーク技術を用いることができるが、例えば
、他の実施形態においては、トークンリング又はFDDIを用いてもよい。
【0022】 各クライアントノード200はコンピュータで実行可能なインストラクションを
含んでおり、このインストラクションは、クライアントノード200のオペレーテ
ィングシステムによるアイドルスレッドのスケジューリングに基づいて、サーバ
ノード202から作業を引き出す。サーバノード202は、クライアント200からのハ
イパーテキスト転送プロトコル(HTTP)GETリクエストに応答する従来のウェブサ
ーバであってもよい。
【0023】 本発明は、ウェブサーバを用いてクライアントにデータ及びジョブを提供する
のみ限定されるものではない。例えば、本発明の他の実施形態では、サーバ202
はファイル転送プロトコル(FTP)サーバとすることができる。クライアントノー
ドが、FTP又はHTTPなどの標準ライブラリにより利用可能なプロトコルを用いる
ので、クライアントプログラムの複雑さが低減される。
【0024】 図3は、本発明のプロセスを実行するための模範的ステップを示す図である。
このプロセスは、クライアント200がサーバ202からジョブ及びデータを引き出す
ことにより実行される。図3を参照すると、ステップST1において、第1アイドル
スレッドを生成するコードを含むプロセスを開始する。クライアントノードにオ
ペレーティングシステムをロードするときに、このプロセスもクライアントノー
ドにロードすることができる。オペレーティングシステムが開始するとプロセス
が自動的に開始するようにしてもよい。サーバからデータを引き出すためのコー
ドをアイドルスレッド上にスケジュールしているため、全てのユーザ優先スレッ
ドが実行されるかスリープしないと、このスレッドは実行しない。オペレーティ
ングシステムがスレッドをスケジュールする模範的なメカニズムを、以下にさら
に詳細に説明する。
【0025】 ステップST2において、オペレーティングシステムはアイドルスレッドの実行
をスケジュールする。ステップST3において、クライアントノードはサーバをク
エリーして利用可能なジョブがあるかどうかを判断する。ステップST4において
、ジョブが利用可能でない場合には、クライアントノードはスレッドの実行がス
ケジュールされている限りチェックを続ける。ユーザスレッドがスケジュールさ
れるかウェイクアップされると、クエリーを自動的に停止する。
【0026】 ステップST4において、クライアントノードが、ジョブが利用可能であるとの
応答をサーバから受信した場合、次のステップST5において、クライアントノー
ドはサーバからジョブ記述を引き出す。上記のように、サーバからジョブ記述を
引き出すステップは、HTTPにおけるGETリクエストをサーバに送信するステップ
を含んでいてもよい。ステップST6において、クライアントノードは、ジョブ記
述により特定されるジョブを実行するジョブプログラムがクライアントノードに
あるかどうかを判断する。必要なプログラムが存在しない場合には、ステップST
7において、クライアントノードはジョブプログラムをサーバから引き出す。
【0027】 ステップST8において、クライアントノードはオペレーティングシステムアイ
ドルスレッドを生成してジョブプログラムを実行する。第1スレッド上で実行さ
れるプログラムのmain()関数に含まれる下記の数行のコードによってこれを行っ
てもよい。
【0028】 hRunnning Thread = CreateThread(NULL, 0, &RunningThreadProc, (void*)this, CREATE_SUSPEND, &lThreadID); SetThreadPriority(hRunningThread, THREAD_PRIORITY_IDLE); ResumeThread(hRunningThread); 上記のコードにおいて、コマンドは、WINDOWS(登録商標)オペレーティングシ
ステムに特化したC++コマンドである。しかしながら、UNIX(登録商標)ベース
のオペレーティングシステムなど、他のオペレーティングシステムにおいても同
様のコマンドを用いることができることは、当業者にとって明らかである。本例
では、スレッドにより実行すべき関数のアドレスを特定するパラメータをCreate
Thread関数に渡すようになっている。本例では、このパラメータは、&RunningTh
readProcである。SetThreadPriorityは、スレッドの優先度をアイドルにセット
する。ResumeThread関数は、スレッドサスペンドカウントをデクリメントする。
サスペンドカウントが0になると、スレッドの実行が再開される。ResumeThread
関数を用いる理由は、優先度のセットを可能にするためにスレッドがサスペンド
状態で生成されるからである。
【0029】 ジョブ実行スレッドを生成した後、オペレーティングシステムがスケジュール
するまでこのスレッドは実行されない。これは図3のST9に示すとおりである。
ステップST10において、オペレーティングシステムがジョブ実行スレッドをスケ
ジュールすると、ジョブプログラムが実行される。ステップST11において、ジョ
ブプログラムはサーバから入力データを引き出す。ジョブ記述により特定される
問題によりこのようなアクションを行うことができ、アイドルスレッドがオペレ
ーティングシステムによりスケジュールされたジョブプログラムを有する場合に
、入力データは解決される。問題の解決は、ジョブが完了する(スケジュールST
13)か、又は他の高優先度スレッドがスケジュールされるまで続けられる。高優
先度スレッドがスケジュールされると、オペレーティングシステムはアイドルス
レッドのコンテキストをセーブし、高優先度スレッドを実行した後、アイドルス
レッドの実行に復帰する。ステップST14において、ジョブを完了すると、ジョブ
プログラムは結果をサーバに送出する。HTTP又はFTPにおけるPUTリクエストによ
りこれを行うことができる。
【0030】 図3に示す実施形態では、オペレーティングシステムが第1及び第2アイドルス
レッドをスケジュールして複雑な科学的タスクを実行する例を示したが、本発明
は2つのアイドルスレッドを使用する例に限定されるわけではない。例えば、1つ
又は3つ以上のスレッドを用いることもできる。さらに、これらのスレッドはア
イドルスレッドである必要はない。本発明の目的において必要なのは、スレッド
の優先順位をユーザスレッドよりも低くしてユーザスレッドへの影響を最小化す
ることと、オペレーティングシステムによりスレッドを自動的にスケジュールす
ることだけである。
【0031】 したがって、図3に示すように、本発明は、オペレーティングシステムの自動
スレッドスケジューリング機構を利用して、サーバからのジョブデータ及びプロ
グラムの引き出し、ジョブの実行、及びサーバへの結果の返送を制御するもので
ある。オペレーティングシステムの自動スケジューリング処理を用いてスケジュ
ーリングを行うので、ユーザ及びユーザのコンピュータへの影響は最小限にとど
められる。
【0032】 オペレーティングシステムのよるスレッド実行の自動スケジューリング オペレーティングシステムにより、サーバからの作業を引き出すスレッドをスケ
ジュールするのが本発明の重要な特徴であるから、このような自動的スケジュー
リングについて以下に述べる。以下の記述は、WINDOWS(登録商標)NTオペレー
ティングシステムがいかにしてスレッドを自動的にスケジュールするかを説明す
るものである。しかしながら、上述のとおり、本発明はWINDOWS(登録商標)NT
オペレーティングシステムに限定されるものではない。他のオペレーティングシ
ステム、例えばLINUX(登録商標)その他のUNIXベースのオペレーティングシス
テムを用いることもできる。本発明を実行するにあたっては、スレッド間で優先
度をセットできる自動スレッドスケジューリング機構を含んでさえいれば、あら
ゆるオペレーティングシステムを用いることができる。
【0033】 WINDOWS(登録商標)NTオペレーティングシステムにおいて、マイクロカーネ
ルは、レディ(ready)スレッドを、それらの動的優先度に基づいてプロセッサ時
間に割り当てる。優先度は、タスクの重要性を表す1から31の数値である。最高
優先度のスレッドは、より低優先度のスレッドを中断してでも、常にプロセッサ
上で稼動するようになっている。優先度はヒエラルキー状に構成される。優先度
ヒエラルキーの各レベルは、より低優先度が変化し得る範囲(レンジ)を規定す
る。
【0034】 1- プロセスのベース優先度クラスは、プロセス及びそのスレッドのベース優先度に
レンジを規定する。ベース優先度クラスはアイドル、ノーマル、ハイ、及びリア
ルタイムからなり、それぞれは、時折両端において重なり合うベース優先度の数
値レンジを表している。ベース優先度クラスはアプリケーションコード内にセッ
トされる。ベース優先度クラスをセットすることができる模範的アプリケーショ
ンコードは以下のとおりである。
【0035】 SetPriorityClass(::GetCurrentProcess(), IDLE_PRIORITY_CLASS); SetThreadPriority(::GetCurrentThread(), THREAD_PRIORITY_IDLE); オペレーティングシステムはベース優先度クラスは変更しないが、クラス内のベ
ース優先度を変更してユーザに対するプロセスの応答を向上させる。
【0036】 2- プロセスのベース優先度は、そのプロセスのベース優先度クラスにより規定され
るレンジ内で変化する。ユーザがプロセスとやり取りをするとき(プロセスウイ
ンドウはWINDOWS(登録商標)スタックの最上部にある)、WINDOWS(登録商標)
NTはプロセスのベース優先度を高めて応答を最大限にする。スレッドのベース優
先度は、そのスレッド内で実行されるプロセスのベース優先度の関数である。ア
イドル及びリアルタイムのスレッドを除いて、スレッドのベース優先度は、その
プロセスのベース優先度から+/-2の範囲内のみで変化する。
【0037】 3- スレッドの動的優先度は、そのスレッドのベース優先度の関数である。WINDOWS
(登録商標)NTは、スレッドのベース優先度により規定されるレンジ内で、スレ
ッドの動的優先度を継続的に調整する。これにより、ユーザに対するシステムの
応答が最適化されるとともに、システムサービスの需要と、他のより低優先度の
プロセスの需要とを、簡易にバランスさせることができる。
【0038】 以下に示すのは、ベース優先度クラス及び関連するスレッドのプロバティを示
すテーブルである。
【0039】
【表1】 コンテキストスイッチ 上述したように、スケジューラは各優先度レベルについて実行可能なスレッド
のキューを保持している。プロセッサが利用可能となると、システムはコンテキ
ストスイッチを実行する。コンテキストスイッチにおけるステップは、以下のと
おりである。
【0040】 ・直前に実行完了したスレッドのコンテキストをセーブする ・直前に実行完了したスレッドを、そのスレッドの優先度に応じたキューの最後
に配置する ・実行可能なスレッドを含む最も優先度の高いキューを検索する ・キューの先頭及び最後のスレッドを除去し、そのコンテキストをロードし、こ
れを実行する コンテキストスイッチが実行されるのは、以下の場合である。
【0041】 ・タイムスライスが経過したとき ・より高優先度のスレッドが実行可能となったとき ・実行中のスレッドを中断する必要が生じたとき ・実行中のスレッドを中断する必要が生じたときには、タイムスライスの残部を
破棄する 図4は、本発明の実施形態において、クライアント上で発生するスレッドスケ
ジューリングを示すブロック図である。図4において、オペレーティングシステ
ム400は、1以上のマイクロプロセッサ上でのスレッドの実行をスケジュールする
スレッドスケジューラ402を含んでいる。スレッドスケジューラ402は複数のキュ
ー406a〜406nを保持している。本例では、キュー406aは優先度レベル31の実行可
能なスレッドを含んでいる。ここで、優先度レベル31はWINDOWS(登録商標)NT
オペレーティングシステムにおける最高優先度レベルである。キュー406bは、2
番目に高い優先度レベル30のスレッドを含んでいる。最後に、キュー406nは、ア
イドルスレッドなどのより低優先度レベルのスレッドを含んでいる。サーバから
ジョブを引き出しジョブプログラムを実行するプログラムは、キュー406n内に存
在する。
【0042】 上述のとおり、スレッドスケジューラ402は、より低優先度のキューからスレ
ッドをスケジュールする前に、より高優先度のキューからスレッドをスケジュー
ルする。本例では、スレッドスケジューラ402はキュー406aの先頭からスレッド1
を引き出している。これは、スレッド1が最高優先度のキューの先頭スレッドだ
からである。キュー406a及び406b内の全てのスレッドは、キュー406n無いのスレ
ッドよりも先に実行される。ユーザプロセスはより高優先度のスレッドであるた
め、サーバからジョブデータを引き出しジョブを実行するプログラムは、ユーザ
に最小限の影響しか与えないようになっている。
【0043】 科学的応用 上述のとおり、本発明の1以上のネットワーク化されたコンピュータの余剰の処
理能力を利用するための方法及びシステムは、複雑な科学的問題を解決するのに
利用することができる。このような問題を解決する際に、ネットワークを通じて
送信されるデータを最小化するとともに、クライアントが実行する計算を最大化
するのが好ましい。本発明の実施形態を利用して解決することができる科学的問
題の代表例は、分子の立体配座の決定である。例えば、大規模な製薬企業は数千
種の分子のコレクションを有していることがある。1つのコンピュータでこれら
の分子全ての立体的特性の決定を行うとすると、1年間かそれ以上かかることに
なる。したがって、このタスクをクライアントコンピュータ間で分割するのが望
ましい。再び図2において、ジョブデータベース204に分子コレクションを記憶
しておくことができる。各分子は文字列で表すことができる。クライアントノー
ド200は、ウェブサーバ202を介して、ジョブデータベース204から単一分子又は
複数分子のサブセットを引き出すことができる。ノード200は分子表現を受信す
ると、各分子について複雑な計算を実行する。その後、計算結果をウェブサーバ
202に返送する。ノードの余剰処理能力を用いて、分子コレクションの処理を複
数のノードにわたって分散することができるので、この処理を実行するために必
要な時間及び費用を低減することができる。
【0044】 本発明のスレッドベースの方法及びシステムの他の代表的応用例は、分子コレ
クション内の分子の特性を計算することである。このような例では、クライアン
トノード200はジョブデータベース204から分子に関する記述を引き出す。次に、
クライアントノード200は、分子量、原子間距離、表面積、又は特定のタンパク
質との結合能などの特性を計算するプログラムを実行する。
【0045】 尚、本発明の様々な詳細部分については、本発明の要旨を逸脱しない範囲内に
おいて変更を加えることができる。さらに、上記の記載は単に例示を目的として
おり、特許請求の範囲に定義する本発明の範囲を限定するものではない。
【0046】
【発明の効果】
以上、説明したように本発明の請求項1〜29記載のスレッドベースの方法及
びシステムによれば、という優れた効果を奏し得る。
【図面の簡単な説明】
【図1】 本発明の実施形態の実行環境を例示するブロック図である。
【図2】 本発明の実施形態による複雑な科学的問題を解決するためのスレッドベースの
方法及びシステムの概略図である。
【図3】 本発明の実施形態において、クライアントがサーバからジョブを引き受け、オ
ペレーティングシステムにより自動的にスケジュールされたスレッドを用いてジ
ョブが要求する作業を実行する場合の模範的なステップを示すフロー図である。
【図4】 本発明の実施形態において複雑な科学的問題を解決するために用いられる、オ
ペレーティングシステムによるスレッドの自動スケジューリングを示すブロック
図である。
【符号の説明】
20 パーソナルコンピュータ 21 プロセシングユニット 22 システムメモリ 23 システムバス 27 ハードディスクドライブ 28 磁気ディスクドライブ 29 磁気ディスク 30 光ディスクドライブ 31 光ディスク 32 ハードディスクドライブインターフェイス 33 磁気ディスクドライブインターフェイス 34 光ディスクドライブインターフェイス 35 オペレーティングシステム 36 アプリケーションプログラム 37 プログラムモジュール 38 プログラムデータ 40 キーボード 42 ポインティングデバイス 46 シリアルポートインターフェイス 47 モニタ 48 ビデオアダプタ 49 リモートコンピュータ 50 メモリ記憶装置 51 ローカルネットワーク 53 システムネットワーク 54 ネットワークインターフェイスアダプタ 55 プロセシングユニット 56 メモリユニット 58 モデム 200 クライアントノード 202 ウェブサーバ 204 ジョブデータベース 400 オペレーティングシステム 402 スレッドスケジューラ 406a〜406n キュー
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE,TR),OA(BF ,BJ,CF,CG,CI,CM,GA,GN,GW, ML,MR,NE,SN,TD,TG),AP(GH,G M,KE,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,B Z,CA,CH,CN,CR,CU,CZ,DE,DK ,DM,DZ,EE,ES,FI,GB,GD,GE, GH,GM,HR,HU,ID,IL,IN,IS,J P,KE,KG,KP,KR,KZ,LC,LK,LR ,LS,LT,LU,LV,MA,MD,MG,MK, MN,MW,MX,MZ,NO,NZ,PL,PT,R O,RU,SD,SE,SG,SI,SK,SL,TJ ,TM,TR,TT,TZ,UA,UG,US,UZ, VN,YU,ZA,ZW (72)発明者 キーファー,クリストファー,イー. アメリカ合衆国 27709 ノースカロライ ナ州,リサーチ トライアングル パー ク,ピーオー ボックス 13398,ファイ ブ ムーア ドライブ,グラクソスミスク ライン (72)発明者 マーフィー,ステファン アメリカ合衆国 27560 ノースカロライ ナ州,モリスヴィル,スプリング ガーデ ン ドライブ 1423 (72)発明者 シンプキンス,ジョセフ,ディー. アメリカ合衆国 27709 ノースカロライ ナ州,リサーチ トライアングル パー ク,ピーオー ボックス 13398,ファイ ブ ムーア ドライブ,グラクソスミスク ライン (72)発明者 ヤング,シドニー,スタンレイ アメリカ合衆国 27709 ノースカロライ ナ州,リサーチ トライアングル パー ク,ピーオー ボックス 13398,ファイ ブ ムーア ドライブ,グラクソスミスク ライン Fターム(参考) 5B045 AA07 BB28 BB42 GG11 5B098 AA10 GA02 GA08 GC04 GC11

Claims (29)

    【特許請求の範囲】
  1. 【請求項1】 ネットワーク化された1以上のコンピュータの余剰の処理能
    力を用いて複雑な問題を解決するためのスレッドベースの方法であって、 (a) クライアントコンピュータにおいて、複雑な問題のサブパートに関するジョ
    ブ記述をサーバから引き出すスレッドを開始するステップと、 (b) 前記クライアントコンピュータ上で実行されるオペレーティングシステムが
    提供するスレッドスケジューラに前記スレッドの実行を自動的にスケジュールさ
    せるステップと、 (c) 前記サーバからのデータ受信に応じて、前記サーバからジョブデータを引き
    出し、前記ジョブ記述により特定されるサブパートを解決するステップと、 を含む方法。
  2. 【請求項2】 前記複雑な問題のサブパートに関するジョブ記述をサーバか
    ら引き出すステップは、ハイパーテキスト転送プロトコル(HTTP)におけるGETリ
    クエストをウェブサーバに送信するステップを含むことを特徴とする請求項1に
    記載の方法。
  3. 【請求項3】 前記複雑な問題のサブパートに関するジョブ記述をサーバか
    ら引き出すステップは、ファイル転送プロトコル(FTP)におけるGETリクエストを
    FTPサーバに送信することを含むステップを特徴とする請求項1に記載の方法。
  4. 【請求項4】 前記スレッドを開始するステップは、あらゆるユーザスレッ
    ドよりも低い優先度を前記スレッドに割り当てるステップを含むことを特徴とす
    る請求項1に記載の方法。
  5. 【請求項5】 前記スレッドスケジューラは、前記スレッドに割り当てられ
    た優先度基づいて前記スレッドの実行をスケジュールすることを特徴とする請求
    項4に記載の方法。
  6. 【請求項6】 前記スレッドは、前記ジョブ記述において特定されるジョブ
    プログラムが前記クライアントコンピュータに存在するかどうかを判断し、前記
    ジョブプログラムが前記クライアントコンピュータに存在しないと判断すると、
    前記スレッドは前記ジョブプログラムを前記サーバコンピュータから引き出すこ
    とを特徴とする請求項1に記載の方法。
  7. 【請求項7】 前記ジョブプログラムを前記サーバコンピュータから引き出
    すステップは、ハイパーテキスト転送プロトコル(HTTP)におけるGETリクエスト
    をウェブサーバに送信するステップを含むことを特徴とする請求項6に記載の方
    法。
  8. 【請求項8】 前記ジョブプログラムを前記サーバから引き出すステップは
    、ファイル転送プロトコル(FTP)におけるGETリクエストをFTPサーバに送信する
    ステップを含むことを特徴とする請求項6に記載の方法。
  9. 【請求項9】 前記複雑な問題は、コレクション内の分子の特性の計算を含
    み、前記サーバからデータを引き出すステップは、前記コレクションから単分子
    の表現又は分子のサブセットの表現を引き出すステップを含むことを特徴とする
    請求項1に記載の方法。
  10. 【請求項10】 前記コレクション内の分子の特性の計算は、前記分子が所
    定のタンパク質と結合するかどうかの判定を含むことを特徴とする請求項9に記
    載の方法。
  11. 【請求項11】 前記コレクション内の分子の特性の計算は、前記分子コレ
    クション内の各分子の立体配座の決定を含むことを特徴とする請求項9に記載の
    方法。
  12. 【請求項12】 ネットワークを通じて接続された1以上のコンピュータの
    余剰の処理能力を用いて複雑な問題を解決するためのスレッドベースのシステム
    であって、 (a) 複雑な問題に関するデータ及びジョブを記憶し、前記データ及びジョブ記述
    をクライアントからのリクエストに応じて該クライアントに提供するためのコン
    ピュータで実行可能なインストラクションを含むサーバと、 (b) 前記サーバからジョブ記述を引き出すスレッドを開始し、前記サーバからデ
    ータを引き出し、オペレーティングシステムに前記スレッドの実行をスケジュー
    ルさせるためのコンピュータで実行可能なインストラクションを含むクライアン
    トと、 を含むシステム。
  13. 【請求項13】 前記サーバは、ハイパーテキスト転送プロトコル(HTTP)サ
    ーバを含むことを特徴とする請求項12に記載の方法。
  14. 【請求項14】 前記サーバは、ファイル転送プロトコル(FTP)サーバを含
    むことを特徴とする請求項12に記載の方法。
  15. 【請求項15】 前記スレッドはアイドルスレッドを含むことを特徴とする
    請求項12に記載の方法。
  16. 【請求項16】 前記複雑な問題は、分子コレクション内の分子の特性の計
    算を含み、前記クライアントは、前記サーバの前記コレクションから単分子又は
    分子のサブセットの表現を引き出すようになっていることを特徴とする請求項1
    2に記載の方法。
  17. 【請求項17】 前記コレクション内の分子の特性の計算は、前記分子コレ
    クション内の各分子の立体配座の決定を含むことを特徴とする請求項16に記載
    の方法。
  18. 【請求項18】 前記コレクション内の分子の特性の計算は、前記分子が所
    定のタンパク質と結合するかどうかの判定を含むことを特徴とする請求項16に
    記載の方法。
  19. 【請求項19】 コンピュータで読み取り可能なメディアにおいて実体化さ
    れるコンピュータで実行可能なインストラクションを含むコンピュータプログラ
    ム製品であって、 (a) クライアントコンピュータにおいて、複雑な問題のサブパートに関するジョ
    ブ記述をサーバから引き出すスレッドを開始するステップと、 (b) 前記クライアントコンピュータ上で実行されるオペレーティングシステムに
    より提供されるスレッドスケジューラに、前記スレッドの実行を自動的にスケジ
    ュールさせるステップと、 (c) 前記サーバからのデータ受信に応じて、前記サーバからジョブデータを引き
    出し、前記ジョブ記述により特定されるサブパートを解決するステップと、 を含むコンピュータプログラム製品。
  20. 【請求項20】 前記複雑な問題のサブパートに関するジョブ記述をサーバ
    から引き出すステップは、ハイパーテキスト転送プロトコル(HTTP)におけるGET
    リクエストをウェブサーバに送信するステップを含むことを特徴とする請求項1
    9に記載のコンピュータプログラム製品。
  21. 【請求項21】 前記複雑な問題のサブパートに関するジョブ記述をサーバ
    から引き出すステップは、ファイル転送プロトコル(FTP)におけるGETリクエスト
    をFTPサーバに送信するステップを含むことを特徴とする請求項19に記載のコ
    ンピュータプログラム製品。
  22. 【請求項22】 前記スレッドを開始するステップは、あらゆるユーザスレ
    ッドよりも低い優先度を前記スレッドに割り当てるステップを含むことを特徴と
    する請求項19に記載のコンピュータプログラム製品。
  23. 【請求項23】 前記スレッドスケジューラは、前記スレッドに割り当てら
    れた前記優先度に基づいて前記スレッドの実行をスケジュールすることを特徴と
    する請求項22に記載のコンピュータプログラム製品。
  24. 【請求項24】 前記スレッドは、前記ジョブ記述において特定されるジョ
    ブプログラムが前記クライアントコンピュータに存在するかどうかを判断し、前
    記ジョブプログラムが前記クライアントコンピュータに存在しないと判断すると
    、前記スレッドは前記ジョブプログラムを前記サーバコンピュータから引き出す
    ことを特徴とする請求項19に記載のコンピュータプログラム製品。
  25. 【請求項25】 前記ジョブプログラムを前記サーバコンピュータから引き
    出すステップは、ハイパーテキスト転送プロトコル(HTTP)におけるGETリクエス
    トをウェブサーバに送信するステップを含むことを特徴とする請求項24に記載
    のコンピュータプログラム製品。 請求項6に記載の方法。
  26. 【請求項26】 前記ジョブプログラムを前記サーバから引き出すステップ
    は、ファイル転送プロトコル(FTP)におけるGETリクエストをFTPサーバに送信す
    るステップを含むことを特徴とする請求項24に記載のコンピュータプログラム
    製品。
  27. 【請求項27】 前記複雑な科学的問題は、コレクション内の分子の特性の
    計算を含み、前記サーバからデータを引き出すステップは、前記コレクションか
    ら単分子の表現又は分子のサブセットの表現を引き出すステップを含むことを特
    徴とする請求項19に記載のコンピュータプログラム製品。
  28. 【請求項28】 前記コレクション内の分子の特性の計算は、前記コレクシ
    ョン内の各分子の立体配座の決定を含むことを特徴とする請求項27に記載のコ
    ンピュータプログラム製品。
  29. 【請求項29】 前記コレクション内の分子の特性の計算は、前記分子が所
    定のタンパク質と結合するかどうかの判定を含むことを特徴とする請求項27に
    記載のコンピュータプログラム製品。
JP2001540461A 1999-11-29 2000-11-29 ネットワーク化された1以上のコンピュータの余剰の処理能力を用いて複雑な科学的問題を解決するためのスレッドベースの方法及びシステム Pending JP2003515807A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16792599P 1999-11-29 1999-11-29
US60/167,925 1999-11-29
PCT/US2000/032535 WO2001038973A2 (en) 1999-11-29 2000-11-29 Thread-based methods and systems for using the idle processing power of one or more networked computers to solve complex scientific problems

Publications (1)

Publication Number Publication Date
JP2003515807A true JP2003515807A (ja) 2003-05-07

Family

ID=22609386

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001540461A Pending JP2003515807A (ja) 1999-11-29 2000-11-29 ネットワーク化された1以上のコンピュータの余剰の処理能力を用いて複雑な科学的問題を解決するためのスレッドベースの方法及びシステム

Country Status (8)

Country Link
EP (1) EP1234230B1 (ja)
JP (1) JP2003515807A (ja)
AT (1) ATE249068T1 (ja)
AU (1) AU1807801A (ja)
CA (1) CA2396442A1 (ja)
DE (1) DE60005051T2 (ja)
ES (1) ES2206329T3 (ja)
WO (1) WO2001038973A2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008547106A (ja) * 2005-06-27 2008-12-25 マイクロソフト コーポレーション 検索用バックオフメカニズム
JP2014501010A (ja) * 2010-11-29 2014-01-16 インターナショナル・ビジネス・マシーンズ・コーポレーション サーバ側の処理能力を拡張するための方法及び装置

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6952714B2 (en) 2001-10-02 2005-10-04 Citrix Systems, Inc. Method for distributed program execution with server-based file type association
US7330872B2 (en) 2001-10-02 2008-02-12 Citrix Systems, Inc. Method for distributed program execution with web-based file-type association
JP2005505051A (ja) * 2001-10-02 2005-02-17 サイトリックス システムズ,インコーポレイテッド クライアント−サーバネットワークにおいてファイルタイプの関連性により分散型のプログラムの実行方法
US7117243B2 (en) 2001-10-02 2006-10-03 Citrix Systems, Inc. Methods for distributed program execution with file-type association in a client-server network
US7853669B2 (en) * 2007-05-04 2010-12-14 Microsoft Corporation Mesh-managing data across a distributed set of devices
CN111681703A (zh) * 2020-05-09 2020-09-18 北京纽伦智能科技有限公司 一种蛋白结构的对接方法及分布式蛋白结构对接系统
CN113434273B (zh) * 2021-06-29 2022-12-23 平安科技(深圳)有限公司 数据处理方法、装置、系统及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4631674A (en) * 1985-02-05 1986-12-23 International Business Machines Corporation Active wait

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008547106A (ja) * 2005-06-27 2008-12-25 マイクロソフト コーポレーション 検索用バックオフメカニズム
JP2014501010A (ja) * 2010-11-29 2014-01-16 インターナショナル・ビジネス・マシーンズ・コーポレーション サーバ側の処理能力を拡張するための方法及び装置
US9531636B2 (en) 2010-11-29 2016-12-27 International Business Machines Corporation Extending processing capacity of server

Also Published As

Publication number Publication date
DE60005051D1 (de) 2003-10-09
WO2001038973A2 (en) 2001-05-31
ATE249068T1 (de) 2003-09-15
AU1807801A (en) 2001-06-04
WO2001038973A3 (en) 2002-01-17
DE60005051T2 (de) 2004-07-08
CA2396442A1 (en) 2001-05-31
ES2206329T3 (es) 2004-05-16
EP1234230A2 (en) 2002-08-28
EP1234230B1 (en) 2003-09-03

Similar Documents

Publication Publication Date Title
JP3882930B2 (ja) 共用リソースを使用するための仮想計算機の管理
US7793297B2 (en) Intelligent resource provisioning based on on-demand weight calculation
EP2485146B1 (en) System and method for providing hardware virtualization in a virtual machine environment
US8024733B2 (en) Component model for batch computing in a distributed object environment
JP4606404B2 (ja) 計算資源管理プログラムおよび計算資源管理装置
US20070180453A1 (en) On demand application scheduling in a heterogeneous workload environment
US20060101224A1 (en) Autonomic self-tuning of database management system in dynamic logical partitioning environment
US20080140937A1 (en) System and Methodology Providing Multiple Heterogeneous Buffer Caches
US20040167980A1 (en) Grid service scheduling of related services using heuristics
US20100251254A1 (en) Information processing apparatus, storage medium, and state output method
TW200818020A (en) Deploying virtual machine to host based on workload characterizations
US10142195B1 (en) Partitioned performance tracking core resource consumption independently
US20030033345A1 (en) Thread-based methods and systems for using the idle processing power of one or more networked computers to solve complex scientific problems
JP2003515807A (ja) ネットワーク化された1以上のコンピュータの余剰の処理能力を用いて複雑な科学的問題を解決するためのスレッドベースの方法及びシステム
US10033620B1 (en) Partitioned performance adaptive policies and leases
US20040215578A1 (en) Controlling usage of system resources by a network manager
Guo et al. The improved job scheduling algorithm of Hadoop platform
Andrews et al. Survey on job schedulers in hadoop cluster
Zhu et al. An experimental study of load balancing on Amoeba
US10148588B1 (en) Partitioned performance: using resource account aggregates to throttle at the granular level
Soundararajan et al. Online data migration for autonomic provisioning of databases in dynamic content web servers
Li et al. Cress: Dynamic scheduling for resource constrained jobs
Sobh et al. A tickless amp distributed core-based microkernel for big data
US11989586B1 (en) Scaling up computing resource allocations for execution of containerized applications
Abawajy Parallel job scheduling policies on cluster computing systems