用虚拟化技术改善网络基础设施服务

时间:2022-07-31 12:04:11

用虚拟化技术改善网络基础设施服务

摘 要:针对一些网络设备在设计时面临的技术和市场挑战,讨论了应对网络设备挑战的几种解决方案,如调整软件适应多处理器平台,超虚拟化技术以及全透明实时虚拟化技术。着重探讨基于Intel虚拟化技术的实时虚拟化软件解决方案是如何简化这样的挑战以及与其他解决方案相比,基于Intel虚拟技术的实时虚拟技术解决方案的优势。应用结果表明,该方案可行且高效。

关键词:网络基础设施; 多核处理器; 均衡多处理器; 虚拟化技术

中图分类号:TP393 文献标识码:B

文章编号:1004-373X(2010)10-0140-03

Service of Network Infrastructure Improved byVirtualization Technology

LI Fang-she

(Beijing University of Civil Engineering and Architecture, Beijing 100044, China)

Abstract:Several solutions to address the challenges from network device are doscissed, such as adjustment of the existed. software for multi-core processor platform, para virtualization technology and full transparent real-time virtualization technology, aiming at the challenges from technology and market in the design of network device.The methods of simplifying the challenges byreal-time virtual software solution based on Intel virtualization technology,and theadvantages of real-time virtual software solution by comparing with other solutions are discussed. The result of application shows that the solution is feasible and effective.

Keywords:network infrastructure; multi-core processor; symmetric multi-processor; virtulization technology

电信运营商通常要求网络设备制造商为其提供的设备要能处理更多的呼叫,又要消耗较少的功率,并且要支持越来越多的增值服务。以往,通过增加处理器的处理能力,或者提高设备密度来满足这些需求。随着硬件技术的发展,现在利用多核处理器就可以实现更高的密度、更强的处理能力而且功耗更低。这里首先分析网络设备设计遇到的挑战,然后介绍应对的措施。

1 网络设备设计面临的挑战

1.1 降低运营商的成本

每个移动电话运营商都需要部署很多天线以提供有竞争力的地理覆盖。天线需要基站(BTS)运作。从经济上考虑,一个运营商和其他运营商分担公共基站成本而不是建造自己的基站是明智的。多个运营商之间共享一个基站就要求能够在惟一的基站上安全地响应不同的运营商,要求每个运营商保持完全控制和管理他们自己的那一部分。换而言之,不同运营商使用的软件必须安全地彼此隔离,必须严格地加强访问共享或公共资源的规则,一个共享资源潜在的故障不能危及其他共享资源提供的服务。

强大的硬件允许处理更多的呼叫,支持更多的最终用户和更大的流量,因此在一定流量下可减少处理所需板子的数目,也就意味着降低了功耗。现在,提高处理器速度不再依赖增加功率,而是通过多核处理器和均衡多处理(SMP)刀片。但是,该技术的进化给软件设置了新的约束,例如在SMP硬件之上或当核数增加时运行软件的伸缩问题。

1.2 为终端用户提供增值服务

传统电话系统(POTS)已经稳定运行了数年,它和IP网络融合存在一些新问题。IP族协议是面向通用操作系统如Linux而开发的,而电话信令软件主要基于专用实时操作系统(RTOS)。融合和产品面市时间要求其能够遵从IP相关协议的进化,在原有的OS中集成IP协议栈没有负担。同时,还要利用原有OS中已实现的信令协议。

移动电话设施在几年中已经历了:从GSM到GPRS到UMTS到HSDPA及更远(LTE, 4G,…),为终端提供了更高的带宽,提供了传输高质量多媒体流和其他增值服务。新设计设备必须以无成本或很低的成本利用已有软件,同时要能适应网络设施的未来进化。

在用户终端提供新的用户服务不仅要求强大的内容提供服务器,而且要求通信网络的支持,以便正确地支持用户预订的服务质量(QoS)和安全级别。用户设备管理也要求与通信网络的某些紧密集成。更丰富与更灵活的软件环境有助于解决这样的需求。因此,需要在电信运营商要求的有较高处理能力的新硬件上容纳这些不同软件环境。

1.3 缩短产品面市时间

对于一个提供增强处理能力和较高密度的新硬件平台,产品面市时间主要由软件开发,调试和验证决定。所以,重用已有的、已经验证了的软件是很重要的。要使产品面市时间尽可能短,需要环境重用而不做更改。这有助于继续支持先前确保的服务质量,验证阶段可无缝地进行,并更快地进入市场部署。

1.4 提高可靠性和安全性

电信网络必须高度可靠。万一出故障,运营商就不得不付出高昂代价。因此,制造商提供的软硬件设备的可用性必须维持至少5个9(即99.999%),意味着每年计划的和非计划的不可用时间小于5 min。

要满足这样的性能且不降低当前系统的可用性。软件必须设计成限制出现故障。实际上,无论什么情况,必须提高可用性,允许更好的故障隔离和检测,更快的故障恢复和更灵活的运行、管理、维护和预防,允许更灵活的升级。一个理想的设计应该能使多个无需修改的已有软件同时运行在多核架构上,在安全隔离分区之间共享硬件资源。

