I hope this post isn’t too vague and open-ended, but I have a few questions about Pulse.
I’m currently looking into ways to optimize our Deadline setup and improve performance as the number of submissions we throw at our farm has grown. I’ve been trying to figure out if we would benefit from adding a Pulse server to our farm. Currently, it seems to me that we wouldn’t see much benefit, but I can’t help feeling like I’m missing something!
We are using Deadline 10.1 and the impression I’ve gotten is that Pulse used to be responsible for handling the REST API but that this is no longer the case. However, if Pulse is available does it still handle this? If so, would there be performance benefits to offloading requests to another machine?
We don’t use Deadline’s farm reports feature, and instead call CalculateJobStatistics from the standalone Python API, and add the results to a separate database we generate our own reports from. I’m not sure if this is something Pulse would speed up.
We generally always have at least one machine free at any given time for pending job scans and house cleaning, would it still be beneficial to dedicate a machine to that?
Have a feeling it also runs something else like scheduling but not sure.
I’d like to see it removed from the client installer along with balancer (think there’s something else too) would lighten the package up and remove the need to install the client on servers etc. I think this won’t happen cos ATM it’s an all in one and less likely to go wrong that way
We’re using Pulse to run the “house cleaning” operations (and I think that’s what pulse is for besides power management). If you’re not running a pulse server, then you’ve probably enabled the option to let workers perform house cleaning if no pulse is running. That works, but I have never tried this option under higher work load (mostly just when I’ve just set up a repository or I’m trying something out).
“House Cleaning” is the process where pulse (or a worker) checks whether pending jobs are allowed to start. It also removes/archives old jobs according to the repository rules, marks stalled slaves as “stalled” and so on… so I think letting a worker do this just means that this worker would be unavailable for a couple of seconds before taking on another task. A pulse server might help but I can’t say how beneficial it would be to the overall performance of your farm.
It doesn’t have to be a separate machine though. I’m running it on the machine that has the database. Or you can repurpose the license server. It won’t show up as a worker and won’t consume a Deadline license as far as I know.
Be wary if using it on the same server as other bits, if you’ve set the default ports they can clash with the UBL license forwarder if you’re also running this on the same server