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
Stop Cyber Threats with VM-Series Next-Gen Firewall on Azure Icon
Stop Cyber Threats with VM-Series Next-Gen Firewall on Azure

Native application identity and user-based security for your Azure cloud

Gain integrated visibility across all traffic in a single pass. Deploy Palo Alto Networks VM-Series to determine application identity and content while automating security policy updates via rich APIs.
Get a free trial
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