Presentation is loading. Please wait.

Presentation is loading. Please wait.

Efficient Associative SIMD Processing for Non-Tabular Data Jalpesh K. Chitalia and Robert A. Walker Computer Science Department Kent State University.

Similar presentations


Presentation on theme: "Efficient Associative SIMD Processing for Non-Tabular Data Jalpesh K. Chitalia and Robert A. Walker Computer Science Department Kent State University."— Presentation transcript:

1 Efficient Associative SIMD Processing for Non-Tabular Data Jalpesh K. Chitalia and Robert A. Walker Computer Science Department Kent State University

2 Presentation Outline  ASC Processor Architecture  Associative Features  Structure Codes  Represent Data Structures  Structure Code Operations  Summary and Future Work

3 The ASC Processor  A scalable design implemented on a million gate Altera FPGA  SIMD-like architecture  Currently, 36 8-bit Processing Elements (PE) available  8-bit Instruction Stream (IS) control unit with 8-bit Instruction and Data addresses, 32-bit instructions

4 The ASC Architecture

5  Each PE listens to the IS through the broadcast and reduction network  PEs can communicate amongst themselves using the PE Network  PE may either execute or ignore the microcode instruction broadcast by IS under the control of the Mask Stack

6 The ASC Features  Associative Search Each PE can search its local memory for a key under the control of IS  Responder Resolution A special circuit signals if ‘at least one’ record was found  Masked Operation Local Mask Stacks can turn on or off the execution of instruction from IS

7 The ASC Example Select * from Students where Grade > 90

8 The ASC Features  Constant Time Associative Operations Associative Search Finding minimum or maximum in a field  Ideal for Database processing Data is organized in tabular format Each tuple in a table can be processed by one PE  PE Network Many parallel algorithms require all PEs to move contents in a regular pattern E.g.: Image Convolution, Matrix Multiplication

9 Non Tabular Data Structures  Many applications use linked list based data structures For example, plain HTML parsing can be done using tree-structure Similarly, XML or Object-relational databases can be represented using trees only Game programming uses tree-based algorithms, and demand much of processing power Complier construction uses directed acyclic graphs and tree structures

10 Data Structure Codes  A unique coding scheme Allows representation of any data structure into a tabular format Tabular format allows division of data amongst the PEs Also known as “structure code”  Different coding schemes for different data structures  Uses Associative Search feature of the ASC Processor

11 Simple List-based Structures  The left figure shows a possible representation of 1D and 2D arrays. Representations of this kind should be particularly useful for adjacency matrix or sparse matrix  The right figure represents stack and queue, depending on the use of appropriate functions

12 Complex List-based Structures Each digit-position indicates the level of a tree Each value in that position indicates the position of that child from the left Discussions henceforth are confined to trees Graphs are read in a slightly different manner

13 Structure Code Operations  Two sets of constant-time operations: scalar and parallel  Scalar Instructions are simple mathematic operations Search parent, child or root Finds value of structure code for next or previous nodes  Parallel Instructions use complex associative operations Finds code for next, previous or both siblings ‘Locates’ the required node for further processing

14 Scalar Operations fstcd: leftmost child nxtcd: right sibling prvcd: left sibling trncd: truncate (parent) node trnacd: truncate all (root) node  Can be used to allocate a new node Limited use in searching records

15 Parallel Operations  Index instructions: Flags a node of the result to ease further processing nxtdex (next or right), prvdex (previous or left) and sibdex (siblings or both left and right)  Value instructions: Returns the exact structure code of the result nxtval (next or right) and prvval (previous or left)  Can be used to ‘locate’ nodes in any tree  Uses parallel and associative hardware resources

16 Summary  SIMD-based computers are more suited for database processing  ASC processor with its associative operations makes them more efficient  Structure codes translate non-tabular data structures into a tabular format Tree and Graphs can be represented and evenly divided like records in a table  Object-relational databases, XML databases, plain HTML processing Stacks, Queues, multi-dimensional arrays can be represented  Structure codes not required for even division

17 Future Work  Efforts are in place to clean the architecture To allow multiplier/divider on each PE To accommodate RISC instruction set  Unpacked bytes are used to support variable-length structure code Can be avoid with an efficient divider unit  Developing applications that use structure codes

18 Questions? Thank You!


Download ppt "Efficient Associative SIMD Processing for Non-Tabular Data Jalpesh K. Chitalia and Robert A. Walker Computer Science Department Kent State University."

Similar presentations


Ads by Google