Author |
Topic: New computers are so cool |
Cal Sharp
From: the farm in Kornfield Kounty, TN
|
|
|
|
John Cipriano
From: San Francisco
|
Posted 7 Jan 2009 3:12 am
|
|
The really crazy thing about that ad is it's off by three
It's true that the OS can use the four cores for four programs rather than using the scheduler. But just running Windows opens lots of background processes, before you even start any programs. And if you manually put an app on each core, they still share higher-level cache on the CPU as well as other hardware resources.
OK, it's funny |
|
|
|
Jack Stoner
From: Kansas City, MO
|
Posted 7 Jan 2009 8:58 am
|
|
You can't put a program in one core. I have a Quad core (Q6600) with Vista 64 bit and there is NO program that I have, including the Vista OS that only uses one core, whenever something is running, all the cores are being using.
I have a CPU/Memory monitor as one of my Vista desktop "sidebar's" and I can watch all the core activity in realtime.
There are very few programs written to take advantage of the multiple core CPU's. |
|
|
|
Dave Mudgett
From: Central Pennsylvania and Gallatin, Tennessee
|
Posted 7 Jan 2009 1:09 pm
|
|
Only a marketeer could write something that unintentionally funny.
Jack is right - it's not trivial to parallelize a program to use multiple processors well, and I honestly doubt most programs are written with this in mind. Unless a program itself is written for multiple processors, I would think the only multi-processing would be managed by the OS without the knowledge of program execution/data dependencies, and so on. Without that knowledge, I don't see how the OS could allocate a single process to multiple processors.
But it can allocate the myriad of processes running at any given time to balance the load, optimize cache utilization, and so on. |
|
|
|
John Cipriano
From: San Francisco
|
Posted 9 Jan 2009 10:19 pm
|
|
Lots of tech talk over a funny ad. I blame myself
Jack, I guess I wasn't clear before, and we need to distinguish between programs and processes. Some programs can spawn more than one process, but most don't have to.
Windows deals a process to each core like you'd deal a deck of cards. Normally each process has to stay on a single core. This is just a natural thing, since a multi-core CPU is similar to having multiple physical CPUs, and programs don't spread across physical CPUs unless they're coded to do so. Windows can't do anything about that on its own.
Like you say, Dave, it takes extra programming work to spread a program across cores. Also, the task itself has to lend itself to being run in parallel, and most don't.
The reason that Windows is able to use four cores fairly evenly is that there are a lot of processes running at any given time. This is from the second paragraph of "Multi-core" on Wikipedia (emphasis is mine):
Quote: |
This all assumes, however, that the software has been designed to take advantage of available parallelism. If it hasn't, there will not be any speedup at all. However, the processor will multitask better since it can run two programs at once, one on each core. |
I was trying to joke that, if the card was talking about running four programs in perfect parallel, there's really no way to do that short of four computers and a stop-watch. At some point they're going to be sharing CPU time on a core, or sharing a network connection, or what have you. It was more confusing than funny, so I'm going to have to leave it at that. |
|
|
|
Randy Phelps
From: California, USA
|
Posted 9 Jan 2009 11:19 pm
|
|
buying computers at office depot is like buying christmas presents at 7-11 |
|
|
|