University of Cambridge > > Computer Laboratory Programming Research Group Seminar > Two Software-Based Models of Thread Level Speculation

Two Software-Based Models of Thread Level Speculation

Add to your list(s) Download to your calendar using vCal

If you have a question about this talk, please contact Viktor Vafeiadis.

Although thread-level speculation (TLS) has proved to be a promising direction for exploiting the programs’ inherent parallelism, their application to mainstream use is still delayed. On the one hand, hardware-centric approaches involve non-trivial and expensive changes to the basic cache-coherence infrastructure, which have not as yet been integrated in the design of the commercial processors. On the other hand, current software solutions use too much extra-memory, or incur non-constant and potentially high overheads, or are not applicable to general program patterns.

We present here two software-based TLS models that address the observed shortcomings of existing solutions: First, the speculative memory size is adaptable, but in general much smaller than the one of the sequential program. Second, the speculative operation overhead is nearly constant and comparable with the ``ideal’’ case of the related approaches, to the result that the system’s performance can be easily anticipated. Third, we achieve these without using any synchronization primitive, as we find the latter prohibitively expensive. Fourth, dependencies are tracked at the instruction/iteration level, and therefore our models tolerate well dependency-violations, as long as they are rear events. Finally, our solutions do not rely on specialized compiler support, and hence, they can be easily integrated in a dynamic compiler or used directly by the programmer.

We show that our models yield significant speed-ups, as high as 260% on a four processor SMP machine, even when nearly all of the memory access operations are guarded with speculative support. We argue that due to these properties, our framework is better suited than others to expose TLS to mainstream use.

This talk is part of the Computer Laboratory Programming Research Group Seminar series.

Tell a friend about this talk:

This talk is included in these lists:

Note that ex-directory lists are not shown.


© 2006-2024, University of Cambridge. Contact Us | Help and Documentation | Privacy and Publicity