摘要:为了提高面向大数据应用的网络效率,结合软件定义网络技术,提出一个可扩展网络服务框架(HiSPNetS).HiSPNetS在大数据环境中提供了高性能、可扩展、可编程的网络服务.实验结果表明,HiSPNetS提供了应用感知的网络服务,同时支持差异化服务,确保传输路径的服务质量(QoS).
关键词:大数据应用;服务质量;可扩展性
中图分类号:TP391 文献标志码:A
文章编号:2095-6991(2023)01-0050-06
Abstract:In order to improve the network efficiency for big data applications, this paper proposes an extensible network service framework (HiSPNetS) combined with Software Defined Networking (SDN) technology. HiSPNetS provides high-performance, scalable, and programmable network services in big data environments. Experimental results show that HiSPNetS provides application-aware network services, supports differentiated services, and ensures the quality of service (QoS) of transmission paths.
Key words:big data application; quality of service; scalability
0 引言
近年来,大数据分析和应用领域呈增长趋势,结合数据挖掘和机器学习等技术,大数据及其相关技术已被应用于科学研究、商业决策等各大领域.大数据是科学发现的驱动力,大型科学仪器所产生的数据量呈指数增长.因此,数据传输成为提高数据共享和分析效率的关键因素.高性能的数据传输可以有效应对科学数据集规模的指数增长,提高数据传输的吞吐量.网络对于数据传输至关重要,且网络需要提供充足的网络带宽,确保端到端网络路径的服务质量(Quality of Service,QoS).软件定义网络(Software Defined Networking,SDN)是一种将控制平面与数据转发分离的网络架构,从而允许网络控制直接可编程[1-2].SDN是提高网络服务可扩展性的主流技术,可以提供大数据科学所需的端到端高性能网络服务[3-5].网络服务的可编程性可以使大数据应用在运行时对网络进行编程以满足应用需求,具有可扩展性的网络可以同时支持许多用户和各种各样的科学应用.因此,本文结合SDN,提出了一个简称为HiSPNetS的网络服务框架,以提高面向大数据应用的网络效率.
1 问题描述
1.1 最后一公里问题
端到端的网络路径通常由局域网段(最后一公里)和广域网段组成.广域网的QoS技术可以用来预留服务终止点之间的带宽.然而,局域网中缺乏自动化网络服务来为最后一公里提供QoS,因此,无法提供具有保证QoS的完全端到端网络路径.广域网的QoS技术并不适用于解决最后一公里问题和可编程性问题.首先,局域网需要支持复杂的用例和应用场景,而广域网的QoS技术无法提供丰富的网络编程原语来支持此类操作,例如,广域网的QoS技术缺乏锁和原子原语来支持多步操作;其次,广域网的QoS技术对第3层和应用层操作的支持不足.
1.2 可扩展性问题
假设一个科学应用涉及m个站点,其中站点k有nk个系统.在最坏的情况下,需要在这些站点的系统之间建立n1×n2×…×nm条能确保QoS的端到端路径.一般来说,可以建立基于虚拟局域网的点对点第2层来实现端到端路径.虽然这种做法简单有效,但是由于虚拟局域网不能支持超过4 096个连接,因此并不具备可扩展性.
Spoke-hub分布模型是解决上述可扩展性问题的有效机制[6].该模型仅在服务终止点之间而不是计算机系统之间需要带宽保证点对点第2层链路.多个业务流可以与单个点对点第2层链路进行复用/解复用.为满足端到端网络流量的QoS要求,每个站点的网络服务框架需要提供基于QoS的路由和路径选择、网络流量的细粒度控制、局域网和广域网的无缝集成.
1.3 可编程性问题
网络可编程性是实现“网络即服务”的先决条件.然而,由于缺乏支持局域网内的可编程网络服务,应用程序无法有效利用底层网络资源.
当前的局域网中缺乏自动化网络服务来解决上述问题,对此结合SDN技术的可编程特性,设计并实现了能支持大数据网络服务的框架——HiSPNetS,提高网络服务的灵活性,实现自动化和虚拟化.HiSPNetS使开发应用感知的网络服务变得可行,大数据应用可以直接调度网络资源.HiSPNetS可以实现细粒度的网络流量控制,通过集中的网络配置,优化网络资源的使用.
2 HiSPNetS设计
HiSPNetS是基于ONOS平台、使用Java高级编程语言实现的[7].通过ONOS平台提供的抽象模型,HiSPNetS可以检测网络状态,并动态地控制整个网络.HiSPNetS对ONOS的北向接口进行了扩展和复用,并设计了一套新的应用程序编程接口.在ONOS平台上,为HiSPNetS开发了一套新机制,其中包括:①AMQP接口,允许应用程序在运行时对网络进行编程[8];②锁定机制,以避免对网络资源的不同步访问;③基于QoS的路由和路径计算机制;④调度程序,允许按需请求或提前调度网络资源以支持复杂的网络操作.本文将HiSPNetS的逻辑设计拆分为数据平面和控制平面.
2.1 HiSPNetS数据平面设计
网络运营商关键考虑的问题是如何提高网络资源(如带宽)的有效利用率.现有的数据平面架构大多基于尽力而为的方法,然而这种服务模式并不能满足应用程序和服务的需求,只能实现较差的QoS.传统路由协议使用最佳路径进行路由,即使该路径变得拥塞,也会在该路径上持续发送流量.考虑网络中的拥塞是最大化带宽利用率的关键.每当网络发生拥塞时,拥塞控制机制只向发送者发送通知消息,以降低数据传输速率.这样一来,用户的吞吐量就会下降,从而使网络整体性能下降.
HiSPNetS的数据平面架构能够考虑网络中的可用带宽,并为上层应用程序和服务启用一个QoS感知的带宽预留系统.为了缓解拥塞,该预留系统带宽不会分配超过网络可用带宽.HiSPNetS框架支持两类服务,分别是基于优先级的服务和尽力而为服务.HiSPNetS的数据平面使用计量器来限制数据流的速率,并使用队列来确定数据流的优先级.优先级队列用于处理基于优先级的数据流,而尽力而为队列用于处理属于尽力而为服务的数据流.HiSPNetS还提供了一种灵活的机制来重新分配备用路径上的数据流,以防主路径发生故障,HiSPNetS的数据平面设计如图1所示.在每个SDN交换机上,HiSPNetS使用QoS队列来区分优先级和尽力而为的流量.HiSPNetS在每个底层设备上动态配置队列和计量器,以实施实时速率控制.
2.2 HiSPNetS控制平面设计
HiSPNetS的控制平面结构如图2所示.其中,基于AMQP的编程接口模块允许应用程序访问HiSPNetS框架.该编程接口模块使用了基于JSON-RPC的通信机制,允许应用程序和HiSPNetS之间进行动态和灵活的交互[9].AMQP接口由消费者和发布者组件组成,消费者组件管理来自应用程序的网络服务请求,而发布者组件将网络状态/统计信息发送到应用程序.在初始化阶段,HiSPNetS使用此模块动态创建或删除发布者和消费者队列.创建队列后,应用程序可以与HiSPNetS进行双向通信.
当应用程序启动时,使用RPC队列和对应的ID向HiSPNetS的消费者发送JSON-RPC命令.创建一个匿名的独占回调队列,将回复发送到应用程序.HiSPNetS的消费者处于等待队列中的请求状态.当出现请求时,它会执行该作业并使用回调队列将带有结果的JSON回复发送到应用程序.HiSPNetS发布者的工作方式类似,将JSON-RPC消息发送到应用程序.AMQP模块配置了事件传递服务来分派事件,以通知其监听器有关应用程序的传入消息/命令.事件监听器是实现事件监听器接口的组件,本文为HiSPNetS管理器设置了事件监听器接口来处理传入的消息/命令.
表现层状态转移的编程接口为应用程序提供了一个替代接口,与HiSPNetS服务交互并在运行时对网络进行编程.HiSPNetS管理器负责HiSPNetS所有模块之间的通信,建立各个子模块和内部服务之间的工作流.HiSPNetS管理器组件处理来自上述模块的上层请求,跟踪资源的消耗情况.当接收到网络服务请求时,管理器会与其他模块进行调度和协调执行相关操作,包括基于QoS的路径计算、路径预留、路径建立和移除网络状态报告等.HiSPNetS管理器负责对新请求提供服务,在请求服务的整个生命周期中,管理器会考虑网络中的可用资源(如带宽).
在这个模块中,HiSPNetS管理器实现了事件监听器接口来处理传入的服务请求.此外,它还监听拓扑管理器发送的异步事件,通知应用程序网络中的变化情况.在HiSPNetS中,基于QoS的路由和路径计算模块负责计算服务终止点之间的可用路径.HiSPNetS利用最大瓶颈带宽算法计算网络中两个端点之间的可用路径(以带宽为约束),具体如算法1所示.HiSPNetS将SDN网络抽象为一个图,图中的顶点代表SDN设备,而图中的边代表网络连接.对于图中的每条边,通过SDN控制器获取带宽等属性,该模块基于链路的可用带宽为每个链路设置成本.
算法1 最大瓶颈带宽算法
1:Initialize Q;
2:For each i in network do
3:Bw[i]←0;
4:Pre[i]←NULL;
5:Q←Q + {i};
6:Bw[s]←INFI;
7:While Q != NULL do
8:k←GetfromQ;
9:For each i in Nei(k) do
10:Tmp←minBW(i,k);
11:If Tmp gt; Bw[i] do
12:Bw[i]←Tmp;
13:Pre[v]←k;
通过提出的最大瓶颈带宽算法,可以确定起始节点和图中任何其他节点之间具有最大可用带宽的最佳可用路径.算法首先将所有节点的链路带宽初始化为0,起始节点的带宽设置为无穷大;其次将起始节点的带宽设置为永久,其他所有节点的带宽设置为临时;然后将起始节点的状态设置为活跃,并计算活跃节点的所有邻居节点的最大瓶颈带宽,并检查链路的可用带宽.如果计算出的节点带宽大于当前节点,则更新带宽并将当前节点设置为先行节点;最后将具有最大带宽的节点设置为活跃状态,并将其带宽标记为永久.重复上述步骤,直到所有节点的带宽变为永久.
流管理器模块负责在底层网络设备上安装、更新、修改和删除流规则.当HiSPNetS接收到来自应用程序的路径预留请求时,流管理器将接收来自HiSPNetS管理器模块的流相关请求,并在每个转发设备上独立执行流相关操作.该流管理器主要管理用于速率控制的计量器和用于流量优先级队列的相关操作.
资源监控器模块负责监控和跟踪网络资源,资源监控服务主要负责监控资源(如链路成本、带宽等)相关信息,并将该信息提供给其他服务.拓扑管理器模块向HiSPNetS管理器提供全局网络拓扑视图,该模块与ONOS的拓扑服务进行协调以更新HiSPNetS本地拓扑数据库中的信息.如果底层网络拓扑发生变化,拓扑管理器会立即通过其事件调度服务向HiSPNetS管理器触发拓扑变化事件.
2.3 可编程范式
为了解决可编程问题并实现网络服务,为HiSPNetS设计了一系列原语以允许应用程序在运行时对网络进行编程.初始化原语配置了充当外部网络网关的内部交换机的接口/端口.在网关处,通常需要诸如推送和交换之类的虚拟局域网操作来链接不同网络中的路径段,以维护端到端的第2层路径.锁止和解锁原语通过锁定机制,避免对网络资源的不同步访问,并使用调度程序根据用户请求调度网络资源.
调度程序允许按需请求或提前调度网络资源以支持复杂的网络操作,该调度程序调用基于QoS的路由和路径计算来检查用户所请求的网络资源是否可用,并拒绝无法满足的请求.调度程序在控制平面分配和预留网络资源,与流管理器协调以立即分配或在预留开始时分配数据平面中的资源.在预留结束或收到释放请求时,调度程序与流管理器协调,释放数据平面中的资源并回收控制平面中的资源.
HiSPNetS框架的部署结构如图3所示,其中大数据科学应用程序运行在多个站点上,每个站点都是一个独立的管理域,并且都有高性能集群以及支持SDN的局域网,支持SDN的局域网由支持SDN的物理和虚拟化交换机组成,并将集群系统连接到广域网.部署在每个站点的HiSPNetS框架管理局域网,在广域网运行QoS技术以提供按需保证.
3 实验评估与分析
实验使用SDN测试平台评估了HiSPNetS框架.单域SDN测试平台由4个40 GE数据传输节点和两个SDN交换机组成.每个DTN配置了一个或多个虚拟局域网接口,并连接到SDN交换机.实验使用iperf工具监测DTN之间数据传输过程[10],该数据传输包括3种流量,每个流量持续10 min.每个数据传输任务均建立端到端路径.HiSPNetS框架计算和管理本地局域网路径,安装流规则设置本地局域网路径,并安装计量器和队列以对流量实施速率控制和QoS保证.
HiSPNetS框架下数据传输的吞吐量测量值如图4所示.由结果可知,在1到2 min内,尽力而为流量占满了路径的所有带宽;在3到4 min时间段,优先级流量1达到10 Gbps的吞吐量上限,而尽力而为流量的带宽消耗下降到30 Gbps;在5到8 min内,优先级流量2到达系统,并达到约15 Gbps的吞吐量,此时尽力而为流量的吞吐量降低到约15 Gbps,而优先级流量1保持在10 Gbps不变.系统运行8分钟后,由于优先级流量1和2的传输都完成了,因此尽力而为流量的吞吐量增加到40 Gpbs.这个过程说明了HiSPNetS能够提供应用感知的网络服务,并支持差异化服务,为优先流量提供QoS保障.
HiSPNetS框架能够对底层网络进行编程,用于在SDN网络中创建虚拟网络切片.创建虚拟网络切片后,使用iperf工具测试所创建虚拟网络切片中主机之间的数据传输,结果如表1所列.
由表1可知,虚拟网络切片内的主机可以相互通信,而不同切片的主机不能通信.该实验结果表明,HiSPNetS框架支持网络切片,允许多个科学应用共享一个公共网络基础设施,具有性能隔离、安全隔离和易于管理等优点.
实验设置了两个逻辑上独立的站点A和B:站点A由3个40 GE的数据传输节点和一个SDN交换机组成;站点 B 由一个40 GE的数据传输节点、一个1 GE数据传输节点和一个SDN交换机组成.站点A和B通过 OSCARS 第 2 层环回路径连接,可以使用 ESnet OSCARS 电路服务动态设置和拆除.每条端到端网络路径跨越3个域,即站点A、Cernet和站点B.因此,每条端到端网络路径由局域网段和广域网段组成.
数据传输流量的吞吐量如图5所示.从结果中可以看出,各个数据传输流量均以其所需的吞吐量进行数据传输.该实验结果也表明,HiSPNetS可以解决最后一公里问题,作为局域网控制器与广域网服务相结合,以确保端到端网络路径的QoS.
4 结论
本文提出了一种可扩展网络服务框架——HiSPNetS框架,该框架借助SDN技术为大数据应用提供具有QoS保证的网络服务.实验评估结果表明,HiSPNetS框架通过支持可编程网络以满足应用程序需求,并且与广域网系统相结合,解决了最后一公里问题和可扩展性问题.在后续的工作中,将研究如何把HiSPNetS框架部署到真实的应用环境中,通过不同类型的大数据应用,进一步验证该框架的性能.
参考文献:
[1] KESHARI S K,KANSAL V,KUMAR S.A systematic review of quality of services (QoS) in software defined networking (SDN)[J].Wireless Personal Communications,2021,116(3):2593-2614.
[2] 赵志远,孟相如,苏玉泽,等.多控制器条件下区分QoS的虚拟SDN映射方法[J].通信学报,2017,38(8):101-110.
[3] DINH P T,PARK M.BDF-SDN:A big data framework for DDoS attack detection in large-scale SDN-based cloud[C]//2021 IEEE Conference on Dependable and Secure Computing (DSC).IEEE,Fukushima,2021:1-8.
[4] 孙瑞娜,廖彬.面向SDN网络的QoS优化解决方案综述[J].计算机应用与软件,2021,38(11):1-10.
[5] 祖家琛,胡谷雨,严佳洁,等.网络功能虚拟化下服务功能链的资源管理研究综述[J].计算机研究与发展,2021,58(1):137-152.
[6] FAN S,RONG Y,MENG C,et al.DAPPLE:A pipelined data parallel approach for training large models[C]//Proceedings of the 26th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming,Korea:IEEE,2021:431-445.
[7] BADOTRA S,PANDA S N.Evaluation and comparison of OpenDayLight and open networking operating system in software-defined networking[J].Cluster Computing,2020,23(2):1281-1291.
[8] SELEZNEVE S,YAKOVLEV V.Industrial application architecture IoT and protocols AMQP,MQTT,JMS,REST,CoAP,XMPP,DDS[J].International Journal of Open Information Technologies,2019,7(5):17-28.
[9] KIM Y,JEONG S,JEZEK K,et al.An off-the-chain execution environment for scalable testing and profiling of smart contracts[C]//2021 USENIX Annual Technical Conference (USENIX ATC 21),2021:565-579.
[10] KOVACS A,LENCSE G.Evaluation of layer 3 multipath solutions using container technologies[C]//2019 42nd International Conference on Telecommunications and Signal Processing (TSP).Budapest:IEEE,2019:207-211.
[责任编辑:李 岚]
作者简介:苏警(1983-),男,安徽蚌埠人,讲师,硕士,研究方向:计算机技术、软件工程.E-mail:3120623298@qq.com.