PureEdgeSim -scenariomanager包-SimulattionParameters文件

class SimulationParameters

用来设置仿真过程的网络设备信息等参数

设置配置包的路径

	/**
	 * The path to the configuration file.
	 * 
	 * @see com.mechalikh.pureedgesim.simulationmanager.SimulationAbstract#setCustomFilePath(String path, Files file) 
	 */
	public static String simulationParametersFile = "PureEdgeSim/settings/simulation_parameters.properties";

应用的设置文件路径

	/**
	 * The path to the applications characteristics file.
	 * 
	 * @see com.mechalikh.pureedgesim.simulationmanager.SimulationAbstract#setCustomFilePath(String,
	 *      Files)
	 */
	public static String applicationFile = "PureEdgeSim/settings/applications.xml";

边缘计算中心配置路径

	/**
	 * The path to the edge data centers characteristics file.
	 * 
	 * @see com.mechalikh.pureedgesim.simulationmanager.SimulationAbstract#setCustomFilePath(String,
	 *      Files)
	 */
	public static String edgeDataCentersFile = "PureEdgeSim/settings/edge_datacenters.xml";

边缘设备的配置路径

	/**
	 * The path to the edge devices characteristics file.
	 * 
	 * @see com.mechalikh.pureedgesim.simulationmanager.SimulationAbstract#setCustomFilePath(String,
	 *      Files)
	 */
	public static String edgeDevicesFile = "PureEdgeSim/settings/edge_devices.xml";

云计算中心的配置路径

	/**
	 * The path to the cloud characteristics file.
	 * 
	 * @see com.mechalikh.pureedgesim.simulationmanager.SimulationAbstract#setCustomFilePath(String,
	 *      Files)
	 */
	public static String cloudDataCentersFile = "PureEdgeSim/settings/cloud.xml";

输出文件路径

	/**
	 * The output folder path.
	 * 
	 * @see com.mechalikh.pureedgesim.simulationmanager.SimulationAbstract#setCustomOutputFolder(String)
	 */
	public static String outputFolder = "PureEdgeSim/output/";

仿真是否是并行执行
默认为false

	/**
	 * If true simulations will be launched in parallel
	 * 
	 * @see com.mechalikh.pureedgesim.simulationmanager.Simulation#launchSimulation()
	 */
	public static boolean parallelism_enabled = false;

存储仿真的时间

	/**
	 * Simualtion time in seconds.
	 * 
	 * @see com.mechalikh.pureedgesim.simulationmanager.DefaultSimulationManager#startInternal()
	 */
	public static double simulationDuration;

每次迭代暂停的时长(秒)

	/**
	 * Pause between iterations (in seconds)
	 * 
	 * @see com.mechalikh.pureedgesim.simulationmanager.SimulationThread#pause(SimLog
	 *      simLog)
	 */
	public static int pauseLength;

更新的频率(设备的位置等事件)(秒)

	/**
	 * Update interval (Mobility and other events) (in seconds)
	 * 
	 */
	public static double updateInterval;

是否实时绘制图表

	/**
	 * If true, real-time charts will be displayed
	 * 
	 * @see com.mechalikh.pureedgesim.simulationvisualizer.SimulationVisualizer#updateCharts()
	 */
	public static boolean displayRealTimeCharts;

仿真结束,实时图表是否关闭

	/**
	 * If true, real-time charts are automatically closed when simulation finishes
	 * 
	 * @see com.mechalikh.pureedgesim.simulationmanager.DefaultSimulationManager#processEvent(com.mechalikh.pureedgesim.simulationengine.Event)
	 */
	public static boolean autoCloseRealTimeCharts;

图表更新频率

	/**
	 * Charts refresh interval in seconds
	 * 
	 * @see com.mechalikh.pureedgesim.simulationvisualizer.SimulationVisualizer#updateCharts()
	 */
	public static double chartsUpdateInterval;

是否保存图片

	/**
	 * If true, charts are automatically generated at the end of the simulation and
	 * saved in bitmap format in the {@link SimulationParameters#outputFolder}
	 * 
	 * @see com.mechalikh.pureedgesim.simulationvisualizer.SimulationVisualizer#updateCharts()
	 */
	public static boolean saveCharts;

仿真图像的长

	/**
	 * The length of simulation map in meters.
	 * 
	 * @see com.mechalikh.pureedgesim.locationmanager.MobilityModel
	 * @see com.mechalikh.pureedgesim.locationmanager.DefaultMobilityModel
	 */
	public static int simulationMapLength;

仿真图像的宽

	/**
	 * The width of simulation map in meters.
	 * 
	 * @see com.mechalikh.pureedgesim.locationmanager.MobilityModel
	 * @see com.mechalikh.pureedgesim.locationmanager.DefaultMobilityModel
	 */
	public static int simulationMapWidth;

边缘数据中心的数量

	/**
	 * The number of edge data centers.
	 * 
	 * @see com.mechalikh.pureedgesim.scenariomanager.DatacentersParser#typeSpecificChecking(org.w3c.dom.Document)
	 */
	public static int numberOfEdgeDataCenters;

云数据中心的数量

	/**
	 * The number of cloud data centers.
	 * 
	 * @see com.mechalikh.pureedgesim.scenariomanager.DatacentersParser#typeSpecificChecking(org.w3c.dom.Document)
	 */
	public static int numberOfCloudDataCenters;

边缘设备的最少数量

	/**
	 * The minimum number of edge devices.
	 * 
	 * @see com.mechalikh.pureedgesim.simulationmanager.Simulation#loadScenarios()
	 */
	public static int minNumberOfEdgeDevices;

边缘设备的最大数量

	/**
	 * The maximum number of edge devices.
	 * 
	 * @see com.mechalikh.pureedgesim.simulationmanager.Simulation#loadScenarios()
	 */
	public static int maxNumberOfEdgeDevices;

边缘设备的增长速度

	/**
	 * The incremental step of edge devices
	 * 
	 * @see com.mechalikh.pureedgesim.simulationmanager.Simulation#loadScenarios()
	 */
	public static int edgeDevicesIncrementationStepSize;

计算节点的种类

	/**
	 * The types of computing nodes.
	 * 
	 * @see com.mechalikh.pureedgesim.datacentersmanager.ComputingNodesGenerator#generateDatacentersAndDevices()
	 * @see com.mechalikh.pureedgesim.datacentersmanager.ComputingNode#setType(TYPES)
	 */
	public enum TYPES {
		CLOUD, EDGE_DATACENTER, EDGE_DEVICE, NULL
	}

是否记开启日志

	/**
	 * Whether deep logging is enabled or not.
	 * 
	 * @see com.mechalikh.pureedgesim.simulationmanager.SimLog#deepLog(String)
	 */
	public static boolean deepLoggingEnabled;

是否存储日志

	/**
	 * Whether to save the log or not.
	 * 
	 * @see com.mechalikh.pureedgesim.simulationmanager.SimLog#saveLog()
	 */
	public static boolean saveLog;

是否清除之前的日志和仿真结果

	/**
	 * If true, it delete previous logs and simulation results.
	 * 
	 * @see com.mechalikh.pureedgesim.simulationmanager.SimLog#cleanOutputFolder()
	 */
	public static boolean cleanOutputFolder;

Wan广域网的带宽

	/**
	 * The WAN (core+data center network) bandwidth in bits per second.
	 * 
	 * @see com.mechalikh.pureedgesim.datacentersmanager.DefaultTopologyCreator#generateTopologyGraph()
	 * @see com.mechalikh.pureedgesim.network.NetworkLink#setBandwidth(double)
	 */
	public static double wanBandwidthBitsPerSecond;

WAN广域网的延迟

	/**
	 * The WAN (core+data center network) latency in seconds.
	 * 
	 * @see com.mechalikh.pureedgesim.datacentersmanager.DefaultTopologyCreator#generateTopologyGraph()
	 * @see com.mechalikh.pureedgesim.network.NetworkLink#setLatency(double)
	 * @see com.mechalikh.pureedgesim.network.NetworkLinkWanUp
	 * @see com.mechalikh.pureedgesim.network.NetworkLinkWanDown
	 */
	public static double wanLatency;

