SlideShare a Scribd company logo
1 of 51
CICS Loader Domain
Larry Lawler
Unicom Global
Thursday February 8th, 2013 - 3:00 PM-4:00 PM
Session Number 12447
Larry.Lawler@UnicomGlobal.com
ljl@drcics.com
www.linkedin.com/pub/larry-lawler/18/698/877/
Insert
Custom
Session
QR if
Desired.
CICS Loader Domain
• CICS pre-ESA Loader
• CICS ESA Loader
• CICS TS Loader
• Loader Domain Control Blocks
• CICS TS 5.1 Loader
• Remaining Issues
• Wish List
• Questions
2
CICS pre-ESA Loader
• Used a pair of routines that were part of system
initialization (DFHSIP). The two routine names were
named: SIPBLDLE, and SILOADR
• MVS/ESA load was not used for 24-bit programs, instead
a BPAM DCB was used to open the DFHRPL load library,
and read it.
• SIPBLDLE did uses a MVS macro called BLDL to acquire
the PDS member location, but discarded most of the
returned information except TTRz, Length, AMODE,
RMODE and entry point offset.
• The retained BLDL information was stored in the PPT
itself, and was restored on a WARM or EMER restart.
3
CICS pre-ESA Loader issues
• CICS program subpool compressions or “Tree shakes”
were nothing more than tossing out all programs with a
current use count of 0, instead of using a Less Recently
Used chain.
• Following the tree shake all the programs were slowly
reloaded one at a time, on the QR TCB!
• ISV Software such as XA/Relo was a popular solution to
eliminate the problem prior to CICS/ESA Loader redesign.
4
CICS ESA LOADER
• CICS ESA introduced the use of the MVS “directed Load”
facility. Which reportedly uses CCW chaining information,
to eliminate individual I/Os.
• This is an Authorized facility, as the invoker can tell MVS
the location to load the program into.
• Reentrant DSA(s) introduced in CICS 3.3, allowing RENT
programs to be loaded into non-fetch protected Key 0
storage.
5
CICS ESA LOADER
• In the new Loader domain design, a MVS/ESA BLDL
macro was initially used to acquire the PDS directory
information, later LLACOPY was added in TS 4.1, but still
returns the BLDL information in the same format.
• The returned BLDL information is then stored in the CPE
control block, not the APE! Only the 1ST x3C bytes of the
returned BLDL information is retained of the x4C bytes.
• The “RO” TCB is used by the Loader Domain, but has
many other users, such as SAF/RACF security calls!!!
6
Loader Domain Program Storage
• Currently there are 16 Loader domain program storage
subpools, starting with LDENRS on the following page.
• The loader domain subpools get distilled down to only 6
DSAs (3 DSAs and 3 EDSAs)
7
Loader Domain Program Storage
8
Some Loader Domain Control Blocks
• APE Active Program Element
• CPE Current Program Element
• NIU Not In Use Active Program Element
• CSECTL CSECT List
• LDA Loader Domain Anchor area
• LCA Library Control Area
• PLIBE Program Library Element
9
Loader Domain Control Block Roles
• APE Active in Loader domain terms means it is
occupying DSA storage, 2 chains: Storage Sequence and
Not In Use sequence (or NIU) used during DSA/EDSA
program subpool compressions
• CPE Current in Loader domain terms means it
contains the current BLDL Information
• CSECT Lists are used by CICS Management modules
to identify CSECTs within a Fat Load module
• LDA Anchor point or starting point for most Loader
Domain storage chains
• PLIBE Program Library Entry – in ranking seq.
• LCA Library Control Area – in creation seq.
10
Some of the LDA Chains
11
CICS Loader Domain Anchor Area
12
Single CPE chain in Alpha Seq.
13
APE can be on 3 chains at once!
14
Global APE chain in Storage Seq.
15
CICS APE NIU chain page 1 of 15
16
CICS APE NIU chain page 15
17
Relation of a PPTe to LD CPE and APE
• Every Program will have a CPE, but the APE is acquired
the first time the program is referenced.
• A CPE can exist without a corresponding PPT entry, such
as CICS management modules.
• One more APEs are chained from the CPE entry, and is
normally one 1 to 1 relationship, unless a New Copy
Phase-in was used on an active program.
18
What is the purpose of a CPE ?
19
What is the purpose of a APE ?
20
What is a CSECT List?
21
CPE and APE without a PPT ! Ex: SIP & SRP
22
CPE and APE without a PPTe !
23
PPTs and CPEs are cataloged, not APEs
24
Relation of a PPTe to LD CPE and APE
25
CICS TS Loader
• CICS TS 3.2 added the concept of “Libraries”.
• Each Library uses 624 bytes of 24-bit storage for the LCA,
forced below because it contains a z/OS DCB and BLDL
parmlist.
• Each Library defined has a PLIBE area and an Library
control area or LCA
• The following pages show what they look like:
26
CICS TS Loader LCA & DCB
27
CICS TS Loader PLIBE
28
CICS TS Loader datasets
29
CICS TS Loader
• Misuse of Libraries can be detrimental to performance!
See example of LD trace at: http://tinyurl.com/LD-Trace
• Around CICS TS 4.1 time Loader TCB bottlenecks started
to reappear in higher transaction rate CICS systems, and
could impact SAF performance!
• Vendors that open their own DFHRPL DCB will have
problems!
• Is it a good idea to put all vendor programs in Library(s)
and leave the DFHRPL for CICS and IBM Load Libraries?
30
CICS TS 5.1 Loader
• The CICS TS Loader has been improved in TS v5.1 to
move all the CPE, APE and CSECT List control blocks into
64-bit addressable storage (31-bit VSCR)
• New CPE Chain added from the Library Resource (PLIBE)
to keep track of all programs loaded from that Library.
This is done for support of Application Bundles.
• Another major improvement to the loader domain was that
LOAD requests for Threadsafe tasks no longer have to
switch to the Loader “RO” TCB. LLACOPY and BLDL still
use the RO TCB
• CPE in TS 5.1 is 240 bytes, APE in TS 5.1 is 192 bytes.
A CPE with a single APE occupies 432 bytes per program.
• Moving 10,000 to 64-bit storage is roughly 4Meg of EDSA
31
CICS Loader Domain Anchor Area
32
Impact of CICS TS 5.1 Loader changes
• Loader domain CPE chains are now 64-bit addresses!
• (CPE_NEXT, CPE_PRIOR)
• Loader domain APE chains are now 64-bit addresses!
(APE_NEXT, APE_PRIOR, APE_OLDER_APE,
APE_YOUNGER_APE, APE_OLDER_APE_NIU,
APE_YOUNGER_APE_NIU)
• The PPTE loader domain token address, is now 64-bit !
(PPTE_LOADER_TOKEN) points to the Loader Domain’s
corresponding 64-bit CPE entry
33
PPT Pointer Change, and EXT.
34
64-Bit CPE addresses
35
64-Bit APE addresses
36
64-Bit CSECT List addresses
37
Remaining Topics
• Order of magnitude improvement in the Loader domain for
Threadsafe tasks, which can load their own programs
without Queuing up on the Loader TCB.
• Are the bulk of your tasks still on the QR TCB? If so, this
enhancement may not help you!
• The single RO or Loader TCB is still used for: SAF calls,
BLDLs, LLACOPYs, NEWCOPYs, PHASEINs and QR
task LOADs!
• Are your Loader Domain Global user exits: XLDLOAD and
XLDELETE Threadsafe, so they can be driven on Multiple
TCBs ?
38
LCA Index Anchor US/FR
39
LCA Index ALB US/FR
40
LCA, DCB and BLDL Plist
41
Remaining Issues
• Sequential search using BLDL or LLACOPY on a series of
Libraries, even if they are defined after the DFHRPL
search order can significantly impact an already over taxed
Loader TCB!
• Customer had a cool idea to put each vendor Load library
in a separate CICS LIBRARY definition, and leave
DFHRPL for CICS, LE, and their application programs.
They called to ask why this would make our PLTPI time
startup process so slow, on COLD starts? From a CICS
Trace we could see we our Load Library, was 50th in the
ranking List! So each of our 30+ programs we load at
PLTPI time had to do 50 BLDL or LLACOPY requests
before finding the program !!
42
Wish List
• Move the 16K of Library Control Area (LCA) indexes to
• 31-bit storage
• Create a new TCB for SAF/RACF requests, that is
separate from the Loader TCB
• Option when defining a “Library” resource via CEDA or
RDO to indicate you want a separate TCB for this Library.
• RDO Program entry to allow the specification of a single
Library definition.
43
CICS TS 255 LSR Pools
Larry Lawler
Unicom Global
Thursday February 8th, 2013 - 3:00 PM-4:00 PM
Session Number 12447
Larry.Lawler@UnicomGlobal.com
ljl@drcics.com
www.linkedin.com/pub/larry-lawler/18/698/877/
Insert
Custom
Session
QR if
Desired.
CICS TS 255 LSR Pools
• Local Shared Resources
• Threadsafe impact on LSR pools
• Control interval sizes
• Remaining Issues
• Wish List
• Questions
45
Local Shared Resources
• Tuning a moving target
• DBA tunes CI sizes
• Index levels increase
• Index records increase
• Some type of Automatic setting needed
46
Threadsafe impact on LSR pools
• Some of the threadsafe file control code needs to be
serialized, this is done by using a new LSR pool lock.
• For years sharing was a good idea, now we need to
rethink this for threadsafe applications, to avoid lock
contention between different application files in the LSR
pool! For example Is an open order file in the same LSR
pool as payroll file?
47
Remaining Issues
• LSR Buffers remain 31-bit, can impact transaction rates
due to EDSA compressions
• Odd Control Interval sizes can cause round up, and
wasted virtual and real storage.
48
Wish List
• CICS needs to support all Control interval sizes supported
by the VSAM BLDVRP macro, to avoid wasted space!
• Move LSR Buffers to 64-bit storage, to free up EDSA
• After the investment made in VSAM RLS, is IBM even
willing to reinvest in going back to add 64-bit buffers into
older code set containing LSR pools?
49
Wish List
• Allow CICS to pick a LSR pool dynamically, for example in
the range of 100 to 200
• Allow specification of # of strings, and let CICS select
index and data buffers based on a Minimum, Maximum, or
average specification. CICS would then access a bit more
information from the VSAM catalog, so calculate the
number of High level index records for example. The
number of strings plus High level index records becomes
the average setting. Maximum would be the total # or
index records.
• Come to Boston Share for my update on this topic!
50
CICS Loader Domain LSR Pools
Larry Lawler
Unicom Global
Thursday February 8th, 2013 - 3:00 PM-4:00 PM
Session Number 12447
Larry.Lawler@UnicomGlobal.com
ljl@drcics.com
www.linkedin.com/pub/larry-lawler/18/698/877/

