Ejemplo n.º 1
0
DEPLOYMENT_NUMBER = 150
try:
    os.remove("simulation_results_paper.txt")
except FileNotFoundError:
    pass
reset_simulation(write_file=False)
for COUNTER_SIM in range(0, 5):
    file  = open("simulation_results_paper.txt", "a")
    file.write("# STARTING NEW SIMULATION EPOCH: "+str(COUNTER_SIM)+"\n")
    for DEVICE_NUMBER in range(100, 151, 10):
        for APP_EXTRA in range(150, 151, 10): # APP_EXTRA = 150
            print("DevNumber", DEVICE_NUMBER, "APP_EXTRA", APP_EXTRA)
            add_devices()
            dev_list = fog_torch()
            # Uploading Application
            code, localapp = fd.add_app("./NettestApp2V1_lxc.tar.gz", publish_on_upload=True)

            for myapp_index in range(0, DEPLOYMENT_NUMBER):
                
                dev_list = dev_list_sort(dev_list)
                    
                dep = "dep"+str(myapp_index)
                _, myappId = fd.create_myapp(localapp["localAppId"], dep, minjobs=1)
                
                deviceId = dev_list[0][0]
                profile = "normal"
                r = random.random()
                if r < 0.2:
                    profile = "angry"
                code, res = fd.fast_install_app(myappId, [deviceId], profile=profile)
        while code == 400:
            fallimento += 1
            deviceId = dev_list[0][0]
            code, res = fd.fast_install_app(myappId, [deviceId])
            if code != 400:
                dev_list[0][1] -= 100
                dev_list[0][2] -= 32
        fd.fast_start_app(myappId)


reset_simulation()
for DEVICE_NUMBER in [80, 90, 100, 110]:
    for DEPLOYMENT_NUMBER in [150, 300]:
        print("STARTING ", DEVICE_NUMBER, DEPLOYMENT_NUMBER)
        add_devices()
        code, localapp = fd.add_app("./TestApp_tiny.tar.gz",
                                    publish_on_upload=True)
        install_apps_FT()
        while simulation_counter() < 3000:
            _, alerts = fd.get_alerts()
            migrated = []
            for alert in alerts["data"]:
                if "APP_HEALTH" == alert[
                        "type"] or "DEVICE_REACHABILITY" == alert["type"]:
                    dep = alert["appName"]
                    if dep in migrated:
                        continue
                    else:
                        migrated.append(dep)
                    _, app_det = fd.get_myapp_details(dep)
                    myappId = app_det["myappId"]
                    fd.fast_stop_app(myappId)