CN111563060A - 一种基于fpga报单管理的共享缓存方法 - Google Patents
一种基于fpga报单管理的共享缓存方法 Download PDFInfo
- Publication number
- CN111563060A CN111563060A CN202010668619.5A CN202010668619A CN111563060A CN 111563060 A CN111563060 A CN 111563060A CN 202010668619 A CN202010668619 A CN 202010668619A CN 111563060 A CN111563060 A CN 111563060A
- Authority
- CN
- China
- Prior art keywords
- cache space
- report
- cache
- count
- threshold
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
- G06F15/781—On-chip cache; Off-chip memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/084—Multiuser, multiprocessor or multiprocessing cache systems with a shared cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
- G06F12/0895—Caches characterised by their organisation or structure of parts of caches, e.g. directory or tag array
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明提供了一种基于FPGA报单管理的共享缓存方法,步骤1:片内缓存的分配,将片内缓存划分为私有缓存空间和共享缓存空间并设置私有缓存空间阈值,多个报单优先级缓存空间阈值、使用共享缓存的空间配置共享缓存阈值;步骤2:将报单计数和私有空间阈值、优先级私有空间阈值阈值、缓存空间阈值进行比较,判断是否接单;步骤3:根据当前客户占用的报单计数回收缓存空间。本发明结合FPGA芯片处理的高并发性和低延迟的技术特性,充分发挥并行化和流水化处理的优势,既保证里交易系统的低延迟,可达到FPGA系统钟的纳秒级延迟,又保证了大报单量的快速缓存,和现有保单管理相比成本低、功耗小、延迟低。
Description
技术领域
本发明属于金融交易系统的保单存储领域,涉及到一种基于FPGA报单管理的共享缓存方法。
背景技术
随着全球化市场的发展,参与证券股票,期货等金融交易的用户越来越多,交易数据量也越来越大,客户对金融交易的低延时要求也越来越高,为了尽可能的降低延时,整个交易路径都尽可能的将业务下沉到硬件做加速,利用FPGA(Field Programmable GateArray现场可编程逻辑门阵列)实现硬件加速则是成为首选。但是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。
虽然本发明已以较佳实施例公开如上,但它们并不是用来限定本发明的,任何熟习此技艺者,在不脱离本发明之精神和范围内,自当可作各种变化或润饰,因此本发明的保护范围应当以本申请的权利要求保护范围所界定的为准。
Claims (5)
1.一种基于FPGA报单管理的共享缓存方法,包括以下步骤:步骤1:片内缓存的分配,将片内缓存划分为私有缓存空间和共享缓存空间并设置私有缓存空间阈值,并对每个客户设置多个报单优先级缓存空间阈值和每个客户使用共享缓存的空间配置共享缓存阈值;步骤2:将报单计数和私有空间阈值、报单优先阈值和缓存空间阈值进行比较,判断是否接单,如果接单确定使用哪个缓存空间,如果使用私有缓存空间,私有缓存计算加1,如有使用共享缓存空间,共享缓存空间报单计数加1;步骤3:根据当前客户占用的报单计数回收缓存空间。
2.如权利要求1所述的方法,其特征在于:所述报单计数包括私有缓存空间报单计数和共享缓存空间报单计数。
3.如权利要求2所述的方法,其特征在于;所述私有缓存空间报单计数和共享缓存空间报单计数分别计数。
4.如权利要求2或3所述的方法,其特征在于:在步骤2中,判断是否接单的方法为:第一步:报单计数先和优先级缓存空间阈值进行比较,如何报单计数大于优先级缓存空间阈值,进入第五步;否则进入第二步:将优先级缓存空间阈值和私有缓存空间阈值进行比较,如果优先级缓存空间阈值大于私有缓存空间阈值,进入第三步,否则进入第六步;第三步:将报单计数和私有缓存空间阈值进行比较,如果报单计数大于私有缓存空间阈值,则进入第四步,否则进入第六步;第四步:将共享缓存空间计数和共享缓存空间阈值进行比较,如果共享缓存空间计算大于共享缓存空间阈值,则进入第五步,否则进入第六步;第五步:不允许报单;第六步:允许报单。
5.如权利要求2或3所述的方法,其特征在于:在步骤3中,缓存回收空间的方法为:根据允许报单使用的私有缓存空间报单计数和共享缓存空间报单计数,如果共享缓存空间报单计数不为0,则共享缓存空间报单计数减1,如果共享缓存空间报单计数等于0,则对私有缓存空间报单计数减1。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010668619.5A CN111563060A (zh) | 2020-07-13 | 2020-07-13 | 一种基于fpga报单管理的共享缓存方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010668619.5A CN111563060A (zh) | 2020-07-13 | 2020-07-13 | 一种基于fpga报单管理的共享缓存方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111563060A true CN111563060A (zh) | 2020-08-21 |
Family
ID=72075411
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010668619.5A Pending CN111563060A (zh) | 2020-07-13 | 2020-07-13 | 一种基于fpga报单管理的共享缓存方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111563060A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107347039A (zh) * | 2016-05-05 | 2017-11-14 | 深圳市中兴微电子技术有限公司 | 一种共享缓存空间的管理方法及装置 |
CN107870871A (zh) * | 2016-09-23 | 2018-04-03 | 华为技术有限公司 | 分配缓存的方法和装置 |
CN108269188A (zh) * | 2016-12-30 | 2018-07-10 | 上海金融期货信息技术有限公司 | 一种基于fpga的交易所行情信息处理方法和系统 |
CN108632169A (zh) * | 2017-03-21 | 2018-10-09 | 中兴通讯股份有限公司 | 一种分片的服务质量保证方法及现场可编程逻辑门阵列 |
-
2020
- 2020-07-13 CN CN202010668619.5A patent/CN111563060A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107347039A (zh) * | 2016-05-05 | 2017-11-14 | 深圳市中兴微电子技术有限公司 | 一种共享缓存空间的管理方法及装置 |
CN107870871A (zh) * | 2016-09-23 | 2018-04-03 | 华为技术有限公司 | 分配缓存的方法和装置 |
CN108269188A (zh) * | 2016-12-30 | 2018-07-10 | 上海金融期货信息技术有限公司 | 一种基于fpga的交易所行情信息处理方法和系统 |
CN108632169A (zh) * | 2017-03-21 | 2018-10-09 | 中兴通讯股份有限公司 | 一种分片的服务质量保证方法及现场可编程逻辑门阵列 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110008257B (zh) | 数据处理方法、装置、系统、计算机设备和存储介质 | |
CN111344706B (zh) | 管理区块链上的交易的方法和系统 | |
CN108776934B (zh) | 分布式数据计算方法、装置、计算机设备及可读存储介质 | |
CN109710405B (zh) | 区块链智能合约管理方法、装置、电子设备及存储介质 | |
CN110401720B (zh) | 信息处理方法、装置、系统、应用服务器和介质 | |
CN108319598B (zh) | 数据缓存方法、装置和系统 | |
CN106713028B (zh) | 业务降级方法、装置和分布式任务调度系统 | |
US10701154B2 (en) | Sharding over multi-link data channels | |
US10425273B2 (en) | Data processing system and data processing method | |
CN113515545A (zh) | 数据查询方法、装置、系统、电子设备以及存储介质 | |
CN113923216B (zh) | 一种分布式集群限流系统及方法和分布式集群节点 | |
CN110489418B (zh) | 一种数据聚合方法和系统 | |
CN109191287A (zh) | 一种区块链智能合约的分片方法、装置及电子设备 | |
WO2021051782A1 (zh) | 区块链的共识方法、装置及设备 | |
CN109639747B (zh) | 数据请求处理、询问消息处理方法、装置以及设备 | |
US9043535B1 (en) | Minimizing application response time | |
CN109118361B (zh) | 额度管理方法、装置及系统 | |
US11962476B1 (en) | Systems and methods for disaggregated software defined networking control | |
CN111563060A (zh) | 一种基于fpga报单管理的共享缓存方法 | |
CN116248699B (zh) | 多副本场景下的数据读取方法、装置、设备及存储介质 | |
CN109308219B (zh) | 任务处理方法、装置及分布式计算机系统 | |
CN116319810A (zh) | 分布式系统的流量控制方法、装置、设备、介质及产品 | |
CN116226071A (zh) | 数据统计方法、装置、设备及存储介质 | |
CN110705884B (zh) | 清单处理方法、装置、设备及存储介质 | |
US10540341B1 (en) | System and method for dedupe aware storage quality of service |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200821 |
|
RJ01 | Rejection of invention patent application after publication |