Skip to content
/ klsm Public
forked from klsmpq/klsm

The k-LSM: A relaxed, lock-free, linearizable priority queue

License

Notifications You must be signed in to change notification settings

gfudim/klsm

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

kpqueue

This repository hosts development of a stand-alone version of the lock-free Wimmer k-priority queue (pheet.org).

Running benchmarks

Several benchmarking tools are provided, with the most heavily used and maintained one being the random throughput benchmark (src/bench/random.cpp). The simplest way to run benchmarks is by using the provided wrapper script:

$ make && ./bench.py -a klsm128,klsm256 -p 1,2,3,5,10,15,20 -r 5 -o results.csv

Figures can then be generated by running:

$ Rscript misc/plot.R results.csv && ls -lha fig.png

Dependencies are of course required but should be simple to determine either from error messages or the scripts themselves. Most scripts and binaries may be called with the standard '-h' argument for help.

About

The k-LSM: A relaxed, lock-free, linearizable priority queue

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 56.2%
  • C 42.4%
  • CMake 0.5%
  • Makefile 0.3%
  • R 0.3%
  • Python 0.2%
  • Shell 0.1%