IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

COBOL DB2 program - zIIP eligible


IBM Mainframe Forums -> COBOL Programming
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
vasanthz

Global Moderator


Joined: 28 Aug 2007
Posts: 1742
Location: Tirupur, India

PostPosted: Wed May 31, 2017 5:12 am
Reply with quote

Hi,

I am trying to write a batch COBOL DB2 program, that reads a DB2 table using native stored procedures.

Will some portion of the read be zIIP eligible, if I run the program as batch from my TSO userid?

The manual says "an SQL procedure workload is zIIP eligible if driven by DDF requests
arriving via DRDA®"

I have close to no knowledge about COBOL-DB2 and cannot understand what DRDA architechture is.
So could you please let me know if it would become zIIP eligible.

I can measure the zIIP usage of a job and get the performance metrics, but having a hard time compiling a COBOL DB2 program to go ahead and test it myself.

I've seen vanilla SYNCSORT copy jobs use zIIP and very less GP. So wondering about the Cobol DB2 program.

We are on DB2 V10.

Regards,
Vasanth.S
Back to top
View user's profile Send private message
Robert Sample

Global Moderator


Joined: 06 Jun 2008
Posts: 8696
Location: Dubuque, Iowa, USA

PostPosted: Wed May 31, 2017 7:02 pm
Reply with quote

The Authorized Use Table at public.dhe.ibm.com/systems/support/warranty/pdfs/aut/Authorized_Use_Table_11-2015_en_US.pdf says:
Quote:
For example, it would be an Authorized Use of a zIIP on a System z9, z10, z196 and z114 and on subsequent mainframes to process up to sixty percent (60%) of the DB2 for z/OS (Versions 8, 9, 10 and subsequent versions) processing of native SQLPL (Structured Query Language Procedural Language) requests when running in Enclave SRB Mode and accessing DB2 for z/OS via DRDA (Distributed Relational Data Architecture) over a TCP/IP connection. In this example, the program (DB2 for z/OS) would be invoking the zIIP API as limited by IBM's technological or other measures that restrict, monitor or report on the use of BIC or MC within DB2, without circumvention, and the portion of the DB2 for z/OS instructions dispatched to the zIIP, would not exceed the portion designated by such technological or other measures that restrict, monitor or report on the use of BIC or MC, without circumvention, to be so dispatched. In this example, only such portion of DB2 for z/OS processing is considered an eligible workload for the zIIP.

As a further example, it would be an Authorized Use of a zIIP on a System z9, z10, z196 and z114 and on subsequent mainframes to process the following after reaching a "CPU Usage Threshold": up to eighty percent (80%) of the processing of long-running parallel queries for DB2 for z/OS (Versions 8, 9, 10 and subsequent versions), as designated by IBM technological or other measures that restrict, monitor or report on the use of BIC or MC within the DB2 for z/OS Query Optimizer, without ircumvention. Note: IBM establishes the "CPU Usage Threshold" for each System z Machine type. In this example, only such portion of DB2 for z/OS processing is considered an eligible workload for the zIIP.
So it does not appear that your COBOL code would be zIIP eligible, although if it reaches the CPU Usage Threshold then it could be.
Back to top
View user's profile Send private message
vasanthz

Global Moderator


Joined: 28 Aug 2007
Posts: 1742
Location: Tirupur, India

PostPosted: Thu Jun 01, 2017 4:11 am
Reply with quote

Quote:
In this
example, the program (DB2 for z/OS) would be invoking the zIIP API
as limited by IBM's te
chnological or other measures that restrict,
monitor or report on the use of BIC or MC within DB2, without
circumvention, and the portion of the DB2 for z/OS instructions
dispatched to the zIIP, would not exceed the portion designated by
such technological
or other measures that restrict, monitor or report on
the use of BIC or MC, without circumvention, to be so dispatched.

My head just exploded reading this one sentence(legalese). :'(

