首页 > 范文大全 > 正文

基于云计算的P2P流媒体服务器集群部署算法

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于云计算的P2P流媒体服务器集群部署算法范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘 要:

针对云计算数据中心网络(DCN)环境下,P2P流媒体服务器集群部署引起的较高带宽占用问题,提出了一种基于计算p2p流媒体服务器集群部署方法。该方法将P2P流媒体服务器集群部署建模为一个二次分配问题,并基于蚁群算法,寻找每个虚拟流媒体服务器与每个部署点之间的映射关系,实现基于云计算的P2P流媒体服务器集群部署。通过仿真实验证明,基于云计算的P2P流媒体服务器集群部署算法可以有效地减少云计算平台DCN网络带宽占用。

关键词:云计算;P2P;流媒体服务器;集群部署;数据中心网络

中图分类号: TP393.01

文献标志码:A

P2P streaming media server cluster deployment algorithm based on cloud computing

Abstract:

Concerning the high bandwidth occupation problem caused by deploying the P2P (Peer-to-Peer) streaming media server cluster on the Data Center Network (DCN) in cloud, a P2P streaming media server cluster deployment algorithm based on cloud computing was proposed. This algorithm modeled the P2P streaming media server cluster deployment as a quadratic assignment problem, and sought the mapping relationship between each virtual streaming media server and each deployment point to realize the P2P streaming media server cluster deployment based on cloud computing. The simulation experiment demonstrates that the P2P streaming media server cluster deployment algorithm based on cloud computing can effectively reduce the bandwidth usage of DCN in cloud.

Key words:

cloud computing; Peer-to-Peer (P2P); streaming media server; cluster deployment; Data Center Network (DCN)

0 引言

云计算技术在近几年迅猛发展,在计算、存储等方面带来了众多创新性的模式与技术成果[1],为基于云计算实现低延时、大规模P2P流媒体传输提供了契机。首先,云计算环境能够提供大规模P2P流媒体直播服务器所需的计算、存储和可靠的带宽资源[2];其次,云计算技术具有动态可扩展特性与环境感知能力,基于运行状态监控,可实现系统资源与数据传输的动态调度,适于动态变化的P2P对等网络环境,并可改变P2P流媒体服务器资源不可知、不可控的研究现状。

近来,少数前瞻性的研究已开始探索云计算与P2P计算、P2P流媒体的结合应用模式。Fouquet等[3]利用云计算平台中的节点充当超级节点,作为P2P多播树的上层节点,以提升P2P流媒体传输的稳定性。Trajkovska等[4]提出了在云计算和树型P2P网络混合环境中,以QoS参数和付费成本为代价,提供不同服务质量的模型。Payberah等[5]提出了一种基于云计算环境下的P2P直播系统,系统通过动态租用云计算环境下的虚拟机资源,来保证预设的P2P直播系统的预设的QoS。Cervino等[6]提出了一种混合分发网络,通过连接可以互相操作的P2P节点和云节点,使某些分发网络节点进入云基础设施从而提高服务质量。在上述云计算与P2P流媒体技术的结合研究中,均简单地将云计算平台作为一种网络带宽等资源无限的平台,并没有具体地给出将P2P流媒体服务器集群部署到云平台数据中心网络之上的方法。

随着网络密集型应用在云平台数据中心网络的大量部署,DCN的内部网络带宽成为云计算环境下的一个瓶颈资源[7]。如何减少数据中心网络的内部带宽消耗,是应用部署需要考虑的核心问题。Meng等[7]讨论了如何将虚拟机部署到云平台DCN网络的问题,基于虚拟机之间的通信代价以及部署点之间的代价提出了最小化占用DCN网络带宽的优化问题,他们表明这个问题是一个NP-Hard问题,提出了一种基于最大流最小割的TVMPP (Traffic-aware VM Placement Problem)优化算法,但是此算法对于P2P流媒体服务器集群这样有特定结构与流量的应用部署问题却没有显著的效果。本文解决了如何将P2P流媒体服务器集群有效地部署到云计算数据中心网络环境中的问题,使得P2P流媒体服务器集群最小化占用云计算虚拟化网络资源。

1 P2P流媒体服务器部署问题建模

当代的数据通信网络(Data Communication Network,DCN)架构一般是三层体系架构。从顶层到底层依次为:核心交换机、聚集交换机和接入交换机。尽管这种三层架构的物理拓扑结构是一个多根的森林拓扑结构,在现实中的数据包转发是根据使用虚拟局域网和生成树算法构成的逻辑两层拓扑结构。这种两层拓扑结构始终是一棵树,通常根是其中的一个核心交换机。常见的扩展DCN网络架构有VL2[8]、Fat-Tree[9]、BCube[10]三种。

本文在上述的DCN架构基础上,以文献[5]提出的通信代价为基础,形式化地对虚拟化环境下,服务器之间的通信代价进行描述,本文定义部署点为物理机器上可以部署的虚拟机或者是纯粹的物理服务机器。部署点之间通信代价为任何两个部署点路由所经过的最小的交换机的个数。本文定义同一台物理主机上的虚拟机之间的通信代价为0。

本文常用符号如表 1。

2 P2P流媒体服务器部署算法

P2P流媒体服务器的部署算法就是要解决典型的QAP。这类问题是组合优化研究中的一项很重要的内容,是NP难问题。蚁群算法由于并行性与分布性、特别适合大规模启发式搜索[11]的特点可以有效解决QAP问题。在本文使用蚁群算法的过程中,将一只蚂蚁的一个觅食过程定义为寻找每个虚拟流媒体服务器与每个部署点之间的一种映射关系。

由于P2P虚拟流媒体服务器个数m可能会小于部署点个数n,而一般的蚁群算法中两者是相等的,本文通过添加“空”的虚拟流媒体服务器来使得m=n。“空”的虚拟流媒体服务器指的是在逻辑集群树中连接的边的权值为“0”,不向任何其他虚拟流媒体服务器发送、也不接受任何其他虚拟流媒体服务器的数据。这样矩阵

使用蚁群算法解决此问题可以用图的形式进行描述:在图G=(V,E)中,节点V的个数为2n,其中有n个节点表示虚拟流媒体服务器,n个节点表示部署点;边E表示的为连接虚拟流媒体服务器与部署点的代价。一个蚂蚁构建一个完整解的过程为,寻找连接n个节点的虚拟流媒体服务器与n个部署点之间的弧的n条边。用到的符号定义如表2。

3 验证与仿真实验

本文实验平台为惠普个人电脑,配置如下:CPU型号为i5-2400,内存8GB,操作系统为Windows 7 64位。实验数据在eclipse上使用Java编程仿真得到。实验中衡量DCN负载均是以流媒体速率r为单位。

实验一 实验选择了128个部署点,128个P2P媒体服务器构成的服务器集群。针对不同的DCN架构,Tree、FatTree、VL2、Bcube等分别进行了随机部署算法(Random)、TVMPP算法[6]以及SCVMPP算法,实验结果如图 1所示。

从图 1中可以看出Random算法与TVMPP算法在不同的DCN网络下面产生的通信代价(DCN网络带宽占用)基本一样,而本文提出的SCVMPP算法可以有效地减少通信代价。

SCVMPP算法对于不同的DCN架构减少的程度也是不一样的,相对于FatTree以及VL2,Tree架构以及BCube架构减少的DCN网络带宽负载更多。这是由部署点代价矩阵决定的,也即DCN网络架构决定的。

TVMPP算法主要分为两个部分,第一部分使用Gonzalez等[12]提出的KTMM算法将部署点集合划分成k个部署点集合,使得各个部署点集合之间通信代价最小化;第二部分是使用了Gomory-Hu算法[13]将通信代价图先转化为具有最大流最小切割的Gomory-Hu树,然后将虚拟流媒体服务器划分成与第一部分中部署点集合一样大小的虚拟流媒体服务器集合。但是P2P流媒体服务器集群部署中虚拟机的带宽使用较均衡,在Gomory-Hu算法中生成Gomory-Hu树时,所有的最大流最小切割划分代价都是一样的,这导致在虚拟流媒体服务器划分时的效果基本等价于Random划分,也即使得整个TVMPP算法的效果最终等价于Random部署算法。