Wan广域网的每比特的功率消耗

	/**
	 * The WAN (core+data center network) energy consumption in watthour per bit.
	 * 
	 * @see com.mechalikh.pureedgesim.datacentersmanager.DefaultTopologyCreator#generateTopologyGraph()
	 * @see com.mechalikh.pureedgesim.energy.EnergyModelNetworkLink#getEnergyPerBit()
	 * @see com.mechalikh.pureedgesim.network.NetworkLink#getEnergyModel()
	 * @see com.mechalikh.pureedgesim.network.NetworkLinkWanUp
	 * @see com.mechalikh.pureedgesim.network.NetworkLinkWanDown
	 */
	public static double wanWattHourPerBit;

使用广域网WAN向云数据中心传输数据时是否共享网络
是否共享带宽

	/**
	 * If true, all data sent to /received from the cloud will be transmitted
	 * through the same WAN network (i.e. share the same bandwidth).
	 * 
	 * @see com.mechalikh.pureedgesim.datacentersmanager.DefaultTopologyCreator#generateTopologyGraph()
	 * @see com.mechalikh.pureedgesim.network.NetworkLink#setBandwidth(double)
	 * @see com.mechalikh.pureedgesim.network.NetworkLinkWanUp
	 * @see com.mechalikh.pureedgesim.network.NetworkLinkWanDown
	 */
	public static boolean useOneSharedWanLink;

MAN网络是指边缘数据中心之间的网络连接
MAN网络每秒传输的比特数

	/**
	 * The MAN (the links between edge data centers) bandwidth in bits per second.
	 * 
	 * @see com.mechalikh.pureedgesim.datacentersmanager.DefaultTopologyCreator#generateTopologyGraph()
	 * @see com.mechalikh.pureedgesim.network.NetworkLink#setBandwidth(double)
	 * @see com.mechalikh.pureedgesim.network.NetworkLinkMan
	 */
	public static double manBandwidthBitsPerSecond;

MAN网络的延迟

	/**
	 * The MAN (the links between edge data centers) latency in seconds.
	 * 
	 * @see com.mechalikh.pureedgesim.datacentersmanager.DefaultTopologyCreator#generateTopologyGraph()
	 * @see com.mechalikh.pureedgesim.network.NetworkLink#setLatency(double)
	 * @see com.mechalikh.pureedgesim.network.NetworkLinkMan
	 */
	public static double manLatency;

MAN网络的能量消耗

	/**
	 * The MAN (the links between edge data centers) energy consumption in watthour
	 * per bit.
	 * 
	 * @see com.mechalikh.pureedgesim.datacentersmanager.DefaultTopologyCreator#generateTopologyGraph()
	 * @see com.mechalikh.pureedgesim.energy.EnergyModelNetworkLink#getEnergyPerBit()
	 * @see com.mechalikh.pureedgesim.network.NetworkLink#getEnergyModel()
	 * @see com.mechalikh.pureedgesim.network.NetworkLinkMan
	 */
	public static double manWattHourPerBit;

WIFI带宽

	/**
	 * The WiFI bandwidth in bits per second.
	 * 
	 * @see com.mechalikh.pureedgesim.datacentersmanager.DefaultTopologyCreator#generateTopologyGraph()
	 * @see com.mechalikh.pureedgesim.network.NetworkLink#setBandwidth(double)
	 * @see com.mechalikh.pureedgesim.network.NetworkLinkWifi
	 */
	public static double wifiBandwidthBitsPerSecond;

设备传输数据时的能量消耗

	/**
	 * The energy consumed by the device when transmitting data (in watthour per bit).
	 * 
	 * @see com.mechalikh.pureedgesim.datacentersmanager.DefaultTopologyCreator#generateTopologyGraph()
	 * @see com.mechalikh.pureedgesim.energy.EnergyModelNetworkLink#getEnergyPerBit()
	 * @see com.mechalikh.pureedgesim.network.NetworkLink#getEnergyModel()
	 * @see com.mechalikh.pureedgesim.network.NetworkLinkWifi
	 * @see com.mechalikh.pureedgesim.network.NetworkLinkWifiDeviceToDevice
	 * @see com.mechalikh.pureedgesim.network.NetworkLinkWifiUp
	 */
	public static double wifiDeviceTransmissionWattHourPerBit;

