本发明涉及流量调度,尤其涉及一种数据中心网络中基于动态优先级的有序流量调度方法。
背景技术:
1、随着云计算、大数据、互联网和人工智能等新一代信息技术的爆炸式增长,越来越多的各种应用和服务(网络搜索、推荐系统、在线零售等)正在迁移到数据中心网络(datacenter networks,dcn)。这些应用和服务在运行期间通常会生成大量大小不同的混合流量(即长流和短流)。其中,许多流量具有截止期限需求,这类流称为deadline流。此外,混合流量中绝大多数为短流,对延迟有严格的要求。简言之,即使是微小的网络延迟也会严重影响应用的性能和云服务提供商的收入。为了获得良好的用户体验,国内外研究者相继提出了各种流量调度机制来优化传输性能,旨在最小化流完成时间(flow completion time,fct)和期限错失率(deadline miss rate,dmr)。
2、混合流量调度是在现代数据中心中最为重要的关键问题之一,它涉及到如何有效地管理和调度不同类型的数据流,以确保网络资源的最优利用并大幅提升服务质量。现有的混合流量调度方法主要可以分为两大类:基于单队列的解决方案和基于多队列的解决方案。尽管现有解决方案在某些情况下能够提供有效的调度策略,但它们各自均存在一定局限性。这些局限性限制了它们在实现预期传输性能方面的潜力。单队列的解决方案中紧迫流的数据包可能会遭受较大的排队延迟,无法在规定时间内完成数据传输;多队列的解决方案中存在严重的数据包重排问题,从而出发大量不必要的快速重传,降低流的发送速率,进而降低网络传输性能。
3、综上所述,现有流量调度机制存在无法有效隔离不同类型的流量,或者无法有效保证数据包按序就到达接收端的问题。换言之,现有流量调度方案很难同时实现紧迫流的低排队延迟和高吞吐量,尤其是数据流从低优先级队列迁移到高优先级队列的网络场景。
技术实现思路
1、本发明的目的在于提供一种数据中心网络中基于动态优先级的有序流量调度方法,依据不同类型流量合理设置其数据包优先级,同时根据网络状态动态调整其优先级并利用有序传输机制来调度数据包的转发次序,确保混合流在优先级发生变化时其数据包仍能有序到达接收方。
2、为实现上述发明目的,本发明提供一种数据中心网络中基于动态优先级的有序流量调度方法,所述方法包括:
3、为发送方的每个数据包进行优先级分配;
4、交换机实时收集流信息并检测优先级队列是否发生拥塞;
5、交换机接收数据包时,根据数据包的优先级和优先级队列拥塞情况对数据包的转发进行调度。
6、进一步的,为发送方的每个数据包进行优先级分配,具体包括以下操作:
7、对数据中心网络中的流量类型进行判断,获得流量类型信息;
8、根据流量类型信息计算数据包的优先级;
9、将数据包的优先级写入数据包的头部。
10、进一步的,流量类型包括有截止期限的流、无截止期限但已知大小的流、无截止期限或未知大小的流。
11、进一步的,所述方法还包括:
12、将每个交换机均配置为维护一个流表和一个端口队列表,将流表配置为记录每条活跃流的信息,将端口队列表配置为记录有关所有输出端口的状态信息。
13、进一步的,交换机实时收集流信息并检测优先级队列是否发生拥塞,具体包括:
14、在交换机接收到任意一条新流的第一个数据包时,根据第一个数据包头部的五元组信息作为哈希函数的输入参数;
15、根据哈希函数的输出结果为相应的新流在流表中创建条目;
16、在所创建的条目中记录流标识id、到达数据包的数量、最后一个数据包的优先级及其队列位置、最后一个数据包所在优先级队列;
17、交换机每接收到一个数据包时,实时更新流表中对应条目的相关参数。
18、进一步的,交换机实时收集流信息并检测优先级队列是否发生拥塞,具体包括:
19、交换机每隔一个往返时延rtt更新端口队列表中条目的参数,每个条目均记录有端口id、队列id、队列长度、流量平均到达率和突发流量演变的斜率;
20、当交换机接收到提升优先级的数据包时,综合考虑当前队列长度、流量平均到达率和流量演变的斜率等信息,预测提升优先级的数据流从低优先级队列迁移到高优先级队列时,高优先级队列是否会发生拥塞。
21、进一步的,交换机接收数据包时,根据数据包的优先级和优先级队列拥塞情况对数据包的转发进行调度,具体包括:
22、在交换机接收到一个数据包时,提取数据包头部的优先级,将其与流表中记录的优先级进行比较;
23、若接收的数据包的优先级等于或低于流表中的优先级,则交换机根据数据包头部记录的优先级信息让数据包进入相应的优先级队列;
24、若接收到一个提升优先级的数据包,交换机执行无序流量调度机制(disorder-free flow scheduling,dfs)处理该数据包。
25、进一步的,交换机执行无序流量调度机制处理数据包,具体包括:
26、交换机根据数据包的优先级找到相应的优先级队列,检测该优先级队列是否发生拥塞;
27、判断预设条件是否满足,若预设条件不满足,则将数据包的优先级设置为流表中记录的优先级,并让数据包进入相应的优先级队列;
28、若预设条件满足,则交换机查询流表,获取相应流所在优先级队列以及该流最后一个数据包在优先级队列中的位置,在有限时间内赋予相应优先级队列最高优先级,优先转发该优先级队列中的数据包,直到该流在优先级队列中的最后一个数据包被转发完毕,将所有优先级队列恢复默认优先级。
29、进一步的,所述预设条件包括以下三个条件:
30、数据包的优先级已经提升;
31、数据包所要进入的高优先级队列不会发生拥塞;
32、与交换机所要处理的数据包同一流的所有飞行数据包缓存在交换机出端口同一优先级队列中,所述飞行数据包为发送方已发送但未收到确认的数据包;
33、交换机仅在同时满足所述三个条件时才允许流从低优先级队列迁移到高优先级队列。
34、与现有技术相比,本发明的有益效果是:
35、本发明提供的一种数据中心网络中基于动态优先级的有序流量调度方法,采用不同的优先级队列来缓存不同类型的流的数据包,确保紧迫流的数据包不会被非紧迫流的数据包阻塞,另外,交换机利用基于动态优先级的无乱序流量调度机制对数据包的转发进行调度,确保数据包按顺序到达接收方,最大限度地减少流完成时间和期限错失率,能够大幅提升数据中心网络的传输性能。
1.一种数据中心网络中基于动态优先级的有序流量调度方法,其特征在于,所述方法包括:
2.根据权利要求1所述的一种数据中心网络中基于动态优先级的有序流量调度方法,其特征在于,为发送方的每个数据包进行优先级分配,具体包括以下操作:
3.根据权利要求2所述的一种数据中心网络中基于动态优先级的有序流量调度方法,其特征在于,流量类型包括有截止期限的流、无截止期限但已知大小的流、无截止期限或未知大小的流。
4.根据权利要求1所述的一种数据中心网络中基于动态优先级的有序流量调度方法,其特征在于,所述方法还包括:
5.根据权利要求4所述的一种数据中心网络中基于动态优先级的有序流量调度方法,其特征在于,交换机实时收集流信息并检测优先级队列是否发生拥塞,具体包括:
6.根据权利要求5所述的一种数据中心网络中基于动态优先级的有序流量调度方法,其特征在于,交换机实时收集流信息并检测优先级队列是否发生拥塞,具体包括:
7.根据权利要求4所述的一种数据中心网络中基于动态优先级的有序流量调度方法,其特征在于,交换机接收数据包时,根据数据包的优先级和优先级队列拥塞情况对数据包的转发进行调度,具体包括:
8.根据权利要求7所述的一种数据中心网络中基于动态优先级的有序流量调度方法,其特征在于,交换机执行无序流量调度机制处理数据包,具体包括:
9.根据权利要求1所述的一种数据中心网络中基于动态优先级的有序流量调度方法,其特征在于,所述预设条件包括以下三个条件: