APP下载

软件定义的云数据中心网络基础理论与关键技术*

2014-09-29刘方明郭得科黄小猛

电信科学 2014年6期
关键词:租户数据流数据中心

李 丹 ,刘方明 ,郭得科 ,何 源 ,黄小猛

(1.清华大学 北京 100084;2.华中科技大学 武汉 430074)

1 引言

现代社会信息量的爆炸式增长、资源复用技术的成熟和宽带网络的普及,共同促进了云计算的诞生和发展。以亚马逊公司的EC2、谷歌公司的AppEngine和微软公司的Windows Azure等为代表的云计算服务已经得到初步商用,使得云计算逐渐成为人们按需使用软硬件资源和进行大数据深度挖掘处理的新型计算模式。据统计,2011年全球云计算服务规模约为900亿美元。我国当前还处于云计算发展初期,但发展速度迅猛。工业和信息化部电信研究院2011年4月发布的《云计算白皮书》显示,虽然我国云计算服务的总体规模目前仅占全球市场的4%左右,但年增幅达到40%,未来潜力巨大。随着大数据时代的来临,作为大数据处理的重要技术手段,云计算的发展空间将更加广阔。

数据中心是云计算的核心基础设施。谷歌公司早在2006年年底就在全世界建造了能容纳超过46万台服务器的分布式数据中心。Facebook公司于2011年4月对外展示了其建造在俄勒冈的数据中心,其拥有数以万计的服务器,并在节能减排方面进行了示范。当前我国各地方政府积极建造数据中心以促成云计算产业落地,如呼和浩特云计算产业基地、南京软件开发云平台、镇江“云神”工程、无锡“云谷”等。中国电信、中国移动、中国联通等电信运营商,都在积极利用其IDC打造云计算战略。以百度、阿里巴巴、腾讯等为代表的互联网企业,也在大力发展云数据中心,以提供更好的云计算服务。

数据中心网络在云计算基础设施中具有关键地位。云数据中心网络是连接数据中心大规模服务器的桥梁,也是承载网络化计算和网络化存储的基础。云计算的核心价值在于大数据的集中处理和资源的统计复用。由于大规模云计算任务往往伴随着服务器之间的海量数据交互,数据中心网络性能的高低决定了云计算的服务质量。同时,由于网络资源天然存在的共享特性,如何让云计算用户实现安全而公平的网络访问,也是关系到云计算用户体验的重要因素。当前的主流云计算提供商都积极探索面向云数据中心网络的创新技术以提高云计算的服务质量。

2 云数据中心网络面临的挑战

随着云计算服务得到初步商用,云数据中心网络研究已经成为学术界和工业界共同关注的焦点领域,也是国家战略性新兴产业和重大基础设施建设的重要发展方向。云计算的可持续发展需求使得云数据中心网络面临着一系列重要科学理论与技术挑战。

(1)如何创建可定制的云数据中心网络基础设施,满足灵活多样的云计算应用需求?

云数据中心提供不同类型的云计算服务。公有云数据中心一般提供硬件或软件资源的租赁服务,私有云数据中心运行公司或部门内部所特有的网络业务,而混合云数据中心运行的业务类型更加灵活多样。比如,谷歌公司的云数据中心既提供前端面向用户的搜索服务,又运行后端的海量网页数据分析和挖掘任务。已有研究表明,由于当前的云计算任务往往伴随着服务器之间密集的数据交互,网络资源已经成为影响云计算服务质量的瓶颈资源。为了提高云计算的服务质量,非常有必要针对不同的应用需求对网络功能进行灵活配置。而云数据中心网络流量不可预测、网络设备可靠性低等环境特征,也对网络的可动态配置功能提出了需求。在主要应用于广域网的传统网络架构中,数据转发设备基于专用硬件芯片,因而可编程性很差;而控制协议都与数据转发设备绑定,难以快速配置灵活的网络功能。云数据中心网络的应用需求和环境特征,都为传统网络架构提出了严峻的挑战。

(2)如何优化云数据中心网络的资源利用率,提高云计算性能和服务质量?

云计算的核心价值之一在于资源的统计复用。在给定硬件设施条件下,尽可能通过软件技术来优化云数据中心网络资源利用率,既是云计算模式的内在技术需求,也是提高云计算性能和用户体验的外在需求。与传统的广域网环境相比,云数据中心网络环境具有流量不可预测、端到端带宽极高、端到端时延极低等不同的特点。已有研究表明,传统的网络协议(如路由协议OSPF)在链路资源密集的云数据中心网络环境下,不但无法充分利用链路资源,而且收敛速度极慢,难以满足云计算任务的高速数据传输需求;而在广域网上得到成功应用的数据传输协议TCP在云数据中心网络的高带宽环境下的运行效率也非常低,TCP incast问题甚至会使得网络带宽利用率低于10%,被称为“吞吐率坍塌”现象。

首席科学家

李丹男,清华大学计算机科学与技术系副教授,ACM、IEEE、CCF会员。2007年从清华大学获得博士学位,主要从事计算机网络方面的研究工作。在ACM SIGCOMM、IEEE INFOCOM、IEEE ICNP、IEEE/ACM Transactions on Networking、IEEE Journal on Selected Areas in Communications、IEEE Transactions on Computers、IEEE Transactions on Paralleland Distributed Systems等网络领域著名会议和期刊上发表论文 40余篇。担任国际期刊IEEE Transactions on Computers编委、IEEE LANMAN 2014程序委员会主席、IEEE LANMAN 2015大会主席、IEEE ICNP 2013 Poster/Demo程序委员会主席、IEEE INFOCOM 2010-2014程序委员会委员、国家重点基础研究发展计划(“973”计划)青年科学家专题 “软件定义的云数据中心网络基础理论和关键技术”项目首席科学家。

(3)如何解决云数据中心网络的多租户资源竞争,提供公平而且安全的云计算服务?

云计算环境下,多租户共同使用云数据中心的硬件资源完成计算任务,因此租户之间的资源安全隔离非常重要。虚拟化是当前实现云数据中心资源隔离的重要技术手段。通过计算虚拟化(虚拟机)技术,云计算租户可以实现计算资源的隔离和复用。通过存储虚拟化技术,既可以让用户使用海量的存储空间,又能保障用户数据的备份和安全。随着计算虚拟化和存储虚拟化技术的成熟,按需使用、按需付费的理念正在变成现实,并将成为未来人们使用云计算的主要方式。而当用户需要使用多个虚拟机时,虚拟机之间需要进行网络互联和通信,并组成了虚拟云数据中心网络。网络资源的天然共享特性,使得不同租户之间还将竞争网络带宽。由于网络虚拟化技术发展非常缓慢,在当前云计算服务商的云计算平台中,租户之间采用“尽力而为”的方式共享网络资源,每个租户得到的网络带宽不可预测,并存在流量泄露问题,严重影响了用户的云计算服务体验。

(4)如何降低云数据中心网络的巨额能耗,建设绿色数据中心?

云数据中心规模的不断增长导致了巨大的能耗开销,带来了巨额运维成本和环境问题,引起了学术界和工业界的高度重视。据工业和信息化部领导下的“云计算发展与政策论坛”发布的《数据中心能效测评指南》报告,2011年我国数据中心总耗电量达到700亿千瓦时,数据中心能耗占全国能源耗电总量的5%。国内数据中心目前的PUE值(数据中心消耗的所有能源与IT负载消耗的能源之比)普遍高于2.0,而欧美发达国家的PUE值大多在1.3左右甚至更低,因此我国当前数据中心的能耗浪费非常严重。未来5年我国云数据中心的流量处理需求将增长7~10倍,数据中心的能耗问题面临更加严峻的挑战。因此,如何对云数据中心网络进行有效的能耗管理、提高能源利用率、降低巨额能耗,具有重要的经济效益和社会影响,成为建设绿色数据中心迫切需要解决的问题。

以上4点是当前云数据中心网络所面临的主要问题。针对这4点,本项目提出利用近年来受到广泛关注的软件定义网络(software defined networking,SDN)来解决这些问题。

3 SDN对于云数据中心网络发展的意义

SDN是近年来涌现的新兴网络技术。SDN的核心思想主要有两点:第一,提高硬件平台的可编程性,可以快速实现新型网络功能的配置,满足灵活多变的应用需求;第二,将网络控制层面与数据转发层面分离,把软件控制功能放到网络管理器上,从而提高了网络的管理控制能力。对于SDN技术是否可应用于广域网环境,目前学术界和工业界还存在不少争议,但一般认为云数据中心网络是SDN技术的理想应用环境。创建软件定义的可定制云数据中心网络基础设施,是提高网络性能、实现多租户网络共享以及控制网络能耗的基本保障。美国斯坦福大学提出的OpenFlow协议是当前最具代表性的SDN协议。然而由于OpenFlow协议存在数据转发流程过于复杂、转发设备处理功能非常有限等问题,当前学术界正在积极探索其他可能的SDN架构。如何设计支持可软件编程网络节点和可扩展控制器的软件定义网络框架,并基于此框架实现云数据中心网络的大规模横向扩展,是本项目需要首先解决的重要挑战。

项目简介

“973”计划青年科学家专题“软件定义的云数据中心网络基础理论与关键技术”项目主要研究云数据中心环境下网络设计的科学规律与技术原理,探索软件定义的云数据中心网络架构,围绕“软件定义的云数据中心网络架构设计”、“云数据中心网络资源利用率优化”、“云数据中心网络多租户资源管理”和“云数据中心网络能耗协同控制”4个关键科学问题,为新一代云计算和互联网基础设施建设提供基础理论依据和关键技术支撑,推动网络技术、计算技术、数据科学等相关学科交叉融合发展,为我国战略性新兴产业发展提供具有自主知识产权的核心技术。由于融合了云计算、下一代互联网、大数据等领域的研究范畴,软件定义的云数据中心网络研究将促进我国新一代云计算及互联网基础设施建设和关键技术研发,对我国在国际新一轮信息技术革命浪潮中占据领先地位有非常重要的影响。

在软件定义的可定制网络框架下,如何设计新型路由和传输协议,以提高云数据中心网络的资源利用率并进而提升云计算的性能,是本项目需要解决的重要问题。软件定义的可定制网络架构,为网络资源、计算资源和存储资源的联合优化提供了新的发展机会。分布式网络系统的整体性能往往取决于不同子系统的资源耦合程度。由于软件定义的可定制网络架构将网络控制功能从网络转发设备中分离出来,可以通过网络控制器与计算系统控制器、存储系统控制器之间的信息交互,更好地感知应用需求和数据存储状况,并且对不同类型的资源进行协同控制,进一步提升资源利用率和云服务质量。因此,如何通过软件定义网络技术对网络、计算和存储资源进行联合优化,也是本项目面临的关键挑战。

在软件定义的可定制网络中,可以通过网络控制器维护全局网络拓扑信息、云租户的身份和位置信息、租户的资源占用信息等,为实现云数据中心网络的虚拟化管理提供灵活的控制平台。但多租户参与资源竞争的网络环境下,如何处理不同租户可能配置相同的IP地址或MAC地址的问题、如何保证每个租户的流量不泄露到其他网络、如何实现虚拟数据中心网络中高效率的虚拟机迁移、如何保障每个租户在共享网络中得到公平的带宽分配,这些都是本项目需要重点解决的问题。

由于硬件节能技术发展缓慢且受物理工艺极限的限制,而云数据中心网络流量呈现较大的随时间波动的特点,因此可以通过软件方式对云数据中心网络进行能耗感知的流量聚合,从而使更多的节点处于空闲状态并休眠,以达到降低能耗的目的。在软件定义的可定制网络框架下,网络控制器可以通过带外(out-of-band)方式获取云数据中心网络的温度和能耗信息、网络流量信息等,并以软件控制的方式进行流量整形 (traffic shaping)和聚合、网络的节能流量工程、节点休眠和唤醒状态转换等自动能耗控制。本项目将重点研究在软件定义的可定制网络中,如何实时高效地感知网络能耗信息、如何在不影响网络性能和可靠性的前提下实现节能流量工程以及如何优化使用清洁新能源进一步降低云数据中心的碳排量等重要问题。

4 主要研究课题

针对云数据中心网络所面临的重大挑战,本项目确立了4个研究课题,分别是软件定义的云数据中心网络架构、云数据中心网络资源利用率优化、云数据中心网络多租户资源管理和云数据中心网络能耗协同控制。这4个课题的逻辑关系如图1所示。

图1 逻辑关系

学术团队

“973”计划青年科学家专题“软件定义的云数据中心网络基础理论与关键技术”项目由清华大学和华中科技大学共同承担。主要参与项目人员有:李丹(清华大学副教授、项目首席科学家)、刘方明(华中科技大学副教授)、郭得科(华中科技大学副教授)、何源(清华大学副研究员)和黄小猛(清华大学副教授)。

下面分别对这4个研究课题进行介绍。

4.1 软件定义的云数据中心网络架构

复杂多样的云计算应用,要求云数据中心网络提供灵活可配置的网络功能。现有的数据转发设备采用专用硬件芯片,可编程性很差;而且控制协议与数据转发设备绑定,不具有开放性和灵活性。这些因素导致传统的云数据中心网络架构只能提供种类有限且提前预设的网络功能,难以按需定制并快速配置灵活的网络功能。为此,本项目研究软件定义的云数据中心网络架构,使得数据中心在部署之后,其网络功能和系统规模仍可按需定制和扩展。主要研究内容如下。

(1)软件定义的云数据中心网络基础架构模型

研究以可软件编程网络节点和可扩展网络控制器为核心的新型软件定义网络基础架构,在数据层面实现高速灵活的数据流定制处理功能,在控制层面实现计算、存储、网络资源的协同控制,满足云计算应用的特定网络控制需求。

(2)可软件编程的网络节点体系

研究通用计算单元辅助的可软件编程网络节点体系架构,实现网络节点功能的自由定制和重配置,并在服务器端通过转发芯片引入数据转发功能。

(3)可扩展的软件定义网络控制器

研究在大规模数据中心通过软件控制平台实现网络功能灵活定制所面临的扩展性难题,通过分布式网络控制器以及网络节点和网络控制器的协同工作,提高网络控制器的扩展能力。

(4)云数据中心网络拓扑横向扩展方法

基于软件可编程网络节点及具有数据转发功能的服务器节点,研究数据中心网络拓扑的横向扩展方法,实现服务器和网络节点的渐进高效互联。

4.1.1 软件定义云数据中心网络的设计原理与基础架构

作为云计算的基础设施,数据中心往往由独立机构统一建设和运营。为了提高各类云服务的性能和收益,云计算提供商可根据应用需求定制网络架构和协议,并对用户自定义的网络功能进行灵活的实现。作为当前最具代表性的软件定义网络协议,OpenFlow协议将网络控制层面与数据转发层面分离,通过一个集中式网络控制器完成新数据流的转发控制,而交换机仅依照网络控制器的指令对数据流实施具体的转发操作。OpenFlow协议在一定程度上能够满足对云数据中心网络数据流进行转发控制的需求。但OpenFlow协议仅能在网络节点的硬件层面支持数据流简单处理逻辑的重配置,难以支持很多应用在数据流传输过程中需要进行自定义深度处理(如数据流缓存、数据流网内处理等)的功能。

通过分析云数据中心网络的应用需求和网络环境特征,本项目拟研究软件定义云数据中心网络的设计原理,并提出支持可软件编程网络节点和可扩展控制器的软件定义云数据中心网络基础架构,作为新一代云数据中心网络管理和网络创新的平台。基本思路是设计可软件编程的网络节点,不仅满足对数据流转发控制逻辑的重配置,而且能通过引入通用计算单元在数据面实现用户对数据流的定制分析处理。同时,设计可扩展性强的软件定义网络控制器,能够和云数据中心计算系统控制器及存储系统控制器协同工作。网络控制器不仅需要对数据流从网络资源管理和利用的角度进行转发控制(例如路径优化、负载均衡、安全机制),还需要具备对网络、计算和存储资源进行协同控制的能力,实现来自应用层的特定网络控制需求。最后,针对云数据中心网络节点的大规模扩展需求,研究如何基于软件定义网络基础架构实现云数据中心网络的大规模横向扩展。

4.1.2 可软件编程的云数据中心网络节点

现代云数据中心为降低设备成本,往往采用商用低端服务器和交换机。但当前的数据中心交换机普遍采用单个交换集成电路,难以支持可定制的云数据中心网络需求。首先,其转发表容量太小导致难以对数据中心海量数据流进行细粒度的转发控制,其稀缺的片上缓存也无法应对TCP incast等突发流量。其次,越来越多的云计算应用迫切要求对数据流在传输过程中进行灵活惊喜的处理(如数据流缓存、数据流网内处理等),但现有数据中心交换机仅能在硬件层面支持数据流简单处理逻辑的重配置,无法响应用户对数据流的自定义处理需求。

本项目研究通用计算单元辅助的可软件编程网络节点体系,使得网络和计算资源更加紧密地联系起来,并实现有效的网络控制。其基本思想是基于已有的高速的PCI-E交换系统,采用计算能力强大的通用CPU和DRAM内存来辅助传统的网络节点,从而使CPU参与控制面和数据面的流量深度处理。该网络节点体系能以软件方式提供更大的转发表容量,提供充足的数据流缓存空间以应对突发流量,并可借助CPU及DRAM内存对数据流在传输过程中实现用户自定义的数据处理功能。

此外,考虑到网络设备和计算设备呈现出融合发展的趋势,本项目还研究如何将商用的交换ASIC部件集成到服务器的NIC板卡,并通过PCI-E交换系统实现交换部件和计算机CPU的高速互联。这种设计为传统服务器节点带来了额外的网络功能,使其可参与数据中心的互联和数据转发,扩展了云数据中心网络互联拓扑的设计空间。

4.1.3 可扩展的软件定义网络控制器

网络控制器随数据中心规模增长的扩展性问题,是制约软件定义云数据中心网络的主要性能瓶颈之一。由于单个网络控制器有限的处理能力以及稀缺的可用安全控制信道难以对数量庞大且不断增长的数据流实现按需转发控制,本项目拟研究以协作方式管理网络的可扩展控制器。

首先,由网络节点根据掌握的局部网络状态协助网络控制器完成大部分数据流的转发控制,而网络控制器仅对云计算应用特别关注的数据流制定转发控制策略。这种协作机制可降低网络控制器的负载,进而大幅提升单个网络控制器的可扩展能力。依据云数据中心典型应用的数据流传输规律,网络节点根据数据流的应用层语义将其发给网络控制器,并由网络控制器结合应用层对流量传输的控制需求(例如流量的协同传输和聚合等)制定相匹配的转发控制策略。

其次,采用分而治之的思想研究分布式网络控制器的协作机制,实现逻辑上集中而物理上分布的网络控制器。结合云数据中心的互联拓扑结构,研究多个网络控制器在大规模数据中心的协同部署方法,并根据网络流量的动态变化情况,探索网络流量在多个网络控制器之间的分配方法,使网络控制器均衡地分担流量转发控制任务。

4.1.4 云数据中心网络拓扑的横向扩展方法

随着用户对计算和存储服务需求的日益增长,云数据中心需要通过特定结构的网络拓扑来互联更多的网络节点和服务器,以实现大规模横向扩展。基于可软件编程网络节点和可扩展控制器的软件定义网络架构,为云数据中心网络拓扑的横向扩展提供了新的设计空间。

首先,具有数据转发功能的服务器节点可直接参与网络互连和路由,增强了以服务器为核心的云数据中心网络横向扩展架构。这类服务器都具有多个网络接口,并在扩大网络规模时用于服务器之间的互联,以层次迭代方式实现网络拓扑的横向扩展。但由于在云数据中心规模扩展过程中,不同时期采购的服务器具有异构的硬件资源配置,不同服务器的软硬件处理功能大不相同。本项目拟基于软件定义网络架构,研究如何灵活配置异构服务器的网络转发控制功能,充分利用服务器的硬件资源,提高网络性能。

其次,基于可软件编程的高密度网络节点,可构造扁平化互联结构来连接大量的网络节点,形成以网络节点为核心的数据中心网络横向扩展拓扑。需要研究在云数据中心的规模和网络节点端口数给定时,每个网络节点的端口分配使用策略,即预留多少端口用于网络节点之间的级联,而其他端口用于服务器的接入。由于云数据中心网络中网络节点和链路的故障率非常高,可以通过软件定义网络架构,实时感知网络故障,并及时更新配置网络节点的转发控制功能,保障云数据中心网络正常工作及网络资源的充分利用。

4.2 云数据中心网络资源利用率优化

为了提高云计算的性能和服务质量,需要在给定硬件资源条件下,通过软件技术优化云数据中心网络的资源利用率。在软件定义的可定制网络架构下,本项目研究云数据中心网络的创新路由协议和传输协议,提高密集链路资源和高速带宽资源的使用效率;通过对网络、计算和存储资源的联合优化,进一步提升云计算性能。主要研究内容如下。

(1)云数据中心网络多路径路由协议

研究适用于链路资源高度冗余的云数据中心网络的多路径路由协议,由软件控制器计算优化的路由路径,充分利用云数据中心网络的密集链路资源,提高云数据中心网络链路的利用率。

(2)基于编码的云数据中心网络传输协议

研究基于编码的网络传输协议,避免TCP incast等问题导致的“吞吐率坍塌”现象,通过新型编码方式确保数据传输的可靠性并提高带宽资源利用率。

(3)网络资源与计算资源的联合优化

针对广泛使用的分布式计算框架,研究大规模数据流的高效聚合方法,大幅降低分布式计算任务中间结果的传输量,提升网络吞吐率和云计算任务的处理效率。

(4)网络资源与存储资源的联合优化

研究基于云数据中心服务器泛在缓存的新型存储系统,以软件定义网络架构下的新型内容路由方式,动态灵活地实现数据共享,减少数据访问的平均网络路径长度并避免数据热点,从而提高网络吞吐率。

4.2.1 云数据中心网络多路径路由协议

云数据中心网络的链路资源密集,任意两个服务器或网络节点之间可能存在几十条甚至上百条不同的等价路径,因此传统的链路状态路由协议(如OSPF)在云数据中心网络中对链路资源的利用率极低。此外,由于云数据中心网络规模大、链路时延低,传统路由协议的收敛速度也无法满足云数据中心网络高速数据业务的需求。

本项目拟在软件定义网络架构下,研究云数据中心网络多路径路由协议。其基本思想是充分利用云数据中心网络中链路密集、路径冗余度高的特征,采用多条路径同时传输一个数据流。以显式路径标识的方式配置路由表并进行路由转发。网络控制器实时感知网络拓扑信息,根据所有链路可能的组合计算路由路径,为每一条路径显式分配标识,并存储在相应的网络节点转发表中。最大的挑战在于云数据中心网络链路资源密度高导致可能的路径数量非常庞大,因此对网络节点的存储能力提出了很高的挑战。但由于大量路径具有冗余性,可以对基于显式路径标识的路由条目进行有效压缩,还可以进一步利用布隆滤波器(bloom filter)等技术增强压缩效果。

在基于显式路径标识的云数据中心网络路由协议下,服务器发出的分组直接携带路径标识信息,网络节点根据路径标识进行路由转发,而无需检查分组的目的地址,因此可以方便地进行多路径路由。在可软件编程的网络节点上,可以对分组转发字段及其转发规则进行灵活的配置,因此很容易部署基于显式路径标识的路由协议。采用基于显式路径标识的多路径路由方式,还有利于对网络故障进行诊断和恢复,提高网络的可管理性和可控性。

4.2.2 基于编码的云数据中心网络传输协议

由于云数据中心网络的端到端带宽非常高 (1 Gbit/s甚至10 Gbit/s以上)、而端到端时延非常低(微秒级别),已有研究表明,传统的数据传输协议TCP在云数据中心网络中的TCP incast问题会产生“吞吐率坍塌”现象,导致带宽资源利用率降到10%以下。因此需要设计适用于云数据中心网络的新型端到端传输协议,以提高云数据中心网络带宽资源利用率。

本项目拟研究基于编码的云数据中心网络传输协议。通过适度的数据冗余保证数据可靠传输,而不需要对丢失的分组进行重传,因此可以有效避免“吞吐率坍塌”问题。已有的某些可删除码 (erasure code)技术如Reed-Solomon编码,可以从任意恰好等于源数据大小的编码数据中恢复出原始数据,而不引入额外带宽,因此其带来的数据冗余度非常低,但其挑战在于较高的编解码负担。而数字喷泉编码(digital fountain code)虽然会引入一些额外带宽,但其编解码的代价较小,而且编解码操作比较简单,只需要异或操作即可实现,通常可在线性时间内完成。针对软件定义的网络架构,本项目拟选择数字喷泉编码作为云数据中心中心网络传输协议的编码技术,适度引入数据冗余来实现高效率的端到端数据传输。

端到端传输协议必须考虑数据流之间的公平性。本项目拟借鉴TCP-friendly的技术思想来保障传输协议的公平性。目前已有的TCP-friendly方案中,按照其实现拥塞控制手段的不同,可以大致分为“基于窗口”和“基于速率”两大类。前者借鉴TCP的思想,同样使用一个拥塞窗口实现公平性。后者通过某种反馈机制获取网络的拥塞信息,并根据网络的拥塞状况实时地调整发送速率。某些方案通过模拟TCP窗口调整发送速率,而另一些方案则通过某种特定的模型调整发送速率。不管是基于窗口的拥塞控制机制,还是模拟TCP基于速率的拥塞控制机制,其实质与TCP一样,都会造成典型的“锯齿形”流量,不能有效利用云数据中心高速网络带宽。而基于模型的拥塞控制机制却能得到较为平滑的速率变化,因此更适合云数据中心网络中连续的大数据传输。因此,本项目将重点研究基于模型的端到端拥塞控制机制。

4.2.3 网络与计算资源的联合优化

云数据中心根据其支持的云计算应用需求,配置有多种计算框架以处理庞大的数据,如 MapReduce、Dryad、Pregel等。这些计算框架普遍采用流式计算模型,导致相邻处理阶段传输大量的中间计算结果,不仅消耗大量的网络资源而且严重制约计算任务的总体完成时间。多对一(incast)通信和多对多(shuffle)通信是这些计算框架下最重要的流量传输模式,占据了云数据中心80%左右的流量。

incast通信的多数据流之间的相关性及其在共同接收方的聚合性,可为incast通信提供流量优化空间。聚合操作能大幅降低数据传输量,进而降低对稀缺带宽资源的消耗。针对云数据中心网络拓扑结构,本项目拟研究任意服务器之间的多径路由方法,并据此通过网络控制器实现基于协同传输的流量聚合。通过流量协同聚合,参与每个incast通信的看似独立无关的单播数据流在其传输过程中都尽可能早地执行流间聚合操作,而不用等到接收方对全体数据流统一进行数据聚合操作。软件定义网络控制器可基于云数据中心网络拓扑结构和任意的incast通信流量,构造传输代价最小的incast通信树,并据此控制incast通信树中承担流量聚合的可软件编程网络节点为该incast通信实施流量聚合操作,实现网络和计算资源的联合优化。

4.2.4 网络与存储资源的联合优化

云数据中心依赖分布式存储系统如GFS/HDFS来管理大规模服务器的数据存储。通常云数据中心包含数以万计甚至十万计的服务器,而在典型的分布式存储系统中,一个文件只有3个副本。大部分情况下,客户端请求的文件副本都存储在较远的服务器上。在横向扩展的云数据中心网络架构下,数据中心网络拓扑都具备明显的层次化特点。因此可以利用服务器的空闲磁盘空间,对读取的数据进行缓存,大大增加每个文件的副本数量。这种泛在缓存的存储系统优化方法,不但可以大大减小每个数据流的平均网络路径长度,还可以减少数据热点,从而增大数据中心的网络吞吐率,并提高分布式存储系统的性能。在软件定义网络框架下,网络控制器和存储控制器可以进行有效的交互,从而实现高效的联合优化,在不增加链路和带宽资源的前提下,通过软件实现网络容量提升。

为了实现基于泛在缓存的分布式存储系统优化,需要解决两个问题:一是在服务器端提供缓存服务,二是在网络节点上实现基于内容的路由转发协议。本项目的初步思路如下。

在每个服务器上运行一个守护进程提供缓存服务。缓存服务作为中间层运行在应用程序和分布式存储系统之间,并且对它们透明。每个缓存服务进程既负责为本地应用寻找距离最近的文件副本,也负责响应来自于其他服务器的数据请求。当应用程序向存储系统发送数据请求后,本地缓存服务会中断此请求,并尝试从最近的缓存服务器获取所需要的数据;如果无法找到这样的缓存服务器,再从原始服务器获取数据并返还给应用程序,同时在本地进行缓存。

可软件编程的网络节点利用横向扩展云数据中心网络拓扑的层次化结构特点,在不确定目的缓存服务器具体位置的情况下,通过自定义的内容控制协议把数据请求转发到最近的缓存服务器,并更新网络节点的内容转发表。考虑到网络节点的高速转发表容量有限,不可能容纳数据中心所有数据的内容转发表项,因此还可以结合基于位置的转发机制。当数据请求的内容不在内容转发表中时,网络节点根据请求数据的原始服务器地址进行路由转发。

4.3 云数据中心网络多租户资源管理

为了提供安全的云计算服务,必须对不同租户的网络资源进行有效隔离,避免流量泄露。基于软件定义的可定制网络,本项目研究“大二层”网络的资源虚拟化隔离方案和虚拟机的智能迁移;进一步研究多租户网络资源的公平共享和合理计价,保障租户的虚拟网络性能。主要研究内容如下。

(1)软件定义的虚拟云数据中心网络隔离

研究在新型软件定义网络框架下,基于分组插入/删除/改写等操作来解决不同的云租户可能使用空间重叠的二层地址的问题,避免不同虚拟网络之间的流量泄露,并减少对数据中心网络节点的转发表容量需求。

(2)优化网络整体开销的虚拟机智能迁移策略

研究通过软件控制器动态感知的数据中心网络流量状况,结合云数据中心虚拟网络计算资源和带宽资源的总体开销,实现优化网络开销的虚拟机实时迁移。

(3)异构资源请求的多租户网络资源分配

研究实际云计算应用中用户不同的虚拟机角色导致的异构资源请求的分配问题,通过网络控制器实现通用网络拓扑中的实时高效虚拟网络资源分配。

(4)与资源分配解耦的虚拟网络计价机制

(5)与资源分配方法无关的虚拟网络公平计价机制

研究该机制,不但最小化租户付出的费用,而且通过计价机制的激励策略提高云数据中心资源利用率,进而提升数据中心运营商的总体收益。

4.3.1 软件定义的云数据中心虚拟网络隔离

云数据中心虚拟网络隔离是实现云数据中心安全的重要手段。本项目拟研究软件定义的虚拟网络隔离技术,主要解决虚拟数据中心网络的二层地址空间重叠、广播报文的泄露以及网络节点转发表容量限制等问题。

本项目拟采用以下方案来实现云数据中心虚拟网络隔离。

(1)源虚拟机所发出的分组中,把以太网头部的VLAN字段复用为租户ID,以解决相同物理主机上的不同用户可能具有相同MAC地址的问题。由于VLAN具有12 bit,而同一物理服务器上所能容纳的虚拟机数量远小于4 096,因此VLAN字段足以对相同服务器上的不同租户进行区分。出于安全考虑,一般不允许不同租户之间进行互相通信,因此源虚拟机和目的虚拟机总是使用相同的租户ID。

(2)通过入口网络节点的MAC-in-MAC封装,把用户虚拟机的原始MAC地址封装在分组头内部,不用于二层网络转发。只用大二层网络中的物理网络节点的MAC地址进行分组转发。据此,不但可以解决全网范围内不同用户的虚拟数据中心网络可能具有相同MAC地址的问题,还大大减少了对网络节点转发表项容量的要求。

(3)把外层以太网头部的VLAN字段复用为出口网络节点的连接目的服务器的接口号,使得出口网络节点在接收分组之后,可以正确地转发给连接的目的物理主机。

软件定义网络控制器主要提供两个功能。第一,根据内层以太网头部的信息,映射得到外层以太网头部的信息。网络控制器维护全网拓扑以及每个租户的虚拟机MAC地址和位置。因此很容易根据内层以太网头部提供的租户ID和目的MAC地址信息,得到内层以太网头部需要的出口网络节点及其转发接口的信息。第二,根据外层以太网头部的源MAC地址和目的MAC地址信息,灵活配置分组的转发路径,实现负载均衡,提高网络资源利用率,并可以根据数据中心的安全策略需求,配置分组所需要经过的防火墙、IPS、IDS等安全设备。

拟设计的虚拟数据中心网络隔离方案不需要修改服务器的网络协议栈,而只需要对虚拟机进行适当修改。利用可软件编程网络节点具有灵活定义分组头部格式,并根据分组头部的不同字段进行灵活转发的技术特点,实现虚拟网络隔离并把分组成功传送到目的服务器。对于广播和多播报文,可以同样实现虚拟网络隔离,因为目的服务器会根据租户ID信息把广播或多播报文递交给相应虚拟数据中心网络的所有虚拟机,而不会泄露给其他租户的虚拟数据中心网络。

4.3.2 优化网络整体开销的虚拟机智能迁移策略

在云数据中心的大二层网络中,虚拟机可以根据应用需求在用户的虚拟数据中心网络内部进行安全的迁移。当前云数据中心网络的虚拟机迁移方案主要只考虑物理服务器上的虚拟机槽位使用情况。为了提高用户的计算性能并减少数据中心运营商的网络开销,设计更加灵活智能的虚拟机迁移策略非常必要。

虚拟数据中心网络的开销包含计算资源开销和带宽开销两部分。为了设计优化虚拟数据中心网络开销的虚拟机迁移方案,需要网络控制器能够感知虚拟机之间的通信流量或带宽需求。虚拟数据中心网络的整体开销优化不简单等同于带宽资源的优化,也与数据流的路由选择有关系。特别对于弹性流,即带宽是瓶颈资源而非计算速度的数据流来说,不同的路由选择将会影响数据流的网络吞吐率,从而进一步影响虚拟数据中心网络的虚拟机占用时间,即计算资源的开销。本项目拟首先分析虚拟网络流量矩阵,建立模型并最小化虚拟网络的传输流量;然后根据软件定义网络控制器维护的数据中心网络拓扑来调整虚拟数据中心网络的路由选择,并优化网络整体开销。

虚拟数据中心往往运行数据密集型计算任务。为了结合计算应用的特点进行网络开销优化,可通过网络控制器与计算控制器之间的信息交互,实现优化全局网络开销虚拟机的灵活智能迁移。该方案不需要改动已有的网络控制器与计算控制器,而只需要增加额外的管理模块,通过在协议栈中断已有控制器的接口即可完成所需功能,因此有利于在云数据中心网络中进行实际部署。网络控制器可以根据服务器的负载状况作出路由调整,计算控制器也可以根据网络状况变化来调整虚拟机的迁移方案。

4.3.3 异构资源请求的虚拟数据中心网络资源分配

当租户提交任务请求之后,云数据中心运营商需要为其分配虚拟数据中心网络资源。当前的云数据中心网络资源分配方式只考虑虚拟机数量和位置,而对网络带宽完全采用“尽力而为”的方式进行共享,因此造成租户的网络性能难以预期,严重影响云计算的服务质量。

本项目拟研究满足网络带宽保障的虚拟数据中心网络资源分配方法,尤其针对异构资源请求的情况。在实际的云计算任务中,由于租户的虚拟机往往运行不同功能的应用程序,其资源需求具有异构特征。租户提出请求后,运营商根据数据中心网络的剩余资源分布情况来判断请求是否可以得到满足。如果可以得到满足,该请求将被接受,并分配对应的虚拟机和网络带宽资源;若不可以得到满足,运营商将拒绝租户的请求。对于异构资源请求,虚拟机之间并不对等。因此不仅要关心为某个网络节点分配的虚拟机数量,还需要具体指定分配哪些虚拟机。如果租户的请求可以被满足,还需要按照分配方式在链路上预留带宽。

本项目拟考虑通过“任务时移”与“带宽压缩”的方法进行高效的云数据中心网络资源分配。任务时移是指延迟任务的启动时刻,其主要目的在于缓和任务需求的高峰。考虑到当前数据中心网络负载呈现出昼夜变化规律,通过任务时移可以把白天到达的高负载计算任务转移到夜晚运行。而带宽压缩的目的则是平衡虚拟机资源与网络资源。带宽压缩不仅可以更好地利用数据中心网络链路的碎片带宽,同时也能使虚拟机的分配更加集中化,从而进一步节省带宽资源。

4.3.4 与资源分配解耦的虚拟网络计价机制

云数据中心运营商根据租户使用的资源向其收取费用。当前云数据中心主要根据租户实际使用虚拟机资源的数量和时间来进行计价,不但不考虑网络资源,而且租户付出的开销取决于云数据中心运营商的资源分配算法,这并不合理。

本项目拟研究与资源分配解耦的虚拟网络计价机制。租户提交云计算应用请求之后,运营商即根据用户所提交任务请求的虚拟网络资源进行计价。因此,计价只取决于租户提交的任务的特点,而与其在云数据中心网络中的实际资源分配方法无关。通过这种计价方式,把收费机制与数据中心运营商的资源分配算法进行解耦。云数据中心运营商可以着力于改进资源分配算法并提高数据中心的资源利用率,从而接受更多的租户请求;而租户则在满足服务需求的前提下,尽可能地提交能够最小化开销的虚拟资源请求。

考虑到云数据中心存在多种不同类型的资源,为了鼓励租户提交有助于提高数据中心资源利用率的任务请求,运营商还可以对有利于云数据中心资源分配的租户请求提供计价折扣激励。根据不同的资源类型组合,运营商期待租户提交的任务描述形式也会不同。比如,运营商总是希望租户所提交任务中的虚拟机资源与带宽资源的比例正好与云数据中心网络的虚拟机资源与带宽资源的比例相匹配,因此可以最大化云数据中心资源的利用率。

4.4 云数据中心网络能耗协同控制

为了大幅降低云数据中心网络能耗并建设绿色数据中心,需要从多维度进行数据中心网络能耗的协同控制。本项目在软件定义网络框架的基础上,研究网络能耗的实时感知方法,通过网络控制器进行面向节能目标的流量工程控制,实现云数据中心的多能源优化。主要研究内容如下。

(1)基于传感网的云数据中心网络能耗感知

研究基于无线传感网的云数据中心网络能耗实时感知方法,并据此测算数据中心节点、局部网络和全网的能耗状态,为网络控制器建立节能策略提供能耗信息依据。

(2)软件控制的节能流量工程

研究在保障网络可靠性和实时流量调度前提下,以软件控制的方式实现节能流量工程,使尽可能多的网络节点和链路进入低功耗状态。

(3)应用感知的云数据中心网络节能方法

协调单纯以降低网络传输开销等为目标的应用层流量控制和单纯以节能为目标的流量共层方案之间的潜在冲突,在实现应用层的流量传输控制策略的基础上,最大化网络层面的节能效果。

(4)面向清洁能源的云数据中心多能源优化方法

研究利用包括清洁能源在内的多种供能资源的互补优化方法,为具有动态能源需求的数据中心提供可靠能源,同时最小化云数据中心运营商的长期运维成本。

4.4.1 基于传感网的云数据中心网络能耗感知

对云数据中心的服务器和网络节点进行能耗实时感知和反馈,既可以有效探测云数据中心的高能耗设备从而进行故障排除,还可以将数据中心的温度(比如调节数据中心的空调)和能耗控制在最合适的范围,保证云数据中心在不影响服务性能的前提下运行在功耗最低的状态。云数据中心网络设备的能耗感知信息可以以“带外”方式接入云数据中心的网络控制器,为通过软件定义方式控制云数据中心网络能耗提供了重要决策信息。

本项目拟研究基于无线传感网的云数据中心网络实时能耗感知方法,感知随计算任务动态变化而不断迁移的温度热点和高能耗点。首先将传感网部署的优化算法与随热点迁移的自演化机制相结合,提出自演化的传感网节点部署算法,对云数据中心网络进行实时能耗感知。然后,针对能耗感知数据传输的实时性和可靠性要求,研究如何解决并发传输导致的信道冲突问题以及如何应对无线链路质量的动态性问题。

将无线传感网感知的实时能耗信息进行收集之后,网络控制器对能耗进行分析以提供实时反馈控制,保障云数据中心网络在低功耗状态下有效运行。本项目拟重点研究通过异常事件实时检测方法进行过热预警,保证各服务器不会因为过载导致数据和硬件损失;研究能耗精确估算方法,在收集感知数据的基础上相对精确地测量和估计云数据中心网络全局或局部的能耗,为建立精确的节能策略提供信息支撑。

4.4.2 软件控制的节能流量工程

在软件定义的可定制网络框架下,网络控制器在收集到的云数据中心网络节点的温度、能耗、网络流量等信息基础上,以软件控制的方式实现节能流量工程,使尽可能多的空闲网络节点和链路进入低功耗状态。

本项目拟采用如下技术路线以实现软件控制的云数据中心网络节能流量工程。

(1)网络控制器在数据中心网络全局拓扑中抽象出一个覆盖全部入口网络节点和部分中转网络节点的节能拓扑。节能拓扑上所有节点和链路始终处于工作状态,因此可以保证云数据中心所有服务器能够通过节能拓扑实现互联。网络控制器以自定义控制的方式,将流量聚集到节能拓扑上,使尽可能多的节能拓扑以外的网络节点和链路可以进入低功耗状态。

(2)网络控制器为云数据中心网络每个网络节点分别计算对应全局拓扑的到达目的主机的最短路径、对应节能拓扑的到达出口网络节点的节能路径。

(3)云数据中心网络节能拓扑上的每个网络节点定期搜集节能拓扑链路的负载状况并通过网络通告网络控制器,网络控制器为每个入口网络节点的新数据流从备选路径中进行最小化网络能耗的路径选择。

在此研究方案下,关键挑战在于流量调度算法的设计。网络控制器如何为入口网络节点处的每条流选择路径(从备选路径中进行选择),将直接影响节能流量工程的整体节能效果。若网络中数据流的数目为N,则所有可能的流调度方案总共有2N种。即使在已知全局流量矩阵的情况下,求解最优调度方案的时间复杂度也随网络规模呈指数增长。实际上云数据中心网络的数据流数目多而且变化迅速,如何快速获取精确的网络流量矩阵同样是一个较大的挑战。为此,本项目拟进一步研究网络控制器和入口网络节点协同的节能流量工程机制,通过分布式机制在入口网络节点处实现空闲链路带宽分配和路径切换机制。

4.4.3 应用感知的云数据中心网络节能方法

软件控制的节能流量工程机制虽然能够降低云数据中心网络内部流量传输导致的网络层面的能耗开销,但是由于网络控制器不能获知数据流的应用层控制语义,导致为数据流制定的节能转发控制策略往往无法兼顾应用层的其他特殊考虑。为此,本项目拟进一步研究应用感知的云数据中心网络节能机制,以实现在应用层流量传输控制的基础上降低数据中心网络设备层面的能耗。

为了实现计算和网络性能优化,往往要求对云数据中心网络某些应用的数据流进行特定的路由选择和聚合处理,特别是多对一的incast通信和多对多的shuffle通信。网络控制器通过与计算控制器的交互,获取应用层的流量路由选择策略。在满足应用层计算性能和特殊流量聚合要求的前提下,网络控制器再从网络节能层面设计最小化网络能耗的流量转发控制策略,并配置到网络节点。该机制的主要研究挑战在于如何实现既满足应用层语义的流量性能又满足网络层节能需求的多目标优化。

4.4.4 面向清洁能源的云数据中心多能源优化方法

为了降低能耗并建设绿色云数据中心,运营商通常会为云数据中心供能系统配备多种类型的能源,包括价格随时间波动的电网、有限容量的不间断储能电源、具有间歇性且由不稳定电力供应的清洁新能源等。多能源供应系统的主要挑战在于如何以一种优化互补的方式利用多种供能资源,为具有动态需求的云数据中心用户提供可靠能源,同时最小化云数据中心运营商的长期运维开销。

云数据中心的负载变化可能不符合任何稳态分布,导致云数据中心的能源需求动态随机变化。此外,新能源供电量的不可预测性增加了能源总体供应的不稳定性。这使得传统的优化模型和算法,如动态规划或者马尔可夫决策过程,需要大量的关于能耗需求和能量供应的信息或者分布概率,而且其复杂度会随着系统变量的维数增加而呈指数级增长。因此,为了设计不需要预测系统信息的在线控制方案,本项目拟运用两阶段李雅普诺夫优化技术最优化框架,设计一种实用的并可证明有效的在线云数据中心供能系统控制方案。该方案不需要预先获得系统负载、电价和新能源可用电量等数据信息,以一种多源供能互补协作的方式应对随机变化的能耗需求、不稳定的新能源供应和波动的电价。

6 结束语

软件定义网络由于自身方便编程配置、易于管理控制等特点,应用于云数据中心可以解决现有云数据中心网络中存在的体系结构僵化、网络资源利用率低、多用户网络资源分配不均、网络中心能耗过高等问题,是未来云数据中心网络发展的主要方向。由于融合了云计算、下一代互联网、大数据等领域的研究范畴,云数据中心网络技术发展符合我国科技发展的重大战略需求,并将成为我国战略性新兴产业的重要发展方向之一。

猜你喜欢

租户数据流数据中心
酒泉云计算大数据中心
浅析数据中心空调节能发展趋势
汽车维修数据流基础(上)
多租户数据隔离及加密研究
汽车维修数据流基础(下)
基于多租户隔离的云安全建设
关于建立“格萨尔文献数据中心”的初步构想
基于MVC模式的多租户portlet应用研究*
基于数据流聚类的多目标跟踪算法
基于云计算的交通运输数据中心实现与应用