Method and apparatus for processing financial information at hardware speeds using FPGA devices
First Claim
Patent Images
1. A system for accelerated data reduction with respect to financial information, the system comprising:
- at least one field programmable gate array (FPGA) having a hardware template deployed thereon for configuring the FPGA to perform a data reduction operation on streaming financial information, the hardware template deployed on the FPGA defining matching hardware logic and downstream summarization hardware logic that are resident on the FPGA;
wherein the matching hardware logic comprises a first data register configured to store a data key, and wherein the matching hardware logic is configured to (1) receive a stream of financial information, the financial information comprising a plurality of stock symbols and their associated stock prices, each stock price having an associated time, and (2) match the financial information against the data key to find matched data within the financial information, wherein the matched data comprises a plurality of stock prices and times for a stock;
wherein the summarization hardware logic comprises;
a data shift register, wherein the FPGA is further configured to stream the stock prices and times within the matched data through the data shift register;
a second data register configured to store a most recent minimum stock price for the stock of the matched data;
a third data register configured to store a most recent maximum stock price for the stock of the matched data;
a fourth data register configured to store a most recent latest stock price for the stock of the matched data;
a fifth data register configured to store a most recent time;
a first comparator;
a second comparator; and
a third comparator;
wherein the first comparator is configured to, as the stock prices and times stream through the data shift register, compare a current stock price in the data shift register with the stored most recent minimum stock price to determine which is lower; and
wherein the summarization hardware logic is further configured to update the stored most recent minimum stock price in the first data register with the current stock price in response to a determination by the first comparator that the current stock price is lower;
wherein the second comparator is configured to, as the stock prices and times stream through the data shift register, compare the current stock price in the data shift register with the stored most recent maximum stock price to determine which is higher;
wherein the summarization hardware logic is further configured to update the stored most recent maximum stock price in the second data register with the current stock price in response to a determination by the second comparator that the current stock price is higher;
wherein the third comparator is configured to, as the stock prices and times stream through the data shift register, compare the current time in the data shift register with the stored most recent time to determine which is later;
wherein the summarization hardware logic is further configured to update the stored most recent latest stock price in the third data register with the current stock price in the data shift register in response to a determination by the third comparator that the current time is later;
wherein the first, second, and third comparators are in a parallel orientation such that the first, second, and third comparators operate simultaneously with each other; and
wherein the matching hardware logic and the summarization hardware logic are configured in a pipelined orientation such that the matching hardware logic and the summarization hardware logic operate simultaneously with each other, the summarization hardware logic being configured to operate on matched data previously found by the matching hardware logic while the matching hardware logic is configured to operate on new streaming financial information, the matching hardware logic and the summarization hardware logic thereby being configured to simultaneously operate together to generate a running computation of the minimum price, the maximum price, and the latest price for the stock prices within the matched data on a streaming basis as the financial information streams through the FPGA.
3 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus use decision logic deployed on a reconfigurable logic device to process a stream of financial information at hardware speeds. The decision logic can be configured to perform data reduction operations on the financial information stream. Examples of such data reductions operations include data processing operations to compute a latest stock price, a minimum stock price, and a maximum stock price.
406 Citations
34 Claims
-
1. A system for accelerated data reduction with respect to financial information, the system comprising:
-
at least one field programmable gate array (FPGA) having a hardware template deployed thereon for configuring the FPGA to perform a data reduction operation on streaming financial information, the hardware template deployed on the FPGA defining matching hardware logic and downstream summarization hardware logic that are resident on the FPGA; wherein the matching hardware logic comprises a first data register configured to store a data key, and wherein the matching hardware logic is configured to (1) receive a stream of financial information, the financial information comprising a plurality of stock symbols and their associated stock prices, each stock price having an associated time, and (2) match the financial information against the data key to find matched data within the financial information, wherein the matched data comprises a plurality of stock prices and times for a stock; wherein the summarization hardware logic comprises; a data shift register, wherein the FPGA is further configured to stream the stock prices and times within the matched data through the data shift register; a second data register configured to store a most recent minimum stock price for the stock of the matched data; a third data register configured to store a most recent maximum stock price for the stock of the matched data; a fourth data register configured to store a most recent latest stock price for the stock of the matched data; a fifth data register configured to store a most recent time; a first comparator; a second comparator; and a third comparator; wherein the first comparator is configured to, as the stock prices and times stream through the data shift register, compare a current stock price in the data shift register with the stored most recent minimum stock price to determine which is lower; and wherein the summarization hardware logic is further configured to update the stored most recent minimum stock price in the first data register with the current stock price in response to a determination by the first comparator that the current stock price is lower; wherein the second comparator is configured to, as the stock prices and times stream through the data shift register, compare the current stock price in the data shift register with the stored most recent maximum stock price to determine which is higher; wherein the summarization hardware logic is further configured to update the stored most recent maximum stock price in the second data register with the current stock price in response to a determination by the second comparator that the current stock price is higher; wherein the third comparator is configured to, as the stock prices and times stream through the data shift register, compare the current time in the data shift register with the stored most recent time to determine which is later; wherein the summarization hardware logic is further configured to update the stored most recent latest stock price in the third data register with the current stock price in the data shift register in response to a determination by the third comparator that the current time is later; wherein the first, second, and third comparators are in a parallel orientation such that the first, second, and third comparators operate simultaneously with each other; and
wherein the matching hardware logic and the summarization hardware logic are configured in a pipelined orientation such that the matching hardware logic and the summarization hardware logic operate simultaneously with each other, the summarization hardware logic being configured to operate on matched data previously found by the matching hardware logic while the matching hardware logic is configured to operate on new streaming financial information, the matching hardware logic and the summarization hardware logic thereby being configured to simultaneously operate together to generate a running computation of the minimum price, the maximum price, and the latest price for the stock prices within the matched data on a streaming basis as the financial information streams through the FPGA. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A method for accelerated data reduction with respect to financial information, the method comprising:
-
receiving, by at least one field programmable gate array (FPGA), streaming financial information, the financial information comprising a plurality of stock symbols and their associated stock prices, each stock price having an associated time, the FPGA having a hardware template deployed thereon that configures the FPGA to perform a data reduction operation on streaming financial information, the hardware template deployed on the FPGA defining matching hardware logic and downstream summarization hardware logic that are resident on the FPGA; storing a data key in a first data register, the first data register being a part of the matching hardware logic; matching the financial information against the data key to find matched data within the financial information, wherein the matched data comprises a plurality of stock prices and times for a stock, the matching step being performed by the matching hardware logic; streaming the stock prices and times within the matched data through a data shift register, the data shift register being a part of the summarization hardware logic; storing a most recent minimum stock price for the stock of the matched data in a second data register; storing a most recent maximum stock price for the stock of the matched data in a third data register; storing a most recent latest stock price for the stock of the matched data in a fourth data register; storing a most recent time in a fifth data register; and as the stock prices and times stream through the data shift register, (i) comparing a current stock price in the data shift register with the stored most recent minimum stock price to determine which is lower using a first comparator, the first comparator being a part of the summarization hardware logic, (ii) updating the stored most recent minimum stock price with the current stock price if the minimum price comparing step results in a determination that the current stock price is lower, (iii) comparing the current stock price in the data shift register with the stored most recent maximum stock price to determine which is higher using a second comparator, the second comparator being a part of the summarization hardware logic, (iv) updating the stored most recent maximum stock price with the current stock price if the maximum price comparing step results in a determination that the current stock price is higher, (v) comparing a current time in the data shift register with the stored most recent time to determine which is later using a third comparator, the third comparator being a part of the summarization hardware logic, and (vi) updating the stored most recent latest stock price with the current stock price in the data shift register if the latest price comparing step results in a determination that the current time is later; wherein the first, second, and third comparators are in a parallel orientation such that the minimum price comparing step, the maximum price comparing step, and the latest price comparing step operate simultaneously with respect to each other; and wherein the matching hardware logic and the summarization hardware logic are configured in a pipelined orientation such that the matching step and the comparing steps are performed simultaneously with each other, the comparing steps operating on matched data previously found by the matching step while the matching step operates on new streaming financial information, the matching hardware logic and the summarization hardware logic thereby operating together simultaneously to generate a running computation of the minimum price, the maximum price, and the latest price for the stock prices within the matched data on a streaming basis as the financial information streams through the FPGA. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34)
-
Specification