Font Size: a A A

Optimization Of Memory Access Instructions Based On Reuse Distance And Data Prefetching

Posted on:2024-08-13Degree:MasterType:Thesis
Country:ChinaCandidate:Y T WeiFull Text:PDF
GTID:2568306929990669Subject:Computer software and theory
Abstract/Summary:
The memory wall bottleneck is a prominent performance issue in modern software systems.How to alleviate the problem of memory wall and reduce the delay of memoryintensive programs is the focus of academic and industrial research.With the development of computer applications,modern applications have larger and larger working sets and more complex memory access patterns,which brings new challenges to existing memory access optimization problems.Designing an effective memory access optimization scheme that can improve the locality of the cache becomes crucial to optimizing program performance.This thesis addresses the optimization of memory access performance from two aspects:memory access instruction optimization and data prefetching.The specific work is as follows:(1)The issue of cache pollution in programs characterized by streaming access pattern is tackled through the proposal of a new algorithm,RDNT,which leverages reuse distance and non-temporal instruction optimization.RDNT operates by collecting memory access information and subsequently filtering memory access instructions.The algorithm then determines the reuse distance of memory access instructions that access the same location,and replaces regular memory access instructions with long reuse distances with non-temporal instructions.Empirical evaluation on the STREAM benchmark demonstrates that RDNT yields superior performance in terms of speedup and memory bandwidth compared to regular memory access instruction.Further comparative evaluation with existing machine-learning-based cache bypassing algorithms on the SPEC CPU 2017 indicates that RDNT reduces the running time of the programs,resulting in a speedup of 1.08×.(2)To address the problem of how to automate data prefetching,a prefetching algorithm SDPF is proposed,which combines static program information with dynamic runtime information.SDPF leverages dynamic execution information to effectively prefetch data by first performing a selective analysis technique to identify memory references with data locality issues.The poorly localized statements are then analyzed for memory access patterns and prefetched for different types of access patterns.Finally,SDPF maximizes prefetch benefits by selective prefetching and determining appropriate prefetch distances.Experimental results on NAS,Graph 500 and HPC benchmarks show that SDPF achieves an average speedup of 1.12× compared to a baseline without prefetching,reducing the running time of the programs.In summary,this thesis investigates the key technologies to improve program memory access performance from two perspectives:instruction optimization and data prefetching.The proposed methods are verified through experiments on publicly available benchmarks,demonstrating certain acceleration effects.
Keywords/Search Tags:Program Memory Access Performance, Memory Wall, Data Pref-etching, Reuse Distance, Memory Access Instruction Optimization
Related items