Пример #1
0
from writer import writeResults, makeResultsAverage

hosts_p = 2

results = marlExperiment(
    n_teams=2,  #5,
    n_inters=2,
    n_learners=3,
    host_range=[hosts_p, hosts_p],
    explore_episodes=0.3,
    episodes=
    10,  #50,#500, Since mininet keeps running out of files even e/ cleanup
    episode_length=10000,
    separate_episodes=True,
    alpha=0.05,
    epsilon=0.2,
    discount=0,
    dt=0.05,

    #	old_style=True,
    rf="ctl",
    use_controller=True,
    actions_target_flows=True,
    estimate_const_limit=True,
)

writeResults("../../results/soln-cap-2.csv", results)

makeResultsAverage("../../results/soln-cap-2.csv",
                   "../../results/soln-cap-2-avg.csv")
Пример #2
0
from writer import writeResults, makeResultsAverage

hosts_p = 16

results = marlExperiment(
    n_teams=2,  #5,
    n_inters=2,
    n_learners=3,
    host_range=[hosts_p, hosts_p],
    explore_episodes=0.8,
    episodes=
    10,  #50,#500, Since mininet keeps running out of files even e/ cleanup
    episode_length=100000,
    separate_episodes=True,
    alpha=0.05,
    epsilon=0.2,
    discount=0,
    dt=0.01,

    #	old_style=True,
    rf="ctl",
    use_controller=True,
    actions_target_flows=True,
    estimate_const_limit=True,
)

writeResults("../../results/soln-ext-cap-16.csv", results)

makeResultsAverage("../../results/soln-ext-cap-16.csv",
                   "../../results/soln-ext-cap-16-avg.csv")
Пример #3
0
from marl import *
from writer import writeResults, makeResultsAverage

hosts_p = 14

results = marlExperiment(
    n_teams=2,  #5,
    n_inters=2,
    n_learners=3,
    host_range=[hosts_p, hosts_p],
    explore_episodes=0.3,
    episodes=10,  #500, Since mininet keeps running out of files even e/ cleanup
    episode_length=10000,
    separate_episodes=True,
    alpha=0.05,
    epsilon=0.2,
    discount=0,
    dt=0.01,
    rf="ctl",
    rand_seed=0xcafed00d)

writeResults("../../results/online-14.csv", results)

makeResultsAverage("../../results/online-14.csv",
                   "../../results/online-14-avg.csv")
Пример #4
0
from marl import *
from writer import writeResults, makeResultsAverage

results = marlExperiment(
	n_teams = 5,

	n_inters = 2,
	n_learners = 3,
	host_range = [2, 2],

	explore_episodes = 0.3,
	episodes = 50,#500, Since mininet keeps running out of files even e/ cleanup
	episode_length = 10000,
	separate_episodes = True,

	alpha = 0.05,
	epsilon = 0.2,
	discount = 0,
	#break_equal = True,

	dt = 0.01,

#	old_style=True,

	rf = "ctl"
)

writeResults("../../results/online-uneven.csv", results)

makeResultsAverage("../../results/online-uneven.csv", "../../results/online-avg-uneven.csv")
Пример #5
0
    10,  #50,#500, Since mininet keeps running out of files even e/ cleanup
    episode_length=10000,
    separate_episodes=True,
    alpha=0.05,
    epsilon=0.2,
    discount=0.9,

    #model = "nginx",
    dt=0.05,  #0.01,

    #	old_style=True,
    rf="ctl",
    use_controller=True,

    #reward_direction = "out",
    actions_target_flows=True,
    #estimate_const_limit = True,
    spiffy_mode=True,
    #randomise = True,
    #randomise_count = 1,
    #randomise_new_ip = True,
    split_codings=True,
    trs_maxtime=0.001,
    feature_max=18,
    single_learner=True,
)

writeResults("../../results/spf-d5.csv", results)

makeResultsAverage("../../results/spf-d5.csv", "../../results/spf-d5-avg.csv")
Пример #6
0
hosts_p = 8

