金融信创:高并发支付难题,国产芯片怎么解?

自主可控聊科技 2024-07-07 07:45:50

近年来,信创建设围绕“2+8+N”等关键领域对其软硬件核心技术、技术标准等展开自主研发从而实现原创替代,金融行业也以有时不我待的劲头投入其中。金融监管政策陆续出台《关于应用安全可控信息技术加强银行业网络安全和信息化建设的指导意见》、《金融科技(FinTech)发展规划(2019-2021年)》、《金融科技(FinTech)发展规划(2022-2025年)》、《关于银行业保险业数字化转型的指导意见》等,金融信创已经正式驶入国家政策保驾护航的发展快车道。

高并发支付是金融行业(银行、证券等)以及互联网金融应用所面临的一个重点和挑战,也是当今社会线上支付应用不可避免的一个问题。比如我们日常生活中的淘宝双11购物狂欢节、京东618购物促销节、12306春节火车票或银行纪念币发放日、证券市场上的交易等等,都会带来高并发支付场景。

什么是金融行业的高并发支付?

更进一步来看,金融行业中的高并发支付是指在金融交易系统中同一时刻有大量的用户请求到达服务器,服务器需要对请求进行处理,并及时返回响应信息。系统能够同时处理大量的并发支付请求,而不会因负载过重而出现延迟或错误,这就要求每一笔支付交易都需要快速响应并保证数据的一致性。

通常如果一个系统日PV(Page View)在千万以上,那么往往就是一个高并发系统。衡量高并发常用的一些指标有:响应时间,吞吐量,QPS,并发用户数等。(响应时间:是指系统对请求做出响应的时间,例如系统处理一个请求需要100ms,这个100ms就是系统的响应时间;吞吐量:是指单位时间内能处理的请求数量;QPS:是指系统每秒能够响应的查询次数,是对服务器在每秒内能处理多少流量的衡量标准;并发用户数:是指同时能承载用户正常使用系统功能的用户数量;)

在金融领域,高并发支付处理能力尤为重要。因为它关系到资金的安全、交易的效率以及用户的体验。所以高并发支付类的场景也是作为金融领域中核心业务系统或次核心业务系统。

金融行业的高并发支付应用框架

高并发支付平台主要处理业务系统同一时刻发起的大量交易请求,包括业务渠道、支付渠道、服务层、业务层以及通信前置等等,最终进入支付清算系统进行清算或结算,每个模块的功能如下图所示:

基于国芯海光的高并发支付应用方案

近年来,全国金融机构支付/清算系统业务增长较快,无论是交易笔数还是交易金额,近5年年均增长在20%以上,特别是支付高峰期的交易“爆涌”,对系统的性能要求、稳定性要求极高。

在国产化自主可控的大背景下,从底层硬件层面逐步引入国产芯片、国产整机、国产OS,服务层引入国内各种云技术,从业务的架构层面引入微服务、消息中间件、缓存中间件等各种开源框架和组件,在各个层面之间的连接、适配、优化,成为金融行业在高并发支付场景国产化改造中的新需求、新挑战。

接下来,我们从金融信创市场主流路线海光芯片入手,来看看国产芯片在高并发支付应用场景中表现如何。

基于国芯海光高并发支付应用方案典型的软硬部署为:

首先从计算能力上来看,本次POC测试采用10台海光双路服务器和10台Intel双路进行真是数据流量对比,验证结果海光C86-3G 7360的性能水平和Intel Cascade Lake金牌20核处理器,在同等访问量、交易量的情况下高并发支付场景性能水平相当。

海光CPU在与云结合的过程中,通过深层次的优化,双路服务器部署4C8GB的虚机,每个虚机落到1个Die中,规避虚机出现跨Die、跨Socket的情况(如下图的双路互联架构所示)。同时整机在硬件配置上,每个内存通道至少1根物理内存条。在与Intel原有整机同等并发请求规模上,海光的延迟比Intel Cascade Lake金牌20核处理器延迟优化了10%,访问时间更短。

再来看下对内存数据库的支撑。

目前,基于磁盘存储的数据库管理系统由于磁盘读写的速度限制,已经难以满足新应用的扩展性和时延要求。内存数据库(即“数据库管理系统”)成为实现高并发、低时延数据管理的主流技术路线。并且,随着动态随机存储器(DRAM) 容量的上升和单位价格的下降,使大量数据在内存中的存储和处理成为可能, Redis、Memcached 等内存数据库管理软件逐渐成熟,应用范围越来越广。

在此背景下,国产芯片对内存数据库的支持能力变得愈发重要。从海光高端处理器运行效果来看,该芯片可支持8个内存通道,最大可支持128GB/DIMM,2TB/Socket,实现大内存、多内存条数的广泛支持,充分支撑内存数据库的使用需求。

再者,高并发除了性能需求之外,最为看重的当属稳定性。从重要性上看,CPU对内存的RAS特性最为关键。

Google的一份调查报告显示,内存错误率其实比想象中的要高:“人们首次发现内存错误普遍存在。所有在用设备中大约1/3每年至少遇到一次内存错误,平均每年发生的可修正错误为22000次。在不同平台上得出的数据不同,有些平台大约有50%的设备受到可修正错误的影响,有的仅为12%~27%。”

而服务器的程序都是跑在内存中的,如果因为内存出错没有被修复那就会导致程序的崩溃,进而带来更严重的损失。

CPU 的SOC 内存控制器上应该带有ECC的模块组(如下图所示),对读入的数据进行ECC检验,检查所读入数据是否和物理内存上的ECC校验码一致,如果不一致要进行纠错。

海光处理器产品支持DRAM ECC支持x4 ECC、x8 ECC的能力,正是在高并发应用场景所需要的。

海光CPU的ECC能力提供“chipkill”单设备数据校正功能,所有由故障DRAM设备引起的错误可以被纠正。根据已公布的数据,与传统的只能纠正单比特错误的SEC-DED ECC代码相比,Chipkill-correct减少DRAM不可纠正错误率超过40倍。目前基于海光处理器的金融行业高并发支付全栈国产化解决方案,已经可以满足银行、第三方支付、结算、清算体系大规模的生产及应用。

0 阅读:1

自主可控聊科技

简介:感谢大家的关注