diff --git a/CLAUDE.md b/CLAUDE.md index 4d53db0d..2e356aad 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -74,7 +74,7 @@ The support matrix is **auto-generated** at configure time from the `WORKLOADS` | `cc/d2pl/` | — | — | ✓ | sBoMB + dBoMB | **Not built by default** ([CMakeLists.txt](CMakeLists.txt) keeps the line commented): -- `cc/occ/` — present in tree but uses a plain Makefile, not wired into the CMake tree. +- [cc/occ/](cc/occ/) — present in tree but uses a plain Makefile on the legacy uint64-key API, not wired into the CMake tree. `cc/si/` is a fresh implementation derived from `cc/ermia/` by stripping the SSN (Serial Safety Net) layer; the original legacy `si/` (uint64-key API) was replaced. `cc/d2pl/` deliberately doesn't support TPC-C — its deterministic locking model needs pre-declared `lock_entries_`, which the optimistic-style TPC-C templates don't provide. diff --git a/occ/Makefile b/cc/occ/Makefile similarity index 88% rename from occ/Makefile rename to cc/occ/Makefile index 8eceadea..990d0fe2 100644 --- a/occ/Makefile +++ b/cc/occ/Makefile @@ -1,7 +1,7 @@ PROG1 = occ.exe SV_FORMAT_SRCS1 := occ.cc transaction.cc util.cc result.cc -REL := ../common/ +REL := ../../common/ include $(REL)Makefile SV_FORMAT_ALLSRC = $(SV_FORMAT_SRCS1) $(SRCS2) $(wildcard include/*.hh) @@ -35,7 +35,7 @@ CFLAGS = -c -pipe -g -O3 -std=c++17 -march=native \ -DWAL=$(WAL) \ INCLUDE = -I/usr/include \ - -I../third_party/ \ + -I../../third_party/ \ LDLIBS = -lpthread -lboost_filesystem -lboost_system -lgflags -lglog @@ -43,7 +43,7 @@ OBJS1 = $(SV_FORMAT_SRCS1:.cc=.o) all: $(PROG1) -include ../include/MakefileForMasstreeUse +include ../../include/MakefileForMasstreeUse $(PROG1) : $(OBJS1) $(MASSOBJ) $(CC) -o $@ $^ $(LDFLAGS) $(LDLIBS) $(INCLUDE) @@ -55,5 +55,5 @@ format: clean: rm -f *~ *.o *.exe *.stackdump - rm -f ../common/*~ ../common/*.o ../common/*.exe ../common/*.stackdump + rm -f ../../common/*~ ../../common/*.o ../../common/*.exe ../../common/*.stackdump rm -rf .deps diff --git a/occ/README.md b/cc/occ/README.md similarity index 100% rename from occ/README.md rename to cc/occ/README.md diff --git a/occ/include/atomic_tool.hh b/cc/occ/include/atomic_tool.hh similarity index 94% rename from occ/include/atomic_tool.hh rename to cc/occ/include/atomic_tool.hh index 36a62ad2..85a2c9a0 100644 --- a/occ/include/atomic_tool.hh +++ b/cc/occ/include/atomic_tool.hh @@ -2,7 +2,7 @@ #include "common.hh" -#include "../../include/inline.hh" +#include "../../../include/inline.hh" INLINE uint64_t atomicLoadGE(); diff --git a/occ/include/common.hh b/cc/occ/include/common.hh similarity index 92% rename from occ/include/common.hh rename to cc/occ/include/common.hh index bb95fa6f..1994482f 100644 --- a/occ/include/common.hh +++ b/cc/occ/include/common.hh @@ -6,9 +6,9 @@ #include "tuple.hh" -#include "../../include/cache_line_size.hh" -#include "../../include/int64byte.hh" -#include "../../include/masstree_wrapper.hh" +#include "../../../include/cache_line_size.hh" +#include "../../../include/int64byte.hh" +#include "../../../include/masstree_wrapper.hh" #include "gflags/gflags.h" #include "glog/logging.h" diff --git a/occ/include/log.hh b/cc/occ/include/log.hh similarity index 100% rename from occ/include/log.hh rename to cc/occ/include/log.hh diff --git a/occ/include/occ_op_element.hh b/cc/occ/include/occ_op_element.hh similarity index 94% rename from occ/include/occ_op_element.hh rename to cc/occ/include/occ_op_element.hh index 8da5c9a6..1f117dad 100644 --- a/occ/include/occ_op_element.hh +++ b/cc/occ/include/occ_op_element.hh @@ -1,6 +1,6 @@ #pragma once -#include "../../include/op_element.hh" +#include "../../../include/op_element.hh" template class ReadElement : public OpElement { diff --git a/occ/include/result.hh b/cc/occ/include/result.hh similarity index 72% rename from occ/include/result.hh rename to cc/occ/include/result.hh index d6e6ad40..904684ba 100644 --- a/occ/include/result.hh +++ b/cc/occ/include/result.hh @@ -2,7 +2,7 @@ #include -#include "../../include/result.hh" +#include "../../../include/result.hh" extern std::vector OccResult; diff --git a/occ/include/transaction.hh b/cc/occ/include/transaction.hh similarity index 93% rename from occ/include/transaction.hh rename to cc/occ/include/transaction.hh index 0660e117..c6e3118f 100644 --- a/occ/include/transaction.hh +++ b/cc/occ/include/transaction.hh @@ -4,10 +4,10 @@ #include #include -#include "../../include/fileio.hh" -#include "../../include/procedure.hh" -#include "../../include/result.hh" -#include "../../include/string.hh" +#include "../../../include/fileio.hh" +#include "../../../include/procedure.hh" +#include "../../../include/result.hh" +#include "../../../include/string.hh" #include "common.hh" #include "log.hh" #include "occ_op_element.hh" diff --git a/occ/include/tuple.hh b/cc/occ/include/tuple.hh similarity index 75% rename from occ/include/tuple.hh rename to cc/occ/include/tuple.hh index b3f37222..ae7244a1 100644 --- a/occ/include/tuple.hh +++ b/cc/occ/include/tuple.hh @@ -6,7 +6,7 @@ #include #include -#include "../../include/cache_line_size.hh" +#include "../../../include/cache_line_size.hh" class Tuple { public: diff --git a/occ/include/util.hh b/cc/occ/include/util.hh similarity index 100% rename from occ/include/util.hh rename to cc/occ/include/util.hh diff --git a/occ/occ.cc b/cc/occ/occ.cc similarity index 90% rename from occ/occ.cc rename to cc/occ/occ.cc index 3d06ba2a..585fd66c 100644 --- a/occ/occ.cc +++ b/cc/occ/occ.cc @@ -19,18 +19,18 @@ #include "include/transaction.hh" #include "include/util.hh" -#include "../include/atomic_wrapper.hh" -#include "../include/backoff.hh" -#include "../include/cpu.hh" -#include "../include/debug.hh" -#include "../include/fileio.hh" -#include "../include/masstree_wrapper.hh" -#include "../include/random.hh" -#include "../include/result.hh" -#include "../include/rwlock.hh" -#include "../include/tsc.hh" -#include "../include/util.hh" -#include "../include/zipf.hh" +#include "../../include/atomic_wrapper.hh" +#include "../../include/backoff.hh" +#include "../../include/cpu.hh" +#include "../../include/debug.hh" +#include "../../include/fileio.hh" +#include "../../include/masstree_wrapper.hh" +#include "../../include/random.hh" +#include "../../include/result.hh" +#include "../../include/rwlock.hh" +#include "../../include/tsc.hh" +#include "../../include/util.hh" +#include "../../include/zipf.hh" using namespace std; diff --git a/occ/result.cc b/cc/occ/result.cc similarity index 76% rename from occ/result.cc rename to cc/occ/result.cc index 58f59091..c26e4712 100644 --- a/occ/result.cc +++ b/cc/occ/result.cc @@ -1,8 +1,8 @@ #include "include/result.hh" #include "include/common.hh" -#include "../include/cache_line_size.hh" -#include "../include/result.hh" +#include "../../include/cache_line_size.hh" +#include "../../include/result.hh" using namespace std; diff --git a/occ/transaction.cc b/cc/occ/transaction.cc similarity index 94% rename from occ/transaction.cc rename to cc/occ/transaction.cc index 36e77f52..7f550710 100644 --- a/occ/transaction.cc +++ b/cc/occ/transaction.cc @@ -12,12 +12,12 @@ #include "include/log.hh" #include "include/transaction.hh" -#include "../include/backoff.hh" -#include "../include/debug.hh" -#include "../include/fileio.hh" -#include "../include/masstree_wrapper.hh" -#include "../include/tsc.hh" -#include "../include/util.hh" +#include "../../include/backoff.hh" +#include "../../include/debug.hh" +#include "../../include/fileio.hh" +#include "../../include/masstree_wrapper.hh" +#include "../../include/tsc.hh" +#include "../../include/util.hh" extern void displayDB(); diff --git a/occ/util.cc b/cc/occ/util.cc similarity index 91% rename from occ/util.cc rename to cc/occ/util.cc index 6430ea42..ef08e77b 100644 --- a/occ/util.cc +++ b/cc/occ/util.cc @@ -19,15 +19,15 @@ #include "include/tuple.hh" #include "include/util.hh" -#include "../include/cache_line_size.hh" -#include "../include/config.hh" -#include "../include/debug.hh" -#include "../include/masstree_wrapper.hh" -#include "../include/procedure.hh" -#include "../include/random.hh" -#include "../include/tsc.hh" -#include "../include/util.hh" -#include "../include/zipf.hh" +#include "../../include/cache_line_size.hh" +#include "../../include/config.hh" +#include "../../include/debug.hh" +#include "../../include/masstree_wrapper.hh" +#include "../../include/procedure.hh" +#include "../../include/random.hh" +#include "../../include/tsc.hh" +#include "../../include/util.hh" +#include "../../include/zipf.hh" void chkArg() { displayParameter(); diff --git a/docs/protocols.md b/docs/protocols.md index 56035171..c9c2804a 100644 --- a/docs/protocols.md +++ b/docs/protocols.md @@ -27,8 +27,8 @@ build). | Directory | Notes | |---|---| -| `cc/occ/` (not yet moved) | K&R OCC (Kung & Robinson, 1981). Uses a plain Makefile, not wired into the CMake tree. | +| [cc/occ](../cc/occ/) | K&R OCC (Kung & Robinson, 1981). Uses a plain Makefile (on the legacy uint64-key API), not wired into the CMake tree. | -To enable, add it to the `foreach(_proto …)` loop in the top-level -[CMakeLists.txt](../CMakeLists.txt) once it has a `ccbench_add_protocol(...)` -entry under `cc/`. +To enable, port `cc/occ/` to a `ccbench_add_protocol(...)` entry and add +it to the `foreach(_proto …)` loop in the top-level +[CMakeLists.txt](../CMakeLists.txt).