一种基于FPGA报单管理的共享缓存方法技术

技术编号:25345880 阅读:20 留言:0更新日期:2020-08-21 17:05
本发明专利技术提供了一种基于FPGA报单管理的共享缓存方法,步骤1:片内缓存的分配,将片内缓存划分为私有缓存空间和共享缓存空间并设置私有缓存空间阈值,多个报单优先级缓存空间阈值、使用共享缓存的空间配置共享缓存阈值;步骤2:将报单计数和私有空间阈值、优先级私有空间阈值阈值、缓存空间阈值进行比较,判断是否接单;步骤3:根据当前客户占用的报单计数回收缓存空间。本发明专利技术结合FPGA芯片处理的高并发性和低延迟的技术特性,充分发挥并行化和流水化处理的优势,既保证里交易系统的低延迟,可达到FPGA系统钟的纳秒级延迟,又保证了大报单量的快速缓存,和现有保单管理相比成本低、功耗小、延迟低。

【技术实现步骤摘要】
一种基于FPGA报单管理的共享缓存方法
本专利技术属于金融交易系统的保单存储领域,涉及到一种基于FPGA报单管理的共享缓存方法。
技术介绍
随着全球化市场的发展,参与证券股票,期货等金融交易的用户越来越多,交易数据量也越来越大,客户对金融交易的低延时要求也越来越高,为了尽可能的降低延时,整个交易路径都尽可能的将业务下沉到硬件做加速,利用FPGA(FieldProgrammableGateArray现场可编程逻辑门阵列)实现硬件加速则是成为首选。但是FPGA也存在着自身的缺陷,其中一个就是片内的高速缓存资源稀少,而在整个交易系统里面缓存则是必不可少的,因此如何高效的利用缓存就成为不可或缺的一个课题。
技术实现思路
1、所要解决的技术问题:金融交易利用FPGA实现硬件加速存在片内的高速缓存资源稀少。2、技术方案:针对现有技术中基于FPGA的交易系统,既能实现低延时的目标,同时又高效利用缓存实现对报单的存储,本专利技术提供了一种基于FPGA报单管理的共享缓存方法,包括以下步骤:步骤1:片内缓存的分配,将片内缓存划分为私有缓存空间和共享缓存空间并设置私有缓存空间阈值,并对每个客户设置多个报单优先级缓存空间阈值和每个客户使用共享缓存的空间配置共享缓存阈值;步骤2:将报单计数和私有空间阈值、报单优先阈值和缓存空间阈值进行比较,判断是否接单,如果接单确定使用哪个缓存空间,如果使用私有缓存空间,私有缓存计算加1,如有使用共享缓存空间,共享缓存空间报单计数加1;步骤3:根据当前客户占用的报单计数回收缓存空间。所述报单计数包括私有缓存空间报单计数和共享缓存空间报单计数。所述私有缓存空间报单计数和共享缓存空间报单计数分别计数。3、有益效果:本专利技术结合FPGA芯片处理的高并发性和低延迟的技术特性,充分发挥并行化和流水化处理的优势,既保证里交易系统的低延迟,可达到FPGA系统钟的纳秒级延迟,又保证了大报单量的快速缓存,和现有保单管理相比成本低、功耗小、延迟低。附图说明图1为片内缓存划分为私有空间和共享空间的示意图。图2为每个客户独占一定数量的私有缓存空间的示意图。图3为本专利技术缓存方法的流程图。具体实施方式下面结合附图来对本专利技术进行详细说明。本专利技术提供了一种基于FPGA报单管理的共享缓存方法,包括以下步骤:步骤1:片内缓存的分配,将片内缓存划分为私有缓存空间和共享缓存空间,如图1所示,将缓存划分为私有和共享两部分空间,并且所有通道客户的缓存使用都可配置,即保证了每个客户独享空间的公平性,通过共享缓存又能实现每个客户对缓存的最大利用。每个通道是一个私有缓存空间,设每个私有缓存空间阈值为cfg_pt_pre,共享缓存空间阈值为优先级私有缓存空间阈值为cfg_pt_share,如图2所示,每个客户设置多个报单优先级缓存空间阈值,还设优先级缓存空间阈值为cfg_pt_pri1~cfg_pt_prixn。cfg_pt_pri1代表优先级1缓存空间阈值,cfg_pt_pri2代表优先级2缓存空间阈值,cfg_pt_prix代表优先级x缓存空间阈值,cfg_pt_prin代表优先级n缓存空间阈值。步骤2:将报单计数和私有空间阈值、报单优先阈值和缓存空间阈值进行比较,判断是否接单,如果接单确定使用哪个缓存空间,如果使用私有缓存空间,私有缓存计算加1,如有使用共享缓存空间,共享缓存空间报单计数加1。此步骤特征在于对每个客户的报单用优先级实现更精细的管理,另外共享缓存也使得每个客户能够扩展更大的报单缓存空间;对每个客户使用的共享缓存设置阈值,防止共享缓存被独占使用。步骤3:根据当前客户占用的报单计数回收缓存空间。所述报单计数包括私有缓存空间报单计数和共享缓存空间报单计数。通过使用私有缓存和共享缓存占用分别计数,确保了每个缓存指针在使用时的独占和共享属性,保证在共享缓存回收时的正确性,不会出现共享缓存的泄露。设报单计数为order_cnt,共享缓存空间报单计数为share_cnt.如果报单计数order_cnt小于私有缓存空间阈值cfg_pt_pre或者报单计数(order_cnt)大于等于私有缓存空间阈值cfg_pt_pre,但是优先级缓存空间阈值cfg_pt_prix大于等于私有缓存空间阈值cfg_pt_pre且共享缓存空间计数cfg_pt_share小于共享缓存阈值,则接受报单;否则拒绝报单。实施例1在步骤2中,判断是否接单的方法为:第一步:报单计数先和优先级缓存空间阈值进行比较,如何报单计数大于优先级缓存空间阈值,进入第五步;否则进入第二步:将优先级缓存空间阈值和私有缓存空间阈值进行比较,如果优先级缓存空间阈值大于私有缓存空间阈值,进入第三步,否则进入第六步;第三步:将报单计数和私有缓存空间阈值进行比较,如果报单计数大于私有缓存空间阈值,则进入第四步,否则进入第六步;第四步:将共享缓存空间计数和共享缓存空间阈值进行比较,如果共享缓存空间计算大于共享缓存空间阈值,则进入第五步,否则进入第六步;第五步:不允许报单;第六步:允许报单。实施例2在实施例1的基础上,在步骤3中,缓存回收空间的方法为:根据允许报单使用的私有缓存空间报单计数和共享缓存空间报单计数,如果共享缓存空间报单计数不为0,则共享缓存空间报单计数减1,如果共享缓存空间报单计数等于0,则对私有缓存空间报单计数减1。虽然本专利技术已以较佳实施例公开如上,但它们并不是用来限定本专利技术的,任何熟习此技艺者,在不脱离本专利技术之精神和范围内,自当可作各种变化或润饰,因此本专利技术的保护范围应当以本申请的权利要求保护范围所界定的为准。本文档来自技高网...

