Skip to content

Commit

Permalink
add details about set 3 setup
Browse files Browse the repository at this point in the history
  • Loading branch information
utaal committed Aug 19, 2024
1 parent d523879 commit e136cc6
Showing 1 changed file with 36 additions and 4 deletions.
40 changes: 36 additions & 4 deletions site/guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -75,11 +75,42 @@ same structure as the figure in the paper, `results/macro-table.pdf`.

From the local machine, copy the results off the cloudlab instance. On Linux you can use something like the following:

```sh
```shell
scp '<username>@<node>.cloudlab.us:/mydata/verus-sosp24-artifact/macro-stats/results/results.json' .
scp '<username>@<node>.cloudlab.us:/mydata/verus-sosp24-artifact/macro-stats/results/macro-table.pdf' .
```

**Step TODO. Run the persistent memory log performance evaluation (Figure 13).**

VM setup:

1. Run [`setup.sh`](http://setup.sh) to download an Ubuntu cloud image and set it up. This script sets the username and password for login to `ubuntu`.
2. Run [`boot.sh`](http://boot.sh) to boot the VM. This starts the VM with 4 cores and 16GB of memory.
3. Open a separate terminal and SSH in: `ssh ubuntu@localhostubuntu@localhost -p 2222`
4. In the VM, run the following commands to install Rust and dependencies for the experiment and PM emulation.
```
sudo apt update
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
sudo apt install -y linux-generic llvm-dev libclang-dev clang libpmem1 libpmemlog1 libpmem-dev libpmemlog-dev build-essential
```
5. Edit `/etc/default/grub` and change the line containing `GRUB_CMDLINE_LINUX` to `GRUB_CMDLINE_LINUX="memmap=8G!4G"`. This will emulate 8GB of PM, starting at offset 4GB in DRAM.
6. Run `sudo update-grub` and reboot the VM.
7. Log back into the VM and run `ls /dev | grep pmem`. The output should be `pmem0` -- this is the emulated PM device we will use for experiments.
Running experiments:
```shell
cd /mydata
git clone --single-branch --branch generic_trait_serialization https://github.com/microsoft/verified-storage.git
cd verified-storage
```

1. Clone this repository on the VM.
2. `cd artifact_eval/experiment/verif-storage-eval` and run `cargo build --release` to build the experiment crate and its dependencies, including PMDK and verified logs.
3. Run `sudo mkdir /mnt/pmem` to create a mount point for the experiment to use.
4. Move to the `artifact_eval/experiment` directory and run `run.sh /dev/pmem0 /mnt/pmem/ <output_dir>`.
1. This command will run the full experiment (9 append sizes, 10 iterations each) on each of the three PM logs (the inital verified log, the current verified log, and PMDK's `libpmemlog`). The output will be placed in the directory indicated by the `output_dir` argument.

## Set 2

### Claims
Expand Down Expand Up @@ -149,13 +180,14 @@ performance and scaling behavior (throughput).

Start a Linux x86_64 machine, with at least 2 NUMA nodes, and Ubuntu 22.04. **We recommend CloudLab r650.**

If you run on CloudLab, you can follow the instructions that follow. If you start a different machine or VM, the only requirement
to follow the same instructions is that `/mydata` is a directory on a mount with at least 50GB of free space.
Note that the commands and scripts in the following will manipulate the permissions of `/mydata`.

#### 1. Installing Dependencies

The following instructions will install all dependencies required to build and run the benchmarks.

Base Image: `Ubuntu 22.04 LTS.`


```shell
sudo apt-get update
sudo apt-get install -y curl wget liburcu-dev libhwloc-dev python3-venv texlive-xetex texlive-fonts-extra pkg-config clang make g++
Expand Down

0 comments on commit e136cc6

Please sign in to comment.