SlideShare uma empresa Scribd logo
1 de 26
Baixar para ler offline
Time For D.I.M.E?
Martin Packer, IBM
martin_packer@uk.ibm.com
Abstract
In recent years memory has become cheaper, or certainly more plentiful.
This enables us to do new things, or old things faster and better.
I believe it is indeed Time For DIME (Data In Memory Exploitation). But we've
been here before - in the late 1980's. Much has changed but the basic
concepts haven't. So this presentation reminds us of "the way we were" but
brings things right up to date. It covers why you'd want to run a DIME project
and how to go about it: It covers both the project phases and technical
aspects, preparing you to make a quick start on realising the benefits of
DIME.
While the main example presented here is DB2, the presentation also
discusses Coupling Facility memory exploitation, as well as a number of
other examples.
Agenda
● What is DIME?
● Benefits of DIME
● Storage Hierarchy – Then And Now
● DIME – Then And Now
● Is Now The Time For DIME?
● What Do YOU Mean By Full?
● Breaking Down Memory Usage
● Exploiting Data In Memory
What Is DIME?
● DIME = Data In Memory Exploitation
● Choices to use memory more aggressively
● Examples:
– Larger DB2 buffer pools
– Larger Java heaps
– Larger CICS Dynamic Storage Area limits
– Moving temporary data sets to VIO in memory
Benefits of DIME
● Keeping the right Data In Memory can:
– Reduce response times
– Support increased throughput
– Speed up batch jobs
● Secondarily it might:
– Take some of the strain off disks and cache
– Allow more parallelism
– Save CPU
● But it might easily cost you CPU
Storage Hierarchy – Then
● 64 – 256 MB Central
Storage
● Optional 128 – 512 MB
Expanded Storage
● MVPG Instruction
– Hiperbatch
– DB2 Hiperpools
– VSAM LSR Hiperspace
Buffer Pools
● (ADMF was later)
● VIO to Expanded Storage
● “Paging” to Expanded
Storage
● DIM projects abounded
● 3990 Disk Cache
● 3390 Disks
● 3480 Tape
Storage Hierarchy – Now (zEC12 /z13)
● zEC12:
– 32GB – 3TB Memory
● z13:
– 64GB – 10TB Memory
● Optional Flash Express 1.4 – 5.6TB
– Dump Capture
– Pageable Large Frames
– Paging in general
● Most of the previous memory
exploiters
– VIO recast to use Central
– DB2 V10 uses 64-Bit in most
places
– Hiperbatch obsolete
● IBM DS8870
– Cache
– Flash
– Disk
DIME - Then and Now
● THEN: “Marketing” Push to persuade
customers to upgrade to latest and greatest
– Proliferation of “Marketing Aids”
● NOW: Customer Pull to gain value
– No Marketing Aids
● But User F61 GTF trace still works
– Several > 1TB per machine customers in past year
Is Now The Time For DIME?
● The economics of exploiting memory have changed
– Machines come with much more memory
– Memory is much cheaper
● Products are capable of supporting much more DIM
Exploitation
– e.g. DB2 V10 and V11
– e.g. CICS TS 5.1
– e.g. 64-Bit JVM
– e.g. MQ 7.1 64-Bit buffer pools
● New configuration possibilities
– e.g Flash Express
– 1MB page frames
When Might DIME Be A Bad Idea?
● When there is no likely benefit
● When you haven't got the memory
● When you're determined to save CPU
● When CPU is already constrained
● When you haven't sufficient virtual storage
● When solving the problem through a quick
application change is better
– Example: DB2 SQL Access Path fix
What Do YOU Mean By Full?
● Not able to back all the dataspace memory for any dump
scenario?
●
Not many free pages at the peak? 1
● Paging > 0?
●
Paging > 100 / sec? 2
● Key workloads beginning to page?
● Unable to create new address spaces?
Notes:
1
Some programs can adjust usage based on available memory, so this is a tricky one
2
Alternatively, until page data set Contiguous Slot Allocation algorithm degrades
Breaking Down Memory Usage
Currently Active LPARs
● Paging Activity Report gives System view
– SMF 70 better than report
– Breaks down into queues
● e.g Private, CSA, Nucleus
– Shows Free
● Workload Activity Report gives Service Class
Period view
– SMF 72-3
– Accurate only for non-swappable workloads
● SMF 30 gives Address Space view
– Treat with suspicion
– Virtual Storage numbers more solid
● Size of other Active LPARs in Partition Data
Report
– SMF 70-1
Hypothecated – e.g. For Recovered LPARs
● Inactive LPARs' memory not reported in
Partition Data Report
– Or SMF 70-1
– Existence of LPAR is
● Use HMC
– Or your spreadsheet :-(
Unhypothecated – Free For Use
● Might need to deploy some into LPARs to
do Data In Memory
– Actually doing so requires planning
● Total Purchased not in RMF
● Obtainable from HMC
● In Vital Product Data
– IBMers have tooling for this
● Subtract all LPARs
– Active and Inactive
Exploiting Data In Memory
DB2
● Remember this?
DB2 ...
● That was Version 8
● Since then
– Version 9 provide much more Virtual Storage
Constraint Relief (VSCR)
– Versions 10 and 11 much more still
● It pays to examine DB2 Virtual Storage upon
migration
– Use IFCID 225
● (Also gives real memory numbers)
– In this case it's a happy story
DB2 - Some Things To Consider
● Accounting Trace (SMF 101) gives “DIM useful” time buckets
● EDM Pool / Prepared Statement Cache
– 64 Bit in Version 8
– More liberal definition of a match in V10
● More or larger threads
– Best done on V10
– RELEASE(DEALLOCATE) to cut CPU
● Buffer pools
– 64 Bit in Version 8
– Long-Term Page Fixed
– 1MB Pages
– Flash Express
– Bigger Group Buffer Pools
CICS - Some Things To Consider
● Considerable VSCR in Versions 4 and 5
– Both 24 → 31 and 31 → 64 Bit
– But not as comprehensive as DB2
● Fewer program compressions
– But generally not a problem these days
● Bigger VSAM LSR buffer pools
– Installations typically not aggressive enough with these
● Larger JVM heaps
● Potential region consolidation
– In turn might make above more effective
● Use Statistics Trace (SMF 110) to analyse Virtual Storage first
Coupling Facility
● Often see cache structures too small
– Usually data elements
– Occasionally directory entries
● Rarely see lock structures too small
– Would cause False Contentions
– Knock-on effect on XCF traffic in IXCLOnnn group
● Both diagnosable with Coupling Facility Activity
Report
– Or SMF 74-4
● Remember “white space”
– Less of a concern with duplexing
Some Choreography
● Timing is important
● Example: DB2
– The world looks very different DB2 V8 → V9 → V10
● Processor family upgrades are a good opportunity
– Be careful of “carry forward memory” timings
● Some application ramp-ups need help
– Have something “in your back pocket”
● Every hardware / software upgrade should have an
exploitation phase
– Possibly nominal
Parting Thoughts
Parting Thoughts
● When implementing a new application:
– Build a list of potential DIME areas
– Size memory accordingly
● When tuning an existing application:
– Likewise
● When capacity planning for memory:
– Consider a fresh stance on what “full” means
● Day to day:
– Be sure to measure memory usage properly

Mais conteúdo relacionado

Mais procurados

zIIP Capacity Planning
zIIP Capacity PlanningzIIP Capacity Planning
zIIP Capacity Planning
Martin Packer
 
Parallel Sysplex Performance Topics
Parallel Sysplex Performance TopicsParallel Sysplex Performance Topics
Parallel Sysplex Performance Topics
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
 

Mais procurados (20)

zIIP Capacity Planning
zIIP Capacity PlanningzIIP Capacity Planning
zIIP Capacity Planning
 
I Know What You Did THIS Summer
I Know What You Did THIS SummerI Know What You Did THIS Summer
I Know What You Did THIS Summer
 
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
 
Parallel Sysplex Performance Topics
Parallel Sysplex Performance TopicsParallel Sysplex Performance Topics
Parallel Sysplex Performance Topics
 
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...
 
Even More Fun With DDF
Even More Fun With DDFEven More Fun With DDF
Even More Fun With DDF
 
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
 
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
 
FlashCopy and DB2 for z/OS
FlashCopy and DB2 for z/OSFlashCopy and DB2 for z/OS
FlashCopy and DB2 for z/OS
 
Much Ado about CPU
Much Ado about CPUMuch Ado about CPU
Much Ado about CPU
 
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)
 
