model-checker-benchmarks.git
11 years agompmc-queue: add top-level Makefile
Brian Norris [Wed, 10 Oct 2012 22:50:48 +0000 (15:50 -0700)]
mpmc-queue: add top-level Makefile

11 years agofixup makefiles
Brian Norris [Wed, 10 Oct 2012 22:41:51 +0000 (15:41 -0700)]
fixup makefiles

11 years agobenchmarks: revert back to strong/weak compare-exchange
Brian Norris [Wed, 10 Oct 2012 22:20:17 +0000 (15:20 -0700)]
benchmarks: revert back to strong/weak compare-exchange

I fixed up the model-checker header, so these will compile.

11 years agompmc-queue: add test driver, Makefile, .gitignore
Brian Norris [Wed, 10 Oct 2012 21:25:33 +0000 (14:25 -0700)]
mpmc-queue: add test driver, Makefile, .gitignore

11 years agompmc-queue: fixup compilation
Brian Norris [Wed, 10 Oct 2012 21:22:26 +0000 (14:22 -0700)]
mpmc-queue: fixup compilation

* Remove "nonatomic" type template
* Don't use atomic<T>(T) constructor
* Don't use compare_exchange_weak()

11 years agompmc-queue: unrelacy
Brian Norris [Wed, 10 Oct 2012 20:59:35 +0000 (13:59 -0700)]
mpmc-queue: unrelacy

11 years agompmc-queue: add MPMC queue header
Brian Norris [Wed, 10 Oct 2012 20:54:56 +0000 (13:54 -0700)]
mpmc-queue: add MPMC queue header

From first example at:
http://cbloomrants.blogspot.com/2011/07/07-30-11-look-at-some-bounded-queues.html

11 years agomcs-lock: write proper driver
Brian Norris [Wed, 10 Oct 2012 18:11:55 +0000 (11:11 -0700)]
mcs-lock: write proper driver

11 years agomcs-lock: bugfix - didn't allocate mcs_mutex
Brian Norris [Wed, 10 Oct 2012 02:08:01 +0000 (19:08 -0700)]
mcs-lock: bugfix - didn't allocate mcs_mutex

This is a bug in the stupid driver I wrote (i.e., my fault). I was
struggling with the syntax, so I forgot to even initialize my objects.

11 years agoadd run.sh simple run script
Brian Norris [Wed, 10 Oct 2012 01:41:58 +0000 (18:41 -0700)]
add run.sh simple run script

11 years ago.gitignore
Brian Norris [Wed, 10 Oct 2012 01:41:00 +0000 (18:41 -0700)]
.gitignore

11 years agomcs-lock: add trivial driver, link with build system
Brian Norris [Wed, 10 Oct 2012 01:09:20 +0000 (18:09 -0700)]
mcs-lock: add trivial driver, link with build system

This benchmark doesn't do much yet.

11 years agomcs-lock: fixup Relacy code
Brian Norris [Wed, 10 Oct 2012 01:08:12 +0000 (18:08 -0700)]
mcs-lock: fixup Relacy code

Also, switch out 'compare_exchange_strong()' for 'compare_exchange()',
since we don't support the _strong syntax right now.

11 years agounrelacy: add some helpers for cleaning up relacy code
Brian Norris [Wed, 10 Oct 2012 01:05:33 +0000 (18:05 -0700)]
unrelacy: add some helpers for cleaning up relacy code

Relacy still uses a few things that I can't easily add, like a ()
operator for std::atomic<T>. We'll still have to replace some things by
hand in test cases written for Relacy.

11 years agomcs_lock: add mcs mutex
Brian Norris [Wed, 10 Oct 2012 00:13:47 +0000 (17:13 -0700)]
mcs_lock: add mcs mutex

From:
http://cbloomrants.blogspot.com/2011/07/07-18-11-mcs-list-based-lock_18.html

11 years agoadd top-level Makefile
Brian Norris [Tue, 9 Oct 2012 23:24:25 +0000 (16:24 -0700)]
add top-level Makefile

11 years agobarrier: add .gitignore
Brian Norris [Tue, 9 Oct 2012 23:24:16 +0000 (16:24 -0700)]
barrier: add .gitignore

11 years agobarrier: add test driver, Makefile
Brian Norris [Tue, 9 Oct 2012 23:23:40 +0000 (16:23 -0700)]
barrier: add test driver, Makefile

My own additions to test barrier.h

11 years agobenchmarks.mk: fixup linker flag
Brian Norris [Tue, 9 Oct 2012 22:01:25 +0000 (15:01 -0700)]
benchmarks.mk: fixup linker flag

11 years agobarrier: fixup atomic initialization
Brian Norris [Tue, 9 Oct 2012 18:57:05 +0000 (11:57 -0700)]
barrier: fixup atomic initialization

11 years agobarrier: add hand-written barrier implementation
Brian Norris [Tue, 9 Oct 2012 18:15:36 +0000 (11:15 -0700)]
barrier: add hand-written barrier implementation

Grabbed from:
http://stackoverflow.com/questions/8115267/writing-a-spinning-thread-barrier-using-c11-atomics

11 years agocommon benchmarks makefile definitions
Brian Norris [Tue, 9 Oct 2012 18:04:10 +0000 (11:04 -0700)]
common benchmarks makefile definitions

11 years agoadd "lock-free queue"
Brian Norris [Tue, 9 Oct 2012 17:57:56 +0000 (10:57 -0700)]
add "lock-free queue"

From:
http://www.codeproject.com/Articles/153898/Yet-another-implementation-of-a-lock-free-circular

License:
http://opensource.org/licenses/bsd-license.php

11 years ago.gitignore
Brian Norris [Tue, 9 Oct 2012 17:57:19 +0000 (10:57 -0700)]
.gitignore