Sharing Pattern-Based Directory Coherence for Multicore Scalability ("SPACE")
First Claim
1. A system for decoupling the metadata representing sharing patterns from the address tags representing the data blocks, in a cache coherent shared memory computer comprising:
- a directory table for storing in each entry of the directory table a unique sharing pattern that an application exhibits when it is executing; and
a cache having a pointer associated with the address tag of each of its data blocks (cache lines), where each pointer points to an entry in the directory table.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and directory system that recognizes and represents the subset of sharing patterns present in an application is provided. As used herein, the term sharing pattern refers to a group of processors accessing a single memory location in an application. The sharing pattern is decoupled from each cache line and held in a separate directory table. The sharing pattern of a cache block is the bit vector representing the processors that share the block. Multiple cache lines that have the same sharing pattern point to a common entry in the directory table. In addition, when the table capacity is exceeded, patterns that are similar to each other are dynamically collated into a single entry.
29 Citations
9 Claims
-
1. A system for decoupling the metadata representing sharing patterns from the address tags representing the data blocks, in a cache coherent shared memory computer comprising:
-
a directory table for storing in each entry of the directory table a unique sharing pattern that an application exhibits when it is executing; and a cache having a pointer associated with the address tag of each of its data blocks (cache lines), where each pointer points to an entry in the directory table.
-
-
2. A method of decoupling the metadata representing sharing patterns from the address tags representing the data blocks, in a cache coherent shared memory computer comprising:
-
providing a directory table for storing in each entry of the directory table a unique sharing pattern that an application exhibits when it is executing; and providing a cache having a pointer associated with the address tag of each of its data blocks (cache lines), where each pointer points to an entry in the directory table. - View Dependent Claims (3, 4, 5, 6, 7, 8)
-
-
9. A system for comparing and merging with existing patterns comprising:
-
a hashing function to find existing patterns to compare against the new sharing pattern; a cost function to compare the new pattern with existing patterns and determine the cost of introducing false sharers; and logic for determining which entry in the sharing pattern table to merge with the incoming pattern based on the cost function.
-
Specification