1.5 多核处理器提供增强的处理能力减少了物理尺寸和功耗

在单个处理器内聚集多核是提供更高处理能力、减少功耗的有效途径。这要求以前从多个不同板子访问I/O外设现在变成了从单个板上访问。支持1个四核处理器的板子所需的功率远少于4个单处理器板子所需的功率。总的散热也会降低。

1.6 已有的软件必须不加修改地运行在多核处理器上

要使原先为单核架构设计的实时软件适应多核SMP架构是一件困难的事。实时环境中用的调度策略针对单核处理器。考虑到面市时间和成本因素,一个理想的解决方案就是重用实时软件而无需任何修改。这要求隐藏硬件的多核属性,为软件设计提供常用的单核硬件属性。

对于通用操作系统,为了适应SMP架构,可能遇到类似的要求。整合独立硬件和软件的系统意味着在单一环境中聚集几个软件。把不同的系统版本合并为单一的系统,这是一个痛苦和长期的任务。它增加了产品的上市时间和成本。

针对上述挑战,目前的解决方案有:使软件适应多核环境,通过超虚拟化隐藏多核以及全透明实时虚拟化。

2 几个解决方案比较

2.1 使软件适应多核

由于同类多核SMP处理器可降低总体成本,如果软件能适应这样的处理能力,这种方法无疑具有吸引力,一旦适应,在多核处理器上运行的软件可发挥硬件提供的全部好处。但是,这种方法有几个缺点:把操作系统从单处理器移植到SMP硬件架构是一件复杂的工作,需要很多繁琐的分析,需要调整系统以达到期望的性能水平(即双核性能接近单核性能的2倍)。

这个问题不仅与操作系统有关,而且从单处理器移植会影响应用软件,尤其是实时软件。实时环境的调度属性通常基于FIFO策略。移植到多核后,使得较低优先级的任务和较高优先级的任务并行运行,很可能破坏很多同步假设。所以,应用需要调整并完全验证。

把多个运行在不同刀片的独立系统整合到单个SMP系统可能会失去某些配置的灵活性。某些低端硬件配置或许仍需要不同种类操作系统(有些运行RTOS,有些运行通用OS)的单处理器刀片,或者运行同一系统的不同OS分区。移到单一SMP操作系统环境可能会失去配置的灵活性。在4个独立处理器上运行一个系统环境的4个例程,从物理上分割了这个系统。这有一些优势:系统的一个例程故障不影响其他例程。系统一个例程的安全问题不会自动地影响其他┤个例程。当移植到四核平台上成为单一软件系统时,就会丧失这个优势。

2.2 超虚拟化

超虚拟化提供了由虚拟机监控器控制底层硬件的客体系统。每个客体系统彼此分离地运行在自己的分区内,不能干扰运行在同一平台上其他分区中的系统。此外,为实时系统提供了一个貌似单处理器的情景,避免了调整应用的负担。这样,实时环境可以运行在处理器的每一个核上。在同一个硬件平台上并行运行不同的系统或不同的系统版本,不必经历繁琐、复杂的系统集成工作。把物理资源(包括多核处理器)划分成不同的软件环境,在软件级有多个故障域。从安全角度上看,有多个安全域,一个域安全出问题不会波及其他域。不过,这种超虚拟化方法的某些方面有待改进:

如果要维持良好的性能,所付出的代价是客户系统的硬件抽象层要适应虚拟机监控器接口。尽管在一定范围内这是可以理解的,但是在适应OS中引入了延迟,可能需要重新验证一部分软件。超虚拟化通常由改变客体系统运行环境实现:在Intel X86体系结构上改变执行环(环压缩),改变可用地址空间(地址空间压缩)。

当目标处理器不提供虚拟化支持时,超虚拟化是最好的解决方案。一个例子是,当某些访问机器状态的指令在用户模式中执行时,不会引起异常。

随这种透明虚拟化的支持,可使用一个更好的解决方案。

2.3 全透明实时虚拟化

全透明虚拟处理器与适当的虚拟机监控器结合能实现目前所确定的所有需求。基于Intel虚拟化技术的新处理器能使虚拟机监控器透明地在单个处理器上,也可以在多核处理器上运行多个无需修改的客体OS。如图1所示。

图1 全透明实时虚拟化系统框图

这种解决方案的好处在于:

(1) 多个RTOS例程可以并行运行在一个SMP多核处理器上而不会影响所支持的应用,可重用二进制代码,无需修改客体 OS,所以使得产品能在最短时间面市,开发成本最小。另外,可实现实时操作系统(RTOS)与通用操作系统(GPOS)混用,即一个或多个GPOS如Linux 或 Windows可以同时运行在多核处理器,既可以运行在一个专用核上,也可以运行在与其他OS(甚至与一个或几个RTOS)共享的多核上。

(2) 设备可以有效地、安全地在不同的客户操作系统之间共享。

(3) 可以透明地监控客体系统,万一出现故障,依据配置可以自动重新启动。因此,系统的整体可靠性增强了,无需修改客体操作系统。在多核处理器内多个客体 OS可能共享同一个核。如果多个客体 OS运行在同一个核上,以这样的方法调度客体 OS,即维持RTOS的实时属性。这种方法可用于嵌入式和实时系统。

(4) 把物理内存分区,每一个内存分区分配给一个指定的客体 OS。这样,每个客体 OS就使用自己的内存管理机制和策略,而不会干扰其他客体OS。保护内存分区且彼此隔离以便没有OS能读出或写入到其他OS内存分区。这种方法允许使用MMU的OS,如Linux或 Windows CE,和不使用MMU的OS,如Nucleus 或 VxWorks,协同运行在一个单核上。

每个客体 OS使用的I/O设备惟一地分配给该客体 OS。原来的设备驱动程序可以不加修改的重用。

(5) 把几个客体 OS所需的硬件资源,如CPU和实时时钟,虚拟化以便在所有需要访问它们的客体 OS之间共享。

(6) 在同一处理器上同时运行不同的OS仅是问题的一部分。客体 OS也需要通信和共享设备或其他硬件资源。典型的OS支持多进程,为进程提供内存分配和调度策略,提供同步,共享访问系统,网络接口,以及进程间通信等服务。

这种解决方案不仅能使一个RTOS的几个例程运行在多核处理器上,无需修改它们,而且允许在设备上运行Linux系统例程,无需专用刀片或处理器。因此,这就给原来系统带来全新的性能。

3 基于Intel技术的实时虚拟化技术在位置查找注册 (HLR)系统中的应用

在含有2个双核低电压Intel@Xeon处理器的ATCA Intel NetStructure@MPCBL0040板上,能使┒喔RTOS和1个Linux例程同时运行在同一板上。RTOS及它们的应用无需修改运行,好像运行在一个单处理器机器上。建立这样的系统要做的就是为每个分区配置适当的物理资源。如图2所示。

图2 实时虚拟化技术在位置查找注册 (HLR)系统中的应用

由于每个OS独立于其他OS,且有1个专用的核(除了与Linux共享处理器的核外),没有明显的同步开销,系统能提供接近4倍于单核处理器的处理能力。该系统能同时访问4个数据库,最优化地使用了高性能多核处理器,不会影响原HLR应用特性。4个未做修改的数据库可以通过运行在1个核上的标准Linux(Red Hat Enterprise Linux ES 4)用网络文件系统进行通信。系统与其数据库服务器的独立意味着4个系统中1个系统出故障不会妨碍其余3个系统的运行务。

4 结 语

基于Intel虚拟化技术能够解决许多网络基础设备遇到的挑战,能使设备制造厂家基于多核处理器设计设备,从而提供较高的处理密度,降低材料费和总成本。在一个多核处理器上通过简单配置,整合多个无需修改的实时软件,保持了它们的QoS属性。运行已有的、实时和通用软件,无需复杂的、长时间的重新设计和集成。在同一多核处理器上整合不同版本的通用软件,无需经历软件环境集成过程,便使系统最优化,进而使产品具有特色且性能卓越。

参考文献

[1]NEUMANN Dean, KULKARNI Dileep, KUNZE Aaron, et al.Intel virtualization technology in embedded and communications infrastructure applications[J].Intel Technology Journal, 2006, 10(3): 191-195.

[2]李芳社.虚拟化技术在通信基础设施中的应用[J].现代电子技术,2009,32(8):149-151.

[3]鲁松.计算机虚拟化技术及应用[M].北京:机械工业出版社,2008.

[4]英特尔开源软件技术中心,复旦大学并行处理研究所.系统虚拟化:原理与实现[M].北京:清华大学出版社,2009.

[5][美]DONALD J REIFER.软件复用实践[M].北京:机械工业出版社,2005.

[6]IVAR JACOBSON.软件复用结构、过程和组织[M].北京:机械工业出版社,2003.

[7]邓涛.虚拟化技术在高校中的应用[J].金华职业技术学院学报,2007,7(6):39-41.

[8]ZHANG Xian-tao, DONG Yao-zu. Optimizing Xen VMM based on Intel virtualization technology[C]. Harbin: Professional Communication Conference, 2008.

[9]UETANI Takaaki, GULER Baris, SEPEHRNOORI Kamy. Parallel reservoir simulation on high performance clusters[J]. 6th World Multiconference on Systemics, Cybernetics and Informatics, 2002, 5(13): 39-42.

[10]OGUCHI Yoshihiko, YAMAMOTO Tetsu. Server vir-tualization technology and its latest trends[J]. FUJITSU Sci. Tech., 2008,44(6): 37-41.

上一篇:SDRAM文件结构存储控制的FPGA实现 下一篇:一种LTCC带通滤波器研制与实现