def simulationLoop(server, capacity, period, scaled, ex_time, int_time): name = server + ".csv" s = Simulator(stats = name) # Set the server if server == 'polling': s.server = PollingServer(capacity, period) elif server == 'deferrable': s.server = DeferrableServer(capacity, period) else: s.server = BackgroundServer() # Load the taskset for t in scaled: s.tasks.append(t) # Create the aperiodic task ap = AperiodicTask("Soft", ex_time, int_time) s.tasks.append(ap) # RUUUUUUUUN !!! s.init(until) s.run() return computeAverage(name)
# Building tasks set taskset = list() for i in range(0,10): t = PeriodicTask("H" + str(i), wcet[i], periods[i]) taskset.append(t) #for load in [0.05, 0.10, 0.15, 0.20, 0.25, 0.30]: for load in [0.05]: # Try the simulator s = Simulator(render = "results.svg") server_period = min([t.period for t in taskset]) server_period = 18 #server_period = max([t.period for t in taskset]) + 1 server_capacity = server_period * 0.248 s.server = PollingServer(server_capacity, server_period) server_capacity = server_period * 0.239 s.server = DeferrableServer(server_capacity, server_period) #s.server = DeferrableServer(server_period, server_period) #s.server = BackgroundServer() for t in taskset: s.tasks.append(t) # Building the aperiodic task interrarival = 18 computation = load * interrarival t = AperiodicTask("S", computation, interrarival) s.tasks.append(t)