0 引 言
随着Intel公司和其他厂家向多核处理器转移,通信设备制造商也随之改变他们的编程思路,以便有效地利用这些增加的核。通常,通信设备倾向于利用已经优化和验证,按时序逻辑执行的高度专用软件。但这样的软件却很难移植到多核平台。有了Intel VT,设备制造商无需重新修改现有软件,就可在多核处理器上执行多线程应用,从而使移植更简单。
Intel虚拟化技术具有如下优点:
(1)为分离内核与非分离内核服务的隔离提供必要的环形结构;
(2)简化了VMM设计,使分离内核代码很小,这样使得建立在数学上可验证的分离内核成为可能;
(3)虚拟化允许不需修改的OS,简化了单线程现有软件移植到多核处理器。这给终客户一个选项,即可同时运行非SMP OS的多个例程。
(4)Intel VT-d允许直接访问分配的设备。网络接口的分离是系统安全的主要组成部分。Intel的虚拟化技术允许在VM中有效共享物理I/O设备,而不需要访问所有网络流量的一个“服务”分区,因而允许把网络流量导向到特定的OS和指定的应用。
(5)Intel VT也支持使用可信平台模块(TPM)提供能VMM,客体OS和应用,保证它们在磁盘上的映像不被篡改。TPM是个微控制器,存储密钥,口令和数字证书。TPM按可信计算小组(Trusted Compu-ting Group)定义,属于TPM的微控制器可从很多制造商那里获得。
下面探讨虚拟化技术在通信领域的几种应用模式。
1 虚拟化技术在通信领域的应用
1.1 从单线程到多例程
设备制造商可以执行单线程软件的多个实例,每个实例在一个单独的VM内执行,每一个VM处理整个任务的一部分。一个相应的VMM提供必要的软件基础结构,以便在VM之间分配负荷。多核移植的例子包括蜂窝网络中的多定位注册;或扰动检测系统之间的负荷划分。电信设备制造商可以利用VMM在多核平台上整合原有单线程应用的多个实例,避免为了利用多核架构要花昂贵的研发周期修改已有代码(见图1)。大多数通信设备的处理可分为数据层、控制层和管理层。每一层有不同的处理要求,如内存反应时间和带宽要求,以及网络I/O要求。通过使用Intel VT和实时VMM,制造商就可以在较少的处理器件上整合这些不同层。这样就降低了设备和运行成本,成本的节省可让设备制造商和他们的客户(服务提供商)具有竞争力。整合的一个例子就是在移动无线业务中确定移动单元当前位置,被称作HLR(Home Location Register)系统。实际上,很多这样的系统是专用的,限定为32位寻址。使用Intel VT,多个HLR就可以配置到单一系统上。VMM考虑了多个HLR的负荷分配,也考虑了大于4 GB的HLR数据库。
1.2 提升系统的可用性
通信系统的一个独特要求就是极高的可靠性。要求通信系统能够处理所有呼叫的99.999%。这相当于每年的停机时间小于5 min,其中还包括所有安排的维修,软件和硬件的升级,以及系统的校正。由于与软件设计相关,现在只有高端通信系统才能提供这个可靠性级别。用Intel VT,通信系统可以提供更大的可用性,而没有传统软件的基础成本。大多数可靠性问题是由通信软件定制特性引起。Intel VT为通信系统所有层面提供了软件故障隔离。通过执行软件活动的和备用的实例激活它,每一个执行软件位于自己的VM之内。如果出现软件故障,备用实例将继续执行并设置为活动状态,直到VMM重新启动故障实例。有了这个能力,软件故障成本,传统上的冗余硬件保护,就被去掉。除了冗余外,提供冗余硬件实现软件在线升级的能力。如图2所示,备用部分既可用于热升级,也可用于容错。用Intel VT,消除了冗余对硬件的需要。现在只需简单的升级,重启动,并指定它为活动实例就完成软件升级。如果新软件出错,仍能求助于以前的软件版本。
1.3 服务器负荷迁移
负荷迁移是虚拟化企业服务器的一个普遍特性;它也适用于通信领域。例如,在很多话音通过互联网协议(VoIP)传输的实现中,有一个叫作软交换的设备。软交换机处理呼叫建立和管理的各个方面。软交换机有一个能力设置层,一旦超出就必须用新交换机替换或扩容。手工配置新交换机的过程很费时。InteI VT简化了这个过程,允许一个完整的交换机实例从一个硬件平台迁移到另一个硬件平台。此外,简化了网络的扩充,首先在可控的实验室环境中做所有配置,然后再把该配置投入到实际运行的交换机上,这样降低了与扩充相关的风险。利用实际环境的测试和流量模式,在现场部署之前完全可以配置和测试扩充交换机。一旦测试了扩充交换机配置,实施了迁移策略,接着进行在线升级。图3示出该迁移,扩充交换机已被添加到网络,一个安装的交换机的区被迁移到扩充交换机。这是一个比现有解决方案更简单的管理模型。
1.4 面向通信的操作系统
与其他市场相比,通信市场包含很多定制的OS。很多时候,这些系统用特定的产品开发,也没有提供很好的维护性。虚拟化允许利用这个有价值的专用OS,且仍能随新技术向前进化。通过提供专用OS操作环境,Intel VT允许在通用或流行OS上进行新开发,同时提供到专用OS的链接。在提供支持这些已有的OS中,Intel VT迈出了步。它提供了迁移到硬件技术如多核,而无需OS内的多处理器支持。它不需要修改OS,也无需通过二进制转换改善性能。因此,为了预定目的,可以利用专有技术,从而节约了重新验证和软件开发的成本。
1.5 共享与分配I/O设备
通信市场要求硬件/软件解决方案提供高性能的I/O成本一直是设计中的一个因素,获得每瓦性能是每个设计的目标。在虚拟化解决方案中,有两种方法提供访问高性能I/O,即共享I/O和直接分配模型。在共享I/O中VMM提供通过仿真复用技术访问I/O设备。客体OS以虚拟设备出现。VMM复合虚拟设备访问实际I/O设备。共享I/O机制引起性能降低,因为其引人了复合和仿真层;但在迁移中提供了的灵活性。由于性能影响,通信系统*享I/O限于对性能要求不高的任务,如管理层。在直接I/O分配中,给VM专门分配一个I/O设备。针对直 I/O,Intel VT(Intel VT-d)能应对这种需求。目前,这样的分配出现在PCI总线上,商用VMM被构建成应对这种需求。VMM隐藏了访问没有分配给一个特殊的客体OS的PCI设备。
对于直接I/O分配存在着技术上的挑战。的挑战出现那些执行DMA操作的设备。由于客体OS不知道已经被移到内存中它已知起点之上的位置,所以它就可能给驻留在内存区间之外的DMA设备提供地址。为了克服这个问题,VMM可以重新映射这些内存访问,也可以用硬件动态的实现。在VMM重新映射地址情况中,要求客体OS既要知道被重新定位到一个新的内存中,也要知道VMM相应的限制重定位。在硬件重映射DMA地址(如用Intel VT-d)情况中,VMM用VM基本地址和VM设备的分配规划硬件。直接I/O分配比以VM动态迁移能力为代价的共享I/O性能改善高一个数量级。对于通信设备中所有高吞吐量接口性能改善是必要的,因而需要折衷考虑。
1.6 对平台分区以提高通信性能
为了通用目的,在体系结构设计时,通信系统设计者常常处于矛盾境地:通常情况下,设计人员偏好于使用通用操作系统(GPOS)、及其各种操作界面和其他通用软件,但是GPOS提供的网络性能难以令人满意。虚拟化技术可用于化解这个矛盾,通过创建一个分区,运行一个较小内核的操作系统(OS),执行与性能相关的应用部分,提供直接访问网络设备,而另一分区运行一个GPOS,执行对性能要求相对较小的那部分应用,如操作界面、系统配置,监控、统计和报警管理等。Intel推出了这样一个系统的应用原型,运行发现相同的应用在同样的硬件,相同的GPOS上运行,性能提高了24%。
2 一个通信网络商用虚拟化解决方案
商用产品Jaluna OSware提供优化解决方案以满足通信设备的严格要求。OSware提供一个健壮的平台:直接和共享I/O,硬实时保证,有限中断延迟时间(测量为21 ms),高效的内存虚拟化,能执行商用和专用OS,而无需修改它们。图4为虚拟化和非虚拟化环境中,OSware提供的运行在RedHat企业Linux上标准应用的同一网络I/O性能。
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。