1997 · 240 citations · 14 references
EngineeringComputer EngineeringComputer ScienceCompilersComputer ArchitectureHardware-software Co-designCache Behavior AnalysisConcurrency AnalysisInstruction-level ParallelismMicroarchitecture DesignPerformance Bottleneck AnalysisProcessor MicroarchitectureCache DesignFeedbackHardware MonitoringPerformance ProfilingPipeline OptimizationProfile-guided OptimizationProfilingSystem Profiling
Digital Equipment Corporation Profile data is valuable for identifying performance bottlenecks and guiding optimizations. Periodic sampling of a processor’s performance monitoring hardware is an effective, unobtrusive way to obtain detailed profiles. Unfortunately, existing hardware simply counts events, such as cache misses and branch mispredictions, and cannot accurately attribute these events to instructions, especially on out-of-order machines. We propose an alternative approach, called ProfileMe, that samples instructions. Asasampled instruction moves through the processorpipeline, a detailed record of all interesting events and pipeline stage latencies is collected. ProfileMe also support paired sampling, which captures information about the interactions between concurrent instructions, revealing information about useful concurrency and the utilization of various pipeline stages while an instruction is in flight. We describe an inexpensive hardware implementation of ProfileMe, outline a variety of software techniques to extract useful profile information from the hardware, and explain several ways in which this information can provide valuable feedback for programmers and optimizers. 1
14
Jennifer M. Anderson, Lance M. Berc, Jeffrey A. Dean et al. · ACM Transactions on Computer Systems · 1997 · 483 citations · Full text
Operating system support for improving data locality on CC-NUMA compute servers
Ben Verghese, Scott Devine, Anoop Gupta et al. · 1996 · 278 citations
Avoiding conflict misses dynamically in large direct-mapped caches
Brian N. Bershad, Dennis Lee, Theodore H. Romer et al. · ACM SIGPLAN Notices · 1994 · 135 citations