Machine Learning for Thread-Level Speculation Multi-core Architecture

Project Details

Key findings

We proposed to combine three speculative multithreading execution models (TLS, HT, and RA) into a single framework and common architectural support. The resulting system can seamlessly switch across models and performs significantly better than either model alone across a broader spectrum of applications. We proposed to combine the multi-path execution model (MP) with TLS. The resulting system is shown to mitigate some of the negative effects that branch misprediction has on TLS systems and to lead to better performance than either model alone. We proposed using static code features and machine learning to identify likely run-time data dependence violations and steer thread selection in TLS. This scheme is shown to work well in some cases, but also identifies the need for further work in this area. We proposed a power allocation scheme for TLS systems, based on DVFS, that improves the energy-efficiency of TLS. The approach is based on a profitabilitybased power allocation scheme, where we "steal" power from non-profitable threads and use it to speed up more useful ones. We present a limit study of TLS that is independent of specific architecture configurations and focuses instead on high-level TLS architectural support. In this way, a more accurate upper-bound on the performance potential of the TLS execution paradigm is obtained. We propose to use cores that do not contribute to performance of a parallel application for running TLS threads. We present a many-core architecture and protocol and show that both scalability and energy efficiency are improved. We systematically studied checkpointing and synchronization for TLS to improve energy efficiency. We proposed improvements to the TLS protocol to increase the effectiveness of checkpointing and we performed an in-depth study of various squash predictors. We proposed a machine learning-based approach to automatically infer a suitable thread mapping strategy for transactional memory applications. The approach is based on off-line profiling and a machine learning algorithm that builds a decision tree used at run-time.
StatusFinished
Effective start/end date1/09/0831/08/11

Funding

  • EPSRC: £425,761.00

Fingerprint

Explore the research topics touched on by this project. These labels are generated based on the underlying awards/grants. Together they form a unique fingerprint.