云计算[1, 2]、智慧城市[3]、物联网[4]以及大数据的快速发展给数据中心的建设和管理带来极大的冲击, 推动数据中心向分布式、一体化、低功耗以及智能化模式转变[5]. 数据中心[6-10]为云服务提供丰富的存储和计算资源, 海量的云IP流量对数据中心的运营管理提出了更高的要求和目标. 不同的云服务数据在时延、吞吐率和带宽的需求上也存在着差异性. 例如, 声音流和视频流对延迟要求较高; 文件和邮件服务对延迟需求不高, 但要求保证精准的数据准确率. 据统计, 从2015年到2020年, 对时延需求敏感的视频流在云IP流量中的工作负载占比从29%增长至34%[11], 进一步给数据中心网络性能带来了严峻的考验.
数据对传输延迟要求的不同, 使得在数据交换过程中需满足其差异化时延需求. 为了实现数据中心高速传输并减少时延, 当前的研究一般采用Crossbar 光交换结构作为Core交换器, 并在Core交换器和ToR (top-of-rack)交换器之间采用高速光连接. 然而, 光交换器存在重配置开销的问题, 即在进行交叉连接重配置的过程中, 交换器或由多个交换器构成的交换网络不能进行数据交换. 在交换器具有重配置开销的场景下, 大部分现有的交换调度算法没有考虑数据包的差异化时延需求, 而是对所有数据包都进行统一调度.
目前调度算法的研究多侧重如何最小化加速比、降低时延等. 例如, DOUBLE算法[12]提出了
Wu等[18]提出了3个流量矩阵调度算法(MIN, αi-SCALE 和QLEF), 以最小化系统的时延为最终目标, 同时获取100%的投递率. QLEF算法在最小化时延的基础上使加速比更小, 系统性能更佳. 文献[19]提出了一种新的填补空白时隙的调度算法降低系统时延, 与大部分填补空白时隙算法不同, 采用选择性的填补策略提高运行效率, 减少运行时间, 即只对超过限制需求的空白时隙填补, 提高了50%的吞吐率, 降低了18%的时延.
这些调度算法虽然对降低平均时延以及保证100%的投递率进行了有效研究, 但是却忽略了不同数据流对于延迟的需求情况, 不能够满足端到端的延迟条件限制.
文献[20]研究了输入队列交换机的调度问题, 对MaxWeight算法进行了改进, 与MaxWeight的高复杂度不同, 作者研究了几种低复杂度算法, 其重流量性能与MaxWeight相同. 在非均匀流量的情况下, 一大类低时间复杂度算法具有与MaxWeight相同的重流量性能. 但文章并没有研究差异化时延调度, 仅针对流量不同做了研究. 还有一些研究工作[21-23]围绕逐个时隙(slot-by-slot)、物联网延迟敏感任务、根据用户数据流选择数据中心等方面进行了算法设计研究. 但这些算法忽略了重配置开销对时延的影响, 不能满足大数据的传输需求.
国内在传输调度算法的研究多侧重减少整体数据时延, 没有考虑差异化时延的需求. 文献[24]研究了光网络中使用消息调度表对流量进行离线时间调度, 保证传输的实时性和时间确定性. 唐旭等[25]提出了QPTS (队列优先级驱动的任务调度)算法, 确保经过数据中心的数据流的实时传输, 减少系统处理过程中产生的时延. 王耀民等[26]提出了一种数据中心差异化流量调度策略, 改进斐波那契树优化(FTO)算法, 得到多个符合条件的差异化流量管理方案.
如何改善光交换器的交换调度效率, 同时实现无丢包、差异化时延保证的交换性能, 成为决定数据中心云服务性能的一个重要因素. 基于此, 本文设计两种光交换调度算法, 根据数据包的差异化时延需求优先传递对时延要求严格的数据, 兼顾大部分数据的时延需求, 在保证投递率的基础上实现光交换数据传输最大时延满足率.
1 数学建模 1.1 影响时延的因素影响数据包延迟的因素有很多, 包括重配置开销、加速比以及配置矩阵的设计等, 其中重配置开销和加速比对延迟的影响较大. 在交换机进行流量调度的过程中, 通过调度算法将汇聚在输入端口的流量矩阵根据输入输出端口的不同划分成若干配置矩阵, 每一个配置矩阵负责传输一部分数据, 而每一个配置过程需要经历几个时隙的时间, 在这个时间段内有效地降低加速比或配置矩阵的数量, 能够降低整个系统的开销, 使系统能在规定时间内传递全部数据包, 保证投递率.
除此之外, 配置矩阵的执行顺序大大影响了不同数据包的时延, 需要通过精心的设计其执行顺序达到满足不同时延的目的.
1.2 系统模型系统基于N×N 输入队列缓冲(IQ)的Crossbar光交换机, 对具有差异化时延需求的数据包提供合理的包调度策略, 如图1所示. 输入端设置缓冲区, 在T时刻内聚集的数据包根据输入输出端口不同, 存储在特定的虚拟输出队列缓冲区(virtual output queued, VOQ)中[18,27,28]. 每个输入端口的缓冲区存放N组数据, 对应N个输出端口. 在输入端汇集的数据包形成一个一一对应的输入输出端口流量矩阵C(T). 调度问题可以理解为通过调度算法将流量矩阵分解为不同的配置矩阵进行传输的过程.
图2描述了一个简易的差异化时延处理的光交换机系统模型. 在这个2×2的Crossbar交换机模型中. 红色双点线代表对时延需求敏感的数据流, 蓝色虚线代表对时延需求不高的数据流. 右侧的矩阵代表输入端对应输出端的数据包流量矩阵, 其中红色的数据包(C01=3)对时延需求较严格. 系统根据数据包的特性进行区别处理, 优先传输C01.
1.3 调度过程
光交换调度一般分为若干阶段, 每个阶段完成系统特定的任务, 如图3所示. 交换机以流水线的方式工作, 数据包调度统共分为3个阶段: 数据累积(traffic accumulation)、调度(scheduling)以及交换(switching)过程.
① 汇聚阶段
在第1阶段, 系统经过T时隙的数据累积, 生成流量矩阵
$ \sum\limits_{i = 0}^{N - 1} {{c_{ij}}} \leqslant T,\; \sum\limits_{j = 0}^{N - 1} {{c_{ij}}} \leqslant T $ | (1) |
除流量矩阵外, 定义一个时延约束矩阵
② 调度阶段
执行调度算法的过程为第2阶段. 通过配置算法, 在H个时隙内将流量矩阵分解成
每一个配置矩阵表示交换机的一种配置状态, 在输入和输出端之间建立连接并进行通信. 当这一个状态的配置传输完毕后, 交换机必须进行重新配置, 调整输入输出连接装置以便于传递下一组数据. 所以, 交换机必须进行
(a)更新互联模式. 根据光交换技术的不同, 这个步骤大概要需要花费10 ns到几微秒的时间[12].
(b)光收发模块重新同步需要花费10−20 ns或更长时间[29].
(c)将不同输入端的光信号进行排列也需要额外的时钟[30].
即使应用当前最快的光传输技术, 系统的重配置开销仍旧要一个多时隙的时间, 在64字节处理单元, 10 Gb/s线速的系统里一个时隙的时间是50 ns.
③ 交换阶段
第3阶段为数据包的交换过程. 为了避免虚拟输出队列的冲突和阻塞, 包交换必须要在T时隙内完成.
另外, 已知流量矩阵具有
$ \sum\limits_{n = 1}^{{N_s}} {{\varPhi _n}P_{ij}^{(n)}} \geqslant {c_{ij}},\; i, j \in \{ 0, 1, \cdots, N - 1\} $ | (2) |
其中,
调度算法生成的
$ \sum\limits_{n - 1}^{{N_{ij}}} {{\varPhi _n}P_{ij}^{(n)} \geqslant {c_{ij}},\; \forall i, j \in N} $ | (3) |
为了使系统在数据传输过程中尽量减少传输延迟, 调度算法应尽力减少每一对输入输出端口对之间数据包传输的时延, 充分利用包传输过程中产生的空闲时隙. 如果端口对(i,j)在
$ \sum_{n-1}^{N_{i j}-1} \varPhi_n P_{i j}^{(n)}+\Delta_{i j}=c_{i j}, \forall i, j \in N $ | (4) |
进一步知道,
另外, 由于交换机的重配置过程无法传输数据, 导致交换机内部的传输时间超过了T个时隙, 为了保证输出端口不出现阻塞冲突以及100%的投递率, 交换机的内部传输速度要大于外部的传输速度, 从而产生了加速比的概念. 定义加速比为S, 要保证交换机交换时间不能超过T, 则必须满足式(5):
$ \delta {N_s} + \frac{1}{S}\sum\limits_{n = 1}^{{N_s}} {{\varPhi _n}} \leqslant T $ | (5) |
其中, 左边第1项
$ N \leqslant {N_s} \leqslant {N^2} - 2N + 2 $ | (6) |
系统在输入端汇聚数据后, 已经确定了流量矩阵和每组数据的时延需求, 在输入端口和输出端口建立连接后, 交换数据时, 应该尽量满足每一对输入输出端口对所对应的时延要求. 假定
$ {\tau _{ij}} = \delta {N_{ij}} + \frac{1}{s}\sum\limits_{n = 1}^{{N_{ij}} - 1} {{\varPhi _n} + {\Delta _{ij}}} \preccurlyeq {d_{ij}},\; \forall i, j \notin \in N $ | (7) |
其中, 符号“
不同的数据包对时延要求不同, 在流量矩阵形成后, 即形成了对应的时延需求矩阵, 系统的QoS保证需要尽量使得实际时延不能超过
$ {d_{ij}} \leqslant T $ | (8) |
式(7)中的时延需求相对式(8)更加严格, 在实际运行中输入端口和输出端口产生的时延需要遵守式(7)所限定的范围.
已知系统中共有
$ J = \{ (i, j)|{\tau _{ij}} \leqslant {d_{ij}}, i, j \in N\} $ | (9) |
本文工作的目的是尽量满足所有数据包的时延需求, 即最大程度满足每个数据包
$ \max \left\{ \zeta = \frac{{|J|}}{{{N^2}}} \times 100{\text{%}} \right\} $ | (10) |
其中,
SDF (stringent delay first)算法的核心思想是使用贪心策略反复执行调度分配算法, 在调度过程中总是选择那些对时延要求最严格的端口进行包调度, 从而达到满足时延要求的目的.
2.1 get_configuration函数为了使SDF算法更加清晰简洁, 设计子函数get_configuration获取一个配置矩阵
算法1. get_configuration函数
BEGIN:
(
{
set
set count=0;
for(count=1–N)
{
set
set
set
if (count=1) then set
else if
count= count+1;
}
return
}END.
算法1中矩阵D中的最小元素标记为
流量矩阵中存在一些元素, 其对时延的要求比较特殊, 无论系统如何配置调度规则, 都不可能满足这些元素的时延需求, 所以优先处理其他被满足的数据包进行传输. 给出下面的约束条件, 只有满足该式的数据包, 才具有优先参与排队调度的权利:
$ \tau + \delta + \frac{{{c_{ij}}}}{S} \preccurlyeq {d_{ij}} $ | (11) |
其中,
因为不能保证输入输出端口对(i,j)存在流量传输, 而且也不能保证其交换时间一定满足式(11)的约束, 因此采用符号“
SDF算法主要通过一个while循环完成对流量矩阵的分解过程. 在每一次循环内, 通过调用get_configuration函数获取一个配置矩阵
接下来, 生成配置矩阵
$ {\varPhi _n} = \left\{ {\begin{array}{*{20}{l}} {\left\lceil {\dfrac{1}{{\left\lceil {\theta |I|} \right\rceil }} \displaystyle\sum\limits_{k = 1, (i, j) \in I}^{\left\lceil {\theta |I|} \right\rceil } {c_{ij}^k} } \right\rceil ,\; {\rm{if}}}\;K\geqslant{\left\lceil {\theta |I|} \right\rceil } \\ {{c_{{i_{\min }}{j_{\min }}}},\; {\rm{else}}} \end{array}} \right. $ | (12) |
其中,
很显然, 通过调节参数
1)当
2)当
3)其他情况则通过计算得到权重.
SDF算法的详细步骤如算法2所示.
算法2. SDF 算法描述
BEGIN:
set
while
{
if
(
set
if
else set
if
else set
set
set
}
END.
2.3 SDF算法复杂度分析SDF调用函数
SDF忽略了多个配置矩阵组合的累积效应以及它们之间的相互关联性. 没有充分利用由于不合理的配置所产生的空白时隙. 针对SDF的缺点和不足, 本节考虑给出另外一种解决方案m-SDF, 使m个配置矩阵之间互相协作, 利用调度过程中的空白时隙, 进一步减少系统时延.
3.2 m-SDF算法描述为了描述方便, 首先给出一个定义.
定义1. m重配置矩阵集. m重(m-order)配置矩阵
函数get_multiple_config给出了m重配置矩阵集
算法3. get_multiple_config函数
BEGIN:
(
{
Step 1. 构造一个m-order 配置矩阵
Step 1.1. 从时延矩阵D中选择不同行同列的N个最小元素, 元素的选取满足如下约束规则:
将最小值的索引位置记为
Step 1.2. 检索时延矩阵D中所有未被选中的元素
则令
Step 2. 计算
其中,
Step 3. 使用匈牙利算法(Kuhn-Munkres algorithm)[32] 获取矩阵
Step 4. 返回
END.
式(14)中, 索引(
m-SDF算法的主体部分和SDF的主体基本相同, 只是调用了不同的生成配置矩阵的函数get_multiple_config.
3.3 算法复杂度分析m-SDF调用函数get_multiple_config, 算法复杂度主要由前3步决定. 第1步从
仿真实验根据Crossbar光交换特性和实际传输需求, 模拟流量矩阵和相应的时延约束矩阵. 数据采用8×8矩阵, 使用cplex优化软件+VC编写程序. 实验机器的配置为: 3.4 GHz的Intel双核处理器, 4.0 GB内存, Windows操作系统. 设定时隙T=40, 流量矩阵维数N=8, 重配置开销
图4展示了SDF算法随着加速比S的递增,
(1)随着加速比的增加, 由于数据传输速率提高, 数据包的时延满足的概率大大提升.
(2)当
图5展示了SDF算法当加速比S=2, 在不同
4.2 m-SDF算法实验仿真结果
图6展示了随着加速比S的递增,
从图6可以看出:
(1)随着加速比的增加, m-SDF的时延满足率也逐渐增大.
(2)当
图7展示了m-SDF算法在取不同加速比, 不同
另外, m的值决定了产生的多个配置状态之间的关联程度, m越大代表着其关联程度也越大, 因此交换机的数据传输性能也越好.
图8显示了不同m取值下的时延满足率对比图, 图中展示了当m分别取1, 3, 5时的时延满足程度. 当m=5时, 时延满足程度最高.
4.3 仿真结果对比与分析
为了评估启发式算法(SDF和m-SDF)的解与最优解之间的差别, 利用ILP求解调度问题的最优解, 和启发式算法进行比较. 并以3-SDF为例进行系统仿真. 图9给出了3种算法的仿真结果对比图. 从图中看出: (1) ILP 最优解和启发式算法m-SDF之间的差别不大. (2) 3-SDF时延效果比SDF的更好. (3) 当加速比的值递增时, 时延满足率
5 总结
光分组交换技术逐渐成为光网络研究领域的前沿. 然而, 现有的分组调度机制忽略了重配置开销对时延的影响. 在实际的应用中, 这些机制无法满足端到端的差异化时延需求. 对此, 本文详细阐述并分析光交换调度模型和影响差异化时延的因素, 提出了两种启发式调度算法SDF和m-SDF, 对带有VOQ输入队列的光交换机数据包进行流量调度, 最大化数据包对时延约束的满足率. 大量的仿真实验验证了算法的有效性和灵活性.
[1] |
Lewis GA. Cloud computing. Computer, 2017, 50(5): 8-9. DOI:10.1109/MC.2017.141 |
[2] |
宁士勇. 虚拟化云计算数据中心资源节能调度算法研究. 计算机应用研究, 2021, 38(4): 1088-1091. DOI:10.19734/j.issn.1001-3695.2020.02.0037 |
[3] |
Schleicher JM, Vögler M, Dustdar S, et al. Enabling a smart city application ecosystem: Requirements and architectural aspects. IEEE Internet Computing, 2016, 20(2): 58-65. DOI:10.1109/MIC.2016.39 |
[4] |
Lewis FL. Wireless sensor networks. In: Cook DJ, Das SK, eds. Smart Environments: Technologies, Protocols, and Applications. Hoboken: John Wiley, 2005. 11–46.
|
[5] |
Fuerst C, Schmid S, Suresh L, et al. Kraken: Online and elastic resource reservations for cloud datacenters. IEEE/ACM Transactions on Networking, 2018, 26(1): 422-435. DOI:10.1109/TNET.2017.2782006 |
[6] |
Alhaidari F, Balharith TZ. Enhanced round-robin algorithm in the cloud computing environment for optimal task scheduling. Computers, 2021, 10(5): 63. DOI:10.3390/computers10050063 |
[7] |
Qing Y. Data center network architecture design for cloud computing. Converter, 2021, 2021(1): 23-29. |
[8] |
Maelah R, Al Lami MFF, Ghassan G. Usefulness of management accounting information in decision making among SMEs: The moderating role of cloud computing. Asia-Pasific Management Accounting Journal, 2021, 16(1): 59–92.
|
[9] |
Zhang ZX, Liu FZ, Yao B. Cloud computing data center system, gateway, server, and packet processing method: US, 20210320872. 2021-06-25.
|
[10] |
Zhan ZH, Liu XF, Gong YJ, et al. Cloud computing resource scheduling and a survey of its evolutionary approaches. ACM Computing Surveys, 2015, 47(4): 63. |
[11] |
CTI论坛. 思科全球云指数: 预测和方法2015–2020年. http://ec.ctiforum.com/jishu/qiye/qiyetongxinjishu/yunjisuan/baipishu/503007.html (2017-02-10).
|
[12] |
Towles B, Dally WJ. Guaranteed scheduling for switches with configuration overhead. IEEE/ACM Transactions on Networking, 2003, 11(5): 835-847. DOI:10.1109/TNET.2003.818190 |
[13] |
Wu B, Yeung KL, Hamdi M, et al. Minimizing internal speedup for performance guaranteed switches with optical fabrics. IEEE/ACM Transactions on Networking, 2009, 17(2): 632-645. DOI:10.1109/TNET.2008.926501 |
[14] |
Kulkarni J, Lee E, Singh M. Minimum Birkhoff-von Neumann decomposition. Proceedings of the 19th International Conference on Integer Programming and Combinatorial Optimization. Waterloo: Springer, 2017. 343–354.
|
[15] |
Benzi M, Uçar B. Preconditioning techniques based on the Birkhoff-von Neumann decomposition. Computational Methods in Applied Mathematics, 2017, 17(2): 201-215. DOI:10.1515/cmam-2016-0040 |
[16] |
Chang CS, Chen WJ, Huang HY. Birkhoff-von Neumann input buffered crossbar switches. Proceedings of the 2000 Conference on Computer Communications. Nineteenth Annual Joint Conference of the IEEE Computer and Communications Societies. Tel Aviv: IEEE, 2000. 1614–1623.
|
[17] |
Li J, Ansari N. Enhanced Birkhoff-von Neumann decomposition algorithm for input queued switches. IEE Proceedings-Communications, 2001, 148(6): 339-342. DOI:10.1049/ip-com:20010618 |
[18] |
Wu B, Yeung KL. NXG05–6: Minimum delay scheduling in scalable hybrid electronic/optical packet switches. Proceedings of the 2006 IEEE Globecom. San Francisco: IEEE, 2006. 1–5.
|
[19] |
van Hautegem K, Rogiest W, Bruneel H. Fill the void: Improved scheduling for optical switching. Proceedings of the 2015 27th International Teletraffic Congress. Ghent: IEEE, 2015. 82–88.
|
[20] |
Jhunjhunwala PR, Maguluri ST. Low-complexity switch scheduling algorithms: Delay optimality in heavy traffic. IEEE/ACM Transactions on Networking, 2022, 30(1): 464-473. DOI:10.1109/TNET.2021.3116606 |
[21] |
Jie X, Yeung KL. Iterative multicast scheduling algorithm for input-queued switch with variable packet size. Proceedings of the 2017 30th IEEE Canadian Conference on Electrical and Computer Engineering. Windsor: IEEE, 2017. 1–4.
|
[22] |
Zhu KK, Shen GB, Jiang Y, et al. Differentiated transmission based on traffic classification with deep learning in datacenter. Proceedings of the 2020 IFIP Networking Conference. Paris: IEEE, 2020. 599–603.
|
[23] |
Varshney S, Singh S. A survey on resource scheduling algorithms in cloud computing. International Journal of Applied Engineering Research, 2018, 13(9): 6839-6845. |
[24] |
姚晓魁. 时间调度网络流量规划技术研究[硕士学位论文]. 成都: 电子科技大学, 2017.
|
[25] |
唐旭, 王飞, 李彤, 等. 数据中心实时交换系统的研究与实现. 计算机科学, 2017, 44(6A): 459-462, 490. DOI:10.11896/j.issn.1002-137X.2017.6A.103 |
[26] |
王耀民, 王霞, 董易, 等. 面向云数据中心的多业务差异化流量管理优化策略. 通信学报, 2019, 40(11): 45-56. DOI:10.11959/j.issn.1000-436x.2019215 |
[27] |
Zhang BX, Wan XL, Luo JZ, et al. A nearly optimal packet scheduling algorithm for input queued switches with deadline guarantees. IEEE Transactions on Computers, 2015, 64(6): 1548-1563. |
[28] |
Anderson T, Owicki S, Saxe J, et al. High speed switch scheduling for local area networks. ACM Transaction on Computer Systems, 1993, 11(4): 319–352.
|
[29] |
Kar K, Stiliadis D, Lakshman TV, et al. Scheduling algorithms for optical packet fabrics. IEEE Journal on Selected Areas in Communications, 2003, 21(7): 1143-1155. DOI:10.1109/JSAC.2003.815911 |
[30] |
Agranat AJ. Electroholographic wavelength selective crossconnect. Proceedings of the 1999 Digest of the LEOS Summer Topical Meetings: Nanostructures and Quantum Dots/WDM Components/VCSELs and Microcavaties/RF Photonics for CATV and HFC Systems. San Diego: IEEE, 1999. II61–II62.
|
[31] |
Wu B, Yeung KL. Traffic scheduling in non-blocking optical packet switches with minimum delay. Proceedings of IEEE Global Telecommunications Conference. Saint Louis: IEEE, 2005. 2041–2045.
|
[32] |
Munkres J. Algorithms for the assignment and transportation problems. Journal of the Society for Industrial and Applied Mathematics, 1957, 5(1): 32-38. DOI:10.1137/0105003 |