Publication | Closed Access
Evaluating the impact of memory system performance on software prefetching and locality optimizations
44
Citations
42
References
2001
Year
Unknown Venue
Cluster ComputingEngineeringMemory TrendsComputer ArchitectureMulti-channel Memory ArchitectureHardware SecurityMemory System PerformanceData ScienceHigh-performance ArchitectureManagementPerformance TuningParallel ComputingPerformance PredictionSoftware PrefetchingComputer EngineeringCachingComputer ScienceProgram OptimizationPerformance Analysis ToolExternal-memory AlgorithmHardware AccelerationProgram AnalysisEdge ComputingParallel ProgrammingLocality OptimizationsSystem Software
Software prefetching and locality optimizations are techniques for overcoming the speed gap between processor and memory. In this paper, we evaluate the impact of memory trends on the effectiveness of software prefetching and locality optimizations for three types of applications: regular scientific codes, irregular scientific codes, and pointer-chasing codes. We find for many applications, software prefetching outperforms locality optimizations when there is sufficient memory bandwidth, but locality optimizations outperform software prefetching under bandwidth-limited conditions. The break-even point (for 1 Ghz processors) occurs at roughly 2.5 GBytes/sec on today's memory systems, and will increase on future memory systems. We also study the interactions between software prefetching and locality optimizations when applied in concert. Naively combining the techniques provides robustness to changes in memory bandwidth and latency, but does not yield additional performance gains. We propose and evaluate several algorithms to better integrate software prefetching and locality optimizations, including a modified tiling algorithm, padding for prefetching, and index prefetching.
| Year | Citations | |
|---|---|---|
Page 1
Page 1