SlideShare una empresa de Scribd logo
1 de 24
Descargar para leer sin conexión
© 2009 IBM Corporation
Session IK: Parallel Batch Performance
Considerations
Martin Packer, IBM
martin_packer@uk.ibm.com
Abstract
With the laws of physics providing a nice brick wall that chip
builders are heading towards for processor clock speed, we are
heading into the territory where simply buying a new machine
won't necessarily make your batch go faster. So if you can't go
short, go wide! This session looks at some of the performance
issues and techniques of splitting your batch jobs into parallel
streams to do more at once.
Motivations
Increased Window Challenge
● Workloads growing in an accelerated fashion:
● Business success
● Mergers and acquisitions
– Standardisation of processes and applications
● More processing
– Regulation
– Analytics
– “Just because”
● Shortened Window
● Challenge will outstrip “single actor” speed-up
● For SOME installations and applications
– CPU
– Disk
– Tape
– Etc
● Important to assess where on the (possibly) bell-shaped curve you are
This is still
10 – 15
Years away
Maybe more
Maybe never
© 2012 IBM Corporation
IBM System z
zEC12TLLB7zEC12TLLB7
zEC12 – Overall Attributes Highlights (compared to z196)
• 50% more cores in a CP chip
– Up to 5.7% faster core running frequency
– Up to 25% capacity improvement over z196 uni-processor
• Bigger caches and shorter latency
– Total L2 per core is 33% bigger
– Total on-chip shared L3 is 100% bigger
– Unique private L2 designed to reduce L1 miss latency by up to 45%
• 3rd Generation High Frequency, 2nd Generation Out of Order Design
– Numerous pipeline improvements based on z10 and z196 designs
– # of instructions in flight is increased by 25%
• New 2nd level Branch Prediction Table for enterprise scale program footprint
– 3.5x more branches
• Dedicated Co-processor per core with improved performance and additional capability
– New hardware support for Unicode UTF8<>UTF16 bulk conversions
• Multiple innovative architectural extensions for software exploitation
Other Motivations
● Take advantage of capacity overnight
● Proactively move work out of the peak
● Resilience
● Consider what happens when some part of the batch fails
● Note: This presentation doesn't deal with the case of
concurrent batch
● Some challenges are different
● Some are the same
– You just have 24 hours to get stuff done, not e.g. 8
Issues
Issues
● Main issue is to break “main loop” down into
e.g. 8 copies acting on a subset of the data
● Assuming the program in question has this pattern *
● Not the only issue but necessary to drive
cloning
● With this pattern dividing the Master File is the
key thing …
* This is a simplification of the more general “the whole stream
needs cloning” case
More Issues
● Reworking the “results”
● Probably some kind of merge process
● Handling inter-clone issues
● Locking
● I/O Bottlenecks
● Provisioning resource
● Concurrent use of memory and CPU greatly increased
● Scheduling and choreography
● Streams in lockstep or not
● Recovery boundaries
● Automation of cloning in the schedule
A Note On Reworking
● Consider the “merge at the end” portion:
● Probably valuable to separate data merge from
“presentation”
– “Presentation” here means e.g. reports, persistent output
● Consider an “architected” intermediate file
– XML or JSON or whatever
● Use the architected intermediate file for other
purposes
– e.g PDF format reporting
– Alongside original purpose
Implementation
Implementation
● Implementation consists of three obvious steps:
● Analysis
● Make changes – or Implementation :-)
● Monitoring
(and loop back around)
Analysis
● Look for e.g.
● CPU-intensive steps
● Database-I/O intensive steps
● Prefer other tune-ups
● Be clear whether other tune-ups get you there
– Some may effectively do cloning for you
● Take a forward-looking view
– Lead time
– Keep list of potential jobs to clone later on
● Assess whether “code surgery” will be required
Making Changes
● Splitting the transaction file
● Changing the program to expect a subset of the
data
● Merging the results
● Refactoring JCL
● Changing the Schedule
● Reducing data contention
Monitoring
● Monitoring isn't terribly different from any other batch
monitoring.
● Usual tools, including:
● Scheduler-based monitoring tools - for how the clones are
progressing against the planned schedule.
● SMF - for timings, etc.
● Logs
● Need to demonstrate still functions correctly
● Work on “finding the sweet spot”:
● e.g. Is 2 the best, 4 or 8?*
● Work on “balance”
– * Note bias to “power of two”
Case Study
Case Study
● Our application
● Not meant to be identical to yours
● Scales nicely through iterations
● Process important
● Stepwise progress
● Use e.g. DB2 Accounting Trace to guide
● In the following:
● 0-Up is the original unmodified program
● 1-Up is prepared for 2-Up etc and has
– Reporting removed & replaced by writing a report data file
● Report writing and “fan out” and “fan in” minimal elapsed / CPU
● 2 Key metrics:
● Total CPU cost
● Longest Leg Elapsed Time
Don't Commit: Won't Go Beyond 1-Up
45% DB2 CPU, 45% Non-DB2 CPU
0 -Up 1 -Up
0.00
5.00
10.00
15.00
20.00
25.00
30.00
35.00
Total CPU Max Elapsed
Minutes
Commit Every Update: Scales Nicely Up To 8-Up
50% DB2 CPU, 50% Non-DB2 CPU
0 -Up 1 -Up 2 -Up 4 -Up 8 -Up 16-Up 32-Up
0.00
5.00
10.00
15.00
20.00
25.00
30.00
35.00
Total CPU Max Elapsed
Minutes
8 Balanced Partitions: 50% Elapsed / CPU Reduction Up To 32-Up
Up to 16-Up almost all time is Non-DB2 CPU, 32 is 50% “Queue”
16 and 32 partitions made no difference
0 -Up 1 -Up 2 -Up 4 -Up 8 -Up 16 -Up 32 -Up
0.00
5.00
10.00
15.00
20.00
25.00
30.00
35.00
Total CPU Max Elapsed
Minutes
Case Study Lessons
● Applications mustn't break when you try to clone
● “Sweet spot” in our case is around 8-up
● Might still drive further if CPU increase acceptable
● Elapsed time got better at 16-up
● Data Management work can help
● Partitioning very nice in our case
● Environmental conditions matter
● In our case CPU contention limited scalability
● DB2 Accounting Trace guided us:
● Explained why preloading data into DB2 buffer pools did nothing

