HQueue Simulation render node

HQueue, or Houdini Queue, is a distributed job scheduling system.

All Parameters HQueue Variables

HQueue, or Houdini Queue, is a distributed job scheduling system. It consists of an HQueue server and a farm of processing nodes, or clients. The server accepts job submissions from users and assigns them to the available clients.

The HQueue Simulation output driver submits dynamic simulation jobs to HQueue for distribution on the farm. Generation of the simulation’s geometry files is done by the node specified in the Output Driver parameter. This would typically be a Geometry ROP.

Parameters

Render

Submits one or more simulation jobs to the HQueue system. If the submission is successful, then a dialog pops-up with the root job’s id. The id can be used to track the render progress on HQueue’s web-based user interface.

Valid Frame Range

Controls whether an HQueue job should be submitted to generate geometry output files for the current frame (Render any frame) or the geometry sequence specified in the Start/End/Inc parameters (Render Frame Range or Render Frame Range (strict)).

You can refer to the Geometry ROP help page for more information on frame ranges.

Start/End/Inc

Specifies the range of frames to generate geometry output files (start frame, end frame, and increment). All values may be floating point values. The range is inclusive.

You can refer to the Geometry ROP help page for more information on frame ranges.

Render With Take

Informs HQueue that the jobs should switch to the specified take before rendering.

General

HQueue Server

The machine name and listen port of the HQueue server.

Priority

The job’s priority. Jobs with higher priorities are scheduled and processed before jobs with lower priorities. 0 is the lowest priority.

Target HFS

The path to the Houdini distribution that will execute the simulation on the HQueue system. The distribution must be installed in a location that is accessible and recognized by every machine on the farm. You can use the $HQROOT and $HQCLIENTARCH variables to help specify the folder path (see HQueue Variables).

Use Current HIP File

When checked, HQueue loads the currently opened .hip file on the farm and simulates the scene defined in the file. The current .hip file must be saved in a location that is accessible and recognized by every machine in the HQueue farm.

You can optionally uncheck this box and set the path for the Target HIP parameter to specify a different .hip file to load on the farm.

Target HIP

When Use Current HIP File is unchecked, set this parameter’s value to the location of the .hip file to be loaded and simulated on the farm. The .hip file must be saved in a location that is accessible and recognized by every machine on the farm. You can use the $HQROOT variable to help specify the .hip file path (see HQueue Variables).

Output Driver

The render node used to generate the output files. For most cases, this would be a path to a Mantra ROP.

Slice Type

Indicates how the simulation is to be divided and how HQueue should distribute the slices on the farm.

Volumes

For volume simulations. The simulation is divided into slices using a 3-dimensional grid. Set the Slice Divisions parameter to set the properties of the grid.

Particles

For particle simulations. The simulation is divided into slices using 1 or more slice planes. Set the Number of Slices parameter to indicate how many slices have been created by the planes.

None

The simulation is not divided. Choose this option if you want to offload a simulation onto a single machine on the farm.

Slice Divisions

Describes how the simulation should be divided in the x, y and z-directions. Each slice created by the divisions requires a dedicated machine on the HQueue farm. For example, if the divisions are set to 2×2×2, then there would be 8 slices and the simulation would require a total of 9 machines (the extra machine is required to host the DOPs tracker daemon which manages communication between the other machines).

Having more divisions allows for more work to be parallelized and generally improves rendering times. However, too many divisions can potentially slow down the simulation since more data must be passed between the slices.

Note that the number of slices dictates the number of generated geometry files. For instance, a simulation with 2 slices will create 2 sets of geometry files. So if 10 frames are to be rendered, then a total of 20 geometry files will be created, each file named with the slice number that it belongs to.

This parameter only applies if the Slice Type is set to Volume Fluid Simulation.

Number of Slices

Indicates the total number of slices in the particle fluid simulation. HQueue will assign a client machine for each slice.

This parameter only applies if the Slice Type is set to Particle Fluid Simulation.

Controls Node

The DOPs control node that describes how the simulation is to be divided. Note that the node’s Tracker Address, Tracker Port and Slice Divisions parameters are automatically set by HQueue when the scene is processed on the farm.

Advanced

Assign To

Choose which client machines HQueue should assign the simulation jobs to. When listing clients or groups, make sure that there are enough clients to simulate all the slices as well as run the tracker process.

Any Client

HQueue assigns the simulation jobs to any available client on the farm.

Listed Clients

HQueue assigns the simulation jobs only to the clients listed in the Clients parameter.

Clients from Listed Group

HQueue assigns the simulation jobs only to clients who are members to the groups listed in the Client Groups parameter.

Clients

A list of client machines that HQueue should assign the simulation jobs to. Use commas to separate the machine names.

This parameter only applies if Listed Clients is chosen in the Assign To parameter.

Select Clients

Click to pop-up a dialog with a list of registered client machines on the HQueue farm. Accepting the selection in the dialog automatically populates the Clients parameter with the selected clients.

Client Groups

A list of client groups. HQueue restricts assigning the simulation jobs to only clients who are members of the specified groups.

This parameter only applies if Clients from Listed Groups is chosen in the Assign To parameter.

Select Client Groups

Click to pop-up a dialog with a list of registered client groups on the HQueue farm. Accepting the selection in the dialog automatically populates the Client Groups parameter with the selected groups.

Use Dedicated Machine for Tracker

The tracker process coordinates the communication between the machines simulating the slices. It does very little work aside from receiving and sending messages to the other machines. By default, HQueue allows other simulation or render jobs to be assigned to the machine running the tracker.

To tell HQueue not to assign other jobs to the tracker machine, check this parameter on. You may want to do this if you have several slices and you are worried that the communication from the client machines to the tracker will slow the tracker machine down.

Enable Performance Monitor Logging

When checked, HQueue turns on performance monitor logging using the hscript perfmon command for the jobs simulating the slices. The log is merged with the job’s command output log and can be downloaded from the job view page on the HQueue web interface.

Create Directories

A list of output directories that should be created on the farm before any files are rendered out. For simulations, you may want to add $HIP/geo to this list.

Note that this parameter does nothing if the output directories already exist.

HQueue Variables

HQueue defines a set of variables which appear in the environment of a running job. You can use these variables to refer to common file paths, machine settings and server configuration values.

HQROOT

Evaluates to the root directory of the HQueue shared file system. The default HQueue installation sets this variable to /mnt/hq on POSIX systems, and H:/ on Windows systems. Note that the shared file system can be configured to reside in a different location so check with your HQueue administrator for details.

HQCLIENTARCH

Evaluates to the architecture and operating system of the client machine assigned to execute the render job. For example, if the HQueue server assigned a job to a Linux, 64-bit machine on the farm, then $HQCLIENTARCH is set to 'linux-x86_64' in the environment.

This variable is useful for when you want to refer to paths that are dependent on the client machine’s platform. For example, /mnt/hq/houdini_distros/hfs.$HQCLIENTARCH could refer to the Houdini distribution to use for a render job. Specifically, it tells HQueue to use /mnt/hq/houdini_distros/hfs.linux-i686 when running the job on a 32-bit Linux machine, and to use /mnt/hq/houdini_distros/hfs.linux-x86_64 when running the job on a 64-bit Linux machine.

Usages in other examples

Example name Example for