Lessons Learned from Analyzing Dynamic Promotion for User-Level Threading
Lessons Learned from Analyzing Dynamic Promotion for User-Level Threading
复制标题
从分析用户级线程的动态提升中吸取的经验教训
DOI:
10.1109/sc.2018.00026
复制
发表时间:
2018
期刊:
影响因子:
--
通讯作者:
P. Balaji
中科院分区:
文献类型:
--
作者:
Shintaro Iwasaki;A. Amer;K. Taura;P. Balaji
A performance vs. practicality trade-off exists between user-level threading techniques. The community has settled mostly on a black-and-white perspective; fully fledged threads assume that suspension is imminent and incur overheads when suspension does not take place, and run-to-completion threads are more lightweight but less practical since they cannot suspend. Gray areas exist, however, whereby threads can start with minimal capabilities and then can be dynamically promoted to acquire additional capabilities when needed. This paper investigates the full spectrum of threading techniques from a performance vs. practicality trade-off perspective on modern multicore and many-core systems. Our results indicate that achieving the best trade-off highly depends on the suspension likelihood; dynamic promotion is more appropriate when suspension is unlikely and represents a solid replacement for run to completion, thanks to its lower programming constraints, while fully fledged threads remain the technique of choice when suspension likelihood is high.