A configurable high-throughput linear sorter system

Popular sorting algorithms do not translate well into hardware implementations. Instead, hardware-based solutions like sorting networks and linear sorters exploit parallelism to increase sorting efficiency. Linear sorters, built from identical nodes with simple control, have less area and latency than sorting networks, but they are limited in their throughput. We present a system composed of multiple linear sorters acting in parallel in order to increase throughput. Interleaving is used to increase bandwidth and allow sorting of multiple values per clock cycle, and the amount of interleaving and depth of the linear sorters can be adapted to suit specific applications. Implementation of this system into a Field Programmable Gate Array (FPGA) results in a speedup of 68 compared to quicksort running in a MicroBlaze processor.

[1]  Chen-Yi Lee,et al.  A shift register architecture for high-speed data sorting , 1995, J. VLSI Signal Process..

[2]  Kenneth E. Batcher,et al.  Sorting networks and their applications , 1968, AFIPS Spring Joint Computing Conference.

[3]  David Castells-Rufas,et al.  A Reconfigurable Recurrent Bitonic Sorting Network for Concurrently Accessible Data , 2004, FPL.

[4]  Jorge Ortiz,et al.  Synthesis Techniques for Semi-Custom Dynamically Reconfigurable Superscalar Processors , 2009 .

[5]  N. Tabrizi,et al.  An ASIC design of a novel pipelined and parallel sorting accelerator for a multiprocessor-on-a-chip , 2005, 2005 6th International Conference on ASIC.

[6]  A. Cicuttin,et al.  SORTCHIP: a VLSI implementation of a hardware algorithm for continuous data sorting , 2003, IEEE J. Solid State Circuits.

[7]  Rajgopal Kannan A pipelined single-bit controlled sorting network with O(Nlog/sup 2/N) bit complexity , 1997, Proceedings of INFOCOM '97.

[8]  Donald E. Knuth,et al.  The Art of Computer Programming, Vol. 3: Sorting and Searching , 1974 .

[9]  Claudia Feregrino Uribe,et al.  Author ' s personal copy A versatile linear insertion sorter based on an FIFO scheme , 2009 .

[10]  Horácio C. Neto,et al.  Sorting Units for FPGA-Based Embedded Systems , 2008, DIPES.

[11]  Rajgopal Kannan A Pipelined Single-Bit Controlled Sorting Network with O ( N log 2 N ). , 1997, INFOCOM 1997.

[12]  José Francisco Martínez Trinidad,et al.  An FPGA-based parallel sorting architecture for the Burrows Wheeler transform , 2005, 2005 International Conference on Reconfigurable Computing and FPGAs (ReConFig'05).

[13]  Bin-Da Liu,et al.  Design of a pipelined and expandable sorting architecture with simple control scheme , 2002, 2002 IEEE International Symposium on Circuits and Systems. Proceedings (Cat. No.02CH37353).

[14]  Claudia Feregrino Uribe,et al.  A Versatile Linear Insertion Sorter Based on a FIFO Scheme , 2008, 2008 IEEE Computer Society Annual Symposium on VLSI.