| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| leftright-extended.pdf | 2013-12-02 | 4.7 MB | |
| README.txt | 2013-11-24 | 1.4 kB | |
| RWLockTreeSet.java | 2013-11-24 | 4.9 kB | |
| BenchmarkTreeSetLatency.java | 2013-11-24 | 15.1 kB | |
| BenchmarkTreeSetFullRebalance.java | 2013-11-24 | 19.0 kB | |
| LRScalableTreeSetRV.java | 2013-11-24 | 12.9 kB | |
| LRScalableTreeSetNV.java | 2013-11-24 | 12.0 kB | |
| LRScalableTreeSet.java | 2013-11-24 | 15.2 kB | |
| Totals: 8 Items | 4.7 MB | 4 | |
Classes used in the benchmark shown in the article
"Left-Right: A Concurrency Control Technique with Wait-Free Population Oblivious Reads"
RWLockTreeSet.java: java.util.TreeSet protected with a Reader-Writer lock
ScalableStampedRWLock. The ScalableStampedRWLock is a freely available
lock that combines the C-RW-WP lock described in the paper "NUMA Aware Reader-Writer Locks"
with the StampedLock provided in Java JDK8.
The add() and remove() are protected with exclusiveLock(), and the contains()
with the sharedLock() and, therefore, all operations are blocking.
BenchmarkTreeSetLatency.java: Measures latency on the following classes.
BenchmarkTreeSetFullRebalance.java: Measures performance on the following classes.
LRScalableTreeSet.java: java.util.TreeSet with the classic Left-Right technique
described in the Left-Right paper.
LRScalableTreeSetNV.java: java.util.TreeSet with the Left-Right technique
(No Version) without using a versionIndex, as described in the Left-Right paper.
LRScalableTreeSetRV.java: java.util.TreeSet with the Left-Right technique
(Reader's Version) where each Reader updates its own version that replaces the
state, as described in the Left-Right paper.
LRScalableTreeSetOptimistic.java: java.util.TreeSet with the optimistic
approach as described in the Left-Right paper.