Más contenido relacionado

La actualidad más candente

Memory Matters in 2011
Memory Matters in 2011Memory Matters in 2011
Memory Matters in 2011
Martin Packer
 
A First Look at the DB2 10 DSNZPARM Changes
A First Look at the DB2 10 DSNZPARM ChangesA First Look at the DB2 10 DSNZPARM Changes
A First Look at the DB2 10 DSNZPARM Changes
Willie Favero
 

La actualidad más candente (20)

Memory Matters in 2011
Memory Matters in 2011Memory Matters in 2011
Memory Matters in 2011
 
Time For D.I.M.E?
Time For D.I.M.E?Time For D.I.M.E?
Time For D.I.M.E?
 
Even More Fun With DDF
Even More Fun With DDFEven More Fun With DDF
Even More Fun With DDF
 
Munich 2016 - Z011599 Martin Packer - More Fun With DDF
Munich 2016 - Z011599 Martin Packer - More Fun With DDFMunich 2016 - Z011599 Martin Packer - More Fun With DDF
Munich 2016 - Z011599 Martin Packer - More Fun With DDF
 
Life And Times Of An Address Space
Life And Times Of An Address SpaceLife And Times Of An Address Space
Life And Times Of An Address Space
 
Much Ado About CPU
Much Ado About CPUMuch Ado About CPU
Much Ado About CPU
 
Educational seminar lessons learned from customer db2 for z os health check...
Educational seminar   lessons learned from customer db2 for z os health check...Educational seminar   lessons learned from customer db2 for z os health check...
Educational seminar lessons learned from customer db2 for z os health check...
 
DB2 for z/OS and DASD-based Disaster Recovery - Blowing away the myths
DB2 for z/OS and DASD-based Disaster Recovery - Blowing away the mythsDB2 for z/OS and DASD-based Disaster Recovery - Blowing away the myths
DB2 for z/OS and DASD-based Disaster Recovery - Blowing away the myths
 
Top 5 performance and capacity challenges for z/OS
Top 5 performance and capacity challenges for z/OS Top 5 performance and capacity challenges for z/OS
Top 5 performance and capacity challenges for z/OS
 
Db2 for z/OS and FlashCopy - Practical use cases (June 2019 Edition)
Db2 for z/OS and FlashCopy - Practical use cases (June 2019 Edition)Db2 for z/OS and FlashCopy - Practical use cases (June 2019 Edition)
Db2 for z/OS and FlashCopy - Practical use cases (June 2019 Edition)
 
FlashCopy and DB2 for z/OS
FlashCopy and DB2 for z/OSFlashCopy and DB2 for z/OS
FlashCopy and DB2 for z/OS
 
DB2 Through My Eyes
DB2 Through My EyesDB2 Through My Eyes
DB2 Through My Eyes
 
DB2 for z/OS - Starter's guide to memory monitoring and control
DB2 for z/OS - Starter's guide to memory monitoring and controlDB2 for z/OS - Starter's guide to memory monitoring and control
DB2 for z/OS - Starter's guide to memory monitoring and control
 
Best practices for DB2 for z/OS log based recovery
Best practices for DB2 for z/OS log based recoveryBest practices for DB2 for z/OS log based recovery
Best practices for DB2 for z/OS log based recovery
 
IBM zAware
IBM zAwareIBM zAware
IBM zAware
 
A Time Traveller’s Guide to DB2: Technology Themes for 2014 and Beyond
A Time Traveller’s Guide to DB2: Technology Themes for 2014 and BeyondA Time Traveller’s Guide to DB2: Technology Themes for 2014 and Beyond
A Time Traveller’s Guide to DB2: Technology Themes for 2014 and Beyond
 
A First Look at the DB2 10 DSNZPARM Changes
A First Look at the DB2 10 DSNZPARM ChangesA First Look at the DB2 10 DSNZPARM Changes
A First Look at the DB2 10 DSNZPARM Changes
 
DB2 Design for High Availability and Scalability
DB2 Design for High Availability and ScalabilityDB2 Design for High Availability and Scalability
DB2 Design for High Availability and Scalability
 
Capacity Management for system z license charge reporting
Capacity Management for system z  license charge reportingCapacity Management for system z  license charge reporting
Capacity Management for system z license charge reporting
 
IBM DB2 Analytics Accelerator Trends & Directions by Namik Hrle
IBM DB2 Analytics Accelerator  Trends & Directions by Namik Hrle IBM DB2 Analytics Accelerator  Trends & Directions by Namik Hrle
IBM DB2 Analytics Accelerator Trends & Directions by Namik Hrle
 

Similar a Parallel Batch Performance Considerations

Collaborate 2011-tuning-ebusiness-416502
Collaborate 2011-tuning-ebusiness-416502Collaborate 2011-tuning-ebusiness-416502
Collaborate 2011-tuning-ebusiness-416502
kaziul Islam Bulbul
 
Effective cplusplus
Effective cplusplusEffective cplusplus
Effective cplusplus
Mark Veltzer
 

Similar a Parallel Batch Performance Considerations (20)

[DSC Europe 23] Matteo Molteni - Implementing a Robust CI Workflow with dbt f...
[DSC Europe 23] Matteo Molteni - Implementing a Robust CI Workflow with dbt f...[DSC Europe 23] Matteo Molteni - Implementing a Robust CI Workflow with dbt f...
[DSC Europe 23] Matteo Molteni - Implementing a Robust CI Workflow with dbt f...
 
Sql server tips from the field
Sql server tips from the fieldSql server tips from the field
Sql server tips from the field
 
Spring batch overivew
Spring batch overivewSpring batch overivew
Spring batch overivew
 
Parallel Processing in TM1 - QueBIT Consulting
Parallel Processing in TM1 - QueBIT ConsultingParallel Processing in TM1 - QueBIT Consulting
Parallel Processing in TM1 - QueBIT Consulting
 
Bootstrapping a ML platform at Bluevine [Airflow Summit 2020]
Bootstrapping a ML platform at Bluevine [Airflow Summit 2020]Bootstrapping a ML platform at Bluevine [Airflow Summit 2020]
Bootstrapping a ML platform at Bluevine [Airflow Summit 2020]
 
Scaling Monitoring At Databricks From Prometheus to M3
Scaling Monitoring At Databricks From Prometheus to M3Scaling Monitoring At Databricks From Prometheus to M3
Scaling Monitoring At Databricks From Prometheus to M3
 
ITB2015 - Monitoring and Tracking Your Web Applications
ITB2015 - Monitoring and Tracking Your Web ApplicationsITB2015 - Monitoring and Tracking Your Web Applications
ITB2015 - Monitoring and Tracking Your Web Applications
 
Application performance management - FusionReactor Presentation 'Into The Bo...
Application performance management - FusionReactor Presentation  'Into The Bo...Application performance management - FusionReactor Presentation  'Into The Bo...
Application performance management - FusionReactor Presentation 'Into The Bo...
 
Application performance management - FusionReactor Presentation 'Into The Bo...
Application performance management - FusionReactor Presentation  'Into The Bo...Application performance management - FusionReactor Presentation  'Into The Bo...
Application performance management - FusionReactor Presentation 'Into The Bo...
 
Drools & jBPM Workshop Barcelona 2013
Drools & jBPM Workshop  Barcelona 2013Drools & jBPM Workshop  Barcelona 2013
Drools & jBPM Workshop Barcelona 2013
 
BAXTER phase 1b
BAXTER phase 1bBAXTER phase 1b
BAXTER phase 1b
 
Db2 10 Webcast #2 Justifying The Upgrade
Db2 10 Webcast #2   Justifying The UpgradeDb2 10 Webcast #2   Justifying The Upgrade
Db2 10 Webcast #2 Justifying The Upgrade
 
DB2 10 Webcast #2 - Justifying The Upgrade
DB2 10 Webcast #2  - Justifying The UpgradeDB2 10 Webcast #2  - Justifying The Upgrade
DB2 10 Webcast #2 - Justifying The Upgrade
 
(ATS3-PLAT08) Optimizing Protocol Performance
(ATS3-PLAT08) Optimizing Protocol Performance(ATS3-PLAT08) Optimizing Protocol Performance
(ATS3-PLAT08) Optimizing Protocol Performance
 
Optimizing Linux Servers
Optimizing Linux ServersOptimizing Linux Servers
Optimizing Linux Servers
 
Collaborate 2011-tuning-ebusiness-416502
Collaborate 2011-tuning-ebusiness-416502Collaborate 2011-tuning-ebusiness-416502
Collaborate 2011-tuning-ebusiness-416502
 
SUTOL 2015 - A Performance Boost for your IBM Notes Client
SUTOL 2015 - A Performance Boost for your IBM Notes ClientSUTOL 2015 - A Performance Boost for your IBM Notes Client
SUTOL 2015 - A Performance Boost for your IBM Notes Client
 
Performant Django - Ara Anjargolian
Performant Django - Ara AnjargolianPerformant Django - Ara Anjargolian
Performant Django - Ara Anjargolian
 
IBM Analytics Accelerator Trends & Directions Namk Hrle
IBM Analytics Accelerator  Trends & Directions Namk Hrle IBM Analytics Accelerator  Trends & Directions Namk Hrle
IBM Analytics Accelerator Trends & Directions Namk Hrle
 
Effective cplusplus
Effective cplusplusEffective cplusplus
Effective cplusplus
 

Más de Martin Packer

DB2 Data Sharing Performance for Beginners
DB2 Data Sharing Performance for BeginnersDB2 Data Sharing Performance for Beginners
DB2 Data Sharing Performance for Beginners
Martin Packer
 

Más de Martin Packer (9)

Munich 2016 - Z011597 Martin Packer - How To Be A Better Performance Specialist
Munich 2016 - Z011597 Martin Packer - How To Be A Better Performance SpecialistMunich 2016 - Z011597 Martin Packer - How To Be A Better Performance Specialist
Munich 2016 - Z011597 Martin Packer - How To Be A Better Performance Specialist
 
Time For DIME
Time For DIMETime For DIME
Time For DIME
 
DB2 Data Sharing Performance
DB2 Data Sharing PerformanceDB2 Data Sharing Performance
DB2 Data Sharing Performance
 
I Know What You Did Last Summer
I Know What You Did Last SummerI Know What You Did Last Summer
I Know What You Did Last Summer
 
Optimizing z/OS Batch
Optimizing z/OS BatchOptimizing z/OS Batch
Optimizing z/OS Batch
 
Much Ado About CPU
Much Ado About CPUMuch Ado About CPU
Much Ado About CPU
 
DB2 Data Sharing Performance for Beginners
DB2 Data Sharing Performance for BeginnersDB2 Data Sharing Performance for Beginners
DB2 Data Sharing Performance for Beginners
 
Curt Cotner DDF Inactive Threads Support DB2 Version 3
Curt Cotner DDF Inactive Threads Support DB2 Version 3Curt Cotner DDF Inactive Threads Support DB2 Version 3
Curt Cotner DDF Inactive Threads Support DB2 Version 3
 
Coupling Facility CPU
Coupling Facility CPUCoupling Facility CPU
Coupling Facility CPU
 

Último

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Último (20)

TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 

