def read_tasks(path): #path = "/home/eghonghonaye/Desktop/tasks.csv" task_list = [] all_task_sets = [] with open(path) as csv_file: csv_reader = csv.reader(csv_file, delimiter=',') for row in csv_reader: task_set = ast.literal_eval(row[0]) print(task_set) for task in task_set: number = task[0] period = task[1] util = task[2] task_list.append(task_generator.generateTask(number, period, util))#, 15.85955591030769) all_task_sets.append(task_list) task_list = [] return (all_task_sets)
def main(task_set, number_of_cores): init(task_set) sortTask(task_set) processor = header.Processor(num_cores=number_of_cores) status = jobFit(processor, task_set) prepareForOffsetTuning(task_set, processor) return status if __name__ == '__main__': task_set = [] task_set.append(task_generator.generateTask(0, 10000, 0.6796)) task_set.append(task_generator.generateTask(1, 10000, 0.4074)) task_set.append(task_generator.generateTask(2, 2000, 0.381)) '''task_set.append(task_generator.generateTask(0, 1000, 0.8669207464643705))#, 866.9207464643705), task_set.append(task_generator.generateTask(1, 200, 0.7838792955831181))#, 156.77585911662362), task_set.append(task_generator.generateTask(2, 100, 0.24724443080396466))#, 24.724443080396465), task_set.append(task_generator.generateTask(3, 200, 0.7629044722127165))#, 152.5808944425433), task_set.append(task_generator.generateTask(4, 1000, 0.9390510549358302))#, 939.0510549358302)''' status = main(task_set, 2) print("\n") for task in task_set: print([(job.task_number, job.job_number, job.starting_time) for job in task.task_joblist])
return number_of_cores, partition_task_list def printPartitions(task_set): for task in task_set: for job in task.task_joblist: print(job.job_number, job.starting_time) print(len_partitions, partitions) if __name__ == '__main__': number_of_cores = 4 task_set = [] task_set.append(task_generator.generateTask(0, 100, 0.9)) #, 16), task_set.append(task_generator.generateTask(1, 200, 0.895)) #, 179), task_set.append(task_generator.generateTask(2, 200, 0.5)) #, 50), task_set.append(task_generator.generateTask(3, 200, 0.5)) #, 17), task_set.append(task_generator.generateTask(4, 100, 0.9)) #, 18), task_set.append(task_generator.generateTask(5, 200, 0.8)) #, 3)] '''task_set.append(task_generator.generateTask(0, 100, 0.16))#, 16), task_set.append(task_generator.generateTask(1, 200, 0.895))#, 179), task_set.append(task_generator.generateTask(2, 200, 0.25))#, 50), task_set.append(task_generator.generateTask(3, 200, 0.085))#, 17), task_set.append(task_generator.generateTask(4, 100, 0.18))#, 18), task_set.append(task_generator.generateTask(5, 200, 0.015))#, 3)]''' for test in [ "CWEDF", "RMFP", "davis", "DBF", "jeffay", "cwedfSAG", "fpSAG" ]:
if lhs < rhs: return False return True def main(task_list): init(task_list) status = schedulabilityJeffay(task_list) #print(status) return status if __name__ == '__main__': task_list = [] task_list.append(task_generator.generateTask( 0, 500, 0.07943275104355482)) #, 39.71637552177741), task_list.append(task_generator.generateTask( 1, 10, 0.02589823696988874)) #, 0.2589823696988874), task_list.append(task_generator.generateTask( 2, 100, 0.12394618024647497)) #, 12.394618024647496), task_list.append(task_generator.generateTask( 3, 1000, 0.012127272637004572)) #, 12.127272637004571), task_list.append(task_generator.generateTask( 4, 100, 0.1585955591030769)) #, 15.85955591030769) main(task_list) print("[task.number, task.WCRT, task.rel_deadline, task.ex_time]") for task in task_list: print([task.number, task.WCRT, task.rel_deadline, task.ex_time])
for task in task_list: if task.WCRT > task.deadline: return False return True if __name__ == '__main__': task_list = [] '''task_list.append(task_generator.generateTask(0, 500, 0.07943275104355482))#, 39.71637552177741), task_list.append(task_generator.generateTask(1, 10, 0.02589823696988874))#, 0.2589823696988874), task_list.append(task_generator.generateTask(2, 100, 0.12394618024647497))#, 12.394618024647496), task_list.append(task_generator.generateTask(3, 1000, 0.012127272637004572))#, 12.127272637004571), task_list.append(task_generator.generateTask(4, 100, 0.1585955591030769))#, 15.85955591030769) ''' task_list.append(task_generator.generateTask(0, 2.5, 0.4)) #, 39.71637552177741), task_list.append(task_generator.generateTask( 1, 3.5, 0.2857142857142857)) #, 0.2589823696988874), task_list.append(task_generator.generateTask( 2, 3.5, 0.2857142857142857)) #, 12.394618024647496), main(task_list) print("[task.number, task.WCRT, task.rel_deadline, task.ex_time]") for task in task_list: print([task.number, task.WCRT, task.rel_deadline, task.ex_time]) '''all_task_sets = rtff.main() for task_set in all_task_sets: status = main(task_set) task_list = [(task.number, task.period, task.utilisation, task.ex_time) for task in task_set]
if len(clique) > cliquesize: cliquesize = len(clique) return cliquesize def drawGraph(G): node_labels = {node:node for node in G.nodes()} nx.draw(G,labels=node_labels) plt.show() return G def main(task_set): G = buildTaskGraph(task_set) cliquesize = findLargestClique(G) return cliquesize if __name__ == '__main__': task_set = [] task_set.append(task_generator.generateTask(0, 1000, 0.8669207464643705))#, 866.9207464643705), task_set.append(task_generator.generateTask(1, 200, 0.7838792955831181))#, 156.77585911662362), task_set.append(task_generator.generateTask(2, 100, 0.24724443080396466))#, 24.724443080396465), task_set.append(task_generator.generateTask(3, 200, 0.7629044722127165))#, 152.5808944425433), task_set.append(task_generator.generateTask(4, 1000, 0.9390510549358302))#, 939.0510549358302) main(task_set)