Low-level implementation of the SISC protocol for thread-level speculation on a multi-core architecture

•A low-level implementation and evaluation of the SISC WI TLS protocol.•The modification of existing and adding the new components to support TLS.•The overhead evaluation in term of cache cycle latency, area, and power costs.•No particular issues identified with regards to cache latency.•TLS has a s...

Full description

Saved in:
Bibliographic Details
Published inParallel computing Vol. 67; pp. 1 - 19
Main Authors Radulović, Milan B., Girbal, Sylvain, Tomašević, Milo V.
Format Journal Article
LanguageEnglish
Published Elsevier B.V 01.09.2017
Subjects
Online AccessGet full text

Cover

Loading…
More Information
Summary:•A low-level implementation and evaluation of the SISC WI TLS protocol.•The modification of existing and adding the new components to support TLS.•The overhead evaluation in term of cache cycle latency, area, and power costs.•No particular issues identified with regards to cache latency.•TLS has a significant impact in term of overhead on area and power. Chip Multiprocessors (CMP) have emerged during last decades as a very attractive solution in using the ever-increasing on-chip transistor count. However, classical parallelization techniques failed to fully exploit parallelization from existing sequential applications due to false data dependencies. This paper focuses on the Thread-level Speculation (TLS) technique, an alternative way to exploit the transistor budget in a CMP. With TLS, even possibly data dependent threads can run in parallel as long as the semantics of the sequential execution is preserved. A special hardware support monitors the actual data dependencies between threads at run time and, if they are violated, misspeculation effects are undone usually through replay. This kind of system is known as speculative CMP. However, the TLS mechanism requires complex protocols that integrate cache coherence and speculation to maintain program order among multiple versions of data. Current TLS protocol evaluations are usually inadequate because they are not done low-level enough. A realistic evaluation of speculative CMPs requires either to be performed on a real hardware or very detailed cycle-accurate simulator models. In this paper we are particularly focused on a low-level evaluation of the write-invalidate TLS protocol Speculation Integrated with Snoopy Coherence (SISC) protocol proposed in [1]. This evaluation relies on cycle-level simulation environment with detailed cycle-level cache memories, cache controller and system bus. On top of this, a speculative four core architecture is simulated and three new modules (Scheduler, Squash Arbiter and Supplier Arbiter) are provided to support low-level implementation of the SISC protocol. The overall cost of the SISC protocol is evaluated by means of CACTI tool for the three different domains: the access latency cost, the area cost, and the power cost. The evaluation goal was to keep the cache access time to remain below cycle latency as well as the area and power overheads below an acceptable budget overhead. The SISC protocol has been compared against regular MESI-based architecture in both 32-bit and 64-bit versions. We kept the cache access time below the cycle latency, and we managed to keep both data cache area and static power overheads respectively below 32% and 35%.
ISSN:0167-8191
1872-7336
DOI:10.1016/j.parco.2017.07.007