Estimating a dominant resource used by a computer program
First Claim
Patent Images
1. A method for estimating a dominant computational resource which is used by a computer program, comprising:
- calculating, at a computer, a nesting level for a basic block in the computer program;
determining whether the nesting level is greater than a specified threshold;
in response to the nesting level being greater than the specified threshold, analyzing the basic block to determine a dominant computational resource used by the basic block;
estimating the dominant computational resource used by the computer program, which involves aggregating the determined dominant computational resources used by a plurality of basic blocks having nesting levels greater than the specified threshold; and
scheduling the computer program to run on a corresponding node in a multi-computer system based on the estimated dominant computational resource used by the computer program.
2 Assignments
0 Petitions
Accused Products
Abstract
A system that estimates a dominant computational resource which is used by a computer program. During operation, for each basic block in the computer program, the system determines a nesting level for the basic block. Next, the system selects basic blocks with nesting levels greater than a specified threshold. For each selected basic block, the system analyzes the basic block to estimate the dominant computational resource used by the basic block. The system then uses the estimated dominant computational resources for the selected basic blocks to estimate the dominant computational resource for the computer program.
37 Citations
14 Claims
-
1. A method for estimating a dominant computational resource which is used by a computer program, comprising:
-
calculating, at a computer, a nesting level for a basic block in the computer program;
determining whether the nesting level is greater than a specified threshold;in response to the nesting level being greater than the specified threshold, analyzing the basic block to determine a dominant computational resource used by the basic block; estimating the dominant computational resource used by the computer program, which involves aggregating the determined dominant computational resources used by a plurality of basic blocks having nesting levels greater than the specified threshold; and scheduling the computer program to run on a corresponding node in a multi-computer system based on the estimated dominant computational resource used by the computer program. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A non-transitory computer-readable storage medium storing instructions executed by a computer cause the computer to perform a method for estimating a dominant computational resource which is used by a computer program, wherein the method comprises:
-
calculating a nesting level for a basic block in the computer program;
determining whether the nesting level is greater than a specified threshold;in response to the nesting level being greater than the specified threshold, analyzing the basic block to determine a dominant computational resource used by the basic block; estimating the dominant computational resource used by the computer program, which involves aggregating the determined dominant computational resources used by a plurality of basic blocks having nesting levels greater than the specified threshold; and scheduling the computer program to run on a corresponding node in a multi-computer system based on the estimated dominant computational resource used by the computer program. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A multi-computer system that estimates a dominant computational resource which is used by a computer program, comprising:
-
a set of computational nodes; a computational resource estimation mechanism configured to; calculate a nesting level for a basic block in the computer program; determine whether the nesting level is greater than a specified threshold; in response to the nesting level being greater than the specified threshold, analyze the basic block to determine a dominant computational resource used by the selected basic blocks; and estimate the dominant computational resource used by the computer program, which involves aggregating the determined dominant computational resources used by a plurality of basic blocks having nesting levels greater than the specified threshold; and a scheduling mechanism configured to schedule the computer program to run on a corresponding computational node based on the estimated dominant computational resource used by the computer program. - View Dependent Claims (14)
-
Specification