Simulate N clients bidding on M items in an 'ebay' style market. Bid values are current highest bid + random value, N(0,1).

Goal - maximize throughput (bids/sec) for max number of clients and items to bid on

Clients run in separate threads and bid 1k times on each item in the system.

User code is 100% thread safe, using 'no lock' & CAS style operations where appropriate.

Classes use concurrent hash map, CAS counters, & Container<Bid>.

Relative performance was determined for different Container<Bid> implementations.

- impl1: blocking priority queue
- impl2: blocking list + 1 peak value
- impl3: concurrent linked queue+1 CAS peak value

Uses Guice for Dependency Injection.

Makes heavy use of generics for entities, keepers, factories, & DAOs.

Performance Peaks

- impl1: 1.6 M bids/sec
- impl2: 2.5 M bids/sec
- impl3: 2.,6 M+ bids/sec

Throughput increased and jitter reduced by setting init capacity of maps to 1k.

see README MEMORY MODEL

Project Samples

Project Activity

See All Activity >

Follow elise-ebay

elise-ebay Web Site

Other Useful Business Software
Veeam Data Platform v13.1 - Get Your Free Trial Icon
Veeam Data Platform v13.1 - Get Your Free Trial

Secure by design, portable by default. Recover clean, fast, anywhere. Start a free trial.

Try Veeam Data Platform today. Experience the unified platform that's secure by design, portable by default, and proven to recover clean, fast, and anywhere.
Try it Free
Rate This Project
Login To Rate This Project

User Reviews

Be the first to post a review of elise-ebay!

Additional Project Details

Registered

2014-03-05