Welcome to the MacNN Forums.

If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.

You are here: MacNN Forums > Software - Troubleshooting and Discussion > Applications > Is iTunes smp aware?

Is iTunes smp aware?
Thread Tools
Mac Elite
Join Date: Feb 2002
Location: Hilton Head, SC
Status: Offline
Reply With Quote
Jul 24, 2004, 01:27 PM
 
Does ITunes run on both cpus? Is it altivec enabled?
     
Posting Junkie
Join Date: Sep 2001
Status: Offline
Reply With Quote
Jul 24, 2004, 02:35 PM
 
Yes. For encoding, at least.
     
Mac Elite
Join Date: May 2001
Location: ~/
Status: Offline
Reply With Quote
Jul 24, 2004, 02:37 PM
 
The iTunes encoder uses AltiVec, I don't know about playback. It also fires up about 12 threads so yes it is SMP aware.
     
Mac Elite
Join Date: Feb 2002
Location: Hilton Head, SC
Status: Offline
Reply With Quote
Jul 25, 2004, 05:03 PM
 
Does anybody know where a list is for smp aware applications for os x?
     
Professional Poster
Join Date: Jul 2001
Location: New York, NY
Status: Offline
Reply With Quote
Jul 25, 2004, 05:43 PM
 
I think almost everything is these days - how *well* they are is another question entirely, but I think most everything runs at least a couple threads.
cpac
     
Addicted to MacNN
Join Date: Mar 2000
Location: London, UK
Status: Offline
Reply With Quote
Jul 25, 2004, 06:29 PM
 
The OS is "smp aware" and will intelligently schedule processes and threads across both CPUs in a dual processor machine. Even if you don't have any applications that are multi-threaded, your computer could be using both processors. If you do have applications that are multi-threaded, your computer may be running all the threads on the same processor (but it's probably quite unlikely).

The real question is why do you care?
     
Mac Elite
Join Date: Feb 2002
Location: Hilton Head, SC
Status: Offline
Reply With Quote
Jul 27, 2004, 04:40 AM
 
Right... 100% cpu utilization will be spread over both cpus in a non-smp aware app... resulting in 50% utilization on both cpus. If the app is smp aware then you get 100% on both.

I think BeOS was different and somehow pushed apps to 100% on both cpus... how this is possible I don't know.
     
Clinically Insane
Join Date: Oct 2000
Location: Los Angeles
Status: Offline
Reply With Quote
Jul 27, 2004, 06:04 AM
 
Originally posted by Tyler McAdams:
Right... 100% cpu utilization will be spread over both cpus in a non-smp aware app... resulting in 50% utilization on both cpus. If the app is smp aware then you get 100% on both.

I think BeOS was different and somehow pushed apps to 100% on both cpus... how this is possible I don't know.
That doesn't sound right to me Tyler. If an app does the majority of its work in one thread, then I don't think it could execute on both processors. Thankfully, I think it's difficult to write an app that only uses one thread, and if it's done only poor programmers do it.

"The natural progress of things is for liberty to yield and government to gain ground." TJ
     
Professional Poster
Join Date: Mar 2002
Location: Boston
Status: Offline
Reply With Quote
Jul 27, 2004, 06:39 AM
 
The operating system is MP aware, so if a program is written using multiple threads then OSX attempts to share the load however as noted one thread one cpu. That doesn't mean that 50% goes to one cpu and the rest to the other. One thread can be more intensive or conversly waiting for an action or a result so the spreading is not even.

The application can be MP aware such as photoshop. With this level its easier to evenly distribute the load across both processors

Mike
     
Dedicated MacNNer
Join Date: Oct 1999
Status: Offline
Reply With Quote
Jul 27, 2004, 08:28 AM
 
The reason Be OS was so SMP-aware was that multi-threading was a core premise of the OS. It was specifically written to be as multi-threaded as possible, and the Be OS toolkits/APIs greatly encouraged application writers to write heavily multi-threaded applications. So its not something amazingly technical that Be OS did to load-balance processes, its just that everything was built from the ground up with threads in mind.
     
Mac Elite
Join Date: Feb 2002
Location: Hilton Head, SC
Status: Offline
Reply With Quote
Jul 28, 2004, 02:10 AM
 
Originally posted by Big Mac:
That doesn't sound right to me Tyler. If an app does the majority of its work in one thread, then I don't think it could execute on both processors. Thankfully, I think it's difficult to write an app that only uses one thread, and if it's done only poor programmers do it.
This is what I have observed on NT systems... If you have a program that runs normally at 100%... such as a video game (unreal2003..etc) The processing will be abstracted across both or more cpus... 2 cpu's = 50%, 4 cpus equal 25%..etc

It does not have to be abstracted at all however... in that you can force the app to run on one cpu at 100 percent by changing process affinty settings... choose a cpu and it will run at 100%...

NT does it's best to abstract the cpu utiliztion across both evenly but some times it's 40/60 20/80...etc.

The issue lies in the application being programmed as only one thread so only 100% of one cpu can be utilized, maximum. The fact that the OS is smp aware over the cpus makes the applicatiion behave this way. While the OS is multithreaded the application remains single threaded... a programming issue. Since most video game engines are written for only one cpu (q3, doom3 engine has smp...exceptions) it remains single threaded no matter how many cpus you have running it. There are however still advantages to a single thread abstracted across an smp system... for instance the cpu heat is greatly reduced since it's running at 25% or 50% instead of 100%... therefore the cpus become more efficent.
(Last edited by Tyler McAdams; Jul 28, 2004 at 02:36 AM. )
     
Clinically Insane
Join Date: Oct 2000
Location: Los Angeles
Status: Offline
Reply With Quote
Jul 28, 2004, 02:34 AM
 
I know that when I'm in Golive in Classic, much of the time only one CPU is used, getting pegged at 100%. But you're right - I have yet to observe such behavior with native apps.

"The natural progress of things is for liberty to yield and government to gain ground." TJ
     
Mac Elite
Join Date: Feb 2002
Location: Hilton Head, SC
Status: Offline
Reply With Quote
Jul 28, 2004, 05:06 AM
 
I know that OS 9 will only use one cpu and that applications such as photoshop have "plugins" for a second (or 3rd or 4th) cpu... so if you do have a system that is smp the only time that the second cpu ever sees any action is with such an app. I guess the same is with classic.
     
   
Thread Tools
Forum Links
Forum Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On
Top
Privacy Policy
All times are GMT -5. The time now is 10:51 AM.
All contents of these forums © 1995-2011 MacNN. All rights reserved.
Branding + Design: www.gesamtbild.com
vBulletin v.3.8.7 © 2000-2011, Jelsoft Enterprises Ltd., Content Relevant URLs by vBSEO 3.3.2