数据中心网络综述


目前常用的数据中心网络拓扑是多根树架构。该拓扑分为三层,从下到上分别为==接入层、汇聚层和核心层==,规模较小的数据中心可以只有接入层和汇聚层。接入层交换机将服务器连接起来。为了提高可用性,一台服务器可能连接到两台接入交换机。同样,接入交换机一般连接到两台汇聚层交换机。最后,汇聚交换机同时连接到多台核心层交换机。绝大部分数据中心网络通常会有一定的带宽收敛比(Oversubscription)。所谓带宽收敛比,是指在最坏情况下服务器两两之间通信需要的最大带宽和数据中心网络拓扑可以提供的带宽的比值。带宽收敛比为1:1表示所有的服务器都能以其网卡速率进行两两之间通信。通常,为了降低成本,数据中心网络都会有收敛比,一般为2.5:1到8:1。

数据中心网络常用拓扑图

数据中心的定义

随着数据中心的发展,尤其是云计算技术的出现,数据中心已经不只是一个简单的服务器统一托管、维护的场所,它已经衍变成一个集大数据量运算和存储为一体的高性能计算机的集中地。各T厂商将之前以单台为单位的服务器通过各种方式变成多台为群体的模式,在此基础上开发诸如虚拟化、云计算、云存储等一系列的功能,以提高单位数量内服务器的使用效率。目前,新一代数据中心(又称云计算数据中心、集装箱式数据中心或者绿色数据中心)的概念仍没有个标准定义。普遍认为新一代数据中心(朱伟雄,2009)是:基于标准构建模块,通过模块化软件实现自动化7×24小时无人值守计算与管理,并以供应链方式提供共享的基础设施、信息与应用等T服务。

数据中心网络的研究问题

  • DCN的架构及其拓扑

  • 能源效率问题。如何保持 DCN 功率预算可管理,包括虚拟化、网络负载管理和调度

  • DCN 中的拥塞处理,包括拥塞通知和避免

  • DCN 中的路由,并提供高效且具有成本效益的路由机制

······

去了解了一下数据中心和数据中心网络,了解了几个基本的网络架构。感觉数据中心和数据中心网络中可以研究的问题很多,但是适合用AI做的并不是很多。我主要总结了几个。

适合用AI做的问题

负载平衡

负载平衡实际上就是选择路径并调度流的过程,可以用AI来调度各条路上的流,以一些指标为目标,比如吞吐量和延迟等。

负载平衡的定义

负载平衡相当于最小化链路的最大利用率。\(s,d\)代表了流的起点和终点,\(u,v\)代表了以\(s,d\)为起点终点的图中某条边的两个交换机。\(c_{u,v}\)代表了链路的最大容量。 \[ min\,\,max_{u,v\in E}\frac{\sum_{s,d}{f_{u,v}^{s,d}}}{c_{u,v}} \]

负载平衡的目标

由于数据中心中的应用程序有其特定的需求,负载平衡算法应考虑到这一点,有时需要在不同需求之间进行权衡。负载平衡算法的四个主要目标:==高性能、可扩展性、鲁棒性和能量效率。==这是主要的目标,实际上还会有其他目标。比如各个包的到达的最晚时间。

  • 高性能:负载均衡算法需要根据应用需求考虑的两个主要需求吞吐量和延迟。
  • 可扩展性:(1)负载均衡算法是否适用大规模的数据中心网络,并且部署成本是不是高;(2)负载均衡算法是否适用不同的拓扑结构和运行不同应用程序的数据中心环境
  • 鲁棒性:负载平衡算法如何应对数据中心的故障和拓扑变化是一个关键问题。
  • 能量效率:负载平衡算法必须考虑能量消耗,并满足用最小设备子集来满足应用要求

负载平衡算法的两个过程

数据中心网络负载平衡机制的设计分解为两个主要过程:==收集拥塞信息和选择路径。==负载平衡机制的一个关键过程是选择一个或多个适当的度量来表示拥塞,并将拥塞信息传输给将做出负载平衡决策的实体。在获得数据中心网络的拥塞信息后,负载平衡方案需要调度不同路径上的到达流以平衡负载。

服务器负载平衡

服务器负载平衡机制旨在平衡服务器之间的流量。根据服务器的负载和应用程序的需求将请求分发到不同的服务器。这就涉及到服务器的选择调度问题。

虚拟化

虚拟化技术用于虚拟化物理机并为多个用户提供虚拟机。因此,提供商可以建立云数据中心,在相同硬件资源的基础上为多个用户提供服务。具体来说,每个租户都有一个拥有客户资源的私有网络,物理链路的带宽根据租户的需求进行分配。

这也带来了物理链路带宽分配的问题,而且可能是同一条物理链路的分配问题。比如不同用户的优先级可能不同,由于不同的租户支付不同的钱,他们的优先级也不同。一般来说,当租户对同一瓶颈环节的需求冲突时,应该保证优先级较高的租户的需求。来自不同租户和各种应用程序类型的需求不同,例如网络搜索、广告、数据分析。因此调度策略也可以不一样。

能耗

一般能耗是通过架构创新,虚拟化或者调度来降低的。能耗一般作为一个调度目标,采用合适的负载平衡算法,然后可以关闭一些空闲服务器。

感觉AI还是比较适合在调度里面用,尤其是网络问题里面去用。然后我看老师发我的文章很多,而且都是比较具体的云计算里面的一些算法。我理解的意思是不是去这些文章中参考一下他们的应用场景,然后尝试把MTRL,MORL套过去。


文章作者: meditate
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 meditate !
  目录