论文部分内容阅读
传统电信网络已经无法满足互联网的需求,运营商开始通过网络功能虚拟化(Network Function Virtualization,NFV)转型。在NFV中,虚拟化网络功能(Virtual Network Function,VNF)运行在通用硬件平台上,降低了运营商的资本支出和运营支出,提高了网络的灵活性和伸缩性,有助于业务的创新和快速迭代。 VNF以模块化的方式进行构建可以减少冗余开发,提高效率,并且通过复用相同的功能模块提高资源利用率并减少延迟。资源管理是NFV的核心功能,用来对VNF进行部署、监控以及调度,模块化VNF在多核CPU下以模块为粒度进行资源分配,而现有的资源管理系统是以VNF为粒度进行管理,不适用于模块化VNF。 本文设计并实现了一个针对模块化VNF的资源管理系统,为用户提供资源的动态管理、实时监控以及调度。功能测试表明,系统能够支持模块粒度的资源动态管理以及实时监控;性能测试表明,NF内模块资源调度机制能够提升6%~26%的吞吐量,NF间资源调度机制能够提升50%的吞吐量。本文的主要技术贡献体现在以下几个方面: 1.扩展Click以支持资源动态管理,包括动态管理控制器和动态管理服务的设计和实现。动态管理控制器是系统的控制中心,负责用户交互、动态管理服务执行以及资源监控,采用单线程非阻塞模型来支持高并发访问,采用线程池技术实现动态管理服务的并行执行;动态管理服务包括NF动态管理、模块资源分配以及系统资源伸缩。 2.设计并实现了资源实时监控机制。监控指标包括系统指标以及VNF指标,支持用户自定义以及动态加载并执行监控指标配置文件;在监控服务器端实现了用户交互、客户端连接管理、数据请求以及数据持久化功能;在监控客户端实现了连接保持、数据采集功能;将开源的前端监控框架集成到系统中为用户提供可视化监控。 3.设计并实现了基于负载状态的多核资源调度机制。提出了一种模块负载计算方法,避免因丢包导致负载计算不准确;提出了一种NF间资源调度机制,保证NF分配的资源与其负载成比例;提出了一种NF内模块资源调度机制,避免CPU核负载分布不均导致性能下降。