【技术保护点】
1.一种基于FPGA报单管理的共享缓存方法,包括以下步骤:步骤1:片内缓存的分配,将片内缓存划分为私有缓存空间和共享缓存空间并设置私有缓存空间阈值,并对每个客户设置多个报单优先级缓存空间阈值和每个客户使用共享缓存的空间配置共享缓存阈值;步骤2:将报单计数和私有空间阈值、报单优先阈值和缓存空间阈值进行比较,判断是否接单,如果接单确定使用哪个缓存空间,如果使用私有缓存空间,私有缓存计算加1,如有使用共享缓存空间,共享缓存空间报单计数加1;步骤3:根据当前客户占用的报单计数回收缓存空间。/n

【技术特征摘要】
1.一种基于FPGA报单管理的共享缓存方法,包括以下步骤:步骤1:片内缓存的分配,将片内缓存划分为私有缓存空间和共享缓存空间并设置私有缓存空间阈值,并对每个客户设置多个报单优先级缓存空间阈值和每个客户使用共享缓存的空间配置共享缓存阈值;步骤2:将报单计数和私有空间阈值、报单优先阈值和缓存空间阈值进行比较,判断是否接单,如果接单确定使用哪个缓存空间,如果使用私有缓存空间,私有缓存计算加1,如有使用共享缓存空间,共享缓存空间报单计数加1;步骤3:根据当前客户占用的报单计数回收缓存空间。


2.如权利要求1所述的方法,其特征在于:所述报单计数包括私有缓存空间报单计数和共享缓存空间报单计数。


3.如权利要求2所述的方法,其特征在于;所述私有缓存空间报单计数和共享缓存空间报单计数分别计数。


4.如权利要求2或3所述的方法,其特征在于:在步骤2中,判...

【专利技术属性】
技术研发人员:华征良秦轶轩
申请(专利权)人:南京艾科朗克信息科技有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1