Adl-Tabatabai et al., 2004 - Google Patents
Prefetch injection based on hardware monitoring and object metadataAdl-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 …
- 238000002347 injection 0 title description 4
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0253—Garbage collection, i.e. reclamation of unreferenced memory
- G06F12/0269—Incremental or concurrent garbage collection, e.g. in real-time systems
- G06F12/0276—Generational garbage collection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording 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/3409—Recording 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording 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/3466—Performance evaluation by tracing or monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3604—Software analysis for verifying properties of programs
- G06F11/3612—Software analysis for verifying properties of programs by runtime analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3636—Software debugging by tracing the execution of the program
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformations of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/443—Optimisation
- G06F8/4441—Reducing the execution time required by the program code
- G06F8/4442—Reducing the number of cache misses; Data prefetching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/885—Monitoring specific for caches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/30—Information retrieval; Database structures therefor; File system structures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/86—Event-based monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for programme control, e.g. control unit
- G06F9/06—Arrangements for programme control, e.g. control unit using stored programme, i.e. using internal store of processing equipment to receive and retain programme
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/60—Details of cache memory
- G06F2212/6028—Prefetching 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 |