February 11, 2003Ninth International Symposium on High Performance Computer Architecture Memory System Behavior of Java-Based Middleware Martin Karlsson,

Slides:



Advertisements
Similar presentations
Welcome to Middleware Joseph Amrithraj
Advertisements

Full-System Timing-First Simulation Carl J. Mauer Mark D. Hill and David A. Wood Computer Sciences Department University of Wisconsin—Madison.
DBMSs on a Modern Processor: Where Does Time Go? Anastassia Ailamaki Joint work with David DeWitt, Mark Hill, and David Wood at the University of Wisconsin-Madison.
PERFORMANCE ANALYSIS OF MULTIPLE THREADS/CORES USING THE ULTRASPARC T1 (NIAGARA) Unique Chips and Systems (UCAS-4) Dimitris Kaseridis & Lizy K. John The.
Netscape Application Server Application Server for Business-Critical Applications Presented By : Khalid Ahmed DS Fall 98.
Variability in Architectural Simulations of Multi-threaded Workloads Alaa R. Alameldeen and David A. Wood University of Wisconsin-Madison
NUMA Tuning for Java Server Applications Mustafa M. Tikir.
Memory System Characterization of Big Data Workloads
Sapana Mehta (CS-6V81) Overview Of J2EE & JBoss Sapana Mehta.
(C) 2003 Mulitfacet ProjectUniversity of Wisconsin-Madison Simulating a $2M Commercial Server on a $2K PC Alaa Alameldeen, Milo Martin, Carl Mauer, Kevin.
(C) 2002 Milo MartinHPCA, Feb Bandwidth Adaptive Snooping Milo M.K. Martin, Daniel J. Sorin Mark D. Hill, and David A. Wood Wisconsin Multifacet.
OCT1 Principles From Chapter One of “Distributed Systems Concepts and Design”
Architectural Impact of SSL Processing Jingnan Yao.
ECOMMERCE TECHNOLOGY SUMMER 2002 COPYRIGHT © 2002 MICHAEL I. SHAMOS eCommerce Technology Lecture 4: Web Architecture.
Evaluating Non-deterministic Multi-threaded Commercial Workloads Computer Sciences Department University of Wisconsin—Madison
Ch 12 Distributed Systems Architectures
A Computer Aided Despatch System on CORBA/Java Platform Chau Chi Wing.
12-1 © Prentice Hall, 2004 Chapter 12: Design Elements Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.
© 2001 by Prentice Hall8-1 Local Area Networks, 3rd Edition David A. Stamper Part 3: Software Chapter 8 Client/Server Architecture.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Design 1.
Web Application Architecture: multi-tier (2-tier, 3-tier) & mvc
Java Pet Store Application. Outline Introduction Introduction Information Layer Information Layer Application Layer Application Layer Infrastructure Layer.
Client/Server Architectures
Presented by Deepak Srinivasan Alaa Aladmeldeen, Milo Martin, Carl Mauer, Kevin Moore, Min Xu, Daniel Sorin, Mark Hill and David Wood Computer Sciences.
J2EE Application Server Deployment and Performance Optimization for Enterprise Application Service Thesis presentation Author: Xiaoyang Wang.
Computer System Architectures Computer System Software
Oracle8 JDBC Drivers Section 2. Common Features of Oracle JDBC Drivers The server-side and client-side Oracle JDBC drivers provide the same basic functionality.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
DBMSs On A Modern Processor: Where Does Time Go? by A. Ailamaki, D.J. DeWitt, M.D. Hill, and D. Wood University of Wisconsin-Madison Computer Science Dept.
Enterprise JavaBeans. What is EJB? l An EJB is a specialized, non-visual JavaBean that runs on a server. l EJB technology supports application development.
Introduction to J2EE Architecture Portions by Kunal Mehta.
JavaOne '99 Confidential Performance and Scalability of EJB-based applications Sriram Srinivasan Principal Engineer, BEA/WebLogic.
Enterprise Java Beans Java for the Enterprise Server-based platform for Enterprise Applications Designed for “medium-to-large scale business, enterprise-wide.
Web Application Servers Dean Jacobs BEA WebLogic.
Contents 1.Introduction, architecture 2.Live demonstration 3.Extensibility.
(1) Scheduling for Multithreaded Chip Multiprocessors (Multithreaded CMPs)
QoS Enabled Application Server The Controller Service Bologna, February 19 th 2004.
Architectural Characterization of an IBM RS6000 S80 Server Running TPC-W Workloads Lei Yang & Shiliang Hu Computer Sciences Department, University of.
Architectural Characterization of an IBM RS6000 S80 Server Running TPC-W Workloads Lei Yang & Shiliang Hu Computer Sciences Department, University of.
Simulating a $2M Commercial Server on a $2K PC Alaa R. Alameldeen, Milo M.K. Martin, Carl J. Mauer, Kevin E. Moore, Min Xu, Daniel J. Sorin, Mark D. Hill.
Measuring Application Server Performance using ECperf David Lucas President Lucas Software Engineering, Inc
An application architecture specifies the technologies to be used to implement one or more (and possibly all) information systems in terms of DATA, PROCESS,
Srihari Makineni & Ravi Iyer Communications Technology Lab
© Michel Dubois, Murali Annavaram, Per Strenstrom All rights reserved Embedded Computer Architecture 5SAI0 Simulation - chapter 9 - Luc Waeijen 16 Nov.
StealthTest: Low Overhead Online Software Testing Using Transactional Memory Jayaram Bobba, Weiwei Xiong*, Luke Yen †, Mark D. Hill, and David A. Wood.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
CMP/CMT Scaling of SPECjbb2005 on UltraSPARC T1 (Niagara) Dimitris Kaseridis and Lizy K. John The University of Texas at Austin Laboratory for Computer.
COMP381 by M. Hamdi 1 Clusters: Networks of WS/PC.
Disco: Running Commodity Operating Systems on Scalable Multiprocessors Presented by: Pierre LaBorde, Jordan Deveroux, Imran Ali, Yazen Ghannam, Tzu-Wei.
CSC 480 Software Engineering Lecture 17 Nov 4, 2002.
An Architectural Evaluation of Java TPC-W Harold “Trey” Cain, Ravi Rajwar, Morris Marden, Mikko Lipasti University of Wisconsin-Madison
Cloud Computing – UNIT - II. VIRTUALIZATION Virtualization Hiding the reality The mantra of smart computing is to intelligently hide the reality Binary->
1 A Scalable Distributed Data Management System for ATLAS David Cameron CERN CHEP 2006 Mumbai, India.
Background Computer System Architectures Computer System Software.
Introduction to Programming 1 1 2Introduction to Java.
E-commerce Architecture Ayşe Başar Bener. Client Server Architecture E-commerce is based on client/ server architecture –Client processes requesting service.
Cofax Scalability Document Version Scaling Cofax in General The scalability of Cofax is directly related to the system software, hardware and network.
Distributed Systems Architectures Chapter 12. Objectives  To explain the advantages and disadvantages of different distributed systems architectures.
Chapter 12: Architecture
Netscape Application Server
SPECjAppServer2004 Scott Oaks Java Enterprise Performance.
Memory System Characterization of Commercial Workloads
CSC 480 Software Engineering
Introduction to J2EE Architecture
Software Architecture in Practice
Building a Database on S3
Computer Based Adaptive Testing
Chapter 12: Physical Architecture Layer Design
Simulating a $2M Commercial Server on a $2K PC
Web Application Server 2001/3/27 Kang, Seungwoo. Web Application Server A class of middleware Speeding application development Strategic platform for.
Presentation transcript:

