Fixed most of the currently discovered typos.

This commit is contained in:
Hc Wang 2019-03-19 09:02:08 +08:00
parent 97bb697113
commit dc27788628
37 changed files with 95 additions and 95 deletions

View File

@ -37,7 +37,7 @@ If you want to specify more things, add additional notes here
# How to Contribute to EdgeCloudSim # How to Contribute to EdgeCloudSim
You can simply follow below steps to contribute to EdgeClouldSim: You can simply follow below steps to contribute to EdgeCloudSim:
1. Create a working copy (fork the project & clone it) 1. Create a working copy (fork the project & clone it)
2. Specify a new remote upstream repository 2. Specify a new remote upstream repository

View File

@ -6,7 +6,7 @@ EdgeCloudSim provides a simulation environment specific to Edge Computing scenar
The discussion forum for EdgeCloudSim can be found [here](https://groups.google.com/forum/#!forum/edgecloudsim). The discussion forum for EdgeCloudSim can be found [here](https://groups.google.com/forum/#!forum/edgecloudsim).
We hope to meet with all interested parties in this forum. We hope to meet with all interested parties in this forum.
Please feel free to join and let us discuss issues, share ideas related to EdgeCloudSim all togerther. Please feel free to join and let us discuss issues, share ideas related to EdgeCloudSim all together.
## Needed Features ## Needed Features

View File

@ -10,7 +10,7 @@ min_number_of_mobile_devices=100
max_number_of_mobile_devices=1000 max_number_of_mobile_devices=1000
mobile_device_counter_size=100 mobile_device_counter_size=100
wan_propogation_delay=0.1 wan_propagation_delay=0.1
lan_internal_delay=0.005 lan_internal_delay=0.005
wlan_bandwidth=200 wlan_bandwidth=200
wan_bandwidth=15 wan_bandwidth=15

View File

@ -10,7 +10,7 @@ min_number_of_mobile_devices=200
max_number_of_mobile_devices=2000 max_number_of_mobile_devices=2000
mobile_device_counter_size=200 mobile_device_counter_size=200
wan_propogation_delay=0.1 wan_propagation_delay=0.1
lan_internal_delay=0.005 lan_internal_delay=0.005
wlan_bandwidth=0 wlan_bandwidth=0
wan_bandwidth=0 wan_bandwidth=0

View File

@ -10,7 +10,7 @@ min_number_of_mobile_devices=200
max_number_of_mobile_devices=2000 max_number_of_mobile_devices=2000
mobile_device_counter_size=200 mobile_device_counter_size=200
wan_propogation_delay=0.1 wan_propagation_delay=0.1
lan_internal_delay=0.005 lan_internal_delay=0.005
wlan_bandwidth=0 wlan_bandwidth=0
wan_bandwidth=0 wan_bandwidth=0

View File

@ -10,7 +10,7 @@ min_number_of_mobile_devices=200
max_number_of_mobile_devices=2400 max_number_of_mobile_devices=2400
mobile_device_counter_size=200 mobile_device_counter_size=200
wan_propogation_delay=0.1 wan_propagation_delay=0.1
lan_internal_delay=0.005 lan_internal_delay=0.005
wlan_bandwidth=0 wlan_bandwidth=0
wan_bandwidth=0 wan_bandwidth=0

View File

@ -32,7 +32,7 @@ public class MainApp {
//disable console output of cloudsim library //disable console output of cloudsim library
Log.disable(); Log.disable();
//enable console ourput and file output of this application //enable console output and file output of this application
SimLogger.enablePrintLog(); SimLogger.enablePrintLog();
int iterationNumber = 1; int iterationNumber = 1;

View File

@ -32,7 +32,7 @@ public class MainApp {
//disable console output of cloudsim library //disable console output of cloudsim library
Log.disable(); Log.disable();
//enable console ourput and file output of this application //enable console output and file output of this application
SimLogger.enablePrintLog(); SimLogger.enablePrintLog();
int iterationNumber = 1; int iterationNumber = 1;

View File

@ -91,12 +91,12 @@ public class SampleEdgeOrchestrator extends EdgeOrchestrator {
result = SimSettings.GENERIC_EDGE_DEVICE_ID; result = SimSettings.GENERIC_EDGE_DEVICE_ID;
} }
else { else {
SimLogger.printLine("Unknow edge orchestrator policy! Terminating simulation..."); SimLogger.printLine("Unknown edge orchestrator policy! Terminating simulation...");
System.exit(0); System.exit(0);
} }
} }
else { else {
SimLogger.printLine("Unknow simulation scenario! Terminating simulation..."); SimLogger.printLine("Unknown simulation scenario! Terminating simulation...");
System.exit(0); System.exit(0);
} }
return result; return result;

View File

