[Ti] slightly OT: which apps dual-processor aware?

Ronald Woodland woodland at infowest.com
Wed Apr 13 07:55:23 PDT 2005


Now that was an education.  The scary part is that I almost really 
understood what you were taking about.  I do a lot of 3D 
modeling/rendering, as well as video editing.  I have seen the load hit 
100% on BOTH CPUs during rendering.  That's when I notice the mouse 
clicks into other apps or to check my e-mail aren't as responsive -- 
yet it still works while the rendering proceeds in the background.  But 
no worries, I'd rather it get the rendering done, so I typically leave 
the machine alone in those times of high demand.  Man, I love my Mac!

Ron Woodland



On Apr 12, 2005, at 11:22 PM, Chris Olson wrote:

On Apr 12, 2005, at 9:35 PM, Ronald Woodland wrote:

> I have yet to see one of the CPUs idle while the other one is working. 
>  The numbers move around and often bounce back and forth as the 
> workload is distributed.  Dual processors working in beautiful 
> cooperation with the robustly stable and fluid Mac OS -- it gives me 
> goosebumps just thinking about it.

The Mach kernel does the thread scheduling for the cpu(s).  Mach does a 
very good job at SMP - it was designed for it.  Both Carbon and Cocoa 
applications can be multithreaded but Carbon will use Multiprocessing 
Services (as in Mac OS 9).  Cocoa uses the NSThread class with 
NSThread's detachNewThreadSelector:toTarget:withObject

Some applications like Safari will throttle the threads if one requires 
the other to be at a certain point before continuing by using condition 
locks (NSConditionLock).  But if an app uses a lot of condition locks 
or passes many objects and messages between threads, application 
performance can suffer.  Safari, by design, does not benefit from dual 
processors.  Neither does Mail, Sherlock, iCal, Finder, and most other 
every day applications and utilities.  Only cpu-intensive tasks and 
applications really take full advantage of it.  Because of OS X's 
pre-emptive multithreading capability, along with the Mach kernel's 
capability to schedule and switch threads many times per second on one 
cpu, you just don't notice the difference until the total system load 
on one cpu reaches 100% cpu time.
--



More information about the Titanium mailing list