Top Banner
Boston :2010 JBoss Users & Developers Conference Tuesday, 22 June 2010
24

JBoss Users & Developers Conference Boston:2010...• Open source, in-memory data grid • Written for the JVM • Embedded (P2P) as well as client/server mode • Client/server endpoints:

Jul 05, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: JBoss Users & Developers Conference Boston:2010...• Open source, in-memory data grid • Written for the JVM • Embedded (P2P) as well as client/server mode • Client/server endpoints:

Boston:2010JBoss Users & Developers Conference

Tuesday, 22 June 2010

Page 2: JBoss Users & Developers Conference Boston:2010...• Open source, in-memory data grid • Written for the JVM • Embedded (P2P) as well as client/server mode • Client/server endpoints:

Benchmarking InfinispanManik Surtani & Mircea Markus

twitter.com/maniksurtani twitter.com/mirceamarkus

Tuesday, 22 June 2010

Page 3: JBoss Users & Developers Conference Boston:2010...• Open source, in-memory data grid • Written for the JVM • Embedded (P2P) as well as client/server mode • Client/server endpoints:

Who we are?

A pair of core Infinispan engineers.Who are you?

Tuesday, 22 June 2010

Page 4: JBoss Users & Developers Conference Boston:2010...• Open source, in-memory data grid • Written for the JVM • Embedded (P2P) as well as client/server mode • Client/server endpoints:

Agenda

• Infinispan - 30,000 ft overview• The need for benchmarking• Challenges in benchmarking data grids• The Cache Benchmark Framework• Live demo!

Tuesday, 22 June 2010

Page 5: JBoss Users & Developers Conference Boston:2010...• Open source, in-memory data grid • Written for the JVM • Embedded (P2P) as well as client/server mode • Client/server endpoints:

What is Infinispan?

• Open source, in-memory data grid• Written for the JVM• Embedded (P2P) as well as client/server mode• Client/server endpoints: Hot Rod, Memcached, REST

• Consumable by non-JVM systems• Successor to JBoss Cache• See other talks during the week

Tuesday, 22 June 2010

Page 6: JBoss Users & Developers Conference Boston:2010...• Open source, in-memory data grid • Written for the JVM • Embedded (P2P) as well as client/server mode • Client/server endpoints:

Why benchmarking?

“Benchmarks are like assholes. Everyone has one.” - Turk, Mladen

Tuesday, 22 June 2010

Page 7: JBoss Users & Developers Conference Boston:2010...• Open source, in-memory data grid • Written for the JVM • Embedded (P2P) as well as client/server mode • Client/server endpoints:

Why benchmarking?

• “Measure - don’t guess”• Monitor performance

• agains JBoss Cache, and other competing products• between Infinispan releases• different configurations, access patterns• exceptional conditions• while scaling out

• Cornerstone for performance improvements

Tuesday, 22 June 2010

Page 8: JBoss Users & Developers Conference Boston:2010...• Open source, in-memory data grid • Written for the JVM • Embedded (P2P) as well as client/server mode • Client/server endpoints:

Challenges

• Multiple access patterns• Web session replication• Fronting a database• Durable data store• (your custom access pattern here)

Tuesday, 22 June 2010

Page 9: JBoss Users & Developers Conference Boston:2010...• Open source, in-memory data grid • Written for the JVM • Embedded (P2P) as well as client/server mode • Client/server endpoints:

Challenges • Multiple cluster modes• Replicated• Distributed• Invalidated

• Network stacks• TCP• UDP• Both!

Tuesday, 22 June 2010

Page 10: JBoss Users & Developers Conference Boston:2010...• Open source, in-memory data grid • Written for the JVM • Embedded (P2P) as well as client/server mode • Client/server endpoints:

Challenges

• Multiple products/versions/configs• Infinispan• JBoss Cache• (your favourite data grid here)

• MxN problem• If not comparative, what’s the point?

Tuesday, 22 June 2010

Page 11: JBoss Users & Developers Conference Boston:2010...• Open source, in-memory data grid • Written for the JVM • Embedded (P2P) as well as client/server mode • Client/server endpoints:

Challenges • Benchmarking scalability

do {runBenchmark()clusterSize ++

} while (clusterSize < maxNodes)

• Measure throughput and TPS

Tuesday, 22 June 2010

Page 12: JBoss Users & Developers Conference Boston:2010...• Open source, in-memory data grid • Written for the JVM • Embedded (P2P) as well as client/server mode • Client/server endpoints:

Challenges

• Complex setup• coordinate between multiple

distributed benchmark processes• Result collation• centralised reporting

• Deal with anomalies and node failure• Including transient network hiccups

Tuesday, 22 June 2010

Page 13: JBoss Users & Developers Conference Boston:2010...• Open source, in-memory data grid • Written for the JVM • Embedded (P2P) as well as client/server mode • Client/server endpoints:

The tools we had

Tuesday, 22 June 2010

Page 14: JBoss Users & Developers Conference Boston:2010...• Open source, in-memory data grid • Written for the JVM • Embedded (P2P) as well as client/server mode • Client/server endpoints:

Cache Benchmark Framework

• OSS, hosted on SourceForge• Inspect the code, no smoke and mirrors!

• Java-based• Vendor-neutral. Contributors include:• Greg Luck/EHCache• Talip Ozturk/Hazelcast

Tuesday, 22 June 2010

Page 15: JBoss Users & Developers Conference Boston:2010...• Open source, in-memory data grid • Written for the JVM • Embedded (P2P) as well as client/server mode • Client/server endpoints:

Cache Benchmark Framework

• Currently used for benchmarking Infinispan• Can run comparative benchmarks

• Against different products• Against same product, for regressions• Against different configurations

• Ships with simple access patterns• Benchmark for scalability

Tuesday, 22 June 2010

Page 16: JBoss Users & Developers Conference Boston:2010...• Open source, in-memory data grid • Written for the JVM • Embedded (P2P) as well as client/server mode • Client/server endpoints:

Cache Benchmark Framework

• Extensible• Add your own data grid products to test

against• Add your own data access patterns

• JUnit-like test cases• Access patterns can be combined with products

• No more M x N• And tested as you scale out!

Tuesday, 22 June 2010

Page 17: JBoss Users & Developers Conference Boston:2010...• Open source, in-memory data grid • Written for the JVM • Embedded (P2P) as well as client/server mode • Client/server endpoints:

Cache Benchmark Framework

• Script-based• Currently only for POSIX

• BASH scripts for launching remote processes• No Windows support yet

• Only for bootstrap

Tuesday, 22 June 2010

Page 18: JBoss Users & Developers Conference Boston:2010...• Open source, in-memory data grid • Written for the JVM • Embedded (P2P) as well as client/server mode • Client/server endpoints:

Cache Benchmark Framework

• Each process a finite state machine• Master node to coordinate state change

• And to collate results ...• ... and generate reports

• Including graphical ones!

Tuesday, 22 June 2010

Page 19: JBoss Users & Developers Conference Boston:2010...• Open source, in-memory data grid • Written for the JVM • Embedded (P2P) as well as client/server mode • Client/server endpoints:

Basic idea

Tuesday, 22 June 2010

Page 20: JBoss Users & Developers Conference Boston:2010...• Open source, in-memory data grid • Written for the JVM • Embedded (P2P) as well as client/server mode • Client/server endpoints:

Status

• 1.0 GA released• Web session replication access pattern• Plugins for JBoss Cache, Infinispan,

Coherence, EHCache• Heavily used for tuning Infinispan’s

performance• Currently used on a 128 node cluster

Tuesday, 22 June 2010

Page 21: JBoss Users & Developers Conference Boston:2010...• Open source, in-memory data grid • Written for the JVM • Embedded (P2P) as well as client/server mode • Client/server endpoints:

Road map

• Additional measurements• Memory & CPU overhead over time/

scale-out• New data access patterns• Control via JMX• Standardise!• SPEC?

Tuesday, 22 June 2010

Page 22: JBoss Users & Developers Conference Boston:2010...• Open source, in-memory data grid • Written for the JVM • Embedded (P2P) as well as client/server mode • Client/server endpoints:

Want to see it?

• Web session replication• Benchmark Infinispan vs. JBoss Cache• Replication for both• Distribution for Infinispan

Tuesday, 22 June 2010

Page 23: JBoss Users & Developers Conference Boston:2010...• Open source, in-memory data grid • Written for the JVM • Embedded (P2P) as well as client/server mode • Client/server endpoints:

Q&A

•http://cachebenchfwk.sourceforge.net•http://www.infinispan.org•http://blog.infinispan.org•http://twitter.com/infinispan•#infinispan

Tuesday, 22 June 2010

Page 24: JBoss Users & Developers Conference Boston:2010...• Open source, in-memory data grid • Written for the JVM • Embedded (P2P) as well as client/server mode • Client/server endpoints:

Learn more about Infinispan!

•Storing Data on Cloud Infrastructure in a Scalable, Durable Manner - Wed 23rd

•Using Infinispan for High Availability, Load Balancing, & Extreme Performance - Thu, 24th

•How to Stop Worrying & Start Caching in Java - Thu 24th

•Why RESTful Design for Cloud is Best - Fri 25th

Tuesday, 22 June 2010