JP5845812B2 - 分散コンピューティング環境におけるソフトウェアの解析の効率的な並列化のためのポリシーのスケジューリング - Google Patents
分散コンピューティング環境におけるソフトウェアの解析の効率的な並列化のためのポリシーのスケジューリング Download PDFInfo
- Publication number
- JP5845812B2 JP5845812B2 JP2011237627A JP2011237627A JP5845812B2 JP 5845812 B2 JP5845812 B2 JP 5845812B2 JP 2011237627 A JP2011237627 A JP 2011237627A JP 2011237627 A JP2011237627 A JP 2011237627A JP 5845812 B2 JP5845812 B2 JP 5845812B2
- Authority
- JP
- Japan
- Prior art keywords
- resource
- job
- queue
- initialization
- path
- 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
- 238000000034 method Methods 0.000 claims description 110
- 230000015654 memory Effects 0.000 claims description 27
- 238000010200 validation analysis Methods 0.000 claims description 8
- 238000004458 analytical method Methods 0.000 description 22
- 238000004364 calculation method Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 14
- 238000007689 inspection Methods 0.000 description 13
- 238000012795 verification Methods 0.000 description 10
- 230000008929 regeneration Effects 0.000 description 8
- 238000011069 regeneration method Methods 0.000 description 8
- 230000004044 response Effects 0.000 description 8
- 230000014509 gene expression Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000012360 testing method Methods 0.000 description 6
- 230000006399 behavior Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 230000003542 behavioural effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 238000011423 initialization method Methods 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000013514 software validation Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
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/5083—Techniques for rebalancing the load in a distributed system
-
- 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/3604—Software analysis for verifying properties of programs
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)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
Description
本出願は、“METHOD AND SYSTEM FOR EFFICIENT PARALLELIZATION OF A SOFTWARE VERIFICATION PROBLEM THROUGH INTELLIGENT LOAD BALANCING”と題された2010年10月29日に提出された米国特許仮出願61/408167の35U.S.C§119(e)の下での利益を特許請求するものである。
(2)所与のサブツリーの実行に費やされる時間−y;
(3)所与のサブツリーで調査される判定ノードの数−z;
(4)利用可能なリソースのリストにおいて使用されていないフリーのリソースの数−w;及び
(5)(a)ある経路上の平均時間−u及び(b)終了された経路−vの平均の深さ、のようなグローバルなレベルでの計算の履歴及び/又は統計量。
a*x+b*y+c*z+d*w+e*u+f*v>T
境界関数は、たとえば1以上の上述されたパラメータを使用して閾値を超えているかを判定するため、適切な計算又は判定を使用する。たとえば、複雑な論理式、2変数関数、非線形関数、又はファジー計算が境界関数として使用される。たとえば、待機しているワーカノードの数が10を超えた場合、ジョブの可用性の閾値は、他の要素に係らず、自動的に超えられる。別の例では、ジョブは、シンプルに終了され、全ての発見された新たなジョブを解放する。更に別の例では、待機しているワーカノードに対応する要素の重み付け値が増加される。係る例は、ジョブのキュー又は利用可能なリソースのリストがある最大値を超えたか、又はある最小量よりも下回ったかを調べることでトリガされる。
この閾値関数を超えて、ワーカノード106により遭遇される調査されていない分岐は、新たなジョブとして作成される。制約の値は、唯一の例を反映しており、特定のソフトウェアの解析で遭遇される特定の状況に依存して変化する。相対的な重み及びそれぞれの極性の議論は、例について以下に与えられる。
“x”は、実行が行われている計算ツリーの深さである。深さは、それぞれの記号による分岐のレベルで1だけ増加する。従って、計算が行われているツリーの深さが増加するときに、再生の非常に高いコストが、閾値に到達して新たなジョブを開始することが困難となることを意味するとき、定数“a”は、負である可能性がある。
“y”は、ワーカノード106が現在のジョブに関して計算している時間(秒)である。係る解析により費やされる時間が多くなると、解析を終了して、新たなジョブを生じる傾向が高くなることを意味する。従って、定数“b”は、典型的に正の値である。
“z”は、サブツリーで既に遭遇された判定ノードの数である。判定のサブツリーが余りに大きくなり過ぎた場合、ジョブを終了し及び/又は新たなジョブを生じる傾向が増加する。従って、定数“c”は、典型的に正である。サブツリーにおいて既に遭遇した非常に多くの判定ノードが、動的にバランスを取る必要がある作業負荷の程度に関して重要ではないとき、“c”の値は、比較的低い。
“w”は、利用可能なリソースのキューにおける使用されていないワーカノード106の数である。使用されていないワーカノードは、有すべき非常に悪い問題であり、係るように、定数“d”は、正であって且つ大きい。大きな数は、既存のジョブをすぐに終了すると同様に、より積極的に新たなジョブに広がる。新たなジョブは、現在実行しているジョブの終了までジョブのキューに追加されないリソースの可用性のポリシーの文脈では、係る定数は、ジョブのキューへの追加のために新たなジョブを解放するように非常に高い。係る状況では、ワーカノード106により発見される未解決の新たなジョブの数は、この要素を考慮する。
“u”は、ある経路に関する平均時間(秒)である。これは、現在のジョブ内の経路の平均時間であるか、又はスケジューラノード104により集められた全てのジョブにわたる平均時間である。この要素は、幾つかの有効な作業を完了するための最少の時間量を確定するか、又は、新たなジョブの頻繁な非生産的な発生を防止するために使用される。係るように、定数“e”は、負であり、分散ネットワークシステム100の速度に従って比較的小さい。この要素は、ジョブをワーカノード106に割り当てるオーバヘッド、及びワーカノード106とスケジュールノード104との間の通信のために性能が低下する、リソースの過剰なチャーニング(churning)、又は過剰な小さく且つ実体のないジョブの過剰な発生を防止するために使用される。
“v”は、ワーカノード106によりこれまでの遭遇した解析及び実行の経路の平均の深さである。これは、現在のジョブ内の経路の平均、又はスケジューラノード104により集められる全てのジョブの平均である。この要素は、所定の深さに到達したかを判定するために使用され、所定に深さに到達した場合に、新たなジョブを生じる。幾つかのケースでは、この要素は、深い実行のレベルを促進するために使用される。従って、定数“f”は、正又は負である。
上述されたように、ジョブの可用性及びリソースの可用性の閾値は、それぞれ、個別に又は一緒に決定される。スケジューラノード104は、ワーカノード106の使用を比較的最適にする要件に依存して、ワーカノード106について何れかの閾値を調節する。ジョブの可用性及びリソースの可用性の閾値は、互いに関して調節される。
(付記1)
ソフトウェアを検証する方法であって、
検証されるべきコードの一部をそれぞれのジョブが示す、ワーカノードにより実行される1以上のジョブの指示を含むジョブのキューにアクセスするステップと、
ソフトウェアの一部を検証するために利用可能な1以上のワーカノードの指示を含むリソースのキューにアクセスするステップと、
前記ジョブのキュー又は前記リソースのキューへの追加が行われる場合、前記ジョブのキューからのジョブを前記リソースのキューからのリソースに割り当てるステップとを含み、
前記リソースは、前記リソースのキューにおけるリソースのうちで、選択されたジョブの特性について最も適合するリソースを決定することで選択される、
ことを特徴とする方法。
(付記2)
前記ソフトウェアの検証は、コードに記号的実行を施すことを含む、
付記1記載の方法。
(付記3)
先入れ先出し方式に従って前記ジョブのキューからジョブを選択するステップを更に含む、
付記1記載の方法。
(付記4)
第一のリソースよりも第二のリソースを選択するステップを更に含み、
前記第一のリソースと前記第二のリソースは、選択されたジョブに対して同様に適合しており、前記第二のリソースは、前記第一のリソースのタイムスタンプよりも前のタイムスタンプを有する、
付記1記載の方法。
(付記5)
前記リソースのキューからのリソースを最も適合したリソースとして選択することは、どのリソースが前記選択されたジョブについて最も低い初期化のコストを有するかを判定することを含む、
付記1記載の方法。
(付記6)
どのリソースが前記選択されたジョブについて最も低い初期化のコストを有するかを判定することは、前記選択されたジョブの初期化の経路の状態と、前記選択されたリソースの終了の経路の状態とを判定することを含む、
付記5記載の方法。
(付記7)
どのリソースが最も低い初期化のコストを有するかを判定することは、所与のリソースについて、
引き返し及び再生手法を使用して、前記選択されたジョブの実行を初期化するコストを計算することと、前記引き返し及び再生手法は、前記終了の経路の状態から開始して、経路の状態が前記初期化の経路の状態のプレフィックスと同じになるまで、前記終了の経路の状態に到達するために要するプレディケートステップを引き返すこと、及び前記プレフィックスで開始して、前記初期化の経路の状態に到達するまで、前記初期化の経路の状態の残りのプレディケートステップを再生することを含み、
再生手法を使用して、前記選択されたジョブの実行を初期化するコストを計算することと、前記再生手法は、前記初期化の経路の状態のプレディケートステップを再生することを含み、
前記計算されたコストのうちの低い方のコストを、前記選択されたジョブの実行を初期化するコストとして決定することと、
を含む付記6記載の方法。
(付記8)
コンピュータ読み取り可能な記録媒体と、
前記コンピュータ読み取り可能な記録媒体に記録されるコンピュータ実行可能な命令とを含む製品であって、
前記コンピュータ実行可能な命令は、プロセッサにより読取り可能なであって、読み取られて実行されたときに、前記プロセッサに、
検証されるべきコードの一部をそれぞれのジョブが示す、ワーカノードにより実行される1以上のジョブの指示を含むジョブのキューにアクセスさせ、
ソフトウェアの一部を検証するために利用可能な1以上のワーカノードの指示を含むリソースのキューにアクセスさせ、
前記ジョブのキュー又は前記リソースのキューへの追加が行われる場合、前記ジョブのキューからのジョブを前記リソースのキューからのリソースに割り当てさせ、
前記リソースは、前記リソースのキューにおけるリソースのうちで、選択されたジョブの特性について最も適合するリソースを決定することで選択される、
ことを特徴とする製品。
(付記9)
前記ソフトウェアの検証は、コードに記号的実行を施すことを含む、
付記8記載の製品。
(付記10)
前記コンピュータ読み取り可能な命令は、前記プロセッサに、先入れ先出し方式に従って前記ジョブのキューからジョブを選択させる、
付記8記載の製品。
(付記11)
前記プロセッサに、第一のリソースよりも第二のリソースを選択させることを更に含み、
前記第一のリソースと前記第二のリソースは、選択されたジョブに対して同様に適合しており、前記第二のリソースは、前記第一のリソースのタイムスタンプよりも前のタイムスタンプを有する、
付記8記載の製品。
(付記12)
前記プロセッサに、前記リソースのキューからのリソースを最も適合したリソースとして選択させることは、どのリソースが前記選択されたジョブについて最も低い初期化のコストを有するかを判定させることを含む、
付記8記載の製品。
(付記13)
どのリソースが前記選択されたジョブについて最も低い初期化のコストを有するかを判定することは、前記選択されたジョブの初期化の経路の状態と、前記選択されたリソースの終了の経路の状態とを判定することを含む、
付記12記載の製品。
(付記14)
どのリソースが最も低い初期化のコストを有するかを判定することは、所与のリソースについて、
引き返し及び再生手法を使用して、前記選択されたジョブの実行を初期化するコストを計算することと、前記引き返し及び再生手法は、前記終了の経路の状態から開始して、経路の状態が前記初期化の経路の状態のプレフィックスと同じになるまで、前記終了の経路の状態に到達するために要するプレディケートステップを引き返すこと、及び前記プレフィックスで開始して、前記初期化の経路の状態に到達するまで、前記初期化の経路の状態の残りのプレディケートステップを再生することを含み、
再生手法を使用して、前記選択されたジョブの実行を初期化するコストを計算することと、前記再生手法は、前記初期化の経路の状態のプレディケートステップを再生することを含み、
前記計算されたコストのうちの低い方のコストを、前記選択されたジョブの実行を初期化するコストとして決定することと、
を含む付記13記載の製品。
(付記15)
ジョブのキューとリソースのキューとを含むメモリと、前記ジョブのキューは、検証されるべきコードの一部をそれぞれのジョブが示すワーカノードにより実行される1以上のジョブの指示を含み、前記リソースのキューは、検証されるべきコードの一部を検証するために利用可能な1以上のワーカノードの指示を含み、
前記メモリに結合されるプロセッサとを備える電子装置であって、
前記プロセッサは、
前記ジョブのキューにアクセスし、
前記リソースのキューにアクセスし、
前記ジョブのキュー又は前記リソースのキューへの追加が行われる場合、前記ジョブのキューからのジョブを前記リソースのキューからのリソースに割り当て、
前記リソースは、前記リソースのキューにおけるリソースのうちで、選択されたジョブの特性について最も適合するリソースを決定することで選択される、
ことを特徴とする電子装置。
(付記16)
前記ソフトウェアの検証は、コードに記号的実行を施すことを含む、
付記15記載の電子装置。
(付記17)
前記ジョブのキューと前記リソースのキューは、前記メモリに含まれる、
付記15記載の電子装置。
(付記18)
前記プロセッサは、第一のリソースよりも第二のリソースを選択し、
前記第一のリソースと前記第二のリソースは、選択されたジョブに対して同様に適合しており、前記第二のリソースは、前記第一のリソースのタイムスタンプよりも前のタイムスタンプを有する、
付記15記載の電子装置。
(付記19)
前記プロセッサは、前記リソースのキューからのリソースを最も適合したリソースとして選択することは、どのリソースが前記選択されたジョブについて最も低い初期化のコストを有するかを判定することを含む、
付記15記載の電子装置。
(付記20)
どのリソースが前記選択されたジョブについて最も低い初期化のコストを有するかを判定することは、前記選択されたジョブの初期化の経路の状態と、前記選択されたリソースの終了の経路の状態とを判定することを含む、
付記16記載の電子装置。
(付記21)
どのリソースが最も低い初期化のコストを有するかを判定することは、所与のリソースについて、
引き返し及び再生手法を使用して、前記選択されたジョブの実行を初期化するコストを計算することと、前記引き返し及び再生手法は、前記終了の経路の状態から開始して、経路の状態が前記初期化の経路の状態のプレフィックスと同じになるまで、前記終了の経路の状態に到達するために要するプレディケートステップを引き返すこと、及び前記プレフィックスで開始して、前記初期化の経路の状態に到達するまで、前記初期化の経路の状態の残りのプレディケートステップを再生することを含み、
再生手法を使用して、前記選択されたジョブの実行を初期化するコストを計算することと、前記再生手法は、前記初期化の経路の状態のプレディケートステップを再生することを含み、
前記計算されたコストのうちの低い方のコストを、前記選択されたジョブの実行を初期化するコストとして決定することと、
を含む付記19記載の電子装置。
102:ネットワーク
104:スケジューラノード
106:ワーカノード
108:検証のウェブサービス
Claims (20)
- ソフトウェアを検証する方法であって、
ワーカノードにより実行される1以上のジョブの指示を含むジョブのキューにアクセスするステップであって、前記ジョブの中に検証されるべきコードの一部が指示される、ステップと、
ソフトウェアの一部を検証するために利用可能な1以上のワーカノードの指示を含むリソースのキューにアクセスするステップと、
前記ジョブのキュー又は前記リソースのキューへの追加が行われる場合、前記ジョブのキューからのジョブを前記リソースのキューからのリソースに割り当てるステップとを含み、
前記リソースは、前記リソースのキューにおけるリソースのうちで、選択されたジョブの特性について最も適合するリソースを決定することで選択される、
ことを特徴とする方法。 - 前記ソフトウェアの検証は、コードに記号的実行を施すことを含む、
請求項1記載の方法。 - 先入れ先出し方式に従って前記ジョブのキューからジョブを選択するステップを更に含む、
請求項1記載の方法。 - 第一のリソースよりも第二のリソースを選択するステップを更に含み、
前記第一のリソースと前記第二のリソースは、選択されたジョブに対して同様に適合しており、前記第二のリソースは、前記第一のリソースのタイムスタンプよりも前のタイムスタンプを有する、
請求項1記載の方法。 - 前記リソースのキューからのリソースを最も適合したリソースとして選択することは、どのリソースが前記選択されたジョブについて最も低い初期化のコストを有するかを判定することを含む、
請求項1記載の方法。 - どのリソースが前記選択されたジョブについて最も低い初期化のコストを有するかを判定することは、前記選択されたジョブの初期化の経路の状態と、前記選択されたリソースの終了の経路の状態とを判定することを含む、
請求項5記載の方法。 - どのリソースが最も低い初期化のコストを有するかを判定することは、所与のリソースについて、
引き返し及び再生手法を使用して、前記選択されたジョブの実行を初期化するコストを計算することと、前記引き返し及び再生手法は、前記終了の経路の状態から開始して、経路の状態が前記初期化の経路の状態のプレフィックスと同じになるまで、前記終了の経路の状態に到達するために要するプレディケートを引き返すこと、及び前記プレフィックスで開始して、前記初期化の経路の状態に到達するまで、前記初期化の経路の状態の残りのプレディケートを再生することを含み、
再生手法を使用して、前記選択されたジョブの実行を初期化するコストを計算することと、前記再生手法は、前記初期化の経路の状態のプレディケートを再生することを含み、
前記計算されたコストのうちの低い方のコストを、前記選択されたジョブの実行を初期化するコストとして決定することと、
を含む請求項6記載の方法。 - コンピュータに、
ワーカノードにより実行される1以上のジョブの指示を含むジョブのキューにアクセスするステップであって、前記ジョブの中に検証されるべきコードの一部が指示される、ステップと、
ソフトウェアの一部を検証するために利用可能な1以上のワーカノードの指示を含むリソースのキューにアクセスするステップと、
前記ジョブのキュー又は前記リソースのキューへの追加が行われる場合、前記ジョブのキューからのジョブを前記リソースのキューからのリソースに割り当てるステップと、
を含むソフトウェアを検証する方法であって、
前記リソースは、前記リソースのキューにおけるリソースのうちで、選択されたジョブの特性について最も適合するリソースを決定することで選択される、
ソフトウェアを検証する方法を実行させるための命令を含むプログラムを記録したコンピュータ読み取り可能な記録媒体。 - 前記ソフトウェアの検証は、コードに記号的実行を施すことを含む、
請求項8記載のコンピュータ読み取り可能な記録媒体。 - 前記方法は、先入れ先出し方式に従って前記ジョブのキューからジョブを選択するステップを含む、
請求項8記載のコンピュータ読み取り可能な記録媒体。 - 前記方法は、第一のリソースよりも第二のリソースを選択するステップを更に含み、
前記第一のリソースと前記第二のリソースは、選択されたジョブに対して同様に適合しており、前記第二のリソースは、前記第一のリソースのタイムスタンプよりも前のタイムスタンプを有する、
請求項8記載のコンピュータ読み取り可能な記録媒体。 - 前記リソースのキューからのリソースを最も適合したリソースとして選択することは、どのリソースが前記選択されたジョブについて最も低い初期化のコストを有するかを判定することを含む、
請求項8記載のコンピュータ読み取り可能な記録媒体。 - どのリソースが前記選択されたジョブについて最も低い初期化のコストを有するかを判定することは、前記選択されたジョブの初期化の経路の状態と、前記選択されたリソースの終了の経路の状態とを判定することを含む、
請求項12記載のコンピュータ読み取り可能な記録媒体。 - どのリソースが最も低い初期化のコストを有するかを判定することは、所与のリソースについて、
引き返し及び再生手法を使用して、前記選択されたジョブの実行を初期化するコストを計算することと、前記引き返し及び再生手法は、前記終了の経路の状態から開始して、経路の状態が前記初期化の経路の状態のプレフィックスと同じになるまで、前記終了の経路の状態に到達するために要するプレディケートを引き返すこと、及び前記プレフィックスで開始して、前記初期化の経路の状態に到達するまで、前記初期化の経路の状態の残りのプレディケートを再生することを含み、
再生手法を使用して、前記選択されたジョブの実行を初期化するコストを計算することと、前記再生手法は、前記初期化の経路の状態のプレディケートを再生することを含み、
前記計算されたコストのうちの低い方のコストを、前記選択されたジョブの実行を初期化するコストとして決定することと、
を含む請求項13記載のコンピュータ読み取り可能な記録媒体。 - ワーカノードにより実行される1以上のジョブの指示を含むジョブのキューと、検証されるべきコードの一部を検証するために利用可能な1以上のワーカノードの指示を含むリソースのキューとを含むメモリであって、前記ジョブの中に検証されるべきコードの一部が指示される、メモリと、
前記メモリに結合されるプロセッサとを備える電子装置であって、
前記プロセッサは、
前記ジョブのキューにアクセスし、
前記リソースのキューにアクセスし、
前記ジョブのキュー又は前記リソースのキューへの追加が行われる場合、前記ジョブのキューからのジョブを前記リソースのキューからのリソースに割り当て、
前記リソースは、前記リソースのキューにおけるリソースのうちで、選択されたジョブの特性について最も適合するリソースを決定することで選択される、
ことを特徴とするソフトウェアを検証する電子装置。 - 前記ソフトウェアの検証は、コードに記号的実行を施すことを含む、
請求項15記載の電子装置。 - 前記プロセッサは、第一のリソースよりも第二のリソースを選択し、
前記第一のリソースと前記第二のリソースは、選択されたジョブに対して同様に適合しており、前記第二のリソースは、前記第一のリソースのタイムスタンプよりも前のタイムスタンプを有する、
請求項15記載の電子装置。 - 前記プロセッサは、前記リソースのキューからのリソースを最も適合したリソースとして選択することは、どのリソースが前記選択されたジョブについて最も低い初期化のコストを有するかを判定することを含む、
請求項15記載の電子装置。 - どのリソースが前記選択されたジョブについて最も低い初期化のコストを有するかを判定することは、前記選択されたジョブの初期化の経路の状態と、前記選択されたリソースの終了の経路の状態とを判定することを含む、
請求項16記載の電子装置。 - どのリソースが最も低い初期化のコストを有するかを判定することは、所与のリソースについて、
引き返し及び再生手法を使用して、前記選択されたジョブの実行を初期化するコストを計算することと、前記引き返し及び再生手法は、前記終了の経路の状態から開始して、経路の状態が前記初期化の経路の状態のプレフィックスと同じになるまで、前記終了の経路の状態に到達するために要するプレディケートを引き返すこと、及び前記プレフィックスで開始して、前記初期化の経路の状態に到達するまで、前記初期化の経路の状態の残りのプレディケートを再生することを含み、
再生手法を使用して、前記選択されたジョブの実行を初期化するコストを計算することと、前記再生手法は、前記初期化の経路の状態のプレディケートを再生することを含み、
前記計算されたコストのうちの低い方のコストを、前記選択されたジョブの実行を初期化するコストとして決定することと、
を含む請求項19記載の電子装置。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US40816710P | 2010-10-29 | 2010-10-29 | |
US61/408,167 | 2010-10-29 | ||
US12/957,392 US8789054B2 (en) | 2010-10-29 | 2010-11-30 | Scheduling policy for efficient parallelization of software analysis in a distributed computing environment |
US12/957,392 | 2010-11-30 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012099110A JP2012099110A (ja) | 2012-05-24 |
JP5845812B2 true JP5845812B2 (ja) | 2016-01-20 |
Family
ID=45047579
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011237627A Expired - Fee Related JP5845812B2 (ja) | 2010-10-29 | 2011-10-28 | 分散コンピューティング環境におけるソフトウェアの解析の効率的な並列化のためのポリシーのスケジューリング |
Country Status (3)
Country | Link |
---|---|
US (1) | US8789054B2 (ja) |
EP (1) | EP2447841B1 (ja) |
JP (1) | JP5845812B2 (ja) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8504997B2 (en) | 2009-03-19 | 2013-08-06 | Fujitsu Limited | Environment data refinement based on static analysis and symbolic execution |
US8479171B2 (en) * | 2010-05-24 | 2013-07-02 | Fujitsu Limited | Generating test sets using intelligent variable selection and test set compaction |
US8863133B2 (en) * | 2011-06-02 | 2014-10-14 | Microsoft Corporation | License management in a cluster environment |
US8645924B2 (en) * | 2011-06-06 | 2014-02-04 | Fujitsu Limited | Lossless path reduction for efficient symbolic execution and automatic test generation |
US8713572B2 (en) * | 2011-09-15 | 2014-04-29 | International Business Machines Corporation | Methods, systems, and physical computer storage media for processing a plurality of input/output request jobs |
US9378120B2 (en) * | 2011-11-09 | 2016-06-28 | Tata Consultancy Services Limited | Automated test execution plan derivation system and method |
US9183396B2 (en) * | 2012-05-21 | 2015-11-10 | Carnegie Mellon University | Detecting exploitable bugs in binary code |
KR102052964B1 (ko) * | 2013-03-12 | 2019-12-06 | 삼성전자 주식회사 | 컴퓨팅 스케줄링 방법 및 시스템 |
JP2015095132A (ja) * | 2013-11-13 | 2015-05-18 | 富士通株式会社 | 情報処理システム、情報処理システムの制御方法及び管理装置の制御プログラム |
US11182209B2 (en) * | 2018-09-21 | 2021-11-23 | Google Llc | Distributed job scheduling system |
EP3970012A1 (en) * | 2019-07-17 | 2022-03-23 | Google LLC | Scheduling operations on a computation graph |
US11792482B2 (en) | 2020-10-14 | 2023-10-17 | Dish Network L.L.C. | Visual testing based on machine learning and automated workflow |
CN113032125B (zh) * | 2021-04-02 | 2024-08-16 | 京东科技控股股份有限公司 | 作业调度方法、装置、计算机系统和计算机可读存储介质 |
US11989120B2 (en) * | 2021-05-25 | 2024-05-21 | Dish Network L.L.C. | Visual testing issue reproduction based on communication of automated workflow |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6289502B1 (en) * | 1997-09-26 | 2001-09-11 | Massachusetts Institute Of Technology | Model-based software design and validation |
CA2297994A1 (en) * | 2000-02-04 | 2001-08-04 | Ibm Canada Limited-Ibm Canada Limitee | Automated testing computer system components |
US7584455B2 (en) * | 2003-10-23 | 2009-09-01 | Microsoft Corporation | Predicate-based test coverage and generation |
US20080082969A1 (en) | 2006-04-04 | 2008-04-03 | The Board Of Trustees Of The University Of Illinois | Software Testing Technique Supporting Dynamic Data Structures |
US7945416B2 (en) | 2006-04-12 | 2011-05-17 | Ati Technologies, Ulc | Software or hardware test apparatus and method |
US8544014B2 (en) * | 2007-07-24 | 2013-09-24 | Microsoft Corporation | Scheduling threads in multi-core systems |
US8122436B2 (en) * | 2007-11-16 | 2012-02-21 | Microsoft Corporation | Privacy enhanced error reports |
US8359576B2 (en) | 2008-11-14 | 2013-01-22 | Fujitsu Limited | Using symbolic execution to check global temporal requirements in an application |
US8141097B2 (en) | 2008-12-10 | 2012-03-20 | International Business Machines Corporation | Test management system and method |
-
2010
- 2010-11-30 US US12/957,392 patent/US8789054B2/en active Active
-
2011
- 2011-10-27 EP EP11186967.3A patent/EP2447841B1/en active Active
- 2011-10-28 JP JP2011237627A patent/JP5845812B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20120110591A1 (en) | 2012-05-03 |
EP2447841B1 (en) | 2018-07-11 |
US8789054B2 (en) | 2014-07-22 |
EP2447841A1 (en) | 2012-05-02 |
JP2012099110A (ja) | 2012-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5845809B2 (ja) | 知的且つ動的なロードバランシングによる、分散コンピューティング環境におけるソフトウェアの解析の効率的な並列化の手法 | |
JP5845812B2 (ja) | 分散コンピューティング環境におけるソフトウェアの解析の効率的な並列化のためのポリシーのスケジューリング | |
JP5845813B2 (ja) | 分散コンピューティング環境におけるソフトウェアの解析の効率的な並列化のためのノードの計算の初期化手法 | |
JP5845811B2 (ja) | 分散コンピューティング環境におけるソフトウェアの解析の効率的な並列化のための動的且つ知的な部分的計算管理 | |
JP5845810B2 (ja) | 分散コンピューティング環境におけるソフトウェアの解析の並列化のための効率的な部分計算 | |
US20060112388A1 (en) | Method for dynamic scheduling in a distributed environment | |
US7467291B1 (en) | System and method for calibrating headroom margin | |
Gibilisco et al. | Stage aware performance modeling of dag based in memory analytic platforms | |
US9250886B2 (en) | Optimizing provisioning workflows in cloud computing | |
BR112015019167B1 (pt) | Método realizado por um processador de computador e sistema | |
JP2007140710A (ja) | タスク割り当て方法およびタスク割り当て装置 | |
CN108459966B (zh) | 测试组件的调度方法、装置、设备和计算机可读存储介质 | |
Shperberg et al. | Allocating planning effort when actions expire | |
Lattuada et al. | Optimal resource allocation of cloud-based spark applications | |
Martinec et al. | Constructing performance model of JMS middleware platform | |
Antonescu et al. | Improving management of distributed services using correlations and predictions in SLA-driven cloud computing systems | |
Foroni et al. | Moira: A goal-oriented incremental machine learning approach to dynamic resource cost estimation in distributed stream processing systems | |
Wu et al. | Latency modeling and minimization for large-scale scientific workflows in distributed network environments | |
Jatain et al. | A systematic review of techniques for test case prioritization | |
US7797692B1 (en) | Estimating a dominant resource used by a computer program | |
Jin | Virtualization technology for computing system: Opportunities and challenges | |
Wang et al. | Reliability-driven reputation based scheduling for public-resource computing using ga | |
Bardhan et al. | A contention aware hybrid evaluator for schedulers of big data applications in computer clusters | |
KR100856468B1 (ko) | 임베디드 소프트웨어의 객체지향 태스크 모델을멀티프로세서 시스템 온 칩 하드웨어 아키텍처로 자동할당하기 위한 방법 | |
Antoniu et al. | Letter of the program chairs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140704 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150227 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150310 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150416 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20151027 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20151109 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5845812 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |