time for d.i.m.e?

26
Time For D.I.M.E? Martin Packer, IBM [email protected]

Upload: martin-packer

Post on 25-Jul-2015

132 views

Category:

Technology


0 download

TRANSCRIPT

Time For D.I.M.E?

Martin Packer, IBM

[email protected]

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