Exploiting parallelism for faster implementation of Bubble sort algorithm using FPGA

Sorting is a classic problem that has been studied for decades. From the beginning of computing, many Sorting algorithms have been investigated. Bubble sort is a very common and powerful sorting technique used in different applications. For high speed data processing, we need faster and efficient environment for any sorting algorithm. In this purpose, FPGA based hardware accelerators can show better performance for high speed data processing than the general purpose processors. In this paper, the sequential and parallel bubble sort algorithm is implemented using FPGA. We show that parallel implementation of Bubble sort algorithm is almost 10 times faster than that of sequential implementation for 20 different data inputs. However, this implementation is faster for more data inputs.

[1]  Kevin Skadron,et al.  Accelerating Compute-Intensive Applications with GPUs and FPGAs , 2008, 2008 Symposium on Application Specific Processors.

[2]  Rahim Rashidy,et al.  Parallel bubble sort using stream programming paradigm , 2011, 2011 5th International Conference on Application of Information and Communication Technologies (AICT).

[3]  Shengnan Dong,et al.  A Novel High-Speed Parallel Scheme for Data Sorting Algorithm Based on FPGA , 2009, 2009 2nd International Congress on Image and Signal Processing.

[4]  Tsutomu Maruyama,et al.  Performance comparison of FPGA, GPU and CPU in image processing , 2009, 2009 International Conference on Field Programmable Logic and Applications.

[5]  Donald E. Knuth,et al.  The art of computer programming: sorting and searching (volume 3) , 1973 .

[6]  Donald Ervin Knuth,et al.  The Art of Computer Programming , 1968 .

[7]  Viktor K. Prasanna,et al.  A hybrid design for high performance large-scale sorting on FPGA , 2015, 2015 International Conference on ReConFigurable Computing and FPGAs (ReConFig).