发明名称 Parallel processing system
摘要 Software development tools and techniques for configuring parallel processing systems to execute software modules implementing processes for solving complex problems, including over-the-counter trading processes and foreign exchange trading processes, to execute quickly and efficiently. The parallel processing system may include low-cost, consumer-grade multicore processing units. A process for solving a complex problem may be divided into software modules, including by evaluating the process to determine discrete processing steps that produce an intermediate result on which later steps of the process depend. The software modules created for a process may form a template processing chain describing multiple processing chains of the process that are to be executed. A software development tool for producing configuration information for multicore processing units may evaluate the software modules and the processing chains to determine whether the modules will execute quickly and efficiently on the multicore processing units of the parallel processing system.
申请公布号 US8910167(B2) 申请公布日期 2014.12.09
申请号 US201213555027 申请日期 2012.07.20
申请人 oneZero Financial Systems, LLC 发明人 Kline Christopher John;Johnson Jesse;Ralich Andrew
分类号 G06F9/46 主分类号 G06F9/46
代理机构 Wolf, Greenfield & Sacks, P.C. 代理人 Wolf, Greenfield & Sacks, P.C.
主权项 1. A method comprising: generating, using at least one processor, a plurality of processing chains for parallel execution on at least one processing unit comprising a plurality of processing cores, the generating comprising generating each of the plurality of processing chains according to a template processing chain and a specification of data to be processed by the plurality of processing chains, the template processing chain comprising a plurality of software modules in which at least one software module receives one or more inputs that are one or more outputs of one or more other software modules of the plurality of software modules, the specification of data defining a plurality of inputs to be processed by the plurality of processing chains, wherein the generating comprises generating the plurality of processing chains such that each processing chain of the plurality of processing chains is adapted to cause the at least one processing unit to perform operations defined by the plurality of software modules on at least a portion of the data defined by the specification of data; selecting a configuration for the at least one processing unit for executing the plurality of processing chains on the plurality of processing cores, the selecting being carried out based at least in part on an execution efficiency of the plurality of processing chains when the at least one processing unit is configured according to the configuration; and producing configuration information for configuring the at least one processing unit according to the configuration, wherein: selecting the configuration comprises selecting a configuration in which software modules of each of the plurality of processing chains are executed on the plurality of processing cores according to a schedule;the plurality of processing cores comprises a plurality of types of processing core;at least one first processing core of a first type of processing core comprises at least one first component permitting the at least one first processing core to execute a first set of one or more instructions in a manner different from a manner in which processing cores of other types execute the first set of one or more instructions;at least one second processing core of a second type of processing core does not comprise the at least one first component; andthe method further comprises generating scheduling information for the configuration at least in part by assigning software modules of the plurality of processing chains to types of processing core, wherein the assigning comprises: evaluating executable instructions of a first software module of the software modules,identifying, based on the evaluating, that the first type of processing core is suitable for executing the executable instructions of the first software module, andstoring information indicating that the first software module is to be executed on a processing core of the first type.
地址 Cambridge MA US
您可能感兴趣的专利