More Related Content

What's hot

What's hot (20)

Innovation with Connection, The new HPCC Systems Plugins and Modules
Innovation with Connection, The new HPCC Systems Plugins and ModulesInnovation with Connection, The new HPCC Systems Plugins and Modules
Innovation with Connection, The new HPCC Systems Plugins and Modules
 
High throughput data replication over RAFT
High throughput data replication over RAFTHigh throughput data replication over RAFT
High throughput data replication over RAFT
 
Comparative Performance Analysis of AWS EC2 Instance Types Commonly Used for ...
Comparative Performance Analysis of AWS EC2 Instance Types Commonly Used for ...Comparative Performance Analysis of AWS EC2 Instance Types Commonly Used for ...
Comparative Performance Analysis of AWS EC2 Instance Types Commonly Used for ...
 
LLAP: Sub-Second Analytical Queries in Hive
LLAP: Sub-Second Analytical Queries in HiveLLAP: Sub-Second Analytical Queries in Hive
LLAP: Sub-Second Analytical Queries in Hive
 
Query Engines for Hive: MR, Spark, Tez with LLAP – Considerations!
Query Engines for Hive: MR, Spark, Tez with LLAP – Considerations!Query Engines for Hive: MR, Spark, Tez with LLAP – Considerations!
Query Engines for Hive: MR, Spark, Tez with LLAP – Considerations!
 
