Product(s): | Cube |
Version(s): | 6.1 to 6.5 |
Area: | Cluster |
Cluster can invoke either distributed multistep (MDP) or intrastep processing (IDP) depending on the need. If your model requires to break up steps that are logically independent from each other, then it can use MDP. If it requires to break up zone based processing, then it can use IDP. The attached zip file includes the below Cube catalog example to show how to set up DISTRIBUTEMULTISTEP and DISTRIBUTEINTRASTEP in the Cluster process.
communities.bentley.com/.../Test_5F00_Cluster_5F00_Example.zip
Steps 1 initiates the Cluster executable. Steps 2 initiates the DISTRIBUTEMULTISTEP command for the Peak Period highway assignment. Step 3 invokes IDP for the same period highway. Step 4 ends the DISTRIBUTEINTRASTEP for the current period assignment and initiates the MDP for the off-peak period assignment. Step 5 invokes IDP for off-peak. Step 6 ends the DISTRIBUTEMULTISTEP for the second period assignment. Finally, step 7 ends the Cluster executable.
The major Voyager scripts are indicated as follow:
---------------------------------------------------------------------------------
*"C:\Program Files (x86)\Citilabs\CubeVoyager\Cluster.EXE" TEST 1-6 Start Exit
DistributeMULTISTEP ProcessID='TEST', ProcessNum=1
RUN PGM=HIGHWAY MSG='Highway Assignment for Peak Period'
...
DistributeIntraStep ProcessId='TEST', ProcessList=2-3
...
ENDRUN
EndDistributeMULTISTEP
DistributeMULTISTEP ProcessID='TEST', ProcessNum=4
RUN PGM=HIGHWAY MSG='Highway Assignment for Off-Peak Period'
...
DistributeIntraStep ProcessId='TEST', ProcessList=5-6
...
ENDRUN
EndDistributeMULTISTEP
Wait4Files Files=TEST1.script.end, TEST4.script.end, CheckReturnCode=T
*"C:\Program Files (x86)\Citilabs\CubeVoyager\Cluster.EXE" TEST 1-6 Close Exit
---------------------------------------------------------------------------------
Note: the usage of Wait4Files is supported with .script.end files, but not with intermediate files created by the model process (e.g., csv files). Using these intermediate files, indeed,
could cause, for example, cluster nodes to be hanging rather than returning a failing message to the main node.