Hyperthreading hurts server performance, say developers

Intel's Hyperthreading Technology (HT) is being blamed for server performance problems.
With both SQL Server and Citrix Terminal Server installations, HT-enabled motherboards show markedly degraded performance under heavyload. Disabling HT restores expected levels, according to reports fromwithin the IT industry.
"Our customers were complaining about much worse performance thanexpected when running Citrix Terminal Server and our software on thesame machine," said Peter Ibbotson, technical director of UK accountingsoftware company Lakeview Computers.
"We've had fun and games in the past when we've enabledhyperthreading for testing and we'd seen that motherboards had startedto arrive with it enabled. When we disabled hyperthreading, performancewent back to normal," Ibbotson added.
Hyperthreading allows different elements of a processor to rundifferent code at the same time, which Intel has claimed will boostchip performance and allow a CPU to process nearly twice as muchinformation as one without hyperthreading.
Slava Ocks, a developer working on SQL Server 2005 within Microsoft, reported similar problems in a blog posting earlier this month.
"Our customers observed very interesting behaviour on high-end HT-enabled hardware. They noticed that in some caseswhen high load is applied SQL Server CPU usage increases significantlybut SQL Server performance degrades," wrote Ocks.
Ocks then detailed testing which showed this behaviour where a systemthread — in this case one cleaning out blocks of disk cache memory — isrunning at the same time as worker threads. "With Intel HT technology, logical processors share L1 & L2 caches. As you would guess [this] behaviour can potentially trash L1 & L2 caches," he said.
The on-chip cache exists to speed operation by keeping copies ofrecently accessed data where it can be accessed without recourse tomain system memory — which is much slower by comparison. Where multiplethreads access different parts of memory but are simultaneouslyprocessed by the chip's Hyperthreading Technology, the shared cachecannot keep up with their alternate demands and performance fallsdramatically, according to analysis by Ocks and Ibbotson.
"It's ironic," said Ibbotson. "Intel had sold hyperthreading assomething that gave performance gains to heavily threaded software. SQLServer is very thread-intensive, but it suffers. In fact, I've neverseen performance improvement on server software with hyperthreadingenabled. We recommend customers disable it when running Citrix and oursoftware on the same server."
At the time of writing, Intel had not responded to requests for comment on these claims.
Earlier this year, Intel hyperthreading was revealed to have a security flaw where threads could find information from each other through the sharedcache despite having no access to each other's memory space.