TECHNIQUE FOR EFFICIENT PARALLELIZATION OF SOFTWARE ANALYSIS IN A DISTRIBUTED COMPUTING ENVIRONMENT THROUGH INTELLIGENT DYNAMIC LOAD BALANCING
First Claim
1. A distributed computing system, comprising:
- two or more worker nodes, the worker nodes configured to execute a job comprising a portion of code to be verified; and
a scheduler node comprising a processor coupled to a memory, wherein;
the memory comprises;
a resource queue indicating a plurality of worker nodes available to verify a portion of code; and
a job queue indicating one or more jobs to be executed by a worker node, each job indicating a portion of a code to be verified;
the scheduler node is configured to determine whether the resource queue and the job queue contain entries;
if both the resource queue and the job queue contain entries, the scheduler node is configured to;
apply a scheduling policy to select a first job;
select a first worker node as a best match for the characteristics of the first job among the resource queue entries;
assign the first job to the first worker node;
assign parameters to the first worker node for a job creation policy for creating new jobs in the job queue while executing the first job; and
assign parameters to the first worker node for a termination policy for halting execution of the first job.
1 Assignment
0 Petitions
Accused Products
Abstract
A method for verifying software includes monitoring a resource queue and a job queue, determining whether the resource queue and the job queue contain entries, and if both the resource queue and the job queue contain entries, then applying a scheduling policy to select a job, selecting a worker node as a best match for the characteristics of the job among the resource queue entries, assigning the job to the worker node, assigning parameters to the worker node for a job creation policy for creating new jobs in the job queue while executing the job, and assigning parameters to the worker node for a termination policy for halting execution of the job. The resource queue indicates worker nodes available to verify a portion of code. The job queue indicates one or more jobs to be executed by a worker node. A job includes a portion of code to be verified.
44 Citations
30 Claims
-
1. A distributed computing system, comprising:
-
two or more worker nodes, the worker nodes configured to execute a job comprising a portion of code to be verified; and a scheduler node comprising a processor coupled to a memory, wherein; the memory comprises; a resource queue indicating a plurality of worker nodes available to verify a portion of code; and a job queue indicating one or more jobs to be executed by a worker node, each job indicating a portion of a code to be verified; the scheduler node is configured to determine whether the resource queue and the job queue contain entries; if both the resource queue and the job queue contain entries, the scheduler node is configured to; apply a scheduling policy to select a first job; select a first worker node as a best match for the characteristics of the first job among the resource queue entries; assign the first job to the first worker node; assign parameters to the first worker node for a job creation policy for creating new jobs in the job queue while executing the first job; and assign parameters to the first worker node for a termination policy for halting execution of the first job. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method for verifying software, comprising:
-
monitoring a resource queue and a job queue;
whereinthe resource queue indicates a plurality of worker nodes available to verify a portion of code; the job queue indicates one or more jobs to be executed by a worker node; and a job comprises a portion of code to be verified; determining whether the resource queue and the job queue contain entries; if both the resource queue and the job queue contain entries; applying a scheduling policy to select a first job; selecting a first worker node as a best match for the characteristics of the first job among the resource queue entries; assigning the first job to the first worker node; assigning parameters to the first worker node for a job creation policy for creating new jobs in the job queue while executing the first job; and assigning parameters to the first worker node for a termination policy for halting execution of the first job. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. An article of manufacture comprising:
-
a computer readable medium; and computer-executable instructions carried on the computer readable medium, the instructions readable by a processor, the instructions, when read and executed, for causing the processor to; monitor a resource queue and a job queue, wherein; the resource queue indicates a plurality of worker nodes available to verify a portion of code; the job queue indicates one or more jobs to be executed by a worker node; and a job comprises a portion of code to be verified; determine whether the resource queue and the job queue contain entries; if both the resource queue and the job queue contain entries; apply a scheduling policy to select a first job; select a first worker node as a best match for the characteristics of the first job among the resource queue entries; and assign the first job to the first worker node; assign parameters to the first worker node for a job creation policy for creating new jobs in the job queue while executing the first job; and assign parameters to the first worker node for a termination policy for halting execution of the first job. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30)
-
Specification