MLUG: Re: [MLUG - DISCUSSION] interesting note on quad core chips
Re: [MLUG - DISCUSSION] interesting note on quad core chips
Email address obfuscation in effect -- please click here to turn it off.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
On Sat, 2007-12-01 at 16:38 -0700, Michael wrote:
> I don't understand people's obsession with single apps using multiple
> cores of their processor. Sure, in some cases it's nice, but I usually
> am running several programs, and even operating systems, at a time. I
> don't need a single program to use up all my CPU power. I'd much
> rather have it divided between several apps. 

The obsession comes from people who use their computer as a dedicated
machine for a single application running at a time and need/want as much
performace as possible. Read that as gamers playing first-person type
games. FP gamers are not going to have more than one intensive program
running at a time as games are not only full-screen apps but it's
probably about impossible to play two of those kinds of games at once.
The obsession for performance comes partially from these kinds of games
requiring boatloads of system resources to run smoothly (ask a gamer
about "Crysis" if you need an example.) The other part is that a bunch
of serious gamers also have a big one-upsmanship thing going on with
hardware. They want their new $1200 3.0 GHz Core 2 Extreme QX9650 to be
much faster than their buddy's ~$300 3.0 GHz Core 2 Duo E6850 just
because they paid a bunch more for it to get "bragging rights."

People who use their computer for real work often have many programs
open at once and the extra cores help to make that much more seamless
and smooth. They also don't care about one program being able to utilize
the whole CPU. For example, I did some scientific programming work this
summer and had some very compute-intensive work. The particular work was
for a genetics project and this I needed to run the program on all 23
chromosomes. It didn't matter if I had the program multithreaded so that
I could get one chromosome done in half the time on my dual-core machine
or if I could run two chromosomes at once. The net result is that two
chromosomes were analyzed in roughly the same time. Actually, the two
concurrent single-threaded instances were faster due to a lack of
needing to sync threads, but that is besides the point. 
> 
The other reason most people do not care about multithreading is that
many programs simply do not use much for CPU resources. How much CPU
time does an office computer actually use? My guess is that it's
somewhere well under 1%. Multithreading would make a 1-second load time
turn into a 500-msec load time. Big deal.

> I'm pained when I have to use somebody's old single core Pentium 4
> even if it is a fairly fast CPU (3+ GHz). Doing multiple tasks is
> noticeably slower. Running multiple operating systems on those CPUs
> just feels like it's going at a crawl. 
> 
It also depends on the OS and the HDD. The *nixes tend to handle
multiple thread time-sharing much better than Windows and Vista actually
handles it better than XP. But the biggest problem with many other
peoples' computers is that the HDDs are so slow and fragmented as to
require a 5-minute boot time. 

> Having a single app use multiple cores is mostly useful for games and
> heavy number crunching. For most people it's more useful to be able to
> rip a cd, use your web browser, work on a document, and check your
> email all at the same time. Most of the time people use several apps
> at a time and not just a single app. 
> 
And among those tasks, only the CD ripping takes very much CPU time.
Even then, the speed of the CD-ROM drive is the limiting factor unless
you're running something like a 500 MHz K6-2.

> For most cases it's not that hard to write a multi-threaded program
> anyway. If nothing else write each thread as it's own service and
> enable your services to communicate as needed. Problems that don't
> easily divide into services are usually easily parallelized stuff like
> 3D rendering. It's not like we have 100 core processors right now
> where you'd want to start splitting normal logic down into parallel
> tracks to peak every lil bit of power out of the system. 

It can get quite tricky with certain algorithms to write MP code.
Sometimes MP code will be slower than single-threaded code due to the
thread syncing taking up an enormous amount of resources.

--Jack




_______________________________________________
discussion mailing list
EMAIL:PROTECTED
http://mlug.missouri.edu/mailman/listinfo/discussion