Using Release(deallocate) and Painful Lessons to be learned on DB2 locking
Using Release(deallocate) and Painful Lessons to be learned on DB2 lockingUsing Release(deallocate) and Painful Lessons to be learned on DB2 locking
Using Release(deallocate) and Painful Lessons to be learned on DB2 locking
 
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
 
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
 
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
 
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
 
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 for z/OS Real Storage Monitoring, Control and Planning
DB2 for z/OS Real Storage Monitoring, Control and PlanningDB2 for z/OS Real Storage Monitoring, Control and Planning
DB2 for z/OS Real Storage Monitoring, Control and Planning
 
ALL ABOUT DB2 DSNZPARM
ALL ABOUT DB2 DSNZPARMALL ABOUT DB2 DSNZPARM
ALL ABOUT DB2 DSNZPARM
 
DB2 Accounting Reporting
DB2  Accounting ReportingDB2  Accounting Reporting
DB2 Accounting Reporting
 

Semelhante a Time For D.I.M.E?

Db2 10 memory management uk db2 user group june 2013 [read-only]
Db2 10 memory management   uk db2 user group june 2013 [read-only]Db2 10 memory management   uk db2 user group june 2013 [read-only]
Db2 10 memory management uk db2 user group june 2013 [read-only]
Laura Hood
 
