Workload Characterization of Selected JEE-based Web 2.0 Applications Priya Nagpurkar , William Horn, U Gopalakrishnan, Niteesh Dubey, Joefon Jann, Pratap Pattnaik IBM TJ Watson Research Center IISWC 2008
Introduction • Motivation : Web 2.0 likely to be an important emerging workload • Goals � Determine if Web 2.0 workloads differ from legacy workloads in the way they impact the systems that host them � Evaluate the efficacy of current systems in hosting these workloads, and implications for future systems • This paper � Setting up applications that exploit Web 2.0 features as benchmarks, generating Web 2.0 workloads � Characterization on IBM’s Power5 architecture IISWC '08 2
Outline • Introduction • Web 2.0 Overview • Benchmarks and Workloads • Results • Related Work • Conclusion IISWC '08 3
Web 2.0 Tag Cloud Flickr del.icio.us folksonomy Tags REST Video Sharing AJAX Web 2.0 Mash-ups RSS Facebook Avatars MySpace Blogs ATOM Wiki’s bookmarking Social Digg Computing LinkedIn Social Networks Communities SOA • Collaboration and Social Networking, Mashups, Rich Internet Applications, Media Sharing, underlying technologies IISWC '08 4
Social Bookmarking Social Networking Mashup Rich Internet Application IISWC '08 5
Web 2.0 Overview Networking advances web server application server database server inter-server sharing: client-side • server-side mashups (sophisticated browser) mashups • workflows via SOA AJAX CPU cpu cpu REST Client Flash Atom disk disk disk web server application server database server Heterogeneous stacks: Web 2.0 is data-centric: Emerging Applications: • LAMP • user-contributed • social networking content • J2 EE/ JEE • server-side productivity • user application • Project Zero applications data • Ruby on Rails • software-as-a-service IISWC '08 6
Benchmarks • This paper focuses on Java benchmarks and the J2EE stack � Lotus Connections (BLOGS and DOGEAR): IBM’s Enterprise Social Networking Software � Java PetStore 2.0: Reference, open-source application for building AJAX-based RIA’s using JEE 5, developed at SUN • Java PetStore 2.0 • Lotus Connections BLOGS � Exploits JEE 5 features like Java � Uses Apache Roller blog engine Persistence API (JPA) and Java � Struts: editor, Velocity: Server Faces (JSF) rendering � AJAX components implemented � Hibernate: provides persistence using DOJO � Apache Lucene: powers search � Apache Lucene: powers search IISWC '08 7
Workloads • Transactions � User-level actions for each application � viewBlog (blogs: total 9), � createBookmark (dogear: total 14), � selectTag (PetStore: total 9) � Can involve multiple html pages • Workload mix � Defines proportion of transactions � Based on commonly observed usage patterns (in internal deployment of Lotus Connections) IISWC '08 8
Experimental Setup and Test Infrastructure Pow er5 Architecture • 2 cores, SMT on, 1.66 GHz Gigabit • Per-core 64KB L1 icache, 32KB L1 dcache TDS 6.0 (LDAP), TDI 6.1 Linux/ 4 -w ay I ntel Xeon, 2 .6 6 GHz • Shared ~ 2MB L2 cache Gigabit • Shared (off-chip) 36MB L3 cache Gigabit Grinder • 8 GB Memory WebSphere Application Server 6.1.0.13 Load Generators ( Lotus Connections 1.0.2 ) Linux/ I ntel SUN Glassfish Application Server ( PetStore 2.0 ) DB2 9.1 AI X 5 .3 / 2 -w ay pow er5 , 1 .6 6 GHz AI X 5 .3 / 4 -w ay pow er5 + , 1 .9 GHz (ramdisk to avoid IO) � Extended the open source Grinder framework to drive benchmarks and generate reports using data collected from different layers Application AppServer DB JVM OS Architecture IISWC '08 9
Experimental Methodology • Gradual ramp-up: virtual users are added gradually until throughput stabilizes � 15 minute warmup time • Virtual users generate requests with zero think time � Single virtual user emulates multiple users � Randomly picks user from 100k profiles � Request type and input data for request chosen randomly � In keeping with workload mix definition • Measurements on the Application Server (SUT) � 30 minute measurement interval following warmup � HPMs: 30 second samples • Repeatability � Restore databases to undo writes � Data represents average across three runs IISWC '08 10
Throughput and CPU Utilization Blogs 100 50 System Dogear 90 User PetStore 80 40 70 30 % Tim e 60 TPS 50 20 40 30 10 20 10 0 10 20 30 40 50 60 70 80 90 0 Blogs Dogear PetStore Trade6 Number of (virtual) users CPU Utilization ( AppServer) Throughput w ith increasing users. � System under test (AppServer) > 95% busy � < 5% time spent in system level code IISWC '08 11
Increased Chattiness and Data-centric Behavior Blogs Dogear PetStore Trade6 9.00 19.8 18.39 645 TPS GET Requests/ txn 22.38 30.27 31.15 1.14 0.22 0.31 0.19 0.06 POST Requests/ txn 0.70 0.13 0.89 0 AJAX Requests/ txn Bytes Sent/ txn 99.80 50.84 570.35 1.5 83K 191K 467K 10K Bytes Received/ txn • Chattiness � Presence of AJAX requests � More GET and POST requests per transaction • Data-centric Behavior � More data from client to server (user generated content) � Frequent database accesses IISWC '08 12
Architecture-level Analysis Other 2.5 3.50 Stall by FPU L1 DCache Misses per 1 0 0 Serviced by LMEM 3.00 Stall by FXU 2 Serviced by L3 2.50 LSU Basic latency instructions Serviced by L2 1.5 CPI LSU Reject 2.00 Dcache m iss 1 1.50 Other (GCT Em pty) 1.00 0.5 Branch m isprediction 0.50 penalty Icache m iss penalty 0 0.00 Blogs Dogear PetStore Trade6 Blogs Dogear PetStore Trade6 Com pletion Cycles DCache Misses and w here they are serviced from Stall Breakdow n on Pow er5 • CPI for Web 2.0 applications lower than Trade6 • Instruction cache misses not as significant • Significant cycles spent in data cache miss stalls • Relatively more memory accesses for PetStore 2.0 increase data cache miss penalty IISWC '08 13
Related Work • Workload characterization studies � Web 2.0 � Empirical Evaluation of a Collaborative Web Application [Stewart et al IISWC08] � Enterprise Java applications � Memory system characterization [Barroso et al ISCA98] � Architectural evaluation of TPC-W [Marden et al HPCA01] � Performance studies of commercial systems on multi-cores [Tseng at al IISWC08] � Characterizing a complex J2EE workload [Shuf and Steiner ISPASS07] � Java applications � Characterizing the memory behavior of Java workloads [Shuf et al] � Study of allocation behavior of SPECjvm98 [Dieckmann and Hoelzle ECOOP99] • New Benchmarks and characterization methodology � General methodology for characterizing commercial workloads [Kunkel et al 00] � The DaCapo benchmark suite [Blackburn et al OOPSLA06] IISWC '08 14
Conclusion • Characterization of three JEE applications that incorporate Web 2.0 features � User-level characteristics capture increased chattiness and data-centric behavior � Stalls from instruction cache misses not significant � Server-side behavior does not otherwise vary significantly or consistently from Trade6 • Future work � Varying workload mixes � Further analysis of data centric behavior � Database usage patterns, impact on JPA layer � Additional workloads � Scripting languages IISWC '08 15
16 THANK YOU! QUESTI ONS? IISWC '08
Recommend
More recommend