Font Size: a A A

High-performance,Low-overhead Data Prefetcher Design Research

Posted on:2023-07-22Degree:MasterType:Thesis
Country:ChinaCandidate:L MaoFull Text:PDF
GTID:2558307169480624Subject:Engineering
Abstract/Summary:PDF Full Text Request
With the continuous development of new technologies such as big data and artificial intelligence,the pressure of data access has greatly increased,and the problem of "memory walls" has been intensifying.Data prefetching effectively hides memory access latency by sending data requests that may be accessed by a program in advance,overlapping compute and memory latency.Data prefetching is one of the key technologies to alleviate the "memory wall" problem,so it has become a long-term focus in the architecture field.In the past,the data prefetcher triggered the prefetch request with a long event,although it will bring the benefit of high prefetcher accuracy,but it will lead to two problems: the first is that the overwriting memory access mode is less,so the number of valid prefetch requests sent is small,resulting in the difficulty of covering as many Cache missing;the second is that enough hardware resources are required to record the memory access footprint information,which is difficult to achieve in engineering.In view of the above problems,this paper proposes an SCV(Small event | Stride,Compression Vector)prefetcher.The SCV prefetcher uses the optimization of the number of prefetch requests to cover as many Cache misses as possible,and the compression vector method to reduce hardware overhead on the other.The main tasks of this article are as follows:(1)Optimize the method of prefetching the number of requestsThe method consists of two policies and a filtering mechanism.The first strategy decomposes the prefetch event into multiple small events,on the one hand,by sending the corresponding prefetch request through different combinations of small events;on the other hand,for an uninformed event,it can refer to the footprint information of the adjacent event,and use the footprint information to send the corresponding prefetch request.The second policy,a stride strategy was added to override more memory access patterns.The filtering mechanism avoids sending more repetitive prefetch requests.This method achieves the goal of prefetcher high performance through the above work.(2)The method of compressing vectors is used to reduce hardware overheadReduce hardware overhead by using compression vectors to store memory footprint information.Compared with the previous prefetcher to store the footprint information of a cache line with one bit,the use of compression vectors can use one bit to store multiple lines of footprint information,thereby greatly reducing the hardware overhead of the prefetcher and achieving the goal of low cost of the prefetcher.The SPEC CPU 2006 and SPEC CPU 2017 benchmark programs were selected under the Cham Sim simulator for testing,and the performance comparison test was carried out with the top and runners IPCP and Bingo in DPC3(The 3rd Data Prefetching Championship).The experimental results show that the IPC of the SCV prefetcher increased by 37.1% relative to the benchmark,decreased by 0.7% relative to IPCP,and decreased by 1.4% compared with Bingo.But the hardware overhead of the SCV prefetcher is reduced by 46% relative to IPCP and 5.23 times less than Bingo.
Keywords/Search Tags:data prefetching, locality analysis, memory walls, Irregular memory access patterns, ChampSim
PDF Full Text Request
Related items