Querying input data
AssigneeThe Regents of the University of Michigan
InventorsPrateek TANDON, Thomas Friedrich WENISCH, Michael John CAFARELLA
Life of this patent
Estimating the term…
Abstract
A hardware accelerator 2 for performing queries into, for example, an indexed text log files is formed of plurality of hardware execution units (text engines) 4, each executing a partial query program upon the same full set of input data. These partial query programs may switch between different query algorithms on up to a per-character basis. The sequence of data when loaded into a buffer memory 16 for querying may be searched for delimiters as the data is loaded. The hardware execution units may support a number match program instruction which serves to identify a numeric variable, and to determine a value of that numeric variable located at a variable position within a sequence of characters being queried.
Claims20
A method of processing data comprising the steps of:
- receiving a query specifying a query operation to be performed upon a set of input data;
- generating a plurality of partial query programs each corresponding to a portion of said query operation;
- and
- executing each of said plurality of partial query programs with all of said set of said input data as an input to each of said plurality of partial query programs.
A method of processing data comprising the steps of:
- receiving a query specifying a query operation to be performed upon input data;
- programming one or more hardware execution units to perform said query, wherein
- said step of programming programs said one or more hardware execution units to use selected ones of a plurality of different query algorithms to perform different portions of said query operation upon different portions of said input data.
Apparatus for processing data comprising:
- a memory to store a sequence of data to be queried;
- delimiter identifying circuitry to identity data delimiters between portions of said sequence of data as said data is stored to said memory;
- and
- a delimiter store to store storage locations of said data delimiters within said memory.
Apparatus for processing data comprising:
- programmable processing hardware responsive to a number match program instruction to identify a numeric variable and to determine a value of said numeric variable located at a variable position within a sequence of characters.
Dependencies are inferred from the claim text.