results = marlExperiment(
    n_teams=2,  #5,
    n_inters=2,
    n_learners=3,
    host_range=[hosts_p, hosts_p],
    explore_episodes=0.8,
    episodes=
    10,  #50,#500, Since mininet keeps running out of files even e/ cleanup
    episode_length=100000,
    separate_episodes=True,
    alpha=0.05,
    epsilon=0.2,
    discount=0,
    dt=0.05,

    #	old_style=True,
    rf="ctl",
    use_controller=True,
    actions_target_flows=True,

    #estimate_const_limit = True,
)

writeResults("../../results/soln-ext-8.csv", results)

makeResultsAverage("../../results/soln-ext-8.csv",
                   "../../results/soln-ext-8-avg.csv")
Пример #7
0
results = marlExperiment(
	n_teams = 5,

	n_inters = 2,
	n_learners = 3,
	host_range = [2, 2],

	explore_episodes = 0.3,
	episodes = 10,#50,#500, Since mininet keeps running out of files even e/ cleanup
	episode_length = 10000,
	separate_episodes = True,

	alpha = 0.05,
	epsilon = 0.2,
	discount = 0,
	break_equal = True,

	dt = 0.01,

#	old_style=True,
	protect_final_hop = False,

	with_ratio = True,

	rf = "ctl"
)

writeResults("../../results/online-noprot.csv", results)

makeResultsAverage("../../results/online-noprot.csv", "../../results/online-noprot-avg.csv")
Пример #8
0
hosts_p = 7

results = marlExperiment(
	n_teams = 2,#5,

	n_inters = 2,
	n_learners = 3,
	host_range = [hosts_p, hosts_p],

	explore_episodes = 0.3,
	episodes = 10,#500, Since mininet keeps running out of files even e/ cleanup
	episode_length = 10000,
	separate_episodes = True,

	alpha = 0.05,
	epsilon = 0.2,
	discount = 0,
	break_equal = True,

	dt = 0.05,#0.01,

	rf = "ctl",

	rand_seed = 0xcafed00d
)

writeResults("../../results/online-7-even.csv", results)

makeResultsAverage("../../results/online-7-even.csv", "../../results/online-7-even-avg.csv")

Пример #9
0
    # test to handle bi-directional
    evil_range=[4, 7],
    explore_episodes=0.8,
    episodes=
    10,  #50,#500, Since mininet keeps running out of files even e/ cleanup
    episode_length=10000,
    separate_episodes=True,
    alpha=0.05,
    epsilon=0.2,
    discount=0,
    model="nginx",
    dt=0.05,  #0.01,

    #	old_style=True,
    rf="ctl",
    use_controller=True,
    reward_direction="out",
    actions_target_flows=True,
    estimate_const_limit=True,
    spiffy_mode=True,
    randomise=True,
    randomise_count=1,
    randomise_new_ip=False,
    split_codings=True,
)

writeResults("../../results/spf-8-ng.csv", results)

makeResultsAverage("../../results/spf-8-ng.csv",
                   "../../results/spf-8-avg-ng.csv")
Пример #10
0
from marl import *
from writer import writeResults, makeResultsAverage

results = marlExperiment(
    P_good=1,
    n_teams=2,  #5,
    n_inters=2,
    n_learners=3,
    host_range=[2, 2],
    explore_episodes=0.3,
    episodes=
    10,  #50,#500, Since mininet keeps running out of files even e/ cleanup
    episode_length=10000,
    separate_episodes=True,
    alpha=0.05,
    epsilon=0.2,
    discount=0,
    model="nginx",
    submodel="http",
    dt=0.05,  #0.01,

    #	old_style=True,
    rf="ctl",
    use_controller=True,
)

writeResults("../../results/ag-http.csv", results)

makeResultsAverage("../../results/ag-http.csv",
                   "../../results/ag-http-avg.csv")
Пример #11
0
from marl import *
from writer import writeResults, makeResultsAverage

results = marlExperiment(
    n_teams=5,
    n_inters=2,
    n_learners=3,
    host_range=[2, 2],
    explore_episodes=0.3,
    episodes=
    10,  #50,#500, Since mininet keeps running out of files even e/ cleanup
    episode_length=10000,
    separate_episodes=True,
    alpha=0.05,
    epsilon=0.2,
    discount=0,
    dt=0.05,  #0.01,

    #	old_style=True,
    with_ratio=True,
    rf="ctl")

writeResults("../../results/online-scale.csv", results)

makeResultsAverage("../../results/online-scale.csv",
                   "../../results/online-scale-avg.csv")
Пример #12
0
results = marlExperiment(
	n_teams = 2,#5,

	n_inters = 2,
	n_learners = 3,
	host_range = [2, 2],

	explore_episodes = 0.3,
	episodes = 10,#50,#500, Since mininet keeps running out of files even e/ cleanup
	episode_length = 10000,
	separate_episodes = True,

	alpha = 0.05,
	epsilon = 0.2,
	discount = 0,

	dt = 0.05,#0.01,

#	old_style=True,

	rf = "ctl",

	override_action = 0.0,
	manual_early_limit = 26.0,
)

writeResults("../../results/baseline-2.csv", results)

makeResultsAverage("../../results/baseline-2.csv", "../../results/baseline-2-avg.csv")
from marl import *
from writer import writeResults, makeResultsAverage

hosts_p = 32

results = marlExperiment(
    n_teams=2,  #5,
    n_inters=2,
    n_learners=3,
    host_range=[hosts_p, hosts_p],
    explore_episodes=0.3,
    episodes=10,  #500, Since mininet keeps running out of files even e/ cleanup
    episode_length=10000,
    separate_episodes=True,
    alpha=0.05,
    epsilon=0.2,
    discount=0,
    dt=0.01,
    rf="ctl",
    rand_seed=0xcafed00d)

writeResults("../../results/online-32.csv", results)

makeResultsAverage("../../results/online-32.csv",
                   "../../results/online-32-avg.csv")
Пример #14
0
from marl import *
from writer import writeResults, makeResultsAverage

hosts_p = 4

results = marlExperiment(
    n_teams=2,  #5,
    n_inters=2,
    n_learners=3,
    host_range=[hosts_p, hosts_p],
    explore_episodes=0.3,
    episodes=
    10,  #50,#500, Since mininet keeps running out of files even e/ cleanup
    episode_length=10000,
    separate_episodes=True,
    alpha=0.05,
    epsilon=0.2,
    discount=0,
    dt=0.05,  #0.01,

    #	old_style=True,
    rf="ctl",
    use_controller=True,
    actions_target_flows=True,
)

writeResults("../../results/soln-4.csv", results)

makeResultsAverage("../../results/soln-4.csv", "../../results/soln-4-avg.csv")
Пример #15
0
from marl import *
from writer import writeResults, makeResultsAverage

host_p = 2

results = marlExperiment(
    n_teams=2,  #5,
    n_inters=2,
    n_learners=3,
    host_range=[host_p, host_p],
    explore_episodes=0.8,
    episodes=
    10,  #50,#500, Since mininet keeps running out of files even e/ cleanup
    episode_length=10000,
    separate_episodes=True,
    alpha=0.05,
    epsilon=0.2,
    discount=0,
    dt=0.05,  #0.01,

    #	old_style=True,
    rf="ctl")

writeResults("../../results/online-2-e-8.csv", results)

makeResultsAverage("../../results/online-2-e-8.csv",
                   "../../results/online-2-e-8-avg.csv")
Пример #16
0
from marl import *
from writer import writeResults, makeResultsAverage

results = marlExperiment(
    n_teams=2,  #5,
    n_inters=2,
    n_learners=3,
    host_range=[2, 2],
    explore_episodes=0.3,
    episodes=
    10,  #50,#500, Since mininet keeps running out of files even e/ cleanup
    episode_length=10000,
    separate_episodes=True,
    alpha=0.05,
    epsilon=0.2,
    discount=0,
    model="nginx",
    submodel="udp-flood",
    dt=0.05,  #0.01,

    #	old_style=True,
    rf="ctl",
    use_controller=True,
)

