2+2=4?

  • It's a fairly simple equation that we learn early on in life. Two plus two = four. And it's something that we learn fairly quickly as DBAs that it doesn't hold true for our SMP servers. A quad processor server is not twice as fast as a dual processor server. That's due to overhead with managing those multiple entities and switching context.

    But maybe 4 processors will not be four times as fast as 1? Or is it really four processors or 16? Intel has been talking about quad core processors as early as 2007 in desktops. And I still don't have a dual core. Yet 🙂

    And I am still confused about the whole core v processor argument. I admit that I was slightly lost with the hyperthreading processors that ran two threads at once inside one CPU. Or is it a packing mechanism only? Is a processor actually the thing doing the work or the plastic and metal case that holds all those gates and transistors? It seems to me that if a core actually does the processing work, why isn't it called a processor? Why don't we just have a dual processor that's in a single plug package?

    I don't how the new quad core, which are dual dual cores (if that makes sense), will run on an OS that's supporting a single CPU. Or maybe that's the idea.

    Maybe it's all collusion to get us to upgrade to the latest Vista release, Linux SMP kernel, and high performance, SMP aware versions of our favorite software: solitaire.

    Steve Jones

  • Solitare with 3D cards might be nice - have to make use of the processors/cores somehow

    I suspect the word "processor" has become synonymous with the physical package of a CPU and members of the general public accept and understand this.  Rather than confuse folk who are used to the current marketing speak, they say it is a processor with > 1 cores since the consumer still sees they are buying a single processor...

    As for hyperthreading - it might've helped some applications but I think it was useful in only certain circumstances.  It could also hurt performance on MS Terminal / Citrix servers due to there not actually being 2 processors but windows would schedule threads as though there were 2 processors causing lots of cache misses, etc.  There's also been talk of security issues (although hard to exploit I would've thought) that code running on processor #1 of a HT CPU could see some leftover data in the cache of code running on processor #2...

    Accurate quote - can't remember where I heard it but it was a few years ago...

    "What the hardware man giveth, the software man taketh away"  -  so true

  • Steve,

    You're right about being confused about the processor discussion...

    The cores in hyperthreading processors might be viewed as separate processors that share the housing. But they share more than the casing: they both (all) have access to the same external wires and thereby they share at least the physical memory and L2 and L3 caches. Intel's HT processors also share the L1 cache on the inside.

    One of the problems they were designed to overcome, was the relative slowness of memory through the use of very fast context switches between thread contexts already loaded in one of the multiple register sets. Instead of waiting for requested data from slow RAM, the processor could carry on in another thread.

    The big problem, however, is that the capacity of two or even four threads that are easily switchable is not guaranteed to be enough to make a business case. In general, it isn't, and it makes it much more difficult to schedule the switching effectively. At the same time it can cause some nasty interferences on the cache usage patterns.

    Regards

    Mads Holm

  • smp is less confusing when you're looking at true smp configurations; such as dual/quad/etc cpus in configuration or dual/quad core opterons (quads are due out in '07). intel's hyperthreading is a pure gimmic that doesn't work. you can't multithread a cisc cpu, and benchmarks prove this. it actually slows things down.

    amd opterons are 'build from the ground up' with multiple cores per wafer in mind. the cpu to cpu bus is 800mhz; multiple memory buses running at the speed of the cpu with the htt @ 1ghz makes for a very fast multi-core configuration.

    intel's current dual cores (pentium-d) is .. well another gimmic. 2 cpus crammed together on a wafer does not make for an exceptional dual core; nor does it come close to the opteron architecture.

    smp processing definitely has it's place with 3d and db applications; the highest load i've seen on my opteron 520 server is >300billion procs running (verified thru the profiler). insane load.

  • A agreed-upon standard naming is needed so that software licensing can be well understood. We run into the same confusion with Unix systems (and in particular the Oracle licensing). For the sake of argument, let's say that a core is a processing core, and the CPU or processor is the physical chip with pins that inserts into a motherboard socket. This is how SPEC.org categorizes them and they have no hardware to push and are recognized across the industry.

    Now, HP and IBM both call the individual cores in their "dual-core" CPU's "processors". So an "8-way" HP9000 or IBM pSeries is really a "4 socket system, 4 chips, 8 cores". An 8-way p550Q is a 2 chip (4 cores per chip) system.

    Sun calls their Niagra's "8-core CPU's" although they now add the "32 threads per processor" to make it interesting again. AMD and Intel also call their chips "dual core CPU's" or "dual core processors".

  • I wish we had standard naming. However since the names are marketing functions, it's not likely to happen soon.

  • My experience;

    I had to buy a new workstation last summer, and ended up getting a dual-core Dell. After reading up a bit, my understanding was that with a two processor machine, the second processor provides about 80% of the throughput of the first. With a dual-core machine, the second core provides about 70% of the throughput of the first.

    I've been using it about six months now, and am happy with it. Virtually no applications, however, will fully use both processors, not even SQL Server, (but practically, that may be more IO bottleneck than cpu inefficiency).

    Still, it's a good processor. There is significant real-world benefit with loading and running more than one processor-intensive applications. I no longer have noticeable delays with a second program, if a first is hogging the cpu. Having had a dual-core, and with price differences trivial, I'd never go back.

    I was surprised, when I started shopping last spring, that all benchmarks only deal with gaming. Ten years ago, there were ample benchmarks for compilers, graphics, floating-point operations, business applications, etc. Not any more. Gaming appears to be the only important dimension.

     

  • "I don't how the new quad core, which are dual dual cores (if that makes sense), will run on an OS that's supporting a single CPU. Or maybe that's the idea."

    Hi Steve,

    NT 4 Wkstn, 2000 Pro, and XP Pro all support multiple CPUs. I think the limit is 2 on those, but you'd need to look it up.

    John

  • For the consumer running things like Windows XP, MS Office, web browsing, etc - the most CPU intensive thing they will ever do on their computer is to run games...  Also, the ppl who want to upgrade to the latest and greatest all the time are (in my experience) those who use their PC for lots of games... So it's not that surprising that CPU benchmarks are in terms of FPS for certain games, etc...

    The limiting factor for things like Windows XP multi-tasking, etc is usually RAM...  Those who are buying chips for a server system probably look at the overall system from the supplier such as RAID controllers, support, remote management, etc rather than raw CPU power alone. 

  • 2+2=6 reminded me the famous auther George Orwell of 1984 where he writes " If you have the freedom to say 2+2 =4 the rest follows"

    V.Kadal Amutham

Viewing 10 posts - 1 through 9 (of 9 total)

You must be logged in to reply to this topic. Login to reply