Big data: Loading your data with flume and sqoop
Big data:  Loading your data with flume and sqoopBig data:  Loading your data with flume and sqoop
Big data: Loading your data with flume and sqoop
 
Meet HBase 2.0 and Phoenix 5.0
Meet HBase 2.0 and Phoenix 5.0Meet HBase 2.0 and Phoenix 5.0
Meet HBase 2.0 and Phoenix 5.0
 
Sub-second-sql-on-hadoop-at-scale
Sub-second-sql-on-hadoop-at-scaleSub-second-sql-on-hadoop-at-scale
Sub-second-sql-on-hadoop-at-scale
 
Meet HBase 2.0 and Phoenix-5.0
Meet HBase 2.0 and Phoenix-5.0Meet HBase 2.0 and Phoenix-5.0
Meet HBase 2.0 and Phoenix-5.0
 
Llap: Locality is Dead
Llap: Locality is DeadLlap: Locality is Dead
Llap: Locality is Dead
 
Network for the Large-scale Hadoop cluster at Yahoo! JAPAN
Network for the Large-scale Hadoop cluster at Yahoo! JAPANNetwork for the Large-scale Hadoop cluster at Yahoo! JAPAN
Network for the Large-scale Hadoop cluster at Yahoo! JAPAN
 
Hive acid and_2.x new_features
Hive acid and_2.x new_featuresHive acid and_2.x new_features
Hive acid and_2.x new_features
 
