├── .github ├── dependabot.yml └── workflows │ ├── clippy.yml │ └── nr.yml ├── .gitignore ├── .gitlab-ci.yml ├── CODE-OF-CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE-APACHE ├── LICENSE-MIT ├── NOTICE ├── README.md ├── bench_utils ├── Cargo.toml ├── README.md └── src │ ├── benchmark.rs │ ├── cnr_mkbench.rs │ ├── lib.rs │ ├── mkbench.rs │ └── topology.rs ├── commitable.sh ├── graphs ├── skylake4x-throughput-vs-cores.png └── skylake4x-throughput-vs-wr.png ├── node-replication ├── Cargo.toml ├── benches │ ├── README.md │ ├── chashbench.rs │ ├── hashbench │ │ ├── hashbench_plot.r │ │ ├── hashbench_run.sh │ │ └── main.rs │ ├── hashmap │ │ ├── hashmap_comparisons.rs │ │ └── main.rs │ ├── lockfree │ │ ├── comparisons.rs │ │ ├── main.rs │ │ └── partitioned.rs │ ├── log.rs │ ├── nrfs.rs │ ├── rwlockbench │ │ ├── main.rs │ │ ├── rwlockbench_plot.r │ │ └── rwlockbench_run.sh │ ├── stack.rs │ ├── synthetic.rs │ └── vspace.rs ├── examples │ ├── cnr_btreeset.rs │ ├── cnr_hashmap.rs │ ├── cnr_stack.rs │ ├── nr_async_hashmap.rs │ ├── nr_btreeset.rs │ ├── nr_hashmap.rs │ └── nr_stack.rs ├── rust-toolchain ├── src │ ├── cnr │ │ ├── context.rs │ │ ├── log.rs │ │ ├── mod.rs │ │ └── replica.rs │ ├── context.rs │ ├── lib.rs │ ├── log.rs │ ├── nr │ │ ├── context.rs │ │ ├── log.rs │ │ ├── loom_rwlock.rs │ │ ├── mod.rs │ │ ├── replica.rs │ │ ├── reusable_box.rs │ │ └── rwlock.rs │ └── replica.rs └── tests │ ├── cnr_hashmap.rs │ ├── cnr_verify.rs │ ├── nr_read_linearizes.rs │ └── nr_stack.rs ├── rust-toolchain ├── scripts └── ci.bash └── verification └── ivy ├── nr_log.ivy ├── nr_log_atomic.ivy └── nr_log_demo.ivy /.github/dependabot.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vmware/node-replication/HEAD/.github/dependabot.yml -------------------------------------------------------------------------------- /.github/workflows/clippy.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vmware/node-replication/HEAD/.github/workflows/clippy.yml -------------------------------------------------------------------------------- /.github/workflows/nr.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vmware/node-replication/HEAD/.github/workflows/nr.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vmware/node-replication/HEAD/.gitignore -------------------------------------------------------------------------------- /.gitlab-ci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vmware/node-replication/HEAD/.gitlab-ci.yml -------------------------------------------------------------------------------- /CODE-OF-CONDUCT.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vmware/node-replication/HEAD/CODE-OF-CONDUCT.md -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vmware/node-replication/HEAD/CONTRIBUTING.md -------------------------------------------------------------------------------- /LICENSE-APACHE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vmware/node-replication/HEAD/LICENSE-APACHE -------------------------------------------------------------------------------- /LICENSE-MIT: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vmware/node-replication/HEAD/LICENSE-MIT -------------------------------------------------------------------------------- /NOTICE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vmware/node-replication/HEAD/NOTICE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vmware/node-replication/HEAD/README.md -------------------------------------------------------------------------------- /bench_utils/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vmware/node-replication/HEAD/bench_utils/Cargo.toml -------------------------------------------------------------------------------- /bench_utils/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vmware/node-replication/HEAD/bench_utils/README.md -------------------------------------------------------------------------------- /bench_utils/src/benchmark.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vmware/node-replication/HEAD/bench_utils/src/benchmark.rs -------------------------------------------------------------------------------- /bench_utils/src/cnr_mkbench.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vmware/node-replication/HEAD/bench_utils/src/cnr_mkbench.rs -------------------------------------------------------------------------------- /bench_utils/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vmware/node-replication/HEAD/bench_utils/src/lib.rs -------------------------------------------------------------------------------- /bench_utils/src/mkbench.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vmware/node-replication/HEAD/bench_utils/src/mkbench.rs -------------------------------------------------------------------------------- /bench_utils/src/topology.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vmware/node-replication/HEAD/bench_utils/src/topology.rs -------------------------------------------------------------------------------- /commitable.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vmware/node-replication/HEAD/commitable.sh -------------------------------------------------------------------------------- /graphs/skylake4x-throughput-vs-cores.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vmware/node-replication/HEAD/graphs/skylake4x-throughput-vs-cores.png -------------------------------------------------------------------------------- /graphs/skylake4x-throughput-vs-wr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vmware/node-replication/HEAD/graphs/skylake4x-throughput-vs-wr.png -------------------------------------------------------------------------------- /node-replication/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vmware/node-replication/HEAD/node-replication/Cargo.toml -------------------------------------------------------------------------------- /node-replication/benches/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vmware/node-replication/HEAD/node-replication/benches/README.md -------------------------------------------------------------------------------- /node-replication/benches/chashbench.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vmware/node-replication/HEAD/node-replication/benches/chashbench.rs -------------------------------------------------------------------------------- /node-replication/benches/hashbench/hashbench_plot.r: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vmware/node-replication/HEAD/node-replication/benches/hashbench/hashbench_plot.r -------------------------------------------------------------------------------- /node-replication/benches/hashbench/hashbench_run.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vmware/node-replication/HEAD/node-replication/benches/hashbench/hashbench_run.sh -------------------------------------------------------------------------------- /node-replication/benches/hashbench/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vmware/node-replication/HEAD/node-replication/benches/hashbench/main.rs -------------------------------------------------------------------------------- /node-replication/benches/hashmap/hashmap_comparisons.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vmware/node-replication/HEAD/node-replication/benches/hashmap/hashmap_comparisons.rs -------------------------------------------------------------------------------- /node-replication/benches/hashmap/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vmware/node-replication/HEAD/node-replication/benches/hashmap/main.rs -------------------------------------------------------------------------------- /node-replication/benches/lockfree/comparisons.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vmware/node-replication/HEAD/node-replication/benches/lockfree/comparisons.rs -------------------------------------------------------------------------------- /node-replication/benches/lockfree/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vmware/node-replication/HEAD/node-replication/benches/lockfree/main.rs -------------------------------------------------------------------------------- /node-replication/benches/lockfree/partitioned.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vmware/node-replication/HEAD/node-replication/benches/lockfree/partitioned.rs -------------------------------------------------------------------------------- /node-replication/benches/log.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vmware/node-replication/HEAD/node-replication/benches/log.rs -------------------------------------------------------------------------------- /node-replication/benches/nrfs.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vmware/node-replication/HEAD/node-replication/benches/nrfs.rs -------------------------------------------------------------------------------- /node-replication/benches/rwlockbench/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vmware/node-replication/HEAD/node-replication/benches/rwlockbench/main.rs -------------------------------------------------------------------------------- /node-replication/benches/rwlockbench/rwlockbench_plot.r: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vmware/node-replication/HEAD/node-replication/benches/rwlockbench/rwlockbench_plot.r -------------------------------------------------------------------------------- /node-replication/benches/rwlockbench/rwlockbench_run.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vmware/node-replication/HEAD/node-replication/benches/rwlockbench/rwlockbench_run.sh -------------------------------------------------------------------------------- /node-replication/benches/stack.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vmware/node-replication/HEAD/node-replication/benches/stack.rs -------------------------------------------------------------------------------- /node-replication/benches/synthetic.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vmware/node-replication/HEAD/node-replication/benches/synthetic.rs -------------------------------------------------------------------------------- /node-replication/benches/vspace.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vmware/node-replication/HEAD/node-replication/benches/vspace.rs -------------------------------------------------------------------------------- /node-replication/examples/cnr_btreeset.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vmware/node-replication/HEAD/node-replication/examples/cnr_btreeset.rs -------------------------------------------------------------------------------- /node-replication/examples/cnr_hashmap.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vmware/node-replication/HEAD/node-replication/examples/cnr_hashmap.rs -------------------------------------------------------------------------------- /node-replication/examples/cnr_stack.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vmware/node-replication/HEAD/node-replication/examples/cnr_stack.rs -------------------------------------------------------------------------------- /node-replication/examples/nr_async_hashmap.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vmware/node-replication/HEAD/node-replication/examples/nr_async_hashmap.rs -------------------------------------------------------------------------------- /node-replication/examples/nr_btreeset.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vmware/node-replication/HEAD/node-replication/examples/nr_btreeset.rs -------------------------------------------------------------------------------- /node-replication/examples/nr_hashmap.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vmware/node-replication/HEAD/node-replication/examples/nr_hashmap.rs -------------------------------------------------------------------------------- /node-replication/examples/nr_stack.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vmware/node-replication/HEAD/node-replication/examples/nr_stack.rs -------------------------------------------------------------------------------- /node-replication/rust-toolchain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vmware/node-replication/HEAD/node-replication/rust-toolchain -------------------------------------------------------------------------------- /node-replication/src/cnr/context.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vmware/node-replication/HEAD/node-replication/src/cnr/context.rs -------------------------------------------------------------------------------- /node-replication/src/cnr/log.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vmware/node-replication/HEAD/node-replication/src/cnr/log.rs -------------------------------------------------------------------------------- /node-replication/src/cnr/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vmware/node-replication/HEAD/node-replication/src/cnr/mod.rs -------------------------------------------------------------------------------- /node-replication/src/cnr/replica.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vmware/node-replication/HEAD/node-replication/src/cnr/replica.rs -------------------------------------------------------------------------------- /node-replication/src/context.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vmware/node-replication/HEAD/node-replication/src/context.rs -------------------------------------------------------------------------------- /node-replication/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vmware/node-replication/HEAD/node-replication/src/lib.rs -------------------------------------------------------------------------------- /node-replication/src/log.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vmware/node-replication/HEAD/node-replication/src/log.rs -------------------------------------------------------------------------------- /node-replication/src/nr/context.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vmware/node-replication/HEAD/node-replication/src/nr/context.rs -------------------------------------------------------------------------------- /node-replication/src/nr/log.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vmware/node-replication/HEAD/node-replication/src/nr/log.rs -------------------------------------------------------------------------------- /node-replication/src/nr/loom_rwlock.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vmware/node-replication/HEAD/node-replication/src/nr/loom_rwlock.rs -------------------------------------------------------------------------------- /node-replication/src/nr/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vmware/node-replication/HEAD/node-replication/src/nr/mod.rs -------------------------------------------------------------------------------- /node-replication/src/nr/replica.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vmware/node-replication/HEAD/node-replication/src/nr/replica.rs -------------------------------------------------------------------------------- /node-replication/src/nr/reusable_box.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vmware/node-replication/HEAD/node-replication/src/nr/reusable_box.rs -------------------------------------------------------------------------------- /node-replication/src/nr/rwlock.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vmware/node-replication/HEAD/node-replication/src/nr/rwlock.rs -------------------------------------------------------------------------------- /node-replication/src/replica.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vmware/node-replication/HEAD/node-replication/src/replica.rs -------------------------------------------------------------------------------- /node-replication/tests/cnr_hashmap.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vmware/node-replication/HEAD/node-replication/tests/cnr_hashmap.rs -------------------------------------------------------------------------------- /node-replication/tests/cnr_verify.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vmware/node-replication/HEAD/node-replication/tests/cnr_verify.rs -------------------------------------------------------------------------------- /node-replication/tests/nr_read_linearizes.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vmware/node-replication/HEAD/node-replication/tests/nr_read_linearizes.rs -------------------------------------------------------------------------------- /node-replication/tests/nr_stack.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vmware/node-replication/HEAD/node-replication/tests/nr_stack.rs -------------------------------------------------------------------------------- /rust-toolchain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vmware/node-replication/HEAD/rust-toolchain -------------------------------------------------------------------------------- /scripts/ci.bash: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vmware/node-replication/HEAD/scripts/ci.bash -------------------------------------------------------------------------------- /verification/ivy/nr_log.ivy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vmware/node-replication/HEAD/verification/ivy/nr_log.ivy -------------------------------------------------------------------------------- /verification/ivy/nr_log_atomic.ivy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vmware/node-replication/HEAD/verification/ivy/nr_log_atomic.ivy -------------------------------------------------------------------------------- /verification/ivy/nr_log_demo.ivy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vmware/node-replication/HEAD/verification/ivy/nr_log_demo.ivy --------------------------------------------------------------------------------