Dynamic Simultaneous Multithreaded Architecture
<|reference_start|>Dynamic Simultaneous Multithreaded Architecture: This paper presents the Dynamic Simultaneous Multi-threaded Architecture (DSMT). DSMT efficiently exe-cutes multiple threads from a single program on a SMT processor core. To accomplish this, threads are generated dynamically from a predictable flow of control and then executed speculatively. Data obtained during the single context non-speculative execution phase of DSMT is used as a hint to speculate the posterior behavior of multiple threads. DSMT employs simple mechanisms based on state bits that keep track of inter-thread dependencies in registers and memory, synchronize thread execution, and control recovery from misspeculation. Moreover, DSMT utilizes a novel greedy policy for choosing those sections of code which provide the highest performance based on their past execution history. The DSMT architecture was simulated with a new cycle-accurate, execution-driven simulator. Our simulation results show that DSMT has very good potential to improve SMT performance, even when only a single program is available. However, we found that dynamic thread behavior together with fre-quent misspeculation may also produce diminishing re-turns in performance. Therefore, the challenge is to max-imize the amount of thread-level parallelism that DSMT is capable of exploiting and at the same time reduce the fre-quency of misspeculations.<|reference_end|>
@article{ortiz-arroyo2024dynamic,
    title={Dynamic Simultaneous Multithreaded Architecture},
    author={Daniel Ortiz-Arroyo and Ben Lee},
    journal={PDCS: Parallel and Distributed Computing Systems (ISCA) 2003},
    year={2024},
    archivePrefix={arXiv},
    eprint={2409.07903},
    primaryClass={cs.AR cs.DC}
}