设备接收数据时的能量消耗

	/**
	 * The energy consumed by the device when receiving data (in watthour per bit).
	 * 
	 * @see com.mechalikh.pureedgesim.datacentersmanager.DefaultTopologyCreator#generateTopologyGraph()
	 * @see com.mechalikh.pureedgesim.energy.EnergyModelNetworkLink#getEnergyPerBit()
	 * @see com.mechalikh.pureedgesim.network.NetworkLink#getEnergyModel()
	 * @see com.mechalikh.pureedgesim.network.NetworkLinkWifi
	 * @see com.mechalikh.pureedgesim.network.NetworkLinkWifiDeviceToDevice
	 * @see com.mechalikh.pureedgesim.network.NetworkLinkWifiDown
	 */
	public static double wifiDeviceReceptionWattHourPerBit;

发送数据时AP传输节点的能量消耗

	/**
	 * The energy consumed by the WiFi access point when transmitting data in watthour per bit.
	 * 
	 * @see com.mechalikh.pureedgesim.datacentersmanager.DefaultTopologyCreator#generateTopologyGraph()
	 * @see com.mechalikh.pureedgesim.energy.EnergyModelNetworkLink#getEnergyPerBit()
	 * @see com.mechalikh.pureedgesim.network.NetworkLink#getEnergyModel()
	 * @see com.mechalikh.pureedgesim.network.NetworkLinkWifi
	 * @see com.mechalikh.pureedgesim.network.NetworkLinkWifiDown
	 */
	public static double wifiAccessPointTransmissionWattHourPerBit;

接收数据时AP传输节点的能量消耗

	/**
	 * The energy consumed by the WiFi access point when receiving data in watthour per bit.
	 * 
	 * @see com.mechalikh.pureedgesim.datacentersmanager.DefaultTopologyCreator#generateTopologyGraph()
	 * @see com.mechalikh.pureedgesim.energy.EnergyModelNetworkLink#getEnergyPerBit()
	 * @see com.mechalikh.pureedgesim.network.NetworkLink#getEnergyModel()
	 * @see com.mechalikh.pureedgesim.network.NetworkLinkWifi
	 * @see com.mechalikh.pureedgesim.network.NetworkLinkWifiUp
	 */
	public static double wifiAccessPointReceptionWattHourPerBit;

WIFI延迟

	/**
	 * The WiFi latency in seconds.
	 * 
	 * @see com.mechalikh.pureedgesim.datacentersmanager.DefaultTopologyCreator#generateTopologyGraph()
	 * @see com.mechalikh.pureedgesim.network.NetworkLink#setLatency(double)
	 * @see com.mechalikh.pureedgesim.network.NetworkLinkWifi
	 */
	public static double wifiLatency;

	/**
	 * The Ethernet bandwidth in bits per second.
	 * 
	 * @see com.mechalikh.pureedgesim.datacentersmanager.DefaultTopologyCreator#generateTopologyGraph()
	 * @see com.mechalikh.pureedgesim.network.NetworkLink#setBandwidth(double)
	 * @see com.mechalikh.pureedgesim.network.NetworkLinkEthernet
	 */
	public static double ethernetBandwidthBitsPerSecond;

以太网能量消耗

	/**
	 * The Ethernet energy consumption in watthour per bit.
	 * 
	 * @see com.mechalikh.pureedgesim.datacentersmanager.DefaultTopologyCreator#generateTopologyGraph()
	 * @see com.mechalikh.pureedgesim.energy.EnergyModelNetworkLink#getEnergyPerBit()
	 * @see com.mechalikh.pureedgesim.network.NetworkLink#getEnergyModel()
	 * @see com.mechalikh.pureedgesim.network.NetworkLinkEthernet
	 */
	public static double ethernetWattHourPerBit;

以太网延迟

	/**
	 * The Ethernet latency in seconds.
	 * 
	 * @see com.mechalikh.pureedgesim.datacentersmanager.DefaultTopologyCreator#generateTopologyGraph()
	 * @see com.mechalikh.pureedgesim.network.NetworkLink#setLatency(double)
	 * @see com.mechalikh.pureedgesim.network.NetworkLinkEthernet
	 */
	public static double ethernetLatency;

