发明名称 Sharing pattern-based directory coherence for multicore scalability (“SPACE”)
摘要 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.
申请公布号 US9411733(B2) 申请公布日期 2016.08.09
申请号 US201213607290 申请日期 2012.09.07
申请人 University of Rochester 发明人 Zhao Hongzhou;Shriraman Arrvindh;Dwarkadas Sandhya
分类号 G06F12/00;G06F12/08 主分类号 G06F12/00
代理机构 Harris Beach PLLC 代理人 Harris Beach PLLC
主权项 1. A method for comparing and merging a new sharing pattern with existing patterns when a directory is filled comprising: providing a cache coherent shared memory computer, a memory comprising a plurality of data blocks, a sharing pattern table comprising a plurality of bit vectors, each bit vector representing a unique processor sharing pattern of a set of processors of said plurality of processors that shares at least one or more common data blocks of said memory during an execution of an application, a cache having a plurality of cache lines, each cache line comprising an address tag associated with a data block, and a bit pointer to index said cache line into said sharing pattern table to retrieve a corresponding bit vector of a unique processor sharing pattern corresponding to said cache line and to thereby decouple said unique processor sharing patterns from said cache lines, and wherein said cache lines having a same processor sharing pattern point to a common bit vector in said sharing pattern table; searching existing patterns to compare against the new sharing pattern for a matching pattern by use of a hashing function; providing a specific cache line with a pointer to an entry where there is a matching sharing pattern, or where there is no matching sharing pattern found: entering the new sharing pattern into an unused table entry, or where there is no unused entry found: comparing the new pattern with existing patterns to determine a cost of introducing false sharers by use of a cost function; and determining which entry in a sharing pattern table to merge with the new pattern based on the cost function.
地址 Rochester NY US