def generate_graphs(self, show=False): filename = "task_arrival_cdf_{0}.png".format(self.workload_name) if not os.path.isfile(os.path.join(self.folder, filename)): generate_cdf(self.df, "ts_submit", os.path.join(self.folder, filename), "Time (ms)", "Num. tasks (CDF)", show) return filename
def generate_graphs(self, show=False): filename = "job_runtime_cdf_{0}.png".format(self.workload_name) if not os.path.isfile(os.path.join(self.folder, filename)): generate_cdf(self.df, "critical_path_length", os.path.join(self.folder, filename), "Critical Path{} [ms]", "Num. workflows (CDF)", show) return filename
def generate_graphs(self, show=False): filename = "task_resource_time_cdf_{0}.png".format(self.workload_name) if not os.path.isfile(os.path.join(self.folder, filename)): self.df = self.df.withColumn("task_resource_computation_time", F.col("resource_amount_requested") * F.col("runtime")) generate_cdf(self.df, "task_resource_computation_time", os.path.join(self.folder, filename), "Task Core Time{} [ms]", "Num. tasks [CDF]", show) return filename
def generate_graphs(self, show=False): filename = "task_runtime_cdf_{0}.png".format(self.workload_name) if not os.path.isfile(os.path.join(self.folder, filename)): generate_cdf(self.df, "runtime", os.path.join(self.folder, filename), "Runtime{} [ms]", "Num. tasks [CDF]", show) return filename
def generate_graphs(self, show=False): filename = "job_arrival_cdf_{0}.png".format(self.workload_name) if not os.path.isfile(os.path.join(self.folder, filename)): generate_cdf(self.df, "ts_submit", os.path.join(self.folder, filename), "Arrival time{} [ms]", "Num. workflows (CDF)", show) return filename
def generate_graphs(self, show=False): filename = "job_cp_task_count_{0}.png".format(self.workload_name) if not os.path.isfile(os.path.join(self.folder, filename)): generate_cdf(self.df, "critical_path_task_count", os.path.join(self.folder, filename), "Num. tasks on critical path", "Num. workflows (CDF)", show) return filename
def generate_graphs(self, show=False): filename = "job_wait_time_cdf_{0}.png".format(self.workload_name) if not os.path.isfile(os.path.join(self.folder, filename)): # Add a column so we can compute the CDF based on that # Null values should be filtered out, but just in case, set ts_start to -2 billion and ts_submit to -1 billion # if they are null, so they will be filtered out. self.df.withColumn( "wf_wait_time", F.when(F.col("ts_start").isNull(), F.lit(-2000000000)).otherwise(F.col("ts_start")) - F.when(F.col("ts_submit").isNull(), F.lit(-1000000000)).otherwise(F.col("ts_submit"))) generate_cdf(self.df, "wf_wait_time", os.path.join(self.folder, filename), "Wait time{} [ms]", "Num. workflows (CDF)", show) return filename