PDA

View Full Version : threaded render question



eblu
02-12-2008, 09:58 AM
hi
I am rendering with Layout, and I wanted to reserve some of my Processors for use in other apps, so i set Layout's threads to 6 (out of 8) and hit render.

on a whim i checked my cpu usage, and its odd, but it looks like layout is using all of my processors, just under a slightly less significant load. is this correct? should I be alarmed by this? is layout somehow ignoring my request to only launch 6 threads?

basically whats the deal? does anyone know?
thnx,
-eb

Giacomo99
02-13-2008, 11:02 AM
I don't think it works that way. "Threads" are not the same as "processsors." (For example, I can render with eight threads on my dual G5.)

I'm pretty sure the Mac OS applies its own rules on distributing processor usage, no matter how many threads you're using in Lightwave. I don't know if it's ever desirable (or even possible) to isolate two processors the way you're describing (but I'm no expert.)

Phil
02-13-2008, 11:23 AM
It's a little technical, but maybe this explains things somewhat :

http://developer.apple.com/releasenotes/Performance/RN-AffinityAPI/index.html

Scazzino
02-15-2008, 09:20 AM
Check the actual threads in use for Lightwave under the Activity Monitor. Layout itself uses additional threads other than just those being used to render. Also, there appears to be a problem with ScreamerNet UB's render threading where it uses one more thread for rendering than is set in the config... Here are a few multithreading tests (http://dreamlight.com/insights/10/config_files.html#Multithreading) I ran on a 2GHz dual processor G5 and a 3GHz 8-core Mac Pro.

eblu
02-15-2008, 10:04 AM
hmmm... interesting.

but all that kinda throws the rule of thumb. the rule of thumb is : you set the thread to the amount of processors you have. or if you are running multiple nodes you run as many nodes as there are processors.

but what i'm seeing is that the rule of thumb is less and less important.

the tech doc basically says Os X is going to divy up threads across the processors, and devs won't have a choice in the matter. so if you run into a situation where the load is heavy on one processor While the threads are being passed out, the scheduler will try to even out the distribution.

Now the game "should" be to try to load the system with as much work as possible without over loading it, and to trust the scheduler to efficiently distribute the threads. in theory that would mean setting the threads to as many processors that you have, but Lightwave has downtime in the rendering process where its waiting for something, and with the inability to lock a thread or a node to a particular processor, you might find that some other number works better.

scaz,
typically your results say that Processor number == thread count STILL is the way to go, but I wonder what would happen if we had finer control over how many threads to use. (say... setting it to 7, or 9 )

ugh, heres an anomoly... I have a mode -3 render running with custom configs, and I have my thread count set to 6. Screamernet is running 9 threads, and it is Only really using 80% of the processing power of my 8core 3ghz (sometimes peaking at the max, but in a spike pattern). I have to do some debug on the configs to be certain Screamernet is reading the Thread setting, but it IS reading all of the other settings.

fun.