Hyperthreading
Data warehouse applications, however, are a much, much different beast. A good deal of the benefit of buying the top-end SKU is to get parallel queries. This speeds up queries by running one query on multiple threads. It trades CPUs for runtime performance improvements. The QP has lots of smarts to try to split up things into equal chunks of work and to then run each of those chunks on a different thread on a different CPU. Usually the pattern for something like an index build or a hash join would be:
1. get everything onto different threads
2. do some work
3. wait for all those threads to complete
4. do something else in the query
So now I have some threads that finish earlier than others. So they block until the slowest threads finish. Even worse, I don't think that the query re-allocates those threads for other queries until the whole query finishes. So, now you have some background as to why hyperthreading was not recommended for at least some SQL Server deployments.