# task_request = 100
# getWorkload(task_request)

placement_schedulers = [FirstFit(),Multi_resource_alignment(),TBF(),EAGLE(),EAGLE_MOD()]
# placement_schedulers = [EAGLE(), Multi_resource_alignment()]
# placement_schedulers = [FirstFit()]
# placement_schedulers = [Multi_resource_alignment()]
# placement_schedulers = [EAGLE_MOD()]
# placement_schedulers = [FirstFit_disc rd(),Multi_resource_alignment_discard()]

for placement in placement_schedulers:
    # taskEvents = getTaskSubmissionEventsFromFile("Workloads/Workload_Traces_test")
    # taskEvents = getTaskSubmissionEventsFromFile("Workloads/Actual_Workload_Traces")
    taskEvents = getTaskSubmissionEventsFromFile("Workloads/Workload_Traces_Backlogged")
    # taskEvents = getTaskSubmissionEventsFromFile("Workloads/Workload_Traces_OnebyOne")
    # taskEvents = getTaskSubmissionEventsFromFile("Workloads/Workload_Traces_Small")

    print("Now using %s ..." % placement)
    placement.cluster = cluster
    placement.tasks = taskEvents[:]
    sim = Sim(placement)

    sim.placeTasks()

    for machine in cluster:
        machine.cleanMachine()

    print("simulation finished...")