Re: Virtualization Performance: Intel vs. AMD

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Thomas Fjellstrom wrote:

The Core i7 has hyperthreading, so you see 8 logical CPUs.
Are you saying the AMD processors do not have hyperthreading?
Course not. Hyperthreading is dubious at best.
That's a rather questionable answer to a rather broad issue. SMT is
useful, especially on processors with deep pipelines (think Pentium 4 -
and in general, deeper pipelines tend to be required for higher clock
speeds), because it reduces the number of context switches. Context
switches are certainly one of the most expensive operations if not the
most expensive operation you can do on a processor, and typically
requires flushing the pipelines. Double the number of hardware threads,
and you halve the number of context switches.

Hardware context switches aren't free either. And while it really has nothing to do with this discussion, the P4 arch was far from perfect (many would say, far from GOOD).

I actually disagree with a lot of criticism of P4. The reason why it's performance _appeared_ to be poor was because it was more reliant on compilers doing their job well. Unfortunately, most compilers generate very poor code, and most programmers aren't even aware of the improvements that can be had in this area with a bit of extra work and a decent compiler. Performance differences of 7+ times (700%) aren't unheard of on Pentium 4 between, say, ICC and GCC generated code.

P4 wasn't a bad design - the compilers just weren't good enough to leverage it to anywhere near it's potential.

This typically isn't useful if your CPU is processing one
single-threaded application 99% of the time, but on a loaded server it
can make a significant difference to throughput.

I'll buy that. Though you'll have to agree that the initial Hyperthread implementation in intel cpus was really bad. I hear good things about the latest version though.

As measured by what? A single-threaded desktop benchmark?

But hey, if you can stick more cores in, or do what AMD is doing with its upcoming line, why not do that? Hyperthreading seems like more of a gimmick than anything.

If there weren't clear and quantifiable benefits then IBM wouldn't be putting it in it's Power series of high end processors, it wouldn't be in the X-Box 360's Xenon (PPC970 variant), and Sun wouldn't be going massively SMT in the Niagara SPARCs. Silicon die space is _expensive_ - it wouldn't be getting wasted on gimmicks.

What seems to help the most with the new Intel arch is the auto overclocking when some cores are idle. Far more of a performance improvement than Hyperthreading will ever be it seems.

Which is targeted at gamers and desktop enthusiasts who think that FPS in Crysis is a meaningful measure of performance for most applications. Server load profile is a whole different ball game.

Anyway, let's get this back on topic for the list before we get told off (of course, I'm more than happy to continue the discussion off list).

Gordan
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux