ibmcb / cbtool

Cloud Rapid Experimentation and Analysis Toolkit
Apache License 2.0
79 stars 49 forks source link
azure benchmark-framework benchmarking cloud digitalocean docker ec2 gce kubernetes libvirt lxc openstack python27 stress-testing workload-generator

Welcome to the Cloud Rapid Experimentation and Analysis Toolkit

Cloud Rapid Experimentation and Analysis Tool (aka CBTOOL) is a framework that automates IaaS cloud benchmarking through the running of controlled experiments.

Gitter

Subscribe to our mailing list:

New! CloudBench is now released as a component of SPEC Cloud IaaS 2018

To get started:

  1. Learn more about the tool

  2. Perform the initial installation

  3. Run the tool for the first time

  4. Prepare your cloud to be driven by the tool

  5. Prepare a VM image to be used with the tool

====> Are you impatient? Use our workloads instead.

  1. Deploy your first Virtual Application

  2. Run simple experiments

  3. If needed, debug the initial setup

  4. Configure CBTOOL to run outside of the cloud (or with multiple tenant networks)

    1. Detailed instructions on how to use OpenVPN support
  5. Look at some auto generated plots made from the data collected.

  6. Read our latest paper IC2E 2013.

  7. Try administrating the tool with the Graphical Environment

    1. Then try monitoring your experiments with the Graphical Environment

    2. Try to customize your dashboard monitoring data with filters in the Graphical Environment

    3. You can also try to use the Graphical Wizard for a first-time connection.

  8. Read the Frequently Asked Questions

Features:

Supported Clouds:

  1. Amazon EC2
  2. OpenStack (and RackSpace)
  3. Google Compute Engine
  4. DigitalOcean
  5. Linode (Akamai Connected Cloud), NOTE: libcloud version 3.9.0 only: https://github.com/apache/libcloud/pull/1946
  6. Docker/Swarm
  7. LXD/LXC
  8. Kubernetes
  9. Libvirt+KVM
  10. VMWare vCloud (NOT actively maintained)
  11. CloudStack (NOT actively maintained)
  12. SoftLayer
  13. Nutanix

Want to add support for a new Cloud? Take a look at our Frequently Asked Questions

Supported Workloads

To get the most current list, start CBTOOL and type typelist on the CLI. To get more information about a given workload, typeshow <workload name>:

(MYCLOUD) typelist

AIs with the following types can be attached to to this experiment (Cloud MYSIMCLOUD) :

  1. synthetic:
  2. bonnie (default, full)
  3. btest (default)
  4. coremark (default)
  5. ddgen (default)
  6. filebench (fileserver, oltp_noism, varmail, videoserver, webproxy)
  7. fio (default)
  8. iperf (tcp, udp)
  9. mlg (default)
  10. netperf (tcp_stream, tcp_maerts, udp_stream, tcp_rr, tcp_cc, tcp_crr, udp_rr)
  11. nuttcp (tcp, udp)
  12. postmark (default)
  13. unixbench (arithmetic, dhrystone, whetstone, load, misc, speed, oldsystem, system, fs, shell, index)
  14. xping (icmp)

application-stress:

  1. memtier (default)
  2. oldisim (default)
  3. wrk (default)

scientific:

  1. hpcc (default)
  2. linpack (default)
  3. multichase (simple, work:N, t0-2, nta, movdqa, mvntdqa, parallel2-10, critword:N, critword2:N)
  4. parboil (histo, bfs, stencil, mri-q, mri-gridding, lbm, tpacf, sad, spmv, sgemm, cutcp)
  5. scimark (default)

transactional:

  1. cassandra_ycsb (workloada, workloadb, workloadc, workloadd, workloade, workloadf)
  2. ibm_daytrader (default)
  3. mongo_ycsb (workloada, workloadb, workloadc, workloadd, workloade, workloadf)
  4. open_daytrader (default)
  5. redis_ycsb (workloada, workloadb, workloadc, workloadd, workloade, workloadf)
  6. specjbb (preset, hbir)
  7. sysbench (simple, complex, nontrx, sp)

data-centric:

  1. giraph (pagerank, topkpagerank)
  2. hadoop (sort, wordcount, terasort, dfsioe, nutchindexing, pagerank, bayes, kmeans, hivebench)

fake:

  1. nullworkload (default)

Contacts:

Marcio Silva marcios@us.ibm.com Michael Galaxy mgalaxy@akamai.com