微内核、多进程、面向服务——中兴通讯新一代统一分组平台软件架构

发布时间:2023-04-17 作者:吴道揆(中兴通讯)

       任何一个大型的软件系统,其软件架构的设计必然受到功能需求以及硬件技术的制约,早期的路由设备功能简单,并且受到当时硬件性能的限制,大多数设备厂商都采用简单一体化的软件架构,所有业务都在一个单一的进程和内存空间中。这种软件架构虽然简单,但缺陷也越来越明显:在硬件方面,CPU的主频提升之路已经走到了一个拐点,多核CPU成为CPU性能提升的一种趋势,而一体化的软件架构却无法充分利用多核CPU的处理能力;软件方面,一体化的软件架构无法有效隔离单模块的故障,任何模块的软件故障都会影响整个系统的运行,这也无法满足现代设备对高可靠性的需求。

    中兴通讯全新一代的统一分组平台完全摈弃了这种老的软件架构,采用全新的微内核、多进程、面向服务的软件架构。每个进程根据其实现的业务功能,对外提供特定的分组业务服务。这些服务对外提供标准的API接口,构成了整个平台的基石。

微内核、多进程

    中兴通讯新一代统一分组平台采用自研的CGEL LINUX操作系统和分布式中间件Tulip,而上层应用则采用组件化和进程化的设计思想,每个进程都有自己独立的内存空间,凭借这些先进的硬件和操作系统特性,将进程之间安全隔离。实践表明,组件化和进程化的设计,有效保证了软件故障的安全隔离。

    用户态与内核态安全隔离,保证了一个模块故障不会影响整个系统的正常运行;用户态中不同的进程之间安全隔离,保证了一个模块故障不会影响另一个模块的正常运行;这样,单模块故障的影响范围和恢复时间都大大缩小,另外,利用多进程特性,我们可以容易地实施进程粒度的故障恢复和升级,使得新的统一分组平台在安全性和可靠性方面达到了一个新的高度。

    多进程带来的另一个优势是可以充分利用多核CPU的处理能力。目前,统一分组平台进程数目已达到200个左右,这种细粒度的进程划分,极大地提高了系统的并发处理和扩展能力,通过配置更多的CPU数目,或者使用更多核的CPU即可大幅提高系统性能。这种可扩展性和灵活性也是前所未有的。

面向服务

    在新一代的统一分组平台中,中兴通讯采用面向服务的方式来实现进程和进程之间的协同工作。每个进程根据其业务特征,对外提供一个或多个分组业务服务,并将该服务发布到一个服务管理中心。每一个进程,也可以根据需要使用其他进程提供的服务。而服务的提供者和使用者,则通过服务管理中心以一种松耦合的方式联系起来(见图1)。

    服务管理中心主要有两个功能:首先,服务管理中心维护各个服务的物理位置信息,从而将服务的提供者与服务的使用者解耦。分组业务服务是统一分组平台进程间协作的核心机制,这种方式最大限度地提供了软件部署的灵活性,服务可以部署在任何地方。例如,业务进程既可以部署在一个或多个主控上,也可以部署在外围单板上,甚至可以部署在设备外的独立服务器上。当然,我们也可以根据当前的CPU、内存等物理资源使用情况动态漂移,通过这些灵活的部署方式,达到系统的“无限”扩容。另外,服务管理中心还实时监控所有服务的状态,当一个服务因软硬件故障而导致服务失效时,服务管理中心会实时通知所有服务使用者,将服务无缝地从失效点迁移到备份服务上,这样大大提高了整个设备的容错能力。



  图1  面向服务的进程间协作

统一的分布式数据管理中间件

    在新一代的软件分组平台中,中兴通讯还采用了自研的统一的分布式数据管理中间件DDM(Distributed Data Management)。通过这套先进的分布式数据管理中间件,对业务屏蔽分布式开发的复杂度,业务可以通过声明式的编程方式,实现分布式数据的同步与复制。用于NSR(Nonstop Routing)的主备同步、用于异地容灾的设备间的数据同步,以及主控与外围单板之间的同步,都使用了该统一机制,在减小开发工作量的同时,也大大提高软件的健壮性。

    另外,DDM还采用了独特的启发式智能Cache机制和新颖Cache一致性算法,通过启发式智能预取,使得绝大部分对分布式数据的访问都能在本地完成,省去了跨进程访问的负担,极大地提高设备性能。实践表明,使用智能Cache后,单核情况下,新架构的性能与原有一体化架构的性能相当,但在多核情况下,新架构的性能则比原有架构有了成倍的提升。

全新的OAM信息模型

    新一代的软件分组平台还采用了一个全新的OAM编程模式(见图2)。原有架构中,配置命令由每个业务独自编写,配置的合法性和一致性检查冗长且容易出错。新的OAM则采用统一管理信息模型MIM(Management Information Model),开发人员仅需要提供业务配置对象描述信息,以及对象之间的约束关系,MIM就可以自动生成所有配置相关处理逻辑,包括合法性检查、互斥依赖关系等一致性检查,并为业务透明地提供批量配置提交、配置回滚、配置回退等高级特性,给用户带来整网部署、配置和恢复的全新体验。



  图2  全新的OAM信息模型

    由于新一代的统一分组平台架构的先进性和灵活性,该平台已成功应用于中兴通讯的多个产品,包括高端和中低端路由器、交换机,以及XGW等分组业务产品。新平台的软件并发处理能力有了一个数量级的提升,而平均故障恢复时间则下降了数倍,特别是在支持NSR后,主备倒换的恢复时间由原来的数分钟降到秒级,保证了各种特殊情况下业务的高可用性,大大提高了用户的满意度。