Handling Massive Writes
Handling Massive WritesHandling Massive Writes
Handling Massive Writes
Liran Zelkha
 
Db2 10 memory management uk db2 user group june 2013
Db2 10 memory management   uk db2 user group june 2013Db2 10 memory management   uk db2 user group june 2013
Db2 10 memory management uk db2 user group june 2013
Carol Davis-Mann
 
Apache Spark At Scale in the Cloud
Apache Spark At Scale in the CloudApache Spark At Scale in the Cloud
Apache Spark At Scale in the Cloud
Databricks
 

Semelhante a Time For D.I.M.E? (20)

Time For DIME
Time For DIMETime For DIME
Time For DIME
 
Sql server tips from the field
Sql server tips from the fieldSql server tips from the field
Sql server tips from the field
 
Linux Huge Pages
Linux Huge PagesLinux Huge Pages
Linux Huge Pages
 
Redis Developers Day 2014 - Redis Labs Talks
Redis Developers Day 2014 - Redis Labs TalksRedis Developers Day 2014 - Redis Labs Talks
Redis Developers Day 2014 - Redis Labs Talks
 
Taking Splunk to the Next Level - Architecture Breakout Session
Taking Splunk to the Next Level - Architecture Breakout SessionTaking Splunk to the Next Level - Architecture Breakout Session
Taking Splunk to the Next Level - Architecture Breakout Session
 
Db2 10 memory management uk db2 user group june 2013 [read-only]
Db2 10 memory management   uk db2 user group june 2013 [read-only]Db2 10 memory management   uk db2 user group june 2013 [read-only]
Db2 10 memory management uk db2 user group june 2013 [read-only]
 
SanDisk: Persistent Memory and Cassandra
SanDisk: Persistent Memory and CassandraSanDisk: Persistent Memory and Cassandra
SanDisk: Persistent Memory and Cassandra
 
Handling Massive Writes
Handling Massive WritesHandling Massive Writes
Handling Massive Writes
 
Db2 10 memory management uk db2 user group june 2013
Db2 10 memory management   uk db2 user group june 2013Db2 10 memory management   uk db2 user group june 2013
Db2 10 memory management uk db2 user group june 2013
 
Tuning DB2 in a Solaris Environment
Tuning DB2 in a Solaris EnvironmentTuning DB2 in a Solaris Environment
Tuning DB2 in a Solaris Environment
 
Linux Memory Basics for SysAdmins - ChinaNetCloud Training
Linux Memory Basics for SysAdmins - ChinaNetCloud TrainingLinux Memory Basics for SysAdmins - ChinaNetCloud Training
Linux Memory Basics for SysAdmins - ChinaNetCloud Training
 
DbB 10 Webcast #3 The Secrets Of Scalability
DbB 10 Webcast #3   The Secrets Of ScalabilityDbB 10 Webcast #3   The Secrets Of Scalability
DbB 10 Webcast #3 The Secrets Of Scalability
 
The All-In-One Package for Massively Multicore, Heterogeneous Jobs with Hotsp...
The All-In-One Package for Massively Multicore, Heterogeneous Jobs with Hotsp...The All-In-One Package for Massively Multicore, Heterogeneous Jobs with Hotsp...
The All-In-One Package for Massively Multicore, Heterogeneous Jobs with Hotsp...
 
