Message Aggregation Unit for Cache Eviction Notification
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional directory-based cache coherence protocols face issues with power consumption and stale information due to excessive notifications and inefficient data management in multicore chips, leading to increased power usage and performance degradation.
Innovation Solution
Implementing a message aggregation unit (MAU) that aggregates cache eviction notifications into a single aggregate message, reducing traffic and updating directory entries efficiently, using either a bitmap or pointer format to minimize power consumption and maintain accurate directory information.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of information
If traditional directory-based cache coherence protocols send individual notifications for each cache eviction, then the directory can maintain up-to-date information, but the power consumption and traffic increase significantly
Solution Approach 1:
The patent combines multiple individual cache eviction notifications into a single aggregated notification message. The message aggregation unit collects eviction information from multiple cache lines and consolidates them into one message that is sent to the directory, reducing the number of messages transmitted while maintaining complete information about all evictions.
Solution Approach 2:
The patent segments the notification process into two stages: local aggregation at the cache side and centralized processing at the directory side. The message aggregation unit segments multiple eviction events into groups that can be efficiently transmitted, while the directory segments the received aggregate message to update individual directory entries.
2Loss of information
If individual eviction notifications are sent for each cache block, then the directory maintains accurate tracking, but the traffic and latency increase
Solution Approach 1:
Multiple eviction notifications that would normally be sent separately are merged into a single aggregate message. This consolidation reduces the total number of transmission events and the associated latency, while the message contains complete information about all evicted cache lines through bitmaps or encoded representations.
3Loss of information
If clean block evictions are notified individually, then the directory can update accurately, but unnecessary notifications increase power consumption
Solution Approach 1:
The patent extracts and processes only the essential information needed for directory updates from the cache eviction events. By using compact representations such as bitmaps and selective encoding, it removes redundant data transmission while maintaining the accuracy needed for directory entry updates.
Solution Approach 2:
The patent changes the representation parameters of eviction information from individual detailed notifications to compact aggregate formats. Using bitmaps and encoded messages reduces the data volume transmitted while preserving the necessary information about which cache lines were evicted and their states.
4Loss of information
If multiple individual eviction messages are transmitted, then complete eviction information is delivered, but the message overhead and processing complexity increase
Solution Approach 1:
The patent merges multiple individual eviction messages into a single structured aggregate message format. This unified format includes fields for identifying evicted cache lines, their states, and other relevant information, simplifying the processing logic at both the sender and receiver sides compared to handling multiple separate messages.
Data Source
AI summary
Technologies are described herein generally relate to aggregation of cache eviction notifications to a directory. Some example technologies may be utilized to update an aggregation table to reflect evictions of a plurality of blocks from a plurality of block addresses of at least one cache memory. An aggregate message can be generated, where the message specifies the evictions of the plurality of blocks as reflected in the aggregation table. The aggregate message can be sent to the directory. The directory can parse the aggregate message and update a plurality of directory entries to reflect the evictions from the cache memory as specified in the aggregate message.


