From 8d8bbbf0ae3ffc4621628e1b7d3bc3e7dc0a4f7c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Torma=20Krist=C3=B3f?= Date: Tue, 6 Apr 2021 01:43:07 +0200 Subject: [PATCH] fuck my life, this is so bad --- .idea/vcs.xml | 6 + bin/org/fog/test/perfeval/Birbnetes.class | Bin 10618 -> 10581 bytes bin/org/fog/test/perfeval/DCNSFog.class | Bin 10655 -> 10628 bytes .../fog/test/perfeval/TestApplication$1.class | Bin 731 -> 731 bytes .../fog/test/perfeval/TestApplication$2.class | Bin 752 -> 752 bytes .../fog/test/perfeval/TestApplication.class | Bin 12090 -> 12090 bytes bin/org/fog/test/perfeval/VRGameFog.class | Bin 10779 -> 10752 bytes src/org/fog/entities/FogDevice.java | 2 +- src/org/fog/test/perfeval/Birbnetes.java | 6 +- .../perfeval/Birbnetes_copyofdcnsfog.java | 260 ++++++++++++++++++ .../fog/test/perfeval/TestApplication.java | 3 +- src/org/fog/test/perfeval/VRGameFog.java | 10 +- 12 files changed, 277 insertions(+), 10 deletions(-) create mode 100644 .idea/vcs.xml create mode 100644 src/org/fog/test/perfeval/Birbnetes_copyofdcnsfog.java diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/bin/org/fog/test/perfeval/Birbnetes.class b/bin/org/fog/test/perfeval/Birbnetes.class index 091773b4545008ff1bd36f78ec736974e6edfd72..959220800c171bedb8cb5e790aac5eadd534d1d8 100644 GIT binary patch delta 3313 zcmX|E30PEB8-CwA%eh=G4h$nYDvBW_LSki^WJQ)O8dg?+@wZ8eL=saln3grA_P3c< z*A~mnT%yH7m>LEtGZQt_%F4=YUu@rZ)A+x0$KaXgocDa^eBb$&_k1(#owRdOZ0kR3 z*8v!1^sx}$L;>n7q zSSaK%77BQ(;&=;1oREeVo~Bq~p@hTr&P0m`^K_GE==n^OlT4mv@@#+kssG;c!Uz{B zo}>65ed=6)dF8*G3(H+(a@=_)EB)oQsST6=HF>_t3luN3aI%CidKW2PtT@@i1by{* z9blD(iM&K_P6-06an50Btc90q&uX==muWOz4|NtVXMH*&yh8EHAjlfUMt^xIb)zMR zqZX=lrl+t;>&{TTDkx>Bu~5fZT5`4CyT;;dUaQe{dgB^B#1yZ$(4_rp^6>_feVi<# zIHQGgwA$PtJiO64)fg1}pI+Y-lw#hZZ@ksyZ5HSAc8i5vU~wVuFnOoqT_$raETW@_ zI(_nV9poa7?zT9T_vqnX&4>HaS;WP9xZmUh7Jlav#Rp9;wXmEIDK4|HiVy3>a*HEY zaHYO#mBkf&MBmq}heu65X7X{xCoHb!lZsDSXw_tBi4X8>^Lp1Pw#L6z<2)Hd6x$Tz zicc#(;~bkl+S7$i&eiGBzFkb%=wiFgBs&z>+U(@BM1hm#FK~+OG5#(-M;t559A{&C zrsLTCJY8Jptg(m7{JitAU1)Z3y|(d!6Ue9(;Ra`V#`yd$zDQ(WRyCulw63bYrgYrQ zDb-g*Ya{hGH)4~G7qQWKCnI-&*thW~{vzxX>T0X&qZN^1n{V(+ce;#)S~<~xeJY`)9g&YHjgzUOQYjE<$#*1^1Q<9T!t;YdSG z>9j~qsd!c!t*ve>J$_2GsVW+2F!_N#_@Rv#&|&iWIM|T6tTCnZNMYm z9L=hwxdWX=xy7*-#N`1im^uf7Otc@EB{3k@ip)T#$fa&Q>vgi0s`RYa%UY7(v)+)| zSM$oXM+n7bXS1wIWv0x&VeMe6fFc81Wb(VxT)ZUMPMyG3yeunAGe;zw<23^d$t}); zL6MjoVRAh=NA1;|*;@(3=vB$3;6u=5^6qg8VLeTXv<1%ei;3 z3u!KTS5Uf(b_>ct8ohW=LJQzv?7{n@kr_h?KE?-PCJTqk=7%E8#xykJBaw#?!BTu8 zD!p+n?!c$wRt|2!e0(OT4{pTG_*_t5+={tkau>o_i0kl$p#E5dS@=>=E*2w-uLKRk z5?qO|1r5e3Tq;4wzC}LPqXOUIdkm38kH-)A5e4{3!q1aN{?fc~5?3bB5cY??2~19)G3*Z{5Dk0Rh@ue4*_l5|a{{Lbk%84xF_#Hgec*bL zxh@&*u1{R@NLp{FU$W-K`8bn`rno)}hck_qxNA|`k9I&bCde7#5VAYbRN0Oh6(tE= z6+(D=;gl8;rx-k0esIVlCVaZyrE!kC&K7R%61jIq7^{le00W=ld9W@9u% zl4PH-wVu7*B$s0ebKJyBxNcb_Zb6zU6y9%OA30~ZfL6v=>MHC67Ff zeHl)rE@os23FXCNPjF!pcX-Dnac4#U5>FC$1)YhVSX3FjyB+tGc@NP+-kZdIWxlY_ z#R)8S=R=aXKZyr)DuRavXC|;jz~L^Cs5|f=p%c@ArIg25tkFZ1cUMqmhGS*|7YCOm z@bF>;L~TS^3&cco_l{01uMDmb6K$B@hDbYBYBOPPn?&;>fn!i`Hmma!7 z+S*3BXp3CcCCzPxY-sr#MgDnZHxgW~g46i4SVqY9{ zy>ZO%gdq=FBy&2^DyS`vi+W_!dr+iRjHI6VKyeq+oSl6`%^7{A*&ZZaxkSbz4>VRE z47*%f7>l(IOL&OPe$k#N`F~n)KS|6)nf2d<)MR8CAtNYRohs`*`ER9KeqB#<#|C$t L>5lW<@#g;n2sGh) delta 3306 zcmX|E2Y3|K7XJU)*}ap=q-{2334uTe8j=uE6p1|DhhhPP8uV%G5mpSwL|`F;!dk#C zmQfK!L=nZV-JVfJet_yG#7`VNkEb1e%Jqt$>0>^3_yxbz!&))O^LkpWv8lSQp?N~f zB@TD-D+iq-gA~?S{94=gjl*ws7S?LYcbf9OLq7vV-ndx9lvrc)#FCMXQ!Z$Z#-dXP z4<4*o_=CeA`IEz+C4&5gzbgLb@OS>3~^(vEGJcuaJ9CSkC;WezOE|nHt>>C^ztmOaYHtj8_FaJsfxqugl8Tg(H+r ziP3!qQfhH>-*-Q&0xdXyOBLEei+Wb9^Wg*>P0jBl+Ko91IbrkA;|v3(t(pnh12i|`%d-=kELQHvk&BL-k2M&l>^j57Qp?w5$aJvRR;HusqF zo0!rg`nyQ}AzUNi>lWR;6n2|5P5OL3C2i59f+Il4J&(}!PCtcGB?@G_JP@=cE7B@- zR@{mGev+h|*?-JwI(I`QA&|)I?Ma28za=)5aBoMqWWkH_ezo-AAlF2DdO(GT!gv}(*Phwg)kd?&ru(?u{NddX3(qXzLaJ&>UuuQD< zDgn#(sTZ1OlHu)IVvv+c9qmh8E}f*GjdaCJ+wvs_^2O z!fiDwtU@RfR#6mIaw!a)KF80t?oFCt_7K|PUQ$*f*`8N+k{9keF@BzW4dqF=15%~A z%$I;FT!G;%kRbb|TANwu1v!F+410kWcfGWT--2|d$om8v*h}~fuQ>Bz?nOlEjeBu~ zp7!AI-Ezs(Sj65vp^F=ZQiO72u`76c3U{R7nj=!Uv$m+xm%?4ayT^87etqzs4lJlK ztF)i@rf^@4KkWB#5(~Y#Duw$~Sfry7JUBQri3bE6;sJ4d4HgqRHf!)8wdXNJ5i3f&+D60&|5;V zP{@ zOg+Hz2sVgH?!Eg=$Uwp zeb`qLSs>y%xjr#s4NKThZc&w(pxc0747r>ASt@1IhM^q5GAWx6B%ivQ3j=m>AP2YM|kO< N^Tx})@j7q3=^y&`+IIi| diff --git a/bin/org/fog/test/perfeval/DCNSFog.class b/bin/org/fog/test/perfeval/DCNSFog.class index 785382474b4016fd130b1105c918ccce9d5e34bb..1ba3f1bf2ad87668e5edb3e4e1005eca593fea45 100644 GIT binary patch delta 4218 zcmZ`+33wF668>vGjrrd9z2|&McU5(Dch%oj)xDc5 zS5$@%p5FgBfc_3m#a=2=D4dElNCBoq2V%} zuh0k~87Z1kDmu|mZuzuCT`eF*r|$ zgDw+;m+NrSTihZpLQXs$xFGF{=WFcRu2rc<4YskBI@dL1sIuvo<`Y7oLDDlMg} z1a-BLEfLK%GF_`;0hP$~51GO$YQ+LIv`nStbe+py)-$+5rt4)|p`w9S%5;N@rTKKD zOgE{xnr@b9m5OU=wTi`bi$ZG@x>cdI)(}Tg_%;=*#nS6ktfAXwvQ(_4n}yfwMRSKZ zLi-%=bXTlRxa_Vtbd$ZSOn1rjPoc5FU9mYasL;RM72&_=jSAiEt{7-*L!oK`Bb3Meu`^2fiE3~L0(32WHMJG9&zayN^n6$8=iZ`B>UtL#MQ@1F8F0Wp_P(v$z*XUjLjNYU730iGk z&61_1Z0F+YI*mS{BN`sZ0Y+_bO-=ox`nsyxG1c{RYi2F-xamWMKGNtYeXQXmzE$WG z!5q`@1P&;4Tri(%Ncvd}eMZQ%HaRn$3Vm+POc|`Sh?QIDgta53Q^^;Eq0rirnrV$!QmuPZ z2fAA*P8h_Z467p5Yq>nx&K5dsb@r5T|C3eeDdMev7CW4>mU}`h{KY!rDNSjiUp4wo z;Lu9HTbbT+=O6T^Rp}kU{b_5nw_Kt&2dp!^+14rV<;g7$(i{%@iQu=+P4hReN=v5Z z&AKKzoersaXU0`7w~GOAC{|f+4^piuxerjX)s{Ot+>E^(@@^<1fIx^b=fFPZISM-X zIP)A39sFa=^Et4tBH-m-713k!1deOge1^H6+!Ob%VxGH)2?w6#)@=(*@EpQ`me9cS zc!7tKa1bxDgl9YUGMCJyEM0fR;FJc&AdPVj$_e;maOv)#6o(wrl_-*eE>kjH5vVaF z2i>OIrX$eo-jrfUp`aW?YEWr{XCJ(TV3L`%4`~#}29yX=Cw3$~sG4d7hVF|XV*@;< zqG#HI2(lX6UT4Q z$9UX;3$PXwa0e!06DFY%QxM0+e8yAp7B0b;On-yv_zhL~6Epd6tI36VY{qO#!W>G$ zT+(^P=h&25Heo(Yyo8rIK4hH6E4&UT7pM8Fc#VT0C5&J3ItPxEEj)=ga0n9Hc?^f~ zCi_u_w|UdIIbMeG>AZt?d6AK9&U<*DOLP*4#|Jnf!iUoFAwJ?QkMjR=C~a)LD&u34 z`D&GMOolAuxQtFRK9%tqP}T}ZejCcdNctN!IBfOfZH(XF>NpcRGCpsEAH37YqA5#a zceyer!k9epurI(eJ=;Jpy|;lr2KqS-3@{K58sNAdG$!DP;2e&Hz&=zsFj+s>z~D5` z7FOgxDb>JG1Lv{g*wR1*=d*69fe{gm;whzxDb9Y9Pin≫qIC`}s(bT~f-rF^rwO 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 aTL77=_^<8h_E>F?*Vto?Jzi^%_5TICeyj@s diff --git a/bin/org/fog/test/perfeval/TestApplication$1.class b/bin/org/fog/test/perfeval/TestApplication$1.class index 5d5cd7352e1b961b011f99224dcdb0044734c885..81087f0687a00dccc3e9555ad08bde244f1face9 100644 GIT binary patch delta 13 Vcmcc3dYg5_6eh-3lczGd0RSk@1!4dI delta 13 Vcmcc3dYg5_6eh-(lczGd0RSk;1z`XH diff --git a/bin/org/fog/test/perfeval/TestApplication$2.class b/bin/org/fog/test/perfeval/TestApplication$2.class index e048290244fdf8a228b488b6af8dc72f62fdfd92..ae9d2cb4bbfbd116c6882f08e26d0600c4c03c78 100644 GIT binary patch delta 13 Vcmeys`hj)BN+!nFlUFgh0RStq1-AeI delta 13 Vcmeys`hj)BN+!lvlUFgh0RStl1-1YH diff --git a/bin/org/fog/test/perfeval/TestApplication.class b/bin/org/fog/test/perfeval/TestApplication.class index ce1f3ab57c23ec79cf3025f089f6f3ab1d8fc9d7..5faf4eb60afaed68cbb8982af513f24e31e8a818 100644 GIT binary patch delta 38 ucmdlLw<~T#o37*w#z=-&j2R5C8H*U+Fjg?UWvpj-$Joa3Ve@?5*^B@yi4O7r delta 38 ucmdlLw<~T#o37+@#z=;jj2R5C7>gKQGgdIXVXS9(%h<;7e)D|Y*^B@y3l8f5 diff --git a/bin/org/fog/test/perfeval/VRGameFog.class b/bin/org/fog/test/perfeval/VRGameFog.class index 01ff28607c05698fa4a069dd54283b93a90a4352..06beef065b10618fd249b517f4af3ffe1582503f 100644 GIT binary patch delta 4228 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 S*oDn5T;{^RxNxNlulz69Y_ahG diff --git a/src/org/fog/entities/FogDevice.java b/src/org/fog/entities/FogDevice.java index 283579b..1ce4186 100644 --- a/src/org/fog/entities/FogDevice.java +++ b/src/org/fog/entities/FogDevice.java @@ -743,7 +743,7 @@ public class FogDevice extends PowerDatacenter { processCloudletSubmit(ev, false); updateAllocatedMips(moduleName); /*for(Vm vm : getHost().getVmList()){ - Logger.error(getName(), "MIPS allocated to "+((AppModule)vm).getName()+" = "+getHost().getTotalAllocatedMipsForVm(vm)); + Log.printLine("MIPS allocated to "+((AppModule)vm).getName()+" = "+getHost().getTotalAllocatedMipsForVm(vm)); }*/ } diff --git a/src/org/fog/test/perfeval/Birbnetes.java b/src/org/fog/test/perfeval/Birbnetes.java index 6084458..062ab95 100644 --- a/src/org/fog/test/perfeval/Birbnetes.java +++ b/src/org/fog/test/perfeval/Birbnetes.java @@ -28,7 +28,7 @@ import java.util.*; public class Birbnetes { static int numOfFogDevices = 2; - static int numOfClientsPerFogDevice = 10; + static int numOfClientsPerFogDevice = 1; static List fogDevices = new ArrayList<>(); static Map getIdByName = new HashMap<>(); static List sensors = new ArrayList<>(); @@ -117,7 +117,7 @@ public class Birbnetes { "OutputData"); actuators.add(actuator); sensor.setGatewayDeviceId(lowLevelFogDevice.getId()); - sensor.setLatency(6.0); + sensor.setLatency(10.0); actuator.setGatewayDeviceId(lowLevelFogDevice.getId()); actuator.setLatency(1.0); return lowLevelFogDevice; @@ -156,7 +156,7 @@ public class Birbnetes { Log.printLine("Starting Birbnetes..."); try { - Log.disable(); + //Log.disable(); int num_user = 1; // number of cloud users Calendar calendar = Calendar.getInstance(); diff --git a/src/org/fog/test/perfeval/Birbnetes_copyofdcnsfog.java b/src/org/fog/test/perfeval/Birbnetes_copyofdcnsfog.java new file mode 100644 index 0000000..28be0ad --- /dev/null +++ b/src/org/fog/test/perfeval/Birbnetes_copyofdcnsfog.java @@ -0,0 +1,260 @@ +package org.fog.test.perfeval; + +import org.cloudbus.cloudsim.Host; +import org.cloudbus.cloudsim.Log; +import org.cloudbus.cloudsim.Pe; +import org.cloudbus.cloudsim.Storage; +import org.cloudbus.cloudsim.core.CloudSim; +import org.cloudbus.cloudsim.power.PowerHost; +import org.cloudbus.cloudsim.provisioners.RamProvisionerSimple; +import org.cloudbus.cloudsim.sdn.overbooking.BwProvisionerOverbooking; +import org.cloudbus.cloudsim.sdn.overbooking.PeProvisionerOverbooking; +import org.fog.application.AppEdge; +import org.fog.application.AppLoop; +import org.fog.application.Application; +import org.fog.application.selectivity.FractionalSelectivity; +import org.fog.entities.*; +import org.fog.placement.Controller; +import org.fog.placement.ModuleMapping; +import org.fog.placement.ModulePlacementEdgewards; +import org.fog.placement.ModulePlacementMapping; +import org.fog.policy.AppModuleAllocationPolicy; +import org.fog.scheduler.StreamOperatorScheduler; +import org.fog.utils.FogLinearPowerModel; +import org.fog.utils.FogUtils; +import org.fog.utils.TimeKeeper; +import org.fog.utils.distribution.DeterministicDistribution; + +import java.util.ArrayList; +import java.util.Calendar; +import java.util.LinkedList; +import java.util.List; + +/** + * Simulation setup for case study 2 - Intelligent Surveillance + * @author Harshit Gupta + * + */ +public class Birbnetes_copyofdcnsfog { + static List fogDevices = new ArrayList(); + static List sensors = new ArrayList(); + static List actuators = new ArrayList(); + static int numOfAreas = 1; + static int numOfCamerasPerArea = 4; + + private static boolean CLOUD = false; + + public static void main(String[] args) { + + Log.printLine("Starting DCNS..."); + + try { + Log.disable(); + int num_user = 1; // number of cloud users + Calendar calendar = Calendar.getInstance(); + boolean trace_flag = false; // mean trace events + + CloudSim.init(num_user, calendar, trace_flag); + + String appId = "dcns"; // identifier of the application + + FogBroker broker = new FogBroker("broker"); + + Application application = createApplication(appId, broker.getId()); + application.setUserId(broker.getId()); + + createFogDevices(broker.getId(), appId); + + Controller controller = null; + + ModuleMapping moduleMapping = ModuleMapping.createModuleMapping(); // initializing a module mapping + for(FogDevice device : fogDevices){ + if(device.getName().startsWith("m")){ // names of all Smart Cameras start with 'm' + moduleMapping.addModuleToDevice("motion_detector", device.getName()); // fixing 1 instance of the Motion Detector module to each Smart Camera + } + } + moduleMapping.addModuleToDevice("user_interface", "cloud"); // fixing instances of User Interface module in the Cloud + if(CLOUD){ + // if the mode of deployment is cloud-based + moduleMapping.addModuleToDevice("object_detector", "cloud"); // placing all instances of Object Detector module in the Cloud + moduleMapping.addModuleToDevice("object_tracker", "cloud"); // placing all instances of Object Tracker module in the Cloud + } + + controller = new Controller("master-controller", fogDevices, sensors, + actuators); + + controller.submitApplication(application, + (CLOUD)?(new ModulePlacementMapping(fogDevices, application, moduleMapping)) + :(new ModulePlacementEdgewards(fogDevices, sensors, actuators, application, moduleMapping))); + + TimeKeeper.getInstance().setSimulationStartTime(Calendar.getInstance().getTimeInMillis()); + + CloudSim.startSimulation(); + + CloudSim.stopSimulation(); + + Log.printLine("VRGame finished!"); + } catch (Exception e) { + e.printStackTrace(); + Log.printLine("Unwanted errors happen"); + } + } + + /** + * Creates the fog devices in the physical topology of the simulation. + * @param userId + * @param appId + */ + private static void createFogDevices(int userId, String appId) { + FogDevice cloud = createFogDevice("cloud", 44800, 40000, 100, 10000, 0, 0.01, 16*103, 16*83.25); + cloud.setParentId(-1); + fogDevices.add(cloud); + FogDevice proxy = createFogDevice("proxy-server", 2800, 4000, 10000, 10000, 1, 0.0, 107.339, 83.4333); + proxy.setParentId(cloud.getId()); + proxy.setUplinkLatency(100); // latency of connection between proxy server and cloud is 100 ms + fogDevices.add(proxy); + for(int i=0;i peList = new ArrayList(); + + // 3. Create PEs and add these into a list. + peList.add(new Pe(0, new PeProvisionerOverbooking(mips))); // need to store Pe id and MIPS Rating + + int hostId = FogUtils.generateEntityId(); + long storage = 1000000; // host storage + int bw = 10000; + + PowerHost host = new PowerHost( + hostId, + new RamProvisionerSimple(ram), + new BwProvisionerOverbooking(bw), + storage, + peList, + new StreamOperatorScheduler(peList), + new FogLinearPowerModel(busyPower, idlePower) + ); + + List hostList = new ArrayList(); + hostList.add(host); + + String arch = "x86"; // system architecture + String os = "Linux"; // operating system + String vmm = "Xen"; + double time_zone = 10.0; // time zone this resource located + double cost = 3.0; // the cost of using processing in this resource + double costPerMem = 0.05; // the cost of using memory in this resource + double costPerStorage = 0.001; // the cost of using storage in this + // resource + double costPerBw = 0.0; // the cost of using bw in this resource + LinkedList storageList = new LinkedList(); // we are not adding SAN + // devices by now + + FogDeviceCharacteristics characteristics = new FogDeviceCharacteristics( + arch, os, vmm, host, time_zone, cost, costPerMem, + costPerStorage, costPerBw); + + FogDevice fogdevice = null; + try { + fogdevice = new FogDevice(nodeName, characteristics, + new AppModuleAllocationPolicy(hostList), storageList, 10, upBw, downBw, 0, ratePerMips); + } catch (Exception e) { + e.printStackTrace(); + } + + fogdevice.setLevel(level); + return fogdevice; + } + + /** + * Function to create the Intelligent Surveillance application in the DDF model. + * @param appId unique identifier of the application + * @param userId identifier of the user of the application + * @return + */ + @SuppressWarnings({"serial" }) + private static Application createApplication(String appId, int userId){ + + Application application = Application.createApplication(appId, userId); + /* + * Adding modules (vertices) to the application model (directed graph) + */ + application.addAppModule("object_detector", 10); + application.addAppModule("motion_detector", 10); + application.addAppModule("object_tracker", 10); + application.addAppModule("user_interface", 10); + + /* + * Connecting the application modules (vertices) in the application model (directed graph) with edges + */ + application.addAppEdge("CAMERA", "motion_detector", 1000, 20000, "CAMERA", Tuple.UP, AppEdge.SENSOR); // adding edge from CAMERA (sensor) to Motion Detector module carrying tuples of type CAMERA + application.addAppEdge("motion_detector", "object_detector", 2000, 2000, "MOTION_VIDEO_STREAM", Tuple.UP, AppEdge.MODULE); // adding edge from Motion Detector to Object Detector module carrying tuples of type MOTION_VIDEO_STREAM + application.addAppEdge("object_detector", "user_interface", 500, 2000, "DETECTED_OBJECT", Tuple.UP, AppEdge.MODULE); // adding edge from Object Detector to User Interface module carrying tuples of type DETECTED_OBJECT + application.addAppEdge("object_detector", "object_tracker", 1000, 100, "OBJECT_LOCATION", Tuple.UP, AppEdge.MODULE); // adding edge from Object Detector to Object Tracker module carrying tuples of type OBJECT_LOCATION + application.addAppEdge("object_tracker", "PTZ_CONTROL", 100, 28, 100, "PTZ_PARAMS", Tuple.DOWN, AppEdge.ACTUATOR); // adding edge from Object Tracker to PTZ CONTROL (actuator) carrying tuples of type PTZ_PARAMS + + /* + * Defining the input-output relationships (represented by selectivity) of the application modules. + */ + application.addTupleMapping("motion_detector", "CAMERA", "MOTION_VIDEO_STREAM", new FractionalSelectivity(1.0)); // 1.0 tuples of type MOTION_VIDEO_STREAM are emitted by Motion Detector module per incoming tuple of type CAMERA + application.addTupleMapping("object_detector", "MOTION_VIDEO_STREAM", "OBJECT_LOCATION", new FractionalSelectivity(1.0)); // 1.0 tuples of type OBJECT_LOCATION are emitted by Object Detector module per incoming tuple of type MOTION_VIDEO_STREAM + application.addTupleMapping("object_detector", "MOTION_VIDEO_STREAM", "DETECTED_OBJECT", new FractionalSelectivity(0.05)); // 0.05 tuples of type MOTION_VIDEO_STREAM are emitted by Object Detector module per incoming tuple of type MOTION_VIDEO_STREAM + + /* + * Defining application loops (maybe incomplete loops) to monitor the latency of. + * Here, we add two loops for monitoring : Motion Detector -> Object Detector -> Object Tracker and Object Tracker -> PTZ Control + */ + final AppLoop loop1 = new AppLoop(new ArrayList(){{add("motion_detector");add("object_detector");add("object_tracker");}}); + final AppLoop loop2 = new AppLoop(new ArrayList(){{add("object_tracker");add("PTZ_CONTROL");}}); + List loops = new ArrayList(){{add(loop1);add(loop2);}}; + + application.setLoops(loops); + return application; + } +} \ No newline at end of file diff --git a/src/org/fog/test/perfeval/TestApplication.java b/src/org/fog/test/perfeval/TestApplication.java index 1e8a3bd..3772b91 100644 --- a/src/org/fog/test/perfeval/TestApplication.java +++ b/src/org/fog/test/perfeval/TestApplication.java @@ -202,7 +202,7 @@ public class TestApplication { @SuppressWarnings({"serial" }) private static MyApplication createApplication(String appId, int userId){ - + MyApplication application = MyApplication.createApplication(appId, userId); application.addAppModule("clientModule",10, 1000, 1000, 100); application.addAppModule("mainModule", 50, 1500, 4000, 800); @@ -228,6 +228,7 @@ public class TestApplication { moduleAddMips.put("mainModule", getvalue(0, 500)); deadlineInfo.put(id, moduleDeadline); additionalMipsInfo.put(id,moduleAddMips); + } final AppLoop loop1 = new AppLoop(new ArrayList(){{add("IoTSensor");add("clientModule");add("mainModule");add("clientModule");add("IoTActuator");}}); diff --git a/src/org/fog/test/perfeval/VRGameFog.java b/src/org/fog/test/perfeval/VRGameFog.java index 7045d32..76953a8 100644 --- a/src/org/fog/test/perfeval/VRGameFog.java +++ b/src/org/fog/test/perfeval/VRGameFog.java @@ -57,7 +57,7 @@ public class VRGameFog { Log.printLine("Starting VRGame..."); try { - Log.disable(); + //Log.disable(); int num_user = 1; // number of cloud users Calendar calendar = Calendar.getInstance(); boolean trace_flag = false; // mean trace events @@ -74,7 +74,7 @@ public class VRGameFog { createFogDevices(broker.getId(), appId); ModuleMapping moduleMapping = ModuleMapping.createModuleMapping(); // initializing a module mapping - + if(CLOUD){ // if the mode of deployment is cloud-based /*moduleMapping.addModuleToDevice("connector", "cloud", numOfDepts*numOfMobilesPerDept); // fixing all instances of the Connector module to the Cloud @@ -263,15 +263,15 @@ public class VRGameFog { application.addAppEdge("client", "DISPLAY", 1000, 500, "GLOBAL_STATE_UPDATE", Tuple.DOWN, AppEdge.ACTUATOR); // adding edge from Client module to Display (actuator) carrying tuples of type GLOBAL_STATE_UPDATE /* - * Defining the input-output relationships (represented by selectivity) of the application modules. + * Defining the input-output relationships (represented by selectivity) of the application modules. */ application.addTupleMapping("client", "EEG", "_SENSOR", new FractionalSelectivity(0.9)); // 0.9 tuples of type _SENSOR are emitted by Client module per incoming tuple of type EEG application.addTupleMapping("client", "CONCENTRATION", "SELF_STATE_UPDATE", new FractionalSelectivity(1.0)); // 1.0 tuples of type SELF_STATE_UPDATE are emitted by Client module per incoming tuple of type CONCENTRATION application.addTupleMapping("concentration_calculator", "_SENSOR", "CONCENTRATION", new FractionalSelectivity(1.0)); // 1.0 tuples of type CONCENTRATION are emitted by Concentration Calculator module per incoming tuple of type _SENSOR application.addTupleMapping("client", "GLOBAL_GAME_STATE", "GLOBAL_STATE_UPDATE", new FractionalSelectivity(1.0)); // 1.0 tuples of type GLOBAL_STATE_UPDATE are emitted by Client module per incoming tuple of type GLOBAL_GAME_STATE - + /* - * Defining application loops to monitor the latency of. + * Defining application loops to monitor the latency of. * Here, we add only one loop for monitoring : EEG(sensor) -> Client -> Concentration Calculator -> Client -> DISPLAY (actuator) */ final AppLoop loop1 = new AppLoop(new ArrayList(){{add("EEG");add("client");add("concentration_calculator");add("client");add("DISPLAY");}});