Commit bc77b1cf authored by Jonathan Shahen's avatar Jonathan Shahen
Browse files

Fixed the # of moves for add(EpochHistory); added the stats file so the...

Fixed the # of moves for add(EpochHistory); added the stats file so the results are published to the repo
parent 79b45ab4
Date Time,Test Name,Machines,Clients,Slots,Max VMs/Client,Min VMs/Client,Placement,Total VMs,MigBudget,% Filled,Total Slots,Window,Seed,# Epochs,Reduction,Objective,Avg Epoch Time(ms),Initial TIL,Final TIL,Initial MCCIL,Final MCCIL,TIL Gain,MCCIL Gain,TIL Epochs Changed,MCCIL Epochs Changed,List of Epoch Times,Distribution of initial CCIL,Distribution of final CCIL,List TIL,List MCCIL,List of # Moves per Epoch,Last Epoch with Move,Total Test Time(ms),Comments
16:37.2,CNFSimple,3,4,3,2,2,Random_12,8,3,0.888888889,9,5,12,10,cnf,Sum CCIL,2005,8,8,2,2,0,0,0,0,1796;1707;1914;2027;1949;1943;2026;1968;2726;2002,0=8;1=0;2=4,0=8;1=0;2=4,8;8;8;8;8;8;8;8;8;8;8,2;2;2;2;2;2;2;2;2;2;2,0;0;0;0;0;0;0;0;0;0,0,20066,Just a simple test to show that something works
18:42.9,NomadSimple,4,4,2,2,2,Random_11,8,3,0.666666667,12,5,11,10,nomad,Sum CCIL,167,8,0,2,0,8,2,2,2,167,0=8;1=0;2=4,0=12,8;4;0;0;0;0;0;0;0;0;0,2;2;0;0;0;0;0;0;0;0;0,0;0;0;0;0;0;0;0;0;0,0,175,Testing Nomads Complete Placement History and the Stats manager
24:02.2,NomadSimple,4,4,2,2,2,Random_11,8,3,0.666666667,12,5,11,10,nomad,Sum CCIL,102,8,0,2,0,8,2,2,2,102,0=8;1=0;2=4,0=12,8;4;0;0;0;0;0;0;0;0;0,2;2;0;0;0;0;0;0;0;0;0,0;0;0;0;0;0;0;0;0;0,0,110,Testing Nomads Complete Placement History and the Stats manager
26:44.1,NomadSimple,4,4,2,2,2,Random_11,8,3,0.666666667,12,5,11,10,nomad,Sum CCIL,105,8,0,2,0,8,2,2,2,105,0=8;1=0;2=4,0=12,8;4;0;0;0;0;0;0;0;0;0,2;2;0;0;0;0;0;0;0;0;0,0;0;0;0;0;0;0;0;0;0,0,112,Testing Nomads Complete Placement History and the Stats manager
28:46.3,NomadSimple,4,4,2,2,2,Random_11,8,3,0.666666667,12,5,11,10,nomad,Sum CCIL,99,8,0,2,0,8,2,2,2,99,0=8;1=0;2=4,0=12,8;4;0;0;0;0;0;0;0;0;0,2;2;0;0;0;0;0;0;0;0;0,0;0;0;0;0;0;0;0;0;0,0,106,Testing Nomads Complete Placement History and the Stats manager
31:25.9,NomadSimple,4,4,2,2,2,Random_11,8,3,0.666666667,12,5,11,10,nomad,Sum CCIL,117,8,0,2,0,8,2,2,2,117,0=8;1=0;2=4,0=12,8;4;0;0;0;0;0;0;0;0;0,2;2;0;0;0;0;0;0;0;0;0,0;1;0;0;0;0;0;0;0;0,2,124,Testing Nomads Complete Placement History and the Stats manager
32:29.7,NomadSimple,4,4,2,2,2,Random_11,8,3,0.666666667,12,5,11,10,nomad,Sum CCIL,102,8,0,2,0,8,2,2,2,102,0=8;1=0;2=4,0=12,8;4;0;0;0;0;0;0;0;0;0,2;2;0;0;0;0;0;0;0;0;0,0;1;0;0;0;0;0;0;0;0,2,108,Testing Nomads Complete Placement History and the Stats manager
33:31.1,NomadSimple,4,4,2,2,2,Random_10,8,3,0.666666667,12,5,10,10,nomad,Sum CCIL,103,4,0,2,0,4,2,1,1,103,0=10;1=0;2=2,0=12,4;0;0;0;0;0;0;0;0;0;0,2;0;0;0;0;0;0;0;0;0;0,0;0;0;0;0;0;0;0;0;0,0,109,Testing Nomads Complete Placement History and the Stats manager
33:50.4,NomadSimple,4,4,2,2,2,Random_-1,8,3,0.666666667,12,5,-1,10,nomad,Sum CCIL,153,10,0,2,0,10,2,3,3,153,0=4;1=6;2=2,0=12,10;6;4;0;0;0;0;0;0;0;0,2;2;2;0;0;0;0;0;0;0;0,0;2;1;0;0;0;0;0;0;0,3,159,Testing Nomads Complete Placement History and the Stats manager
37:46.9,NomadSimple,4,4,2,2,2,Random_12,8,3,0.666666667,12,5,12,10,nomad,Sum CCIL,104,8,0,2,0,8,2,2,2,104,0=8;1=0;2=4,0=12,8;4;0;0;0;0;0;0;0;0;0,2;2;0;0;0;0;0;0;0;0;0,0;1;0;0;0;0;0;0;0;0,2,111,Testing Nomads Complete Placement History and the Stats manager
45:09.8,NomadSimple,4,4,2,2,2,Random_1463975111865,8,3,0.666666667,12,5,1.46398E+12,10,nomad,Sum CCIL,89,6,0,2,0,6,2,2,2,89,0=8;1=2;2=2,0=12,6;4;0;0;0;0;0;0;0;0;0,2;2;0;0;0;0;0;0;0;0;0,0;1;0;0;0;0;0;0;0;0,2,96,Testing Nomads Complete Placement History and the Stats manager
46:14.4,NomadSimple,4,5,3,2,2,Random_1463975177105,10,3,0.833333333,12,5,1.46398E+12,10,nomad,Sum CCIL,193,14,8,2,2,6,0,2,0,193,0=10;1=6;2=4,0=16;1=0;2=4,14;10;8;8;8;8;8;8;8;8;8,2;2;2;2;2;2;2;2;2;2;2,0;2;0;0;0;0;0;0;0;0,2,199,Testing Nomads Complete Placement History and the Stats manager
50:38.8,NomadSimple,4,5,3,2,2,Random_1463975441141,10,3,0.833333333,12,5,1.46398E+12,10,nomad,Sum CCIL,189,14,8,2,2,6,0,3,0,189,0=8;1=10;2=2,0=16;1=0;2=4,14;12;10;8;8;8;8;8;8;8;8,2;2;2;2;2;2;2;2;2;2;2,0;2;2;0;0;0;0;0;0;0,3,195,Testing Nomads Complete Placement History and the Stats manager
53:55.6,NomadSimple,4,5,3,2,2,Random_10,10,3,0.833333333,12,5,10,10,ilp,Sum CCIL,33,16,12,2,2,4,0,1,0,195;16;15;16;14;17;20;15;15;15,0=6;1=12;2=2,0=14;1=0;2=6,16;12;12;12;12;12;12;12;12;12;12,2;2;2;2;2;2;2;2;2;2;2,0;0;0;0;0;0;0;0;0;0,0,347,Testing Nomads Complete Placement History and the Stats manager
54:09.4,NomadSimple,4,5,3,2,2,Random_11,10,3,0.833333333,12,5,11,10,ilp,Sum CCIL,32,16,12,2,2,4,0,3,0,159;43;15;16;15;13;14;14;18;14,0=8;1=8;2=4,0=14;1=0;2=6,16;12;8;12;12;12;12;12;12;12;12,2;2;2;2;2;2;2;2;2;2;2,0;0;0;0;0;0;0;0;0;0,0,331,Testing Nomads Complete Placement History and the Stats manager
55:12.2,NomadSimple,4,5,3,2,2,Random_11,10,3,0.833333333,12,5,11,10,ilp,Sum CCIL,32,16,12,2,2,4,0,3,0,164;36;16;15;14;21;15;14;14;15,0=8;1=8;2=4,0=14;1=0;2=6,16;12;8;12;12;12;12;12;12;12;12,2;2;2;2;2;2;2;2;2;2;2,0;0;0;0;0;0;0;0;0;0,0,332,Testing Nomads Complete Placement History and the Stats manager
55:39.7,NomadSimple,4,5,3,2,2,Random_11,10,3,0.833333333,12,5,11,10,cnf,Sum CCIL,2769,16,8,2,2,8,0,1,0,2890;2677;2730;2784;2724;2863;2658;2674;2837;2857,0=8;1=8;2=4,0=16;1=0;2=4,16;8;8;8;8;8;8;8;8;8;8,2;2;2;2;2;2;2;2;2;2;2,0;0;0;0;0;0;0;0;0;0,0,27701,Testing Nomads Complete Placement History and the Stats manager
57:35.5,NomadSimple,4,5,3,2,2,Random_11,10,3,0.833333333,12,5,11,10,cnf,Max CCIL,1932,16,14,2,2,2,0,10,0,1813;1681;1650;1629;2135;2158;2033;2092;1928;2203,0=8;1=8;2=4,0=8;1=10;2=2,16;14;16;14;12;14;16;14;16;16;14,2;2;2;2;2;2;2;2;2;2;2,0;0;0;0;0;0;0;0;0;0,0,19329,Testing Nomads Complete Placement History and the Stats manager
58:54.9,NomadSimple,4,5,3,2,2,Random_11,10,3,0.833333333,12,5,11,10,ilp,Max CCIL,63,16,8,2,2,8,0,1,0,215;48;52;48;18;53;48;48;50;51,0=8;1=8;2=4,0=16;1=0;2=4,16;8;8;8;8;8;8;8;8;8;8,2;2;2;2;2;2;2;2;2;2;2,0;0;0;0;0;0;0;0;0;0,0,642,Testing Nomads Complete Placement History and the Stats manager
59:07.8,NomadSimple,4,5,3,2,2,Random_11,10,3,0.833333333,12,5,11,10,nomad,Max CCIL,234,16,8,2,2,8,0,2,0,234,0=8;1=8;2=4,0=16;1=0;2=4,16;12;8;8;8;8;8;8;8;8;8,2;2;2;2;2;2;2;2;2;2;2,0;1;0;0;0;0;0;0;0;0,2,241,Testing Nomads Complete Placement History and the Stats manager
05:41.2,NomadSimple,4,5,3,2,2,Random_11,10,3,0.833333333,12,5,11,10,nomad,Max CCIL,22,16,8,2,2,8,0,2,0,13;8;4;4;4;5;7;5;5;5;186,0=8;1=8;2=4,0=16;1=0;2=4,16;12;8;8;8;8;8;8;8;8;8,2;2;2;2;2;2;2;2;2;2;2,0;1;0;0;0;0;0;0;0;0,2,194,Testing Nomads Complete Placement History and the Stats manager
10:43.5,equalSpread5,5,5,5,5,5,EqualSpread_5,25,3,1,25,5,10,10,nomad,Max CCIL,380,100,0,5,0,100,5,10,10,359;334;279;250;208;164;143;103;80;41;2227,0=0;1=0;2=0;3=0;4=0;5=20,0=20,100;96;90;82;72;64;54;42;30;16;0,5;5;6;6;6;6;7;7;7;8;0,0;2;2;2;2;2;2;2;2;2,10,2236,
11:13.6,equalSpread5,5,5,5,5,5,EqualSpread_5,25,3,1,25,5,10,10,ilp,Max CCIL,766,100,60,5,6,40,-1,10,8,2844;754;668;531;1261;544;415;221;251;178,0=0;1=0;2=0;3=0;4=0;5=20,0=6;1=0;2=4;3=0;4=4;5=0;6=6,100;94;92;92;90;90;86;78;76;62;60,5;5;5;5;5;5;7;8;6;6;6,0;0;0;0;0;0;0;0;0;0,0,7673,
11:27.0,equalSpread5,5,5,5,5,5,EqualSpread_5,25,3,1,25,5,10,10,cnf,Max CCIL,5112,100,54,5,7,46,-2,10,10,6018;5253;5379;5032;5142;4906;4782;4993;4911;4706,0=0;1=0;2=0;3=0;4=0;5=20,0=10;1=0;2=2;3=0;4=0;5=2;6=2;7=4,100;94;86;78;64;52;42;52;54;48;54,5;5;5;6;6;7;7;7;7;8;7,0;0;0;0;0;0;0;0;0;0,0,51132,
18:59.4,equalSpread5,5,5,5,5,5,EqualSpread_5,25,3,1,25,5,10,10,cnf,Max CCIL,4399,100,66,5,12,34,-7,10,10,5079;4334;4242;4732;4150;4122;4178;4357;4385;4415,0=0;1=0;2=0;3=0;4=0;5=20,0=12;1=0;2=0;3=0;4=0;5=2;6=0;7=2;8=0;9=2;10=0;11=0;12=2,100;94;92;90;86;82;74;64;66;76;66,5;5;5;5;7;7;7;8;8;9;12,0;0;0;0;0;0;0;0;0;0,0,44001,
20:51.2,equalSpread5,5,5,5,5,5,EqualSpread_5,25,3,1,25,5,10,10,ilp,Max CCIL,687,100,60,5,6,40,-1,10,8,2479;653;577;458;1147;502;409;214;247;191,0=0;1=0;2=0;3=0;4=0;5=20,0=6;1=0;2=4;3=0;4=4;5=0;6=6,100;94;92;92;90;90;86;78;76;62;60,5;5;5;5;5;5;7;8;6;6;6,0;0;0;0;0;0;0;0;0;0,0,6884,
23:03.7,equalSpread5,5,5,5,5,5,EqualSpread_5,25,3,1,25,5,10,10,nomad,Max CCIL,381,100,0,5,0,100,5,10,10,372;329;286;249;205;167;136;103;74;41;2233,0=0;1=0;2=0;3=0;4=0;5=20,0=20,100;96;90;82;72;64;54;42;30;16;0,5;5;6;6;6;6;7;7;7;8;0,0;2;2;2;2;2;2;2;2;2,10,2239,
27:39.1,equalSpread5_MB-1,5,5,5,5,5,EqualSpread_5,25,-1,1,25,5,10,10,ilp,Max CCIL,206,100,0,5,0,100,5,1,1,301;193;188;205;199;196;191;200;189;201,0=0;1=0;2=0;3=0;4=0;5=20,0=20,100;0;0;0;0;0;0;0;0;0;0,5;0;0;0;0;0;0;0;0;0;0,0;0;0;0;0;0;0;0;0;0,0,2073,
28:20.4,equalSpread5_MB-1,5,5,5,5,5,EqualSpread_5,25,-1,1,25,5,10,10,cnf,Max CCIL,3061,100,0,5,0,100,5,1,1,3469;3428;3180;3268;3202;2898;2771;2704;2899;2800,0=0;1=0;2=0;3=0;4=0;5=20,0=20,100;0;0;0;0;0;0;0;0;0;0,5;0;0;0;0;0;0;0;0;0;0,0;0;0;0;0;0;0;0;0;0,0,30628,
29:48.8,equalSpread5_MB-1,5,5,5,5,5,EqualSpread_5,25,-1,1,25,5,10,10,nomad,Max CCIL,165,100,0,5,0,100,5,3,3,565;120;78;2;3;2;2;2;2;2;1038,0=0;1=0;2=0;3=0;4=0;5=20,0=20,100;46;30;0;0;0;0;0;0;0;0,5;4;7;0;0;0;0;0;0;0;0,0;4;4;0;0;0;0;0;0;0,3,1047,
33:44.2,equalSpread5_MB-1,5,5,5,5,5,EqualSpread_5,25,-1,1,25,5,10,10,nomad,Max CCIL,164,100,0,5,0,100,5,3,3,567;119;75;2;2;3;2;3;2;3;1034,0=0;1=0;2=0;3=0;4=0;5=20,0=20,100;46;30;0;0;0;0;0;0;0;0,5;4;7;0;0;0;0;0;0;0;0,0;4;4;0;0;0;0;0;0;0,3,1041,
37:36.1,equalSpreadHalf8_MB-1,8,4,4,8,8,EqualSpreadHalf_8,32,-1,0.5,64,5,10,10,nomad,Max CCIL,169,96,0,8,0,96,8,2,2,722;35;4;4;4;4;3;4;3;4;1075,0=0;1=0;2=0;3=0;4=0;5=0;6=0;7=0;8=12,0=12,96;12;0;0;0;0;0;0;0;0;0,8;6;0;0;0;0;0;0;0;0;0,0;2;0;0;0;0;0;0;0;0,2,1080,
37:50.0,equalSpreadHalf8_MB-1,8,4,8,8,8,EqualSpreadHalf_8,32,-1,0.5,64,5,10,10,ilp,Max CCIL,207,96,0,8,0,96,8,1,1,292;199;194;204;198;198;204;193;199;198,0=0;1=0;2=0;3=0;4=0;5=0;6=0;7=0;8=12,0=12,96;0;0;0;0;0;0;0;0;0;0,8;0;0;0;0;0;0;0;0;0;0,0;0;0;0;0;0;0;0;0;0,0,2087,
38:06.3,equalSpreadHalf8_MB-1,8,4,8,8,8,EqualSpreadHalf_8,32,-1,0.5,64,5,10,10,cnf,Max CCIL,5507,96,0,8,0,96,8,1,1,5855;5836;5812;5630;5559;5187;5378;5416;5199;5200,0=0;1=0;2=0;3=0;4=0;5=0;6=0;7=0;8=12,0=12,96;0;0;0;0;0;0;0;0;0;0,8;0;0;0;0;0;0;0;0;0;0,0;0;0;0;0;0;0;0;0;0,0,55081,
45:15.0,equalSpreadHalf8,8,4,8,8,8,EqualSpreadHalf_8,32,5,0.5,64,5,10,10,cnf,Max CCIL,41014,96,2,8,1,94,7,10,10,298808;57640;8786;6391;6886;6124;5635;7114;6741;6022,0=0;1=0;2=0;3=0;4=0;5=0;6=0;7=0;8=12,0=10;1=2,96;86;68;44;28;2;4;4;4;4;2,8;8;6;5;7;1;1;1;1;2;1,0;0;0;0;0;0;0;0;0;0,0,410153,plingeling -t 4
54:43.6,equalSpreadHalf8,8,4,8,8,8,EqualSpreadHalf_8,32,5,0.5,64,5,10,10,cnf,Max CCIL,49622,96,64,8,12,32,-4,9,10,362119;77958;8500;6898;6997;7009;6974;6571;6216;6981,0=0;1=0;2=0;3=0;4=0;5=0;6=0;7=0;8=12,0=2;1=2;2=0;3=0;4=0;5=0;6=4;7=2;8=0;9=0;10=0;11=0;12=2,96;88;76;64;58;56;60;60;66;64;64,8;8;10;9;7;9;8;8;9;11;12,0;0;0;0;0;0;0;0;0;0,0,496229,plingeling -t 8
04:19.2,equalSpreadHalf8,8,4,8,8,8,EqualSpreadHalf_8,32,5,0.5,64,5,10,10,cnf,Max CCIL,43459,96,64,8,15,32,-7,10,9,302461;75987;11272;6230;5817;6631;6287;6654;6715;6545,0=0;1=0;2=0;3=0;4=0;5=0;6=0;7=0;8=12,0=2;1=0;2=0;3=4;4=2;5=0;6=0;7=2;8=0;9=0;10=0;11=0;12=0;13=0;14=0;15=2,96;92;64;42;26;42;46;64;58;76;64,8;8;7;6;5;9;8;16;9;15;15,0;0;0;0;0;0;0;0;0;0,0,434604,plingeling -t 4
2016/05/23 01:13:10.318-0400,equalSpreadHalf8,8,4,8,8,8,EqualSpreadHalf_8,32,5,0.5,64,5,10,10,cnf,Max CCIL,76468,96,48,8,12,48,-4,10,10,423808;244481;38978;13649;7370;7432;7637;6935;6517;7881,0=0;1=0;2=0;3=0;4=0;5=0;6=0;7=0;8=12,0=4;1=0;2=2;3=0;4=0;5=4;6=0;7=0;8=0;9=0;10=0;11=0;12=2,96;96;82;60;42;8;2;10;16;30;48,8;8;7;6;5;1;1;5;5;7;12,0;0;0;0;0;0;0;0;0;0,0,764693,plingeling -t 8
2016/05/23 01:27:18.865-0400,equalSpreadHalf8,8,4,8,8,8,EqualSpreadHalf_8,32,5,0.5,64,5,10,10,cnf,Max CCIL,48527,96,58,8,10,38,-2,10,10,361357;70462;10463;6164;6121;6259;6429;6033;5978;6013,0=0;1=0;2=0;3=0;4=0;5=0;6=0;7=0;8=12,0=2;1=0;2=4;3=0;4=0;5=2;6=0;7=0;8=0;9=0;10=4,96;88;78;50;38;60;62;60;76;70;58,8;8;8;6;7;9;13;12;14;12;10,0;0;0;0;0;0;0;0;0;0,0,485286,lingeling
2016/05/23 01:44:01.132-0400,equalSpreadHalf8,8,4,8,8,8,EqualSpreadHalf_8,32,5,0.5,64,5,10,10,cnf,Max CCIL,48387,96,58,8,10,38,-2,10,10,353401;70391;10751;6375;7150;7178;7515;7238;6951;6929,0=0;1=0;2=0;3=0;4=0;5=0;6=0;7=0;8=12,0=2;1=0;2=4;3=0;4=0;5=2;6=0;7=0;8=0;9=0;10=4,96;88;78;50;38;60;62;60;76;70;58,8;8;8;6;7;9;13;12;14;12;10,0;0;0;0;0;0;0;0;0;0,0,483886,lingeling
2016/05/23 02:08:04.626-0400,equalSpreadHalf8_sum,8,4,8,8,8,EqualSpreadHalf_8,32,5,0.5,64,5,10,10,ilp,Sum CCIL,3415,96,0,8,0,96,8,5,5,26469;4566;1159;855;228;222;236;170;209;41,0=0;1=0;2=0;3=0;4=0;5=0;6=0;7=0;8=12,0=12,96;82;54;32;8;0;0;0;0;0;0,8;9;9;8;4;0;0;0;0;0;0,0;0;0;0;0;0;0;0;0;0,0,34165,testing # moves
2016/05/23 02:13:17.575-0400,equalSpreadHalf8_sum,8,4,8,8,8,EqualSpreadHalf_8,32,5,0.5,64,5,10,10,ilp,Sum CCIL,3472,96,0,8,0,96,8,5,5,26894;4566;1182;918;265;243;232;173;218;38,0=0;1=0;2=0;3=0;4=0;5=0;6=0;7=0;8=12,0=12,96;82;54;32;8;0;0;0;0;0;0,8;9;9;8;4;0;0;0;0;0;0,0;0;0;0;0;0;0;0;0;0,0,34738,testing # moves
2016/05/23 02:14:47.940-0400,equalSpreadHalf8_sum,8,4,8,8,8,EqualSpreadHalf_8,32,5,0.5,64,5,10,10,ilp,Sum CCIL,3450,96,0,8,0,96,8,5,5,26726;4582;1208;868;228;217;231;172;228;40,0=0;1=0;2=0;3=0;4=0;5=0;6=0;7=0;8=12,0=12,96;82;54;32;8;0;0;0;0;0;0,8;9;9;8;4;0;0;0;0;0;0,0;0;0;0;0;0;0;0;0;0,0,34508,testing # moves
2016/05/23 02:17:05.729-0400,equalSpreadHalf8_sum,8,4,8,8,8,EqualSpreadHalf_8,32,5,0.5,64,5,10,10,ilp,Sum CCIL,3406,96,0,8,0,96,8,5,5,26411;4518;1163;863;229;222;234;171;218;37,0=0;1=0;2=0;3=0;4=0;5=0;6=0;7=0;8=12,0=12,96;82;54;32;8;0;0;0;0;0;0,8;9;9;8;4;0;0;0;0;0;0,5;5;5;5;5;5;5;5;5;5,10,34073,testing # moves
2016/05/23 02:37:24.311-0400,equalSpreadHalf6_sum,6,3,6,6,6,EqualSpreadHalf_6,18,5,0.5,36,5,10,10,cnf,Sum CCIL,7230,36,0,6,0,36,6,3,3,61216;2344;2141;1895;1953;1397;623;244;240;248,0=0;1=0;2=0;3=0;4=0;5=0;6=6,0=6,36;22;4;0;0;0;0;0;0;0;0,6;7;2;0;0;0;0;0;0;0;0,5;5;4;5;5;5;4;4;5;2,10,72308,testing # moves
......@@ -37,7 +37,7 @@ import vagabond.timing.TimingManager;
*
*/
public class VagabondInstance {
private static final String VERSION = "v0.0.1";
private static final String VERSION = "v1.0.1";
private static final String AUTHORS = "Jonathan Shahen <jmshahen@uwaterloo.ca>";
// Logger Fields
public static Logger logger = null;
......
......@@ -53,10 +53,11 @@ public class EpochHistory {
*/
if (_latestPlacementMap != null) {
_latestNumberOfMoves = _latestPlacementMap.countNumberOfMoves(placementMap);
System.out.println("Number of Moves: " + _latestNumberOfMoves);
} else {
_latestNumberOfMoves = 0;
System.out.println("[NULL] Number of Moves: " + _latestNumberOfMoves);
}
System.out.println("Number of Moves: " + _latestNumberOfMoves);
// System.out.println("_latest: " + _latestPlacementMap);
// System.out.println("placementMap: " + placementMap);
......@@ -110,6 +111,18 @@ public class EpochHistory {
" to add from this EpochHistory object: " + epochHistory);
}
/**
* MUST DO THIS BEFORE add(ClientToClientInformationLeakage)
*/
if (_latestPlacementMap != null && epochHistory.size() == 1) {
_latestNumberOfMoves = _latestPlacementMap.countNumberOfMoves(epochHistory._latestPlacementMap);
System.out.println("Number of Moves: " + _latestNumberOfMoves);
} else {
_latestNumberOfMoves = epochHistory._latestNumberOfMoves;
System.out.println(
"[COPY] Number of Moves: " + _latestNumberOfMoves + "; epochHistory.size()=" + epochHistory.size());
}
// Add each ClientToClientInformationLeakage, but in reverse order to store it the same way in this EpochHistory
for (int i = epochHistory.size() - 1; i >= 0; i--) {
add(epochHistory.get(i));
......
......@@ -24,6 +24,7 @@ public class RunSolverCNFSAT implements RunSolver {
String cnfloc;// OLD VALUE = new String("/home/tripunit/Desktop/instance.cnf");
ReduceToCNFSAT _r = null;
int EACH_DECISION_INSTANCE_TIMEOUT = -1; // Seconds. -1 means infinity
private String commands = "";// "-t 8 ";
public RunSolverCNFSAT() throws IOException {
settings = VagabondSettings.getInstance();
......@@ -136,7 +137,6 @@ public class RunSolverCNFSAT implements RunSolver {
+ StringUtils.leftPad(mid + "", (int) Math.floor(Math.log10(hi)) + 1, "0");
/*TIMING*/ timing.toggleTimer(tp + "RunSolverCNFSAT::run::binarySearch::loopVal::" + searchVal);
// System.out.println("mid = "+mid); System.out.flush();
logger.info("[CNF Solver] Binary Search mid = " + mid + "; high=" + hi + "; low=" + lo);
try {
constraintInfoLeakUb(c, le, band, s, nclientpairs, mid, wirestoand, orignoutputs);
......@@ -146,13 +146,17 @@ public class RunSolverCNFSAT implements RunSolver {
/*TIMING*/ timing.toggleTimer(tp + "RunSolverCNFSAT::run::binarySearch::cnfSatToFile::" + searchVal);
/*TIMING*/ timing.toggleTimer(tp + "RunSolverCNFSAT::run::binarySearch::exec::" + searchVal);
Process p = Runtime.getRuntime().exec(solverloc + " " + cnfloc);
Process p = Runtime.getRuntime().exec(solverloc + " " + commands + cnfloc);
// Activate the following 'if,' if we want to put in a time-limit for every decision instance.
if (mid < hi && EACH_DECISION_INSTANCE_TIMEOUT > 0
&& !p.waitFor(EACH_DECISION_INSTANCE_TIMEOUT, TimeUnit.SECONDS)) {
// Treat this as unsat
p.destroyForcibly();
logger.info("[CNF Solver " + tp + "] Binary Search TIMOUT for: mid = " + mid + "; high=" + hi
+ "; low=" + lo);
lo = mid + 1;
/*TIMING*/ timing.toggleTimer(tp + "RunSolverCNFSAT::run::binarySearch::exec::" + searchVal);
continue;
......@@ -182,9 +186,13 @@ public class RunSolverCNFSAT implements RunSolver {
p.destroyForcibly();
/*TIMING*/ timing.toggleTimer(tp + "RunSolverCNFSAT::run::binarySearch::exec::" + searchVal);
if (!recordlines)
if (!recordlines) {
logger.info("[CNF Solver " + tp +
"] Binary Search UNSAT for: mid = " + mid + "; high=" + hi + "; low=" + lo);
lo = mid + 1; // unsat
else {
} else {
logger.info("[CNF Solver " + tp +
"] Binary Search SAT for: mid = " + mid + "; high=" + hi + "; low=" + lo);
cnfcert = lines;
hi = mid - 1;
}
......
......@@ -62,7 +62,7 @@ public class ReduceToNomad implements ReduceTo {
/*TIMING*/timing.toggleTimer(tp + "ReduceToNomad::reduce::writeSettingsFile");
FileWriter fws = new FileWriter(nomadSettings);
fws.write("Generated by Vagabond: " + settings.df.format(new Date()) + "\n");
fws.write("Generated by Vagabond: " + VagabondSettings.df.format(new Date()) + "\n");
if (settings.migrationBudget != -1) {
fws.write("BUDGET=" + Precision.round(calculateMigrationPercentage(place, settings.migrationBudget), 3)
+ "\n");
......@@ -83,7 +83,7 @@ public class ReduceToNomad implements ReduceTo {
fws.write("PlacementMap=" + nomadPlacement.getName() + "\n");
fws.write("\n# You can ignore the lines below\n");
if (settings.randomSeed == -1) {
fws.write("SEED=10\n");
fws.write("SEED=10000\n");
} else {
fws.write("SEED=" + settings.randomSeed + "\n");
}
......
package vagabond.results;
import java.io.*;
import java.util.*;
import org.apache.commons.cli.Options;
public class GraphCUI {
public static String previousCommandFilename = "GraphCUIPreviousCommand.txt";
public static String previousCmd;
/**
* The main program, run this and get a Console User Interface. All arguments are ignored.
* @param args Ignored!
*/
public static void main(String[] args) {
GraphingInstance inst = new GraphingInstance();
ArrayList<String> argv = new ArrayList<String>();
String cmd = "";
Scanner user_input = new Scanner(System.in);
Options options = new Options();
inst.setupOptions(options);
inst.printHelp(options, 120);
printCommonCommands();
System.out.print("Enter Commandline Argument ('!e' to run): ");
String quotedStr = "";
StringBuilder fullCommand = new StringBuilder();
while (true) {
cmd = user_input.next();
fullCommand.append(cmd + " ");
if (quotedStr.isEmpty() && cmd.startsWith("\"")) {
System.out.println("Starting: " + cmd);
quotedStr = cmd.substring(1);
continue;
}
if (!quotedStr.isEmpty() && cmd.endsWith("\"")) {
System.out.println("Ending: " + cmd);
argv.add(quotedStr + " " + cmd.substring(0, cmd.length() - 1));
quotedStr = "";
continue;
}
if (!quotedStr.isEmpty()) {
quotedStr = quotedStr + " " + cmd;
continue;
}
if (cmd.equals("!e")) {
break;
}
if (cmd.equals("!p")) {
argv.clear();
argv.addAll(Arrays.asList(previousCmd.split(" ")));
break;
}
argv.add(cmd);
}
user_input.close();
System.out.println("Commands: " + argv);
try {
if (!cmd.equals("!p")) {
FileWriter fw;
fw = new FileWriter(previousCommandFilename, false);
fw.write(fullCommand.toString());
fw.close();
}
} catch (IOException e) {
System.out.println("[ERROR] Unable to write out previous command to: " + previousCommandFilename);
}
inst.run(argv.toArray(new String[0]));
}
/**
* Prints out a list of common commands that the developer thought would be convenient to copy and
* paste instead of typing.
*/
public static void printCommonCommands() {
System.out.println("\n\n--- Common Commands ---");
System.out.println("-loglevel verbose -settings tests/simpletestILP-Random.properties !e");
System.out.println("-loglevel verbose -settings tests/simpletestILP-NomadSubOptimal.properties !e");
System.out.println("-loglevel verbose -settings tests/equalSpread_10.properties !e");
System.out.println("");
try {
BufferedReader bfr = new BufferedReader(new FileReader(previousCommandFilename));
previousCmd = bfr.readLine();
bfr.close();
System.out.println("Previous Command ('!prev' to use the previous command): " + previousCmd);
} catch (IOException e) {
System.out.println("[ERROR] Unable to load previous command!");
}
}
}
package vagabond.results;
import java.io.*;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.apache.commons.cli.*;
import org.apache.commons.lang3.StringUtils;
import vagabond.VagabondOptionString;
import vagabond.helper.ErrorPrinter;
import vagabond.logging.CSVFileFormatter;
import vagabond.singleton.VagabondSettings;
public class GraphingInstance {
private static final String VERSION = "v0.0.1";
private static final String AUTHORS = "Jonathan Shahen <jmshahen@uwaterloo.ca>";
// Logger Fields
public static Logger logger = null;
private VagabondSettings settings = VagabondSettings.getInstance();
public int run(String[] args) {
try {
CommandLine cmd = init(args);
// Check to see if the commandline options have been satisfied
if (cmd == null) { return 0; }
} catch (Exception e) {
ErrorPrinter ep = new ErrorPrinter(e);
if (logger != null) {
logger.severe(ep.toString());
} else {
System.out.println(ep.toString());
}
// Gracefully shutdown
settings.shutdown();
System.exit(-1);
}
return 0;
}
@SuppressWarnings("static-access")
public void setupOptions(Options options) {
// Add Information Options
options.addOption(VagabondOptionString.HELP.toString(), false, "Print this message");
options.addOption(VagabondOptionString.AUTHORS.toString(), false, "Prints the authors");
options.addOption(VagabondOptionString.VERSION.toString(), false,
"Prints the version (" + VERSION + ") information");
options.addOption(VagabondOptionString.CHECKMINISAT.toString(), false,
"Checks that MiniSAT is on the system and displays which version is installed");
// Add Logging Level Options
options.addOption(OptionBuilder.withArgName("quiet|debug|verbose")
.withDescription("quiet - Be extra quiet only errors are shown;\n"
+ "verbose - extra information is given for Verbose;\n"
+ "debug - Show debugging information;\n"
+ "Default is between debug and verbose level")
.hasArg().create(VagabondOptionString.LOGLEVEL.toString()));
options.addOption(OptionBuilder.withArgName("logfile|'n'|'u'")
.withDescription("The filepath where the log file should be created;\n"
+ "No file will be created when equal to 'n';\n"
+ "A unique filename will be created when equal to 'u';\n"
+ "default it creates a log called '" + settings.logFile + "'")
.hasArg().create(VagabondOptionString.LOGFILE.toString()));
options.addOption(OptionBuilder.withArgName("folder path")
.withDescription("The path to the location that the logs should be placed, "
+ "default it puts the logs in the folder '" + settings.logFolder + "'")
.hasArg().create(VagabondOptionString.LOGFOLDER.toString()));
options.addOption(VagabondOptionString.NOHEADER.toString(), false,
"Does not write the CSV file header to the output log");
options.addOption(VagabondOptionString.NOPLACEMENTMAPS.toString(), false,
"Does not write placement maps to the output log");
options.addOption(
OptionBuilder.withArgName("csvfile").withDescription("The file where the result should be stored")
.hasArg().create(VagabondOptionString.RESULTSFILE.toString()));
// custom Console Logging Options
options.addOption(
OptionBuilder.withArgName("num").withDescription("The maximum width of the console (default 120)")
.hasArg().create(VagabondOptionString.MAXW.toString()));
options.addOption(OptionBuilder.withArgName("string")
.withDescription("The new line string when wrapping a long line (default '\\n ')").hasArg()
.create(VagabondOptionString.LINESTR.toString()));
// Settings File
options.addOption(
OptionBuilder.withArgName("file").withDescription("The file where the settings are stored, requires: " +
VagabondOptionString.getRequiredControlSettings().toString())
.hasArg().create(VagabondOptionString.SETTINGSFILE.toString()));
}
private CommandLine init(String[] args) throws Exception {
Options options = new Options();
setupOptions(options);
try {
CommandLineParser cmdParser = new BasicParser();
CommandLine cmd = cmdParser.parse(options, args);
setupLoggerOptions(cmd, options);
if (setupReturnImmediatelyOptions(cmd, options)) { return null; }
setupInputSettings(cmd);
return cmd;
} catch (UnrecognizedOptionException e) {
ErrorPrinter ep = new ErrorPrinter(e);
System.out.println(ep.toString());
printHelp(options, 80);
}
return null;
}
private void setupInputSettings(CommandLine cmd) throws IOException {
if (!cmd.hasOption(VagabondOptionString.SETTINGSFILE.toString())) {
logger.severe("Must provide a settings file!");
settings.shutdown();
System.exit(-1);
// System.out.println("Do I get run here?");
}
}
public Level getLoggerLevel() {
return settings.logLevel;
}
public void setLoggerLevel(Level loggerLevel) {
settings.logLevel = loggerLevel;
}
public void setupLoggerOptions(CommandLine cmd, Options options) throws SecurityException, IOException {
// Logging Level
setLoggerLevel(Level.FINE);// Default Level
if (cmd.hasOption(VagabondOptionString.LOGLEVEL.toString())) {
String loglevel = cmd.getOptionValue(VagabondOptionString.LOGLEVEL.toString());
if (loglevel.equalsIgnoreCase("quiet")) {
setLoggerLevel(Level.WARNING);
settings.displayPlacementMapEveryEpoch = false;
} else if (loglevel.equalsIgnoreCase("debug")) {
setLoggerLevel(Level.FINEST);
settings.displayPlacementMapEveryEpoch = true;
} else if (loglevel.equalsIgnoreCase("verbose")) {
setLoggerLevel(Level.INFO);
settings.displayPlacementMapEveryEpoch = true;
}
}
// Add CSV File Headers
if (cmd.hasOption(VagabondOptionString.NOHEADER.toString())) {
settings.WriteCSVFileHeader = false;
}
// Override the Log Level specific options if this commandline parameter is present
if (cmd.hasOption(VagabondOptionString.NOPLACEMENTMAPS.toString())) {
settings.displayPlacementMapEveryEpoch = false;
}
// Set Logger Folder
if (cmd.hasOption(VagabondOptionString.LOGFOLDER.toString())) {
settings.logFolder = cmd.getOptionValue(VagabondOptionString.LOGFOLDER.toString());
}
// Set File Logger
if (cmd.hasOption(VagabondOptionString.LOGFILE.toString())) {
// Check if no log file was requested
if (cmd.getOptionValue(VagabondOptionString.LOGFILE.toString()).equals("n")) {
// Create no log file
settings.logFile = "";
} else if (cmd.getOptionValue(VagabondOptionString.LOGFILE.toString()).equals("u")) {
// Create a unique log file
settings.logFile = "mohawk-log.%u.%g.txt";
} else {
try {
// Create a log file with a specific name
File logfile = new File(
settings.logFolder + File.separator
+ cmd.getOptionValue(VagabondOptionString.LOGFILE.toString()));
if (!logfile.exists()) {
logfile.createNewFile();
}
settings.logFile = logfile.getAbsolutePath();
if (settings.WriteCSVFileHeader) {
FileOutputStream writer = new FileOutputStream(logfile, true);// Always append!
writer.write(CSVFileFormatter.csvHeaders().getBytes());
writer.flush();
writer.close();
}
} catch (IOException e) {
ErrorPrinter ep = new ErrorPrinter(e);
logger.severe(ep.toString());
return;
}
}
}
// Calls setupLogger() in settings
logger = settings.getLogger();
}
private Boolean setupReturnImmediatelyOptions(CommandLine cmd, Options options) throws Exception {
if (cmd.hasOption(VagabondOptionString.HELP.toString()) == true || cmd.getOptions().length == 0) {
printHelp(cmd, options);
return true;
}
if (cmd.hasOption(VagabondOptionString.VERSION.toString())) {
// keep it as simple as possible for the version
System.out.println(VERSION);
return true;
}
if (cmd.hasOption(VagabondOptionString.AUTHORS.toString())) {
// keep it as simple as possible for the version
System.out.println(AUTHORS);
return true;
}
return false;
}
public void printHelp(CommandLine cmd, Options options) throws Exception {
if (cmd.hasOption(VagabondOptionString.MAXW.toString())) {
try {
Integer maxw = Integer.decode(cmd.getOptionValue(VagabondOptionString.MAXW.toString()));
printHelp(options, maxw);
} catch (Exception e) {
printHelp(options, 80);
e.printStackTrace();
throw new Exception("An error occured when trying to print out the help options!");
}
} else {
printHelp(options, 80);
}
}
public void printHelp(Options options, int maxw) {
HelpFormatter f = new HelpFormatter();
f.printHelp(maxw, "vagabond",
StringUtils.repeat("-", maxw) + "\nAuthors: " + AUTHORS + "\n" + StringUtils.repeat("-", 20), options,
StringUtils.repeat("-", maxw), true);
}
}
......@@ -126,7 +126,7 @@ public class VagabondSettings {
* Filename of the CNF Solver executable for Windows;
* Automatically changes this if you are on Linux/Mac to the binary compiled for that system.
*/
public String cnfSolverProgram_Win = "plingeling.exe";
public String cnfSolverProgram_Win = "lingeling.exe";
/**
* Filename of the CNF Solver executable for Linux;
* Automatically changes this if you are on Linux/Mac to the binary compiled for that system.
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment