JP5442999B2 - 計器に基づく分散計算方法 - Google Patents
計器に基づく分散計算方法 Download PDFInfo
- Publication number
- JP5442999B2 JP5442999B2 JP2008545725A JP2008545725A JP5442999B2 JP 5442999 B2 JP5442999 B2 JP 5442999B2 JP 2008545725 A JP2008545725 A JP 2008545725A JP 2008545725 A JP2008545725 A JP 2008545725A JP 5442999 B2 JP5442999 B2 JP 5442999B2
- Authority
- JP
- Japan
- Prior art keywords
- technical
- job
- instrument
- workers
- task
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3664—Environments for testing or debugging software
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
- Multi Processors (AREA)
- Computer And Data Communications (AREA)
Description
SYSTEMS IN TEST ENVIRONMENT(テスト環境における分散形システム)」(米国特許出願第11/028171号)と題した現在係属中の米国特許出願の一部継続出願であり、米国特許出願第11/028171号は、2004年7月21日付けで提出された「METHODS
AND SYSTEM FOR DISTRIBUTING TECHNICAL COMPUTING TASKS TO TECHNICAL COMPUTING
WORKERS(技術計算タスクを技術計算ワーカーへ分散する方法及びシステム)」(米国特許出願第10/896784号)と題した現在係属中の米国特許出願と、2004年8月24日付けで提出された「TEST
MANAGER FOR INTEGRATED TEST ENVIRONMENTS(統合テスト環境のためのテストマネージャ)」(米国特許出願第10/925,413号)との一部継続出願である。
MATLAB(登録商標)は、多様な産業分野にわたる技術者、科学者、数学者、及び教育者に技術的計算を応用するための環境を提供するマサチューセッツ州ナティック所在のThe MathWorks社の製品である。MATLAB(登録商標)は、数理計算、データ解析、視覚化、及びアルゴリズム開発用の数学的ツール及びグラフィカルツールを提供する直感的且つ高性能の言語及び技術計算環境である。MATLAB(登録商標)は、数値解析、行列計算、信号処理、及びグラフィックを使い勝手がよい環境で統合するものであり、この環境では問題と解が伝統的なプログラミングを用いることなく親しみがある数学的表記法で表現される。MATLAB(登録商標)は複雑な工学及び科学問題を解くために用いられ、その際に問題をシミュレートする数学モデルを構築することで解を得る。モデルは、多数の境界条件、データパラメータ、又は幾つかの初期推測の下で当該モデルを実行することでプロトタイプ化し、テストし、分析する。MATLAB(登録商標)では、こうしたモデルを容易に修正し、新たな変数をプロットし、或いは当該問題を迅速な対話型方式で再処理したりできる。これはFortranやC等の非解釈プログラミングでは一般的には不可能である。
本発明は、分散計算環境におけるデータの測定、分析、検証、及び妥当性確認を促進する、計器に基づいた分散計算システムを提供する。本発明では、前記計器に基づいた分散システムを用いることで、大規模の計算ジョブを分散的な様態で実行できる。前記計器に基づく分散計算システムは、ジョブを作成するクライアントを含むことができる。前記ジョブは1つ又複数のタスクを含む。前記クライアントは、前記ジョブの分散実行のため、前記ジョブの一部を1つ又は複数のリモートワーカーに分散できる。前記クライアントは計器内に存在していてもよい。又、前記ワーカーも計器内に存在していてもよい。前記ワーカーは前記ジョブの受信した部分を実行し、実行結果を前記クライアントに返すことができる。従って、本発明によって、ネットワークにおいて計器に基づいた分散システムを使用することで、前記ジョブを遂行し、前記ジョブの実行のための時間の減少を促進できる。
本発明の例示的な実施形態は、多数のコンピュータシステム上で複数の技術計算タスクを実行するため、当該タスクを技術計算クライアントから複数のリモート技術計算ワーカーに動的分散可能とする。タスクは技術計算クライアントで宣言し、付加的にジョブの中に編成できる。ジョブとはアクティビティの論理単位、すなわちひとまとまりで処理或いは/管理されるタスクである。タスクはMATLAB(登録商標)コマンドのような実行すべき技術計算コマンドと、引数の数と、引数への任意入力データとを定義する。ジョブとは1つ又は複数タスクのグループである。タスクは、技術計算クライアントが1つ又は複数の技術計算ワーカーに直接分散できる。技術計算ワーカーはタスクに技術計算を行い、結果を技術計算クライアントに返すことができる。
Instruments社からのLabVIEW(登録商標)若しくはMATRIXx、Wolfram Research社からのMathematica(登録商標)、Mathsoft
Engineering & Education社からのMathcad、又はWaterloo Maple社の一部門であるMaplesoftからのMaple(商標)など)における技術計算タスクの処理の分散に適用できることは、通常の技能を備えた当業者であれば理解するはずである。
RAMなどのランダムアクセス・メモリを含むことができる。メモリ106は、他の種類のメモリ又はそれらの組合せを含むこともできる。人間のユーザは、コンピュータモニタなどの視覚表示装置114を介して計算装置102と対話できる。計算装置102はグラフィカル・ユーザインタフェース(GUI)を含んでもよい。計算装置102は、キーボード110と例えばマウスなどのポインティング・デバイス112など、ユーザから入力を受け取る他の入出力装置とを含むことができる。随意選択で、キーボード110及びポインティング・デバイス112は視覚表示装置114に接続できる。計算装置102は、他の適切な従来の入出力周辺装置を含むこともできる。計算装置102は、MATLABに基づく分散計算アプリケーション120などのソフトウェア・プログラムを導入するのに適した任意適切な導入媒体116、CD-ROM、フロッピー(登録商標)ディスク、テープ装置、USB装置、ハードドライブ、又は他の任意適切な装置をサポートできる。計算装置102は、オペレーティングシステム及び他の関連したソフトウェアを記憶したり、本発明の一実施形態のMATLAB(登録商標)に基づく分散計算アプリケーション120などのアプリケーション・ソフトウェアプログラムを記憶したりするためのハードドライブ又はCD-ROMなどの記憶装置108を更に含んでもよい。更に、これらオペレーティングシステム及びMATLAB(登録商標)に基づく本発明の分散計算アプリケーション120は、例えばKNOPPIX(登録商標)などのブート可能なCDやGNU/Linux用のブート可能なCDから走らせることができる。
図3Dに示したバッチモードの自動タスク分散システム320の代表的な実施形態は、ジョブマネージャ265が自動タスク分散機構260を含む構成を示す。システム320を概括的に説明すると、技術計算クライアント250が、サーバ160上のジョブマネージャ265と通信している。ジョブマネージャ265は、サーバ160上でジョブマネージャ265の一部としてランする自動タスク分散機構260を含む。ジョブマネージャ265は、提出されたジョブを編成し且つ処理する待ち行列267も含む。技術計算ワーカー270A乃至270Nは、ジョブマネージャ265の自動タスク分散機構260からタスクを受け取るためジョブマネージャ265と通信している。
Microsystems社の技術であるJava(登録商標)spaceなどのオブジェクト交換リポジトリ662を含むことができ、これはSun
Microsystems社から同様に入手できるJiniネットワーク技術を用いてビルドできる。
shared memory solution)におけるような記憶場所又は識別子でなく連想型ルックアップにより探し出すことができるという点で連想型である。更に、スペースには、オブジェクトの交換を扱うために、オブジェクトリポジトリに対して行う少数の重要な演算がある。書き込み操作は、タスクオブジェクトなどのオブジェクトをそのスペースに書き込む。テイク(原語:take)操作は結果オブジェクトなどのオブジェクトをスペースから取り出す。テイクは読み取りと等しく、且つスペースからオブジェクトを除去する。読み出し操作はスペースからオブジェクトのコピーを入手し、そのオブジェクトはスペースにそのまま残しておく。他の操作によって、技術計算ワーカー、技術計算クライアント、及びジョブマネージャなどのリモートプロセスが、ある種のオブジェクトがスペースに現れた際にイベント通知を受け取るため登録可能となる。オブジェクトがスペースに現れるのは、プロセスがそのオブジェクトをスペースに書き込んだときである。リモートプロセスはスペース内にオブジェクトが現れたかどうかをリッスンし、オブジェクトが現れるとスペースが登録済みリモートプロセスに通知する。
MicrosystemsのJiniネットワーク技術を使用するものがある。Jiniネットワーク技術はJava(登録商標)Spaces技術及びJini拡張可能リモート呼び出しを含むものであり、ネットワーク中心サービスを作り出すことを可能にするオープンアーキテクチャである。Jini技術は、サービスがネットワークを介して使用可能であることをそのサービス自身に公表させることで分散計算を行う方法を提供する。クライアントや他のソフトウェアコンポーネントはこうした共用宣言されたサービスを発見し、発見したサービスにリモートメソッド呼び出しを行い、こうしたサービスが提供する機能にアクセスできる。従って、MATLAB(登録商標)に基づく分散計算アプリケーションのソフトウェアコンポーネントは、共用宣言を介して発見及びルックアップされうるサービスとして実装できる。
Technology Jiniネットワーク技術実装の一部である。レジー718は、サービス登録と発見を実現するJiniサービスである。これによりサービスのクライアントは、そのサービスがランしている計算装置の名前を知らなくてもネットワーク140上でそのサービスを見つけることができる。マハロ716は、サービスとそのサービスにアクセスするクライアントとの間に故障許容トランザクションを実現するトランザクションマネジャー・サービスである。フィドラー714はルックアップ発見サービスである。Jiniに基づくサービスがネットワーク140で発見可能となるには、それ自身をレジーのインスタンスに登録する必要がある。フィドラー714のルックアップ発見サービスにより、このサービスは新たなレジーサービスを見つけ、非活動状態の時にそれらに登録できる。ノーム712はリース更新サービスである。レジーに登録したサービスはリースされたものである。登録のリースが満期に達すると、サービスはレジーのインスタンスから利用不能になる。ノームにより、Jiniサービス非活動状態の時に、このサービスはリースの満期到達を防ぐことができる。レジー、マホロ、フィドラー、及びノームのサービスは、これらのサービスを走らせることができるネットワーク140上の任意計算装置102上か、単一のJava(登録商標)仮想マシン(JVM)上で走らせることができるできる。
scope methods)を用いて、技術計算ワーカー270A乃至270Nや、スペースや、自動タスク分散機構260A乃至260Nや、ジョブマネージャ265A乃至265Nのサービスを見つける。これらの方法を用いれば、技術計算クライアント250は、技術計算ワーカー270A乃至270Nや、自動タスク分散機構260A乃至260Nや、ジョブマネージャ265A乃至265Nについて事前に把握している必要はない。技術計算クライアント250はこれらの方法を用いて、ネットワーク140上で利用可能なこうしたサービスの名前と数を見つけることができる。
% ワーカーを見つける
w =
distcomp.Worker(‘MachineName’)
% タスクの作成
t =
distcomp.Task({‘rand’,10},1);
% (オプション)ワーカーに関して完了コールバックを登録する
w.TaskCompletedFcn
= ‘completedFcn’;
% (オプション)タスクのタイムアウト値を設定
t.Timeout = 10;
% タスクをワーカーに送る
w.evaluateTask(t);
% 結果を得る(完了コールバック関数内で実行可能)
r =
w.getResult(t);
% スペースを見つける
s =
distcomp.Space(‘spacename’)
% タスクの作成
t =
distcomp.Task({‘rand’,10},1)
% (オプション)スペースに関して完了コールバックを登録する
s.TaskCompletedFcn
= ‘completedFcn’;
% (オプション)タスクのタイムアウト値を設定
t.timeout = 10;
% タスクをスペースに置く
s.putTask(t);
% 結果をスペースから得る(結果リスナー内部にある可能性あり)
r =
s.getResult(t);
% ジョブマネージャを見つける
jm =
distcomp.JobManager(‘managername’)
% ジョブを作成
j = distcomp.Job(‘username’,’jobname’)
% (オプション)ジョブ完了に関してコールバックを登録する
j.JobCompletedFcn
= ‘callbackFcn’;
% タスクをジョブに追加
for(i=1:10)
t =
distcomp.Task({‘rand’,10},1);
% (オプション)タスクに関して完了コールバックを登録する
t.CompletedFcn
= ‘callbackFcn’;
% (オプション)タスクのタイムアウト値を設定
t.Timeout
= 10;
j.addTask(t);
end
jm.submit(j)
% 結果をジョブマネージャから得る
for(i=1:10)
r =
jm.getResult(j.Tasks{i});
% 結果を処理するコードをここに挿入
end
createJob
目的 ジョブオブジェクトの作成
構文 obj
= createJob(jobmanager)
obj =
createJob(..., 'p1', v1, 'p2', v2, ...)
引数 obj ジョブオブジェクト。
jobmanager ジョブを実行するジョブマネージャサービスを表すジョブマネージャ・オブジェクト。
p1, p2 オブジェクト作成時に構成されるオブジェクトプロパティー。
v1, v2 対応するオブジェクトプロパティーの初期値。
説明 obj =
createJob(jobmanager)は、指定されたリモート位置でジョブオブジェクトを作成する。この場合、このジョブオブジェクトを後で修正すると、ジョブマネージャにリモート呼び出しがなされる。
obj = createJob(..., 'p1',
v1, 'p2', v2, ...)は指定されたプロパティー値でジョブオブジェクトを作成する。無効なプロパティー名やプロパティー値が指定されると、そのジョブは作成されない。
プロパティー値ペアは、param-value文字列ペア、構造、及びparam-valueセル配列ペアなど、集合関数でサポートされる任意形式でよいことに注目されたい。
例 %
ジョブオブジェクトを構成する。
jm =
findResource('jobmanager');
obj =
createJob(jm, 'Name', 'testjob');
% タスクをジョブに加える。
for
i=1:10
createTask(obj,
'rand', {10});
end
% ジョブを走らせる。
submit(obj);
% ジョブの結果を検索する。
out =
getAllOutputArguments(obj);
% 乱雑行列を表示する。
disp(out{1}{1});
% ジョブを削除する。
destroy(obj);
目的 ジョブ内に新しいタスクを作成する。
構文 obj =
createTask(j, functionhandle, numoutputargs, inputargs)
obj =
createTask(..., 'p1',v1,'p2',v2, ...)
引数 j タスクオブジェクトが内部に作成されたジョブ。
functionhandle タスクを評価する時に呼び出される関数のハンドル。
numoutputargs タスク関数の実行から返される出力引数の数。
inputargs 関数functionhandleに渡される入力引数を指定する行セル配列。セル配列の各要素は別々の入力引数として渡される。
p1, p2 オブジェクト作成時に構成されるタスクオブジェクトプロパティー。
v1, v2 対応するタスクオブジェクトプロパティーの初期値。
説明 obj
= createTask(j, functionhandle, numoutputargs, inputargs)は
ジョブj内に新たなタスクオブジェクトを作成し、参照objを追加タスクオブジェクトに返す。
obj = createTask(..., 'p1',v1,'p2',v2,
...)は、指定されたプロパティー値でタスクオブジェクトを加える。無効なプロパティー名やプロパティー値が指定されると、そのジョブは作成されない。
プロパティー値ペアは、param-value文字列ペア、構造、及びparam-valueセル配列ペアなど、集合関数でサポートされる任意形式でよいことに注目されたい。
例 %
ジョブオブジェクトを作成する。
jm =
findResource('jobmanager');
j =
createJob(jm);
% 10x10乱雑行列を生成する評価対象となるタスクオブジェクトを加える。
obj =
createTask(j, @rand, {10,10});
% ジョブを走らせる。
submit(j);
% タスク評価から出力を得る。
taskoutput
= get(obj, 'OutputArguments');
% 10x10乱雑行列を表示する。
disp(taskoutput{1});
目的 ジョブ又はタスクオブジェクトをその親及びメモリから削除する。
構文 Destroy(obj)
引数 obj メモリから削除されるジョブ又はタスクオブジェクト。
説明 destroy(obj)はローカルセッションからジョブオブジェクト参照又はタスクオブジェクト参照objを削除し、オブジェクトをジョブマネージャ・メモリから削除する。objが削除されると、それは無効オブジェクトとなる。無効オブジェクトは、消去コマンドでワークスペースから削除すべきである。オブジェクトの複数の参照がワークスペース内に存在すると、そのオブジェクトの1つの参照を削除することによりそのオブジェクトの残りの参照が無効となる。これら残りの参照は、消去コマンドでワークスペースから消去すべきである。ジョブオブジェクトが削除されると、ジョブに含まれるタスクオブジェクトも削除される。これは、これらタスクオブジェクトの任意参照も無効となることを意味する。仮にobjがジョブオブジェクトの配列で、それらオブジェクトの1つを削除できない場合は、配列内の残りのオブジェクトが削除され、警告が戻される。
注 ユーザがオブジェクトを削除するとそのデータも失われるので、destroyの使用は、出力データをジョブオブジェクトから検索してからとすべきである。
例 %
ジョブとそのタスクを削除する。
jm =
findResource('jobmanager');
j =
createJob(jm, 'Name', 'myjob');
t =
createTask(j, @rand, {10});
destroy(j);
clear
j
タスクtもジョブjの一部として削除されることに注目されたい。
目的 ジョブの全タスクをジョブオブジェクト又はメモリから削除する。
構文 destroyAllTasks(obj)
引数 obj そのタスクが削除されるジョブオブジェクト。
説明 destroyAllTasks(obj)は、ジョブオブジェクトobjから全てのタスクを削除する。ジョブそのものは残り、ユーザは更にタスクをジョブに追加できる。(比較していえば、ジョブにdestroyを使うとジョブオブジェクト全体が削除される。)
目的 ジョブマネージャに格納されているジョブオブジェクトを見つける
構文 findJob(jm)
out =
findJob(jm)
[pending
queued running finished] = findJob(jm)
out =
findJob(jm, 'p1', v1, 'p2', v2,...)
引数 jm その内部でジョブを見つけるジョブマネージャ・オブジェクト。
pending そのStateが保留中となっているジョブマネージャjm内のジョブ配列。
queued そのStateが待機となっているジョブマネージャjm内のジョブ配列。
running そのStateがラン中となっているジョブマネージャjm内のジョブ配列。
finished そのStateが完了となっているジョブマネージャjm内のジョブ配列。
out ジョブマネージャjm内に見つかるジョブ配列。
p1, p2 一致するジョブオブジェクト・プロパティー。
v1, v2 対応するオブジェクトプロパティーの値。
説明 findJob(jm)は、ジョブマネージャjm内に記憶されている全てのジョブオブジェクトのリストをプリントアウトする。ジョブオブジェクトはそのStateプロパティーにより分類され、「待機」状態のジョブオブジェクトは、次に実行されるジョブを先頭(第1)として待ち行列に入れられた順番で表示される。out
= findJob(jm)は、ジョブマネージャjm内に記憶されている全ジョブオブジェクトの配列outを返す。この配列中のジョブは、「pending」、「queued」、「running」、「finished」の順番でStateによって整理される。「queued」状態内では、ジョブは待ち行列に入れられた順番でリストアップされている。[pending
queued running finished] = findJob(jq)は、stateによってジョブマネージャjm内に記憶されている全ジョブオブジェクトの配列を返す。待機配列内のジョブは待ち行列に入れられた順番で待機しており、queued(1)のジョブが次に実行される。out
= findJob(jm, 'p1', v1, 'p2', v2,...)は、そのプロパティー名及びプロパティー値がパラメータ値ペアp1,
v1, p2, v2として渡されたものに一致するジョブオブジェクトの配列outを返す。
プロパティー値ペアは、param-value文字列ペア、構造、及びparam-valueセル配列ペアなど、取得関数でサポートされる任意形式でよいことに注目されたい。構造を使う場合は、構造フィールド名はジョブオブジェクト・プロパティー名で、フィールド値は要求されたプロパティー値である。待機状態のジョブはジョブ待ち行列サービスに現れる順番で返される。プロパティー値が指定されている場合は、取得関数が返すものと同一形式を使わなければならない。例えば、取得がMyJobというNameプロパティー値を返すならば、myjobというNameプロパティー値を探している間は、findJobはそのオブジェクトを見つけない。
目的 使用可能なMATLAB(登録商標)に基づくアプリケーション資源を見つける。
構文 findResource('type')
out =
findResource('type')
out =
findResource('type', 'p1', v1, 'p2', v2,...)
引数 out 返されるオブジェクト又は複数オブジェクトの配列
p1, p2 一致するオブジェクトプロパティー。
v1, v2 対応するオブジェクトプロパティーの値。
説明 findResource('type')は、ジョブを走らせる能力がある、文字列typeで与えられるタイプの使用可能な全てのMATLAB(登録商標)に基づく分散計算アプリケーション資源のリストを表示する。可能なタイプには、「jobmanager」、「localsession」、「mlworker」が含まれる。findResource('type')は、文字列typeで与えられる使用可能な全てのMATLAB(登録商標)に基づく分散計算アプリケーション資源を表すオブジェクトを含む配列outを返す。out
= findResource('type','p1', v1, 'p2', v2,...)は、そのプロパティー名及びプロパティー値が、パラメータ値ペアp1,
v1, p2, v2として渡されたものに一致する与えられたtypeの資源の配列outを返す。プロパティー値ペアは、param-value文字列ペア、構造、及びparam-valueセル配列ペアなど、取得関数でサポートされる任意形式でよいことに注目されたい。構造を使う場合は、構造フィールド名はオブジェクトプロパティー名で、フィールド値は要求されたプロパティー値である。プロパティー値が指定されている場合は、取得関数が返すものと同一形式を使わなければならない。例えば、取得がMyJobManagerというNameプロパティー値を返すならば、myjobmanagerというNameプロパティー値を探している間は、findResourceはそのオブジェクトを見つけない。
注 サポートされている資源タイプはjobmanagerだけである。幾つかのパラメータ値ペアはローカルマシーンで問い合わせを受け、他のパラメータ値ペアは、問い合わせのためジョブマネージャを直接呼び出す必要がある。ジョブマネージャを呼び出す必要があるパラメータ値ペアは、見つけるためにローカルで問い合わせできる「type」Typeの資源よりも問い合わせが長くかかる。ローカルで知られているプロパティーはType、Name、HostName、Addressである。findResourceへの同一呼び出しにおいて、パラメータ値文字列ペア、構造、及びパラメータ値セル配列ペアの使用は許可されていることに注目されたい。
例 jm1
= findResource('jobmanager', 'Name', 'jobmanager1name');
jm2 =
findResource('jobmanager', 'Name', 'jobmanager2name');
目的 ジョブオブジェクトに属するタスクオブジェクトを取得する
構文 tasks
= findTask(obj)
tasks
= findTask(obj, range)
tasks
= findTask(obj, 'p1', v1, 'p2', v2, ...)
引数 obj ジョブオブジェクト。
range どのタスクを返すかを指定する索引のスカラー又はベクトルリスト。
tasks 返されたタスクオブジェクト。
p1, p2 一致するタスクオブジェクト・プロパティー。
v1, v2 対応するオブジェクトプロパティーの値。
説明tasks = findTask(obj)
and tasks = findTask(obj, range)は、ジョブオブジェクトobjに属するタスクを取得する。ここで、rangeはどのタスクを返すかを指定する索引のスカラー又はベクトルリストである。tasks
= findTask(obj, 'p1', v1, 'p2', v2, ...)は、ジョブオブジェクトobjに属するタスクオブジェクトの1xN配列を取得する。返されるタスクオブジェクトは、指定されたプロパティー値ペアを備えたもののみとなる。プロパティー値ペアは、param-value文字列ペア、構造、及びparam-valueセル配列ペアなど、取得関数でサポートされる任意形式でよいことに注目されたい。構造を使う場合は、構造フィールド名はオブジェクトプロパティー名で、フィールド値は要求されたプロパティー値である。プロパティー値が指定されている場合は、取得関数が返すものと同一形式を使わなければならない。例えば、取得がMyTaskというNameプロパティー値を返すならば、mytaskというNameプロパティー値を探している間は、findTaskはそのオブジェクトを見つけない。
注 objがリモートサービスに含まれている場合、findTaskを使うとそのリモートサービスが呼び出される。検索したタスクの数及びネットワークの速度によっては、これにより、findTaskが完了に長時間を要する可能性がある。又、このリモートサービスが使用不可能でない場合、エラーとなる。
objがリモートサービスに含まれている場合、findTaskがブロック化している時に、ユーザは^C (コントロール-C)を出すことができる。これにより制御はMATLABに返される。この場合、データ取得には別のリモート呼び出しが必要となる。
例 %
ジョブオブジェクトを作成する。
jm =
findResource('jobmanager');
obj =
createJob(jm);
% タスクをジョブオブジェクトに加える。
createTask(obj,
@rand, {10})
% 先ほどobjに加えたタスクにtを割り当てる。
t =
findTask(obj, 1)
目的 ジョブオブジェクト内の全タスクの評価から出力引数を検索する。
構文 data
= getAllOutputArguments(obj)
引数 obj そのタスクが出力引数を生成するジョブオブジェクト。
data ジョブ結果のセル配列。
説明 data =
getAllOutputArguments(obj)は、完了ジョブのタスクに含まれる出力データを返す。1xNセル配列の各要素は、ジョブ内の対応するタスクの出力引数を含んでいる。すなわち、各要素はセル配列である。タスクの出力引数が返されない場合は、その要素はプレースホルダーとしての空セル配列を含む。
データにおける要素の順番は、ジョブに含まれるタスクの順番と同一である。
注 検索しているデータ量及びネットワークの速度によっては、getAllOutputArgumentsはリモートサービスを呼び出すことになり、完了に長時間を要する可能性がある。又、リモートサービスが使用不可能でない場合、エラーとなる。getAllOutputArguments
がブロック化している時に、ユーザは^C (コントロール-C)を出すことができる。これはデータ検索を停止させないが、制御はMATLABに返される。この場合、データ取得には別のリモート呼び出しが必要となる。getAllOutputArgumentsに呼び出しを発しても、出力データが記憶されている場所からそのデータを削除することにはならないことに注意されたい。出力データを削除するには、削除関数を用いてタスク又はその親ジョブオブジェクトを削除するか、destroyAllTasksを用いる。
例 jm
= findResource('jobmanager');
j =
createJob(jm, 'Name', 'myjob');
t =
createTask(j, @rand, {10});
submit(j);
data =
getAllOutputArguments(t);
% 10x10の乱雑行列を表示する。
disp(data{1});
destroy(j);
目的 ジョブをジョブ待ち行列サービスに入れる
構文 submit(obj)
引数 obj 待ち行列に入れるジョブオブジェクト。
説明 submit(obj)はジョブオブジェクトobjを、それが現在存在する資源内で待ち行列に入れる。ジョブの待ち行列が存在する資源は、ジョブの作成方法から特定する。ジョブは、ローカルMATLABセッション、リモート・ジョブマネージャサービス、又はリモートMATLABワーカーサービスに存在可能である。submitが出力引数なしで呼び出されると、非同期式に呼び出される。すなわち、submitへの呼び出しはジョブ完了前に戻る。
この規則の例外は、ジョブがローカルMATLABセッションに存在するときであり、この場合はこのsubmitは常に同期的に実行される。
注 ジョブマネージャに含まれるジョブが提出されると、このジョブのStateプロパティー値が待ち行列に入れられることになり、このジョブは、ジョブ待ち行列サービスによる実行を待つジョブのリストに加えられる。この待ちリスト内のジョブは先入れ先出し方式、すなわち提出された順番で実行される。
例 %
jobmanager1と名付けられたジョブマネージャサービスを見つける。
jm1 =
findResource('jobmanager', 'Name', 'jobmanager1');
% ジョブオブジェクトを作成する。
j1 =
createJob(jm1);
% このジョブに関して評価されるタスクオブジェクトを加える。
t1 =
createTask(j1, @myfunction, {10, 10});
% ジョブオブジェクトをジョブマネージャで待ち行列に入れる。
submit(j1);
本発明の例示的な実施形態は、技術計算クライアント及び技術計算ワーカーを使用する、計器に基づいた分散計算システムを提供する。この計器に基づく分散計算システムは、ネットワークを介して接続された1つ又は複数の計器を含む。これら計器は、パーソナルコンピュータに基づいたプラットフォーム又は他のプラットフォーム上に設けることができ、技術計算クライアントや技術計算ワーカーなどの付加的ソフトウェア製品を走らせる能力がある。この計器に基づく分散計算システムは、テスト対象ユニットを検査するテスト環境で動作できる。通常の技術を備えた当業者であれば、こうした計器は例示的なテスト機器であって、本発明は、組み合わせると伝統的な計器の機能を実行するアプリケーションソフトウェア、プラグインボードなどのハードウェア、及びドライバソフトウェアを備えた業界基準コンピュータ又はワークステーションを含む仮想計器などの他のテスト機器又は構成要素にも適用できることは理解するはずである。
Computing on Graphics Processing Units))処理をサポートできる。GPUは、コンピュータ又はゲームコンソール用のグラフィクスカード又はグラフィクス・アクセラレータのマイクロプロセッサである。GPUは、コンピュータグラフィックスを効率的に操作且つ表示でき、その並列構造により、一定の複雑なアルゴリズムに関しては典型的なCPUよりも効果的である。GPUは、暗号文、データベース演算、高速フーリエ変換、ニューラルネットワークなどのグラフィクス以外の分野でも汎用的に利用できる。通常の技能を備えた当業者なら、ワーカーを走らせるワークステーションはGPGPU処理をサポートできることは理解するはずである。
MANAGER FOR INTEGRATED TEST ENVIRONMENTS(統合テスト環境用のテストマネージャ)」と題した係属中の米国特許出願(米国特許出願第10/925,413号)により詳細に記載されている。
Control(MATLAB(登録商標)ツールボックスの一つ)ステップを含むこともできる。更に、Statistics Toolbox(MATLAB(登録商標)ツールボックスの一つ)ステップは他のステップで生成されたデータの統計分析を行うことができる。このテストのテストステップは、テスト実行時に実行される個別の動作を含む。これらテストステップ及びテストステップのプロパティーは、それぞれMコード及び関数呼び出し引数を生成するJava(登録商標)関数呼び出しと考えてもよい。
and Systems For Executing A Program In Multiple Execution Environments(多数実行環境でプログラムを実行する方法及びシステム)」と題する同時継続中の米国特許出願第10/940,152号に記載されており、本明細書に引用して援用する。
var = start:fin
又は
var
= start:delta:fin ; ここではstartが最初の反復で、finが最後の反復であり、deltaは最初の反復と最後の反復と間の一回の増分である。
var
= start(pid):delta:fin(pid); ここではstartがpidの最初の反復で、finがpidの最後の反復であり、deltaはpidの最初の反復と最後の反復との一回の増分である。
function
[startp,finp] = djays(start,delta,fin,pid,nprocs)
ratio = floor((fin-start)/delta+1)/nprocs;
startp = start+ceil((pid-1)*ratio)*delta;
finp = start+(ceil(pid*ratio)-1)*delta;
j = 1:3 on pid = 1
j = 4:5 on pid = 2
j = 6:8 on pid = 3
j = 9:10 on pid = 4
x 1000の配列は、第1ワーカーに最初の100列を記憶し、第2ワーカーに2番目の100列を記憶するなどして、10のプロセッサ又はワーカーに分散される。特定ワーカー上の分散配列の内容がその配列のローカル部分である。例えば、仮にAが分散配列であれば、A.locはAの各ワーカーにおける部分を示す。例えば、nproc
= 16として、次のステートメント、
A
= drand(1024,1024) % 分散ランダム配列作成
は次のようになる。
A = darray(1024,1024)
A.loc = rand(1000,64)
x n x 3の次元を持つ画像の赤/緑/青の色コーディングを表す分散アレーの場合は、この配列の分解と分散は、各ワーカーがそのローカル部分で全体画像からの完全色ストリップを処理できるように、2次元に沿って行われる。この分散配列の分配は列に基づく分散として説明したが、分散配列の複数部分を多数のワーカー間で分散する様々な代替的方法を使用できる。例えば、分散配列は、行又は行の一部と列により分散できる。別の例では、一部を、配列の全次元を持つデータの部分集合に基づいて分散することも可能である。任意タイプの任意写像を適用して、分散配列の一部を各ワーカーに写像できる。従って、通常の技能を備えた当業者なら、分散配列の複数部分を各ワーカーに分散する様々な置換があることを理解するはずである。
for p = 1:nprocs
if
p == pid
プロセッサpがこのステップを担当する
データを他のプロセッサに送る
ローカル計算を行う
他のプロセッサからデータを受け取ることもあり得る
そうでなければ
pからデータを受け取る
ローカル計算を行う
データをpに送り返すこともあり得る
end
end
Claims (47)
- 計器を用いて分散された処理を実行する方法であって、
前記計器上にインストールされた技術計算クライアントを用いて1つ又は複数のタスクを含むジョブを生成する段階と、
前記技術計算クライアントが、第2計器上にインストールされネットワークを介して前記計器と通信する1つ又は複数の技術計算ワーカーに前記ジョブを分散する段階と、
前記1つ又は複数の技術計算ワーカーが、前記計器に代わって前記1つ又は複数のタスクのうち少なくとも1つで前記分散された処理を実行する段階と、
前記計器上にインストールされた前記技術計算クライアントが、前記1つ又は複数の技術計算ワーカーから前記分散された処理に関連付けられた実行結果を受け取る段階とを含み、
前記計器および前記第2計器が、計器に直接接続されたテスト対象ユニットに関連した測定値を受け取り、測定を直接実行し、前記測定値に基づいて前記技術計算クライアント又はユーザと測定情報を交換する計装機能を含み、
前記計器及び前記第2計器は、前記計装機能によりテスト対象ユニットの測定を実行し、
前記計器は、前記技術計算クライアントによる前記ジョブの生成と、前記計装機能による前記測定の実行とを共にサポートし、
前記第2計器は、前記技術計算ワーカーによる前記分散された処理の実行と、前記計装機能による前記測定の実行とを共にサポートする、方法。 - 前記計器がテスト環境で使用され、前記ジョブが前記テスト対象ユニットをテストするためのタスクを含む、請求項1に記載の方法。
- 前記計器が前記テスト環境において、前記テスト対象ユニットの測定、分析、検証、及び妥当性確認を促進するために使用される、請求項2に記載の方法。
- 分散する前記段階が、前記1つ又は複数の技術計算ワーカーに配列を分散する段階を含み、
前記受け取る段階が、前記分散された配列の少なくとも一部に関連した情報を含む前記実行結果を受け取る段階を含む、請求項1に記載の方法。 - 配列を分散する前記段階が、前記配列を1つ又は複数の次元に沿って複数部分に分散する段階を含む、請求項4に記載の方法。
- 前記分散された配列の少なくとも一部がキャッシュメモリに入れられる、請求項4に記載の方法。
- 分散する前記段階が、前記計器で動作するプログラミング言語に関連したキーワードの識別に基づいて行われる、請求項1に記載の方法。
- 分散する前記段階が前記1つ又は複数のタスクを促進する、請求項1に記載の方法。
- 前記分散された処理を実行している時又は一時停止した時は、テスト機能、測定機能、又は自動化機能と対話する段階を更に含む、請求項1に記載の方法。
- 前記分散された処理を実行する段階が、組み込み言語ステートメントの解釈に応答して実行される、請求項1に記載の方法。
- 前記ジョブを分散する前記段階が、配列を分散する段階と、前記分散されたジョブを処理する技術計算ワーカーのために別個の反復子に分解可能な反復子を与える段階とを含む、請求項1に記載の方法。
- 前記配列が、分解アルゴリズムを前記配列の次元に適用することで分散される、請求項11に記載の方法。
- 前記分散されたジョブを処理する技術計算ワーカーの処理idすなわちpidを識別する段階を更に含む、請求項11に記載の方法。
- 前記分散されたジョブに関連付けられた技術計算ワーカーに部分行列を生成する段階を更に含む、請求項11に記載の方法。
- 列に基づく写像、行に基づく写像、又は任意写像を用いて、前記分散された配列を前記1つ又は複数の技術計算ワーカーに写像する段階を更に含む、請求項11に記載の方法。
- 前記1つ又は複数の技術計算ワーカーのうち1つは、前記1つ又は複数の技術計算ワーカーのうち該1つのワーカーのローカル部分の要素に関する演算を行い、前記1つ又は複数の技術計算ワーカーのうち該1つのワーカーは、複雑な演算を実行するには別の技術計算ワーカーと通信する、請求項1に記載の方法。
- 技術計算ワーカーにおいて反復が行われる、請求項16に記載の方法。
- 技術計算ワーカー間で交換されるメッセージの数は、前記技術計算クライアントに関連付けられた技術計算ワーカーの数に比例する、請求項1に記載の方法。
- 前記技術計算クライアント又は前記1つ又は複数の技術計算ワーカーのうち少なくとも1つが、MATLABソフトウェア又はSimulinkソフトウェアとともに動作する、請求項1に記載の方法。
- 計器を用いて分散された処理を実行する方法を実行するための命令を保持したコンピュータ可読媒体であって、
前記計器上にインストールされた技術計算クライアントを用いて1つ又は複数のタスクを含むジョブを生成するための命令と、
前記技術計算クライアントが、第2計器上にインストールされネットワークを介して前記計器と通信する1つ又は複数の技術計算ワーカーに前記ジョブを分散するための命令と、
該1つ又は複数の技術計算ワーカーが、前記計器に代わって前記1つ又は複数のタスクのうち少なくとも1つで前記分散された処理を実行するための命令と、
前記計器上にインストールされた前記技術計算クライアントが、前記1つ又は複数の技術計算ワーカーから前記分散処理に関連付けられた実行結果を受け取るための命令とを含み、
前記計器および前記第2計器が、計器に直接接続されたテスト対象ユニットに関連した測定値を受け取り、測定を直接実行し、前記測定値に基づいて前記技術計算クライアント又はユーザと測定情報を交換する計装機能を含み、
前記計器及び前記第2計器は、前記計装機能によりテスト対象ユニットの測定を実行し、
前記計器は、前記技術計算クライアントによる前記ジョブの生成と、前記計装機能による前記測定の実行とを共にサポートし、
前記第2計器は、前記技術計算ワーカーによる前記分散された処理の実行と、前記計装機能による前記測定の実行とを共にサポートする、コンピュータ可読媒体。 - 前記計器がテスト環境で使用され、前記ジョブが前記テスト対象ユニットをテストするためのタスクを含む、請求項20に記載のコンピュータ可読媒体。
- 前記計器が前記テスト環境において、前記テスト対象ユニットの測定、分析、検証、及び妥当性確認を促進するために使用される、請求項21に記載のコンピュータ可読媒体。
- 分散するための前記命令が、前記1つ又は複数の技術計算ワーカーに配列を分散するための命令を含み、
受け取るための前記命令が、前記分散された配列の少なくとも一部に関連した情報を含む前記実行結果を受け取るための命令を含む、請求項20に記載のコンピュータ可読媒体。 - 配列を分散するための前記命令が、前記配列を行又は列を含む複数部分に分散するための命令を含む、請求項23に記載のコンピュータ可読媒体。
- 前記分散された配列の少なくとも一部がキャッシュメモリに入れられる、請求項23に記載のコンピュータ可読媒体。
- 分散するための前記命令が、前記計器で動作するプログラミング言語に関連したキーワードの識別に基づいて行われる、請求項20に記載のコンピュータ可読媒体。
- 分散するための前記命令が、前記1つ又は複数のタスクを促進する、請求項20に記載のコンピュータ可読媒体。
- 前記分散された処理を実行している時又は一時停止した時は、テスト機能、測定機能、又は自動化機能と対話するための命令を更に含む、請求項20に記載のコンピュータ可読媒体。
- 前記分散された処理を実行するための前記命令が、組み込み言語ステートメントの解釈に応答して実行される、請求項20に記載のコンピュータ可読媒体。
- 前記ジョブを分散するための前記命令が、配列を分散するための命令と、前記分散されたジョブを処理する技術計算ワーカーのために別個の反復子に分解可能な反復子を与えるための命令とを含む、請求項20に記載のコンピュータ可読媒体。
- 前記配列が、分解アルゴリズムを前記配列の次元に適用することで分散される、請求項30に記載のコンピュータ可読媒体。
- 前記分散されたジョブを処理する技術計算ワーカーの処理idすなわちpidを識別するための命令を更に含む、請求項30に記載のコンピュータ可読媒体。
- 前記分散されたジョブに関連付けられた技術計算ワーカーに部分行列を生成するための命令を更に含む、請求項30に記載のコンピュータ可読媒体。
- 列に基づく写像、行に基づく写像、又は任意写像を用いて、前記分散配列を前記1つ又は複数の技術計算ワーカーに写像するための命令を更に含む、請求項30に記載のコンピュータ可読媒体。
- 前記1つ又は複数の技術計算ワーカーのうち1つは、前記1つ又は複数の技術計算ワーカーのうち該1つのワーカーのローカル部分の要素に関する演算を行い、前記1つ又は複数の技術計算ワーカーのうち該1つのワーカーは、複雑な演算を実行するには別の技術計算ワーカーと通信する、請求項20に記載のコンピュータ可読媒体。
- 技術計算ワーカーにおいて反復が行われる、請求項20に記載のコンピュータ可読媒体。
- 技術計算ワーカー間で交換されるメッセージの数は、前記技術計算クライアントに関連付けられた技術計算ワーカーの数に比例する、請求項20に記載のコンピュータ可読媒体。
- 前記技術計算クライアント又は前記1つ又は複数の技術計算ワーカーのうち少なくとも1つが、MATLAB互換ソフトウェア又はSimulink互換ソフトウェアとともに動作する、請求項20に記載のコンピュータ可読媒体。
- 1つ又は複数の技術計算ワーカーを用いて分散された処理をサポートする計器であって、
1つ又は複数のタスクを含むジョブを生成する技術計算クライアントと、
前記計器に直接接続されたテスト対象ユニットに関連した測定値を受け取り、測定を直接実行し、前記測定値に基づいて前記技術計算クライアント又はユーザと測定情報を交換する計装機能とを備え、
前記技術計算クライアントが、
前記1つ又は複数のタスクを含むジョブを第2計器上にインストールされた前記1つ又は複数の技術計算ワーカーにネットワークを介して分散し、
前記1つ又は複数の技術計算ワーカーにより前記1つ又は複数のタスクに関して実行された分散処理に対応する1つ又は複数の実行結果を前記第2計器から受け取り、
前記1つ又は複数の実行結果内の情報に基づいて前記第2計器に代わって演算を実行する、計器。 - 前記技術計算クライアントが1つ又は複数の他の計器で動作する、請求項39に記載の計器。
- 前記ジョブが配列を含み、該配列が1つ又は複数の技術計算ワーカーに分散される、請求項39に記載の計器。
- 前記1つ又は複数の技術計算ワーカーのうち少なくとも1つが、前記分散された配列の1列か、前記分散された配列の1行か、前記1つ又は複数の技術計算ワーカーへの任意分散により決定される前記分散された配列の一部かに演算をおこなう、請求項41に記載の計器。
- 前記計器又は前記1つ又は複数の技術計算ワーカーがインストールされた1つ又は複数の前記第2計器は、分散された配列の一部を処理する際に使用するキャッシュを含む、請求項39に記載の計器。
- 前記計器又は前記第2計器は、該計器で生じる分散配列で使用する処理情報を識別するキーワードを用いるオペレーティングシステムを使用する、請求項39に記載の計器。
- 前記技術計算クライアントは写像処理を行って、分散配列の複数部分を前記1つ又は複数の技術計算ワーカーのうち少なくとも1つに写像する、請求項39に記載の計器。
- 前記少なくとも1つの技術計算ワーカーのうち少なくとも1つは前記ネットワークでサブクラスタに配列されている、請求項39に記載の計器。
- 前記計器又は前記第2計器は、MATLABソフトウェア又はSimulinkソフトウェアを含む、請求項39に記載の計器。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/301,061 US7908313B2 (en) | 2004-07-21 | 2005-12-12 | Instrument-based distributed computing systems |
US11/301,061 | 2005-12-12 | ||
PCT/US2006/047302 WO2007070491A2 (en) | 2005-12-12 | 2006-12-12 | Instrument-based distributed computing systems |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009519548A JP2009519548A (ja) | 2009-05-14 |
JP5442999B2 true JP5442999B2 (ja) | 2014-03-19 |
Family
ID=37865304
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008545725A Expired - Fee Related JP5442999B2 (ja) | 2005-12-12 | 2006-12-12 | 計器に基づく分散計算方法 |
Country Status (4)
Country | Link |
---|---|
US (3) | US7908313B2 (ja) |
EP (1) | EP1960877A2 (ja) |
JP (1) | JP5442999B2 (ja) |
WO (1) | WO2007070491A2 (ja) |
Families Citing this family (96)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7415516B1 (en) * | 2000-08-08 | 2008-08-19 | Cisco Technology, Inc. | Net lurkers |
US20060080389A1 (en) * | 2004-10-06 | 2006-04-13 | Digipede Technologies, Llc | Distributed processing system |
JP2006155187A (ja) * | 2004-11-29 | 2006-06-15 | Sony Corp | 情報処理システム、情報処理装置および方法、記録媒体、並びにプログラム。 |
US8621425B1 (en) * | 2005-04-08 | 2013-12-31 | The Mathworks, Inc. | Generating code based at least on one or more output arguments designated as not being present |
US20070033247A1 (en) * | 2005-08-02 | 2007-02-08 | The Mathworks, Inc. | Methods and system for distributing data to technical computing workers |
US7681087B2 (en) * | 2005-12-14 | 2010-03-16 | Business Objects Software Ltd. | Apparatus and method for persistent report serving |
KR100677635B1 (ko) * | 2006-02-02 | 2007-02-02 | 삼성전자주식회사 | 네트워크에서의 기기 제어 방법 및 시스템과 그 방법을수행하는 프로그램이 기록된 기록 매체 |
US8082289B2 (en) | 2006-06-13 | 2011-12-20 | Advanced Cluster Systems, Inc. | Cluster computing support for application programs |
US8327350B2 (en) * | 2007-01-02 | 2012-12-04 | International Business Machines Corporation | Virtual resource templates |
US8108855B2 (en) * | 2007-01-02 | 2012-01-31 | International Business Machines Corporation | Method and apparatus for deploying a set of virtual software resource templates to a set of nodes |
US8799871B2 (en) * | 2007-01-08 | 2014-08-05 | The Mathworks, Inc. | Computation of elementwise expression in parallel |
US10055468B2 (en) * | 2007-04-30 | 2018-08-21 | Wolfram Research, Inc. | Access to data collections by a computational system |
US8370802B2 (en) | 2007-09-18 | 2013-02-05 | International Business Machines Corporation | Specifying an order for changing an operational state of software application components |
US8762999B2 (en) * | 2007-09-27 | 2014-06-24 | Oracle America, Inc. | Guest-initiated resource allocation request based on comparison of host hardware information and projected workload requirement |
DE102007062974B4 (de) * | 2007-12-21 | 2010-04-08 | Phoenix Contact Gmbh & Co. Kg | Signalverarbeitungsvorrichtung |
TWI353138B (en) * | 2007-12-28 | 2011-11-21 | Accton Technology Corp | A job management and a scheduling method of networ |
US20090222818A1 (en) * | 2008-02-29 | 2009-09-03 | Sap Ag | Fast workflow completion in a multi-system landscape |
US8250207B2 (en) * | 2009-01-28 | 2012-08-21 | Headwater Partners I, Llc | Network based ambient services |
US7827438B2 (en) * | 2008-06-10 | 2010-11-02 | Microsoft Corporation | Distributed testing system and techniques |
US8108467B2 (en) * | 2008-06-26 | 2012-01-31 | International Business Machines Corporation | Load balanced data processing performed on an application message transmitted between compute nodes of a parallel computer |
CN101296199A (zh) * | 2008-06-27 | 2008-10-29 | 腾讯科技(深圳)有限公司 | 一种即时通讯工具调度任务的方法和即时通讯工具 |
US9910708B2 (en) * | 2008-08-28 | 2018-03-06 | Red Hat, Inc. | Promotion of calculations to cloud-based computation resources |
US8387064B2 (en) | 2008-10-09 | 2013-02-26 | International Business Machines Corporation | Balancing a data processing load among a plurality of compute nodes in a parallel computer |
JP5393304B2 (ja) * | 2009-07-09 | 2014-01-22 | 富士通株式会社 | 分散処理システム、情報処理装置、及び分散処理方法 |
US9323582B2 (en) * | 2009-08-12 | 2016-04-26 | Schlumberger Technology Corporation | Node to node collaboration |
US10115065B1 (en) | 2009-10-30 | 2018-10-30 | Verint Americas Inc. | Systems and methods for automatic scheduling of a workforce |
US8874745B2 (en) * | 2010-03-26 | 2014-10-28 | Fujitsu Limited | Method and system for providing services |
US10853744B2 (en) | 2010-06-17 | 2020-12-01 | Figure Eight Technologies, Inc. | Distributing a task to multiple workers over a network for completion while providing quality control |
US11023859B2 (en) | 2010-06-17 | 2021-06-01 | CrowdFlower, Inc. | Using virtual currency to compensate workers in a crowdsourced task |
US9946582B2 (en) * | 2010-10-14 | 2018-04-17 | Nec Corporation | Distributed processing device and distributed processing system |
JP5531942B2 (ja) * | 2010-12-20 | 2014-06-25 | コニカミノルタ株式会社 | 画像形成装置 |
US8639971B1 (en) | 2011-02-17 | 2014-01-28 | Scale Computing | Condition detection and reporting in complex systems |
US8738830B2 (en) | 2011-03-03 | 2014-05-27 | Hewlett-Packard Development Company, L.P. | Hardware interrupt processing circuit |
US9645823B2 (en) | 2011-03-03 | 2017-05-09 | Hewlett-Packard Development Company, L.P. | Hardware controller to choose selected hardware entity and to execute instructions in relation to selected hardware entity |
US9189283B2 (en) * | 2011-03-03 | 2015-11-17 | Hewlett-Packard Development Company, L.P. | Task launching on hardware resource for client |
US11087247B2 (en) | 2011-03-23 | 2021-08-10 | Figure Eight Technologies, Inc. | Dynamic optimization for data quality control in crowd sourcing tasks to crowd labor |
US20120254965A1 (en) * | 2011-04-04 | 2012-10-04 | Lansing Arthur Parker | Method and system for secured distributed computing using devices |
US9495477B1 (en) * | 2011-04-20 | 2016-11-15 | Google Inc. | Data storage in a graph processing system |
US8972997B2 (en) | 2011-06-17 | 2015-03-03 | Microsoft Technology Licensing, Llc | Work item processing in distributed applications |
US8554605B2 (en) | 2011-06-29 | 2013-10-08 | CrowdFlower, Inc. | Evaluating a worker in performing crowd sourced tasks and providing in-task training through programmatically generated test tasks |
WO2013003861A2 (en) * | 2011-06-30 | 2013-01-03 | CrowdFlower, Inc. | Evaluating a worker in performing crowd sourced tasks and providing in-task training through programmatically generated test tasks |
US9104651B1 (en) * | 2011-07-15 | 2015-08-11 | Scale Computing, Inc. | Techniques for distributing tests and test suites across a network |
US8949305B1 (en) | 2011-07-15 | 2015-02-03 | Scale Computing, Inc. | Distributed dynamic system configuration |
US9710768B2 (en) | 2011-09-23 | 2017-07-18 | Elwha Llc | Acquiring and transmitting event related tasks and subtasks to interface devices |
US9817657B2 (en) * | 2011-10-05 | 2017-11-14 | Hartigen Solutions, Llc. | Integrated software development and deployment architecture and high availability client-server systems generated using the architecture |
US20130091197A1 (en) | 2011-10-11 | 2013-04-11 | Microsoft Corporation | Mobile device as a local server |
US8626545B2 (en) | 2011-10-17 | 2014-01-07 | CrowdFlower, Inc. | Predicting future performance of multiple workers on crowdsourcing tasks and selecting repeated crowdsourcing workers |
WO2013065151A1 (ja) * | 2011-11-02 | 2013-05-10 | 株式会社日立製作所 | 計算機システム、データ転送方法、および、データ転送プログラム |
US10795722B2 (en) * | 2011-11-09 | 2020-10-06 | Nvidia Corporation | Compute task state encapsulation |
US8910186B2 (en) * | 2011-11-15 | 2014-12-09 | International Business Machines Corporation | Feed-based promotion of service registry objects |
US8918509B1 (en) * | 2011-12-20 | 2014-12-23 | The Mathworks, Inc. | Dynamic arbitrary data simulation using fixed resources |
KR101335711B1 (ko) * | 2012-01-20 | 2013-12-04 | 연세대학교 산학협력단 | 서버, 연산 처리 방법 및 연산 처리 시스템 |
US11568334B2 (en) | 2012-03-01 | 2023-01-31 | Figure Eight Technologies, Inc. | Adaptive workflow definition of crowd sourced tasks and quality control mechanisms for multiple business applications |
DE102012203252A1 (de) | 2012-03-01 | 2013-09-05 | Rohde & Schwarz Gmbh & Co. Kg | Vorrichtung und Verfahren zum Testen von elektronischen Geräten mit einer räumlich getrennten Steuereinrichtung |
JP5999351B2 (ja) * | 2012-03-26 | 2016-09-28 | 日本電気株式会社 | データベース処理装置、方法、プログラム及びデータ構造 |
US20130263090A1 (en) * | 2012-03-30 | 2013-10-03 | Sony Online Entertainment Llc | System and method for automated testing |
KR101893982B1 (ko) * | 2012-04-09 | 2018-10-05 | 삼성전자 주식회사 | 분산 처리 시스템, 분산 처리 시스템의 스케줄러 노드 및 스케줄 방법, 및 이를 위한 프로그램 생성 장치 |
US8972543B1 (en) * | 2012-04-11 | 2015-03-03 | Spirent Communications, Inc. | Managing clients utilizing reverse transactions |
US9077665B1 (en) | 2012-05-24 | 2015-07-07 | Scale Computing, Inc. | Transferring virtual machines and resource localization in a distributed fault-tolerant system |
US9176769B2 (en) * | 2012-06-29 | 2015-11-03 | Microsoft Technology Licensing, Llc | Partitioned array objects in a distributed runtime |
US10019287B1 (en) | 2012-08-23 | 2018-07-10 | Scale Computing | Virtual machine resource display |
US10430216B1 (en) | 2012-08-23 | 2019-10-01 | Scale Computing Inc | Virtual machine automated selection |
EP2744173B1 (en) * | 2012-10-26 | 2018-08-15 | Huawei Device (Dongguan) Co., Ltd. | Multiple-service processing method and browser |
US9117029B2 (en) * | 2012-12-05 | 2015-08-25 | The Mathworks, Inc. | Deferred evaluation and presentation of a custom diagnostic analysis |
US9600351B2 (en) * | 2012-12-14 | 2017-03-21 | Microsoft Technology Licensing, Llc | Inversion-of-control component service models for virtual environments |
US20140201709A1 (en) * | 2013-01-15 | 2014-07-17 | Martin Carl Euerle | JavaScript™ Deployment Build Tool for software code that uses an object literal to define meta data and system code. |
US9146777B2 (en) | 2013-01-25 | 2015-09-29 | Swarm Technology Llc | Parallel processing with solidarity cells by proactively retrieving from a task pool a matching task for the solidarity cell to process |
US8893155B2 (en) | 2013-03-14 | 2014-11-18 | Microsoft Corporation | Providing distributed array containers for programming objects |
US10346148B2 (en) * | 2013-08-12 | 2019-07-09 | Amazon Technologies, Inc. | Per request computer system instances |
US9348634B2 (en) | 2013-08-12 | 2016-05-24 | Amazon Technologies, Inc. | Fast-booting application image using variation points in application source code |
US9280372B2 (en) | 2013-08-12 | 2016-03-08 | Amazon Technologies, Inc. | Request processing techniques |
US9705755B1 (en) | 2013-08-14 | 2017-07-11 | Amazon Technologies, Inc. | Application definition deployment with request filters employing base groups |
EP2882141A1 (en) | 2013-12-04 | 2015-06-10 | Exfo Inc. | Network test system |
US20150195234A1 (en) * | 2014-01-08 | 2015-07-09 | International Business Machines Corporation | Preventing unnecessary messages from being sent and received |
FI20145150L (fi) * | 2014-02-14 | 2015-08-15 | Streamr Oy | Signaalinkäsittelyjärjestelmä |
US9678787B2 (en) | 2014-05-23 | 2017-06-13 | Microsoft Technology Licensing, Llc | Framework for authoring data loaders and data savers |
US9927857B2 (en) | 2014-08-22 | 2018-03-27 | Intel Corporation | Profiling a job power and energy consumption for a data processing system |
CN107076767B (zh) * | 2014-11-06 | 2018-10-12 | 株式会社岛津制作所 | 分析装置系统以及该系统用程序 |
US9459933B1 (en) | 2015-01-30 | 2016-10-04 | Amazon Technologies, Inc. | Contention and selection of controlling work coordinator in a distributed computing environment |
CN106375102B (zh) * | 2015-07-22 | 2019-08-27 | 华为技术有限公司 | 一种服务注册方法、使用方法及相关装置 |
US10536518B1 (en) * | 2015-11-20 | 2020-01-14 | VCE IP Holding Company LLC | Resource configuration discovery and replication system for applications deployed in a distributed computing environment |
CN109328336B (zh) * | 2016-05-06 | 2023-09-15 | 吉奥奎斯特系统公司 | 地震处理任务预测调度器 |
US10498625B1 (en) * | 2016-10-14 | 2019-12-03 | Amazon Technologies, Inc. | Distributed testing service |
CN108156188B (zh) * | 2016-12-02 | 2021-06-01 | 中科星图股份有限公司 | 一种数据有效性检验系统 |
US10264056B2 (en) * | 2016-12-08 | 2019-04-16 | Bank Of America Corporation | Multicomputer processing of an event request from an event origination device with centralized event orchestration |
US10417228B2 (en) * | 2016-12-16 | 2019-09-17 | General Electric Company | Apparatus and method for analytical optimization through computational pushdown |
US11132235B2 (en) * | 2017-02-16 | 2021-09-28 | Hitachi, Ltd. | Data processing method, distributed data processing system and storage medium |
US11327811B2 (en) * | 2017-07-06 | 2022-05-10 | Centurylink Intellectual Property Llc | Distributed computing mesh |
US11616686B1 (en) * | 2017-11-21 | 2023-03-28 | Amazon Technologies, Inc. | Cluster management |
US10997538B1 (en) | 2017-11-21 | 2021-05-04 | Amazon Technologies, Inc. | Resource management |
US11922210B2 (en) | 2017-12-05 | 2024-03-05 | Koninklijke Philips N.V. | Multiparty computation scheduling |
CN109800078B (zh) * | 2018-12-12 | 2020-04-28 | 北京三快在线科技有限公司 | 一种任务处理方法、任务分发终端及任务执行终端 |
US11907755B2 (en) * | 2019-11-22 | 2024-02-20 | Rohde & Schwarz Gmbh & Co. Kg | System and method for distributed execution of a sequence processing chain |
KR102248978B1 (ko) * | 2019-11-29 | 2021-05-07 | 한국과학기술원 | 다수 사용자의 분산 기계학습에서 평균 지연 속도 절감을 위한 자원 할당 방법 및 장치 |
KR20240051986A (ko) | 2021-08-31 | 2024-04-22 | 넛크래커 테라퓨틱스 인코포레이티드 | 상태 머신 기반 스크립트 애플리케이션 및 시스템 |
CN116860487B (zh) * | 2023-09-04 | 2024-03-15 | 南京国睿信维软件有限公司 | 基于RMI技术的Matlab集成调度的方法 |
Family Cites Families (85)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4890242A (en) * | 1986-06-05 | 1989-12-26 | Xox Corporation | Solid-modeling system using topology directed subdivision for determination of surface intersections |
US5481698A (en) * | 1988-09-28 | 1996-01-02 | Hitachi Ltd. | Computer system and job executing method |
JPH07120410B2 (ja) * | 1991-01-15 | 1995-12-20 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 大規模並列アーキテクチャによる3次元物体の表示・操作システム及び方法 |
JPH05197573A (ja) * | 1991-08-26 | 1993-08-06 | Hewlett Packard Co <Hp> | タスク指向パラダイムによるタスク管理システム |
US5420965A (en) * | 1992-06-05 | 1995-05-30 | Software Projects, Inc. | Single pass method of compressing data transmitted to command driven terminal |
US5390325A (en) * | 1992-12-23 | 1995-02-14 | Taligent, Inc. | Automated testing system |
SE9300671D0 (sv) * | 1993-03-01 | 1993-03-01 | Sven Nauckhoff | Work flow management |
US5490097A (en) * | 1993-03-22 | 1996-02-06 | Fujitsu Limited | System and method for modeling, analyzing and executing work process plans |
CA2187925C (en) * | 1994-04-21 | 2000-04-25 | Colin Jones | Interface device and method |
US5526358A (en) * | 1994-08-19 | 1996-06-11 | Peerlogic, Inc. | Node management in scalable distributed computing enviroment |
US5748930A (en) * | 1994-09-26 | 1998-05-05 | Intel Corporation | Method and apparatus for interfacing with a host computer system sharing tasks with another user on a client computer system |
US5940586A (en) * | 1995-10-16 | 1999-08-17 | International Business Machines Corporation | Method and apparatus for detecting the presence of and disabling defective bus expansion devices or Industry Standard Architecture (ISA) adapters |
US5784884A (en) * | 1995-12-20 | 1998-07-28 | United Technologies Corporation | Fail-safe transfer valve |
US5838968A (en) * | 1996-03-01 | 1998-11-17 | Chromatic Research, Inc. | System and method for dynamic resource management across tasks in real-time operating systems |
US5761507A (en) * | 1996-03-05 | 1998-06-02 | International Business Machines Corporation | Client/server architecture supporting concurrent servers within a server with a transaction manager providing server/connection decoupling |
US5930465A (en) * | 1996-11-26 | 1999-07-27 | Xerox Corporation | Printing system with enhanced print service capability |
US5950201A (en) * | 1996-12-06 | 1999-09-07 | International Business Machines Corporation | Computerized design automation method using a single logical PFVL paradigm |
US5905657A (en) * | 1996-12-19 | 1999-05-18 | Schlumberger Technology Corporation | Performing geoscience interpretation with simulated data |
US6112243A (en) * | 1996-12-30 | 2000-08-29 | Intel Corporation | Method and apparatus for allocating tasks to remote networked processors |
US5923552A (en) * | 1996-12-31 | 1999-07-13 | Buildnet, Inc. | Systems and methods for facilitating the exchange of information between separate business entities |
US6006230A (en) * | 1997-01-15 | 1999-12-21 | Sybase, Inc. | Database application development system with improved methods for distributing and executing objects across multiple tiers |
US6003065A (en) * | 1997-04-24 | 1999-12-14 | Sun Microsystems, Inc. | Method and system for distributed processing of applications on host and peripheral devices |
US6173322B1 (en) * | 1997-06-05 | 2001-01-09 | Silicon Graphics, Inc. | Network request distribution based on static rules and dynamic performance data |
US6058426A (en) * | 1997-07-14 | 2000-05-02 | International Business Machines Corporation | System and method for automatically managing computing resources in a distributed computing environment |
US5926775A (en) * | 1997-10-08 | 1999-07-20 | National Instruments Corporation | Mini driver software architecture for a data acquisition system |
US6697773B1 (en) * | 1998-05-19 | 2004-02-24 | Altera Corporation | Using assignment decision diagrams with control nodes for sequential review during behavioral simulation |
US6577981B1 (en) * | 1998-08-21 | 2003-06-10 | National Instruments Corporation | Test executive system and method including process models for improved configurability |
US6332211B1 (en) * | 1998-12-28 | 2001-12-18 | International Business Machines Corporation | System and method for developing test cases using a test object library |
US6397173B1 (en) * | 1999-05-03 | 2002-05-28 | Astec International Llc | Application specific waveform generator |
US6564326B2 (en) * | 1999-07-06 | 2003-05-13 | Walter A. Helbig, Sr. | Method and apparatus for enhancing computer system security |
US6463457B1 (en) * | 1999-08-26 | 2002-10-08 | Parabon Computation, Inc. | System and method for the establishment and the utilization of networked idle computational processing power |
US6993747B1 (en) * | 1999-08-30 | 2006-01-31 | Empirix Inc. | Method and system for web based software object testing |
US7139999B2 (en) * | 1999-08-31 | 2006-11-21 | Accenture Llp | Development architecture framework |
US7305475B2 (en) * | 1999-10-12 | 2007-12-04 | Webmd Health | System and method for enabling a client application to operate offline from a server |
AU2001249138A1 (en) * | 2000-03-10 | 2001-09-24 | Cyrano Sciences, Inc. | Measuring and analyzing multi-dimensional sensory information for identificationpurposes |
US7260635B2 (en) * | 2000-03-21 | 2007-08-21 | Centrisoft Corporation | Software, systems and methods for managing a distributed network |
US7254607B2 (en) * | 2000-03-30 | 2007-08-07 | United Devices, Inc. | Dynamic coordination and control of network connected devices for large-scale network site testing and associated architectures |
US20030154284A1 (en) * | 2000-05-31 | 2003-08-14 | James Bernardin | Distributed data propagator |
WO2001097076A2 (en) * | 2000-06-14 | 2001-12-20 | Parabon Computation, Inc. | Apparatus and method for providing sequence database comparison |
DE01951081T1 (de) * | 2000-06-19 | 2004-04-15 | P.C. Krause and Associates, Inc, West Lafayette | Verteilte simulation |
US20020019844A1 (en) * | 2000-07-06 | 2002-02-14 | Kurowski Scott J. | Method and system for network-distributed computing |
IL137296A (en) * | 2000-07-13 | 2009-09-01 | Nds Ltd | Configurable hardware system |
US6912522B2 (en) * | 2000-09-11 | 2005-06-28 | Ablesoft, Inc. | System, method and computer program product for optimization and acceleration of data transport and processing |
US6950874B2 (en) * | 2000-12-15 | 2005-09-27 | International Business Machines Corporation | Method and system for management of resource leases in an application framework system |
US20020161890A1 (en) * | 2000-12-22 | 2002-10-31 | Kailai Chen | System and method for intelligently distributing content over a communicatons network |
US20020087382A1 (en) * | 2001-01-03 | 2002-07-04 | Tiburcio Vincio B. | Method and system for assigning and tracking tasks, such as under an electronic auction |
WO2002056192A1 (en) * | 2001-01-09 | 2002-07-18 | Abt Associates, Inc. | Distributed computing |
US20020186384A1 (en) * | 2001-06-08 | 2002-12-12 | Winston Edward G. | Splitting a print job for improving print speed |
US7222265B1 (en) * | 2001-07-02 | 2007-05-22 | Lesuer Brian J | Automated software testing |
US7266808B2 (en) * | 2001-08-10 | 2007-09-04 | Parasoft Corporation | Method and system for dynamically invoking and/or checking conditions of a computer test program |
US20030036866A1 (en) * | 2001-08-14 | 2003-02-20 | Dinesh Nair | System and method for creating a test executive sequence to perform display inspection |
US7020699B2 (en) * | 2001-09-11 | 2006-03-28 | Sun Microsystems, Inc. | Test result analyzer in a distributed processing framework system and methods for implementing the same |
US6993772B2 (en) * | 2001-09-18 | 2006-01-31 | The Mathworks, Inc. | Common communication system for control instruments |
US6910158B2 (en) * | 2001-10-01 | 2005-06-21 | International Business Machines Corporation | Test tool and methods for facilitating testing of duplexed computer functions |
US7552443B2 (en) * | 2001-10-18 | 2009-06-23 | Bea Systems, Inc. | System and method for implementing an event adapter |
US7275048B2 (en) * | 2001-10-30 | 2007-09-25 | International Business Machines Corporation | Product support of computer-related products using intelligent agents |
WO2003038648A2 (en) * | 2001-10-31 | 2003-05-08 | Thermo Crs Ltd. | A backtracking resources planning algorithm |
US7117500B2 (en) * | 2001-12-20 | 2006-10-03 | Cadence Design Systems, Inc. | Mechanism for managing execution of interdependent aggregated processes |
US20030131088A1 (en) * | 2002-01-10 | 2003-07-10 | Ibm Corporation | Method and system for automatic selection of a test system in a network environment |
US7130891B2 (en) * | 2002-02-04 | 2006-10-31 | Datasynapse, Inc. | Score-based scheduling of service requests in a grid services computing platform |
US7093004B2 (en) * | 2002-02-04 | 2006-08-15 | Datasynapse, Inc. | Using execution statistics to select tasks for redundant assignment in a distributed computing platform |
US7376693B2 (en) * | 2002-02-08 | 2008-05-20 | Jp Morgan Chase & Company | System architecture for distributed computing and method of using the system |
WO2003088119A1 (en) * | 2002-04-08 | 2003-10-23 | Topcoder, Inc. | System and method for soliciting proposals for software development services |
US20040044909A1 (en) * | 2002-09-04 | 2004-03-04 | Mirza Absar Ahmed | Method and system for accessing an object behind a firewall |
US20040047356A1 (en) * | 2002-09-06 | 2004-03-11 | Bauer Blaine D. | Network traffic monitoring |
US7334219B2 (en) * | 2002-09-30 | 2008-02-19 | Ensco, Inc. | Method and system for object level software testing |
US7395536B2 (en) * | 2002-11-14 | 2008-07-01 | Sun Microsystems, Inc. | System and method for submitting and performing computational tasks in a distributed heterogeneous networked environment |
US7421683B2 (en) * | 2003-01-28 | 2008-09-02 | Newmerix Corp£ | Method for the use of information in an auxiliary data system in relation to automated testing of graphical user interface based applications |
US7209851B2 (en) * | 2003-02-14 | 2007-04-24 | Advantest America R&D Center, Inc. | Method and structure to develop a test program for semiconductor integrated circuits |
US20040167749A1 (en) * | 2003-02-21 | 2004-08-26 | Richard Friedman | Interface and method for testing a website |
US20040210866A1 (en) * | 2003-04-17 | 2004-10-21 | Richard Friedman | Method of creating a unit test framework to test a resource description framework based object |
CA2523279A1 (en) * | 2003-04-24 | 2004-11-11 | Secureinfo Corporation | Method, system and article of manufacture for data preservation and automated electronic software distribution across an enterprise system |
US7644408B2 (en) * | 2003-04-25 | 2010-01-05 | Spotware Technologies, Inc. | System for assigning and monitoring grid jobs on a computing grid |
US8055753B2 (en) * | 2003-06-11 | 2011-11-08 | International Business Machines Corporation | Peer to peer job monitoring and control in grid computing systems |
US6882951B2 (en) * | 2003-07-07 | 2005-04-19 | Dell Products L.P. | Method and system for information handling system automated and distributed test |
US20050034130A1 (en) * | 2003-08-05 | 2005-02-10 | International Business Machines Corporation | Balancing workload of a grid computing environment |
US7330281B2 (en) * | 2003-08-25 | 2008-02-12 | Sharp Laboratories Of America, Inc. | Systems and methods for providing imaging job control |
WO2005038429A2 (en) * | 2003-10-14 | 2005-04-28 | Verseon | Method and apparatus for analysis of molecular configurations and combinations |
WO2005038431A2 (en) * | 2003-10-14 | 2005-04-28 | Verseon | Method and device for partitioning a molecule |
US7490319B2 (en) * | 2003-11-04 | 2009-02-10 | Kimberly-Clark Worldwide, Inc. | Testing tool comprising an automated multidimensional traceability matrix for implementing and validating complex software systems |
US20060048157A1 (en) * | 2004-05-18 | 2006-03-02 | International Business Machines Corporation | Dynamic grid job distribution from any resource within a grid environment |
US7844969B2 (en) * | 2004-06-17 | 2010-11-30 | Platform Computing Corporation | Goal-oriented predictive scheduling in a grid environment |
US7860582B2 (en) * | 2004-06-23 | 2010-12-28 | National Instruments Corporation | Compact modular embedded device |
US7831680B2 (en) * | 2004-07-16 | 2010-11-09 | National Instruments Corporation | Deterministic communication between graphical programs executing on different computer systems |
US7886296B2 (en) * | 2004-07-22 | 2011-02-08 | Computer Associates Think, Inc. | System and method for providing alerts for heterogeneous jobs |
-
2005
- 2005-12-12 US US11/301,061 patent/US7908313B2/en not_active Expired - Fee Related
-
2006
- 2006-12-12 EP EP06845243A patent/EP1960877A2/en not_active Ceased
- 2006-12-12 JP JP2008545725A patent/JP5442999B2/ja not_active Expired - Fee Related
- 2006-12-12 WO PCT/US2006/047302 patent/WO2007070491A2/en active Application Filing
-
2007
- 2007-07-23 US US11/880,545 patent/US20080021951A1/en active Pending
-
2011
- 2011-03-10 US US13/045,243 patent/US20110167425A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US20110167425A1 (en) | 2011-07-07 |
JP2009519548A (ja) | 2009-05-14 |
WO2007070491A2 (en) | 2007-06-21 |
US20080021951A1 (en) | 2008-01-24 |
US7908313B2 (en) | 2011-03-15 |
WO2007070491A3 (en) | 2007-10-04 |
EP1960877A2 (en) | 2008-08-27 |
US20070124363A1 (en) | 2007-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5442999B2 (ja) | 計器に基づく分散計算方法 | |
US7454659B1 (en) | Distributed systems in test environments | |
US9507634B1 (en) | Methods and system for distributing technical computing tasks to technical computing workers | |
US9413850B2 (en) | Dynamic definition for concurrent computing environments | |
US7543184B2 (en) | System and method for distributing system tests in parallel computing environments | |
US8612980B2 (en) | Distribution of job in a portable format in distributed computing environments | |
US9582330B2 (en) | Methods and system for distributing data to technical computing workers | |
US8230424B2 (en) | General interface with arbitrary job managers | |
US8041790B2 (en) | Dynamic definition for concurrent computing environments | |
WO2015019074A1 (en) | Automated application test system | |
US8863130B2 (en) | Exception handling in a concurrent computing process | |
US10474523B1 (en) | Automated agent for the causal mapping of complex environments | |
US7502745B1 (en) | Interfaces to a job manager in distributed computing environments | |
JP5662665B2 (ja) | 並列コンピュータ・システム上の分析ルーチンを呼び出す方法、及びシステム(クエリ・インタフェースから並列コンピュータ・システムに対するプログラム呼び出し) | |
Amar et al. | Tunable scheduling in a GridRPC framework |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110628 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20110927 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20111004 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20111028 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20111206 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120406 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20120521 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20120611 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20120824 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20121225 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20130108 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20130125 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20130130 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20130225 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20130304 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20131030 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20131219 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |