[go: up one dir, main page]

Adl-Tabatabai et al., 2004 - Google Patents

Prefetch injection based on hardware monitoring and object metadata

Adl-Tabatabai et al., 2004

View PDF
Document ID
4065308985684943855
Author
Adl-Tabatabai A
Hudson R
Serrano M
Subramoney S
Publication year
Publication venue
ACM SIGPLAN Notices

External Links

Snippet

Cache miss stalls hurt performance because of the large gap between memory and processor speeds-for example, the popular server benchmark SPEC JBB2000 spends 45% of its cycles stalled waiting for memory requests on the Itanium® 2 processor. Traversing …
Continue reading at www.cs.tufts.edu (PDF) (other versions)

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRICAL DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0253Garbage collection, i.e. reclamation of unreferenced memory
    • G06F12/0269Incremental or concurrent garbage collection, e.g. in real-time systems
    • G06F12/0276Generational garbage collection
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRICAL DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRICAL DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRICAL DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • G06F11/3612Software analysis for verifying properties of programs by runtime analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRICAL DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3636Software debugging by tracing the execution of the program
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRICAL DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRICAL DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformations of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/443Optimisation
    • G06F8/4441Reducing the execution time required by the program code
    • G06F8/4442Reducing the number of cache misses; Data prefetching
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRICAL DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/885Monitoring specific for caches
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRICAL DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/30Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRICAL DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/86Event-based monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRICAL DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for programme control, e.g. control unit
    • G06F9/06Arrangements for programme control, e.g. control unit using stored programme, i.e. using internal store of processing equipment to receive and retain programme
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRICAL DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/6028Prefetching based on hints or prefetch instructions

Similar Documents

Publication Publication Date Title
Adl-Tabatabai et al. Prefetch injection based on hardware monitoring and object metadata
Chilimbi et al. Dynamic hot data stream prefetching for general-purpose programs
Shuf et al. Characterizing the memory behavior of Java workloads: A structured view and opportunities for optimizations
US7769974B2 (en) Increasing data locality of recently accessed resources
US20080244533A1 (en) System for and Method of Capturing Performance Characteristics Data From A Computer System and Modeling Target System Performance
Georges et al. Method-level phase behavior in Java workloads
Chen et al. Profile-guided proactive garbage collection for locality optimization
Xu Resurrector: A tunable object lifetime profiling technique for optimizing real-world programs
Bond et al. Leak pruning
Inagaki et al. Stride prefetching by dynamically inspecting objects
US7577947B2 (en) Methods and apparatus to dynamically insert prefetch instructions based on garbage collector analysis and layout of objects
Schneider et al. Online optimizations driven by hardware performance monitoring
Chilimbi et al. Cache-conscious coallocation of hot data streams
Sair et al. A decoupled predictor-directed stream prefetching architecture
Li et al. DJXPerf: Identifying memory inefficiencies via object-centric profiling for Java
Hirzel Data layouts for object-oriented programs
Gu et al. Relative factors in performance analysis of Java virtual machines
Shull et al. QuickCheck: Using speculation to reduce the overhead of checks in nvm frameworks
Lee et al. A two-phase escape analysis for parallel Java programs
Inoue et al. Identifying the sources of cache misses in Java programs without relying on hardware counters
Ossia et al. Mostly concurrent compaction for mark-sweep GC
Lee et al. Practical escape analyses: How good are they?
Mutlu et al. Address-value delta (AVD) prediction: A hardware technique for efficiently parallelizing dependent cache misses
Zhang et al. Online phase-adaptive data layout selection
Ogata et al. A study of Java's non-Java memory