def gen_maxtotalquery(figurename, trials=1): results = {} scenarios = scenarios_maxtotalquery for scenario in scenarios: results[str(scenario)] = {} for system in systems_maxtotalquery: results[str(scenario)][system] = {} result_rate = None try: result_rate = run_system_tr(system, scenario[0], scenario[1], False, cmd_extras="--optimize-for rate --max-"+str(scenario[2])+"-size "+str(scenario[3]), trials=trials) except KeyboardInterrupt: sys.exit(0) except: pass result_tput = None try: result_tput = run_system_tr(system, scenario[0], scenario[1], False, cmd_extras="--optimize-for tput --max-"+str(scenario[2])+"-size "+str(scenario[3]), trials=trials) except KeyboardInterrupt: sys.exit(0) except: pass results[str(scenario)][system]["optim-rate"] = result_rate results[str(scenario)][system]["optim-tput"] = result_tput save_file(figurename, results) return results
def get_voice(rounds, trials): results = {} r = run_system_tr("nopriv", 20, 96, False, trials=trials) results["nopriv"] = scale_by(r, rounds) r = run_system_tr("fastpir", 20, 96, False, trials=trials) results["fastpir"] = scale_by(r, rounds) r = run_system_tr("spiralstream", 14, 6144, False, cmd_extras="--ignore-expansion --max-query-size 33000000", trials=trials) results["spiralstream"] = scale_by(r, rounds, is_spiral=True) r = run_system_tr("spiralstream-pack", 14, 6144, False, cmd_extras="--ignore-expansion --max-query-size 33000000", trials=trials) results["spiralstream-pack"] = scale_by(r, rounds, is_spiral=True) return results
def gen_limits(figurename, trials=1): results = {} scenarios = scenarios_limits for scenario in scenarios: results[str(scenario)] = {} for system in systems_limits: results[str(scenario)][system] = {} result_rate = run_system_tr(system, scenario[0], scenario[1], False, cmd_extras="--optimize-for rate --max-query-size 33000000", trials=trials) result_tput = run_system_tr(system, scenario[0], scenario[1], False, cmd_extras="--optimize-for tput --max-query-size 33000000", trials=trials) results[str(scenario)][system]["optim-rate"] = result_rate results[str(scenario)][system]["optim-tput"] = result_tput save_file(figurename, results) return results
def gen_application(figurename, trials=1): results = {"movie":{}, "wiki":{}, "voice":{}} # Movie scenario for i, system in enumerate(systems_application_movie): scenario = (14, 2000000000) results["movie"][system] = run_system_tr(system, scenario[0], scenario[1], False, trials=trials, cmd_extras="--max-query-size 33000000") # Wikipedia scenario for i, system in enumerate(systems_application_wiki): scenario = (20, 30000) results["wiki"][system] = run_system_tr(system, scenario[0], scenario[1], False, trials=trials) # Voice call scenario results["voice"] = get_voice(625, trials) save_file(figurename, results) return results
def gen_streaming(figurename, trials=1): results = {} scenarios = scenarios_streaming for scenario in scenarios: results[str(scenario)] = {} for system in systems_streaming: if system == "spiralstreambar": result = run_system_tr("spiralstream", scenario, 1, True, cmd_extras="--max-query-size 16000000", trials=trials) results[str(scenario)][system] = result elif system == "spiralstream": result = run_system_tr("spiralstream", scenario, 1, True, cmd_extras="--max-query-size 33000000", trials=trials) results[str(scenario)][system] = result else: result = run_system_tr(system, scenario, 1, True, cmd_extras="--max-query-size 33000000", trials=trials) results[str(scenario)][system] = result save_file(figurename, results) return results
def gen_packingcomp(figurename, trials=1): results = {} scenarios = scenarios_packingcomp for scenario in scenarios: results[str(scenario)] = {} for system in get_systems_pc(scenario): result = run_system_tr(system, scenario[0], scenario[1], False, cmd_extras="--max-query-size 33000000", trials=trials) results[str(scenario)][system] = result save_file(figurename, results) return results
def gen_ubench(figurename, trials=1): results = {} scenarios = scenarios_ubench system = "spiral" for scenario in scenarios: results[str(scenario)] = {} result = run_system_tr(system, scenario[0], scenario[1], False, trials=trials) results[str(scenario)][system] = result save_file(figurename, results) return results
def gen_table(figurename, trials=1): results = {} scenarios = scenarios_table for scenario in scenarios: results[str(scenario)] = {} for system in systems_table: result = run_system_tr(system, scenario[0], scenario[1], False, trials=trials) results[str(scenario)][system] = result save_file(figurename, results) return results
def gen_ablation(figurename, trials=1): results = {} scenarios = scenarios_ablation system = "spiral" flags = [None, "-DNO_CRT"]#, "-mno-avx512f", "-mno-avx2"] for scenario in scenarios: results[str(scenario)] = {} for flag in flags: result = run_system_tr(system, scenario[0], scenario[1], False, addtl_flags=flag, trials=trials) results[str(scenario)][str(flag)] = result save_file(figurename, results) return results