Skip to main content

SMT-directory: Efficient load-load ordering for SMT

Publication ,  Journal Article
Hilton, A; Roth, A
Published in: IEEE Computer Architecture Letters
January 1, 2010

Memory models like SC, TSO, and PC enforce load-load ordering, requiring that loads from any thread appear to occur in program order to all other threads. Out-of-order execution can violate load-load ordering. Multi-processors with out-of-order cores detect load-load ordering violations by snooping an age-ordered load queue on cache invalidations or evictions - -events that act as proxies for the completion of remote stores. This mechanism becomes less efficient in an SMT, as every completing store must search the loads queue segments of all other threads. This inefficiency exists because store completions from other threads in the same core are not filtered by the cache: thread 0 observes all of thread 1's stores, not only the first store to every cache line. SMT-Directory eliminates this overhead by implementing the filtering traditionally provided by the cache in the cache itself. SMT-Directory adds a per-thread ''read'' bit to every cache line. When a load executes, it sets the bit corresponding to its thread. When a store completes, it checks the SMT-Directory bits of its cache line and searches the load queue segments only of those threads whose bits are set. As a result, local store completions trigger searches only for data that is actually shared. © 2006 IEEE.

Duke Scholars

Published In

IEEE Computer Architecture Letters

DOI

ISSN

1556-6056

Publication Date

January 1, 2010

Volume

9

Issue

1

Start / End Page

25 / 28

Related Subject Headings

  • Computer Hardware & Architecture
 

Citation

APA
Chicago
ICMJE
MLA
NLM
Hilton, A., & Roth, A. (2010). SMT-directory: Efficient load-load ordering for SMT. IEEE Computer Architecture Letters, 9(1), 25–28. https://doi.org/10.1109/L-CA.2010.8
Hilton, A., and A. Roth. “SMT-directory: Efficient load-load ordering for SMT.” IEEE Computer Architecture Letters 9, no. 1 (January 1, 2010): 25–28. https://doi.org/10.1109/L-CA.2010.8.
Hilton A, Roth A. SMT-directory: Efficient load-load ordering for SMT. IEEE Computer Architecture Letters. 2010 Jan 1;9(1):25–8.
Hilton, A., and A. Roth. “SMT-directory: Efficient load-load ordering for SMT.” IEEE Computer Architecture Letters, vol. 9, no. 1, Jan. 2010, pp. 25–28. Scopus, doi:10.1109/L-CA.2010.8.
Hilton A, Roth A. SMT-directory: Efficient load-load ordering for SMT. IEEE Computer Architecture Letters. 2010 Jan 1;9(1):25–28.

Published In

IEEE Computer Architecture Letters

DOI

ISSN

1556-6056

Publication Date

January 1, 2010

Volume

9

Issue

1

Start / End Page

25 / 28

Related Subject Headings

  • Computer Hardware & Architecture