| Youfeng Wu and James R. Larus. "Static branch frequency and program profile analysis," in MICRO -- International Symposium on Microarchitecture, 1994. |
....The weight W f l (u; v) attached to the edge (u; v) 2 E f l is a nonnegative integer representing the frequency of its execution. The edge profiling information required can be gathered via code instrumentation [5] statistic sampling of the program counter [3] or static program based heuristics [6, 27]. An edge profile has less runtime overhead to collect than a path profile [7] The information contained in an edge profile, while less than a path profile, is sufficient to guarantee computationally optimal results. Let n 2 N f l be a node in a flow graph G f l . We write pred(n) fm j (m; n) ....
Y. Wu and J. R. Larus. Static branch frequency and program profile analysis. In 27th International Symposium on Microarchitecture, pages 1--11, 1994. 12
....byWagner et al. 18] Both approaches are heuristics driven. Attempts to improve the performance of heuristics based on studying a corpus of existing programs was described by Calder et al. 4] where neural networks were employed. The work of Ball and Larus was also extended in Wu and Larus [21]by the use of the Dempster Shafer theory of evidence. However, it was shown by Calder et al. in [5] that this method is susceptible to differences in compilers and architectures as it was based on a prior prediction of object code. Recentworks such as that of Grunwald, Lindsay, and Zorn [11] ....
Y. Wu, and J. R. Larus. (1994) Static BranchFrequency and Program Profile Analysis. Proc. of MICRO-27. 1-11. 20
....However, many researchers believe that collecting profile information is too costly or time consuming, and that many programmers may not collect such information. Thus, there has been considerable interest in heuristic prediction, or predicting the behavior of program from the program s structure [1, 4, 16, 14]. These methods use heuristics or statistical information to predict a programs behavior. They have reasonable prediction accuracy, predicting the direction of 75 to 80 of the conditional branches in a given program. These techniques can then be applied at compile time to guide the same compiler ....
....time without profile information. By comparison, perfect profile prediction had a 8 miss rate for the same collection of programs. Other studies by Wagner et al. and Wu and Larus have focused on using these heuristics and other techniques to fully estimate a programs behavior at compile time [14, 16]. We examined an alternative technique for predicting program behavior by combining profile information gathered from a number of applications. We collected a feature vector describing an individual conditional branch, and then use various machine learning techniques to determine what ....
[Article contains additional citation context not shown here]
Youfeng Wu and James R. Larus. Static branch frequency and program profile analysis. In 27th International Symposium on Microarchitecture, pages 1--11, San Jose, Ca, November 1994. IEEE.
....Systems. Sjodin is at IAR Systems and Uppsala University. Froderberg is at Uppsala University. Lindgren is at Ericsson Telecom AB. gram, or to generate input for the application. If the program is changed, the profiling must be redone. A better option would be a static program profile analysis [WL94] that does not require any intervention from the programmer. This is our approach for allocating non scalar global data. We have analyzed whole applications written in C, and tested the efficiency of allocating data with static and dynamic profiles by comparing the number of accesses to on chip ....
....graph. This change may affect points to analysis, and therefore the pointer analysis is repeated after the elimination. 2.3 Static Profiling The next step is to estimate the execution frequencies of the basic blocks of all procedures. We use a static frequency analysis developed by Wu and Larus [WL94]. The algorithm uses a set of heuristics to assign branch probabilities to each branch in a function. The heuristics look at dominator, postdominator and loop relations between a branch and the target code of the branch. After assigning probabilities, local block frequencies are computed which ....
Youfeng Wu and James R. Larus. Static branch frequency and program profile analysis. In 27th International Symposium on Microarchitecture, San Jose, California, November 1994.
....just a variable or a constant. Thus for instance a variable whose value is a uniformly distributed even number in the interval 0 to 10 would be represented as 1:0[0; 10; 2] Patterson compares the value range propagation algorithm against an extension of the Ball and Larus heuristics, reported in [32], where the heuristics are combined in a different way to yield propabilities, rather than just an indication about whether the probability is above or below 50 . He also compares with probabilities derived from profiling the program using different inputs. The results indicate that profiling is ....
Youfeng Wu and James R. Larus. Static branch frequency and program profile analysis. Technical Report 1248, University of Wisconsin, Computer Sciences Department, September 1994.
....tends to outperform the previously described methods by averaging 75 accuracy [16] Information gathered from profiling has been used to decrease the effects of branches on performance. The profile of a program gives the number of times that a basic block and control flow direction is executed [13]. The technique of profiling [4, 5, 6] uses data gathered from previous runs to determine the path 11 tendencies of branches. Most branches have a strong bias towards being either mostly TAKEN or mostly NOT TAKEN. These biases can be found by running the program and keeping track of their ....
....higher accuracy. The second model, the limiting two bit predictor, will take the opposite approach, letting cost be a factor. 29 Predictor scheme Type Reference Average Accuracy Cost Branch Always static [16] 60 0 BTFNT static [9, 16] 70 0 Opcode based static [1, 16] 75 0 Profiling static [4, 5, 6, 13] 85 0 One bit dynamic [9, 16] 85 n Two bit dynamic [16] 92 2n GAs(11,32) dynamic [16] 97 128K PAs(6,16) dynamic [16] 96 8K gshare(12) dynamic [7] 93 8K gshare(18) PAs(15,4) dynamic [3, 7] 97 128K Table 2.2: Summary of Branch Prediction Schemes 30 Chapter 3 Assigning Confidence to Branch ....
Yougend Wu and James R. Larus. Static branch frequency and program profile analysis. In Proceedings of the 27th Annual International Symposium on Microarchitecture (MICRO-27), pages 1--11, Nov 1994. 74
....this project was to try and measure the average number of times a loop is executed over a reasonably large set of programs and input sets. A minor goal of the project was to see if better estimates could be made if some of the loop test parameters are known. Motivation Static branch prediction [4,5] does reasonably well for backwards branches (i.e. branches at the bottom of loops) and yet little is known about the average number of times a loop is executed. When trying to predict the behavior of a program, small differences in the number of times a loop is executed can make substantial ....
Y. Wu and J. Larus. Static branch frequency and program profile analysis. IEEE 27th International Symposium on Microarchitecture, November 1994.
....with the first heuristic from the predetermined ordering. All other heuristics are discarded. The average misprediction rate of Ball Larus heuristics is 20 30 , while the misprediction rate achieved for profile based branch prediction is about 10 for the same benchmark suite. Wu and Larus [19] extended the Ball Larus technique, applying the Dempster Shafer theorem [20, 21] in order to calculate the probability for each path in the control flow graph to be taken. Using probabilities rather than binary predictions allows the determination of the set of most active paths in the control ....
....6 Combining Predictions Usually several heuristics apply to a branch. In order to combine the predictions made by the heuristics, we have used the Dempster Shafer theory of evidence [20] 21] We have modified the algorithm proposed by Wu and Larus in order to calculate branch probabilities [19]. Given the control flow graph G for a function, we assign the initial probabilities to taken and not taken edges for every conditional branch. An initial value can be 0.5 if we start by applying our heuristics or it may be the probability values obtained from first applying the Ball Wu Larus ....
Youfeng Wu and James R. Larus. Static Branch Frequency and Program Profile Analysis. In Proc. of the 27th Annual International Symposium on Microarchitecture, pages 1--11, November 1994.
....to generate traces to perform optimizations. For this they used a subset of the Ball and Larus heuristics [1] They showed that building an estimated superblock based on static heuristics can achieve performance, when used for optimization, close to that of using real profiles. Wu and Larus [32] extended the heuristic work of Ball and Larus [1] to produce a statically estimated profile by calculating the probability of a branch being taken and estimated execution frequencies. Their work builds probability assignments to weight the outcome of branches using the Dempster Shafer Theory ....
Y. Wu and J.R. Larus. Static branch frequency and program profile analysis. In 27th International Symposium on Microarchitecture, pages 1--11, San Jose, Ca, November 1994. IEEE.
....these and other studies [5, 7, 8] have promoted the advantage of using profile based optimizations as a means to improve program performance. 2. 1 Related Estimated Profile Work A number of researchers have investigated using static branch prediction techniques to estimate overall program behavior [12, 20, 24, 26, 29, 30]. Recently we have developed a strategy called Evidencebased Static Prediction (ESP) using profiles from a set of selected programs to generate the estimated probability of a branch being taken in future (different) programs [4] Profiling statistics for the corpus of training programs are ....
Y. Wu and J.R. Larus. Static branch frequency and program profile analysis. In 27th International Symposium on Microarchitecture, pages 1--11, San Jose, Ca, November 1994. IEEE.
....many researchers believe that collecting profile information is too costly or time consuming, and that many programmers may not collect such information. Thus, there has been considerable interest in heuristic prediction, or predicting the behavior of a program from the program s structure [1, 4, 16, 14]. These methods use heuristics or statistical information to predict a programs behavior. They have reasonable prediction accuracy, predicting the direction of 75 to 80 of the conditional branches in a given program, and they can be applied at compile time to guide the same compiler ....
....study [4] we found their heuristics to be reasonably accurate, resulting in a 25 mispredict rate at compile time without profile information. By comparison, perfect profile prediction had a 8 miss rate for the same collection of programs. Other studies by Wagner et al. 14] and Wu and Larus [16] have focused on using these heuristics and other techniques to fully estimate a programs behavior at compile time. In a recent study, we examined an alternative technique for predicting program behavior by combining profile information gathered from a number of applications. We collected a ....
[Article contains additional citation context not shown here]
Youfeng Wu and James R. Larus. Static branch frequency and program profile analysis. In 27th International Symposium on Microarchitecture, pages 1--11, San Jose, Ca, November 1994. IEEE.
....Ball and Larus [3] showed that applying a number of simple program based heuristics can significantly improve the branch prediction miss rate over BTFNT on tests based on the conditional branch operation. A complete summary of the Ball and Larus heuristics is given in Table 1 (as described in [26]) Their heuristics use information about the branch opcode, operands, and characteristics of the branch successor blocks, and encode knowledge about common programming idioms. Two questions arise when employing an approach like that taken by Ball and Larus. First, an important question is which ....
....(APHC) method. Using APHC, Ball and Larus report an average overall miss rate on the MIPS architecture of 20 ; when their technique is applied to the DEC Alpha architecture, the prediction accuracy worsens, becoming 25 . In a related paper, Wu and Larus refined the APHC method of Ball and Larus [26]. In that paper, their goal was to determine branch probabilities instead of simple branch prediction. With branch prediction, the goal is to determine a single bit of information per branch (likely versus unlikely) With branch probabilities, the goal is to determine the numeric probability that ....
[Article contains additional citation context not shown here]
Youfeng Wu and James R. Larus. Static branch frequency and program profile analysis. In 27th International Symposium on Microarchitecture, San Jose, Ca, November 1994. IEEE.
....the quality of the alias analysis being performed and the type of program being optimized, this might occur anywhere from 10 to 90 of the time. To determine probabilities rather than simple taken or not taken predictions the heuristics must be weighted and combined using a technique such as [WuLarus94]. 3.6 Loop Carried Expressions The standard constant propagation algorithm propagates values without explicitly handling loops in the program. For constant propagation this is acceptable because an expression can only be evaluated twice. For example, a loop control variable is first assigned the ....
.... value range propagation approach for real programs, branch predictions determined using value range propagation were compared to the results of execution profiling and also to the results achieved using simple and complex heuristics (the 90 50 rule and the [BallLarus93] heuristics combined as in [WuLarus94] to produce probabilities) Different inputs were used to collect the execution profiles and the actual observed behavior , reflecting the normal use of execution profiles found in practice. Heuristics similar to those of [BallLarus93] were used in cases where the value range propagation ....
[Article contains additional citation context not shown here]
Youfeng Wu and James R. Larus. Static Branch Frequency and Program Profile Analysis. Proceedings of the 27th International Symposium on Microarchitecture, November 1994, pages 1-11.
....that cross branch spaces. We considered a number of partitioning algorithms. Some methods use profiles, or information about previous executions of the program. Many optimizations require such information, either from previous executions of the program or from estimates using static analysis [36, 39]. We examined depth first, breadth first, pre order, post order, greedy and maxcut partitioning algorithms. Most of the methods had similar performance, and we present the performance of three of these algorithms. The partitioning algorithms are illustrated in Figure 4. In this example, we assume ....
Youfeng Wu and James R. Larus. Static branch frequency and program profile analysis. In 27th International Symposium on Microarchitecture, San Jose, Ca, November 1994. IEEE.
....It is certainly true that it takes effort to perform profiling: data sets must be selected and run, and the resulting profiles must be fed back into the compiler. Because of these perceived costs, researchers have investigated heuristic techniques to provide the same information given by profiles [8, 13, 59]. Heuristic techniques do not profile; instead they analyze properties of the program or branch instructions and attempt to infer profile like information. Several recent systems suggest that the expense critique of profiled branch prediction is becoming irrelevant. Systems such as Digital s DCPI ....
....program runs [22, 41] The instrumented program is run on training data sets, producing per branch statistics. These statistics are then fed back into the compiler to produce an optimized executable. Some more recent systems also heuristically estimated branch biases without resorting to profiling [8, 13, 59]. With accurate branch statistics, compilers can perform many useful program transformations. They can move unrelated work out of the most frequently executed parts of branch jumps branch falls through Figure 11. The state transition diagram for a two bit, saturating, up down counter. strongly ....
[Article contains additional citation context not shown here]
Y. Wu and J.R. Larus. "Static Branch Frequency and Program Profile Analysis," Proc. 27th IEEE/ACM Intl. Symp. on Microarchitecture. Los Alamitos, Calif.: IEEE Computer Society, Nov. 1994.
....is executed, we must estimate the event frequency. The values we used were 1,000 calls per second for user procedures and 100 calls per second for system and library routines. In the future, we plan to employ more sophisticated prediction techniques such as those developed by Wu and Larus[7]. 6. Evaluation of the Cost System Once we had implemented the observed cost system, we were interested in seeing how well it tracked with the actual perturbation of applications. To investigate this, we ran three sequential programs from the floating point SPEC92 benchmark suite[1] and one ....
Youfeng Wu and J. R. Larus, "Static Branch Frequency and Program Profile Analysis," 27th IEEE/ACM Inter'l Symposium on Microarchitecture (to appear), Nov. 1994.
....the control flow of a program based on a program s structure. Some of these techniques use heuristics based on local knowledge that can be encoded in the branch architecture [9] 11] Other techniques rely on applying heuristics based on more detailed control flow analysis [1] 4] 13] [14]. Still others have examined using machine learning techniques to statically predict the control flow at compile time [2] While many of these techniques have been shown to be effective in predicting program flow, none of these previous studies have attempted to apply their heuristics to procedure ....
Y. Wu and J.R. Larus. Static branch frequency and program profile analysis. In 27th International Symposium on Microarchitecture, pages 1-- 11, San Jose, Ca, November 1994. IEEE.
....Ball and Larus [4] showed that applying a number of simple program based heuristics can significantly improve the branch prediction miss rate over BTFNT on tests based on the conditional branch operation. A complete summary of the Ball and Larus heuristics is given in Table 1 (as described in [27]) Their heuristics use information about the branch opcode, operands, and characteristics of the branch successor blocks, and encode knowledge about common programming idioms. Two questions arise when employing an approach like that taken by Ball and Larus. First, an important question is which ....
....(APHC) method. Using APHC, Ball and Larus report an average overall miss rate on the MIPS architecture of 20 ; when their technique is applied to the DEC Alpha architecture, the prediction accuracy worsens, becoming 25 . In a related paper, Wu and Larus refined the APHC method of Ball and Larus [27]. In that paper, their goal was to determine branch probabilities instead of simple branch prediction. With branch prediction, the goal is to determine a single bit of information per branch (likely versus unlikely) With branch probabilities, the goal is to determine the numeric probability that ....
[Article contains additional citation context not shown here]
Youfeng Wu and James R. Larus. Static branch frequency and program profile analysis. In 27th International Symposium on Microarchitecture, San Jose, Ca, November 1994. IEEE.
....Ball and Larus [3] showed that applying a number of simple program based heuristics can significantly improve the branch prediction miss rate over BTFNT on tests based on the conditional branch operation. A complete summary of the Ball and Larus heuristics is given in Table 1 (as described in [22]) Their heuristics use information about the branch opcode, operands, and characteristics of the branch successor blocks, and encode knowledge about common programming idioms. Two questions arise when employing an approach like that taken by Ball and Larus. First, an important question is which ....
....considered. We call using this pre determined order for heuristic combination the A Priori Heuristic Combination (APHC) method. Using APHC, Ball and Larus report an average overall miss rate on the MIPS architecture of 20 . In a related paper, Wu and Larus refined the APHC method of Ball and Larus [22]. In that paper, their goal was to determine branch probabilities instead of simple branch prediction. Whereas with branch prediction, the goal is to determine a single bit of information per branch (likely versus unlikely) with branch probabilities, the goal is to determine the numeric ....
[Article contains additional citation context not shown here]
Youfeng Wu and James R. Larus. Static branch frequency and program profile analysis. In 27th International Symposium on Microarchitecture, San Jose, Ca, November 1994. IEEE.
No context found.
Youfeng Wu and James R. Larus. "Static branch frequency and program profile analysis," in MICRO -- International Symposium on Microarchitecture, 1994.
No context found.
Youfeng Wu and James R. Larus. Static branch frequency and program profile analysis. In Proceedings of the 27th International Symposium on Microarchitecture, pages 1--11, 1994.
No context found.
Y. Wu and J. Larus. Static branch frequency and program profile analysis. In In 27th International Symposium on Microarchitecture, pages 1--11, 1994.
No context found.
Y. Wu and J. R. Larus, Static branch frequency and program profile analysis, In Proceedings of the 27th International Symposium on Microarchitecture (1994), p. 1--11.
No context found.
Y. Wu and J.R. Larus. Static branch frequency and program profile analysis. In Proceedings of the 27th International Symposium on Microarchitecture, pages 1--11, November 1994.
No context found.
Y. Wu and J. Larus. Static branch frequency and program profile analysis. In In 27th International Symposium on Microarchitecture, pages 1--11, 1994.
First 50 documents
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC