deckarep / corebench

corebench - run your benchmarks against high performance computing servers with many CPU cores
MIT License
30 stars 2 forks source link
benchmark cli cloud go golang multi-core parallel-computing parallelization scaling

Build Status

corebench

Benchmark utility that's intended to exercise benchmarks and how they scale with a large number of cores.

TL;DR

How does your code scale and perform when running on high-core servers?

Demo

asciicast

Features

First Provider: DigitalOcean up to 48 cores currently.

Second Provider: AWS, specify your preferred instance type, us-east-1a for now

Usage

# Install corebench
go get github.com/deckarep/corebench

DigitalOcean:

Run corebench:

// Fetch instance sizes
./corebench do sizes --DO_PAT=$DO_PAT

// Run a benchmark
./corebench do bench github.com/{user}/{repo} [OPTIONS] --DO_PAT=$DO_PAT --ssh-fp=$SF

// List active instances
./corebench do list --DO_PAT=$DO_PAT

// Terminate instances created by corebench
./corebench do term --DO_PAT=$DO_PAT --all

AWS:

Run corebench:

// Run a benchmark
./corebench aws bench github.com/{user}/{repo} [OPTIONS]

//Run a benchmark on this repo with instancetype xxx and leave the resources running
./corebench aws bench github.com/deckarep/corebench --instancetype m3.medium --leave-running true

// List running instances
./corebench aws list

// Terminate/delete AWS resource stack 'corebench'
./corebench aws term

Here's what happens:

Here's what you need:

Why benchmark on a large set of cores?

F.A.Q.

Caution: