单Linux电信基站软件解决方案

出处:yunlaishi 发布于:2012-07-13 11:51:11

  自从1991年Linux次面世以来,任何人也不会想到这个不起眼的操作系统现在会应用得如此广泛。无论是从嵌入式领域的智能手机到大型计算服务器都可以找到它的身影,而且无论什么工作它都完成得非常出色,因为Linux的开放性决定了其自身可以根据使用领域而高度定制。作为一个开源软件,当前业界的工业标准可以快地支持任何刚发布的硬件产品。同时,被世界各地的商业公司和志愿者一起参与开发和测试,它也变成了十分稳定的操作系统之一。

  Linux的设计原则决定了它的无所不能,但是对于特定领域它并不是的解决方案。同样对于嵌入式电信领域来说,为了追求满足电信领域的高实时性和高吞吐量要求,大家一般都采用传统的RTOS+Linux+运行环境。

  在传统架构中(参见图1),数据面处理采用RTOS+CPU/DSP方式,主要处理底层协议数据业务,通过RTOS的高实时性及多核CPU/DSP来达到性能需求。Linux自身的实时性较差,但是比较适合于高负载的复杂协议处理,因此一般用于完成用户控制平面协议的处理和IP转发等功能。这个方案在性能上可以保证电信产品的使用需求,但系统中存在多个处理器和多个不同操作系统平台,对于用户的维护和后续升级管理带来很大负担,同时也无法满足当前的低成本和低功耗要求。

图1:典型的电信基站系统结构图。

图1:典型的电信基站系统结构图。

  随着近年来处理器硬件技术的飞速发展,处理器的能力越来越强,多核平台已经广泛地应用在电信领域,尤其是在ARM公司将 Cortex A15引入电信基站领域后,整合单芯片解决方案将成为业界主流。但是软件领域的发展相对滞后,尤其是如何在SoC单芯片硬件环境下保证用户已有成熟业务软件的继承使用,是每一个电信设备制造商关心的问题。

  简单的解决方案是如图2将Linux和RTOS按照AMP方式独立运行在多核CPU的不同核上。这种方案可以保证高实时能力,同时可以避免用户应用软件的修改。但是该方案的问题是两个操作系统要求在硬件资源使用上独占,需要在使用前静态分配好,系统运行后则无法动态分配,没有办法做到资源共享。同一个硬件环境下同时运行两个独立的系统也带来了运行安全方面的隐患。综上所述,AMP方案前期设计简单,方便于先前成熟软件集成,但是后期维护成本较高,同时造成了硬件资源的浪费。

图2:AMP解决方案架构图。

图2:AMP解决方案架构图。

  Linux KVM是基于Linux内核的虚拟机制,通过KVM可以在其上虚拟出原有RTOS所需要的运行环境(参见图3)。例如我们可以将原有业务软件以及原有的RTOS一同移植到KVM的虚拟环境中,这种方式对业务应用软件不需要任何修改。同时,整个系统硬件资源也由Linux统一分配,相对AMP方案避免了硬件资源的浪费。KVM机制可以做到系统的安全隔离,保证了电信系统的运行安全。但是该方案存在实时性较差(尤其是运行在Linux内核上RTOS的实时性),很难应用于电信协议等时隙要求较高的场合。

图3:Linux KVM解决方案。

图3:Linux KVM解决方案。

  如何在Linux基础上提供更加高效的实时处理能力,同时又简化多操作系统并存带来的软件复杂性?为此,Enea(宜能)公司在用户空间实现了LWRT(Light-weight Run-time Threading,轻量级运行环境)。LWRT是针对多核使用场景设计的,它基于Linux用户空间的标准Pthread作为运行载体,并在此基础上实现了可确定的调度方式、信号机制和内存管理。通过这种方式,LWRT内部的线程切换和信号处理不再依靠Linux内核调度机制,而是完全在用户态的LWRT内部实现。这在减少系统开销的同时,也实现了严格意义上的实时切换。图4描述了基于LWRT电信基站软件架构。

图4:LWRT多核解决方案。

