支持并行化快速实验部署的网络创新实验平台
2014-09-29金德鹏曾烈光
李 帅,李 勇,苏 厉,金德鹏,曾烈光
(清华大学电子工程系,北京 100084)
1 概述
伴随着互联网的不断发展,其规模的扩张和业务类型的需求多样化带来了很多问题,例如IPv4地址的耗尽、对移动特性的支持不够、由猛增的视频流量导致的网络拥塞等。这些问题直指互联网体系结构,因此针对互联网体系结构革命性创新的研究在全球逐步兴起,例如美国的NDN项目、XIA项目。但现有的网络无法灵活地支持各种新型的体系结构部署,所以,一大批支持网络创新的工程项目和实验平台涌现出来,比较有代表性的有美国的GENI[1]项目、欧洲的FIRE[2]项目、PlanetLab[3]平台、Emulab[4]平台。这些项目和平台大多采用网络虚拟化技术,支持多个实验网络的并行和灵活的网络配置,为各种新型体系结构的性能测试提供了有力的工具。
网络创新实验平台是一个开放的平台,不同的实验者会接连不断地提交实验请求,实验部署的耗时长短不仅影响实验者的个人体验,也是衡量实验平台工作效率的重要指标。Emulab建立初期对实验的部署进行了阐述和耗时测试[5],实验部署的耗时问题首次得到关注。在文献[4-5]中,PlanetLab、Emulab等主流项目和平台的实验部署耗时都较长,这样的耗时会大大影响整个实验平台的运行时效。但很多实验平台在建设过程中,更多注重灵活定制实验、隔离性等特性,对实验部署的耗时问题并不重视。
清华大学网络创新实验(Tsinghua University Network Innovation Environment, TUNIE)[6-7]平台是基于虚拟化技术的网络创新实验平台。在建设TUNIE的过程中,也遇到了实验部署耗时较长的问题。传统的单线程串行实验部署方案及集中式镜像池是导致耗时较长的主要原因,针对这两点,本文提出并行化快速实验部署(Paralleled Fast experiment Deployment, PFD)方案,对实验部署流程做并行化处理,并且引入分布式镜像池的方案。
2 TUNIE中的实验部署
本节首先介绍TUNIE的网络架构和实验部署的基本流程,然后结合实际测量数据,分析实验部署过程中耗时较长的原因。
2.1 TUNIE网络架构
TUNIE是基于虚拟化技术的网络创新实验平台,它的网络结构如图1所示,各物理节点分布于3个不同的域,域间通过公网VPN相连,域内各物理节点通过内网交换机实现全联通。每个物理节点上部署有Xen[8]软件,用于实时建立虚拟机,虚拟机通过开源软件Xorp[9]和Click[10]实现可编程虚拟路由器的功能。另外,平台还支持基于 FPGA的硬件虚拟化可编程路由器,这不在本文讨论的范围内。
图1 TUNIE网络结构
TUNIE采用集中控制模式,控制中心位于域A,下文将称域A为本地域,其他域为非本地域。域A包含一个集中控制中心、一个全局镜像池和若干物理节点。控制中心负责实时处理用户请求、管理和控制整个平台的运行;全局镜像池存储平台支持的若干种不同类型的操作系统镜像和用户自定义的操作系统镜像,各物理节点可通过网络文件系统(Network File System, NFS)从全局镜像池拷贝镜像。
平台内同时运行 2类网络:控制网和实验网。控制网负责承载控制中心或全局镜像池与各物理节点的传输流量,实验网负责承载各虚拟化实验网络的流量。控制网与实验网是物理隔离的,这既可以有效地防止 2张网络互相干扰,也可以较好地保障控制中心、全局镜像池与各物理节点间的带宽。由于操作系统的镜像大小[11]一般都在 GB量级(TUNIE中一般为4 GB),这样的带宽保障对于镜像的拷贝尤其重要。
TUNIE中用户建立实验的流程如图2所示。整个实验建立分3步:(1)用户需要通过TUNIE提供的Web页面提交实验请求;(2)资源映射[12]模块会将用户请求的虚拟网络映射到底层物理网络中;(3)如果映射成功,进入实验部署模块,直至所有虚拟机被成功部署并运行正常。
图2 用户建立实验的流程
2.2 实验部署流程
实验部署模块的一般流程是串行地部署各台虚拟机,每台虚拟机的部署分为 3个步骤:通信,镜像分发和虚拟机建立,其流程如图3所示。
图3 串行部署实验的流程
每台虚拟机的部署流程具体如下:
(1)通信:资源映射成功后,每台虚拟机会映射到一个物理节点上,同时形成一个虚拟机配置文本,控制中心会将该配置文本发送给对应的物理节点,物理节点接收到该文本并解析其内容,然后据此进行后续操作。
(2)镜像拷贝:物理节点根据配置文本的内容,从镜像池中将对应的虚拟机操作系统镜像拷贝过来,供Xen建立虚拟机时使用。
(3)虚拟机建立:通过运行 Xen,完成虚拟机的生成和配置,并发送反馈信息给控制中心。
综上所述,实验部署时间的计算公式如下:
2.3 部署时间的测量
本文选取TUNIE的本地域A和一个非本地域B,对单个虚拟机的部署进行了多次测试,表 1给出了单个虚拟机部署的各步骤的平均耗时和平均总耗时。由此可知:通信时间只占总时间的很小一部分,优化的意义不大;域B内的节点的镜像拷贝时间远大于域A内的节点,而且占虚拟机总耗时的比例达到90%。
表1 单个虚拟机的部署时间 s
结合表1和T的计算式,可以得到表2。可以看到,如果要部署20台虚拟机,即使都部署在域A,也需要约30 min的时间,如果部署在域B,则需要159 min。域B过大的时间开销与采用串行的部署方式是密切相关的。
表2 多个虚拟机的部署时间 s
综上所述,可以从两方面对实验的部署流程进行优化:(1)缩短非本地节点拷贝镜像的时间;(2)将部署流程做并行化处理。基于这 2点考虑,本文提出并行化快速实验部署(PFD)方案。
3 并行化快速实验部署方案
由于非本地节点的镜像拷贝时间远大于本地节点,串行的部署方式造成整个部署流程耗时过长,因此针对以上两点,结合TUNIE自身的特点,本文提出基于并行处理和分布式镜像池的PFD方案,包括2个子方案:(1)分布式镜像池,用于解决非本地节点镜像拷贝耗时较长的问题;(2)并行化处理,用于提高时间维度上的资源利用率,从而缩短部署总时间。
3.1 分布式镜像池
非本地节点从中心镜像池拷贝镜像时,由于需要经过公网进行传输,无法保障较高的带宽且拥塞时有发生,因此会导致拷贝耗时过长。而域内拷贝只需要经过内网传输,只要网络设备性能良好,便可以很好地保障带宽,耗时较短。基于这个特点,本文提出了分布式镜像池的方案,如图4所示。
图4 分布式镜像池示意图
由图 4可知,各域都配备一个镜像池,每个镜像池都储存不同操作系统的镜像和用户自定义的镜像,这样非本地节点只需要从其所在的域拷贝镜像,即不仅传输速度比现网更快,而且带宽有保障。假定非本地域的网络环境与本地域相同,可以得到优化后的单个虚拟机的部署时间耗时,如表3所示。可以看到,域B中单个虚拟机的总部署时间和域A非常接近。
表3 采用分布式镜像池后的单个虚拟机部署时间 s
3.2 并行化处理
并行化处理是将各虚拟机的部署过程尽可能的并行化,以节约时间。TUNIE的映射算法决定了在同一个实验中,不同的虚拟机部署在不同的物理节点上;由此观察到,用于通信的时间只占整个实验部署时间的很小一部分,基于以上两点,提出如图5所示的并行化实验部署流程:
(1)串行的通信:控制中心将各虚拟机的配置文本顺序发送给对应的物理节点。
(2)并行的镜像拷贝:各物理节点接收到文本后,同步地从所在域的镜像池中拷贝所需的镜像。但由于镜像池节点对外的传输带宽是一定的,因此并行拷贝与串行拷贝的总耗时比较接近。
(3)并行的虚拟机建立:各物理节点拷贝完镜像后立即开始建立虚拟机,完成后将反馈信息发送给控制中心。由图5可见,经过并行化处理,各虚拟机几乎同时开始建立,能有效地减少整个实验的部署时间。
图5 并行化部署实验的流程
4 性能评估
4.1 仿真评估
在本地和非本地虚拟机部署的测量中发现,各步骤所用时间分布的比较集中,所以,假设虚拟机部署的各步骤在表1和表3的均值基础上服从正态分布,表4通过(均值,标准差)的形式给出了各步骤满足的正态分布参数。通过Matlab软件分别实现了串行方案和PFD方案的部署流程,然后利用表 4的数据对不同规模的实验的部署时间进行仿真,得到实验部署时间仿真,如图6所示。
表4 虚拟机部署各步骤耗时的正态分布数据 s
图6 理想条件下的实验部署时间
由图6可以得到:对于部署于本地域的实验,PFD方案相比串行方案在实验部署时间上平均节省约 40%,且该优化百分比随节点数目的增加保持不变;对于部署于非本地域的实验,PFD方案相比串行方案在实验部署时间上平均节省约 89%,且该优化百分比随节点数目的增加保持不变;图中2条虚线几乎重合,说明在PFD方案下,不论实验节点位于本地域还是非本地域,实验的部署时间都几乎相同。总体来看,PFD方案相比串行方案可以节省约40%~89%的实验部署时间,对于非本地部署的实验,其优化效果更加突出。
4.2 实际应用评估
本文将串行方案和PFD方案分别应用于TUNIE的控制中心,部署不同规模的实验,对实验的总时间进行了测量。这里需要说明是:域A的节点全部配备千兆网卡,而域B的节点仅配备了百兆网卡,所以,域B的镜像拷贝速度大大低于域A,表5给出了TUNIE中的域A和域B的单个虚拟机部署时间的均值。另外,受限于TUNIE平台中的节点规模,实验的最大节点数目取为15。
表5 TUNIE中单个虚拟机的部署时间 s
由图7可看出,对于部署于本地域的实验,PFD方案相比串行方案在实验部署时间上平均节省约 50%,且该优化百分比随节点数目的增加保持不变;对于部署于非本地域的实验,PFD方案相比串行方案在实验部署时间上平均节省约21%,且该优化百分比随节点数目的增加保持不变。
图7 TUNIE中的实验部署时间
对比图6和图7可看到:对于部署于本地域的实验,图7中PFD方案的优化效果优于图6,这是因为经实际测量,域A内多个物理节点并行拷贝镜像所需的总时间比各物理节点串行拷贝镜像所需的总时间略短一些;对部署于非本地域的实验,图7中PFD方案的优化效果远差于图6,这是由域B中物理节点较低的带宽限制导致的。由此可见,要想充分发挥PFD方案的优势,需要各域内具备较高的传输带宽。
在实际应用过程中,PFD方案需要的额外开销包括2个部分:(1)存储空间的增加,为了镜像池的分布式布置,需要为每个非本地域配置一个镜像池节点,TUNIE中每个镜像池的大小为500 GB,所以,用于存储镜像的存储空间由500 GB增加到1500 GB;(2)控制逻辑的复杂化,为了实现并行化处理,TUNIE控制中心的控制逻辑需要调整。从工程实现的角度考虑,以上两点的代价都较小,这保证了PFD方案具备较高的可行性。
5 结束语
针对TUNIE运行过程中实验部署耗时过长的问题,本文基于实际测量数据提出了PFD方案。该方案将镜像池由集中式变为分布式,将部署流程由串行变为并行。经过仿真和在TUNIE中的实际应用,证明了PFD方案能够有效地减少实验部署的耗时,对于非本地部署的不同节点规模的实验,PFD方案相比于串行部署方案可以节约89%的部署时间。PFD方案采用并行化的方式建立虚拟机,这增加了实验建立出错时的处理难度,如何针对PFD方案来设计容错机制将是今后需要研究的课题。
[1]Duerig J, Ricci R, Stoller L, et al.Getting Started with Geni: A User Tutorial[J].ACM SIGCOMM Computer Communication Review, 2012, 42(1): 72-77.
[2]Gavras A, Karila A, Fdida S, et al.Future Internet Research and Experimentation: The FIRE Initiative[J].ACM SIGCOMM Computer Communication Review, 2007, 37(3): 89-92.
[3]Peterson L, Bavier A, Fiuczynski M E, et al.Experiences Building Planetlab[C]//Proceedings of the 7th Symposium on Operating Systems Design and Implementation.Berkeley,USA: USENIX Association, 2006.
[4]Hibler M, Ricci R, Stoller L, et al.Large-scale Virtualization in the Emulab Network Testbed[C]//Proceedings of 2008 Annual Technical Conference on Annual Technical Conference.Boston, USA: USENIX Association, 2008.
[5]White B, Lepreau J, Stoller L, et al.An Integrated Experimental Environment for Distributed Systems and Networks[C]//Proceedings of the 5th Symposium on Operating Systems Design and Implementation.New York,USA: [s.n.], 2002.
[6]周 烨, 李 勇, 苏 厉, 等.基于虚拟化的网络创新实验环境研究[J].电子学报, 2012, 40(11): 2152-2157.
[7]龚 宇, 李 帅, 李 勇, 等.基于云计算的网络创新实验平台[J].计算机工程, 2012, 38(24): 5-8.
[8]Barham P, Draqovic B, Fraser K, et al.Xen and the Art of Virtualization[C]//Proceedings of the 9th ACM Symposium on Operating Systems Principles.New York, USA: ACM Press,2003.
[9]Handley M, Hodson O, Kohler E.Xorp: An Open platform for Network Research[J].ACM SIGCOMM Computer Communication Review, 2003, 33(1): 53-57.
[10]Kohler E, Morris R, Chen Benjie, et al.The Click Modular Router[J].ACM Transactions on Computer Systems, 2000,18(3): 263-297.
[11]Jin K, Miller E L.The Effectiveness of Reduplication on Virtual Machine Disk Images[C]//Proceedings of the Israeli Experimental Systems Conference.New York, USA: [s.n.],2009.
[12]Yu Minlan, Yi Y, Rexford J, et al.Rethinking Virtual Network Embedding: Substrate Support for Path Splitting and Migration[J].ACM SIGCOMM Computer Communication Review, 2008, 38(2): 17-29.