蜂窝网络的带宽

	/**
	 * The mobile communication/ cellular network (e.g. 3G, 4G, 5G) bandwidth in
	 * bits per second.
	 * 
	 * @see com.mechalikh.pureedgesim.datacentersmanager.DefaultTopologyCreator#generateTopologyGraph()
	 * @see com.mechalikh.pureedgesim.network.NetworkLink#setBandwidth(double)
	 * @see com.mechalikh.pureedgesim.network.NetworkLinkCellular
	 */
	public static double cellularBandwidthBitsPerSecond;

蜂窝网络的发送能耗

	/**
	 * The energy consumed by an edge device when transmitting data using a cellular connection (e.g. 3G,
	 * 4G, 5G) (in watthour per bit).
	 * 
	 * @see com.mechalikh.pureedgesim.datacentersmanager.DefaultTopologyCreator#generateTopologyGraph()
	 * @see com.mechalikh.pureedgesim.energy.EnergyModelNetworkLink#getEnergyPerBit()
	 * @see com.mechalikh.pureedgesim.network.NetworkLink#getEnergyModel()
	 * @see com.mechalikh.pureedgesim.network.NetworkLinkCellularUp 
	 */
	public static double cellularDeviceTransmissionWattHourPerBit;

蜂窝网络的接受能耗

	/**
	 * The energy consumed by an edge device when receiving data using a cellular connection (e.g. 3G,
	 * 4G, 5G) (in watthour per bit).
	 * 
	 * @see com.mechalikh.pureedgesim.datacentersmanager.DefaultTopologyCreator#generateTopologyGraph()
	 * @see com.mechalikh.pureedgesim.energy.EnergyModelNetworkLink#getEnergyPerBit()
	 * @see com.mechalikh.pureedgesim.network.NetworkLink#getEnergyModel()
	 * @see com.mechalikh.pureedgesim.network.NetworkLinkCellularUp 
	 */
	public static double cellularDeviceReceptionWattHourPerBit;

蜂窝基站的上传能耗

	/**
	 * The mobile base station uplink network (e.g. 3G, 4G, 5G) energy consumption
	 * (in watthour per bit).
	 * 
	 * @see com.mechalikh.pureedgesim.datacentersmanager.DefaultTopologyCreator#generateTopologyGraph()
	 * @see com.mechalikh.pureedgesim.energy.EnergyModelNetworkLink#getEnergyPerBit()
	 * @see com.mechalikh.pureedgesim.network.NetworkLink#getEnergyModel()
	 * @see com.mechalikh.pureedgesim.network.NetworkLinkCellularUp
	 */
	public static double cellularBaseStationWattHourPerBitUpLink;

蜂窝基站的下载能耗

	/**
	 * The mobile base station downlink network (e.g. 3G, 4G, 5G) energy consumption
	 * (in watthour per bit).
	 * 
	 * @see com.mechalikh.pureedgesim.datacentersmanager.DefaultTopologyCreator#generateTopologyGraph()
	 * @see com.mechalikh.pureedgesim.energy.EnergyModelNetworkLink#getEnergyPerBit()
	 * @see com.mechalikh.pureedgesim.network.NetworkLink#getEnergyModel()
	 * @see com.mechalikh.pureedgesim.network.NetworkLinkCellularDown
	 */
	public static double cellularBaseStationWattHourPerBitDownLink;

蜂窝网络的传输延迟

	/**
	 * The mobile communication/ cellular (e.g. 3G, 4G, 5G) network latency in
	 * seconds.
	 * 
	 * @see com.mechalikh.pureedgesim.datacentersmanager.DefaultTopologyCreator#generateTopologyGraph()
	 * @see com.mechalikh.pureedgesim.network.NetworkLink#setLatency(double)
	 * @see com.mechalikh.pureedgesim.network.NetworkLinkCellular
	 */
	public static double cellularLatency;

