| B. Cahoon and K. S. McKinley. Data flow analysis for software prefetching linked data structures in Java. In PACT, 2001. |
....tation. Our write barriers are therefore somewhat more e#cient than they woul d be in a general system designed to execute arbitrary programs with no aprioriinformation about the behavior of the program. 13 203 resul ts for our anal ysis running on the Java version of the Ol den Benchmarks [10, 9]: BH: Impl ements the Barnes Hut N body sol er [3] BiSort:Impl ements bitonic sort [5] Em3d: Mode l the propagation of el2N romagnetic waves through objects in three dimensions [14] Health: Simul9 es the Heal h care system in Col4 bia [26] MST:Computes the minimum ....
Brendon Cahoon and Kathryn S. McKinley. Data flow analysis for software prefetching linked data structures in Java. In Proceedings of the 10th International Conference on Parallel Architectures and Compilation Techniques, pages 280 291, 2001.
....[3, 11] We evaluated Data Structure Analysis on four sets of benchmark programs: the Olden benchmark suite, the ptrdist 1.1 benchmark suite, the SPEC 2000 integer benchmarks and a set of other, unbundled, programs. The Olden benchmarks are widely used pointer and recursion intensive codes [18, 2], while the ptrdist and SPEC codes, and some of the other codes have been frequently used to evaluate pointer analysis algorithms. Note that the povray31 test includes the sources for the zlib and libpng libraries. Code Size Analysis Time (sec) Mem (KB) # of Nodes Benchmark LOC MInsts SCC ....
....analyses in LLVM use the basic analysis algorithm if they cannot answer a query, thus the basic column of Table 2 is the baseline for all analyses. The basic algorithm uses purely local techniques to answer queries, and it thus limited to handling simple cases (e.g. A[1] does not alias A[2]) We chose this strategy because it most closely models usage in a real compiler [11] The results have several interesting aspects. First, we find that field sensitivity does not help the context insensitive St analysis significantly (even in cases where excessive node collapsing does not ....
B. Cahoon and K. McKinley. Data flow analysis for software prefetching linked data structures in java. In International Conference on Parallel Architectures and Compilation Techniques, Barcelona, Spain, Sept. 2001.
....are not accessed in a regular pattern within the linear system address space. Furthermore, the addresses of future accesses are difficult to predict, making prefetching difficult to apply. Traditional optimizations have generally focused on optimizing individual data objects and access patterns [6, 27, 19, 4], but have generally neglected to take a more macroscopic approach that analyzes and transforms entire logical data structures. High level optimizations have generally been limited to runtime techniques such as clustering, profile driven layout optimization, and cache conscious garbage collectors ....
....have been proposed, most of which add a history pointer to each structure node to record either the allocation order or some expected traversal order for linked data structures. These history pointers are then used to schedule prefetches for objects expected to be accessed later in the execution [19, 4, 21]. The automatic pool allocation and pointer compression transformations each enable a potentially valuable improvement for such prefetching strategies. Creation order prefetching without history pointers: One of the key history pointer prefetching schemes previously proposed is creation order ....
B. Cahoon and K. McKinley. Data flow analysis for software prefetching linked data structures in java. In International Conference on Parallel Architectures and Compilation Techniques, Barcelona, Spain, Sept. 2001.
No context found.
Brendon Cahoon and Kathryn S. McKinley. Data flow analysis for software prefetching linked data structures in Java. In Proceedings of the 2001.
No context found.
B. Cahoon and K. S. McKinley. Data flow analysis for software prefetching linked data structures in Java. In Proceedings of the 2001.
....We rely on a simplified form of common subexpression elimination to remove redundant prefetches. Our new analysis unifies the identification of induction variables and linked data structure traversals, and thus subsumes our previous work that discovers regular accesses to linked structures [7]. In this paper, we focus on arrays. We implement our data flow analysis and software prefetching technique in Vortex, an optimizing (ahead of time) compiler for object oriented programs [10] We evaluate prefetching using benchmark programs from the Jama library [13] and the Java Grande ....
....a unified analysis for discovering general recurrences. 3.1 Intraprocedural analysis The intraprocedural analysis detects induction variables that are due to loops. We base our analysis for discovering loop induction variables on our data flow analysis that discovers linked structure traversals [7]. We use the same analysis framework that requires only a few extensions to discover loop induction variables. We define the following sets in our data flow analysis. Let V be the set of integer variables in a method, E be the set of expressions, S be the set of statements in the method, and IS ....
[Article contains additional citation context not shown here]
B. Cahoon and K. McKinley. Data flow analysis for software prefetching linked data structures in Java. In Proceedings of the 2001.
....cache miss latencies and run time instruction execution rates [25] The compiler is further constrained in that it cannot schedule a prefetch until it can compute the effective address. While this constraint is not significant for arrays [6, 33] it limits compiler based greedy pointer prefetching [5, 30, 36]. Jump pointers bypass this limitation by identifying records several links ahead in the structure, but require much more sophisticated analysis, dynamic updates, and the addition of a jump pointer to each object [5, 30, 36] Other approaches prefetch pointer arguments at call sites [29] and ....
.... for arrays [6, 33] it limits compiler based greedy pointer prefetching [5, 30, 36] Jump pointers bypass this limitation by identifying records several links ahead in the structure, but require much more sophisticated analysis, dynamic updates, and the addition of a jump pointer to each object [5, 30, 36]. Other approaches prefetch pointer arguments at call sites [29] and decouple prefetches from the main program using a separate thread context [13, 24, 31] The converse approach is hardware only prefetching, in which the hardware predicts prefetch addresses by observing a program s runtime ....
B. Cahoon and K. S. McKinley. Data flow analysis for software prefetching linked data structures in Java. In Proceedings of the 2001.
No context found.
B. Cahoon and K. S. McKinley. Data flow analysis for software prefetching linked data structures in Java. In PACT, 2001.
No context found.
Cahoon and McKinley. Data flow analysis for software prefetching linked data structures in java. In International Conference on Parallel Architectures and Compilation Techniques, Barcelona, Spain, Sep 2001. ACM.
No context found.
CAHOON, B., AND MCKINLEY, K. Data Flow Analysis for Software Prefetching Linked Data Structures in Java Controller. In International Conference on Parallel Architectures and Compilation Techniques (Sept. 2001).
No context found.
Cahoon and McKinley. Data flow analysis for software prefetching linked data structures in java. In International Conference on Parallel Architectures and Compilation Techniques, Barcelona, Spain, Sep 2001. ACM.
No context found.
Brendon Cahoon and Kathryn S. McKinley. Data flow analysis for software prefetching linked data structures in Java. In Proc. 10th International Conference on Parallel Architectures and Compilation Techniques, 2001.
No context found.
B. Cahoon and K. McKinley. Data flow analysis for software prefetching linked data structures in java. In International Conference on Parallel Architectures and Compilation Techniques, Barcelona, Spain, Sept. 2001.
No context found.
B. Cahoon and K. S. McKinley. Data flow analysis for software prefetching linked data structures in Java. In Proc. of the 10th International Conference on Parallel Architectures and Compilation Techniques (PACT 2001.
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