writeResults("../../results/a-udp.csv", results)

makeResultsAverage("../../results/a-udp.csv", "../../results/a-udp-avg.csv")
Пример #17
0
	host_range = [hosts_p, hosts_p],

	explore_episodes = 0.3,
	episodes = 10,#50,#500, Since mininet keeps running out of files even e/ cleanup
	episode_length = 10000,
	separate_episodes = True,

	alpha = 0.05,
	epsilon = 0.2,
	discount = 0,

	model = "nginx",

	dt = 0.05,#0.01,

#	old_style=True,

	rf = "ctl",
	use_controller = True,
	reward_direction = "out",

	evil_range = [4,7],
	randomise = True,
	randomise_count = 3,
	randomise_new_ip = True,
)

writeResults("../../results/online-{}-ng.csv".format(hosts_p), results)

makeResultsAverage("../../results/online-{}-ng.csv".format(hosts_p), "../../results/online-{}-avg-ng.csv".format(hosts_p))
Пример #18
0
    n_learners=3,
    host_range=[2, 2],

    # test to handle bi-directional
    evil_range=[4, 7],
    explore_episodes=0.3,
    episodes=
    10,  #50,#500, Since mininet keeps running out of files even e/ cleanup
    episode_length=10000,
    separate_episodes=True,
    alpha=0.05,
    epsilon=0.2,
    discount=0,
    model="nginx",
    dt=0.05,  #0.01,

    #	old_style=True,
    rf="ctl",
    use_controller=True,
    reward_direction="out",
    actions_target_flows=True,
    manual_early_limit=26.0,
)

writeResults("../../results/soln-2-ng.csv",
             results,
             times_dir="../../results/new-calc-times.csv")

makeResultsAverage("../../results/soln-2-ng.csv",
                   "../../results/soln-2-avg-ng.csv")
Пример #19
0
	deps.append(algos)

	(indiv_prefix, single_learner) = expt_part(single_learners, deps)
	params["single_learner"] = single_learner
	params["estimate_const_limit"] = True
	deps.append(single_learners)

	(machine) = expt_part(machines, deps)
	deps.append(machine)

	results = marlExperiment(**params)
	(rewards, good_traffic_percents, total_loads, store_sarsas, rng, action_comps) = results

	file_name_part = "beast-validation-{}{}".format(broken_math, machine)
	file_name = file_name_part + ".csv"
	file_name_avg = file_name_part + ".avg.csv"
	file_name_sarsas = file_name_part + ".pickle"
	file_name_deltas = file_name_part + ".deltas.csv"

	csv_dir = results_dir + file_name
	avg_csv_dir = results_dir + file_name_avg
	sarsas_dir = results_dir + file_name_sarsas
	deltas_dir = results_dir + file_name_deltas

	writeResults(csv_dir, results)
	makeResultsAverage(csv_dir, avg_csv_dir)
	dumbWriter(deltas_dir, action_comps)
	with open(sarsas_dir, "wb") as f:
		cPickle.dump(store_sarsas, f)
	#print "{} would write to: {}".format(experiment, csv_dir)
	explore_episodes = 0.3,
	episodes = 10,#50,#500, Since mininet keeps running out of files even e/ cleanup
	episode_length = 10000,
	separate_episodes = True,

	alpha = 0.05,
	epsilon = 0.2,
	discount = 0,

	model = "nginx",

	dt = 0.05,#0.01,

#	old_style=True,

	rf = "ctl",
	use_controller = True,

	override_action = 0.0,
	#manual_early_limit = 26.0,
	reward_direction = "out",

	randomise = True,
	randomise_count = 3,
)

writeResults("../../results/baseline-2-uncap-ng.csv", results)

makeResultsAverage("../../results/baseline-2-uncap-ng.csv", "../../results/baseline-2-uncap-avg-ng.csv")