/EdgeProject

Primary LanguagePython

EdgeProject

Dataset

  • DEBS 2015 is described at https://debs.org/grand-challenges/2015/. The full data set is available via a URL posted on the web page 
  • The data holds one year worth of data describing taxi trips in NYC; a sub set of the data (first 5K samples) was used in the simulation
  • The data has geo locations (latitudes and longitudes) of taxis’ pick-ups and drop-offs and durations of taxi trips; this data is used to create input for EdgeCloudSim (using pipeline.py which currently allows processing the first 5K data samples that span 26 minutes of taxi trips in the data set). Running cells “A”- “E” in the python script will output a csv file “spatial_seriesEdgeCLoudSimInput_REF2” that is to be fed into the EdgeCloudSim 
  • Running cell “F” of the python script pipeline.py will produce a plot of x, y positions for the devices (i.e., taxis) and the edge nodes (the nodes’ locations are set in a configuration file of the EdgeCloudSim).  

Simulation Tool

  • The open-source edge cloud simulation tool EdgeCloudSim is available at https://github.com/CagataySonmez/EdgeCloudSim 
  • The tool was used to simulate workloads from devices in taxis moving according to x, y positions produced from the 5K sample obtained from the DEBS 2015 dataset. A deterministic mobility model was used in the tool where the x, y positions of the devices are read in from the “spatial_seriesEdgeCLoudSimInput_REF2” 
  • Nine edge nodes were configured, simulation parameters (bandwidths, delays, simulation time, others) were set as well as application parameters were set in the three configuration files (included)
  • Simulation output was analyzed by creating analyzing the console output of the tool and producing plots in python.

Results:

The image below shows the egde nodes and the count of devices (on the grid) in time. movie

These data points (describe the mobility of users deterministically) were inputted into a modified Mobility Model in the EdgeCloudSim to obtain the following results:

Avg_Service_time Network_Delay
Avg_Service_time Network_Delay

While having a higher network delay, the Two_Tier_With_EO offers an average service time less than of the Single_Tier scenario.

Completed_Tasks Failed_Tasks
Completed_Tasks Failed_Tasks

The Two_Tier_With_EO offers a higher percent of completed tasks with lower percent of failed tasks.

Failed_Tasks_VM_Capacity Server_Utilization
Failed_Tasks_VM_Capacity ServerUtilization

The Two_Tier_With_EO utilizes all VMs (leveraging the benefits of load balancing). Failures in the Single_Tier point towards not enough resources (VMs). Dynamic VM provisioning of new edge nodes and/or VMs on existing edge nodes and/or leveraging mist computing mechanism are potential courses of action in the Single_Tier model.

Failed_MAN Failed_Mobility Failed_Network Failed_WLAN_Range Failed_WAN Failed_WLAN
Failed_MAN Failed_Tasks_Mobility Failed_Tasks_Network Failed_Tasks_WLAN_RANGE Failed_WAN Failed_WLAN

To Obtain the Results:

  1. Use the pipeline.py to produce the input to the simulation tool;
  2. Simulate the environment with the parameters provided in the configuration files.