Esempio n. 1
0
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)
Esempio n. 2
0
# 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)