February 11, 2003Ninth 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

Memory System Performance of Java-Based Middleware HPCA February 11, 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 Browsers/ Thin Clients Databases Middleware LAN/WAN Web Server Business Logic

Memory System Performance of Java-Based Middleware HPCA February 11, 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 HPCA February 11, 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 HPCA February 11, Application Servers & 3-Tiered Systems 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 Database Business Rules Application Server Presentation Logic Tier 2 Tier 3 Tier 1 Users/Customers (e-commerce) Other Businesses (B2B)

Memory System Performance of Java-Based Middleware HPCA February 11, ECperf 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 Database Driver Order Agents Mfg Agents Supplier Emulator Emulator Servlet CorpOrders Mfg Supplier EJB Container Application Server Java Beans Servlet Host Supplier Servlets Orders & Mfg Servlets Presentation Logic Business Rules

Memory System Performance of Java-Based Middleware HPCA February 11, ECperf 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 Database Driver Order Agents Mfg Agents Supplier Emulator Emulator Servlet CorpOrders Mfg Supplier EJB Container Application Server Servlet Host Supplier Servlets Orders & Mfg Servlets Measurements on middle tier only

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

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

Memory System Performance of Java-Based Middleware HPCA February 11, 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 HPCA February 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 JVM –Solaris 8

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

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

Memory System Performance of Java-Based Middleware HPCA February 11, Memory Use vs. Scale Factor (8 p)

Memory System Performance of Java-Based Middleware HPCA February 11, 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 , SPECjbb ) 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 HPCA February 11, 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 HPCA February 11, 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 HPCA February 11, Data Cache

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

Memory System Performance of Java-Based Middleware HPCA February 11, Communication Distribution 20%, 88.5% 12.3%, 100%

Memory System Performance of Java-Based Middleware HPCA February 11, 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 HPCA February 11, 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 HPCA February 11, Data Miss Rate vs. Sharing Degree

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

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