硬件平台中的资产管理设备和方法

文档序号:9872454阅读:618来源:国知局
硬件平台中的资产管理设备和方法
【技术领域】
[0001]概括而言,本发明涉及数据处理系统,更具体而言,本发明涉及用于在硬件平台中管理资产(例如金融订单)的方法和系统。
【背景技术】
[0002]随着在金融业中对于更快地处理大量数据的需求的增长,基于依赖通用CPU的集群(cluster)的数据处理系统显示出了很多限制。实际上,如果集群方法涉及廉价的硬件并且提供简化发展的工具,随着对于高性能计算的需求增加其具有很多更加显著的限制:高电力消耗、昂贵的维护成本、数据中心所需的大量空间。此外,利用集群所获得的整体性能并不随集群数量成比例地增加。不同于集群方法,使用有限数量的配备有FPGA的机器,基于FPGA的数据处理系统能够以大吞吐量来并行执行复杂的任务。因此,该硬件方法对于金融和投资业领域中的应用软件的研发尤其适用,在这些领域中,快速计算是保持竞争力的关键。
[0003]FPGA(现场可编程门阵列的缩写)指的是可以在制造之后进行配置的集成电路。该配置一般使用硬件描述语言(HDL)来指定。FPGA包含大量的可编程逻辑部件(“逻辑块”),以及使得块能够“连接在一起”的可重复配置的互联的体系。逻辑块可以被配置为执行复杂组合功能,或仅执行简单的基本逻辑运算(布尔AND、0R、NAND、X0R等)。因为FPGA可以执行并行计算,所以仅仅在几个时钟周期内,对于多个独立的输入可以同时执行相同的算法。因此,FPGA尤其适于非常快速地执行复杂计算。
[0004]出于这些原因,越来越多的市场数据处理系统使用FPGA来设计。
[0005]市场数据处理系统一般包括订单管理设备,其用于以一定的数据结构(例如散列表)存储关于在输入指令中识别出的每个金融订单的细节。订单管理设备进一步依据输入指令而管理对该数据结构的访问。例如,如果接收到了识别订单的增加指令,则订单管理结构可以向数据结构增加订单;或者如果接收到了删除指令,则订单管理结构可以从数据结构中删除订单。
[0006]然而,当前的订单管理设备提供的性能很差,而且不能符合与最新的网络连接的lOGb/s吞吐量相关联的操作速率。一个已知的克服这样的不足的方法是,将负载分散在多个服务器上,每个服务器仅处理数据供给的一部分。然而,这增加了整体系统的延迟,而这是不符预期的。
[0007]因此,存在着对于基于硬件方案(硬件加速)的改进了的订单管理设备的需求,尤其是基于围绕FPGA建立的方案。

【发明内容】

