Optimizing Multithreading Speculative Execution Using Continuous Two-phase Online Profiling
Traditionally offline profiling approach provides necessary information for the optimizations used in speculative multithreading. However, the offline profiling can't address the applications without appropriate training input. This paper proposes an online profile guided optimization approach to address this problem, which performs profiling and optimizing at runtime and doesn't need an individual profiling pass as well as good training inputs. Furthermore, our approach is also suitable for the applications with the phase-changed behavior. The evaluation shows that this approach is competent to serve as an individual guide to speculatively parallelize the applications when traditional off-line profiling is unavailable.