Make Oracle scream with Flash Storage - Kaminario
Make Oracle scream with Flash Storage - KaminarioMake Oracle scream with Flash Storage - Kaminario
Make Oracle scream with Flash Storage - Kaminario
 
DB2 10 & 11 for z/OS System Performance Monitoring and Optimisation
DB2 10 & 11 for z/OS System Performance Monitoring and OptimisationDB2 10 & 11 for z/OS System Performance Monitoring and Optimisation
DB2 10 & 11 for z/OS System Performance Monitoring and Optimisation
 
Presentation db2 best practices for optimal performance
Presentation   db2 best practices for optimal performancePresentation   db2 best practices for optimal performance
Presentation db2 best practices for optimal performance
 
Are your ready for in memory applications?
Are your ready for in memory applications?Are your ready for in memory applications?
Are your ready for in memory applications?
 
Hardware Provisioning
Hardware ProvisioningHardware Provisioning
Hardware Provisioning
 
Big data nyu
Big data nyuBig data nyu
Big data nyu
 
Apache Spark At Scale in the Cloud
Apache Spark At Scale in the CloudApache Spark At Scale in the Cloud
Apache Spark At Scale in the Cloud
 

Mais 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
 
Memory Matters in 2011
Memory Matters in 2011Memory Matters in 2011
Memory Matters in 2011
Martin Packer
 

Mais de Martin Packer (9)

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
 
Memory Matters in 2011
Memory Matters in 2011Memory Matters in 2011
Memory Matters in 2011
 
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
 
Much Ado About CPU
Much Ado About CPUMuch Ado About CPU
Much Ado About CPU
 

Último

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
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)

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
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
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
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
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
 
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
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 

