Workload Characterization of Selected JEE-based Web 2.0 Applications

0 downloads 0 Views 2MB Size Report
Video Sharing. Avatars. Facebook. SOA. • Collaboration and Social Networking, Mashups, Rich Internet. Applications, Media Sharing, underlying technologies ...
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

AJAX

Mash-ups Facebook bookmarking

RSS Wiki’s

LinkedIn

Video Sharing

Web 2.0

ATOM

Blogs

Avatars

Digg

MySpace

Social Computing

Social Networks Communities

SOA • Collaboration and Social Networking, Mashups, Rich Internet Applications, Media Sharing, underlying technologies

IISWC '08

4

Social Networking

Rich Internet Application

IISWC '08

Social Bookmarking

Mashup

5

Web 2.0 Overview Networking advances

Client (sophisticated browser)

web server

CPU

disk

web server

Emerging Applications: •social networking •server-side productivity applications •software-as-a-service

IISWC '08

database server

inter-server sharing: •server-side mashups •workflows via SOA

client-side mashups AJAX REST Flash Atom

application server

cpu

disk

application server Heterogeneous stacks: •LAMP •J2EE/JEE •Project Zero •Ruby on Rails

cpu

disk

database server Web 2.0 is data-centric: •user-contributed content •user application data

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

• Lotus Connections BLOGS „

„ „

Uses Apache Roller blog engine Struts: editor, Velocity: rendering Hibernate: provides persistence Apache Lucene: powers search

IISWC '08

• Java PetStore 2.0 „

„

„

Exploits JEE 5 features like Java Persistence API (JPA) and Java Server Faces (JSF) AJAX components implemented using DOJO Apache Lucene: powers search 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 Power5 Architecture • 2 cores, SMT on, 1.66 GHz

Gigabit • Per-core 64KB L1 icache, 32KB L1 dcache • Shared Gigabit ~2MB L2 cache • Shared (off-chip) 36MB L3 cache Grinder Load Generators Linux/Intel

„

TDS 6.0 (LDAP), TDI 6.1 Linux/4-way Intel Xeon, 2.66GHz

Gigabit

• 8 GB MemoryApplication Server 6.1.0.13 WebSphere (Lotus Connections 1.0.2) SUN Glassfish Application Server (PetStore 2.0) AIX 5.3/2-way power5, 1.66GHz

DB2 9.1 AIX 5.3/4-way power5+, 1.9GHz (ramdisk to avoid IO)

Extended the open source Grinder framework to drive benchmarks and generate reports using data collected from different layers Application AppServer JVM

DB

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

50 40

100

Dogear

90

PetStore

80

System User

% Time

TPS

70

30 20

50 40 30

10 0

60

20 10

10

20

30

40

50

60

70

Number of (virtual) users Throughput with increasing users.

80

90

0 Blogs

Dogear

Trade6

CPU Utilization (AppServer)

„

System under test (AppServer) > 95% busy

„

< 5% time spent in system level code

IISWC '08

PetStore

11

Increased Chattiness and Data-centric Behavior Blogs

Dogear

PetStore

Trade6

9.00

19.8

18.39

645

22.38

30.27

31.15

1.14

POST Requests/txn

0.22

0.31

0.19

0.06

AJAX Requests/txn

0.70

0.13

0.89

0

99.80

50.84

570.35

1.5

83K

191K

467K

10K

TPS GET Requests/txn

Bytes Sent/txn Bytes Received/txn

• Chattiness „

Presence of AJAX requests

„

More GET and POST requests per transaction

• Data-centric Behavior „ „ IISWC '08

More data from client to server (user generated content) Frequent database accesses 12

Architecture-level Analysis 3.50

Stall by FPU

3.00

Stall by FXU

2.50

LSU Basic latency

2.00

LSU Reject

1.50

Dcache miss

1.00

Other (GCT Empty)

0.50

Branch misprediction penalty Icache miss penalty

0.00 Blogs

Dogear

PetStore

Trade6

Completion Cycles

2.5 L1 DCache Misses per 100 instructions

CPI

Other Serviced by LMEM 2

1.5

Serviced by L3 Serviced by L2

1

0.5 0 Blogs

Dogear

PetStore

Trade6

DCache Misses and where they are serviced from

Stall Breakdown on Power5

• • • •

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

THANK YOU! QUESTIONS?

IISWC '08

16

Suggest Documents