flat assembler
Message board for the users of flat assembler.

Index > Heap > Are multicore CPUs such a great thing? - Donanld Knuth talks

Goto page 1, 2  Next
Author
Thread Post new topic Reply to topic
revolution
When all else fails, read the source


Joined: 24 Aug 2004
Posts: 17474
Location: In your JS exploiting you and your system
revolution
http://www.informit.com/articles/article.aspx?p=1193856&rll=1

I might as well flame a bit about my personal unhappiness with the current trend toward multicore architecture. To me, it looks more or less like the hardware designers have run out of ideas, and that they’re trying to pass the blame for the future demise of Moore’s Law to the software writers by giving us machines that work faster only on a few key benchmarks! I won’t be surprised at all if the whole multithreading idea turns out to be a flop, worse than the "Itanium" approach that was supposed to be so terrific—until it turned out that the wished-for compilers were basically impossible to write.
Post 02 Sep 2009, 09:24
View user's profile Send private message Visit poster's website Reply with quote
Borsuc



Joined: 29 Dec 2005
Posts: 2466
Location: Bucharest, Romania
Borsuc
I think people don't get the idea of multiple cores. What do they actually want? Super-fast computers? Faster, faster and faster? 90% of all apps work even on a Pentium II. Seriously. Where they don't work though, including operating system components mind you, is running multiple of them at the same time. Did that ring a bell?

No? Then guess what, most intensive applications are optimized for multiple cores. Digital Audio Workstations, 3D rendering software, Photoshop, you name them.

The others aren't simply because they have no need to, because CPUs are plenty fast already for a single instance of them.

I think multi-cores are a great idea for multi-tasking and doing more stuff at the same time. Notice I said more stuff which includes large amounts of simultaneous jobs, not parallel calculations of the same thing (like SSE or other types of parallelism). In DAWs for instance, you do a parallel computation of each channel. In video editing you do parallel editing of each separate grid (split the screen into grids). In software rendering raytracing, same thing with grids. etc etc..

Seriously, "computer farms" have been used since decades ago! The concept isn't new, and I find multi-cores the "small computer farm into a PC" just like those big mainframe computers in the early days have now moved into a compact PC form.

I find multi-cores a decent approach to "let's get rid of motherboards with 2 CPUs, or of small computer farms and put them in a small compact package" of today, as early PCs were of supercomputers at the dawn of computing. Smile

_________________
Previously known as The_Grey_Beast
Post 02 Sep 2009, 14:42
View user's profile Send private message Reply with quote
rugxulo



Joined: 09 Aug 2005
Posts: 2341
Location: Usono (aka, USA)
rugxulo
Pentium 4 "Prescott" was too hot to scale any higher. It was a waste of energy. So they went back to Pentium M and extended that. Of course, I'd be willing to bet that even newer Intel chips etc. are still too hot.

Multi-core isn't easy to program for, and most people aren't familiar with how to do it (esp. me).

I find it silly how it's so overhyped, esp. the whole "expect 1000s of cores" when at most people still only have 2 cores (or 4 on high-end).

Same with SSE, compilers just can't handle it (unless you shell out big bucks for Intel's, no thanks, slow but cheap is fine with me).
Post 02 Sep 2009, 17:13
View user's profile Send private message Visit poster's website Reply with quote
Borsuc



Joined: 29 Dec 2005
Posts: 2466
Location: Bucharest, Romania
Borsuc
My point was that it's not different than having two separate processors or more on a single mobo (I mean those workstation types used in computer farms), so it wasn't really surprising that it happened. After all, it seems workstation and supercomputer jobs move to the PC after a few years (decades?) Wink

To optimize for them isn't necessarily piece of cake I agree, but usually you don't need unless you run a very intensive app. The OS takes care at least to divide it among multiple apps -- so even if you have apps that would take 100% CPU on a single core they will take only 25% on a quad core, and you can run 3 such apps and still be able to do something else with the fourth core.

_________________
Previously known as The_Grey_Beast
Post 02 Sep 2009, 19:04
View user's profile Send private message Reply with quote
tom tobias



Joined: 09 Sep 2003
Posts: 1320
Location: usa
tom tobias
rugxulo wrote:
Of course, I'd be willing to bet that even newer Intel chips etc. are still too hot.
I have two of the dual cores. Both are cold to the touch, even overclocked by 10%. Granted, I am using the old fashioned ultra cooler made by the Austrians, Noctua, which is overkill for these new 45nm cpus.

"cold to the touch", yeah, I am kind of a reptile, living in a tropical environment, so a temp of 33 degrees C feels cool.....

I tried eliminating the fan, but then the temp went up to 55C, so, I am back to the silent, ~10db, modest flow fans, and they work well with the impressive Austrian cooler. No need for a case fan....

Even my 65nm Pentium D runs cool with this combo, though, I acknowledge being able to fry an egg with the same outfit atop one of my older single core 90nm P4's at 2.8 ghz.

Smile
Post 02 Sep 2009, 19:18
View user's profile Send private message Reply with quote
Azu



Joined: 16 Dec 2008
Posts: 1159
Azu
They are great for heavy loads that can be parallelized, and/or for running multiple independent linear loads at once. For everything else they are useless. AFAIK that's all there is to it.. did I miss anything?
Post 02 Sep 2009, 20:29
View user's profile Send private message Send e-mail AIM Address Yahoo Messenger MSN Messenger ICQ Number Reply with quote
Borsuc



Joined: 29 Dec 2005
Posts: 2466
Location: Bucharest, Romania
Borsuc
@tom: I also have Noctua coolers and fans (except one ceiling Nexus fan, everything else is Noctua), and I do not think it is overkill at all. In fact, my old Pentium 4 used to be around 30 degrees with the stock cooler, so having 50 degrees with the Core 2 Quad isn't "overkill" for me (with Noctua, otherwise it goes to 70 probably), because I'm used to low temperatures. Razz

Noctua have 6 years warranty, twice than the components Laughing

_________________
Previously known as The_Grey_Beast
Post 03 Sep 2009, 16:23
View user's profile Send private message Reply with quote
f0dder



Joined: 19 Feb 2004
Posts: 3170
Location: Denmark
f0dder
Ah, Scandinavia - where overclocked core2 quads run at ~32C idle Smile
Post 04 Sep 2009, 05:48
View user's profile Send private message Visit poster's website Reply with quote
sinsi



Joined: 10 Aug 2007
Posts: 701
Location: Adelaide
sinsi
Borsuc wrote:
doing more stuff at the same time

That's it. It's not how 1 program performs by itself but how more than one perform.
At the moment I have ie8, media player, my 'media player controller' and nfs running (as well as the usual win7 crap) - something I couldn't do on my athlon 2600+ (I tried...). That is 40 processes with ~600 threads.

Ever try and burn a cd whilst browsing the internet over dialup with a p2? All I ever got was 1)disconnected or 2) a coaster...
Post 04 Sep 2009, 06:23
View user's profile Send private message Reply with quote
f0dder



Joined: 19 Feb 2004
Posts: 3170
Location: Denmark
f0dder
sinsi wrote:
Ever try and burn a cd whilst browsing the internet over dialup with a p2? All I ever got was 1)disconnected or 2) a coaster...
That probably had more to do with your harddrive speed than CPU usage, imho.

_________________
Image - carpe noctem
Post 04 Sep 2009, 06:38
View user's profile Send private message Visit poster's website Reply with quote
sinsi



Joined: 10 Aug 2007
Posts: 701
Location: Adelaide
sinsi
>That probably had more to do with your harddrive speed than CPU usage, imho.
With a 2x burner? I sure hope that my hd was faster than 300kbytes/sec Smile

Now (q6600) I can burn a dvd at 16x and play crysis whilst listening to my music and replying to forums Smile
Post 04 Sep 2009, 07:11
View user's profile Send private message Reply with quote
f0dder



Joined: 19 Feb 2004
Posts: 3170
Location: Denmark
f0dder
sinsi: keep seek-time of the harddrive in mind - old disks had even bigger problems with multiple concurrent access streams than today's disks Smile. And if your interface was using PIO... ugh Smile
Post 04 Sep 2009, 07:14
View user's profile Send private message Visit poster's website Reply with quote
sinsi



Joined: 10 Aug 2007
Posts: 701
Location: Adelaide
sinsi
heh PIss Off
Nah, win98 with dma66.

Oh, memories...
Post 04 Sep 2009, 07:23
View user's profile Send private message Reply with quote
Azu



Joined: 16 Dec 2008
Posts: 1159
Azu
sinsi wrote:
Borsuc wrote:
doing more stuff at the same time

That's it. It's not how 1 program performs by itself but how more than one perform.
At the moment I have ie8, media player, my 'media player controller' and nfs running (as well as the usual win7 crap) - something I couldn't do on my athlon 2600+ (I tried...). That is 40 processes with ~600 threads.

Ever try and burn a cd whilst browsing the internet over dialup with a p2? All I ever got was 1)disconnected or 2) a coaster...
It is also about how certain programs perform by themselves. Like I said, ones that take lots of processing power and can be parallelized will get massive speedups. Renderers, for example.
Post 04 Sep 2009, 07:27
View user's profile Send private message Send e-mail AIM Address Yahoo Messenger MSN Messenger ICQ Number Reply with quote
revolution
When all else fails, read the source


Joined: 24 Aug 2004
Posts: 17474
Location: In your JS exploiting you and your system
revolution
I think multi-core CPUs are a great advance. Not because of the "massive computing advancement" that the marketing would have us believe, but for entirely different reasons.