ORC improvement in Apache Spark 2.3
ORC improvement in Apache Spark 2.3ORC improvement in Apache Spark 2.3
ORC improvement in Apache Spark 2.3
 
Ozone- Object store for Apache Hadoop
Ozone- Object store for Apache HadoopOzone- Object store for Apache Hadoop
Ozone- Object store for Apache Hadoop
 
Tuning Apache Ambari performance for Big Data at scale with 3000 agents
Tuning Apache Ambari performance for Big Data at scale with 3000 agentsTuning Apache Ambari performance for Big Data at scale with 3000 agents
Tuning Apache Ambari performance for Big Data at scale with 3000 agents
 
Deploying Apache Flume to enable low-latency analytics
Deploying Apache Flume to enable low-latency analyticsDeploying Apache Flume to enable low-latency analytics
Deploying Apache Flume to enable low-latency analytics
 
Hive2.0 sql speed-scale--hadoop-summit-dublin-apr-2016
Hive2.0 sql speed-scale--hadoop-summit-dublin-apr-2016Hive2.0 sql speed-scale--hadoop-summit-dublin-apr-2016
Hive2.0 sql speed-scale--hadoop-summit-dublin-apr-2016
 
HDF for the Cloud - New HDF Server Features
HDF for the Cloud - New HDF Server FeaturesHDF for the Cloud - New HDF Server Features
HDF for the Cloud - New HDF Server Features
 
NiFi Developer Guide
NiFi Developer GuideNiFi Developer Guide
NiFi Developer Guide
 
Application Timeline Server - Past, Present and Future
Application Timeline Server - Past, Present and FutureApplication Timeline Server - Past, Present and Future
Application Timeline Server - Past, Present and Future
 

Viewers also liked

Two Phase Flow Research
Two Phase Flow ResearchTwo Phase Flow Research
Two Phase Flow Research
Rex Liu
 

Viewers also liked (10)

Organizacion y planificacion de la seguridad industrial
Organizacion y planificacion de la seguridad industrialOrganizacion y planificacion de la seguridad industrial
Organizacion y planificacion de la seguridad industrial
 
Creating an Agile Business
Creating an Agile BusinessCreating an Agile Business
Creating an Agile Business
 
Guía de anfibios México
Guía de anfibios MéxicoGuía de anfibios México
Guía de anfibios México
 
Physicochemical Controls On Transport of Veterinary Pharmaceuticals And Hormo...
Physicochemical Controls On Transport of Veterinary Pharmaceuticals And Hormo...Physicochemical Controls On Transport of Veterinary Pharmaceuticals And Hormo...
Physicochemical Controls On Transport of Veterinary Pharmaceuticals And Hormo...
 
Basic HTML
Basic HTMLBasic HTML
Basic HTML
 
Impel Slashes Price on E-mail Campaigns
Impel Slashes Price on E-mail CampaignsImpel Slashes Price on E-mail Campaigns
Impel Slashes Price on E-mail Campaigns
 
Faunal diversity
Faunal diversityFaunal diversity
Faunal diversity
 
Question 2
Question 2Question 2
Question 2
 
Pasture Cropping - Profitable Regenerative Agriculture Presented by Colin Seis
Pasture Cropping - Profitable Regenerative Agriculture Presented by Colin SeisPasture Cropping - Profitable Regenerative Agriculture Presented by Colin Seis
Pasture Cropping - Profitable Regenerative Agriculture Presented by Colin Seis
 
Two Phase Flow Research
Two Phase Flow ResearchTwo Phase Flow Research
Two Phase Flow Research
 

Similar to CICS TS 5.1 Loader Domain enhancements

Cics TS 5.1 user experience
Cics TS 5.1 user experienceCics TS 5.1 user experience
Cics TS 5.1 user experience
Larry Lawler
 

Similar to CICS TS 5.1 Loader Domain enhancements (20)

Cics TS 5.1 user experience
Cics TS 5.1 user experienceCics TS 5.1 user experience
Cics TS 5.1 user experience
 
Vijfhart thema-avond-oracle-12c-new-features
Vijfhart thema-avond-oracle-12c-new-featuresVijfhart thema-avond-oracle-12c-new-features
Vijfhart thema-avond-oracle-12c-new-features
 
Oracle database 12c intro
Oracle database 12c introOracle database 12c intro
Oracle database 12c intro
 
Latest (storage IO) patterns for cloud-native applications
Latest (storage IO) patterns for cloud-native applications Latest (storage IO) patterns for cloud-native applications
Latest (storage IO) patterns for cloud-native applications
 
Introduction to Apache Mesos and DC/OS
Introduction to Apache Mesos and DC/OSIntroduction to Apache Mesos and DC/OS
Introduction to Apache Mesos and DC/OS
 
VMworld 2015: The Future of Software- Defined Storage- What Does it Look Like...
VMworld 2015: The Future of Software- Defined Storage- What Does it Look Like...VMworld 2015: The Future of Software- Defined Storage- What Does it Look Like...
VMworld 2015: The Future of Software- Defined Storage- What Does it Look Like...
 
(Re)Indexing Large Repositories in Alfresco
(Re)Indexing Large Repositories in Alfresco(Re)Indexing Large Repositories in Alfresco
(Re)Indexing Large Repositories in Alfresco
 
Ceph for Big Science - Dan van der Ster
Ceph for Big Science - Dan van der SterCeph for Big Science - Dan van der Ster
Ceph for Big Science - Dan van der Ster
 
Exploring Oracle Multitenant in Oracle Database 12c
Exploring Oracle Multitenant in Oracle Database 12cExploring Oracle Multitenant in Oracle Database 12c
Exploring Oracle Multitenant in Oracle Database 12c
 
Quick-and-Easy Deployment of a Ceph Storage Cluster
Quick-and-Easy Deployment of a Ceph Storage ClusterQuick-and-Easy Deployment of a Ceph Storage Cluster
Quick-and-Easy Deployment of a Ceph Storage Cluster
 
Introducción a Docker - LibreCon 2016
Introducción a Docker - LibreCon 2016Introducción a Docker - LibreCon 2016
Introducción a Docker - LibreCon 2016
 
Running Production CDC Ingestion Pipelines With Balaji Varadarajan and Pritam...
Running Production CDC Ingestion Pipelines With Balaji Varadarajan and Pritam...Running Production CDC Ingestion Pipelines With Balaji Varadarajan and Pritam...
Running Production CDC Ingestion Pipelines With Balaji Varadarajan and Pritam...
 
MayaData Datastax webinar - Operating Cassandra on Kubernetes with the help ...
MayaData  Datastax webinar - Operating Cassandra on Kubernetes with the help ...MayaData  Datastax webinar - Operating Cassandra on Kubernetes with the help ...
MayaData Datastax webinar - Operating Cassandra on Kubernetes with the help ...
 
Cobol performance tuning paper lessons learned - s8833 tr
Cobol performance tuning paper   lessons learned - s8833 trCobol performance tuning paper   lessons learned - s8833 tr
Cobol performance tuning paper lessons learned - s8833 tr
 
1961 no rainclouds here! using cics platform and policies to keep your privat...
1961 no rainclouds here! using cics platform and policies to keep your privat...1961 no rainclouds here! using cics platform and policies to keep your privat...
1961 no rainclouds here! using cics platform and policies to keep your privat...
 
Kafka Explainaton
Kafka ExplainatonKafka Explainaton
Kafka Explainaton
 
IMS05 IMS V14 8gb osam for haldb
IMS05   IMS V14 8gb osam for haldbIMS05   IMS V14 8gb osam for haldb
IMS05 IMS V14 8gb osam for haldb
 
What's new in Hadoop Common and HDFS
What's new in Hadoop Common and HDFS What's new in Hadoop Common and HDFS
What's new in Hadoop Common and HDFS
 
Simplify Consolidation with Oracle Database 12c
Simplify Consolidation with Oracle Database 12cSimplify Consolidation with Oracle Database 12c
Simplify Consolidation with Oracle Database 12c
 
