Speculative Multithreading and TM
Speculative Mutltihreading and TM are two programming models that have been proposed in the literature in the last few years. In one of our latest works, we manage to speedup the inherently serial Dijkstra's algorithm using Helper Threads that leverage the underlying hardware TM mechanisms to synchronize (more details can be found
here and
here). This has inspired us to look at ways to effectively combine the two programming techniques.
We are currently exploring adjustments and extensions for existing TM implementations that will enable the spawn and management of speculative threads. At the same time we are trying to develop a single programming model that will provide an interface to the programmers for efficient usage of such systems.