Sql-server – Hyperthreading vs. SQL Server & PostgreSQL

cpu-architecturehyperthreadingperformancepostgresqlsql server

I have read that hyperthreading is a "performance killer" when it comes to DBs. However, what I read didn't state which CPUs. Further, it mostly indicated that I/O was "cut to < 10% performance".

That logically doesn't make sense since I/O is primarily a function of controllers and disks, not CPUs. But then no one ever said bugs made sense.

What I read also stated that SQL Server could put two parallel query ops onto 1 logical core (2 threads), thereby degrading performance. I have a hard time believing SQL Server's architects would have made such an obvious miscalculation.

Does anyone have and data on how hyperthreading on current generation CPUs affects either of the RDBMSs I mentioned?

Best Answer

What I read also stated that SQL Server could put two parallel query ops onto 1 logical core (2 threads), thereby degrading performance. I have a hard time believing SQL Server's architects would have made such an obvious miscalculation.

This is not a SQL Server problem. Hyper-Threading virtual cores look totally identical to real cores for the operating system - heck, even the bios. You can nail a process to a processor, but the scheduler simply has no idea which of the cores of a processor is real and which is hyper threading... especially as both are tehcnically real, just share certain resources. Hyper-Threading was developped by Intel to allow "cheaper dual core processors than real ones" by sharing certain assets between two cores each, but the cost is that the program simply has no knowledg about this.

Newer Intel CPU's are better inths hardware side, so Hypewr-Threading is not assumed a bottleneck for current SQL Server anymore - running on CURRENT intel chips. This because Intel made Hyperthreading better, primarily.

http://www.microsoft.com/whdc/system/sysperf/Perf_tun_srv-R2.mspx is the current 2008 R2 tuning guide.

http://ozamora.com/2010/09/sql-server-2008-r2-and-nehalem-processors/ has some stuff with Nehalem and SQL Server.