Skip to content
This repository has been archived by the owner on Nov 8, 2022. It is now read-only.

Latest commit

 

History

History
42 lines (29 loc) · 2.52 KB

File metadata and controls

42 lines (29 loc) · 2.52 KB

Swan diagram Swan

Memcached Sensitivity Experiment

The first experiment bundled with Swan is a sensitivity experiment for the distributed data cache, memcached. The experiment enables experimenters to generate a so-called sensitivity profile, which describes the violation of Quality of Service under certain conditions, such as CPU cache or network bandwidth interference. Swan does this by carefully controlling execution of memcached and its Colocation with aggressor processes i.e. noisy neighbors or antagonists. From this point on, Swan coordinates execution of a distributed load generator called mutilate which puts memcached under controlled load. Snap plugins and tasks are coordinated by Swan to collect latency and load metrics and tags them with experiment identifiers. All the metrics are then sent to Cassandra and then extracted by Jupyter. Picture below shows the experiments components.

Swan diagram

The memcached sensitivity experiment carries out several measurements to inspect the performance of colocated workloads on a single node. The experiment exercises memcached under several conditions and gathers Quality of Service metrics like latency, so-called _Service Level Indicators (SLI), and the achieved load in terms of Request per Second (RPS) or Queries Per Second (QPS).

The conditions, currently, involve Colocation of memcached with a list of specialized aggressors and one deep-learning workload.

Table of Contents

  1. Theory
  2. Prerequisites
  3. Installation
  4. Run the Experiment
  5. Tune Mutilate & Memcached
  6. Troubleshooting

Appendix

  1. Important Experiment Flags
  2. All Experiment Flags