Before I explain why I think they are great let me just say one thing first. The multi-core CPU paradigm does not generally allow for any form of computing speed enhancement. There are a few areas where more cores means better performance, but those tend to be limited to specialist areas of no real interest to the general public at large. For people into ray-tracing or prime-finding etc. then multi-core CPUs are almost a perfect linear speed up, but generally the email/surfing/typing public can't make good use of it. However the specialist areas where it is good are not why I think they are great.

My reason for liking multi-core CPUs is because it allows the hardware engineers to keep the silicon advancement technologies moving along. Good CPU design is hard, and while the designers are scratching their heads to come up with new ways of doing things, the current CPUs can keep being incrementally improved with new smaller/faster/lower-power transistors. If (or when) the designers do come up with some new way to design a CPU that is a lot better than we have now, then the manufacturing plants will be there ready to start making it in bulk.
Post 04 Sep 2009, 13:23
View user's profile Send private message Visit poster's website Reply with quote
Azu



Joined: 16 Dec 2008
Posts: 1159
Azu
revolution wrote:
I think multi-core CPUs are a great advance. Not because of the "massive computing advancement" that the marketing would have us believe, but for entirely different reasons.

Before I explain why I think they are great let me just say one thing first. The multi-core CPU paradigm does not generally allow for any form of computing speed enhancement. There are a few areas where more cores means better performance, but those tend to be limited to specialist areas of no real interest to the general public at large. For people into ray-tracing or prime-finding etc. then multi-core CPUs are almost a perfect linear speed up, but generally the email/surfing/typing public can't make good use of it. However the specialist areas where it is good are not why I think they are great.

My reason for liking multi-core CPUs is because it allows the hardware engineers to keep the silicon advancement technologies moving along. Good CPU design is hard, and while the designers are scratching their heads to come up with new ways of doing things, the current CPUs can keep being incrementally improved with new smaller/faster/lower-power transistors. If (or when) the designers do come up with some new way to design a CPU that is a lot better than we have now, then the manufacturing plants will be there ready to start making it in bulk.
If the only good it's doing is to practice putting more transistors on a smaller chip, wouldn't it be better to increase cache size instead? Then they still find better ways to cram in more transistors, and most programs/OSs would benefit immediately..
Post 04 Sep 2009, 15:27
View user's profile Send private message Send e-mail AIM Address Yahoo Messenger MSN Messenger ICQ Number Reply with quote
revolution
When all else fails, read the source


Joined: 24 Aug 2004
Posts: 17474
Location: In your JS exploiting you and your system
revolution
Azu wrote:
If the only good it's doing is to practice putting more transistors on a smaller chip, wouldn't it be better to increase cache size instead?
Perhaps yes, but I think they have already done that. The latest CPUs do have a significant amount of cache (I seem to remember somewhere reading that more than 75% of the chip space is cache (L1+L2+L3), sorry I can't find a reference just now so I might be remembering that wrongly).
Post 04 Sep 2009, 15:38
View user's profile Send private message Visit poster's website Reply with quote
Azu



Joined: 16 Dec 2008
Posts: 1159
Azu
It is. But more cache (especially L1) always helps.. so if the only point of adding additional cores is to get better silicon tech, it would be better to just add more cache instead, since it needs better silicon tech too.
Post 04 Sep 2009, 15:42
View user's profile Send private message Send e-mail AIM Address Yahoo Messenger MSN Messenger ICQ Number Reply with quote
revolution
When all else fails, read the source


Joined: 24 Aug 2004
Posts: 17474
Location: In your JS exploiting you and your system
revolution
Azu wrote:
It is. But more cache (especially L1) always helps.. so if the only point of adding additional cores is to get better silicon tech, it would be better to just add more cache instead, since it needs better silicon tech too.
But there is a trade off. More L1 means something else has to be sacrificed. So what do you sacrifice? You can't have your cake and eat it too.
Post 04 Sep 2009, 15:45
View user's profile Send private message Visit poster's website Reply with quote
Azu



Joined: 16 Dec 2008
Posts: 1159
Azu
revolution wrote:
Azu wrote:
It is. But more cache (especially L1) always helps.. so if the only point of adding additional cores is to get better silicon tech, it would be better to just add more cache instead, since it needs better silicon tech too.
But there is a trade off. More L1 means something else has to be sacrificed. So what do you sacrifice? You can't have your cake and eat it too.
The extra cores you said were only useful for practicing silicon techniques on..



*takes cake and eats it* HAH!

_________________
Post 04 Sep 2009, 16:21
View user's profile Send private message Send e-mail AIM Address Yahoo Messenger MSN Messenger ICQ Number Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  
Goto page 1, 2  Next

< Last Thread | Next Thread >
Forum Rules:
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You can attach files in this forum
You can download files in this forum


Copyright © 1999-2020, Tomasz Grysztar. Also on YouTube, Twitter.

Website powered by rwasa.