Using Direct Drive with vovwxd

Direct Drive provides a method to reduce latency of job start times and improved scaling as more base queues are added.

Accelerator Plus and FlowTracer utilize a Direct Drive mechanism in vovwxd to bypass the driver script and speed up tasker requests into the base queue. The WXLauncher tasker is no longer required and the use of launcher jobs is avoided. The call backs defined in the vovnc.tcl script are no longer active, although a future version may reinstate some of them.
Note: Direct Drive only works using an NC base queue 2021.1.1 or higher.
  1. Set up a WX queue with one or more base NC queues.
  2. In the vovwxd config.tcl file, set the following parameters:
    set CONFIG(plugin)			"libvovaccel.so"
    set CONFIG(driver_script)     "vovaccel.tcl"
When a request is issued, vovwxd will create a copy of the local bucket in the base queue. This bucket will appear as "foreign bucket" in the base queue. Bucket objects now have new fields to accommodate the foreign buckets: isforeign, wxbucketid, and wxqueue. These can be queried with vovselect.
Note: DirectDrive uses a different format of a driver script. The CONFIG(driver_script) parameter must specify an appropriate script. An example is available in $VOVDIR/common/etc/config/vovwxd/vovaccel.tcl.
set CONFIG(driver_script) "vovaccel.tcl"  

Currently only two procedures are supported: OnProcessBucket BUCKETINFO (for filtering buckets) and OnConfigLoaded(CONFIG), which is called when the config file is modified.