The Scarpaz.
The Scarpaz Site
:: Your unreliable online reference documentation on the Scarpaz. ::
:: Via malfidinda reta dokumento de referenco pri la Skarpac. ::
Counter image

Navigation: > [Home page] > [papers] > [Instrumentation] [Alphabetical Index]     [Tree View]

Local contents:

 
asplos.ps File : asplos.ps 336 kbytes 2004-06-11
Title: Source Code Instrumentation and its Perturbation Analysis in Pentium II
Authors: Haleh Najafzadeh and Seth Chaiken
 
eychung-final.pdf File : eychung-final.pdf 83.7 kbytes 2004-06-11
Title: Energy Efficient Source Code Transformation based on Value Profiling
Authors: Eui-Young Chung Luca Benini Giovanni De Micheli
Abstract:

This paper presents a source code transformation technique based on value profiling for energy-efficient system design. This technique reduces the computational effort of the program by specializing it for highly expected situations. Thus, the processor running the optimized program can be shutdown or slowed down for energy saving without performance degradation. The value profiler observes parameters passed to the procedures during profiling and detects semi-static parameters which are highly probable to have the same values whenever they are passed to the procedures. According to this information, procedures are specialized for the observed values using a partial evaluator. The corresponding procedure call in the original source code is replaced by a conditional statement which selects either the original procedure call or the specialized procedure call according to the values of the observed parameters. Experimental results show that the proposed technique improves the energy efficiency of the source code up to more than 2 times over the original code.

 
linux99.pdf File : linux99.pdf 554 kbytes 2004-06-11
Title: On Simulation Model Complexity
Authors: Profiling and Tracing in Linux
Abstract:

Profiling and tracing tools can help make application parallelization more effective and identify performance bottlenecks. Profiling presents summary statistics of performance metrics while tracing highlights the temporal aspect of performance variations, showing when and where in the code performance is achieved. A complex challenge is the mapping of performance data gathered during execution to high-level parallel language constructs in the application source code. Presenting performance data in a meaningful way to the user is equally important. This paper presents a brief overview of profiling and tracing tools in the context of Linux - the operating system most commonly used to build clusters of workstations for high performance computing.

 
p1319-ball.pdf File : p1319-ball.pdf 2.70 Mbytes 2004-06-11
Title: Optimally Profiling and Tracing Programs
Authors: Thomas Ball and James R. Larus
Abstract:

This paper describes algorithms for inserting monitoring code to profile and trace programs. These algorithms greatly reduce the cost of measuring programs with respect to the commonly used technique of placing code in each basic block. Program profiling counts the number of times each basic block in a program executes. Instruction tracing records the sequence of basic blocks traversed in a program execution. The algorithms optimize the placement of counting/tracing code with respect to the expected or measured frequency of each block or edge in a program’s control-flow graph. We have implemented the algorithms in a profiling/tracing tool, and they substantially reduce the overhead of profiling and tracing. We also define and study the hierarchy of profiling problems. These problems have two dimensions: what is profiled (i.e., vertices (basic blocks) or edges in a control-flow graph) and where the instrumentation code is placed (in blocks or along edges). We compare the optimal solutions to the profiling problems and describe a new profiling problem: basic-block profiling with edge counters. This problem is important because an optimal solution to any other profiling problem (for a given control-flow graph) is never better than an optimal solution to this problem. Unfortunately, finding an optimal placement of edge counters for vertex profiling appears to be a hard problem in general. However, our work shows that edge profiling with edge counters works well in practice because it is simple and efficient and finds optimal counter placements in most cases. Furthermore, it yields more information than a vertex profile. Tracing also benefits from placing instrumentation code along edges rather than on vertices.

 
smli_tr-92-1.pdf File : smli_tr-92-1.pdf 61.6 kbytes 2004-06-11
Title: Caching Function Results: Faster Arithmetic by Avoiding Unnecessary Computation
Authors: Stephen E. Richardson
Abstract:

This paper discusses trivial computation, where simple operands trivialize potentially complex operations. An example of a trivial operation is integer division, where the divisor is two; the division becomes a simple shift operation. The paper also discusses the concept of redundant computation, where some operation repeatedly does the same function because it repeatedly sees the same operands. Experiments on two separate benchmark suites, the SPEC benchmarks and the Perfect Club, find a surprisingly large amount of trivial and redundant operation. Various architectural means of exploiting this knowledge to improve computational efficiency include detection of trivial operands and the result cache. Further experimentation shows significant speedup from these techniques, as measured on three different styles of machine architecture.

 
ST.pdf File : ST.pdf 783 kbytes 2004-06-11
Title: Value-based Source Code Specialization for Energy Reduction
Authors: Eui-Young Chung, Giovanni De Micheli, Marco Carilli, Luca Benini, Gabriele Luculli
Abstract:

The objective of this research is to create a framework for energy optimization of software programs. In particular, this paper presents algorithms and a tool flow to reduce the computational effort of programs, using value profiling and partial evaluation. Such a reduction translates into both energy savings and performance improvement. Namely, our tool reduces computational effort by specializing a program for highly expected situations.Procedure calls which are frequently executed with same parameter values are defined as highly expected situations (common cases). The choice of the best transformation of common cases is achieved by solving three search problems.The first is to identify common cases to be specialized, the second is to search for an optimal solution for effective common case, and the third is to examine the interplay among the specialized cases. Experimental results show that our technique improves both energy consumption and performance of the source code up to more than twice and in average about 35% over the original program in Lx processor environment. Also, our automatic search pruning techniques reduce the searching time by 80% compared to exhaustive approach.

 
WRL-94-2.pdf File : WRL-94-2.pdf 75.1 kbytes 2004-06-11
Title: ATOM: A System for Building Customized Program Analysis Tools
Authors: Amitabh Srivastava and Alan Eustace
Abstract:

ATOM (Analysis Tools with OM) is a single framework for building a wide range of customized program analysis tools. It provides the common infrastructure present in all code-instrumenting tools; this is the difficult and time-consuming part. The user simply defines the tool-specific details in instrumentation and analysis routines. Building a basic block counting tool like Pixie with ATOM requires only a page of code. ATOM, using OM link-time technology, organizes the final executable such that the application program and user’s analysis routines run in the same address space. Information is directly passed from the application program to the analysis routines through simple procedure calls instead of inter-process communication or files on disk. ATOM takes care that analysis routines do not interfere with the program’s execution, and precise information about the program is presented to the analysis routines at all times. ATOM uses no simulation or interpretation. ATOM has been implemented on the Alpha AXP under OSF/1. It is efficient and has been used to build a diverse set of tools for basic block counting, profiling, dynamic memory recording, instruction and data cache simulation, pipeline simulation, evaluating branch prediction, and instruction scheduling.

Navigation: > [Home page] > [papers] > [Instrumentation] [Alphabetical Index]     [Tree View]

MajaMaja is powered by the Tcl Language. This page was last updated on 2004-12-26 at 18:22:44.
This site was automagically generated by MajaMaja, a simple and easy to use web content manager written in Tcl by scarpaz <scarpaz@scarpaz.com>.