Distributed compiling
AssigneeIntel Corporation
InventorMuralidharan Sundararajan
Life of this patent
Estimating the term…
Abstract
A method and apparatus for distributing compiling jobs among a number of sub-contractor computers in a network is described. The method involves publishing job-shops, which are computer capability descriptions of the sub-contractor computer to a network resource scheduler computer. The network resource scheduling computer compares modules of a compiling task sent from client computers with the published job-shops and forwards the modules as jobs to the chosen sub-contractor computer for completion.
Claims21
A method of compiling comprising:
- receiving a plurality of modules, each module in the plurality of modules representing a portion of a compiling task;
- choosing a plurality of corresponding sub-contracting computers to process the plurality of modules, the choosing of the plurality of corresponding subcontracting computers based on job-shops generated by the corresponding sub-contracting computers;
- transmitting each module as a job to a corresponding sub-contracting computer;
- and
- combining the output of the sub-contracting computers to generate a compiled task.
A network resource scheduling computer comprising:
- a memory storing a plurality of job-shops corresponding to a plurality of sub-contracting computers;
- a connection configured to receive a compiling task from a client computer;
- and
- a processor to match modules of the compiling task with matching job-shop.
A sub-contractor computer comprising:
- a memory to store a job-shop which describes the capabilities of the sub-contractor computer;
- a connection to publish the job-shop to a network resource scheduling computer and to receive a module to be compiled from the network resource scheduling computer, the module to be compiled corresponding to the job-shop published;
- and a processor for compiling the module and notifying the network resource scheduling computer of completion of the compiling of the module.
A network resource scheduling computer for handling a compiling task comprising:
- a memory storing a plurality of job-shops corresponding to a plurality of sub-contractor computers;
- a connection configured to receive modules representing portions of a compiling task from a client computer;
- and
- a processor to assign each module to a matching job-shop.
A sub-contractor computer comprising:
- a memory to store a job-shop which describes the capabilities of the sub-contractor computer;
- a connection configured to publish the job-shop to a network resource scheduling computer and to receive a matching job corresponding to a module of a compiling task from the network resource scheduling computer;
- and
- a processor for processing the matching job and notifying the network resource scheduling computer of completion of the matching job.
A method of processing tasks comprising:
- generating a job-shop describing the capabilities of a sub-contractor computer;
- publishing the job-shop;
- receiving a job corresponding to a module of a compiling task;
- matching the job to a published job-shop;
- processing the job to produce a result;
- and
- transmitting the result to a client computer.
Dependencies are inferred from the claim text.