Publication | Closed Access
Microarchitecture Optimizations for Exploiting Memory-Level Parallelism
207
Citations
23
References
2004
Year
Memory-level ParallelismMemory-bound Commercial ApplicationssuchEngineeringComputer ArchitectureSoftware EngineeringProcessor ArchitectureSoftware AnalysisHigh-performance ArchitectureParallel ComputingInstruction-level ParallelismData-level ParallelismComputer EngineeringComputer ScienceProgram AnalysisParallel Performance EvaluationMany-core ArchitectureParallel ProgrammingMemory LatenciesSystem SoftwareMicroarchitecture Optimizations
The performance of memory-bound commercial applicationssuch as databases is limited by increasing memory latencies. Inthis paper, we show that exploiting memory-level parallelism(MLP) is an effective approach for improving the performance ofthese applications and that microarchitecture has a profound impacton achievable MLP. Using the epoch model of MLP, we reasonhow traditional microarchitecture features such as out-of-orderissue and state-of-the-art microarchitecture techniques suchas runahead execution affect MLP. Simulation results show that amoderately aggressive out-of-order issue processor improvesMLP over an in-order issue processor by 12-30%, and that aggressivehandling of loads, branches and serializing instructionsis needed to attain the full benefits of large out-of-order instructionwindows. The results also show that a processor's issue windowand reorder buffer should be decoupled to exploit MLP more efficiently.In addition, we demonstrate that runahead execution ishighly effective in enhancing MLP, potentially improving the MLPof the database workload by 82% and its overall performance by60%. Finally, our limit study shows that there is considerableheadroom in improving MLP and overall performance by implementingeffective instruction prefetching, more accurate branchprediction and better value prediction in addition to runahead execution.
| Year | Citations | |
|---|---|---|
Page 1
Page 1