In [1]:
    
%matplotlib inline
import pandas as pd
import random
import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns
    
In [11]:
    
nolimits = pd.read_csv('baseline.csv')
nolimits['limits'] = False
withlimits = pd.read_csv('with_limits.csv')
withlimits['limits'] = True
df = pd.concat([nolimits, withlimits], ignore_index=True)
    
In [13]:
    
df.head()
    
    Out[13]:
In [21]:
    
len(df.machine.unique())
    
    Out[21]:
In [19]:
    
df.groupby('limits')['read_bw'].std()
    
    Out[19]:
In [22]:
    
df.groupby('limits')['write_bw'].std()
    
    Out[22]:
In [15]:
    
ax = sns.boxplot(x='job', y='read_bw', data=df, hue='limits')
    
    
In [16]:
    
ax = sns.boxplot(x='job', y='write_bw', data=df, hue='limits')
    
    
Our results show that we reduce variability, at least by 3x. Let's codify this assertion:
In [27]:
    
print((df.query('limits == False')['read_bw'].std() / df.query('limits == True')['read_bw'].std()) >= 3.0)
print((df.query('limits == False')['write_bw'].std() / df.query('limits == True')['write_bw'].std()) >= 3.0)