算网协同感知的数据中心容器调度仿真系统

文档序号:37858907发布日期:2024-05-07 19:32阅读:11来源:国知局
算网协同感知的数据中心容器调度仿真系统

本发明涉及数据中心容器调度与网络的,尤其是指一种算网协同感知的数据中心容器调度仿真系统。


背景技术:

1、大规模深度神经网络训练研究的激增推动了分布式模型训练的应用。由于计算节点之间需要频繁的进行通信,使得网络通信经常成为性能瓶颈。在这种背景下,只考虑算力约束的容器调度方法已经不能满足要求,需要结合算力和网络共同进行调度。为此研究人员提出了各种优化策略。同时,容器技术的兴起使得数据中心广泛采用容器化部署。在部署分布式训练任务前,分析性能和资源利用至关重要,但在真实生产环境中进行测试具有成本高、风险大等问题,部署和测试新的调度方法可能会影响生产系统的稳定性和可靠性,同时也需要投入大量资源和时间。仿真系统通过对复杂网络、异构算力等进行建模,为研究人员提供了一个可控的实验环境,使得研究人员能够深入分析容器调度问题,评估不同优化目标的调度方法,优化资源利用率、改善性能和可扩展性。

2、过去,数据中心仿真系统的研究主要关注于服务器资源的分配、负载均衡、能源效率和冷却系统优化等方面。这些研究的目的在于提高数据中心的整体性能和能源效率,同时减少运营成本。由于这些问题主要涉及到数据中心的内部资源管理,因此,仿真系统在网络建模方面往往采取简化的方法,例如采用预定义的网络参数或忽略网络延迟。然而,随着大数据、云计算和分布式应用的兴起,网络逐渐成为数据中心的性能瓶颈。在这些应用中,大量数据需要在服务器之间或与外部环境之间传输,因此网络带宽、延迟和可靠性对整体性能产生了显著影响。在这种背景下,设计能够建模真实网络环境的仿真系统变得至关重要。这些仿真系统需要能够精确地模拟网络的各种特性,包括但不限于网络带宽、延迟、拥塞情况以及网络的可靠性。通过这种方式,仿真系统能够提供更加真实和准确的数据中心运行情况的预测,帮助管理员和研究人员更好地理解和优化数据中心网络的性能。


技术实现思路

1、本发明的目的在于克服现有技术的缺点与不足,提出了一种算网协同感知的数据中心容器调度仿真系统,突破传统数据中心仿真系统无法提供动态网络环境仿真的局限性,为协同异构算力和动态网络环境的容器调度提供更有效的仿真支持,帮助研究人员深入分析容器调度问题,优化资源利用率和改善性能。

2、为实现上述目的,本发明所提供的技术方案为:算网协同感知的数据中心容器调度仿真系统,包括:

3、数据中心模块,用于加载用户配置的仿真参数,并根据仿真参数对数据中心主机和容器进行建模;

4、网络仿真模块,用于对数据中心模块中的数据中心主机和容器的网络部分进行建模,利用网络仿真工具创建数据中心网络拓扑、监测网络延迟和模拟网络流量传输;

5、容器调度模块,用于依据容器调度和迁移策略,将数据中心模块中的容器部署到主机或迁移到新的主机;

6、离散事件驱动模块,利用离散事件仿真库对数据中心模块、网络仿真模块、容器调度模块中的离散事件进行建模,并控制仿真流程的执行与结束;

7、数据收集与分析模块,用于收集仿真流程中的指标数据,并对数据进行分析,生成报告和可视化结果。

8、进一步,所述数据中心模块包括主机模块和工作负载模块,其中:

9、所述主机模块从本地读取csv格式的数据中心主机配置信息,包括cpu核心数、cpu速度、内存容量、内存速度、gpu卡数、gpu速度、gpu型号和主机价格,然后根据读取的数据中心主机配置信息创建主机对象,并保存到数据中心主机列表,每个主机对象记录了该主机的id、性能规格和部署在该主机上的容器列表;

10、所述工作负载模块用于对作业、任务、容器的完整生命周期进行建模,并依据工作负载数据集生成容器请求,包括以下步骤:

11、1)从本地读取csv格式的工作负载数据集,包括作业id、任务id、容器id、提交时间、运行时间、cpu请求量、内存请求量、gpu请求量、gpu型号、通信次数和平均通信数据量;

12、2)根据读取的工作负载数据集创建作业、任务和容器对象,并保存到对应列表,其中作业与任务之间存在一对多的关系,任务与容器之间存在一对多的关系,数据中心以容器为单位进行调度;

13、3)根据步骤2)中所创建容器对象的提交时间产生容器请求,新产生的容器进入等待队列,等待容器调度模块调度运行,成功调度的容器进入运行队列,容器在运行过程中会随机产生与属于同一作业的其它容器的通信行为,容器通信带来的通信时延会推迟容器的完成时间,容器运行结束后进入完成队列。

14、进一步,所述网络仿真模块利用mininet网络仿真工具创建数据中心网络拓扑、监测网络延迟和模拟网络流量传输,包括以下步骤:

