Directory Entry Consolidation for Distributed Shared Memory Cache Optimization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In existing directory processing solutions for distributed shared memory systems, the directory occupies a large amount of cache space, leading to resource waste due to the need for multiple directory entries for each memory address, even when multiple addresses are accessed by the same node with the same access type.
Innovation Solution
A method and apparatus that create a directory entry with N indication bits to record access to N memory addresses by a single data node, reducing cache occupancy by reusing directory entries for consecutive memory addresses accessed with the same type of request.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a directory entry is created for each memory address accessed by another data node, then the directory can accurately track data access status, but the directory occupies a large amount of cache space
Solution Approach 1:
The patent merges multiple directory entries for contiguous memory addresses into a single consolidated directory entry. When multiple data nodes access contiguous memory addresses with the same access type (shared or exclusive), the system creates one directory entry that represents all these addresses, rather than creating separate entries for each address. This merging approach significantly reduces the number of directory entries and cache occupancy while maintaining accurate tracking of data access status.
Solution Approach 2:
The patent makes a single directory entry serve multiple functions by having it represent multiple memory addresses. The directory entry structure includes fields that can indicate multiple accessed addresses and support different access types, allowing one entry to perform the work of what would traditionally require multiple separate entries. This multi-functionality reduces directory size while preserving the ability to track access patterns accurately.
2Loss of information
If multiple directory entries are created for consecutive memory addresses accessed by the same node, then each address can be individually tracked, but resources are wasted
Solution Approach 1:
The patent combines multiple directory entries for consecutive memory addresses into a single entry when accessed by the same data node with the same access type. This merging preserves the access pattern information by recording that multiple addresses were accessed by the same node, while eliminating the waste of creating redundant separate entries for each address.
Solution Approach 2:
The patent discards the redundant directory entries that would normally be created for each consecutive memory address, and recovers the cache resources by using a single consolidated entry instead. The essential access pattern information is retained in the consolidated entry, while the unnecessary duplicate entries are eliminated to free up cache resources.
Data Source
AI summary
A directory processing method and apparatus are provided to resolve a problem that a directory occupies a relatively large quantity of caches in an existing directory processing solution. The method includes: receiving, by a first data node, a first request sent by a second data node; searching for, by the first data node, a matched directory entry in a directory of the first data node based on tag information and index information in a first physical address; creating, when no matched directory entry is found, a first directory entry of the directory based on the first request, where the first directory entry includes the tag information, first indication information, first pointer information, and first status information, the first pointer information is used to indicate that data in the memory address corresponding to the indication bit that is set to valid is read by the second data node.


