Speculative inter-thread store-to-load forwarding in SMT architectures

Applications running on out-of-order cores have benefited for decades of store-to-load forwarding which accelerates communication of store values to loads of the same thread. Despite threads running on a simultaneous multithreading (SMT) core could also access the load queues (LQ) and store queues (...

Full description

Saved in:
Bibliographic Details
Published inJournal of parallel and distributed computing Vol. 173; pp. 94 - 106
Main Authors Feliu, Josué, Ros, Alberto, Acacio, Manuel E., Kaxiras, Stefanos
Format Journal Article
LanguageEnglish
Published Elsevier Inc 01.03.2023
Subjects
Online AccessGet full text

Cover

Loading…
More Information
Summary:Applications running on out-of-order cores have benefited for decades of store-to-load forwarding which accelerates communication of store values to loads of the same thread. Despite threads running on a simultaneous multithreading (SMT) core could also access the load queues (LQ) and store queues (SQ) / store buffers (SB) of other threads to allow inter-thread store-to-load forwarding, we have skipped exploiting it because if we allow communication of different SMT threads via their LQs and SQs/SBs, write atomicity may be violated with respect to the outside world beyond the acceptable model of read-own-write-early multiple-copy atomicity (rMCA). In our prior work, we leveraged this idea to propose inter-thread store-to-load forwarding (ITSLF). ITLSF accelerates synchronization and communication of threads running in a simultaneous multi-threading processor by allowing stores in the store-queue of a thread to forward data to loads of another thread running in the same core without violating rMCA. In this work, we extend the original ITSLF mechanism to allow inter-thread forwarding from speculative stores (Spec-ITSLF). Spec-ITSLF allows forwarding store values to other threads earlier, which further accelerates synchronization. Spec-ITSLF outperforms a baseline SMT core by 15%, which is 2% better on average (and up to 5% for the TATP workload) than the original ITSLF mechanism. More importantly, Spec-ITSLF is on par with the original ITSLF mechanism regarding storage overhead but does not need to keep track of the speculative state of stores, which was an important source of overhead and complexity in the original mechanism. •Communication among threads limits the scalability of parallel workloads.•Inter-Thread Store-to-Load Forwarding across SMT threads accelerates communication.•Spec-ITSLF enables inter-thread forwarding from speculative stores.•Spec-ITSLF outperforms the original ITSLF mechanism while simplifying its design.
ISSN:0743-7315
1096-0848
1096-0848
DOI:10.1016/j.jpdc.2022.11.007