EdgeCloudSim调研

EdgeCloudSim: 边缘以及云中心如何实现

运行方式

Windows下

  • 项目里面有运行样例可以直接运行
  • 比如运行sample_app1
    • 选择src/applications/sample_app1文件下的MainApp
    • 注意修改配置和输出路径参数,创建输出文件夹
    • 绘图
      • 在每个样例中有mat文件进行绘图

github中问题探讨

image-20220418215956693

image-20220418220021743

注:卡加泰松梅斯是仿真平台论文一作

边缘的实现

  • edge_client
    • CpuutilizationModel_custom:默认指定为一个VM的CPU周期
    • DefaultMobileDeviceManager:将任务提交到相关的设备(by Edge Orchestrator)
    • MobileDeviceManager:移动设备管理
    • Task:将app类型、任务传输地点等加入Cloudlet类中
  • edge_orchestrator
    • BasicEdgeOrchestrator:实现基础算法:先进/后进/随机 匹配算法
    • EdgeOrchestrator:为每个代理要求提供VM
  • edge_server
    • EdgeServerManager:(默认)创建datacenter、host、VM 并提供host列表
    • EdgeHost:host信息
    • EdgeServerManager:(扩展类)功能同上
    • EdgeVM:VM信息
    • EdgeVmAllocationPolicy:VM分配策略

总结:使用edge_server来实体化设备--VM、Host、Datacenter,使用edge_client处理任务以及移动设备,其处理方式根据edge_orchestrator中基础算法来定。

云中心的实现

  • cloud_server
    • DefaultCloudServerManager:(默认)创建datacenters, hosts and VMs
    • CloudServerManager:(可扩展)
    • CloudVM:VM信息
    • CloudVMAllocation_Custom:VM分配策略

总结:使用cloud_server来实体化设备--VM、Host、Datacenter

项目中大量调用org.cloudbus.cloudsim中函数,也就是Uses of Class org.cloudbus.cloudsim),重写时需要学习相关包的使用方法

强化学习怎么使用

个人感觉较难实现

  • 从github的作者评论中看出,只使用java的话,主要还是运行基础策略
  • 如果假如调用python代码
    • java中直接调用python--jpython
      • python版本比较老
      • 无法调用pytorch等包
    • java调用本地脚本/执行脚本文件
      • 无法适用于深度强化学习。
        • 深度强化学习需要大批次的多数据传输,调用脚本延迟可能较长
        • 运用脚本来运行深度强化学习模型,模型参数更新后的保留问题难以解决

posted @ 2022-04-19 10:42  (´v`)  阅读(826)  评论(0)    收藏  举报