is deadline multithreaded, do extra cores help?

Hi again,

I am wondering if having more than 2 cores would benefit a deadline service, is it multithreaded? Also is there an amount of memory the system can have installed where you see diminishing returns?

thanks for your time,
greg

Hey Greg,

Are you talking about the Slave or Pulse?

While the slave can have up to 16 render threads for concurrent tasks, those threads are pretty lightweight, so there isn’t much to gain with additional cores. Of course, the applications the slave is rendering with might benefit from additional cores. :slight_smile:

Pulse is multithreaded, and uses multiple threads to load data from the Repository when updating its cache. So while it will benefit from multiple cores, there is probably an upper limit of effectiveness based on how fast it can pull the data from the filesystem.

Regarding system memory, we are unaware of an upper limit. Back when we were in production with hundreds of slaves, we got by just fine on a system 8 GB of ram.

Cheers,

  • Ryan

Pulse, the controlling server.

Ok forgive my ignorance here, I’m not up to speed with how mono operates. If we are running Pulse on linux which requires us to use the mono framework - are we still able to take advantage of the extra cores? I’m wondering if we lose our multithreading advantages when encapsulated within the mono process. I took a quick look at mono-project.com/ThreadsBeginnersGuide and if i understood what I read correctly we may be still be good but it largely is dependent on how the application was wrote.

Thanks again Ryan,
greg

Hey Greg,

You should still be able to take advantage of the extra cores. We designed the data loading to be multithreaded, so you have separate threads reading in different parts of the repository at the same time. We tested this quite a bit on both Windows and Linux, and on both systems, Pulse was able to take advantage of the extra cores (based on the benchmark speeds in which it loaded the data). We usually didn’t see 100% usage though, since the filesystem was the bottleneck (particularly if being accessed over the network).

Also, based on that guide, we are following best practices when it comes to .NET threading (we had referred to a different article that didn’t take Mono into account, but it looks like that Mono page just reiterates general .NET threading rules).

Cheers,

  • Ryan

Thanks again Ryan.

I’m putting the repo on SSD, hopefully we’ll see some gains from doing so and move the bottle neck elsewhere. any other thoughts on how I can make the system all it can be for deadline? I looked around for a document related but was unable to find one.

have a great day,
greg

We have a scaling whitepaper for Deadline 5 that you can download from here:
thinkboxsoftware.com/deadlin … downloads/

This should provide some useful info.

Cheers,

  • Ryan