Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@ The repository now also bundles the **TPC-C** and **BoMB** workloads, and severa
| Protocol | YCSB | TPC-C | BoMB |
|---|:-:|:-:|:-:|
| Silo, MOCC, Cicada, ERMIA, TicToc, Oze, SI | ✓ | ✓ | ✓ |
| SS2PL, MVTO | — | ✓ | ✓ |
| SS2PL | ✓ | ✓ | ✓ |
| MVTO | — | ✓ | ✓ |
| D2PL | — | — | ✓ |

See [docs/workloads_en.md](docs/workloads_en.md) for the workload specs (tables, transactions, parameters) and [docs/protocols_en.md](docs/protocols_en.md) for the full protocol matrix.
Expand Down
2 changes: 1 addition & 1 deletion cc/ss2pl/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
ccbench_add_protocol(ss2pl
SOURCES transaction.cc util.cc
WORKLOADS bomb tpcc
WORKLOADS ycsb bomb tpcc
OPTIONS
DLR1
KEY_SORT=${CCBENCH_KEY_SORT}
Expand Down
122 changes: 0 additions & 122 deletions cc/ss2pl/ss2pl.cc

This file was deleted.

42 changes: 42 additions & 0 deletions cc/ss2pl/ycsb_ss2pl.cc
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
#define GLOBAL_VALUE_DEFINE

#include "include/common.hh"
#include "include/result.hh"
#include "include/transaction.hh"
#include "include/util.hh"

#include "../../include/cpu.hh"
#include "../../include/debug.hh"
#include "../../include/masstree_wrapper.hh"
#include "../../include/result.hh"
#include "../../include/tsc.hh"
#include "../../include/util.hh"
#include "../../include/ycsb.hh"

#include "../../common/runner.hh"

int main(int argc, char* argv[]) try {
gflags::SetUsageMessage("YCSB SS2PL benchmark.");
gflags::ParseCommandLineFlags(&argc, &argv, true);
chkArg();
YcsbWorkload::displayWorkloadParameter();
YcsbWorkload::makeDB<Tuple, void>(nullptr);

initResult(TotalThreadNum);

ccbench::run<TxExecutor, TransactionStatus, YcsbWorkload>(
TotalThreadNum, ccbench::RunnerOptions{},
[](std::size_t thid, const bool& quit, Backoff& /*unused*/) {
return TxExecutor(thid, &CCBenchResults[thid], quit);
},
[](TxExecutor& /*trans*/, std::size_t thid) {
#ifdef Linux
setThreadAffinity(thid);
#endif
#if MASSTREE_USE
MasstreeWrapper<Tuple>::thread_init(static_cast<int>(thid));
#endif
});

return 0;
} catch (const std::bad_alloc&) { ERR; }
4 changes: 2 additions & 2 deletions docs/protocols_en.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ for the declarative helper). All are driven from the top-level
| [cc/ermia](../cc/ermia/) | ERMIA (with SSN / latch-free SSN) | ✓ | ✓ | ✓ | Kim et al., SIGMOD 2016; Wang et al., VLDB 2017 |
| [cc/oze](../cc/oze/) | Oze | ✓ | ✓ | ✓ | Multi-version OCC variant |
| [cc/si](../cc/si/) | Snapshot Isolation | ✓ | ✓ | ✓ | ERMIA without the SSN layer (no anti-dependency check) |
| [cc/ss2pl](../cc/ss2pl/) | Strong Strict 2-Phase Locking | | ✓ | ✓ | Baseline locking |
| [cc/ss2pl](../cc/ss2pl/) | Strong Strict 2-Phase Locking | | ✓ | ✓ | Baseline locking |
| [cc/d2pl](../cc/d2pl/) | Deterministic 2PL | — | — | ✓ | sBoMB and dBoMB only; pre-declared lock entries make TPC-C templates inapplicable |
| [cc/mvto](../cc/mvto/) | Multi-Version Timestamp Ordering | — | ✓ | ✓ | Reed, 1978 |

Expand All @@ -41,7 +41,7 @@ argument of every `ccbench_add_protocol(...)` call. The current snapshot:
| `cc/tictoc/` | ✓ | ✓ | ✓ | ✓ | — |
| `cc/oze/` | ✓ | ✓ | ✓ | — | — |
| `cc/si/` | ✓ | ✓ | ✓ | ✓ | — |
| `cc/ss2pl/` | | ✓ | ✓ | — | — |
| `cc/ss2pl/` | | ✓ | ✓ | — | — |
| `cc/mvto/` | — | ✓ | ✓ | — | — |
| `cc/d2pl/` | — | — | ✓ | ✓ | ✓ |

Expand Down
4 changes: 2 additions & 2 deletions docs/protocols_ja.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
| [cc/ermia](../cc/ermia/) | ERMIA (with SSN / latch-free SSN) | ✓ | ✓ | ✓ | Kim et al., SIGMOD 2016; Wang et al., VLDB 2017 |
| [cc/oze](../cc/oze/) | Oze | ✓ | ✓ | ✓ | Multi-version OCC の派生 |
| [cc/si](../cc/si/) | Snapshot Isolation | ✓ | ✓ | ✓ | ERMIA から SSN レイヤを剥がしたもの (anti-dependency チェック無し) |
| [cc/ss2pl](../cc/ss2pl/) | Strong Strict 2-Phase Locking | | ✓ | ✓ | ベースラインのロック方式 |
| [cc/ss2pl](../cc/ss2pl/) | Strong Strict 2-Phase Locking | | ✓ | ✓ | ベースラインのロック方式 |
| [cc/d2pl](../cc/d2pl/) | Deterministic 2PL | — | — | ✓ | sBoMB と dBoMB のみサポート。pre-declared lock entries が必要なため TPC-C テンプレートには適用不能 |
| [cc/mvto](../cc/mvto/) | Multi-Version Timestamp Ordering | — | ✓ | ✓ | Reed, 1978 |

Expand All @@ -30,7 +30,7 @@
| `cc/tictoc/` | ✓ | ✓ | ✓ | ✓ | — |
| `cc/oze/` | ✓ | ✓ | ✓ | — | — |
| `cc/si/` | ✓ | ✓ | ✓ | ✓ | — |
| `cc/ss2pl/` | | ✓ | ✓ | — | — |
| `cc/ss2pl/` | | ✓ | ✓ | — | — |
| `cc/mvto/` | — | ✓ | ✓ | — | — |
| `cc/d2pl/` | — | — | ✓ | ✓ | ✓ |

Expand Down