AWS Thinkbox Discussion Forums

[monitor] utilization display

Would it be possible to have multiple readouts in the utilization field?

Something like:

Total: 20% (2 THz / 10 Thz), Online Only: 70% (7 THz / 10 THz)

The current display includes offline, disabled, failed etc slaves. With a large number of machines, this makes the utilization readout misleading, as we have a good chunk of boxes constantly in maintenance, or workstation mode etc. Would be great to see however how much cpu is used for the actually ONLINE and ready to render boxes, to judge how much cpu power we are wasting by job management, lack of queued jobs etc.

cheers
laszlo

Also, if we have ‘secondary’ slaves in the list, they simply add their cpu freq * core count to the total. However, this seems wrong to me, cause when calculating the actual utilization, only cpu usage coming from actual render activity is taken into account (if im not mistaken… regular cpu usage does not seem to affect utilization).

So for example, if i have a single render box, with 2 slaves running, i get:

slave1, cpu speed: 1.2GHz, CPUs: 16
slave1-secondary, cpu speed: 1.2GHz, CPUs: 16

Total utilization: 0.00% (0Hz / 38.4GHz (this seems to be rounded down to 38.3 in the monitor which is weird… but anyway))

Now slave 1 starts rendering a vray job using 100% of its cores, ill have:

slave1, cpu speed: 1.2GHz, CPUs: 16, CPU Usage: 100%, Status: Rendering
slave1-secondary, cpu speed: 1.2GHz, CPUs: 16, CPU Usage: 100%, Status: Idle

And utilization will be: 50.00% (19.2GHz / 38.4GHz). This seems wrong, considering the single machine i have in the farm is at 100%… should i not have 100% utilization?

So either the secondary slaves should not add their cpu to the totals, or even non-rendering boxes should add their cpu usage to the utilization…

cheers
laszlo

Would also be nice if there was also a utilization printout for the currently visible slaves:

Total: 20% (2 THz / 10 Thz), Online Only: 70% (7 THz / 10 THz), Filtered: 50% (5 THz / 10 THz)

That way you could filter to comp machines only for example, and see their utilization etc.

I wonder if we should just have Total and Filtered for the utilization counts. That way you can use filters to see the specific utilization you’re looking for.

We store the processor speed in hertz, but than calculate to GHz for display purposes. It’s likely that the processor speed is just below 1.2GHz, so when we add them all up and then convert to GHz, it ends up being 38.3 and not 38.4.

I think we should just include the CPU usage for idle machines as well. Currently we just add up the CPU usage for rendering machines.

Cheers,
Ryan

Sounds great!

Yeah i figured it might be something like that. One odd thing i noticed as i was testing the behavior, is that some machines would show 1.2GHz initially, then as rendering starts would pop up to 2.5Ghz (the cores are actually running at 2.6GHz, at least according to windows). Then it never goes back to 1.2GHz.
Also, if i had 2 slaves on one machine, i could easily get it to a state where one slave shows 1.2GHz and another showed 2.5GHz. Could this be due to hyperthreading? Or cpu throttling? (I dont think the latter is happening, as windows always showed the full speed, but you never know…)

Sounds great!

thanks
laszlo

I think this is because we pull what the processor is currently running at when the slave initially starts up, and then we just cache and report that same value for the duration of the slave session. The fix would probably be as simple as re-querying the processor speed every so often.

Cheers,
Ryan

Privacy | Site terms | Cookie preferences