In our latest release of Decision Runtime for z/OS 9.5, we’ve made a significant performance leap in the Embedded Batch execution mode—achieving up to 30% faster rule execution.
What is Embedded Batch?
Embedded Batch is a topology where the Rule Execution Server (zRES) runs in the same address space as your COBOL program. This setup eliminates the overhead of cross-address space communication, making it inherently faster than the more common topology where COBOL calls out to a separate zRES server.
What’s New?
Previously, Embedded Batch shared much of its internal code with the cross-address space topology. While it was already faster, we saw an opportunity to go further. By writing targeted, optimized code specifically for the single-threaded, same-address-space scenario, we’ve unlocked substantial performance gains.
Why It Matters
If your use of Operational Decision Manager (ODM) involves batch rule execution—for example, overnight processing—this improvement could significantly reduce your processing time and resource usage.
How to Use It
If you’ve upgraded to version 9.5, consider switching to the Embedded Batch topology.
The best part? No changes are needed to your COBOL source code.
Here’s how to get started:
-
Update your configuration datasets:
-
Submit HBRUUPTI
.
-
Review the configuration:
- Dataset member:
RULES.WORK.BATCH.SHBRPARM(HBREMBED)
- Sample JCL:
RULES.WORK.BATCH.SHBRJCL(HBRMINBE)
(demonstrates usage with MiniLoan)
-
Enable the performance boost:
- Add
HBRFASTEMBED=ON
to your HBREMBED
configuration.
-
Update your JCL:
- Use
HBREMBED
in the HBRENVPR
DD statement.
⚠️ Important Notes
-
- You still need a zRES server running—not for execution, but to validate access permissions during startup.
- After issuing the
HBRDISC
statement, do not access Unix System Services (USS) files from COBOL. HBRDISC
undubs the address space from USS.