SCVMPP算法与TVMPP算法不同,是一个正反馈的过程,与所部署的具体应用没有必然的关系,对带宽使用较均衡的应用,也会有效地减少服务器集群所占用的带宽。

实验二 本实验中比较了不同架构下随着集群规模变化的SCVMPP算法与TVMPP算法。实验部署点规模从128变化到1024,实验中DCN架构选择Tree架构和BCube架构,实验结果如图 2、3所示。从图中可以看出,随着部署点规模的增加,SCVMPP算法产生的通信代价总是小于TVMPP算法。

从图2、图3可以看出,随着部署点规模的增加,SCVMPP算法在Tree架构下相对于TVMPP算法的优化百分比没有在BCube架构下好。原因是接入交换机的端口数k,聚集交换机端口数m在部署点规模增加时没有发生变化,在Tree架构下会导致一个部署点通信代价为5的节点随着规模数不断增加,而BCube架构不受此影响。

4 结语

本文针对P2P流媒体服务器集群在云计算环境部署时引起数据中心网络带宽占用过高的问题提出了P2P流媒体服务器集群部署算法。通过对此问题的建模分析得出此问题是一个二次分配问题,并基于蚁群算法,将每个虚拟流媒体服务器部署到云计算环境中的虚拟机上。最后通过实验表明本文提出的算法有效减少了数据中心网络的带宽占用。

本文算法是基于P2P流媒体服务器集群逻辑结构是已知的情况,其结构是未知的情况还有待今后研究。

参考文献:

[1] DIKAIAKOS M D, KATSAROS D, MEHRA P, et al. Cloud computing: Distributed Internet computing for IT and scientific research[J]. IEEE Internet Computing, 2009, 13(5): 10-13.

[2] ANTONOPOULOS N. Cloud computing[M]. Berlin: Springer, 2010.

[3] FOUQUET M, NIEDERMAYER H, CARLE G. Cloud computing for the masses[C]// Proceedings of the 1st ACM Workshop on User-provided Networking: Challenges and Opportunities. New York: ACM, 2009: 31-36.

[4] TRAJKOVSKA I, RODRIGUEZ J S, VELASCO A M. A novel P2P and cloud computing hybrid architecture for multimedia streaming with QoS cost functions[C]// Proceedings of the 2010 International Conference on Multimedia. New York: ACM, 2010: 1227-1230.

[5] PAYBERAH A H, KAVALIONAK H, KUMARESAN V, et al. CLive: Cloud-assisted P2P live streaming[C]// Proceedings of the 2012 IEEE International Conference on Peer-to-Peer Computing. Piscataway: IEEE, 2012: 79-90.

[6] CERVINO J, RODRíGUEZ P, TRAJKOVSKA I, et al. Testing a cloud provider network for hybrid P2P and cloud streaming architectures[C]// Proceedings of the 2011 IEEE International Conference on Cloud Computing. Piscataway: IEEE, 2011: 356-363.

[7] MENG X, PAPPAS V, ZHANG L. Improving the scalability of data center networks with traffic-aware virtual machine placement[C]// Proceedings of the 29th Conference on Information Communications. Piscataway: IEEE, 2010: 1-9.

[8] GREENBERG A, HAMILTON J R, JAIN N, et al. VL2: a scalable and flexible data center network[J].ACM SIGCOMM Computer Communication Review, 2009, 39(4): 51-62.

[9] LEISERSON C E. Fat-trees: universal networks for hardware-efficient supercomputing[J]. IEEE Transactions on Computers, 1985, 100(10): 892-901.

[10] GUO C, LU G, LI D, et al. BCube: a high performance, server-centric network architecture for modular data centers[J]. ACM SIGCOMM Computer Communication Review, 2009, 39(4): 63-74.

[11] DORIGO M, BONABEAU E, THERAULAZ G. Ant algorithms and stigmergy[J]. Future Generation Computer Systems, 2000, 16(8): 851-871.

[12] GONZALEZ T F. Clustering to minimize the maximum intercluster distance[J]. Theoretical Computer Science, 1985, 38: 293-306.

[13] GOMORY R E, HU T C. Multi-terminal network flows[J]. Journal of the Society for Industrial & Applied Mathematics, 1961, 9(4): 551-570.