图4:LWRT多核解决方案。

  为了保证整个LWRT的实时性,我们需要将其承载的容器Linux Pthread绑定到一个物理内核上,通过这种方式使LWRT像单独运行在这个物理内核的传统RTOS一样。同时,我们在LWRT上设计了用户态中断处理模型,将整个中断处理过程放在用户态进行。在Linux内核只需要在上半部中向LWRT发出中断信号,而所有的下半部处理完全实现在用户态的LWRT中。整个中断处理不再有内核互斥锁的影响,从而保证了高实时处理能力。

  先进的设计保证了高效的性能,在一个实际测试环境中对于一个简单的"信号触发-线程切换-信号接收"的线程切换模型,LWRT可以在不超过200个周期内完成,且该数据不会随着CPU占用率增高而受到影响,而在同一硬件条件下,采用Linux标准线程完成同样的切换动作需要大约3500个时钟周期,测试解决见图5.整个切换过程达到了高实时性要求。Linux上将不再只是运行控制面代码,用户完全可以将数据面处理迁移到Linux上。基于这种方案我们将不再需要RTOS,而是将RTOS的功能基于LWRT来提供。

图5:LWRT线程切换和Pthread线程切换对比。

图5:LWRT线程切换和Pthread线程切换对比。

  目前整个电信领域向IP化发展,针对于IP数据处理,Enea实现了PAX(数据包加速基础)解决方案。PAX同样运行在Linux的用户态。

  它实现了基于图形方式现实的IP报文分析处理流程,在PAX中可以完成IP转发、IPSec、流量控制和ARP/WLAN网桥,以及数据包检查DPI等IP通讯中消耗资源的处理。针对于数据面的这些处理过程不再依赖于原有Linux内核IP协议栈实现,而是由PAX及其相关的硬件加速器一起完成。这样便将原有Linux IP转发能力提高数倍,而非常适合于可扩展、高吞吐量和低时延的IP协议处理,尤其适用于基于IP的无线基站、控制器、智能防火墙、入侵检测系统和防病毒扫描网关等产品中。同时,PAX提供的图像化追踪(tracing)和分析(profiling)功能可以方面用户找出系统瓶颈所在,进行针对性优化。

图6:PAX数据处理流程图。

图6:PAX数据处理流程图。

  电信级应用对产品的可靠性和稳定性的要求极高,为此Enea将多年成熟的软件开发流程引入了Linux的开发和维护中。这样保证了所有用户的可选软件包都是在不同硬件平台下严格验证过的。作为开源社区成员,我们也密切监视开源社区的安全漏洞和Bugfix修复情况,并在全面验证后将其纳入Enea Linux产品中。为了更好地保护用户在软件领域的投资,在Enea Linux的升级版本中可以保证Enea IPR的向后兼容。这将确保对每一个硬件平台的Linux内核进行长期支持。另外,所有目标平台均采用Linux 3.0.x系列内核,并且每18个月更新内核版本。根据与客户达成的协议,Enea也可更加频繁地更新内核版本。

  在Enea Linux提供的开发工具中,用户依然可以找到熟悉的Opitma调试分析工具。这缩短了用户学习新开发工具的时间,同时也集成了LTTng、oProfile、Gcov&gprof、valgrind等常用开源分析工具和Qemu主机仿真环境。

  Enea作为一家的3G和4G基础架构操作系统解决方案供应商,拥有40年通信驱动产品解决方案研发经验,同时,Enea也是高可靠性和性能要求极高的软件平台开发的引领者。Enea在实时操作系统和高可靠性中间件方面,必将会将其具有的丰富经验分享给客户,解决客户面临的问题。并且在成就客户的同时,实现自己的价值也是Enea公司一直追求的不变承诺。

版权与免责声明

凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。

本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。

如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。

广告
上传BOM文件: BOM文件
*公司名:
*联系人:
*手机号码:
QQ:
应用领域:

有效期:
OEM清单文件: OEM清单文件
*公司名:
*联系人:
*手机号码:
QQ:
有效期:

扫码下载APP,
一键连接广大的电子世界。

在线人工客服

买家服务:
卖家服务:

0571-85317607

客服在线时间周一至周五
9:00-17:30

关注官方微信号,
第一时间获取资讯。

建议反馈

联系人:

联系方式:

按住滑块,拖拽到最右边
>>
感谢您向阿库提出的宝贵意见,您的参与是维库提升服务的动力!意见一经采纳,将有感恩红包奉上哦!