15、1)从本地读取ini格式的网络仿真配置信息,包括网络延迟矩阵更新周期和网络拥塞阈值;

16、2)通过mininet网络仿真工具提供的添加网络节点接口创建自定义的网络拓扑,其中addhost用于向网络中添加一个主机网络节点或容器网络节点,addswitch用于向网络中添加一个交换机网络节点,addlink用于在2个网络节点之间添加一条链路,并能指定带宽、丢包率和时延,addcontroller用于向网络中添加一个自定义控制器,或通过指定ip地址和端口连接到远程控制器;

17、3)通过mininet网络仿真工具提供的cmd接口在步骤2)中创建的交换机网络节点上执行ovs命令配置交换机流表规则,用于控制不同网段的数据包转发至对应的交换机端口;

18、4)通过mininet网络仿真工具提供的cmd接口在步骤2)中创建的主机网络节点上执行ping命令监测主机之间的网络延迟,将监测到的网络延迟存储在一个二维的网络延迟矩阵中,并根据步骤1)中读取的网络延迟矩阵更新周期对网络延迟矩阵进行周期性更新,保证网络延迟的时效性,该网络延迟矩阵能供容器调度模块使用,以实现网络感知的调度策略;

19、5)通过mininet网络仿真工具提供的cmd接口在步骤2)中创建的主机网络节点或容器网络节点上执行iperf命令模拟容器通信和容器迁移所产生的网络流量传输行为,并记录对应的传输时延和传输速率,当传输速率低于步骤1)中读取的网络拥塞阈值时,将该容器标记为拥塞,容器调度模块能够选择拥塞容器进行迁移。

20、进一步,所述容器调度模块包括以下步骤:

21、1)选择容器调度过程所使用的调度策略,能选择系统提供的调度策略或用户扩展的调度策略,其中,一个完整的调度策略包括selection和placement两部分,selection用于选择进行调度的容器,placement用于为这些容器选择主机进行部署;

22、2)执行步骤1)中选择的selection,从等待队列中选择容器进行部署,从运行队列中选择容器进行迁移,得到所选容器id列表;

23、3)将步骤2)中得到的容器id列表作为参数执行步骤1)中选择的placement,得到调度决策列表,每个调度决策包括一个容器id和一个主机id,表示将该容器部署到对应主机;

24、4)根据步骤3)得到的调度决策列表执行容器部署和容器迁移,对未包含在调度决策列表中的容器,保持其运行和等待状态。

25、进一步,所述离散事件驱动模块利用simpy离散事件仿真库对数据中心模块、网络仿真模块、容器调度模块中的离散事件进行建模,并控制仿真流程的执行与结束,包括以下步骤:

26、1)建模数据中心模块中的容器请求产生事件,该事件独立发生,并每隔一个时间单位触发一次,当工作负载中的所有容器请求都提交完成,该事件结束;

27、2)建模容器调度模块中的容器调度事件,该事件独立发生,并每隔一个时间单位触发一次,当仿真流程结束时,该事件结束;

28、3)建模数据中心模块中的容器运行事件、容器迁移事件、容器通信事件和容器完成事件,其中容器运行和容器迁移事件依赖于容器调度事件,当容器被调度运行或迁移时触发,容器通信事件依赖于容器运行事件,当容器运行过程中产生通信时触发容器通信事件,当容器运行结束时,触发容器完成事件,将容器移入完成队列并释放所部署主机上的资源占用;

29、4)建模网络仿真模块中的网络延迟监测事件,该事件独立发生,并根据配置的网络延迟矩阵更新周期周期性触发,触发时更新网络延迟矩阵,当仿真流程结束时,该事件结束;

30、5)根据数据中心模块中容器的完成情况控制仿真流程的执行与结束,当所有容器运行完成时,仿真流程结束。

31、进一步,所述数据收集与分析模块包括以下步骤:

32、1)收集仿真流程中的指标数据,包括:调度决策、运行队列容器个数、等待队列容器个数、完成队列容器个数、主机资源利用率、容器提交时间、容器部署时间、容器完成时间、容器通信时延、容器迁移时延和网络延迟矩阵;

33、2)根据上述指标数据生成仿真结果分析报告,并保存到本地文件,包括仿真持续时间、平均容器通信时延、平均容器响应时间、平均容器等待时间、平均cpu资源利用率、平均内存资源利用率、平均gpu资源利用率、数据中心资源利用率方差和平均网络延迟。

34、本发明与现有技术相比,具有如下优点和有益效果:

35、1、结合网络仿真工具构建自定义的数据中心网络拓扑,有效应对不同场景下的数据中心容器调度仿真。

36、2、结合网络仿真工具实现动态的数据中心网络建模,周期性监测网络节点间的网络延迟,模拟数据中心中的网络流量传输等行为,对网络感知的容器调度策略提供有效仿真支持。

37、3、协同异构算力与动态网络环境进行容器调度,有利于在保持数据中心高性能的同时降低成本,为网络密集型容器提供更加可靠和灵活的服务。

38、4、基于离散事件仿真库设计离散事件驱动模块,有利于建模完备的数据中心仿真流程,控制各事件的进行与结束。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1