Introduction to DPDK RIB library
Introduction to DPDK RIB libraryIntroduction to DPDK RIB library
Introduction to DPDK RIB library
 

Recently uploaded

An Overview of Mutual Funds Bcom Project.pdf
An Overview of Mutual Funds Bcom Project.pdfAn Overview of Mutual Funds Bcom Project.pdf
An Overview of Mutual Funds Bcom Project.pdf
SanaAli374401
 
Gardella_Mateo_IntellectualProperty.pdf.
Gardella_Mateo_IntellectualProperty.pdf.Gardella_Mateo_IntellectualProperty.pdf.
Gardella_Mateo_IntellectualProperty.pdf.
MateoGardella
 

Recently uploaded (20)

Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
fourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writingfourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writing
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1
 
Advance Mobile Application Development class 07
Advance Mobile Application Development class 07Advance Mobile Application Development class 07
Advance Mobile Application Development class 07
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impact
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SD
 
psychiatric nursing HISTORY COLLECTION .docx
psychiatric  nursing HISTORY  COLLECTION  .docxpsychiatric  nursing HISTORY  COLLECTION  .docx
psychiatric nursing HISTORY COLLECTION .docx
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
An Overview of Mutual Funds Bcom Project.pdf
An Overview of Mutual Funds Bcom Project.pdfAn Overview of Mutual Funds Bcom Project.pdf
An Overview of Mutual Funds Bcom Project.pdf
 
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
 
Gardella_Mateo_IntellectualProperty.pdf.
Gardella_Mateo_IntellectualProperty.pdf.Gardella_Mateo_IntellectualProperty.pdf.
Gardella_Mateo_IntellectualProperty.pdf.
 
SECOND SEMESTER TOPIC COVERAGE SY 2023-2024 Trends, Networks, and Critical Th...
SECOND SEMESTER TOPIC COVERAGE SY 2023-2024 Trends, Networks, and Critical Th...SECOND SEMESTER TOPIC COVERAGE SY 2023-2024 Trends, Networks, and Critical Th...
SECOND SEMESTER TOPIC COVERAGE SY 2023-2024 Trends, Networks, and Critical Th...
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17
 

