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
Custom VMs From 1 to 96 vCPUs With 99.95% Uptime Icon
Custom VMs From 1 to 96 vCPUs With 99.95% Uptime

General-purpose, compute-optimized, or GPU/TPU-accelerated. Built to your exact specs.

Live migration and automatic failover keep workloads online through maintenance. One free e2-micro VM every month.
Try 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