项目简介
CloudSimPy是基于离散事件仿真框架SimPy,采用Python语言实现的数据中心作业调度仿真框架。该框架可借助Python完善的科学计算、深度学习和机器学习生态,与有Python支持的深度学习框架(如TensorFlow、PyTorch)结合,有助于研究基于机器学习或深度学习的资源管理方法。
项目的主要特性和功能
- 模块化设计:项目包含core和playground两个Python包。core对数据中心作业调度问题的各实体进行抽象建模;playground便于用户开展实验,有DAG和Non_DAG包分别支持不同任务依赖情况的仿真实验,还有辅助包提供实用类和函数。
- 多算法实现:预先实现了一些启发式作业调度算法和基于深度强化学习的作业调度算法,如Non_DAG/algorithm/DeepJS中的算法使用TensorFlow实现,并在eager模式下进行训练和推断。
- 高性能仿真:将TaskInstance、Broker、Scheduler和Monitor设计为SimPy进程,通过被动询问状态信息取代主动维护,优化仿真过程中的hotpath,提高仿真效率。
- 策略模式应用:将Scheduler实现与调度算法实现分离,便于添加或修改算法;在reward_giver.py中也运用策略模式,为不同优化目标的深度强化学习作业调度模型提供不同奖励计算方法。
安装使用步骤
环境要求
- Python 3.6
- SimPy 3.0.11
- TensorFlow 1.12.0
- Numpy 1.15.3
- Pandas 0.23.4
操作步骤
- 设置环境变量:把cloudsimpy目录的路径添加到系统环境变量PYTHONPATH中。
- 进入示例目录:
cd cloudsimpy/playground/Non_DAG/launch_scripts
- 运行示例:
python main-makespan.py
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】