×

Architecture and method for executing program builds

  • US 7,676,788 B1
  • Filed: 03/25/2003
  • Issued: 03/09/2010
  • Est. Priority Date: 03/25/2003
  • Status: Active Grant
First Claim
Patent Images

1. A system comprising:

  • a plurality of build machines, wherein each build machine includes a processor to execute instructions and a memory coupled with the processor to store instructions that when executed cause the processor to schedule jobs for a program build invoked by that build machine;

    a computing device including a memory to store program code and a processor to execute the program code to generate a cluster manager to dynamically allocate different ones of a plurality of nodes from a node cluster to different ones of the plurality of build machines for the program builds based on a specified configurable node allocation policy, wherein for each build machine the node allocation policy indicates which one or more of the nodes from the node cluster to allocate to that build machine based on a type of the program build invoked by that build machine;

    the plurality of nodes to execute the jobs for each of the program builds in parallel according to the schedule generated by the build machines; and

    a job scheduler module to analyze file dependency information contained within a first file, determine, based on the analysis, which jobs may be executed in parallel, and schedule the jobs which may be executed in parallel to execute in parallel across the plurality of nodes allocated by the cluster manager; and

    a usage tracking module to collect file usage information from each of the jobs, the nodes providing the file usage information to the build machine following the completion of each of the jobs, the usage tracking module to supplement the file dependency information with the file usage information following execution of one or more of the jobs;

    wherein the job scheduler module analyzes both the file dependency information and the file usage information contained in the first file and schedules jobs to execute in parallel for a subsequent program build based on the analysis of the file dependency information and the file usage information.

View all claims
  • 13 Assignments
Timeline View
Assignment View
    ×
    ×