CloudSimPy:数据中心作业调度仿真框架
1. 项目基础介绍和主要编程语言
CloudSimPy 是一个开源的数据中心作业调度仿真框架,基于离散事件仿真框架 SimPy 实现。该项目的编程语言是 Python,Python 语言具有丰富的科学计算、深度学习、机器学习生态,使得 CloudSimPy 可以与具有 Python 支持的深度学习框架(如 TensorFlow、PyTorch)良好结合,为研究基于机器学习或深度学习的资源管理方法提供了便利。
2. 项目核心功能
CloudSimPy 的核心功能是模拟数据中心作业调度过程。它包含了以下模块:
- config:提供了任务实例、任务、作业的配置信息,如资源需求和持续时间等。
- job:对任务实例、任务、作业进行了建模。
- machine:对机器进行了建模。
- cluster:对计算集群进行了建模,并维护着集群的机器列表。
- algorithm:定义了调度算法的接口,用户自定义的调度算法必须实现这一接口。
- scheduler:对调度器进行了建模,通过策略模式实现不同的调度算法。
- broker:代替用户向计算集群提交作业。
- monitor:用于在仿真过程中对仿真状态进行监测和记录。
- simulation:对一次仿真进行了建模,包括构造集群实例、作业配置实例、调度器实例等。
此外,CloudSimPy 还提供了 DAG 和 Non_DAG 两个包,分别支持考虑任务间依赖关系和不考虑任务间依赖关系的仿真实验。
3. 项目最近更新的功能
根据项目描述,最近的更新主要包括:
- 在 Non_DAG/algorithm/DeepJS 中实现的基于深度强化学习的数据中心作业调度算法。
- 提供了不同的奖励计算方法,如用于优化完工时间(Makespan)、平均 SlowDown 和平均完成时间的奖励。
- 优化了仿真过程中状态信息的获取方式,提高了仿真效率。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



