You'll find the latest daily builds here: https://www.sidefx.com/download/daily-builds/#category-devel [www.sidefx.com]
New parms for the Message Queue:
The main change here is the Message Queue (MQ) server mechanism we use for reporting results back from jobs running on the farm. After we introduced it, there have been quite a few issues related to it. We made some improvements to address these. Currently we are trying it out with the TOP Deadline scheduler to test it out, and get feedback.
There are now 3 types of MQ modes: Local, Farm, Connect
- Local (default) creates MQ server on local machine (ideal if no firewall)
- Farm creates MQ job (with its own job settings) on the farm
- Connect will connect to already running MQ server (only for new MQ, see below)
Previously the TOP Deadline scheduler always created a MQ server running on the farm, either as a background process, or as a task. Now, it will always default to running it locally on the submission machine (Local mode). This should reduce a lot of the MQ network and job scheduling issues.
If you do have firewalls between the farm machines and the submission machine, then you can use the Farm mode to have the MQ server run on the farm, allowing the work tasks to report results to it. Then you can open up limited ports through the firewalls from the MQ server to your submission machine, and specify those ports on the parm interface posted above. Note that MQ server runs as a job taking up a farm machine slot. To alleviate this, there are new parms to specify job settings just for the MQ job.
The above 2 modes work with the current MQ server. You can simply try that out and let us know how it goes.
If you would like to help test the new MQ server, please continue reading.
New MQ server
The new MQ server is wholly different from the current MQ. It uses a different network protocol, can run standalone, and supports relaying results from multiple PDG jobs. It is packaged as a standalone executable found at $HFS/bin/mqserver. While it is automatically managed in Local and Farm modes, in Connect mode, you'll need to manage it yourself.
To use it, first, set PDG_USE_PDGNET=1 in your environment before launching Houdini. This enables using the new MQ server with the TOP Deadline scheduler.
Now try the Local and Farm modes via the TOP Deadline scheduler. If you have multiple TOP Deadline scheduler nodes, they will use the same MQ automatically (so there should only be 1 MQ job running on the farm for each graph).
Connect is a new mode that is only available with a new MQ server we added. This is meant for connecting to an existing MQ server, and sharing it with other PDG jobs. To use this, you must start the MQ server manually on a machine that all farm machines can communicate with.
For the new Connect mode and standalone MQ server, this requires a bit of setup.
Copy the $HFS/bin/mqserver to the machine you want to run the server from (or launch from your local machine).
Launch it with the following command:
mqserver -p 0 -n 128 -l 3 -w 0 128 result -s
After it launches, you'll see a log such as the following:
PDG_MQ 192.168.1.246 49175 49175 49176 ## Message Queue Server Running
The address breakdown is as follows: IP, rpc port, relay port, http port
You'll need to enter the relay port into Relay Port on the TOP Deadline scheduler's nodes parm interface under Message Queue.
Similarly, enter the http port into the Task Callback Port.
Now if you cook, it should use the MQ server. You'll see some logging about clients connecting and disconnecting.
We'll be improving the workflow and UX of this over time. The new MQ was released to get initial testing. Any help you can provide is appreciated. More TOP Deadline improvements are coming as well.