Fast thread migration via cache working set prediction

Jeffery A. Brown, Leo Porter, Dean M. Tullsen
2011 2011 IEEE 17th International Symposium on High Performance Computer Architecture  
The most significant source of lost performance when a thread migrates between cores is the loss of cache state. A significant boost in post-migration performance is possible if the cache working set can be moved, proactively, with the thread. This work accelerates thread startup performance after migration by predicting and prefetching the working set of the application into the new cache. It shows that simply moving cache state performs poorly, and that moving the instruction working set can
more » ... on working set can be even more critical than data. This paper demonstrates a technique that captures the access behavior of a thread, summarizes that behavior into a compact form for transfer between cores, and then prefetches appropriate data into the new caches based on the summary. It presents a detailed study of single-thread migration effects, and then demonstrates its utility on a speculative multithreading architecture. Working set prediction as much as doubles the performance of short-lived threads, and in a full speculative multithreading implementation, the technique is also shown to nearly double the effectiveness of the spawned threads.
doi:10.1109/hpca.2011.5749728 dblp:conf/hpca/BrownPT11 fatcat:542zgr7xgfa7zbxhsvavdu3vam