jssmith / ray-benchmarks

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Ray Benchmarks and Stress Tests

Install Ray with Docker

Install Docker and build the Ray Docker images.

Confirm that the image ray-project/deploy is present by running the command:

docker images

Build the Benchmark Docker image

Run the command:

./build-docker.sh

Run

To run a parameter sweep:

python stress/sweep.py \
    --experiment-name=first_test \
    --log-directory=logs \
    config/test.json

This command runs a variety of system and workload configurations, writing outputs to the logs directory.

Analyze

python stress/analyze.py logs

Tips

Run workload script

Workload scripts should be designed to run from the command line as well as from within the benchmark environment. Try running one with the following command:

python workload_scripts/wc.py

Iterate an individual workload

The loop script runs workloads iteratively and allows for straightforward configuration of the Ray system. Try it with the following example:

python stress/loop.py \
    --workload=workloads/wc.py \
    --num-workers=10 \
    --num-nodes=2 \
    --shm-size=1G \
    --iteration-target=3

Managing Docker

The loop script starts Docker containers and contains logic to kill them if they are running for too long. Still, you may find yourself wanting to manually inspect or kill Docker containers.

To see what Docker container are running use:

docker ps

Note the container id of interest and use it in place of <container-id> in the commands that follow.

To open a shell within a container for debugging use:

docker exec -t -i <container-id>

To kill a single Docker container use:

docker kill <container-id>

To kill all running docker containers use:

docker kill $(docker ps -q)

About


Languages

Language:Python 99.6%Language:Shell 0.4%