Multiprogramming Performance of the Pentium 4 with Hyper-Threading
James R Bulpin
Ian A Pratt
To appear at
Workshop on Duplicating, Deconstructing, and Debunking (WDDD04), Munich, Germany, June 19-20, 2004
Abstract
Simultaneous multithreading (SMT) is a very fine grained form of hardware multithreading that allows simultaneous execution of more than one thread without the notion of an internal context switch. The fine grained sharing of processor resources means that threads can impact each others' performance.
Tuck and Tullsen first published measurements of the performance of the SMT Pentium 4 processor with Hyper-Threading [Tuck PACT03]. Of particular interest is their evaluation of the multiprogrammed performance of the processor by concurrently running pairs of single-threaded benchmarks. In this paper we present experiments and results obtained independently that confirm 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.