Example #1
0
def bound_cfl_with_oh(oheads, dedicated_irq, clusts):
    for clust in clusts:
        success = charge_scheduling_overheads(oheads, clust.cpus,
                                              dedicated_irq, clust)
        quantize_params(clust)
        if (success and has_bounded_tardiness(clust.cpus, clust)):
            bound_gfl_response_times(clust.cpus, clust, 15)
        else:
            return False
    return True
Example #2
0
def bound_cfl_with_oh(oheads, dedicated_irq, clusts):
    for clust in clusts:
        success = charge_scheduling_overheads(oheads, clust.cpus,
                                              dedicated_irq,
                                              clust)
        quantize_params(clust)
        if (success and has_bounded_tardiness(clust.cpus, clust)):
            bound_gfl_response_times(clust.cpus, clust, 15)
        else:
            return False
    return True
Example #3
0
def bound_cfl_with_locks(tasks, clusts, oheads, cluster_size):
    preprocess_ts(tasks, clusts, oheads)
    completion_ok = False
    count = 0
    while not completion_ok:
        completion_ok = True
        new_ts, new_clusts = copy_ts(tasks, clusts)
        count += 1
        if count > 100:
            return False
        apply_task_fair_mutex_bounds(new_ts, cluster_size, 0)
        if not post_blocking_term_oh_inflation(oheads, new_clusts):
            return False
        for i, clust in enumerate(new_clusts):
            if not has_bounded_tardiness(clust.cpus, clust):
                return False
            bound_gfl_response_times(clust.cpus, clust, 15)
            for j, t in enumerate(clust):
                if t.response_time > clusts[i][j].response_time:
                    completion_ok = False
    return new_clusts
Example #4
0
def bound_cfl_with_locks(tasks, clusts, oheads, cluster_size):
    preprocess_ts(tasks, clusts, oheads)
    completion_ok = False
    count = 0
    while not completion_ok:
        completion_ok = True
        new_ts, new_clusts = copy_ts(tasks, clusts)
        count += 1
        if count > 100:
            return False
        apply_task_fair_mutex_bounds(new_ts, cluster_size, 0)
        if not post_blocking_term_oh_inflation(oheads,
                                               new_clusts):
            return False
        for i, clust in enumerate(new_clusts):
            if not has_bounded_tardiness(clust.cpus, clust):
                return False
            bound_gfl_response_times(clust.cpus, clust, 15)
            for j, t in enumerate(clust):
                if t.response_time > clusts[i][j].response_time:
                    completion_ok = False
    return new_clusts