Skip to main content

Quick Start Tutorial

Get IOWarp running with Docker in 5 minutes. This tutorial walks you through running the IOWarp runtime with buffering services.

Prerequisites

  • Docker and Docker Compose installed
  • At least 8 GB of available RAM

1. Create Configuration

Create a wrp_conf.yaml file:

# IOWarp Runtime Configuration
compose:
- mod_name: wrp_cte_core
pool_name: wrp_cte
pool_query: local
pool_id: 512.0
storage:
- path: "ram::cte_ram_tier1"
bdev_type: "ram"
capacity_limit: "16GB"
score: 0.0

Storage parameters:

ParameterDescription
pathram::<name> for RAM, /dev/<device> for block devices
bdev_typeram, nvme, or aio (async I/O)
capacity_limitMax capacity (KB, MB, GB, TB)
scoreTier priority: 0.0 = lowest, 1.0 = highest

2. Start the Runtime

Create a docker-compose.yml:

services:
iowarp-runtime:
image: iowarp/iowarp:latest
container_name: iowarp-runtime
volumes:
- ./wrp_conf.yaml:/etc/iowarp/wrp_conf.yaml:ro
ports:
- "5555:5555"
shm_size: 8g
mem_limit: 8g
ipc: shareable
stdin_open: true
tty: true
restart: "no"

Start it:

docker-compose up -d

3. Run Benchmarks

The demos/benchmark/ directory contains a complete Docker Compose setup for running CTE benchmarks:

cd demos/benchmark

# Run default benchmark (Put test)
docker-compose up

# Run specific test with custom parameters
TEST_CASE=Get IO_SIZE=4m IO_COUNT=1000 docker-compose up

Benchmark Parameters

ParameterDefaultDescription
TEST_CASEPutPut, Get, or PutGet
NUM_PROCS1Number of parallel processes
DEPTH4Queue depth for concurrent operations
IO_SIZE1mI/O operation size (b, k, m, g)
IO_COUNT100Number of operations

Next Steps

Support