Multitasking, physical core vs virtual cores

Page 5 - Seeking answers? Join the AnandTech community: where nearly half-a-million members share solutions and discuss the latest tech.

Chiropteran

Diamond Member
Nov 14, 2003
9,811
110
106
Here is the exact post:
http://forums.anandtech.com/showpost.php?p=30072262&postcount=21

The very first word he has ever uttered to me is 'wrong'.

No it's not.

It's all a matter of interpretation. IMO multi-threaded software is far more efficient, because it can do the same amount of work faster by using additional cores. Obviously your definition of efficient is different from mine. Perhaps you think it's inefficient to use multiple cores? I think it's the opposite. It's inefficient to have software that only uses 1/4 or 1/6 of a CPU at a time, that is terribly inefficient compared to using 100% of the CPU.

See?
 

Scali

Banned
Dec 3, 2004
2,495
0
0
It wasn't a matter of interpretation until that single sentence got yanked out of context.
I clearly said this:
"If I can choose between N cores of M GHz or 1 core of (N*M) GHz, I'd pick the single core every day of the week and twice on Sunday.
Multithreaded software is just inherently less efficient than single-threaded software."

If I had the choice, I'd go for the single-core, single-threaded solution ("Screw Amdahl", basically).
But what I said there was purely hypothetical... since we have technical limitations that don't allow us to reach (N*M) GHz, but DO allow us to reach N cores of M GHz, yes, obviously we should use those extra cores while we have them.
But you didn't really think I was THAT dumb, did you? Way to underestimate people.
 
Last edited:

Chiropteran

Diamond Member
Nov 14, 2003
9,811
110
106
If I had the choice, I'd go for the single-core, single-threaded solution.
But what I said there was purely hypothetical... since we have technical limitations that don't allow us to reach (N*M) GHz, but DO allow us to reach N cores of M GHz, yes, obviously we should use those extra cores while we have them.
But you didn't really think I was THAT dumb, did you? Way to underestimate people.

Okay, yeah that was purely hypothetical. Anyway, back to reality: the cost of going for a single N*M Ghz core instead of N cores at M Ghz is incredibly huge in power and heat. Such that your single core would produce much more heat than the multi-core CPU, which again points to it being inefficient.

However, in hypothetical fantasy land where all things are equal and you can have a 20Ghz CPU that doesn't produce any more heat than a 6 core 3.3Ghz, in that fantasy-land the single-core is the way to go.
 

Scali

Banned
Dec 3, 2004
2,495
0
0
Lol, someone trying to estimate the power consumption of a completely hypothetical CPU... Desperate!

What I was indirectly referring to however, was that because there will always be portions of applications that cannot be parallelized, it is always relevant to have fast individual core performance aswell (which is illustrated by the recent addition of the turbo feature, for example).
 
Last edited:

GaiaHunter

Diamond Member
Jul 13, 2008
3,700
406
126
It's all a matter of interpretation. IMO multi-threaded software is far more efficient, because it can do the same amount of work faster by using additional cores.

The problem of multi-threaded software is that it is less trivial to program, which means less people can program for it. And of course then you still have to rely on windows to know how to distribute the workload.

And of course with $400-600 you can get a motherboard, CPU, RAM, GPU and have 70-85% of the performance of a CPU that cost that or twice that - while professional and companies can justify that based on other things, regular users are buying that just because they can and most of the time that extra performance will go untapped.
 
Last edited:

aigomorla

CPU, Cases&Cooling Mod PC Gaming Mod Elite Member
Super Moderator
Sep 28, 2005
21,067
3,574
126
8P is such a niche market BECAUSE there is such a huge price delta.
I really don't see why though.

because ur deep inside enterprise territory here.
No longer one foot in consumer one foot in enterprise.. where i call that sector Home Server.

Once u get to 8P + machines, the companies can charge almost whatever they want on it, because its going to companies not consumers.

Also you'll notice the enterprise stuff usually has better MTBF's and longer warranty attached.
 

taltamir

Lifer
Mar 21, 2004
13,576
6
76
because ur deep inside enterprise territory here.
No longer one foot in consumer one foot in enterprise.. where i call that sector Home Server.

