in src/hpcadvisor/advice_generator.py [0:0]
def gen_advice_exectime_vs_cost(st, datapoints, dynamic_filter, appexectime):
mydata, num_vms, max_exectime = dataset_handler.get_sku_nnodes_exec_time(
datapoints, dynamic_filter, appexectime
)
if len(mydata) == 0:
log.error("No datapoints found. Check dataset and plotfilter files")
return
sku_costs = {}
for key in mydata:
sku_costs[key] = price_puller.get_price("eastus", key)
exec_costs = {}
data_for_pareto = []
for key in mydata:
exec_costs[key] = []
for i in range(len(mydata[key])):
cost = (mydata[key][i] / 3600.0) * sku_costs[key] * num_vms[key][i]
sku = key
exec_costs[key].append(cost)
data_for_pareto.append((mydata[key][i], cost, num_vms[key][i], sku))
pareto_front = calculate_pareto_front(data_for_pareto)
# sort by execution time
sorted_pareto_front = sorted(pareto_front, key=lambda x: float(x[0]))
return sorted_pareto_front