早在20世纪50年代末出台的摩尔定律就指出,计算机CPU每18个月性能提高一倍,成本降低一半。因此,芯片性能通过单纯的提高时钟频率、缓存容量和流水线级并行能力等手段,会受到制造工艺及流水线算法复杂度的限制,已无法满足实际应用需求。多核处理器代表的进程级/线程级并行处理机制已经成为处理器芯片研究领域公认的未来发展方向。
现在,我们以H3C无线控制器为例,介绍多核多线程处理架构(Multi-Core/Multi-Thread)硬件平台。它以在保持通用处理器高灵活高可扩展性的优势的前提下,大幅度提升数据处理的性能。同时,H3C无线控制器在控制平面采用独立的高速通用处理器,可以满足大规模用户的认证和管理等需求。
理解多核处理器
多核处理器本质上是通过硬件进程/线程级并行处理来提高性能。处理器在线程级/进程级并行处理的应用包括两个发展方向:一个是同时多线程微处理器技术(SMT),一个是单芯片多处理器技术(CMP)。
SMT技术的核心思想是,在处理器中增加对多线程硬件自动切换的支持,以及相应的硬件执行资源,使每个时钟周期的指令可以取自不同的线程,且没有时钟损耗,提高了流水线效率。因此SMT技术用很小的代价就能使处理器的性能有了质的提高。
CMP技术在芯片内集成多个微处理器核,其思想是将传统的对称多处理器(SMP)体系结构集成到同一芯片内,各个处理器并行执行不同的进程。
H3C无线控制器数据平面采用的多核多线程处理器(Multi-Core/Multi-Thread),结合了SMT技术和CMP技术,在单芯片上集成多个拥有SMT技术的处理器核以及存储、I/O、互连、高速缓存控制器等部件,如图所示。
多核硬件架构图
无线控制器的多核硬件架构
H3C无线控制器采用独立的控制CPU配合高性能多核多线程处理器架构,在拥有高速数据转发性能的同时,保障了控制平面的业务处理能力,在大规模用户在线的情况下,能够控制CPU的负担维持在一个较低的水平。
H3C无线控制器所使用的多核处理器技术具有可扩展性强、功能实现灵活、避免外设访问数据及阻塞延迟等特点,对用户量大、业务丰富、新应用不断涌现的WLAN领域,提供了坚实的硬件基础。而数据解析引擎、流分类引擎、加解密引擎,以及TCAM、XGE等外围器件,均在无线业务处理中得到应用,并发挥了重要的作用。

H3C无线控制器处理器体系硬件架构图
无线控制器的多核软件架构
H3C无线控制器多核软件基于H3C Comvare组件化软件平台,采用控制平面和数据平面分离的架构。控制平面和数据平面分别运行在独立的控制CPU和多核数据CPU上,并形成完整的多核网络处理软件架构,充分发挥出多核处理器和加速引擎的特性和优势。同时,H3C无线控制器软件架构根据网络处理的特点,将数据流抽象成多个独立的处理单元,具有良好的扩展性和可移植性。
Comvare 控制平面/多核数据平面关系图