WIFI传播范围(当使用设备对设备的连接)

	/**
	 * The WiFi range of edge devices when using a device to device connection( in
	 * meters).
	 * 
	 * @see com.mechalikh.pureedgesim.locationmanager.MobilityModel#distanceTo(com.mechalikh.pureedgesim.datacentersmanager.ComputingNode)
	 */
	public static int edgeDevicesRange;

边缘计算中心的覆盖范围(边缘计算设备可以在一跳的范围之内直连)

	/**
	 * The edge data centers coverage area (in meters) in which edge devices can
	 * connect with them directly (one hop).
	 * 
	 * @see com.mechalikh.pureedgesim.locationmanager.MobilityModel#distanceTo(com.mechalikh.pureedgesim.datacentersmanager.ComputingNode)
	 */
	public static int edgeDataCentersRange;

网络模型的刷新间隔

	/**
	 * The network model update interval.
	 * 
	 * @see com.mechalikh.pureedgesim.network.NetworkLink#startInternal()
	 */
	public static double networkUpdateInterval;

是否使用更加真实的仿真 (如果使用,会增加仿真时间)

	/**
	 * If true, the network model will be more realistic and gives more accurate
	 * results, but will increase simulation duration.
	 * 
	 * @see com.mechalikh.pureedgesim.network.NetworkLink#updateTransfer(TransferProgress
	 *      transfer)
	 */
	public static boolean realisticNetworkModel;

激活编排器功能

	/**
	 * If true, the tasks will be sent for another computing node (i.e. the
	 * orchestrator) in order to make offlaoding decision, before being sent to the
	 * destination (the node that actually executes the task).
	 * 
	 * @see com.mechalikh.pureedgesim.datacentersmanager.ComputingNode#getOrchestrator()
	 * @see examples.Example7
	 */
	public static boolean enableOrchestrators;

编排器的部署位置
云数据中心,边缘数据中心,边缘设备,自定义策略

	/**
	 * Where the orchestrator(s) are deployed, e.g. on cloud data centers, edge data
	 * centers, edge device, or custom strategy.
	 * 
	 * @see com.mechalikh.pureedgesim.datacentersmanager.ComputingNode#getOrchestrator()
	 * @see examples.Example7
	 */
	public static String deployOrchestrators;

编排器使用的算法

	/**
	 * The algorithm that will be used in the simulation to orchestrate the tasks.
	 * 
	 * @see com.mechalikh.pureedgesim.taskorchestrator.DefaultOrchestrator#findComputingNode(String[]
	 *      architecture, Task task)
	 */
	public static String[] orchestrationAlgorithms;

架构的种类 (云,云和边缘,边缘,设备,全部)

	/**
	 * The architecture/paradigms to use in the simulation
	 * 
	 * @see com.mechalikh.pureedgesim.taskorchestrator.Orchestrator#orchestrate(Task)
	 */
	public static String[] orchestrationArchitectures;

在执行前是否需要注册

	/**
	 * If enable, a container will be pulled from the registry before executing the
	 * task.
	 * 
	 * @see examples.Example7
	 */
	public static boolean enableRegistry;

注册的形式 (云端注册,缓存注册)

	/**
	 * Sets a custom strategy for downloading containers.
	 * 
	 * @see examples.Example7
	 */
	public static String registryMode;

应用列表

	/**
	 * The list of applications.
	 * 
	 * @see com.mechalikh.pureedgesim.scenariomanager.ApplicationFileParser
	 * @see com.mechalikh.pureedgesim.taskgenerator.DefaultTaskGenerator#generate()
	 */
	public static List<Application> applicationList;

是否等待任务执行完成

	/**
	 * After the end of the simulation time, some tasks may still have not executed yet, 
	 * enabling this will force the simulation to wait for the execution of all tasks.
	 */
	public static boolean waitForAllTasksToFinish;

每次启动多少个任务

	/**
	 * How many tasks are scheduled each time (used to avoid scheduling all tasks from the beginning of the simulation).
	 */
	public static int batchSize;

私有的构造函数

	/**
	 * A private constructor to prevent this class from being instantiated.
	 * 
	 */
	private SimulationParameters () {
		throw new IllegalStateException("SimulationParameters class cannot be instantiated");
	}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值