I have a eBox server setup on a Intel Atom D510 (Dual Core) and I was noticing a lot of lag in the system. I was going through trying different options to speed it up and turned off the hyper-threading to see how it would perform. To my amazement the system is roughly 50% faster while under load. The eBox administration website is more responsive and my rsync transfers over my gigabit network went from 26MiB to 52MiB.
I did some quick searching around the internet and I discover that hyper-threading comes with some pretty hefty drawbacks. Resources such as cache, the floating point unit, etc, are shared - so if these parts of the processor are being heavily utilised by one process then the other process may not get its fair share of these shared resources. While the throughput of the processor can (*in some applications*) increase up to 30% using hyper-threading this comes with a lot of latency. Some applications latency doesn't matter and this is not one of them.
This latency was rearing its ugly head on my system even more because I'm using software raid and it was causing a snowball effect. All the cores were waiting for a shared resource (my hard drive) and the mdadm software raid system was left scrambling trying to maintain itself.
While hyper-threading might be good for some things it appears eBox isn't one of them.
I know we all want our servers to perform at their peak efficiency so I figured I would let everyone know my findings.