Quote:
CPU Usage Threshold
Robert, Thank you for your response. Any idea how to determine this threshold? Assuming that the job does sequential read of a table and runs for 5 minutes(guess that is long enough) CPU time.
Back to top
View user's profile Send private message
vasanthz

Global Moderator


Joined: 28 Aug 2007
Posts: 1742
Location: Tirupur, India

PostPosted: Thu Jun 01, 2017 4:44 am
Reply with quote

I was under the impression that, only work using DB2 in some form would run on zIIP.

Did a test by running a SYNCSORT job with
SORT FIELDS=(1,10,CH,A) and sorting from one PS file to another and it was still using zIIP, without any form of DB2 involved.

Then realized that there is a zIIP API from IBM and programs built using the zIIP API can make work eligible to run on zIIP themselves.

There was also a bunch of restrictions over this API's use and the amount of work that can be run using them. Looks like the humble programmer has to get IBM's approval/authorization if she/he needs their COBOL program to use zIIP.
Back to top
View user's profile Send private message
Robert Sample

Global Moderator


Joined: 06 Jun 2008
Posts: 8696
Location: Dubuque, Iowa, USA

PostPosted: Thu Jun 01, 2017 5:26 am
Reply with quote

With the z13, zAAP engines go away so Java, DB2, IBM utilities can all use the zIIP. Prior to the z13, starting with z/OS 1.11 on the z9 processor, zAAP work can run on a zIIP processor -- IBM's web sites indicate that sites that could not justify buying 2 specialty engines could still buy the zIIP and get the benefits of zAAP and zIIP processing. So work other than DB2 can run on zIIP engines for the last several years.
Back to top
View user's profile Send private message
Robert Sample

Global Moderator


Joined: 06 Jun 2008
Posts: 8696
Location: Dubuque, Iowa, USA

PostPosted: Thu Jun 01, 2017 6:03 pm
Reply with quote

From www.ibm.com/support/knowledgecenter/SSEPEK_11.0.0/perf/src/tpc/db2z_ibmziip.html (emphasis added by me):
Quote:
Long running parallel queries are those which the DB2 for z/OS Query Optimizer determines should be run in parallel and whose execution exceeds an identified period of time as established by DB2 for z/OS (the “CPU usage threshold.”) The CPU usage threshold is defined by IBM uniquely for each System z Machine type.
Back to top
View user's profile Send private message
vasanthz

Global Moderator


Joined: 28 Aug 2007
Posts: 1742
Location: Tirupur, India

PostPosted: Thu Jun 01, 2017 11:18 pm
Reply with quote

Thanks for the guidance Robert, I am going to go through the exercise and see if we can get some work run on zIIP.

Going through the internet about zIIP eligibility and IBM, it all sounds like IBM VERY strictly controls what can be run on zIIP and strong arms people who circumvent their controls. Seems unfair not letting everyone use the zIIP API.

Regards,
Vasanth.S
Back to top
View user's profile Send private message
Robert Sample

Global Moderator


Joined: 06 Jun 2008
Posts: 8696
Location: Dubuque, Iowa, USA

PostPosted: Fri Jun 02, 2017 6:45 pm
Reply with quote

Quote:
Seems unfair not letting everyone use the zIIP API.
On the other hand, a zIIP costs $40,000 to $100,000 while a CP can run over $10,000,000 so IBM wants to ensure only the work they want on the zIIP runs on the zIIP.
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> COBOL Programming

 


Similar Topics
Topic Forum Replies
No new posts Using API Gateway from CICS program CICS 0
No new posts COBOL -Linkage Section-Case Sensitive COBOL Programming 1
No new posts COBOL ZOS Web Enablement Toolkit HTTP... COBOL Programming 0
No new posts Calling DFSORT from Cobol, using OUTF... DFSORT/ICETOOL 5
No new posts Generate random number from range of ... COBOL Programming 3
Search our Forums:

Back to Top