Decision Management (ODM, ADS)

Decision Management (ODM, ADS)

Connect with experts and peers to elevate technical expertise, solve problems and share insights

 View Only

Unlocking z/OS Performance: Embedded Batch Mode in Decision Runtime for z/OS Just Got Up To 30% Faster

By James Taylor posted 22 hours ago

  

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:

  1. Update your configuration datasets:

    • Add an Embedded Batch topology to your HBRCTRL:
      CREATE BATCH HBRWORKDS=RULES.WORK.BATCH
      HBRWORKPATH=/u/WORKPATH/batch
      HBRSSIDLIST=HBR1
      
      HBR1 would be the ssid of an existing zRES server

  2. Submit HBRUUPTI.

  3. Review the configuration:

    • Dataset member: RULES.WORK.BATCH.SHBRPARM(HBREMBED)
    • Sample JCL: RULES.WORK.BATCH.SHBRJCL(HBRMINBE) (demonstrates usage with MiniLoan)

  4. Enable the performance boost:

    • Add HBRFASTEMBED=ON to your HBREMBED configuration.

  5. 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.
0 comments
5 views

Permalink