Here I go... One Last Time...

Experience has shown me that crossing the path of a List Monitor usually
ends up bad for the user, but Hey... Mom never said I was a bright kid.

**Unless an application is specifically written to utilize both processors
it will make no difference if you have a 2nd processor.  It will sit there
idle doing absolutely nothing.

 --> An application does not need to be written as a multi-threaded
application to fork many copies of itself in memory and run many instances
of it self. An http web server is a perfect example of this "phenomenon". A
graphics program that can run two simultaneous filters may in fact fork two
processes in memory that can run simultaneously on two processors. If a
large application or service has many "functions" it is very possible that
it can start many tasks as back ground processes that will utilize the
second CPU

Examples of such application services that fork instances of themselves in
memory and run as separate threaded tasks on the CPU.
 - ftpd
 - telnetd
 - httpd
 - NFS
 - oracle

Any command will produce a process, that process will make its way to the
CPU. You may be running two applications, my wife the graphic artist of the
house usually has 5 apps up at one time, she is constantly reformatting and
converting graphic items.
 - Photo Shop is running a filter
 - Quark is importing a pic and adding it to a layout
 - Graphic converter is changing graphic types from one type to the other
 - iTunes is running in the background
 - Safari is in there somewhere, along with MSN Messenger
It is really a feat to watch that woman go... 

All the applications are running at the same time, or appear to be running
at the same time. Non of the applications have to be multi-threaded to take
advantage of the second processor. The Operating system will divide the
tasks into two CPU run queues and processes everything for you. It is
completely irrelevant if the application is multi-threaded or not. 
 
> Two CPU's will allow you to do two things at once.

** No they won't.

 --> I must have missed the whole story of a multi-tasking multi-user
operating system. Mac OS X is BSD Unix under the covers. Perform a "ps -aux"
command from the terminal window and you will see multiple processes waiting
in the RUN QUEUE. A Dual CPU system has two CPU's as a resource so "two"
tasks can run at the exact same time. Review the output of the vmstat
command and ps commands over a duration of 1 hour and prove that your system
does not have at one point, two or more processes that are waiting in the
run queue. A great application is "TOP", It is a freeware application that
will show CPU utilization per CPU. You will see both CPUs working on a
system under moderated work load.

 
>Does it really matter if applications and the OS are not 
>multi-threaded?

** Yes it does.  As an Apple Certified Technician I attended a recent series
of classes on processor specifications and speeds in Cupertino.  They new
Mac OS X will indeed utilize a dual processor architecture, but very few
applications will.  Photoshop is one that will.

 --> A process does not have to be multi-threaded to run on CPU-0 and have a
second unrelated process run on CPU-1. This is a function of the operating
system, not the application. A process is a "thread" and a "thread" is just
a bunch of machine code that really could not care less what CPU executed
it. It is a function of the operating system to send the thread to a run
queue and the CPU processes the run queue.

 --> A multi threaded Application is a process that can be broken down into
smaller threads that can be executed simultaneously. A multi threaded
application is a process that will run simultaneously on two or more CPUs.

 --> As a student of Computers of a variety of UNIX'S it is completely
irrelevant if a task is written as a multi-threaded process or not to take
advantage of a multi CPU system. Two independent processes can run
simultaneously on a dual CPU. Modern computer operating systems must be
MULTI-TASKING capable, this is today's standard. Why focus so much energy on
a Multi-User, Multi-Tasking operating system if you are only going to
perform a single operation. We had that 20 years ago. It was called DOS.
 
** If you had them running side by side the 733 would kill the Dual 500 in
almost every task.

 --> Never for a moment did I doubt that the 733 is a "faster" machine. I
said the 500 dual can perform two operations at once. A dual system will be
more responsive, and more stable. This is a matter of user requirement, not
speed. A poor piece of code is going to hang the 733 system, just hang it
faster. There is a very good chance that the dual 500 will steam roll its
way through a piece of shotty code...

 --> Do you want to run the latest 3D game on a slower DUAL CPU (assuming
the game is not a multi-threaded application)? NO!
 --> Would you install a single (but faster) CPU over a dual CPU system to
be a file server or application server? NO!

A Dual CPU system has advantages that are leaps and bounds above a single
CPU system. Apple has dumped the single CPU G5 tower from its latest
offerings. Apple is pushing Fibre Channel, RAID IDE Disk Subsystems, X-PCI.
These are up and coming technologies in industry, something that is out of
the hands of the typical web surfer. These advancements need some serious
CPU horse power to push them, so much horse power that a single CPU might
not have the stones to do it?


I will always advocate the use of a DUAL CPU over a single CPU system. Bus
Speed, cache, double-data-rate, and other buzz words aside, Two Brains are
better then one. A single CPU system will appear laggy and unresponsive
under moderate work load. Mouse movement and keyboard commands become a
chore. Run the same work load on a slower DUAL CPU system and you will
experience a night and day difference.

What is more important to the user, true system speed? or the perceived
system speed?
Never on any dual CPU or Quad CPU system have I had to wait for the command
prompt to return, can you say the same about a high end CPU system running
under a moderate to heavy work load? 

Two personal systems (OK NOW IM INTO THE COMPLETELY OFF TOPIC PeeCee GARBAGE
SO PLEASE DROP OFF AT ANY MOMENT)
 - single processor, 1 Gigahertz windows 2000 machine - ide disk
 - dual processor 300 Megahertz windows 2000 machine - SCSI raid disk

YES WINDOWS, PEECEE, INTEL, ALL OFF TOPIC BUT PLEASE BARE WITH ME OR STOP
READING

- single processor system runs the games well but she laggs up something
fierce from time to time. Run a game server, RIP some MP3's and play iTunes
- WOW she starts to really slow down to the point of it being unstable and
totally unusable.
- dual processor may take three times longer to complete the same tasks but
the mouse moves as free as ever and the screen refreshes every time I click
on an ICON.
Non of the applications are multi-threaded or written to execute exclusively
on a multi processor system.

Which one is faster? 

Mac OS is UNIX, ok ok ok... A UNIX like operating system. Unix is 30% to 40%
more efficient at running multiple processes then windows, you make the
call.


Brian Stewart
----------------------------------
CPU Clock Speed is a lot like Crank Horse Power
It is not an accurate measurement of system performance.

-- 
G-List is sponsored by <http://lowendmac.com/> and...

 Small Dog Electronics    http://www.smalldog.com | Refurbished Drives |
 -- We have Apple Refurbished Monitors in stock!  |  & CDRWs on Sale!  |

      Support Low End Mac <http://lowendmac.com/lists/support.html>

G-List list info:       <http://lowendmac.com/lists/g-list.shtml>
  --> AOL users, remove "mailto:";
Send list messages to:  <mailto:[EMAIL PROTECTED]>
To unsubscribe, email:  <mailto:[EMAIL PROTECTED]>
For digest mode, email: <mailto:[EMAIL PROTECTED]>
Subscription questions: <mailto:[EMAIL PROTECTED]>
Archive: <http://www.mail-archive.com/g-list%40mail.maclaunch.com/>

Using a Mac? Free email & more at Applelinks! http://www.applelinks.com

Reply via email to