Skip to content
10 changes: 9 additions & 1 deletion .github/actions/setup-disk-benchmark/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,16 @@ runs:
steps:
- name: Install Rust
shell: bash
run: rustup show
run: |
if ! command -v rustup &>/dev/null; then
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
echo "$HOME/.cargo/bin" >> "$GITHUB_PATH"
fi

- name: Show Rust toolchain
shell: bash
run: rustup show

- name: Install system dependencies
shell: bash
run: |
Expand Down
14 changes: 13 additions & 1 deletion .github/workflows/disk-benchmarks-aa.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ jobs:
# A/A benchmark: run main vs main to detect environment noise.
aa-benchmark:
name: A/A - ${{ matrix.dataset }}
runs-on: ubuntu-latest
runs-on: [ self-hosted, 1ES.Pool=diskann-github, ubuntu-latest ]
timeout-minutes: 120
strategy:
fail-fast: false
Expand All @@ -51,6 +51,18 @@ jobs:
archive: openai-100K.tar.gz

steps:
- name: Mount high-speed NVMe SSD
shell: bash
run: |
sudo mkdir -p /mnt/nvme
sudo lsblk
sudo mkfs.ext4 /dev/nvme0n1
sudo mount /dev/nvme0n1 /mnt/nvme
sudo chmod 777 /mnt/nvme
mkdir -p /mnt/nvme/diskann_rust /mnt/nvme/baseline
ln -s /mnt/nvme/diskann_rust diskann_rust
ln -s /mnt/nvme/baseline baseline

- name: Checkout main
uses: actions/checkout@v4
with:
Expand Down
14 changes: 13 additions & 1 deletion .github/workflows/disk-benchmarks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ jobs:
# Macro benchmark: compare current branch against baseline
macro-benchmark:
name: Macro Benchmark - ${{ matrix.dataset }}
runs-on: ubuntu-latest
runs-on: [ self-hosted, 1ES.Pool=diskann-github, ubuntu-latest ]
# TODO: For production benchmarks, consider using a self-hosted runner with:
# - NVMe storage for consistent I/O performance
# - CPU pinning (taskset) for reduced variance
Expand All @@ -74,6 +74,18 @@ jobs:
data_dir: OpenAIArXiv

steps:
- name: Mount high-speed NVMe SSD
shell: bash
run: |
sudo mkdir -p /mnt/nvme
sudo lsblk
sudo mkfs.ext4 /dev/nvme0n1
sudo mount /dev/nvme0n1 /mnt/nvme
sudo chmod 777 /mnt/nvme
mkdir -p /mnt/nvme/diskann_rust /mnt/nvme/baseline
ln -s /mnt/nvme/diskann_rust diskann_rust
ln -s /mnt/nvme/baseline baseline

- name: Checkout current branch
uses: actions/checkout@v4
with:
Expand Down
Loading