Memory System Behavior of Java-Based Middleware Martin Karlsson, - - PowerPoint PPT Presentation

memory system behavior of java based middleware
SMART_READER_LITE
LIVE PREVIEW

Memory System Behavior of Java-Based Middleware Martin Karlsson, - - PowerPoint PPT Presentation

Memory System Behavior of Java-Based Middleware Martin Karlsson, Kevin E. Moore, Erik Hagersten and David A. Wood February 11, 2003 Ninth International Symposium on High Performance Computer Architecture Java-Based Middleware: An Important New


slide-1
SLIDE 1

February 11, 2003 Ninth International Symposium on High Performance Computer Architecture

Memory System Behavior of Java-Based Middleware

Martin Karlsson, Kevin E. Moore, Erik Hagersten and David A. Wood

slide-2
SLIDE 2

Memory System Performance of Java-Based Middleware 2 HPCA February 11, 2003

Java-Based Middleware: An Important New

Workload for Multiprocessor Servers

  • Java-Based middleware

connects Web pages to databases

  • Web-based applications are

deployed in 3-tier systems

– Clients – Middleware (e.g. application servers) – Databases

  • Rapid growth
  • Diverse clients will increase

the role of middleware

Web Server Business Logic

Browsers/ Thin Clients

Middleware

Databases

LAN/WAN

slide-3
SLIDE 3

Memory System Performance of Java-Based Middleware 3 HPCA February 11, 2003

Java Middleware Benchmarks

  • SPECjbb2000

– Approximates a 3-tier system in a single application – Will run on any JVM without any 3rd-party software – Easy to install, tune and run (set up time measured in hours)

  • ECperf (now SPECjAppServer2001)

– Runs on a real 3-tier system – Easy to isolate the behavior of individual tiers – Requires expensive 3rd-party software (application server and database) – Difficult to install, tune and run (set up time measured in weeks)

slide-4
SLIDE 4

Memory System Performance of Java-Based Middleware 4 HPCA February 11, 2003

Outline

  • Background

– 3-Tiered Systems – ECperf and SPECjbb2000

  • Hardware monitoring experiments

– System size scaling – Benchmark scaling

  • Simulation Experiments

– Cache Performance

  • Design decisions

– Shared Caches

slide-5
SLIDE 5

Memory System Performance of Java-Based Middleware 5 HPCA February 11, 2003

Application Servers & 3-Tiered Systems

Users/Customers (e-commerce)

  • 3-tiered systems are

common in e-commerce and B2B applications

  • Application servers provide a

framework for middle-tier applications

– Presentation – Business Rules

  • Services include

– Database connectivity – Client connectivity – Resource management

  • Application servers often

implemented in Java

Business Rules

Application Server

Presentation Logic

Tier 1 Tier 2

Other Businesses (B2B)

Database

Tier 3

slide-6
SLIDE 6

Memory System Performance of Java-Based Middleware 6 HPCA February 11, 2003

ECperf

Driver

Order Agents Mfg Agents

Supplier Emulator

Emulator Servlet Corp Orders Mfg Supplier

EJB Container

Application Server

Servlet Host

Supplier Servlets Orders & Mfg Servlets

  • Runs on top of existing

commercial applications (Database and Application Server)

– Adds Cost, tuning effort – Restricted source code

  • Consists of 4 networked

programs

– Application Server – Database – Supplier Emulator – Driver

  • Runs on multiple machines

– Easy to isolate tiers

Presentation Logic Java Beans Business Rules

Database

slide-7
SLIDE 7

Memory System Performance of Java-Based Middleware 7 HPCA February 11, 2003

ECperf

Driver

Order Agents Mfg Agents

Supplier Emulator

Emulator Servlet Corp Orders Mfg Supplier

EJB Container

Application Server

Servlet Host

Supplier Servlets Orders & Mfg Servlets

  • Runs on top of existing

commercial applications (Database and Application Server)

– Adds Cost, tuning effort – Restricted source code

  • Consists of 4 networked

programs

– Application Server – Database – Supplier Emulator – Driver

  • Runs on multiple machines

– Easy to isolate tiers

M

  • n middle

easurements tier

  • nly

Database

slide-8
SLIDE 8

Memory System Performance of Java-Based Middleware 8 HPCA February 11, 2003

SPECjbb2000

  • Single JVM
  • Database emulated by

trees of Java objects

  • Easy to install tune and

run

  • Available source code
  • Difficult to measure

behavior of individual tiers

Benchmark Process

Business Logic Engine Client Threads Object Trees

slide-9
SLIDE 9

Memory System Performance of Java-Based Middleware 9 HPCA February 11, 2003

SPECjbb2000

  • Single JVM
  • Database emulated by

trees of Java objects

  • Easy to install tune and

run

  • Available source code
  • Difficult to measure

behavior of individual tiers

Benchmark Process

Business Logic Engine Client Threads Object Trees

Measurements include data- base and client code

slide-10
SLIDE 10

Memory System Performance of Java-Based Middleware 10 HPCA February 11, 2003

Outline

  • Background

– 3-Tiered Systems – ECperf and SPECjbb2000

  • Hardware monitoring experiments

– System size scaling – Benchmark scaling

  • Simulation Experiments

– Cache Performance

  • Design decisions

– Shared Caches

slide-11
SLIDE 11

Memory System Performance of Java-Based Middleware 11 HPCA February 11, 2003

Monitoring Experiments

  • Hardware

– Sun E6000 (SPECjbb2000, Application Server, Database)

  • 16, 248 MHz UltraSparc II processors
  • 2 GB RAM
  • 1 MB unified L2 cache

– Sun Netra (Emulator, Driver)

  • 1, 500 MHz UltraSparc IIe
  • Software

– HotSpot 1.3.1 JVM – Solaris 8

