def _process_task_dict(self): # Normalize the resource portion of each task vector print "--> Processing task dict ... " for tid in self.task_dict: deno = self.task_dict[tid][2]/cr_constant.DEFAULT_TIME_UNIT for i in range(len(self.task_dict[tid][-1])): self.task_dict[tid][-1][i] /= deno self.task_dict[tid] = ResVectorFactory.convert_to_tuple(self.task_dict[tid]) self._add_to_user_dict(self.task_dict[tid][1], tid)
def _check_residual(self, ev, threshold): tid = ev[0] next_time = ev[1] + cr_constant.DEFAULT_TIME_UNIT if (tid, next_time) in self.event_time_dict or tid in self.residual_instance_dict: return False else: residual_life = ResVectorFactory.compute_residual_life(self.task_dict[tid]) if residual_life <= threshold: return False else: self.residual_instance_dict[tid] = residual_life return True
def read_data(self): print "--> Reading data ... " with open(self.data_file, 'r') as in_file: for line in in_file.readlines()[1:]: rv = ResVectorFactory.factory(line) self.event_time_seq.append((rv[0], rv[3])) self.event_time_dict[(rv[0], rv[3])] = 1 self._add_to_task_dict(rv) self._process_task_dict() print "--> Reading data completed." return self
def read_data(self): print "--> Reading data ... " with open(self.data_file, 'r') as in_file: for line in in_file.readlines()[1:]: rv = ResVectorFactory.factory(line) if rv[0] not in self.task_dict: # Record only the first occurrence self.event_seq.append((rv[0], rv[3])) self.event_time_dict[(rv[0], rv[3])] = 1 self._add_to_task_dict(rv) # self._add_to_req_dict(rv) self._process_task_dict() print "--> Reading data completed."