예제 #1
0
def plot_latency_vs_cache_size(resultset, topology, alpha, cache_size_range,
                               strategies, plotdir):
    desc = {}
    desc['title'] = 'Latency: T=%s A=%s' % (topology, alpha)
    desc['xlabel'] = 'Cache to population ratio'
    desc['ylabel'] = 'Latency'
    desc['xscale'] = 'log'
    desc['xparam'] = ('cache_placement', 'network_cache')
    desc['xvals'] = cache_size_range
    desc['filter'] = {
        'topology': {
            'name': topology
        },
        'workload': {
            'name': 'STATIONARY',
            'alpha': alpha
        }
    }
    desc['ymetrics'] = [('LATENCY', 'MEAN')] * len(strategies)
    desc['ycondnames'] = [('strategy', 'name')] * len(strategies)
    desc['ycondvals'] = strategies
    desc['metric'] = ('LATENCY', 'MEAN')
    desc['errorbar'] = True
    desc['legend_loc'] = 'upper right'
    desc['line_style'] = STRATEGY_STYLE
    desc['legend'] = STRATEGY_LEGEND
    desc['plotempty'] = PLOT_EMPTY_GRAPHS
    plot_lines2(resultset, desc, 'LATENCY_T=%s@A=%s.jpg' % (topology, alpha),
                plotdir)
예제 #2
0
def plot_cache_hits_vs_alpha(resultset, topology, cache_size, alpha_range,
                             strategies, plotdir):
    if 'NO_CACHE' in strategies:
        strategies.remove('NO_CACHE')
    desc = {}
    desc['title'] = 'Cache hit ratio: T=%s C=%s' % (topology, cache_size)
    desc['ylabel'] = 'Cache hit ratio'
    desc['xlabel'] = u'Content distribution \u03b1'
    desc['xparam'] = ('workload', 'alpha')
    desc['xvals'] = alpha_range
    desc['filter'] = {
        'topology': {
            'name': topology
        },
        'cache_placement': {
            'network_cache': cache_size
        }
    }
    desc['ymetrics'] = [('CACHE_HIT_RATIO', 'MEAN')] * len(strategies)
    desc['ycondnames'] = [('strategy', 'name')] * len(strategies)
    desc['ycondvals'] = strategies
    desc['errorbar'] = True
    desc['legend_loc'] = 'upper left'
    desc['line_style'] = STRATEGY_STYLE
    desc['legend'] = STRATEGY_LEGEND
    desc['plotempty'] = PLOT_EMPTY_GRAPHS
    plot_lines2(resultset, desc,
                'CACHE_HIT_RATIO_T=%s@C=%s.jpg' % (topology, cache_size),
                plotdir)
예제 #3
0
def plot_latency_vs_alpha(resultset, topology, cache_size, alpha_range,
                          strategies, plotdir):
    desc = {}
    desc['title'] = 'Latency: T=%s C=%s' % (topology, cache_size)
    desc['xlabel'] = u'Content distribution \u03b1'
    desc['ylabel'] = 'LATENCY + LINK LOAD + CACHE HIT RATIO'
    desc['xparam'] = ('workload', 'alpha')
    desc['xvals'] = alpha_range
    desc['filter'] = {
        'topology': {
            'name': topology
        },
        'cache_placement': {
            'network_cache': cache_size
        }
    }
    desc['ymetrics'] = [('LATENCY', 'MEAN')] * len(strategies)
    desc['zmetrics'] = [('LINK_LOAD', 'MEAN_INTERNAL')] * len(strategies)
    desc['wmetrics'] = [('CACHE_HIT_RATIO', 'MEAN')] * len(strategies)
    desc['ycondnames'] = [('strategy', 'name')] * len(strategies)
    desc['ycondvals'] = strategies
    desc['errorbar'] = True
    desc['legend_loc'] = 'upper right'
    desc['line_style'] = STRATEGY_STYLE
    desc['legend'] = STRATEGY_LEGEND
    desc['plotempty'] = PLOT_EMPTY_GRAPHS
    plot_lines2(
        resultset, desc,
        'LATENCY + LINK LOAD + CACHE HIT RATIO_T=%s@C=%s.jpg' %
        (topology, cache_size), plotdir)