Time For D.I.M.E?

  • 1. Time For D.I.M.E? Martin Packer, IBM martin_packer@uk.ibm.com
  • 2. Abstract In recent years memory has become cheaper, or certainly more plentiful. This enables us to do new things, or old things faster and better. I believe it is indeed Time For DIME (Data In Memory Exploitation). But we've been here before - in the late 1980's. Much has changed but the basic concepts haven't. So this presentation reminds us of "the way we were" but brings things right up to date. It covers why you'd want to run a DIME project and how to go about it: It covers both the project phases and technical aspects, preparing you to make a quick start on realising the benefits of DIME. While the main example presented here is DB2, the presentation also discusses Coupling Facility memory exploitation, as well as a number of other examples.
  • 3. Agenda ● What is DIME? ● Benefits of DIME ● Storage Hierarchy – Then And Now ● DIME – Then And Now ● Is Now The Time For DIME? ● What Do YOU Mean By Full? ● Breaking Down Memory Usage ● Exploiting Data In Memory
  • 4. What Is DIME? ● DIME = Data In Memory Exploitation ● Choices to use memory more aggressively ● Examples: – Larger DB2 buffer pools – Larger Java heaps – Larger CICS Dynamic Storage Area limits – Moving temporary data sets to VIO in memory
  • 5. Benefits of DIME ● Keeping the right Data In Memory can: – Reduce response times – Support increased throughput – Speed up batch jobs ● Secondarily it might: – Take some of the strain off disks and cache – Allow more parallelism – Save CPU ● But it might easily cost you CPU
  • 6. Storage Hierarchy – Then ● 64 – 256 MB Central Storage ● Optional 128 – 512 MB Expanded Storage ● MVPG Instruction – Hiperbatch – DB2 Hiperpools – VSAM LSR Hiperspace Buffer Pools ● (ADMF was later) ● VIO to Expanded Storage ● “Paging” to Expanded Storage ● DIM projects abounded ● 3990 Disk Cache ● 3390 Disks ● 3480 Tape
  • 7. Storage Hierarchy – Now (zEC12 /z13) ● zEC12: – 32GB – 3TB Memory ● z13: – 64GB – 10TB Memory ● Optional Flash Express 1.4 – 5.6TB – Dump Capture – Pageable Large Frames – Paging in general ● Most of the previous memory exploiters – VIO recast to use Central – DB2 V10 uses 64-Bit in most places – Hiperbatch obsolete ● IBM DS8870 – Cache – Flash – Disk
  • 8. DIME - Then and Now ● THEN: “Marketing” Push to persuade customers to upgrade to latest and greatest – Proliferation of “Marketing Aids” ● NOW: Customer Pull to gain value – No Marketing Aids ● But User F61 GTF trace still works – Several > 1TB per machine customers in past year
  • 9. Is Now The Time For DIME? ● The economics of exploiting memory have changed – Machines come with much more memory – Memory is much cheaper ● Products are capable of supporting much more DIM Exploitation – e.g. DB2 V10 and V11 – e.g. CICS TS 5.1 – e.g. 64-Bit JVM – e.g. MQ 7.1 64-Bit buffer pools ● New configuration possibilities – e.g Flash Express – 1MB page frames
  • 10. When Might DIME Be A Bad Idea? ● When there is no likely benefit ● When you haven't got the memory ● When you're determined to save CPU ● When CPU is already constrained ● When you haven't sufficient virtual storage ● When solving the problem through a quick application change is better – Example: DB2 SQL Access Path fix
  • 11. What Do YOU Mean By Full? ● Not able to back all the dataspace memory for any dump scenario? ● Not many free pages at the peak? 1 ● Paging > 0? ● Paging > 100 / sec? 2 ● Key workloads beginning to page? ● Unable to create new address spaces? Notes: 1 Some programs can adjust usage based on available memory, so this is a tricky one 2 Alternatively, until page data set Contiguous Slot Allocation algorithm degrades
  • 13.
  • 14. Currently Active LPARs ● Paging Activity Report gives System view – SMF 70 better than report – Breaks down into queues ● e.g Private, CSA, Nucleus – Shows Free ● Workload Activity Report gives Service Class Period view – SMF 72-3 – Accurate only for non-swappable workloads ● SMF 30 gives Address Space view – Treat with suspicion – Virtual Storage numbers more solid ● Size of other Active LPARs in Partition Data Report – SMF 70-1
  • 15. Hypothecated – e.g. For Recovered LPARs ● Inactive LPARs' memory not reported in Partition Data Report – Or SMF 70-1 – Existence of LPAR is ● Use HMC – Or your spreadsheet :-(
  • 16. Unhypothecated – Free For Use ● Might need to deploy some into LPARs to do Data In Memory – Actually doing so requires planning ● Total Purchased not in RMF ● Obtainable from HMC ● In Vital Product Data – IBMers have tooling for this ● Subtract all LPARs – Active and Inactive
  • 18.
  • 20. DB2 ... ● That was Version 8 ● Since then – Version 9 provide much more Virtual Storage Constraint Relief (VSCR) – Versions 10 and 11 much more still ● It pays to examine DB2 Virtual Storage upon migration – Use IFCID 225 ● (Also gives real memory numbers) – In this case it's a happy story
  • 21. DB2 - Some Things To Consider ● Accounting Trace (SMF 101) gives “DIM useful” time buckets ● EDM Pool / Prepared Statement Cache – 64 Bit in Version 8 – More liberal definition of a match in V10 ● More or larger threads – Best done on V10 – RELEASE(DEALLOCATE) to cut CPU ● Buffer pools – 64 Bit in Version 8 – Long-Term Page Fixed – 1MB Pages – Flash Express – Bigger Group Buffer Pools
  • 22. CICS - Some Things To Consider ● Considerable VSCR in Versions 4 and 5 – Both 24 → 31 and 31 → 64 Bit – But not as comprehensive as DB2 ● Fewer program compressions – But generally not a problem these days ● Bigger VSAM LSR buffer pools – Installations typically not aggressive enough with these ● Larger JVM heaps ● Potential region consolidation – In turn might make above more effective ● Use Statistics Trace (SMF 110) to analyse Virtual Storage first
  • 23. Coupling Facility ● Often see cache structures too small – Usually data elements – Occasionally directory entries ● Rarely see lock structures too small – Would cause False Contentions – Knock-on effect on XCF traffic in IXCLOnnn group ● Both diagnosable with Coupling Facility Activity Report – Or SMF 74-4 ● Remember “white space” – Less of a concern with duplexing
  • 24. Some Choreography ● Timing is important ● Example: DB2 – The world looks very different DB2 V8 → V9 → V10 ● Processor family upgrades are a good opportunity – Be careful of “carry forward memory” timings ● Some application ramp-ups need help – Have something “in your back pocket” ● Every hardware / software upgrade should have an exploitation phase – Possibly nominal
  • 26. Parting Thoughts ● When implementing a new application: – Build a list of potential DIME areas – Size memory accordingly ● When tuning an existing application: – Likewise ● When capacity planning for memory: – Consider a fresh stance on what “full” means ● Day to day: – Be sure to measure memory usage properly