in scheme_adapters/multiD_polyfit_adapter/multiD_polyfit_adapter.py [0:0]
def main():
parser = argparse.ArgumentParser()
parser.add_argument("-dp", "--damoos_path", required=True, help="DAMOOS path")
parser.add_argument("-lb", "--lazybox_path", required=True, help="Lazybox path")
parser.add_argument("-jp", "--json_path", required=True, help="JSON file path")
parser.add_argument("-dm", "--damos_path", required=True, help="DAMOS path")
args = vars(parser.parse_args())
damoos_path = args["damoos_path"]
lazybox_path = args["lazybox_path"]
json_path = args["json_path"]
damos_path = args["damos_path"]
sys.path.append(damoos_path + '/scheme_adapters/polyfit_adapter')
from polyfit_adapter import Polyfit
name = json_path.split(".")[0]
parameters = generate_json(json_path, damoos_path)
best_points = dict()
for i in range(len(parameters)):
polyfit = Polyfit(damoos_path, lazybox_path, damos_path)
best_fit = polyfit.find_best_scheme(name + "_" + str(parameters[i]) + ".json")
print("Best ", parameters[i], ":", best_fit)
best_points[parameters[i]] = best_fit
if i == len(parameters) - 1:
new_scheme = generate_best_scheme(json_path, damoos_path, best_points)
res = polyfit.run_best_workload(new_scheme)
print("Best score:", res[0], "Best metric:", res[1])
subprocess.call(["sudo", "DAMOOS=" + damoos_path, "bash", damoos_path + "/frontend/cleanup.sh"])