def generate_taskset_files(util_name, period_name, cap, number): generator = mkgen(NAMED_UTILIZATIONS[util_name], NAMED_PERIODS[period_name]) generated_sets = [] for i in range(number): taskset = generator(max_util=cap, time_conversion=ms2us) filename = "{0}_{1}_{2}_{3}".format(util_name, period_name, cap, i) write(taskset, filename) generated_sets.append(filename) return generated_sets
def generate_taskset_files(util_name, period_name, cap, number): generator = mkgen(NAMED_UTILIZATIONS[util_name], NAMED_PERIODS[period_name]) generated_sets = [] for i in range(number): taskset = generator(max_util=cap, time_conversion=ms2us) filename = "{0}_{1}_{2}_{3}".format(util_name, period_name, cap, i) write(taskset, filename) generated_sets.append(filename) return generated_sets
def generate_uniform_task_number(util_name, cap, number): period_name = "uni-moderate" generator = mkgen(NAMED_UTILIZATIONS[util_name], NAMED_PERIODS[period_name]) generated_moderate_sets = [] generated_long_sets = [] filenames = [] for i in range(number): genModerateTaskset = generator(max_util=cap, squeeze=True, time_conversion=ms2us) long_filename = "{0}_{1}_{2}_{3}".format(util_name, "uni-long", cap, i) moderate_filename = "{0}_{1}_{2}_{3}".format(util_name, "uni-moderate", cap, i) longTaskset = [] moderateTaskset = [] longTempFile = open(long_filename,"w") moderateTempFile = open(moderate_filename,"w") for moderateTask in genModerateTaskset: # Generate corresponding long period task with same utilization longTask = copy.deepcopy(moderateTask) longTask.period = ms2us(NAMED_PERIODS["uni-long"]()) longTask.deadline = longTask.period longTask.cost = int(longTask.period * moderateTask.utilization()) # Store tasks longTaskset.append(longTask) moderateTaskset.append(moderateTask) # Write tasks to files longTempFile.write(str(longTask.cost)+" "+str(longTask.period)+"\n") moderateTempFile.write(str(moderateTask.cost)+" "+str(moderateTask.period)+"\n") longTempFile.close() moderateTempFile.close() filenames.append(long_filename) filenames.append(moderate_filename) generated_moderate_sets.append(moderateTaskset) generated_long_sets.append(longTaskset) print >> sys.stderr, "Generated long task sets: " print >> sys.stderr, pprint.pformat(generated_long_sets, indent=2) print >> sys.stderr, "" print >> sys.stderr, "Generated moderate task sets: " print >> sys.stderr, pprint.pformat(generated_moderate_sets, indent=2) print >> sys.stderr, "" print >> sys.stderr, "Generated filenames" print >> sys.stderr, filenames
def generate_taskset_files(util_name, period_name, cap, number): generator = mkgen(NAMED_UTILIZATIONS[util_name], NAMED_PERIODS[period_name]) generated_sets = [] for i in range(number): taskset = generator(max_util=cap, squeeze=True, time_conversion=ms2us) filename = "{0}_{1}_{2}_{3}".format(util_name, period_name, cap, i) tempFile = open(filename,"w") for task in taskset: tempFile.write(str(task.cost)+" "+str(task.period)+"\n") tempFile.close() generated_sets.append(filename) return generated_sets
def generate_lock_taskset_files(util_name, period_name, cap, cslength, nres, pacc, number): generator = mkgen(NAMED_UTILIZATIONS[util_name], NAMED_PERIODS[period_name]) generated_sets = [] for i in range(number): taskset = generator(max_util=cap, time_conversion=ms2us) resources.initialize_resource_model(taskset) for task in taskset: for res_id in range(nres): if random.random() < pacc: nreqs = random.randint(1, 5) length = CSLENGTH[cslength] for j in range(nreqs): task.resmodel[res_id].add_request(length()) filename = "{0}_{1}_{2}_{3}_{4}_{5}_{6}".format( util_name, period_name, cap, cslength, nres, pacc, i) write(taskset, filename) generated_sets.append(filename) return generated_sets
def generate_lock_taskset_files(util_name, period_name, cap, cslength, nres, pacc, number): generator = mkgen(NAMED_UTILIZATIONS[util_name], NAMED_PERIODS[period_name]) generated_sets = [] for i in range(number): taskset = generator(max_util=cap, time_conversion=ms2us) resources.initialize_resource_model(taskset) for task in taskset: for res_id in range(nres): if random.random() < pacc: nreqs = random.randint(1, 5) length = CSLENGTH[cslength] for j in range(nreqs): task.resmodel[res_id].add_request(length()) filename = "{0}_{1}_{2}_{3}_{4}_{5}_{6}".format( util_name, period_name, cap, cslength, nres, pacc, i) write(taskset, filename) generated_sets.append(filename) return generated_sets