SUIF: an infrastructure for research on parallelizing and optimizing compilers
ACM SIGPLAN Notices
ISCA '95 Proceedings of the 22nd annual international symposium on Computer architecture
PACT '95 Proceedings of the IFIP WG10.3 working conference on Parallel architectures and compilation techniques
IEEE Transactions on Parallel and Distributed Systems
Post-pass binary adaptation for software-based speculative precomputation
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
IEEE Micro
Mitosis compiler: an infrastructure for speculative threading based on pre-computation slices
Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation
Tasking with out-of-order spawn in TLS chip multiprocessors: microarchitecture and compilation
Proceedings of the 19th annual international conference on Supercomputing
Proceedings of the 38th annual IEEE/ACM International Symposium on Microarchitecture
Compiler and hardware support for reducing the synchronization of speculative threads
ACM Transactions on Architecture and Code Optimization (TACO)
A thread partitioning approach for speculative multithreading
The Journal of Supercomputing
Hi-index | 0.03 |
Speculative Multithreading (SpMT) has been proposed as a perspective method to exploit Chip Multiprocessors (CMP) hardware potential. This paper researches speculative thread-level parallelism(TLP) for general-purpose programs. The Prophet system consists of a SpMT compiler framework and a simulator prototype based on the SpMT execution model. In the Prophet system, procedures are represented as weighted control flow graph (WCFG), the thread generator uses structural analysis and heuristic algorithm to partition the WCFG into sub-graphs which represent the candidate threads. Inter-thread data dependences are predicted by pre-computation slice (p-slice) to reduce RAW violation. Since the partition is speculative, thread state control mechanism and multi-versioning cache system are designed to buffer the speculative data, and a snooping bus based cache coherence protocol is used to detect data dependence violation. Simulation-based evaluation shows that the Prophet system could achieve significant speedup for general-purpose programs.