Font Size: a A A

Research On Cache Coherence Protocols Based On Data Sharing Characteristics

Posted on:2018-05-01Degree:MasterType:Thesis
Country:ChinaCandidate:X M HeFull Text:PDF
GTID:2428330623950695Subject:Computer Science and Technology
Abstract/Summary:PDF Full Text Request
Currently,high-performance shared memory systems utilize multi-level caches to improve the memory access of processors.And shared memory systems use the coherence protocols to solve the problem of cache coherence.With the increase of the number of cores in the system,the hardware overhead and scalability of cache coherence protocols have become the research hot spot in shared memory system.There is an urgent need for the highly scalable and cost-effective cache coherence protocols.In this paper,we try to optimize the hardware overheads of existing cache coherence protocols and seek the efficient and cost-effective coherence protocol.The main work of this paper has the following three aspects:First,this paper utilizes dynamic data classification to optimize the area overhead of existing directory protocols.For the private data only one core accesses,they do not cause any coherence issues and do not need the coherence maintenance.Based on this,we adopt the data classification in page granularity with the help of operating system.By using the method,our proposal can effectively separate the private data and eliminate the storage of private data for the directory.Second,by analyzing the current typical write-invalidated cache coherence protocol,this paper proposes a self-updating mechanism to reduce the overheads of cache coherence protocol.In the typical write invalidate cache coherence protocol,when a core performs a write,the protocol needs to ensure the core has the exclusive access to the data.So,cache coherence protocol will send messages to other caches to invalidate the stale copies.The directory protocol sends indirect invalidate messages through the directory at the expense of area overhead;the snooping protocol broadcasts requests of invalidation consuming huge network bandwidth.We firstly propose a self-updating mechanism to update shared data at the synchronization point based on the data classification.The self-updating mechanism can automatically update the local outdated copies to eliminate the indirect message in the directory protocol and reduce most redundant messages in the snooping protocol.Third,by analyzing the current MESI directory-based cache coherence protocol,we propose a simple and efficient cache coherence protocol based on self-updating,the Valid/Invalid,Self-Updating(VISU)protocol.The VISU protocol identifies synchronization points in the data-race-free(DRF)programs and performs a self-updating operation at the synchronization point to update out-of-date data.The MESI cache coherence protocol has 4 stable states and 55 state transitions in the L1 cache.These numerous coherence states and state transitions increase the complexity and inefficiency of the MESI protocol and incur huge verification overhead.The VISU protocol just has two stable states and two transient states in L1 caches.First,we propose self-updating shared blocks at synchronization points for correction relying on the data-race-free guarantee of parallel programming.Second,taking advantage of techniques that dynamically classify private data(only accessed by one processor)and shared data,we propose write-back for private data,write-through for shared data.For private data,a simple write-back policy can reduce the unnecessary on-chip network traffic.In L1 cache,a write-through policy for share data,which can keep the newest shared data in LLC,would obviate almost all coherence states.Our approach implements a truly cost-less two-state coherence protocol.The VISU protocol does not require directory or indirect transfer and is easier to verify while at the same time obtains similar even better performance of MESI directory protocol.In order to evaluate the above proposals,we use the gem5 simulator and CACTI for performance simulation and overhead assessment.The experimental results show that the VISU protocol achieves a significant reduction(31.0%)in the area overhead and obtains a better performance(2.9%)compared with the sophisticated MESI directory protocol.In addition,compared with the self-invalidation,self-updating mechanism reduces the L1 cache miss rate by an average of 5.2%.In summary,this paper mainly optimise the existing cache coherence protocol.First of all,this paper implements a dynamic data classification for cache coherence protocol.Secondly,we propose an efficient self-updating mechanism to handle stale copies.Finally,we combine the write-though policy and self-updating to implement a simple and efficient two-state VISU coherence protocol.Experimental evaluation shows that the VISU protocol outperforms the complex MESI directory protocol in performance and VISU significantly reduces the hardware overhead and the complexity of the protocol.
Keywords/Search Tags:Cache coherence protocol, shared memory, multi-core system, Network-on-chip, VISU, data classification, Self-updating
PDF Full Text Request
Related items