[0008]为了解决这些问题和其他问题,提供如所附独立权利要求1所限定的资产管理方法,以及如所附权利要求8所限定的资产管理设备。从属权利要求中限定了优选的实施方案。
[0009]本发明允许处理比现有技术更多的每单位时间消息。
[0010]更概括而言,根据本发明的实施方案的资产管理设备和方法进一步允许快速的指令执行。此外,使用可重复配置平台优化了数据处理所需的空间,并且节约了能源。
[0011]本发明的其他益处将通过下面的参考所附附图的具体描述而变得更加明显。
【附图说明】
[0012]参考所附附图,现在将通过示例的方式来描述本发明的实施方案,在附图中,相似的附图标记表示相似的元素,而且在附图中:
[0013]-图1表示示例性的市场数据处理架构;
[0014]-图2示出散列表的操作;
[0015]-图3表示根据本发明的某些实施方案的订单管理设备的架构;
[0016]-图4是示出根据本发明的某些实施方案的散列产生的函数图;
[0017]-图5是根据本发明的某些实施方案的流程图,
[0018]-图6显示根据本发明的某些实施方案的示例性资产管理设备,以及
[0019]-图7是示出根据本发明的某些实施方案的示例性的FPGA实施的框图。
【具体实施方式】
[0020]本发明的实施方案提供了可以用于数据处理系统(例如市场数据处理系统)的资产管理设备和方法,其用于存储和检索与资产识别符相关联的资产。图1显示了示例性的市场数据处理系统100,其用于获取和处理从一个或多个数据源(例如,金融交易所)传递的市场数据,在该系统中,可以使用根据本发明的某些实施方案的资产管理设备10。本文使用的术语“市场数据”指的是从多个外部源接收的以数据流形式的数据,包括报价以及与交易相关的数据(权益、固定收入、金融衍生产品和其他投资工具)。
[0021]数据处理架构100包括至少一个解码单元3 (也称为“市场数据包解码器”),该解码单元与馈送源交互,以便处理以给定的特定于源的协议(例如,FAST或FIX)接收的市场数据流,并且将其解码。解码单元3被配置为,将数据流从其特定于源的格式转换为内部格式(数据标准化过程)。根据每个数据馈送中的消息结构,解码单元3以特定的操作处理每个字段值(field value),将缺失数据填充以其缓存记录的值和状态,并且将其映射到系统所使用的格式。解码单元3然后可以基于所解码的消息来调用所选择的订单管理程序。
[0022]资产管理设备10(在下面的描述中也称为“订单管理设备”)被配置为,存储关于每个接收到的订单的细节,从而在需要订单时对其进行检索。限制项聚类和账簿建立设备4,其用于将等待进入订单账簿的订单聚类,对于每个工具呈现可能聚类到限制项中并且按价格排序的订单的列表。
[0023]如同本文所使用的,订单账簿指的是金融工具(例如,股票)的未付款限制项订单的电子集合。术语“订单”或“限制项订单”或“市场订单”指的是以特定的限制项价格或更好的价格,或以市场订单的市场价格来买入或卖出给定数目的金融工具的订单。此外,如同本文所使用的,术语“限制项”指的是对应于一个或几个订单的订单账簿中的“横排”或“条目”。当其对应于几个订单时,其还称为“聚类的限制项”。限制项是根据价格而聚类的,即,具有相同价格的订单的数目相加,形成限制项数目。聚类的限制项还可以具有“订单计数”属性,该属性反映被聚类在该限制项中的订单的数量。
[0024]限制项聚类和账簿建立设备4取得在订单管理设备10的存储器中混合的订单,并且使用在每个指令中传递的工具标识符来对其按账簿(也称为“订单账簿”)排序。订单账簿可以包括来自若干工具的订单,或者包括来自不同市场中的相同工具(合并账簿)的订单。此外,限制项聚类和账簿建立设备4取得相同的账簿中的每个单独订单,并且对其按价格进行分侧(出价或分价侧)和匹配,增加其数目。如同本文中所使用的,订单的大小或数目表示待买入或卖出的股份的数量。
[0025]然后,消息分发和传输单元5将经处理的数据格式化为消息,并且将其分发到所选择的客户端应用程序6以供进一步的处理和决策。当客户端应用程序6位于不同的服务器时,消息传输可以在网络上完成。
[0026]订单管理设备10的功能为,存储并检索金融订单。来自交易所的消息有时并不承载对于立即使用它们而言全部的必要信息。例如,增加消息(其表示用于在订单账簿中增加订单的指令)包含全部所需信息,而删除消息(其表示用于删除在订单账簿中的订单的指令)仅承载订单的标识符。在这样的情况下,消息并没有承载足够的信息,消息的接收方需要对订单、其相关联的价格和数目进行检索,甚至在某些市场中,还对其工具和侧(出价侧或要价侧)进行检索,然后再执行操作,例如删除订单。
[0027]现有的订单管理设备10是以软件实施的。其一般使用散列表或散列图。
[0028]散列表表示一种标准软件部件,其在多种库和语言中都是可用的。这些散列表的密钥是订单标识符(订单ID),值是完整的订单或指向这些订单的指针。散列表将每个密钥(订单ID)关联到使用散列函数计算出的地址,如图2所示。该地址则用于在存储器中对值(完整的订单)进行检索。订单ID不能直接用作地址,因为订单ID在比存储器地址位更多的位上进行编码,因此其过长。此外,一般而言,可能的ID比可用的存储器位置多。使用这样的数据结构,当散列函数对多于一个的订单ID产生相同的地址时,经常出现“冲突”。为了克服冲突问题,某些现有的订单管理设备使用了多个散列函数,以便在出现冲突时拥有替选地址,或者在每个散列表条目中将多个订单链表化。其他方案基于这样的有效散列函数:该散列函数试图在整个存储器中均匀地分散订单,以避免冲突。
[0029]然而,这些类型的数据结构产生了大量的随机存储器访问,因为订单ID在市场数据流中并不以顺序的方式出现,而散列函数将这些已然是随机的ID均匀地分布到整个存储器
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1