中文
在信创建设的大环境下,不少用户在落地实践上仍有顾虑——“同样价格的设备,国产核心技术的设备性能不如国外核心技术的设备性能高。”
一方面是担心硬件芯片侧自身存在性能瓶颈,另一方面则是过去的软件、操作系统与信创硬件之间缺乏深度适配与调优,未完全发挥硬件潜力。
深知用户疑虑,深信服应用交付ad经过数年全情投入,打磨信创能力,正式推出超过170g档的信创盒式设备,覆盖从10g到170g性能级别的全档位需求,满足用户在核心业务承载中的超高性能需求。
今天,我们来详细剖析,在达成170g性能级别的路上,信创ad是如何精细打磨并优化技术细节,真正做到信创高性能。
01面向信创cpu的高并行技术 数据面和管理面分离
充分发挥信创cpu性能潜力
信创cpu普遍具有核数较多的特点,这对软件的并发处理能力提出了更高要求,深信服ad在信创环境下实现全应用层架构,并实现了完全并发无锁的数据处理技术。
数据传输分为物理层、内核层、应用层,默认情况下,数据从物理网卡逐层传递到业务应用。一般的负载均衡产品会在内核层以模块的形式开发业务,或者直接在内核层修改代码以实现自身业务逻辑,在这种方式下,数据传输过程中会发生多次数据交换和上下文交换,造成数据传输过程中不必要的性能损耗。
ad通过将数据面和管理面分离,提升可靠性的同时,降低数据处理过程中因管理面打断导致的运行环境切换,提升数据面传输的效率,降低数据转发过程中的性能损耗。
跨过内核层的应用层驱动技术
减少硬件层和内核层对应用层的上下文切换和打断
数据面采用纯应用层架构,硬件通过应用层驱动接管,不再走内核中断,避免了内核和应用层的上下文切换,也减少了硬件中断对正在执行的流程的打断。所有数据处理流程实现自主控制,协议栈可以做到高度优化。
全栈无锁技术
保证下发流程不影响数据面数据转发性能
控制面和数据面使用全栈无锁技术,保证配置下发流程的原子性,且不对数据面造成任何性能影响。同时,同一个事务在同一个数据进程处理,避免多核无锁操作。
数据面与管理面分离
保证数据在转发过程中不被其他管理任务干扰
控制面和数据面分离,控制面负责配置下发和其它控制流程,控制面阻塞不影响数据面转发数据。数据面只做数据的转发处理,不做任何耗时的动作,甚至系统调用都避免使用,保证数据低延迟转发。
02 dma技术 数据高性能改造
信创ad实现数据转发“全栈零拷贝”
linux系统中,内存拷贝是比较耗时的操作,采用零拷贝技术则是常用的优化手段。不少厂商会直接采用成熟的dma(direct memory access)技术来实现设备各组件之间的拷贝,如硬件网卡到内存之间的拷贝,但是dma仅适用于不同硬件之间交换数据时进行数据拷贝,而设备内部的数据拷贝则必须依赖cpu进行。例如,内核层与用户层数据之间的拷贝(内存内部的拷贝)依旧需要由cpu来负责。
为了保证在信创环境下性能不折损,信创ad通过dma技术 数据高性能改造的方式,实现内存到其他硬件组件之间的数据零拷贝,还通过数据改造的形式实现了各协议层之间的数据零拷贝。全栈零拷贝,最大程度释放cpu压力。
dma技术
实现其他组件与内存之间的零拷贝
硬件网卡接收到数据包后,dma技术可实现网卡硬件到内存之间的数据拷贝。通过dma控制器取代cpu完成硬件网卡到内存之间的数据拷贝,这个过程中,cpu只起到管理作用,无需耗费资源处理拷贝动作。
数据高性能改造
实现各层协议内存之间的零拷贝
网卡硬件nic通过dma技术上送到应用层驱动、路由框架、tcp协议栈、ssl协议栈、http协议栈,通过数据性能改造的方式一直复用,保证数据协议处理过程中不使用任何拷贝。
在高性能加持之下,信创ad还保持着成熟的稳定性,全自研应用层网络协议栈 dpdk技术、丰富的自研应用层调试接口及工具、自研混沌测试平台d-taas,保证高并发、大吞吐等复杂场景下核心业务的稳定运行。
而在过硬的技术实力之上,ad积极推进信创生态的建设,现已完成与银河麒麟、中标麒麟、兆芯、飞腾、海光、华胜信泰、东方通、中创等国内主流操作系统、cpu、中间件的广泛兼容适配。
截至目前,深信服信创ad已经服务超220 用户,包含95家金融、109家政府、20余家大型企业,具备丰富的实践经验。在自主创新的道路上,信创ad始终坚持对核心技术能力的升级、拥抱多元的信创生态。在优化性能的同时,通过技术创新持续提升产品软硬件可靠性,为用户打造在信创环境下更全面、立体化的应用交付凯发登录的解决方案。