| R. Muth, S. Watterson, and S. Debray. Code Specialization Based on Value Profiles. In Proceedings of the ] International Static Analysis Symposium (SAS 2000. |
....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.
....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.
....[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.
....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.
....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.
....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.
.... 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.
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.
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.
....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.
....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.
....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.
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