@ -36,7 +36,7 @@ public class SampleNetworkModel extends NetworkModel {
private int[] wanClients; private int[] wanClients;
private int[] wlanClients; private int[] wlanClients;
private double lastMM1QueeuUpdateTime; private double lastMM1QueueUpdateTime;
private double ManPoissonMeanForDownload; //seconds private double ManPoissonMeanForDownload; //seconds
private double ManPoissonMeanForUpload; //seconds private double ManPoissonMeanForUpload; //seconds
@ -194,7 +194,7 @@ public class SampleNetworkModel extends NetworkModel {
SimSettings SS = SimSettings.getInstance(); SimSettings SS = SimSettings.getInstance();
for(int taskIndex=0; taskIndex<numOfApp; taskIndex++) { for(int taskIndex=0; taskIndex<numOfApp; taskIndex++) {
if(SS.getTaskLookUpTable()[taskIndex][0] == 0) { if(SS.getTaskLookUpTable()[taskIndex][0] == 0) {
SimLogger.printLine("Usage percantage of task " + taskIndex + " is 0! Terminating simulation..."); SimLogger.printLine("Usage percentage of task " + taskIndex + " is 0! Terminating simulation...");
System.exit(0); System.exit(0);
} }
else{ else{
@ -214,7 +214,7 @@ public class SampleNetworkModel extends NetworkModel {
avgManTaskInputSize = avgManTaskInputSize/numOfApp; avgManTaskInputSize = avgManTaskInputSize/numOfApp;
avgManTaskOutputSize = avgManTaskOutputSize/numOfApp; avgManTaskOutputSize = avgManTaskOutputSize/numOfApp;
lastMM1QueeuUpdateTime = SimSettings.CLIENT_ACTIVITY_START_TIME; lastMM1QueueUpdateTime = SimSettings.CLIENT_ACTIVITY_START_TIME;
totalManTaskOutputSize = 0; totalManTaskOutputSize = 0;
numOfManTaskForDownload = 0; numOfManTaskForDownload = 0;
totalManTaskInputSize = 0; totalManTaskInputSize = 0;
@ -364,7 +364,7 @@ public class SampleNetworkModel extends NetworkModel {
return getWanDownloadDelay(accessPointLocation, dataSize); return getWanDownloadDelay(accessPointLocation, dataSize);
} }
private double calculateMM1(double propogationDelay, double bandwidth /*Kbps*/, double PoissonMean, double avgTaskSize /*KB*/, int deviceCount){ private double calculateMM1(double propagationDelay, double bandwidth /*Kbps*/, double PoissonMean, double avgTaskSize /*KB*/, int deviceCount){
double mu=0, lamda=0; double mu=0, lamda=0;
avgTaskSize = avgTaskSize * 8; //convert from KB to Kb avgTaskSize = avgTaskSize * 8; //convert from KB to Kb
@ -376,7 +376,7 @@ public class SampleNetworkModel extends NetworkModel {
if(result < 0) if(result < 0)
return 0; return 0;
result += propogationDelay; result += propagationDelay;
return (result > 15) ? 0 : result; return (result > 15) ? 0 : result;
} }
@ -412,8 +412,8 @@ public class SampleNetworkModel extends NetworkModel {
} }
public void updateMM1QueeuModel(){ public void updateMM1QueeuModel(){
double lastInterval = CloudSim.clock() - lastMM1QueeuUpdateTime; double lastInterval = CloudSim.clock() - lastMM1QueueUpdateTime;
lastMM1QueeuUpdateTime = CloudSim.clock(); lastMM1QueueUpdateTime = CloudSim.clock();
if(numOfManTaskForDownload != 0){ if(numOfManTaskForDownload != 0){
ManPoissonMeanForDownload = lastInterval / (numOfManTaskForDownload / (double)numberOfMobileDevices); ManPoissonMeanForDownload = lastInterval / (numOfManTaskForDownload / (double)numberOfMobileDevices);

View File

@ -32,7 +32,7 @@ public class MainApp {
//disable console output of cloudsim library //disable console output of cloudsim library
Log.disable(); Log.disable();
//enable console ourput and file output of this application //enable console output and file output of this application
SimLogger.enablePrintLog(); SimLogger.enablePrintLog();
int iterationNumber = 1; int iterationNumber = 1;

View File

@ -65,7 +65,7 @@ public class SampleMobileServerManager extends MobileServerManager{
} }
@Override @Override
public void createVmList(int brockerId) { public void createVmList(int brokerId) {
//VMs should have unique IDs, so create Mobile VMs after Edge+Cloud VMs //VMs should have unique IDs, so create Mobile VMs after Edge+Cloud VMs
int vmCounter=SimSettings.getInstance().getNumOfEdgeVMs() + SimSettings.getInstance().getNumOfCloudVMs(); int vmCounter=SimSettings.getInstance().getNumOfEdgeVMs() + SimSettings.getInstance().getNumOfCloudVMs();
@ -82,7 +82,7 @@ public class SampleMobileServerManager extends MobileServerManager{
long bandwidth = 0; long bandwidth = 0;
//VM Parameters //VM Parameters
MobileVM vm = new MobileVM(vmCounter, brockerId, mips, numOfCores, ram, bandwidth, storage, vmm, new CloudletSchedulerTimeShared()); MobileVM vm = new MobileVM(vmCounter, brokerId, mips, numOfCores, ram, bandwidth, storage, vmm, new CloudletSchedulerTimeShared());
vmList.get(i).add(vm); vmList.get(i).add(vm);
vmCounter++; vmCounter++;
} }
@ -166,7 +166,7 @@ public class SampleMobileServerManager extends MobileServerManager{
//4. Create Hosts with its id and list of PEs and add them to the list of machines //4. Create Hosts with its id and list of PEs and add them to the list of machines
MobileHost host = new MobileHost( MobileHost host = new MobileHost(
//Hosts should have unique IDs, so create Mobile Hosts after Edge+Cloud Hosts //Hosts should have unique IDs, so create Mobile Hosts after Edge+Cloud Hosts
i+SimSettings.getInstance().getNumOfEdgeHosts()+SimSettings.getInstance().getNumOfCoudHost(), i+SimSettings.getInstance().getNumOfEdgeHosts()+SimSettings.getInstance().getNumOfCouldHost(),
new RamProvisionerSimple(ram), new RamProvisionerSimple(ram),
new BwProvisionerSimple(bandwidth), //kbps new BwProvisionerSimple(bandwidth), //kbps
storage, storage,

View File

@ -96,16 +96,16 @@ public class FuzzyEdgeOrchestrator extends EdgeOrchestrator {
for(int hostIndex=0; hostIndex<numberOfHost; hostIndex++){ for(int hostIndex=0; hostIndex<numberOfHost; hostIndex++){
List<EdgeVM> vmArray = SimManager.getInstance().getEdgeServerManager().getVmList(hostIndex); List<EdgeVM> vmArray = SimManager.getInstance().getEdgeServerManager().getVmList(hostIndex);
double totalUtlization=0; double totalUtilization=0;
for(int vmIndex=0; vmIndex<vmArray.size(); vmIndex++){ for(int vmIndex=0; vmIndex<vmArray.size(); vmIndex++){
totalUtlization += vmArray.get(vmIndex).getCloudletScheduler().getTotalUtilizationOfCpu(CloudSim.clock()); totalUtilization += vmArray.get(vmIndex).getCloudletScheduler().getTotalUtilizationOfCpu(CloudSim.clock());
} }
double avgUtilization = (totalUtlization / (double)(vmArray.size())); double avgUtilization = (totalUtilization / (double)(vmArray.size()));
EdgeHost host = (EdgeHost)(vmArray.get(0).getHost()); //all VMs have the same host EdgeHost host = (EdgeHost)(vmArray.get(0).getHost()); //all VMs have the same host
if(host.getLocation().getServingWlanId() == task.getSubmittedLocation().getServingWlanId()){ if(host.getLocation().getServingWlanId() == task.getSubmittedLocation().getServingWlanId()){
nearestEdgeUtilization = totalUtlization / (double)(vmArray.size()); nearestEdgeUtilization = totalUtilization / (double)(vmArray.size());
nearestEdgeHostIndex = hostIndex; nearestEdgeHostIndex = hostIndex;
} }
else if(avgUtilization < bestRemoteEdgeUtilization){ else if(avgUtilization < bestRemoteEdgeUtilization){
@ -220,12 +220,12 @@ public class FuzzyEdgeOrchestrator extends EdgeOrchestrator {
result = SimSettings.GENERIC_EDGE_DEVICE_ID; result = SimSettings.GENERIC_EDGE_DEVICE_ID;
} }
else { else {
SimLogger.printLine("Unknow edge orchestrator policy! Terminating simulation..."); SimLogger.printLine("Unknown edge orchestrator policy! Terminating simulation...");
System.exit(0); System.exit(0);
} }
} }
else { else {
SimLogger.printLine("Unknow simulation scenario! Terminating simulation..."); SimLogger.printLine("Unknown simulation scenario! Terminating simulation...");
System.exit(0); System.exit(0);
} }
return result; return result;

View File

@ -187,7 +187,7 @@ public class FuzzyExperimentalNetworkModel extends NetworkModel {
SimSettings SS = SimSettings.getInstance(); SimSettings SS = SimSettings.getInstance();
for(int taskIndex=0; taskIndex<numOfApp; taskIndex++) { for(int taskIndex=0; taskIndex<numOfApp; taskIndex++) {
if(SS.getTaskLookUpTable()[taskIndex][0] == 0) { if(SS.getTaskLookUpTable()[taskIndex][0] == 0) {
SimLogger.printLine("Usage percantage of task " + taskIndex + " is 0! Terminating simulation..."); SimLogger.printLine("Usage percentage of task " + taskIndex + " is 0! Terminating simulation...");
System.exit(0); System.exit(0);
} }
else{ else{
@ -275,7 +275,7 @@ public class FuzzyExperimentalNetworkModel extends NetworkModel {
else if (destDeviceId == SimSettings.GENERIC_EDGE_DEVICE_ID+1) else if (destDeviceId == SimSettings.GENERIC_EDGE_DEVICE_ID+1)
manClients++; manClients++;
else { else {
SimLogger.printLine("Error - unknoqn device id in FuzzyExperimentalNetworkModel.uploadStarted(. Terminating simulation..."); SimLogger.printLine("Error - unknown device id in FuzzyExperimentalNetworkModel.uploadStarted(. Terminating simulation...");
System.exit(0); System.exit(0);
} }
} }
@ -289,7 +289,7 @@ public class FuzzyExperimentalNetworkModel extends NetworkModel {
else if (destDeviceId == SimSettings.GENERIC_EDGE_DEVICE_ID+1) else if (destDeviceId == SimSettings.GENERIC_EDGE_DEVICE_ID+1)
manClients--; manClients--;
else { else {
SimLogger.printLine("Error - unknoqn device id in FuzzyExperimentalNetworkModel.uploadFinished(. Terminating simulation..."); SimLogger.printLine("Error - unknown device id in FuzzyExperimentalNetworkModel.uploadFinished(. Terminating simulation...");
System.exit(0); System.exit(0);
} }
} }
@ -303,7 +303,7 @@ public class FuzzyExperimentalNetworkModel extends NetworkModel {
else if(sourceDeviceId == SimSettings.GENERIC_EDGE_DEVICE_ID+1) else if(sourceDeviceId == SimSettings.GENERIC_EDGE_DEVICE_ID+1)
manClients++; manClients++;
else { else {
SimLogger.printLine("Error - unknoqn device id in FuzzyExperimentalNetworkModel.downloadStarted(. Terminating simulation..."); SimLogger.printLine("Error - unknown device id in FuzzyExperimentalNetworkModel.downloadStarted(. Terminating simulation...");
System.exit(0); System.exit(0);
} }
} }
@ -317,7 +317,7 @@ public class FuzzyExperimentalNetworkModel extends NetworkModel {
else if(sourceDeviceId == SimSettings.GENERIC_EDGE_DEVICE_ID+1) else if(sourceDeviceId == SimSettings.GENERIC_EDGE_DEVICE_ID+1)
manClients--; manClients--;
else { else {
SimLogger.printLine("Error - unknoqn device id in FuzzyExperimentalNetworkModel.downloadFinished(. Terminating simulation..."); SimLogger.printLine("Error - unknown device id in FuzzyExperimentalNetworkModel.downloadFinished(. Terminating simulation...");
System.exit(0); System.exit(0);
} }
} }

View File

@ -32,7 +32,7 @@ public class FuzzyMainApp {
//disable console output of cloudsim library //disable console output of cloudsim library
Log.disable(); Log.disable();
//enable console ourput and file output of this application //enable console output and file output of this application
SimLogger.enablePrintLog(); SimLogger.enablePrintLog();
int iterationNumber = 1; int iterationNumber = 1;

View File

@ -61,7 +61,7 @@ public abstract class CloudServerManager {
/* /*
* Creates VM List * Creates VM List
*/ */
public abstract void createVmList(int brockerId); public abstract void createVmList(int brokerId);
/* /*
* returns average utilization of all VMs * returns average utilization of all VMs

View File

@ -53,7 +53,7 @@ public class CloudVmAllocationPolicy_Custom extends VmAllocationPolicy {
Host host = getHostList().get(hostIndex); Host host = getHostList().get(hostIndex);
result = host.vmCreate(vm); result = host.vmCreate(vm);
if (result) { // if vm were succesfully created in the host if (result) { // if vm were successfully created in the host
getVmTable().put(vm.getUid(), host); getVmTable().put(vm.getUid(), host);
createdVmNum++; createdVmNum++;
Log.formatLine("%.2f: Cloud VM #" + vm.getId() + " has been allocated to the host #" + host.getId(),CloudSim.clock()); Log.formatLine("%.2f: Cloud VM #" + vm.getId() + " has been allocated to the host #" + host.getId(),CloudSim.clock());

View File

@ -53,12 +53,12 @@ public class DefaultCloudServerManager extends CloudServerManager{
localDatacenter.shutdownEntity(); localDatacenter.shutdownEntity();
} }
public void createVmList(int brockerId){ public void createVmList(int brokerId){
//VMs should have unique IDs, so create Cloud VMs after Edge VMs //VMs should have unique IDs, so create Cloud VMs after Edge VMs
int vmCounter=SimSettings.getInstance().getNumOfEdgeVMs(); int vmCounter=SimSettings.getInstance().getNumOfEdgeVMs();
//Create VMs for each hosts //Create VMs for each hosts
for (int i = 0; i < SimSettings.getInstance().getNumOfCoudHost(); i++) { for (int i = 0; i < SimSettings.getInstance().getNumOfCouldHost(); i++) {
vmList.add(i, new ArrayList<CloudVM>()); vmList.add(i, new ArrayList<CloudVM>());
for(int j = 0; j < SimSettings.getInstance().getNumOfCloudVMsPerHost(); j++){ for(int j = 0; j < SimSettings.getInstance().getNumOfCloudVMsPerHost(); j++){
String vmm = "Xen"; String vmm = "Xen";
@ -69,7 +69,7 @@ public class DefaultCloudServerManager extends CloudServerManager{
long bandwidth = 0; long bandwidth = 0;
//VM Parameters //VM Parameters
CloudVM vm = new CloudVM(vmCounter, brockerId, mips, numOfCores, ram, bandwidth, storage, vmm, new CloudletSchedulerTimeShared()); CloudVM vm = new CloudVM(vmCounter, brokerId, mips, numOfCores, ram, bandwidth, storage, vmm, new CloudletSchedulerTimeShared());
vmList.get(i).add(vm); vmList.get(i).add(vm);
vmCounter++; vmCounter++;
} }
@ -131,7 +131,7 @@ public class DefaultCloudServerManager extends CloudServerManager{
// 1. We need to create a list to store one or more Machines // 1. We need to create a list to store one or more Machines
List<Host> hostList = new ArrayList<Host>(); List<Host> hostList = new ArrayList<Host>();
for (int i = 0; i < SimSettings.getInstance().getNumOfCoudHost(); i++) { for (int i = 0; i < SimSettings.getInstance().getNumOfCouldHost(); i++) {
int numOfVMPerHost = SimSettings.getInstance().getNumOfCloudVMsPerHost(); int numOfVMPerHost = SimSettings.getInstance().getNumOfCloudVMsPerHost();
int numOfCores = SimSettings.getInstance().getCoreForCloudVM() * numOfVMPerHost; int numOfCores = SimSettings.getInstance().getCoreForCloudVM() * numOfVMPerHost;
double mips = SimSettings.getInstance().getMipsForCloudVM() * numOfVMPerHost; double mips = SimSettings.getInstance().getMipsForCloudVM() * numOfVMPerHost;

View File

@ -185,7 +185,7 @@ public class SimManager extends SimEntity {
} }
} }
for(int i= 0; i<SimSettings.getInstance().getNumOfCoudHost(); i++) { for(int i = 0; i<SimSettings.getInstance().getNumOfCouldHost(); i++) {
mobileDeviceManager.submitVmList(cloudServerManager.getVmList(i)); mobileDeviceManager.submitVmList(cloudServerManager.getVmList(i));
} }

View File

@ -5,7 +5,7 @@
* SimSettings provides system wide simulation settings. It is a * SimSettings provides system wide simulation settings. It is a
* singleton class and provides all necessary information to other modules. * singleton class and provides all necessary information to other modules.
* If you need to use another simulation setting variable in your * If you need to use another simulation setting variable in your
* config file, add related getter methot in this class. * config file, add related getter method in this class.
* *
* Licence: GPL - http://www.gnu.org/copyleft/gpl.html * Licence: GPL - http://www.gnu.org/copyleft/gpl.html
* Copyright (c) 2017, Bogazici University, Istanbul, Turkey * Copyright (c) 2017, Bogazici University, Istanbul, Turkey
@ -145,7 +145,7 @@ public class SimSettings {
MAX_NUM_OF_MOBILE_DEVICES = Integer.parseInt(prop.getProperty("max_number_of_mobile_devices")); MAX_NUM_OF_MOBILE_DEVICES = Integer.parseInt(prop.getProperty("max_number_of_mobile_devices"));
MOBILE_DEVICE_COUNTER_SIZE = Integer.parseInt(prop.getProperty("mobile_device_counter_size")); MOBILE_DEVICE_COUNTER_SIZE = Integer.parseInt(prop.getProperty("mobile_device_counter_size"));
WAN_PROPOGATION_DELAY = Double.parseDouble(prop.getProperty("wan_propogation_delay")); WAN_PROPOGATION_DELAY = Double.parseDouble(prop.getProperty("wan_propagation_delay"));
LAN_INTERNAL_DELAY = Double.parseDouble(prop.getProperty("lan_internal_delay")); LAN_INTERNAL_DELAY = Double.parseDouble(prop.getProperty("lan_internal_delay"));
BANDWITH_WLAN = 1000 * Integer.parseInt(prop.getProperty("wlan_bandwidth")); BANDWITH_WLAN = 1000 * Integer.parseInt(prop.getProperty("wlan_bandwidth"));
BANDWITH_WAN = 1000 * Integer.parseInt(prop.getProperty("wan_bandwidth")); BANDWITH_WAN = 1000 * Integer.parseInt(prop.getProperty("wan_bandwidth"));
@ -192,7 +192,7 @@ public class SimSettings {
} }
} }
} }
parseApplicatinosXML(applicationsFile); parseApplicationsXML(applicationsFile);
parseEdgeDevicesXML(edgeDevicesFile); parseEdgeDevicesXML(edgeDevicesFile);
return result; return result;
@ -255,15 +255,15 @@ public class SimSettings {
} }
/** /**
* returns WAN propogation delay (in second unit) from properties file * returns WAN propagation delay (in second unit) from properties file
*/ */
public double getWanPropogationDelay() public double getWanPropagationDelay()
{ {
return WAN_PROPOGATION_DELAY; return WAN_PROPOGATION_DELAY;
} }
/** /**
* returns internal LAN propogation delay (in second unit) from properties file * returns internal LAN propagation delay (in second unit) from properties file
*/ */
public double getInternalLanDelay() public double getInternalLanDelay()
{ {
@ -303,7 +303,7 @@ public class SimSettings {
} }
/** /**
* returns the maximunm number of the mobile devices used in the simulation * returns the maximum number of the mobile devices used in the simulation
*/ */
public int getMaxNumOfMobileDev() public int getMaxNumOfMobileDev()
{ {
@ -354,7 +354,7 @@ public class SimSettings {
/** /**
* returns the number of cloud datacenters * returns the number of cloud datacenters
*/ */
public int getNumOfCoudHost() public int getNumOfCouldHost()
{ {
return NUM_OF_HOST_ON_CLOUD_DATACENTER; return NUM_OF_HOST_ON_CLOUD_DATACENTER;
} }
@ -440,7 +440,7 @@ public class SimSettings {
} }
/** /**
* returns simulation screnarios as string * returns simulation scenarios as string
*/ */
public String[] getSimulationScenarios() public String[] getSimulationScenarios()
{ {
@ -491,10 +491,10 @@ public class SimSettings {
return taskNames[taskType]; return taskNames[taskType];
} }
private void isAttribtuePresent(Element element, String key) { private void isAttributePresent(Element element, String key) {
String value = element.getAttribute(key); String value = element.getAttribute(key);
if (value.isEmpty() || value == null){ if (value.isEmpty() || value == null){
throw new IllegalArgumentException("Attribure '" + key + "' is not found in '" + element.getNodeName() +"'"); throw new IllegalArgumentException("Attribute '" + key + "' is not found in '" + element.getNodeName() +"'");
} }
} }
@ -509,7 +509,7 @@ public class SimSettings {
} }
} }
private void parseApplicatinosXML(String filePath) private void parseApplicationsXML(String filePath)
{ {
Document doc = null; Document doc = null;
try { try {
@ -526,7 +526,7 @@ public class SimSettings {
Node appNode = appList.item(i); Node appNode = appList.item(i);
Element appElement = (Element) appNode; Element appElement = (Element) appNode;
isAttribtuePresent(appElement, "name"); isAttributePresent(appElement, "name");
isElementPresent(appElement, "usage_percentage"); isElementPresent(appElement, "usage_percentage");
isElementPresent(appElement, "prob_cloud_selection"); isElementPresent(appElement, "prob_cloud_selection");
isElementPresent(appElement, "poisson_interarrival"); isElementPresent(appElement, "poisson_interarrival");
@ -595,9 +595,9 @@ public class SimSettings {
Node datacenterNode = datacenterList.item(i); Node datacenterNode = datacenterList.item(i);
Element datacenterElement = (Element) datacenterNode; Element datacenterElement = (Element) datacenterNode;
isAttribtuePresent(datacenterElement, "arch"); isAttributePresent(datacenterElement, "arch");
isAttribtuePresent(datacenterElement, "os"); isAttributePresent(datacenterElement, "os");
isAttribtuePresent(datacenterElement, "vmm"); isAttributePresent(datacenterElement, "vmm");
isElementPresent(datacenterElement, "costPerBw"); isElementPresent(datacenterElement, "costPerBw");
isElementPresent(datacenterElement, "costPerSec"); isElementPresent(datacenterElement, "costPerSec");
isElementPresent(datacenterElement, "costPerMem"); isElementPresent(datacenterElement, "costPerMem");
@ -631,7 +631,7 @@ public class SimSettings {
Node vmNode = vmList.item(k); Node vmNode = vmList.item(k);
Element vmElement = (Element) vmNode; Element vmElement = (Element) vmNode;
isAttribtuePresent(vmElement, "vmm"); isAttributePresent(vmElement, "vmm");
isElementPresent(vmElement, "core"); isElementPresent(vmElement, "core");
isElementPresent(vmElement, "mips"); isElementPresent(vmElement, "mips");
isElementPresent(vmElement, "ram"); isElementPresent(vmElement, "ram");

View File

@ -8,7 +8,7 @@
* which decide CPU utilization of each application by using the * which decide CPU utilization of each application by using the
* values defined in the applications.xml file. For those who wants to * values defined in the applications.xml file. For those who wants to
* add another VM Cpu Utilization Model to EdgeCloudSim should provide * add another VM Cpu Utilization Model to EdgeCloudSim should provide
* another concreate instance of UtilizationModel via ScenarioFactory * another concrete instance of UtilizationModel via ScenarioFactory
* *
* Licence: GPL - http://www.gnu.org/copyleft/gpl.html * Licence: GPL - http://www.gnu.org/copyleft/gpl.html
* Copyright (c) 2017, Bogazici University, Istanbul, Turkey * Copyright (c) 2017, Bogazici University, Istanbul, Turkey

View File

@ -33,7 +33,7 @@ import edu.boun.edgecloudsim.utils.SimLogger;
public class DefaultMobileDeviceManager extends MobileDeviceManager { public class DefaultMobileDeviceManager extends MobileDeviceManager {
private static final int BASE = 100000; //start from base in order not to conflict cloudsim tag! private static final int BASE = 100000; //start from base in order not to conflict cloudsim tag!
private static final int REQUEST_RECEIVED_BY_CLOUD = BASE + 1; private static final int REQUEST_RECEIVED_BY_CLOUD = BASE + 1;
private static final int REQUEST_RECIVED_BY_EDGE_DEVICE = BASE + 2; private static final int REQUEST_RECEIVED_BY_EDGE_DEVICE = BASE + 2;
private static final int RESPONSE_RECEIVED_BY_MOBILE_DEVICE = BASE + 3; private static final int RESPONSE_RECEIVED_BY_MOBILE_DEVICE = BASE + 3;
private int taskIdCounter=0; private int taskIdCounter=0;
@ -138,7 +138,7 @@ public class DefaultMobileDeviceManager extends MobileDeviceManager {
break; break;
} }
case REQUEST_RECIVED_BY_EDGE_DEVICE: case REQUEST_RECEIVED_BY_EDGE_DEVICE:
{ {
Task task = (Task) ev.getData(); Task task = (Task) ev.getData();
@ -212,7 +212,7 @@ public class DefaultMobileDeviceManager extends MobileDeviceManager {
if(WlanDelay > 0){ if(WlanDelay > 0){
networkModel.uploadStarted(currentLocation, nextHopId); networkModel.uploadStarted(currentLocation, nextHopId);
schedule(getId(), WlanDelay, REQUEST_RECIVED_BY_EDGE_DEVICE, task); schedule(getId(), WlanDelay, REQUEST_RECEIVED_BY_EDGE_DEVICE, task);
SimLogger.getInstance().taskStarted(task.getCloudletId(), CloudSim.clock()); SimLogger.getInstance().taskStarted(task.getCloudletId(), CloudSim.clock());
SimLogger.getInstance().setUploadDelay(task.getCloudletId(), WlanDelay, NETWORK_DELAY_TYPES.WLAN_DELAY); SimLogger.getInstance().setUploadDelay(task.getCloudletId(), WlanDelay, NETWORK_DELAY_TYPES.WLAN_DELAY);
} }

View File

@ -46,7 +46,7 @@ public class DefaultMobileServerManager extends MobileServerManager{
} }
@Override @Override
public void createVmList(int brockerId) { public void createVmList(int brokerId) {
//local computation is not supported in default Mobile Device Manager //local computation is not supported in default Mobile Device Manager
} }

View File

@ -69,7 +69,7 @@ public abstract class MobileServerManager {
/* /*
* Creates VM List * Creates VM List
*/ */
public abstract void createVmList(int brockerId); public abstract void createVmList(int brokerId);
/* /*
* returns average utilization of all VMs * returns average utilization of all VMs

View File

@ -58,7 +58,7 @@ public class MobileVmAllocationPolicy_Custom extends VmAllocationPolicy {
Host host = getHostList().get(hostIndex); Host host = getHostList().get(hostIndex);
result = host.vmCreate(vm); result = host.vmCreate(vm);
if (result) { // if vm were succesfully created in the host if (result) { // if vm were successfully created in the host
getVmTable().put(vm.getUid(), host); getVmTable().put(vm.getUid(), host);
createdVmNum++; createdVmNum++;
Log.formatLine("%.2f: Mobile VM #" + vm.getId() + " has been allocated to the host #" + host.getId(),CloudSim.clock()); Log.formatLine("%.2f: Mobile VM #" + vm.getId() + " has been allocated to the host #" + host.getId(),CloudSim.clock());
@ -72,7 +72,7 @@ public class MobileVmAllocationPolicy_Custom extends VmAllocationPolicy {
@Override @Override
public boolean allocateHostForVm(Vm vm, Host host) { public boolean allocateHostForVm(Vm vm, Host host) {
if (host.vmCreate(vm)) { // if vm has been succesfully created in the host if (host.vmCreate(vm)) { // if vm has been successfully created in the host
getVmTable().put(vm.getUid(), host); getVmTable().put(vm.getUid(), host);
createdVmNum++; createdVmNum++;

View File

@ -5,7 +5,7 @@
* EdgeOrchestrator is an abstract class which is used for selecting VM * EdgeOrchestrator is an abstract class which is used for selecting VM
* for each client requests. For those who wants to add a custom * for each client requests. For those who wants to add a custom
* Edge Orchestrator to EdgeCloudSim should extend this class and provide * Edge Orchestrator to EdgeCloudSim should extend this class and provide
* a concreate instance via ScenarioFactory * a concrete instance via ScenarioFactory
* *
* Licence: GPL - http://www.gnu.org/copyleft/gpl.html * Licence: GPL - http://www.gnu.org/copyleft/gpl.html
* Copyright (c) 2017, Bogazici University, Istanbul, Turkey * Copyright (c) 2017, Bogazici University, Istanbul, Turkey

View File

@ -63,7 +63,7 @@ public class DefaultEdgeServerManager extends EdgeServerManager{
} }
} }
public void createVmList(int brockerId){ public void createVmList(int brokerId){
int hostCounter=0; int hostCounter=0;
int vmCounter=0; int vmCounter=0;
@ -93,7 +93,7 @@ public class DefaultEdgeServerManager extends EdgeServerManager{
long bandwidth = SimSettings.getInstance().getWlanBandwidth() / (hostNodeList.getLength()+vmNodeList.getLength()); long bandwidth = SimSettings.getInstance().getWlanBandwidth() / (hostNodeList.getLength()+vmNodeList.getLength());
//VM Parameters //VM Parameters
EdgeVM vm = new EdgeVM(vmCounter, brockerId, mips, numOfCores, ram, bandwidth, storage, vmm, new CloudletSchedulerTimeShared()); EdgeVM vm = new EdgeVM(vmCounter, brokerId, mips, numOfCores, ram, bandwidth, storage, vmm, new CloudletSchedulerTimeShared());
vmList.get(hostCounter).add(vm); vmList.get(hostCounter).add(vm);
vmCounter++; vmCounter++;
} }

View File

@ -62,7 +62,7 @@ public abstract class EdgeServerManager {
/* /*
* Creates VM List * Creates VM List
*/ */
public abstract void createVmList(int brockerId); public abstract void createVmList(int brokerId);
/* /*
* returns average utilization of all VMs * returns average utilization of all VMs

View File

@ -84,7 +84,7 @@ public class EdgeVmAllocationPolicy_Custom extends VmAllocationPolicy {
Host host = getHostList().get(hostIndex); Host host = getHostList().get(hostIndex);
result = host.vmCreate(vm); result = host.vmCreate(vm);
if (result) { // if vm were succesfully created in the host if (result) { // if vm were successfully created in the host
getVmTable().put(vm.getUid(), host); getVmTable().put(vm.getUid(), host);
createdVmNum++; createdVmNum++;
Log.formatLine("%.2f: Edge VM #" + vm.getId() + " has been allocated to the host #" + host.getId(),CloudSim.clock()); Log.formatLine("%.2f: Edge VM #" + vm.getId() + " has been allocated to the host #" + host.getId(),CloudSim.clock());

View File

@ -5,7 +5,7 @@
* MobilityModel is an abstract class which is used for calculating the * MobilityModel is an abstract class which is used for calculating the
* location of each mobile devices with respect to the time. For those who * location of each mobile devices with respect to the time. For those who
* wants to add a custom Mobility Model to EdgeCloudSim should extend * wants to add a custom Mobility Model to EdgeCloudSim should extend
* this class and provide a concreate instance via ScenarioFactory * this class and provide a concrete instance via ScenarioFactory
* *
* Licence: GPL - http://www.gnu.org/copyleft/gpl.html * Licence: GPL - http://www.gnu.org/copyleft/gpl.html
* Copyright (c) 2017, Bogazici University, Istanbul, Turkey * Copyright (c) 2017, Bogazici University, Istanbul, Turkey

View File

@ -98,7 +98,7 @@ public class NomadicMobility extends MobilityModel {
} }
} }
if(!placeFound){ if(!placeFound){
SimLogger.printLine("impossible is occured! location cannot be assigned to the device!"); SimLogger.printLine("impossible is occurred! location cannot be assigned to the device!");
System.exit(0); System.exit(0);
} }
} }
@ -113,7 +113,7 @@ public class NomadicMobility extends MobilityModel {
Entry<Double, Location> e = treeMap.floorEntry(time); Entry<Double, Location> e = treeMap.floorEntry(time);
if(e == null){ if(e == null){
SimLogger.printLine("impossible is occured! no location is found for the device '" + deviceId + "' at " + time); SimLogger.printLine("impossible is occurred! no location is found for the device '" + deviceId + "' at " + time);
System.exit(0); System.exit(0);
} }

View File

@ -122,7 +122,7 @@ public class MM1Queue extends NetworkModel {
getHostList().get(0)); getHostList().get(0));
//if source device id is the edge server which is located in another location, add internal lan delay //if source device id is the edge server which is located in another location, add internal lan delay
//in our scenasrio, serving wlan ID is equal to the host id, because there is only one host in one place //in our scenario, serving wlan ID is equal to the host id, because there is only one host in one place
if(host.getLocation().getServingWlanId() != accessPointLocation.getServingWlanId()) if(host.getLocation().getServingWlanId() != accessPointLocation.getServingWlanId())
delay += (SimSettings.getInstance().getInternalLanDelay() * 2); delay += (SimSettings.getInstance().getInternalLanDelay() * 2);
} }
@ -150,7 +150,7 @@ public class MM1Queue extends NetworkModel {
return deviceCount; return deviceCount;
} }
private double calculateMM1(double propogationDelay, int bandwidth /*Kbps*/, double PoissonMean, double avgTaskSize /*KB*/, int deviceCount){ private double calculateMM1(double propagationDelay, int bandwidth /*Kbps*/, double PoissonMean, double avgTaskSize /*KB*/, int deviceCount){
double Bps=0, mu=0, lamda=0; double Bps=0, mu=0, lamda=0;
avgTaskSize = avgTaskSize * (double)1000; //convert from KB to Byte avgTaskSize = avgTaskSize * (double)1000; //convert from KB to Byte
@ -160,7 +160,7 @@ public class MM1Queue extends NetworkModel {
mu = Bps / avgTaskSize ; //task per seconds mu = Bps / avgTaskSize ; //task per seconds
double result = (double)1 / (mu-lamda*(double)deviceCount); double result = (double)1 / (mu-lamda*(double)deviceCount);
result += propogationDelay; result += propagationDelay;
return (result > 5) ? -1 : result; return (result > 5) ? -1 : result;
} }
@ -182,7 +182,7 @@ public class MM1Queue extends NetworkModel {
} }
private double getWanDownloadDelay(Location accessPointLocation, double time) { private double getWanDownloadDelay(Location accessPointLocation, double time) {
return calculateMM1(SimSettings.getInstance().getWanPropogationDelay(), return calculateMM1(SimSettings.getInstance().getWanPropagationDelay(),
SimSettings.getInstance().getWanBandwidth(), SimSettings.getInstance().getWanBandwidth(),
WanPoissonMean, WanPoissonMean,
avgTaskOutputSize, avgTaskOutputSize,
@ -190,7 +190,7 @@ public class MM1Queue extends NetworkModel {
} }
private double getWanUploadDelay(Location accessPointLocation, double time) { private double getWanUploadDelay(Location accessPointLocation, double time) {
return calculateMM1(SimSettings.getInstance().getWanPropogationDelay(), return calculateMM1(SimSettings.getInstance().getWanPropagationDelay(),
SimSettings.getInstance().getWanBandwidth(), SimSettings.getInstance().getWanBandwidth(),
WanPoissonMean, WanPoissonMean,
avgTaskInputSize, avgTaskInputSize,

View File

@ -5,7 +5,7 @@
* NetworkModel is an abstract class which is used for calculating the * NetworkModel is an abstract class which is used for calculating the
* network delay from device to device. For those who wants to add a * network delay from device to device. For those who wants to add a
* custom Network Model to EdgeCloudSim should extend this class and * custom Network Model to EdgeCloudSim should extend this class and
* provide a concreate instance via ScenarioFactory * provide a concrete instance via ScenarioFactory
* *
* Licence: GPL - http://www.gnu.org/copyleft/gpl.html * Licence: GPL - http://www.gnu.org/copyleft/gpl.html
* Copyright (c) 2017, Bogazici University, Istanbul, Turkey * Copyright (c) 2017, Bogazici University, Istanbul, Turkey

View File

@ -78,7 +78,7 @@ public class IdleActiveLoadGenerator extends LoadGeneratorModel{
double interval = rng.sample(); double interval = rng.sample();
if(interval <= 0){ if(interval <= 0){
SimLogger.printLine("Impossible is occured! interval is " + interval + " for device " + i + " time " + virtualTime); SimLogger.printLine("Impossible is occurred! interval is " + interval + " for device " + i + " time " + virtualTime);
continue; continue;
} }
//SimLogger.printLine(virtualTime + " -> " + interval + " for device " + i + " time "); //SimLogger.printLine(virtualTime + " -> " + interval + " for device " + i + " time ");

View File

@ -5,7 +5,7 @@
* LoadGeneratorModel is an abstract class which is used for * LoadGeneratorModel is an abstract class which is used for
* deciding task generation pattern via a task list. For those who * deciding task generation pattern via a task list. For those who
* wants to add a custom Load Generator Model to EdgeCloudSim should * wants to add a custom Load Generator Model to EdgeCloudSim should
* extend this class and provide a concreate instance via ScenarioFactory * extend this class and provide a concrete instance via ScenarioFactory
* *
* Licence: GPL - http://www.gnu.org/copyleft/gpl.html * Licence: GPL - http://www.gnu.org/copyleft/gpl.html
* Copyright (c) 2017, Bogazici University, Istanbul, Turkey * Copyright (c) 2017, Bogazici University, Istanbul, Turkey

View File

@ -33,7 +33,7 @@ public class PoissonDistr {
try { try {
TimeUnit.MILLISECONDS.sleep(10); TimeUnit.MILLISECONDS.sleep(10);
} catch (InterruptedException e) { } catch (InterruptedException e) {
SimLogger.printLine("impossible is occured! Poisson random number cannot be created!"); SimLogger.printLine("impossible is occurred! Poisson random number cannot be created!");
e.printStackTrace(); e.printStackTrace();
System.exit(0); System.exit(0);
} }
@ -44,7 +44,7 @@ public class PoissonDistr {
* *
* @return the next random number in the sequence * @return the next random number in the sequence
*/ */
public double sample() { public double sample() {
return poisson.nextDouble(); return poisson.nextDouble();
} }
} }

View File

@ -31,7 +31,7 @@ import edu.boun.edgecloudsim.utils.SimLogger.NETWORK_ERRORS;
public class SimLogger { public class SimLogger {
public static enum TASK_STATUS { public static enum TASK_STATUS {
CREATED, UPLOADING, PROCESSING, DOWNLOADING, COMLETED, REJECTED_DUE_TO_VM_CAPACITY, REJECTED_DUE_TO_BANDWIDTH, UNFINISHED_DUE_TO_BANDWIDTH, UNFINISHED_DUE_TO_MOBILITY CREATED, UPLOADING, PROCESSING, DOWNLOADING, COMPLETED, REJECTED_DUE_TO_VM_CAPACITY, REJECTED_DUE_TO_BANDWIDTH, UNFINISHED_DUE_TO_BANDWIDTH, UNFINISHED_DUE_TO_MOBILITY
} }
public static enum NETWORK_ERRORS { public static enum NETWORK_ERRORS {
@ -264,7 +264,7 @@ public class SimLogger {
if (value.isInWarmUpPeriod()) if (value.isInWarmUpPeriod())
continue; continue;
if (value.getStatus() == SimLogger.TASK_STATUS.COMLETED) { if (value.getStatus() == SimLogger.TASK_STATUS.COMPLETED) {
completedTask[value.getTaskType()]++; completedTask[value.getTaskType()]++;
if (value.getVmType() == SimSettings.VM_TYPES.CLOUD_VM.ordinal()) if (value.getVmType() == SimSettings.VM_TYPES.CLOUD_VM.ordinal())
@ -298,7 +298,7 @@ public class SimLogger {
failedTaskOnEdge[value.getTaskType()]++; failedTaskOnEdge[value.getTaskType()]++;
} }
if (value.getStatus() == SimLogger.TASK_STATUS.COMLETED) { if (value.getStatus() == SimLogger.TASK_STATUS.COMPLETED) {
cost[value.getTaskType()] += value.getCost(); cost[value.getTaskType()] += value.getCost();
serviceTime[value.getTaskType()] += value.getServiceTime(); serviceTime[value.getTaskType()] += value.getServiceTime();
networkDelay[value.getTaskType()] += value.getNetworkDelay(); networkDelay[value.getTaskType()] += value.getNetworkDelay();
@ -705,9 +705,9 @@ class LogItem {
private double cpuCost; private double cpuCost;
private boolean isInWarmUpPeriod; private boolean isInWarmUpPeriod;
LogItem(int _taskType, int _taskLenght, int _taskInputType, int _taskOutputSize) { LogItem(int _taskType, int _taskLength, int _taskInputType, int _taskOutputSize) {
taskType = _taskType; taskType = _taskType;
taskLenght = _taskLenght; taskLenght = _taskLength;
taskInputType = _taskInputType; taskInputType = _taskInputType;
taskOutputSize = _taskOutputSize; taskOutputSize = _taskOutputSize;
networkError = NETWORK_ERRORS.NONE; networkError = NETWORK_ERRORS.NONE;
@ -757,7 +757,7 @@ class LogItem {
public void taskEnded(double time) { public void taskEnded(double time) {
taskEndTime = time; taskEndTime = time;
status = SimLogger.TASK_STATUS.COMLETED; status = SimLogger.TASK_STATUS.COMPLETED;
} }
public void taskRejectedDueToVMCapacity(double time, int _vmType) { public void taskRejectedDueToVMCapacity(double time, int _vmType) {
@ -881,7 +881,7 @@ class LogItem {
+ taskOutputSize + SimSettings.DELIMITER + taskStartTime + SimSettings.DELIMITER + taskEndTime + taskOutputSize + SimSettings.DELIMITER + taskStartTime + SimSettings.DELIMITER + taskEndTime
+ SimSettings.DELIMITER; + SimSettings.DELIMITER;
if (status == SimLogger.TASK_STATUS.COMLETED){ if (status == SimLogger.TASK_STATUS.COMPLETED){
result += getNetworkDelay() + SimSettings.DELIMITER; result += getNetworkDelay() + SimSettings.DELIMITER;
result += getNetworkDelay(NETWORK_DELAY_TYPES.WLAN_DELAY) + SimSettings.DELIMITER; result += getNetworkDelay(NETWORK_DELAY_TYPES.WLAN_DELAY) + SimSettings.DELIMITER;
result += getNetworkDelay(NETWORK_DELAY_TYPES.MAN_DELAY) + SimSettings.DELIMITER; result += getNetworkDelay(NETWORK_DELAY_TYPES.MAN_DELAY) + SimSettings.DELIMITER;