Once u get to 8P + machines, the companies can charge almost whatever they want on it, because its going to companies not consumers.

Also you'll notice the enterprise stuff usually has better MTBF's and longer warranty attached.

the thing is:
1. there would be a good market for it if it wasn't so expensive, because it takes less space and saves a bit in other ways.
2. by making it prohibitively more expensive, companies just have more 4P or 2P machines.

As a result, only companies which are extreme pressed for space but those. (for, for example, a satellite or some such) Whenever space is not an issue, they don't. I am wondering how effective it is, cost-wise.

That being said... if it is actually 10% of the market then its a lot more then I would have expected, and apparently they are buying it. Maybe data-center floor-space is simply more expensive then I realize

Here is the exact post:
http://forums.anandtech.com/showpost.php?p=30072262&postcount=21

The very first word he has ever uttered to me is 'wrong'. Obviously that doesn't go down well.
The rest of his post just demonstrates how he misunderstood what I said, and how he thinks he knows better, while he is actually coming to the same conclusion as I did (or well, Amdahl did, I'm just the messenger here): "It all comes down to how much of the application can be done in parallel versus in serial."
If you take that one step further: "In the case of a perfectly parallellizable application, you get the same efficiency from N cores at M GHz as you do from one core at (N*M) GHz. With any less than perfect parallelism, the serial version is the more efficient one". Which is exactly what I said to begin with.

He OBVIOUSLY misunderstood you, and he didn't say anything wrong, he just called you as being "wrong" incorrectly, because he misunderstood you.
mmm, well, when I think about it. It is odd though that he wouldn't get it. Efficiency is obviously performance / watt or performance / size. Not absolute speed. He was acting like you said "a single core athlon 2 @ 2ghz is faster than a dual core athlon 2 @ 2ghz"... It should have been obvious that you meant that scaling is far from perfect, and that 2x the cores are less than 2x the performance.
 
Last edited:

JFAMD

Senior member
May 16, 2009
565
0
0
I'll agree that wrong was a bad word to use.

Now, is he willing to retract all of the things that he said personally about me? There are a few.
 

Scali

Banned
Dec 3, 2004
2,495
0
0
He OBVIOUSLY misunderstood you, and he didn't say anything wrong, he just called you as being "wrong" incorrectly, because he misunderstood you.

I think "wrong." as an opening line is as arrogant as you can be. What makes it worse is that I was NOT wrong at all. So he had disqualified himself there and then. Firstly, he is far too arrogant and agressive to my liking... secondly, apparently he doesn't understand the material well enough. Thirdly, he's affilliated with AMD.
Three strikes, you're out.
 

Scali

Banned
Dec 3, 2004
2,495
0
0
I'll agree that wrong was a bad word to use.

Now, is he willing to retract all of the things that he said personally about me? There are a few.

No, I stick by every word I said. I suggest you stay well out of my way. I have nothing to say to you EVER. And I suggest you don't try to 'correct' me again, in any way. Just don't bother responding to anything I say, ever. Do I make myself clear?
 

taltamir

Lifer
Mar 21, 2004
13,576
6
76
I'll agree that wrong was a bad word to use.
I agree

Now, is he willing to retract all of the things that he said personally about me? There are a few.
I agree

I think "wrong." as an opening line is as arrogant as you can be.
I agree

What makes it worse is that I was NOT wrong at all.
I agree

Thirdly, he's affilliated with AMD.
Why is that a strike?

No, I stick by every word I said. I suggest you stay well out of my way. I have nothing to say to you EVER. And I suggest you don't try to 'correct' me again, in any way. Just don't bother responding to anything I say, ever. Do I make myself clear?
Harsh... you know what, I think both of you will benefit from a wonderful feature of anandtech called the ignore list.
It is in your userCP, 9th option, below "Edit Options" (don't click edit options, look below it in User CP)
 
Last edited:

Scali

Banned
Dec 3, 2004
2,495
0
0
Why is that a strike?

His posts don't really leave much doubt as to his intentions. He's only defending AMD's side... and doing it in a way I don't approve of (too aggressive, too arrogant, full of technical flaws, etc).

Let's just say... if your employees need to enter forum discussions to try and convince people of your product's merits... then your products themselves and your marketing division have both already failed.

Harsh... you know what, I think both of you will benefit from a wonderful feature of anandtech called the ignore list.
It is in your userCP, 9th option, under "Edit Options"

Ignore doesn't work.
He'd still be arguing my posts, I just can't see them. That also means I no longer have the opportunity to counter his misinformation.

Bottom line is... if you cross the line once with me, there's no going back. The very first words he ever said to me showed a complete lack of respect. If you don't show me any respect, I will return the favour. And you can't win my respect back. You can lose it only once.
 
Last edited:

aigomorla

CPU, Cases&Cooling Mod PC Gaming Mod Elite Member
Super Moderator
Sep 28, 2005
21,067
3,574
126
the thing is:
1. there would be a good market for it if it wasn't so expensive, because it takes less space and saves a bit in other ways.
2. by making it prohibitively more expensive, companies just have more 4P or 2P machines.
.

im lost where you one need more then a quadcore per say?

IF your a non stop render, or encoder.. well thats a job... and a job would fall under SOHO... small office home office... which computer would fall under the home server catigory.

We have a lot of those, and there priced a tad bit more then regular stuff.
ASUS calls them WORKSTATION series.

Intel labels them as W35XX and W36XX

There is no consumer 2P system outside the major major extreme. Like 4x4 and ST, and SR-2.
Even these are things which are built ground up from server stuff.

I just dont see the need in a individual needing anything more then a 1p system.


Now if your company needs a 2P+ system.. then im glad your paying an arm and a leg to them on stuff.
Reason is, server funding eventually comes over to consumer side, and we also benifit from the profit on enterprise side.

Which is why servers cost more then desktops.
W3520 vs i7 920.... (well the W series has a better memory controller also)

And also why Xeons usually are the first cpu's to also come out.

More funding on enterprise gear... makes us happy on consumer....
Well X58 people at the least. :D
 
Last edited:

GaiaHunter

Diamond Member
Jul 13, 2008
3,700
406
126
He OBVIOUSLY misunderstood you, and he didn't say anything wrong, he just called you as being "wrong" incorrectly, because he misunderstood you.
mmm, well, when I think about it. It is odd though that he wouldn't get it. Efficiency is obviously performance / watt or performance / size. Not absolute speed. He was acting like you said "a single core athlon 2 @ 2ghz is faster than a dual core athlon 2 @ 2ghz"... It should have been obvious that you meant that scaling is far from perfect, and that 2x the cores are less than 2x the performance.

Sincerely he wasn't acting like a single core was faster that a duo - he just presented 2 types of workload, one that is easily split into several smaller workloads vs one that isn't.

And it isn't like all applications scale perfectly with clock speed increase either.
 

taltamir

Lifer
Mar 21, 2004
13,576
6
76
@aigomorla
what i meant was, what is stopping a company who needs a farm of 800 cores, from just having 200 quad core CPUs @ 1P machines instead, or 100 @ 2P, or 50 @ 4P... rather then pay an arm and a leg for 25 @ 8P.
The answer would be space, manpower, duplicate hardware, etc. If the "tax" is set to ridiculously high, then more and more companies will just not pay it.

That its a whopping 10% of the market @ 5400$ a CPU (so, 43200$ for an 8P for CPUs alone) is a total surprise to me. It indicates that space is a lot more expensive then I imagined... I thought it would account to far less than 0.1% at such ridiculous prices.
(the 10% figure and the price were both figures posted by others in this thread, I have no knowledge as to their accuracy)

Sincerely he wasn't acting like a single core was faster that a duo - he just presented 2 types of workload, one that is easily split into several smaller workloads vs one that isn't.

And it isn't like all applications scale perfectly with clock speed increase either.

then maybe i misunderstood him... see, those things happen :p
 

Scali

Banned
Dec 3, 2004
2,495
0
0
And it isn't like all applications scale perfectly with clock speed increase either.

They do... but you shouldn't forget that this means you need to scale clockspeed across the board.
If you increase the CPU clock, but don't scale other things such as caches, buses, memory etc along with it, then obviously the application will not scale perfectly either. You're creating bottlenecks because you're not scaling the hardware itself perfectly.
 

aigomorla

CPU, Cases&Cooling Mod PC Gaming Mod Elite Member
Super Moderator
Sep 28, 2005
21,067
3,574
126
I argue that nobody has ever written a larger multithreaded program in asm, because it's just completely crazy and compilers actually doing a pretty decent job these days with optimizations, though if you know the machine the program will be running you can optimize stuff lots afterwards (register allocation, stuff like optimizing FMA use, etc.) - but in the consumer space? Do you really want to write different programs for those CPUs that use SSE2, 3, etc.?

Assembly has its uses at the bottom level to get all those tools/libs/VMs needed to program efficiently and in those situations where you want to optimize some code and don't care about portability at all, which is usually only interesting for the HPC crowd but not standard consumer programs, why bother about a 20% sequential performance increase with all the associated problems if you can make the program scale from 2 to 4/6 cores and profit everywhere?

*whispers* did you miss me talk on a consumer level

@aigomorla
what i meant was, what is stopping a company who needs a farm of 800 cores, from just having 200 quad core CPUs @ 1P machines instead, or 100 @ 2P, or 50 @ 4P... rather then pay an arm and a leg for 25 @ 8P.
The answer would be space, manpower, duplicate hardware, etc. If the "tax" is set to ridiculously high, then more and more companies will just not pay it.

No your not looking at cost in maintaining a server room.
The more machines you have the more heat it will generate.
And a LOT more then just adding 1 more processor / Card on a board vs an entire new rack.

Did u also know in an office the server room is the one room that never has its AC off. :p

So to a big company... whats better? Cheaper cost in hardware or?
Being able to fit all you have in half the footprint, while use probably a little more then 1/2 the power requirements.

In a long established company its a no brainier question.
 
Last edited:

taltamir

Lifer
Mar 21, 2004
13,576
6
76
The more machines you have the more heat it will generate.
To an extent. The mobo, IGP, and a single small HDD/SSD (heck, if you even have one... live CD/USB stick could take its place) do not generate all that much heat. And you still have the same amount of RAM per CPU, and the exact same number of CPUs. And the CPUs generate the majority of the heat. Naturally there is some extra heat due to some more duplicate hardware, but if I had to make a guess I would say no more then 20% for a CPU farm. And the "extra power consumption / heat" fall into that etc part. I did say that manpower and space are not the only things.

So to a big company... whats better? Cheaper cost in hardware or?
Being able to fit all you have in half the footprint, while use probably a little more then 1/2 the power requirements.
That entirely depends on the exact costs of each.
If you are a large enough company you should have the resources to conduct testings and run the numbers, and figure out, mathematically, which one is more expensive.
 
Last edited:

GaiaHunter

Diamond Member
Jul 13, 2008
3,700
406
126
They do... but you shouldn't forget that this means you need to scale clockspeed across the board.
If you increase the CPU clock, but don't scale other things such as caches, buses, memory etc along with it, then obviously the application will not scale perfectly either. You're creating bottlenecks because you're not scaling the hardware itself perfectly.

Sure all that will help (more or less depending on the CPU architecture), but at what costs (both in terms of R&D/parts quality for manufacturers and total cost for consumers) will you be able to achieve that?

Clearly there is a reason why more and more cores are required, even hundreds for some specific workloads (yeah, I'm talking about GPGPU) - as you said the hardware itself doesn't scale perfectly.

It is clearly a case of Science vs Engineering - you have a given physical celling (for each architecture/manufacture process) where simply is more efficient to have more slower cores opposed to faster ones.
 

taltamir

Lifer
Mar 21, 2004
13,576
6
76
Clearly there is a reason why more and more cores are required, even hundreds for some specific workloads
Required is an odd word to use. it is simpler to design a CPU with more cores than it is to work on scaling existing cores. But there is no inherent requirement in software to have more cores, it is actually detrimental to the software, making it much more difficult to program.

It is clearly a case of Science vs Engineering - you have a given physical celling (for each architecture/manufacture process) where simply is more efficient to have more slower cores opposed to faster ones.
I disagree. I think it is significantly cheaper and faster to develop and design more slower cores then less faster cores. But I completely disagree that there is any physics effects that make more cores MORE efficient.
Remember that the THERMALS argument of 2 cores at 2.5ghz or 1 core at 3ghz is because of the non linear increase of power consumption with core clock speed and voltage. however, do remember that the dual core is nearly twice as many transistors.
A single core design with the same amount of transistors as the dual core @ 2.5 would be even more efficient overall... but requires significant changes from x86.
Performance: single core @2.5ghz @2B transistors > dual core @2.5ghz @2B transistors > single core @ 3ghz @ 1B transistors
Development cost: single core @2.5ghz @2B transistors < dual core @2.5ghz @2B transistors < single core @ 3ghz @ 1B transistors
Manufacturing cost: single core @2.5ghz @2B transistors = dual core @2.5ghz @2B transistors > single core @ 3ghz @ 1B transistors
The above of course assumes that you have a good design, and are not just inflating transistor counts with "more cache" or some such... but use them to the optimal capability (which might be more cache, might be other things, depends on the exact design).

Note that both ATI and nVidia have such a design in their GPUs. they call SPs "cores" but they are not actual cores, they are parallel execution units. Just like how a single "core" in x86 has multiple ALU (Arithmatic logic units). The software sees 1 GPU, not hundreds of nvidia cuda cores. And the underlying architecture allows them to be utilized in parallel quite well. This is despite the fact that each SP is identical to every other SP, simply duplicated many times over.
GPUs, which are not hampered by x86, allow amazing "single core" scaling via massively parallel execution units. x86 has very rigid structure, which while it allows a specific amount of multiple execution units per core, doesn't allow flexibly increasing/decreasing easily. instead they duplicates those cores (easiest), with wastage... along with the wastage of the x86 instruction set itself btw.

I think this is a big reason why larrabee was scraped (at least in its first iteration).
 
Last edited:

taltamir

Lifer
Mar 21, 2004
13,576
6
76
PS. ATI and nVidia do actually offer multi core designs... for example, the HD5990 is two cores on one card, each with hundreds of execution units. And the going to "dual core" carries a performance penalty.
 

Nemesis 1

Lifer
Dec 30, 2006
11,366
2
0
8P x86 equals .12% of the market in 2009 and shrunk 10% YoY from 2008. That is about as much of a niche as you can find.

48 cores for AMD has a top end of ~$5.4K. 8 top bin 75xx processors will set you back more than $29.5K.

No matter how you slice it, it becomes hard to justify the cost of an x86 8P when there is such a huge delta to the cost of a 4P.

8P is a tiny part of the market and the delta in price is not going to help intel grow a market that is tiny and in decline. Most of the apps in that space are going to be competing head to head with RISC and there is a lot more lacking from any x86 platform relative to RISC. The easy stuff moved to x86 years ago when Linux made that transition possible. Anything remaining in RISC at that level probably isn't going anywhere because of a ton of reasons, none of which could be impacted by an x86 value proposition.

So the 7500 sits in a bad position. Too expensive to make a stand in x86, too underfeatured to take on Itanium or RISC. And fighting hard at a shrinking market that represents 1/8 of one percentage point of the x86 market. Good luck with that.

Give it a rest OK. Intels 8core and 8s systems have featurers that AMD CPUs just don't have . They are not meant to compete with $6000 dollars Cheapo server. They are made to run against highend Risk tech. The big dollar stuff . If you have a link to a 4S MC running against a 8s 8c Intel . Something not from AMD. Its nice you can always fall back on . But our system is cheaper. Great for those who don't care about great performance . Because Great Performance comes from Intel only . Good performance comes to us via AMD . In a race second is 1st looser.
 

Nemesis 1

Lifer
Dec 30, 2006
11,366
2
0
Either do we. That is why, with our latest products, we removed the 4P tax. 2P and 4P processors cost the same now. No price premium because it is the same silicon. I have yet to meet a customer that thinks this is a bad idea. Nobody wants to pay more money than they need to, everyone has budget constraints.


So true and thats why intel has All customer demands settled pretty dam good. They have the cpu you want at Any price point up to server and from server on up again all bases are covered. All price points are covered. Except the in the ceral box Chip giveaway.