memory system behavior of java based middleware
play

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


  1. 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

  2. Java-Based Middleware: An Important New Workload for Multiprocessor Servers • Java-Based middleware Browsers/ connects Web pages to Thin Clients databases • Web-based applications are deployed in 3-tier systems Web Server – Clients Middleware – Middleware (e.g. Business application servers) Logic – Databases • Rapid growth Databases • Diverse clients will increase the role of middleware LAN/WAN Memory System Performance of Java-Based Middleware 2 HPCA February 11, 2003

  3. Java Middleware Benchmarks • SPECjbb2000 – Approximates a 3-tier system in a single application – Will run on any JVM without any 3 rd -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 3 rd -party software (application server and database) – Difficult to install, tune and run (set up time measured in weeks) Memory System Performance of Java-Based Middleware 3 HPCA February 11, 2003

  4. Outline • Background – 3-Tiered Systems – ECperf and SPECjbb2000 • Hardware monitoring experiments – System size scaling – Benchmark scaling • Simulation Experiments – Cache Performance • Design decisions – Shared Caches Memory System Performance of Java-Based Middleware 4 HPCA February 11, 2003

  5. Application Servers & 3-Tiered Systems Users/Customers (e-commerce) • 3-tiered systems are common in e-commerce and Tier 1 B2B applications • Application servers provide a framework for middle-tier Tier 2 Application Server applications Other Presentation Logic – Presentation Businesses (B2B) – Business Rules • Services include Business Rules – Database connectivity – Client connectivity – Resource management Tier 3 • Application servers often Database implemented in Java Memory System Performance of Java-Based Middleware 5 HPCA February 11, 2003

  6. ECperf Driver Supplier • Runs on top of existing Emulator Order Agents commercial applications Emulator Servlet Mfg Agents (Database and Application Server) Application Server – Adds Cost, tuning effort Servlet Host – Restricted source code Presentation Orders & Mfg Supplier • Consists of 4 networked Servlets Servlets Logic programs Java EJB Container Beans – Application Server Business Rules Mfg Supplier – Database Corp Orders – Supplier Emulator – Driver Database • Runs on multiple machines – Easy to isolate tiers Memory System Performance of Java-Based Middleware 6 HPCA February 11, 2003

  7. ECperf Driver Supplier • Runs on top of existing Emulator Order Agents commercial applications Emulator Servlet Mfg Agents (Database and Application Server) Application Server – Adds Cost, tuning effort Servlet Host – Restricted source code Orders & Mfg Supplier • Consists of 4 networked Servlets Servlets M easurements programs on middle tier EJB Container only – Application Server Mfg Supplier – Database Corp Orders – Supplier Emulator – Driver Database • Runs on multiple machines – Easy to isolate tiers Memory System Performance of Java-Based Middleware 7 HPCA February 11, 2003

  8. SPECjbb2000 • Single JVM Client Threads • Database emulated by trees of Java objects • Easy to install tune and run Business Logic • Available source code Engine • Difficult to measure behavior of individual tiers Object Trees Benchmark Process Memory System Performance of Java-Based Middleware 8 HPCA February 11, 2003

  9. SPECjbb2000 • Single JVM Client Threads • Database emulated by trees of Java objects • Easy to install tune and run Business Logic • Available source code Engine Measurements include data- • Difficult to measure base and client code behavior of individual tiers Object Trees Benchmark Process Memory System Performance of Java-Based Middleware 9 HPCA February 11, 2003

  10. Outline • Background – 3-Tiered Systems – ECperf and SPECjbb2000 • Hardware monitoring experiments – System size scaling – Benchmark scaling • Simulation Experiments – Cache Performance • Design decisions – Shared Caches Memory System Performance of Java-Based Middleware 10 HPCA February 11, 2003

  11. 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 Memory System Performance of Java-Based Middleware 11 HPCA February 11, 2003

  12. 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 Memory System Performance of Java-Based Middleware 12 HPCA February 11, 2003

  13. Performance Scaling 15 10 Speedup Linear SPECjbb ECperf 5 0 0 2 4 6 8 10 12 14 16 Processors Memory System Performance of Java-Based Middleware 13 HPCA February 11, 2003

  14. Data Sharing 80 70 Cache to Cache Transfer Ratio (%) 60 50 ECperf 40 SPECjbb 30 20 10 0 0 2 4 6 8 10 12 14 16 Processors Memory System Performance of Java-Based Middleware 14 HPCA February 11, 2003

  15. Memory Use vs. Scale Factor (8 p) 600 500 400 Memory Use (MB) ECperf 300 SPECjbb 200 100 0 0 5 10 15 20 25 30 35 40 Scale Factor Memory System Performance of Java-Based Middleware 15 HPCA February 11, 2003

  16. 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 Memory System Performance of Java-Based Middleware 16 HPCA February 11, 2003

  17. Outline • Background – 3-Tiered Systems – ECperf and SPECjbb2000 • Hardware monitoring experiments – System size scaling – Benchmark scaling • Simulation Experiments – Cache Performance • Design decisions – Shared Caches Memory System Performance of Java-Based Middleware 17 HPCA February 11, 2003

  18. 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 Memory System Performance of Java-Based Middleware 18 HPCA February 11, 2003

  19. Data Cache 20 Misses/1000 Instructions ECperf SPECjbb-25 10 SPECjbb-10 SPECjbb-1 0 32 64 128 256 512 1024 2048 4096 8192 16384 Cache Size (KB) Memory System Performance of Java-Based Middleware 19 HPCA February 11, 2003

  20. Instruction Cache 20 Misses/1000 Instructions ECperf SPECjbb-25 10 SPECjbb-10 SPECjbb-1 0 32 64 128 256 512 1024 2048 4096 8192 16384 Cache Size (KB) Memory System Performance of Java-Based Middleware 20 HPCA February 11, 2003

  21. Communication Distribution 12.3%, 100% 100 Percent Cache-to-Cache Tranfers (%) 20%, 80 88.5% 60 ECperf SPECjbb-25 40 20 0 0 20 40 60 80 100 Percent of All Cache Lines (%) Memory System Performance of Java-Based Middleware 21 HPCA February 11, 2003

  22. Outline • Background – 3-Tiered Systems – ECperf and SPECjbb2000 • Hardware monitoring experiments – System size scaling – Benchmark scaling • Simulation Experiments – Cache Performance • Design decisions – Shared Caches Memory System Performance of Java-Based Middleware 22 HPCA February 11, 2003

  23. 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 Memory System Performance of Java-Based Middleware 23 HPCA February 11, 2003

  24. Data Miss Rate vs. Sharing Degree 25 20 Misses/1000 Instructions 15 ECperf SPECjbb-25 10 5 0 1 2 4 8 Processors/Cache Memory System Performance of Java-Based Middleware 24 HPCA February 11, 2003

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend