To Hyperthread or Not To Hyperthread
Following on from my comments about CPU configuration I
have decided to restate my position to "it depends....".
Having performed some investigation in the Sql community,
Glenn Berry ( Twitter | Blog )
suggested that Hyper Threading should be enabled for the new
Xeon
55xx, 56xx, 65xx, and 75xx (Nehalem)
processors and pointed me in the direction of the
TPC-E benchmarks for evidence of their performance.
According to the benchmarks in this article http://www.qdpma.com/Benchmarks_TPCH.html
OLTP systems (TPC-E) benefit from a 30% performance gain from
hyperthreading while Data Warehousing (TPC-H) benefitted only 10% from
hyperthreading.
Still concearned about the potential issues with
Hyper-threading I descided to investigate further. I found this great
article by Joe
Chang suggesting that many of the problems with the original Hyperthreaded
Netburst processors have gone away with the advent of Nehalem. He just suggested
setting MAXDOP to 4 as a general rule.
Given that there is such a great performance gain to be
had for Hyperthreading with OLTP, I do intend to turn it on for servers
containing the new Nehalem chipset. For DW servers, I will still leave it
disabled as I have spent many an hour tracking down various issues with CXPACKET
and Intra Query Parallel Thread Deadlocks. I still dont trust the technology
enough to go there at this point.
@Blakmk