Multiprogramming Performance of the Pentium 4 with Hyper-Threading
James R. Bulpin, Ian A. Pratt · 2004
Simultaneous multithreading (SMT) is a very ne grained form of hardware multithreading that allows simultaneous execution of more than one thread without the notion of an internal context switch. The ne grained sharing of processor resources means that threads can impact each others’ performance. Tuck and Tullsen rst published measurements of the performance of the SMT Pentium 4 processor with Hyper-Threading [12]. Of particular interest is their evaluation of the multiprogrammed performance of the processor by concurrently running pairs of singlethreaded benchmarks. In this paper we present experiments and results obtained independently that conrm their observations. We extend the measurements to consider the mutual fairness of simultaneously executing threads (an area hinted at but not covered in detail by Tuck and Tullsen) and compare the multiprogramming performance of pairs of benchmarks running on the Hyper-Threaded SMT system and on a comparable SMP system. We show that there can be considerable bias in the performance of simultaneously executing pairs and investigate the reasons for this. We show that the performance gap between SMP and Hyper-Threaded SMT for multiprogrammed workloads is often lower than might be expected, an interesting result given the obvious economic and energy consumption advantages of the latter.