slide-12
SLIDE 12

Memory System Performance of Java-Based Middleware 12 HPCA February 11, 2003

Benchmark Settings and Alterations

  • SPECjbb2000

– Increased warm-up and measurement intervals

  • 60 s warm-up and 6 min measurement

– Picked 1 value for the number of warehouses

  • #warehouses = #processors
  • ECperf

– Relaxed response time requirements

  • JVM Options

– Heap Size = 1424 MB – ISM – New Generation = 400 MB

slide-13
SLIDE 13

Memory System Performance of Java-Based Middleware 13 HPCA February 11, 2003

Performance Scaling

5 10 15 2 4 6 8 10 12 14 16 Processors Speedup Linear SPECjbb ECperf

slide-14
SLIDE 14

Memory System Performance of Java-Based Middleware 14 HPCA February 11, 2003

Data Sharing

10 20 30 40 50 60 70 80 2 4 6 8 10 12 14 16 Processors Cache to Cache Transfer Ratio (%) ECperf SPECjbb

slide-15
SLIDE 15

Memory System Performance of Java-Based Middleware 15 HPCA February 11, 2003

Memory Use vs. Scale Factor (8 p)

100 200 300 400 500 600 5 10 15 20 25 30 35 40 Scale Factor Memory Use (MB) ECperf SPECjbb

slide-16
SLIDE 16

Memory System Performance of Java-Based Middleware 16 HPCA February 11, 2003

Scaling Effects

  • Scaling System Size

– Increased system size from 1 to 15 processors – High Idle times for both benchmarks on large systems – Contention inside the application or JVM – High fraction of sharing misses on large systems – Very few misses to main memory despite large heap – CPI (ECperf 2.0-2.8, SPECjbb2000 1.8-2.3)

  • Benchmark Scaling

– Increased transaction input rate and database size

  • ECperf:

Orders Input Rate

  • SPECjbb2000: Warehouses

– Affects SPECjbb2000 more than ECperf

slide-17
SLIDE 17

Memory System Performance of Java-Based Middleware 17 HPCA February 11, 2003

Outline

  • Background

– 3-Tiered Systems – ECperf and SPECjbb2000

  • Hardware monitoring experiments

– System size scaling – Benchmark scaling

  • Simulation Experiments

– Cache Performance

  • Design decisions

– Shared Caches

slide-18
SLIDE 18

Memory System Performance of Java-Based Middleware 18 HPCA February 11, 2003

Cache Simulations

  • Experiments conducted with Virtutech Simics with an

extended memory system simulator

– 4-way set associative caches – 64 byte cache lines

  • Cache Miss Rates

– Uniprocessor simulations – Split 1-level caches

  • Sharing Analysis

– 8-processor simulations – Unified cache

slide-19
SLIDE 19

Memory System Performance of Java-Based Middleware 19 HPCA February 11, 2003

Data Cache

10 20 32 64 128 256 512 1024 2048 4096 8192 16384 Cache Size (KB) Misses/1000 Instructions ECperf SPECjbb-25 SPECjbb-10 SPECjbb-1

slide-20
SLIDE 20

Memory System Performance of Java-Based Middleware 20 HPCA February 11, 2003

Instruction Cache

10 20 32 64 128 256 512 1024 2048 4096 8192 16384 Cache Size (KB) Misses/1000 Instructions ECperf SPECjbb-25 SPECjbb-10 SPECjbb-1

slide-21
SLIDE 21

Memory System Performance of Java-Based Middleware 21 HPCA February 11, 2003

Communication Distribution

20 40 60 80 100 20 40 60 80 100 Percent of All Cache Lines (%) Percent Cache-to-Cache Tranfers (%) ECperf SPECjbb-25

20%, 88.5% 12.3%, 100%

slide-22
SLIDE 22

Memory System Performance of Java-Based Middleware 22 HPCA February 11, 2003

Outline

  • Background

– 3-Tiered Systems – ECperf and SPECjbb2000

  • Hardware monitoring experiments

– System size scaling – Benchmark scaling

  • Simulation Experiments

– Cache Performance

  • Design decisions

– Shared Caches

slide-23
SLIDE 23

Memory System Performance of Java-Based Middleware 23 HPCA February 11, 2003

Shared Caches

  • Potentially a good fit for Java-based middleware

– High cache-to-cache transfer ratio – Small working sets – Low memory bandwidth

  • Important design point for CMPs
  • Experiment: Measured data miss rate for a simulated

8-processor system running each benchmark

– All caches are 1MB – Varied number of caches and degree of sharing

slide-24
SLIDE 24

Memory System Performance of Java-Based Middleware 24 HPCA February 11, 2003

Data Miss Rate vs. Sharing Degree

5 10 15 20 25 1 2 4 8 Processors/Cache Misses/1000 Instructions ECperf SPECjbb-25

slide-25
SLIDE 25

Memory System Performance of Java-Based Middleware 25 HPCA February 11, 2003

Paper Summary

  • Descriptions of ECperf and SPECjbb2000
  • Combination of hardware monitoring and full-system

simulation

– Scalability – Execution time breakdown – I/D Cache performance – Input rate scaling

  • Effects of garbage collection
  • Data sharing analysis and shared-cache performance
  • Conclusion

– Benchmark differences can lead to opposite design conclusions

slide-26
SLIDE 26

Memory System Performance of Java-Based Middleware 26 HPCA February 11, 2003

Conclusions

  • Both SPECjbb2000 and ECperf

– Have small data sets – High rate of sharing misses

  • SPECjbb2000 approximates ECperf well except for 2

important differences

– ECperf has a much larger instruction footprint and a higher instruction miss rate – The memory footprint of SPECjbb2000 is larger than that of ECperf, especially on large systems