Esempio n. 1
0
    def genInit_PI_S(self):
        self.dag = DAG(self.operation_count)  # directed acyclic graph
        sort_TPA = self.adjust_Topological_Prior_Assignment(
        )  #  topological sort
        sort_RPA = self.adjust_Random_Prior_Assignment(
        )  # random priority assignment (RPA)

        op_priority_dict = {
            opId: {
                'TPA': p,
                'RPA': sort_RPA.pop()
            }
            for p, opId in enumerate(sort_TPA)
        }
        sorted_op_priority_dict = sorted(op_priority_dict.items(),
                                         key=lambda x:
                                         (x[1]['TPA'], x[1]['RPA']))
        pi_s = [i[0] for i in sorted_op_priority_dict]

        return pi_s