Parallel Batch Performance Considerations

  • 1. © 2009 IBM Corporation Session IK: Parallel Batch Performance Considerations Martin Packer, IBM martin_packer@uk.ibm.com
  • 2. Abstract With the laws of physics providing a nice brick wall that chip builders are heading towards for processor clock speed, we are heading into the territory where simply buying a new machine won't necessarily make your batch go faster. So if you can't go short, go wide! This session looks at some of the performance issues and techniques of splitting your batch jobs into parallel streams to do more at once.
  • 4. Increased Window Challenge ● Workloads growing in an accelerated fashion: ● Business success ● Mergers and acquisitions – Standardisation of processes and applications ● More processing – Regulation – Analytics – “Just because” ● Shortened Window ● Challenge will outstrip “single actor” speed-up ● For SOME installations and applications – CPU – Disk – Tape – Etc ● Important to assess where on the (possibly) bell-shaped curve you are
  • 5.
  • 6. This is still 10 – 15 Years away Maybe more Maybe never
  • 7. © 2012 IBM Corporation IBM System z zEC12TLLB7zEC12TLLB7 zEC12 – Overall Attributes Highlights (compared to z196) • 50% more cores in a CP chip – Up to 5.7% faster core running frequency – Up to 25% capacity improvement over z196 uni-processor • Bigger caches and shorter latency – Total L2 per core is 33% bigger – Total on-chip shared L3 is 100% bigger – Unique private L2 designed to reduce L1 miss latency by up to 45% • 3rd Generation High Frequency, 2nd Generation Out of Order Design – Numerous pipeline improvements based on z10 and z196 designs – # of instructions in flight is increased by 25% • New 2nd level Branch Prediction Table for enterprise scale program footprint – 3.5x more branches • Dedicated Co-processor per core with improved performance and additional capability – New hardware support for Unicode UTF8<>UTF16 bulk conversions • Multiple innovative architectural extensions for software exploitation
  • 8. Other Motivations ● Take advantage of capacity overnight ● Proactively move work out of the peak ● Resilience ● Consider what happens when some part of the batch fails ● Note: This presentation doesn't deal with the case of concurrent batch ● Some challenges are different ● Some are the same – You just have 24 hours to get stuff done, not e.g. 8
  • 10. Issues ● Main issue is to break “main loop” down into e.g. 8 copies acting on a subset of the data ● Assuming the program in question has this pattern * ● Not the only issue but necessary to drive cloning ● With this pattern dividing the Master File is the key thing … * This is a simplification of the more general “the whole stream needs cloning” case
  • 11.
  • 12. More Issues ● Reworking the “results” ● Probably some kind of merge process ● Handling inter-clone issues ● Locking ● I/O Bottlenecks ● Provisioning resource ● Concurrent use of memory and CPU greatly increased ● Scheduling and choreography ● Streams in lockstep or not ● Recovery boundaries ● Automation of cloning in the schedule
  • 13. A Note On Reworking ● Consider the “merge at the end” portion: ● Probably valuable to separate data merge from “presentation” – “Presentation” here means e.g. reports, persistent output ● Consider an “architected” intermediate file – XML or JSON or whatever ● Use the architected intermediate file for other purposes – e.g PDF format reporting – Alongside original purpose
  • 15. Implementation ● Implementation consists of three obvious steps: ● Analysis ● Make changes – or Implementation :-) ● Monitoring (and loop back around)
  • 16. Analysis ● Look for e.g. ● CPU-intensive steps ● Database-I/O intensive steps ● Prefer other tune-ups ● Be clear whether other tune-ups get you there – Some may effectively do cloning for you ● Take a forward-looking view – Lead time – Keep list of potential jobs to clone later on ● Assess whether “code surgery” will be required
  • 17. Making Changes ● Splitting the transaction file ● Changing the program to expect a subset of the data ● Merging the results ● Refactoring JCL ● Changing the Schedule ● Reducing data contention
  • 18. Monitoring ● Monitoring isn't terribly different from any other batch monitoring. ● Usual tools, including: ● Scheduler-based monitoring tools - for how the clones are progressing against the planned schedule. ● SMF - for timings, etc. ● Logs ● Need to demonstrate still functions correctly ● Work on “finding the sweet spot”: ● e.g. Is 2 the best, 4 or 8?* ● Work on “balance” – * Note bias to “power of two”
  • 20. Case Study ● Our application ● Not meant to be identical to yours ● Scales nicely through iterations ● Process important ● Stepwise progress ● Use e.g. DB2 Accounting Trace to guide ● In the following: ● 0-Up is the original unmodified program ● 1-Up is prepared for 2-Up etc and has – Reporting removed & replaced by writing a report data file ● Report writing and “fan out” and “fan in” minimal elapsed / CPU ● 2 Key metrics: ● Total CPU cost ● Longest Leg Elapsed Time
  • 21. Don't Commit: Won't Go Beyond 1-Up 45% DB2 CPU, 45% Non-DB2 CPU 0 -Up 1 -Up 0.00 5.00 10.00 15.00 20.00 25.00 30.00 35.00 Total CPU Max Elapsed Minutes
  • 22. Commit Every Update: Scales Nicely Up To 8-Up 50% DB2 CPU, 50% Non-DB2 CPU 0 -Up 1 -Up 2 -Up 4 -Up 8 -Up 16-Up 32-Up 0.00 5.00 10.00 15.00 20.00 25.00 30.00 35.00 Total CPU Max Elapsed Minutes
  • 23. 8 Balanced Partitions: 50% Elapsed / CPU Reduction Up To 32-Up Up to 16-Up almost all time is Non-DB2 CPU, 32 is 50% “Queue” 16 and 32 partitions made no difference 0 -Up 1 -Up 2 -Up 4 -Up 8 -Up 16 -Up 32 -Up 0.00 5.00 10.00 15.00 20.00 25.00 30.00 35.00 Total CPU Max Elapsed Minutes
  • 24. Case Study Lessons ● Applications mustn't break when you try to clone ● “Sweet spot” in our case is around 8-up ● Might still drive further if CPU increase acceptable ● Elapsed time got better at 16-up ● Data Management work can help ● Partitioning very nice in our case ● Environmental conditions matter ● In our case CPU contention limited scalability ● DB2 Accounting Trace guided us: ● Explained why preloading data into DB2 buffer pools did nothing