13 citations found. Retrieving documents...
R. Muth, S. Watterson, and S. Debray. Code Specialization Based on Value Profiles. In Proceedings of the ] International Static Analysis Symposium (SAS 2000.

 Home/Search   Document Details and Download   Summary   Related Articles   Check  

This paper is cited in the following contexts:
Program Specialization for Dynamic Optimizers - Sastry, Bodík   (Correct)

....optimizers may deliver performance close to that of native code, thus encouraging use of type safe languages. The unique advantage of dynamic optimizers is that by operating at run time, they make possible transformations specific to the program s memory state, most notably program specialization [1, 4, 8, 9, 13, 14, 18, 20, 24, 27, 28]. In fact, the dynamic optimizer is arguably the most suitable environment for specializer deployment, because the runtime is where the largest number of constants is known. So far, however, no dynamic optimizer has been able to specialize programs transparently, because although many existing ....

....compiler is necessary. We will address this as part of future work. 8. RELATED WORK In all the previous sections, we have attempted to relate our work with existing specialization techniques. In this section, we present a short summary of related work. Program specialization (in various forms) [1,8,9,12,13,18,20,24,27,28] is a well studied program optimization technique. In its classic form, it has been a compile time source to source optimization technique. Tempo [8] and DyC [13] perform staged specialization and use code templates to generate specialized code using the values available at runtime. However, they ....

[Article contains additional citation context not shown here]

Robert Muth, Scott Watterson, and Saumya Debray. Code Specialization Based on Value Profiles.In Proceedings of the  International Static Analysis Symposium (SAS 2000.


Phase Tracking and Prediction - Sherwood, Sair, Calder (2003)   (9 citations)  (Correct)

....of optimizing caches. For example, Yang and Gupta [22] proposed a data cache organization that compresses the most frequently used program values in order to save energy. Another way of exploiting value locality is through value specialization, which can be done either statically or dynamically [6, 17, 16] to create specialized versions of procedures or code regions based upon the values frequently seen. These techniques are built on the idea of finding the most frequent values for loads over the whole program, and then specializing the program to those frequent values. We examine the potential of ....

R. Muth, S.A. Watterson, and S.K. Debray. Code specialization based on value profiles. In Static Analysis Symposium, pages 340--359, 2000.


Catching Accurate Profiles in Hardware - Narayanasamy, Sherwood, Sair.. (2003)   (2 citations)  (Correct)

....[18] One example technique for software based profiling is presented by Calder et al. 3] In [3] the authors instrument an executable using ATOM to capture the most frequently occurring values on a per instruction basis. This information can then be exploited to perform value specialization [13]. 4.1.2 Hardware Counter Assisted Profiling Many modern processors include hardware counters for profiling. Software systems can then sample these counters to find information such as delay in cycles or number of cache misses. DCPI [1, 6] is an example of software system that takes advantage of ....

R. Muth, S. A. Watterson, and S. K. Debray. Code specialization based on value profiles. In Static Analysis Symposium, pages 340--359, 2000.


Characterizing Coarse-Grained Reuse of Computation - Sastry, Bodik, Smith (2000)   (1 citation)  (Correct)

....evaluation [9] in which the program is specialized for the invariant fixed inputs. These program specialization optimizations are applied to entire regions of code that operate on the fixed inputs. Temp [4] DyC [7] Data Specialization [10] tcc [16] code specialization using value profiles [15] are all software techniques for exploiting coarse grained reuse. All known techniques for exploiting coarse grained reuse can be categorized as either a memoization or a specialization technique. Memoization is a technique based on looking up previous results in a reuse table [2] ....

....as either a memoization or a specialization technique. Memoization is a technique based on looking up previous results in a reuse table [2] Specialization involves optimizing the program by hardcoding the values produced by a reusable piece of code. Although various specialization techniques [4, 7, 15,16] have been studied, available opportunities for specialization in general purpose programs has not been studied before. The goal of this paper is to investigate reuse using a trace based measurement of its properties. We perform our study in the context of an online, dynamic optimizer. In ....

[Article contains additional citation context not shown here]

Robert Muth, Scott Watterson, and Saumya Debray. Code Specialization Based on Value Profiles. In Proceedings of the 7 International Static Analysis Symposium (SAS 2000.


Input Space Adaptive Embedded Software Synthesis - Wang, Raghunathan..   (Correct)

....space [10] Trace scheduling [11] exploits control flow statistics by compacting frequently occurring sub programs using code motion. Value profiling attempts to identify and exploit dynamic information about program values that cannot be derived using traditional static compile time analysis [12, 13]. In parallel to our work, automatic source code specialization has been proposed in [14] in which selection of the functions to be optimized and the argument values is based purely on conventional profiling statistics, such as the frequency of occurrence, and the sub programs to be optimized are ....

R. Muth, S. Watterson, and S. Debray, "Code specialization based on value profiles," in Proc. Int. Static Analysis Symposium, pp. 340-- 359, June 2000.


Characterizing Coarse-Grained Reuse of Computation - Sastry, Bodik, Smith (2000)   (1 citation)  (Correct)

....evaluation [9] in which the program is specialized for the invariant fixed inputs. These program specialization optimizations are applied to entire regions of code that operate on the fixed inputs. Temp [4] DyC [7] Data Specialization [10] tcc [16] code specialization using value profiles [15] are all software techniques for exploiting coarse grained reuse. All known techniques for exploiting coarse grained reuse can be categorized as either a memoization or a specialization technique. Memoization is a technique based on looking up previous results in a reuse table [2] ....

....as either a memoization or a specialization technique. Memoization is a technique based on looking up previous results in a reuse table [2] Specialization involves optimizing the program by hardcoding the values produced by a reusable piece of code. Although various specialization techniques [4, 7, 15,16] have 1 been studied, available opportunities for specialization in general purpose programs have not been studied before. The goal of this paper is to investigate reuse using a trace based measurement of program properties. We perform our study in the context of an online, dynamic optimizer. In ....

[Article contains additional citation context not shown here]

Robert Muth, Scott Watterson, and Saumya Debray. Code Specialization Based on Value Profiles. In Proceedings of the 7 th International Static Analysis Symposium (SAS 2000), pages 340--359. Springer LNCS vol. 1824, June 2000.


Rapid Profiling via Stratified Sampling - Sastry, Bodik, James (2001)   (8 citations)  (Correct)

.... extend well beyond it: basic block and path profiles [6,43] identify hot spots in the program; call graph profiles [1] guide procedure inlining [3, 9, 10] dynamic type profiling removes indirect calls in object oriented languages [25,26] value invariance profiles lead to program specialization [8,11,32,36]; and memory conflict profiles To appear at the 28th International Symposium on Computer Architecture (ISCA 2001) Goteborg, Sweden between June 30July 4, 2001 allow aggressive load store reordering [18, 21] The second trend is toward dynamic optimizations [4, 7, 19, 29, 34, 40] By ....

....the additional instructions is to exploit the program structure: Ball Larus edge profiling [5] and path profiling [6] use program analysis and manage to restrict overheads to 10 30 . Other tricks for reducing the instrumentation overhead include restricting profiling to a subset of instructions [8, 36] and turning off profiling after the profile stabilizes [8] 1 Despite recent advances, profiles that measure more than the control flow incur high overheads. For example, the best software value profiler slows down the program 10 30 times [8, 32] The second software approach is sampling. ....

[Article contains additional citation context not shown here]

Robert Muth, Scott Watterson, and Saumya Debray. Code Specialization Based on Value Profiles. In Proceedings of the 7 th International Static Analysis Symposium (SAS 2000), pages 340--359. Springer LNCS vol. 1824, June 2000.


Checking Program Profiles - Patrick Moseley Saumya (2003)   Self-citation (Debray)   (Correct)

No context found.

R. Muth, S. Watterson, and S. K. Debray. Code specialization based on value profiles. In Proc. 7th. International Static Analysis Symposium (SAS 2000.


PLTO: A Link-Time Optimizer for the Intel IA-32.. - Schwarz, Debray.. (2001)   (9 citations)  Self-citation (Debray)   (Correct)

No context found.

R. Muth, S. Watterson, and S. K. Debray, "Code Specialization based on Value Profiles", Proc. 7th. International Static Analysis Symposium (SAS 2000.


Profile-Directed Optimization of Event-Based Programs - Saumya (2002)   (1 citation)  Self-citation (Debray)   (Correct)

....graph with no event paths. This reduced graph can be further optimized by using a speculative approach. In this scheme, if node A is followed by B 90 of the time and C 10 of the time, free cycles in A can be used to initialize the execution of B. Value based optimization, as suggested in [15] may also be extended to increase the accuracy of prediction. Another strategy would be to perform minimal processing for A and defer the bulk of handing A the next event occurs. If the next event is B, optimized code for (A,B) can be executed. This type of deferral would particularly useful in ....

R. Muth, S. A. Watterson, and S. K. Debray. Code specialization based on value profiles. In Static Analysis Symposium, pages 340--359, 2000.


System Call Clustering: A Profile Directed.. - Rajagopalan.. (2003)   Self-citation (Debray)   (Correct)

....value 4096. When creating the new read write system call, this information can be used to generate code where the critical path is optimized for the case where this argument is 4096; other values for this argument are handled by unspecialized code away from the critical path through this call [14]. Once specialized system calls are introduced into the system, the final optimization is to use various compiler optimizations to fine tune the performance. Examples of such optimizations include code inlining, i.e. inlining code from the constituent system call pointers; and constant ....

R. Muth, S. Watterson, and S. K. Debray. Code specialization based on value profiles. In Proc. 7th. International Static Analysis Symposium, pages 340-- 359. Springer-Verlag, June 2000.


Software Power Optimization via Post-Link-Time Binary.. - Debray, Muth, Watterson   Self-citation (Muth Watterson Debray)   (Correct)

....the program so that it tests whether x = 0 at that point and branches to an optimized version of the code, specialized to the value 0 for x, if this is the case. The effect of this optimization is to allow optimized code for commoncase values without sacrificing correctness for other values [10]. A low level cost model is used to weigh the costs and benefits of such value based code specialization and guide the decision about what code fragments are worth 3 B0 cmpne a0, 0x0, r1 beq r1, B2 . B1 B2 store r0, Addr0 store r2, Addr0 . B3 B4 B5 load r3, Addr0 ....

....two pointers are unaliased most of the time, though possibly not all of the time; moreover, we can do this without having to resort to expensive and potentially conservative compile time alias analysis. On the SPEC 95 benchmark m88ksim, such specialization yields a speed improvement of over 13 [10]. Overall, the effect of such code specialization is to eliminate memory and branch operations which typically have relatively high latencies and consume a lot of energy along commonly executed execution paths, thereby improving execution speed. On m88ksim, for example, we see a 17 reduction ....

R. Muth, S. Watterson, and S. K. Debray, "Code Specialization based on Value Profiles", Proc. 7th. International Static Analysis Symposium (SAS 2000), June 2000, pp. 340--359. Springer LNCS vol. 1824.


Techniques for Transparent Program Specialization in Dynamic.. - Sastry   (Correct)

No context found.

R. Muth, S. Watterson, and S. Debray. Code Specialization Based on Value Profiles. In Proceedings of the ] International Static Analysis Symposium (SAS 2000.

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