CICS TS 5.1 Loader Domain enhancements

  • 1. CICS Loader Domain Larry Lawler Unicom Global Thursday February 8th, 2013 - 3:00 PM-4:00 PM Session Number 12447 Larry.Lawler@UnicomGlobal.com ljl@drcics.com www.linkedin.com/pub/larry-lawler/18/698/877/ Insert Custom Session QR if Desired.
  • 2. CICS Loader Domain • CICS pre-ESA Loader • CICS ESA Loader • CICS TS Loader • Loader Domain Control Blocks • CICS TS 5.1 Loader • Remaining Issues • Wish List • Questions 2
  • 3. CICS pre-ESA Loader • Used a pair of routines that were part of system initialization (DFHSIP). The two routine names were named: SIPBLDLE, and SILOADR • MVS/ESA load was not used for 24-bit programs, instead a BPAM DCB was used to open the DFHRPL load library, and read it. • SIPBLDLE did uses a MVS macro called BLDL to acquire the PDS member location, but discarded most of the returned information except TTRz, Length, AMODE, RMODE and entry point offset. • The retained BLDL information was stored in the PPT itself, and was restored on a WARM or EMER restart. 3
  • 4. CICS pre-ESA Loader issues • CICS program subpool compressions or “Tree shakes” were nothing more than tossing out all programs with a current use count of 0, instead of using a Less Recently Used chain. • Following the tree shake all the programs were slowly reloaded one at a time, on the QR TCB! • ISV Software such as XA/Relo was a popular solution to eliminate the problem prior to CICS/ESA Loader redesign. 4
  • 5. CICS ESA LOADER • CICS ESA introduced the use of the MVS “directed Load” facility. Which reportedly uses CCW chaining information, to eliminate individual I/Os. • This is an Authorized facility, as the invoker can tell MVS the location to load the program into. • Reentrant DSA(s) introduced in CICS 3.3, allowing RENT programs to be loaded into non-fetch protected Key 0 storage. 5
  • 6. CICS ESA LOADER • In the new Loader domain design, a MVS/ESA BLDL macro was initially used to acquire the PDS directory information, later LLACOPY was added in TS 4.1, but still returns the BLDL information in the same format. • The returned BLDL information is then stored in the CPE control block, not the APE! Only the 1ST x3C bytes of the returned BLDL information is retained of the x4C bytes. • The “RO” TCB is used by the Loader Domain, but has many other users, such as SAF/RACF security calls!!! 6
  • 7. Loader Domain Program Storage • Currently there are 16 Loader domain program storage subpools, starting with LDENRS on the following page. • The loader domain subpools get distilled down to only 6 DSAs (3 DSAs and 3 EDSAs) 7
  • 9. Some Loader Domain Control Blocks • APE Active Program Element • CPE Current Program Element • NIU Not In Use Active Program Element • CSECTL CSECT List • LDA Loader Domain Anchor area • LCA Library Control Area • PLIBE Program Library Element 9
  • 10. Loader Domain Control Block Roles • APE Active in Loader domain terms means it is occupying DSA storage, 2 chains: Storage Sequence and Not In Use sequence (or NIU) used during DSA/EDSA program subpool compressions • CPE Current in Loader domain terms means it contains the current BLDL Information • CSECT Lists are used by CICS Management modules to identify CSECTs within a Fat Load module • LDA Anchor point or starting point for most Loader Domain storage chains • PLIBE Program Library Entry – in ranking seq. • LCA Library Control Area – in creation seq. 10
  • 11. Some of the LDA Chains 11
  • 12. CICS Loader Domain Anchor Area 12
  • 13. Single CPE chain in Alpha Seq. 13
  • 14. APE can be on 3 chains at once! 14
  • 15. Global APE chain in Storage Seq. 15
  • 16. CICS APE NIU chain page 1 of 15 16
  • 17. CICS APE NIU chain page 15 17
  • 18. Relation of a PPTe to LD CPE and APE • Every Program will have a CPE, but the APE is acquired the first time the program is referenced. • A CPE can exist without a corresponding PPT entry, such as CICS management modules. • One more APEs are chained from the CPE entry, and is normally one 1 to 1 relationship, unless a New Copy Phase-in was used on an active program. 18
  • 19. What is the purpose of a CPE ? 19
  • 20. What is the purpose of a APE ? 20
  • 21. What is a CSECT List? 21
  • 22. CPE and APE without a PPT ! Ex: SIP & SRP 22
  • 23. CPE and APE without a PPTe ! 23
  • 24. PPTs and CPEs are cataloged, not APEs 24
  • 25. Relation of a PPTe to LD CPE and APE 25
  • 26. CICS TS Loader • CICS TS 3.2 added the concept of “Libraries”. • Each Library uses 624 bytes of 24-bit storage for the LCA, forced below because it contains a z/OS DCB and BLDL parmlist. • Each Library defined has a PLIBE area and an Library control area or LCA • The following pages show what they look like: 26
  • 27. CICS TS Loader LCA & DCB 27
  • 28. CICS TS Loader PLIBE 28
  • 29. CICS TS Loader datasets 29
  • 30. CICS TS Loader • Misuse of Libraries can be detrimental to performance! See example of LD trace at: http://tinyurl.com/LD-Trace • Around CICS TS 4.1 time Loader TCB bottlenecks started to reappear in higher transaction rate CICS systems, and could impact SAF performance! • Vendors that open their own DFHRPL DCB will have problems! • Is it a good idea to put all vendor programs in Library(s) and leave the DFHRPL for CICS and IBM Load Libraries? 30
  • 31. CICS TS 5.1 Loader • The CICS TS Loader has been improved in TS v5.1 to move all the CPE, APE and CSECT List control blocks into 64-bit addressable storage (31-bit VSCR) • New CPE Chain added from the Library Resource (PLIBE) to keep track of all programs loaded from that Library. This is done for support of Application Bundles. • Another major improvement to the loader domain was that LOAD requests for Threadsafe tasks no longer have to switch to the Loader “RO” TCB. LLACOPY and BLDL still use the RO TCB • CPE in TS 5.1 is 240 bytes, APE in TS 5.1 is 192 bytes. A CPE with a single APE occupies 432 bytes per program. • Moving 10,000 to 64-bit storage is roughly 4Meg of EDSA 31
  • 32. CICS Loader Domain Anchor Area 32
  • 33. Impact of CICS TS 5.1 Loader changes • Loader domain CPE chains are now 64-bit addresses! • (CPE_NEXT, CPE_PRIOR) • Loader domain APE chains are now 64-bit addresses! (APE_NEXT, APE_PRIOR, APE_OLDER_APE, APE_YOUNGER_APE, APE_OLDER_APE_NIU, APE_YOUNGER_APE_NIU) • The PPTE loader domain token address, is now 64-bit ! (PPTE_LOADER_TOKEN) points to the Loader Domain’s corresponding 64-bit CPE entry 33
  • 34. PPT Pointer Change, and EXT. 34
  • 37. 64-Bit CSECT List addresses 37
  • 38. Remaining Topics • Order of magnitude improvement in the Loader domain for Threadsafe tasks, which can load their own programs without Queuing up on the Loader TCB. • Are the bulk of your tasks still on the QR TCB? If so, this enhancement may not help you! • The single RO or Loader TCB is still used for: SAF calls, BLDLs, LLACOPYs, NEWCOPYs, PHASEINs and QR task LOADs! • Are your Loader Domain Global user exits: XLDLOAD and XLDELETE Threadsafe, so they can be driven on Multiple TCBs ? 38
  • 39. LCA Index Anchor US/FR 39
  • 40. LCA Index ALB US/FR 40
  • 41. LCA, DCB and BLDL Plist 41
  • 42. Remaining Issues • Sequential search using BLDL or LLACOPY on a series of Libraries, even if they are defined after the DFHRPL search order can significantly impact an already over taxed Loader TCB! • Customer had a cool idea to put each vendor Load library in a separate CICS LIBRARY definition, and leave DFHRPL for CICS, LE, and their application programs. They called to ask why this would make our PLTPI time startup process so slow, on COLD starts? From a CICS Trace we could see we our Load Library, was 50th in the ranking List! So each of our 30+ programs we load at PLTPI time had to do 50 BLDL or LLACOPY requests before finding the program !! 42
  • 43. Wish List • Move the 16K of Library Control Area (LCA) indexes to • 31-bit storage • Create a new TCB for SAF/RACF requests, that is separate from the Loader TCB • Option when defining a “Library” resource via CEDA or RDO to indicate you want a separate TCB for this Library. • RDO Program entry to allow the specification of a single Library definition. 43
  • 44. CICS TS 255 LSR Pools Larry Lawler Unicom Global Thursday February 8th, 2013 - 3:00 PM-4:00 PM Session Number 12447 Larry.Lawler@UnicomGlobal.com ljl@drcics.com www.linkedin.com/pub/larry-lawler/18/698/877/ Insert Custom Session QR if Desired.
  • 45. CICS TS 255 LSR Pools • Local Shared Resources • Threadsafe impact on LSR pools • Control interval sizes • Remaining Issues • Wish List • Questions 45
  • 46. Local Shared Resources • Tuning a moving target • DBA tunes CI sizes • Index levels increase • Index records increase • Some type of Automatic setting needed 46
  • 47. Threadsafe impact on LSR pools • Some of the threadsafe file control code needs to be serialized, this is done by using a new LSR pool lock. • For years sharing was a good idea, now we need to rethink this for threadsafe applications, to avoid lock contention between different application files in the LSR pool! For example Is an open order file in the same LSR pool as payroll file? 47
  • 48. Remaining Issues • LSR Buffers remain 31-bit, can impact transaction rates due to EDSA compressions • Odd Control Interval sizes can cause round up, and wasted virtual and real storage. 48
  • 49. Wish List • CICS needs to support all Control interval sizes supported by the VSAM BLDVRP macro, to avoid wasted space! • Move LSR Buffers to 64-bit storage, to free up EDSA • After the investment made in VSAM RLS, is IBM even willing to reinvest in going back to add 64-bit buffers into older code set containing LSR pools? 49
  • 50. Wish List • Allow CICS to pick a LSR pool dynamically, for example in the range of 100 to 200 • Allow specification of # of strings, and let CICS select index and data buffers based on a Minimum, Maximum, or average specification. CICS would then access a bit more information from the VSAM catalog, so calculate the number of High level index records for example. The number of strings plus High level index records becomes the average setting. Maximum would be the total # or index records. • Come to Boston Share for my update on this topic! 50
  • 51. CICS Loader Domain LSR Pools Larry Lawler Unicom Global Thursday February 8th, 2013 - 3:00 PM-4:00 PM Session Number 12447 Larry.Lawler@UnicomGlobal.com ljl@drcics.com www.linkedin.com/pub/larry-lawler/18/698/877/