November 21, 2005 2:31 PM PST

Does hyperthreading hurt server performance?

Intel's hyperthreading technology, which aims to improve the performance of its processors, is being blamed by some technologists for server performance problems.

With both SQL Server and Citrix Terminal Server installations, motherboards enabled to use Intel's Hyperthreading Technology show markedly degraded performance under a heavy load, some technology professionals have reported. Disabling the technology restores expected levels, they noted.

"Our customers were complaining about much worse performance than expected when running Citrix Terminal Server and our software on the same machine," said Peter Ibbotson, the technical director at Lakeview Computers, a British provider of accounting software.

"We've had fun and games in the past, when we've enabled hyperthreading for testing, and we'd seen that motherboards had started to arrive with it enabled. When we disabled hyperthreading, performance went back to normal," Ibbotson added.

Hyperthreading allows various elements of a processor to run different code at the same time. Intel says its HT technology will boost chip performance and allow a CPU to process nearly twice as much information 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 behavior on high-end HT-enabled hardware. They noticed that in some cases, when high load is applied to SQL Server, CPU usage increases significantly but SQL Server performance degrades," Ocks wrote.

Ocks then detailed some testing that showed this behavior. In that case, a system thread cleaning out blocks of disk cache memory was running at the same time as worker threads. "With Intel HT technology, logical processors share L1 & L2 caches. As you would guess (this) behavior can potentially trash L1 & L2 caches," Ocks wrote.

The on-chip cache exists to speed operation by keeping copies of recently accessed data where it can be accessed without recourse to main system memory, which is much slower by comparison. Where multiple threads access different parts of memory, but are simultaneously processed by the chip's hyperthreading technology, the shared cache cannot keep up with their alternate demands, and performance falls dramatically, according to analysis by Ocks and Ibbotson.

"It's ironic," Ibbotson said. "Intel had sold hyperthreading as something that gave performance gains to heavily threaded software. SQL Server is very thread-intensive, but it suffers. In fact, I've never seen performance improvement on server software with hyperthreading enabled. We recommend customers disable it when running Citrix and our software on the same server."

Scott McLaughlin, an Intel spokesman, said Monday that hyperthreading has done well on most benchmarks. "Intel has been clear where it offers benefits and where it won't," he said.

Earlier this year, Intel hyperthreading was revealed to have a security flaw where threads could find information from each other through the shared cache despite having no access to each other's memory space.

Rupert Goodwins of ZDNet UK reported from London. CNET News.com's Greg Sandoval contributed to this report.

3 comments

Join the conversation!
Add your comment
RTFM
Even a plain old consumer like me realised that HT was not designed for a single "thread itensive application" but rather for running multiple applications at once. The examples Intel gave were playing a game and rendering a video ... very home-user centric usage. Is anyone suprised?
Posted by stumiller (20 comments )
Reply Link Flag
You make a very good point
but that is not where the problems stop. For a SQL server to have crappy perfomance something has already gone awry if it's crapping out on the processor level. Shoddy programming or DB administration is likely the culprit. We run multiple SQL servers in our shop sitting on stacks of XEONs and we haven't had one processing related issue. These people need to send thier Indians back to programming school and quit letting the Russians setup thier networks. They are not so leetski!
Posted by Mr. Network (92 comments )
Link Flag
 

Join the conversation

Add your comment

The posting of advertisements, profanity, or personal attacks is prohibited. Click here to review our Terms of Use.

What's Hot

Discussions

Shared

RSS Feeds

Add headlines from CNET News to your homepage or feedreader.