This Article 
 Bibliographic References 
 Add to: 
A Special Function Unit for Database Operations (SFU-DB): Design and Performance Evaluation
March 1991 (vol. 40 no. 3)
pp. 263-275

The design and analysis of a special function unit for database operations (SFU-DB) that uses a novel hardware sorting module, the automatic retrieval memory (ARM), are described. The SFU-DB is a functionally independent unit that efficiently performs certain nonnumeric operations. It can function as a coprocessor for a host CPU or as a special processing unit in a highly parallel processing system. The ARM implements in hardware a true distribution-based sort algorithm that requires no comparison operations. Without performing any comparison, the SFU-DB avoids the lower bound constraint on comparison-based sorting algorithms and achieves, for the worst case, a complexity of O(n) for both execution time and main memory size. Using the fundamental sort algorithm with slight modifications. the SFU-DB also uses the ARM as an engine for other primitive database operations such as relational join, elimination of duplicates, set union, set intersection, and set difference, also with complexity of O(n). The SFU-DB/ARM architecture is rather simple and requires only a modest amount of specialized hardware. The specialized hardware has been designed and simulated for fabrication using CMOS gate arrays, and the remainder of the SFU-DB has been simulated in software using Turbo Pascal running on an IBM-PC.

[1] K. E. Batcher, "Sorting networks and their applications," inProc. AFIPS, Spring Joint Comput. Conf., vol. 32, 1968, pp. 307-314.
[2] T. C. Chen, V. W. Lum, and C. Tung, "The Rebound Sorter: An efficient sort engine for large files," inProc. 4th Int. Conf. VLDB, West Berlin, Sept. 1978, pp. 312-325.
[3] E. Dittert and M. J. O'Donnell, "Lower bounds for sorting with realistic instruction set,"IEEE Trans. Comput., vol. C-34, no. 4, pp. 311-317, Apr. 1985.
[4] Y. Dohi, A. Suzudi, and N. Matsui, "Hardware sorter and its application to database machines," inProc. 9th Annu. Symp. Comput. Architecture, Sigarch Newsletters, vol. 10, no. 3, pp. 218-225, 1982.
[5] Y. C. Hong, "Efficient computing of relational algebraic primitives in a database machine architecture,"IEEE Trans. Comput., vol. C-34, no. 7, pp. 588-595, July 1985.
[6] M. Kitsuregawa, S. Fushimi, K. Kuwabara, H. Tanaka, and T. Motooka, "The organization of pipelined merge sorter,"Trans. IECE Japan, vol. J66-d, pp. 332-339, 1983.
[7] N. Kitsuregawa, H. Tanaka, and T. Moto-oka, "Architecture and performance of relational algebra machine GRACE," inProc. Int. Conf. Parallel Processing, Aug. 1984.
[8] M. Kitsuregawa, S. Fushimi, H. Tanaka, and T. Moto-oka, "Memory management algorithms in pipeline merge sorter,"Database Machine, IWDM, Bahama, Mar. 1985.
[9] D. E. Knuth,The Art of Computer Programming, Vol. 3, Reading, MA: Addison-Wesley, 1973.
[10] C. P. Kruskal, "Searching, merging, and sorting in parallel computation,"IEEE Trans. Comput., vol. C-32, no. 12, pp. 942-946, Oct. 1983.
[11] M. Kumar and D. S. Hirschberg, "An efficient implementation of Batcher's odd-even merge algorithm and its application in parallel sorting schemes,"IEEE Trans. Comput., vol. C-32, no. 3, pp. 254-264, Mar. 1983.
[12] H. Lam, S. Y. W. Su, C. Seeger, C. Lee, and W. R. Eisenstadt, "A special function unit for database operations within a data-control flow system," inProc. 16th Int. Conf. Parallel Processing, St. Charles, IL, Aug. 17-21, 1987.
[13] C. Lee, "The design and evaluation of a special function unit for nonnumerical operations," M.E. thesis, Dep. Elec. Eng., Univ. of Florida, Gainesville, FL, May 1986.
[14] T. Leighton, "Tight bounds on the complexity of parallel sorting,"IEEE Trans. Comput., vol. C-34, no. 4, pp. 344-354, Apr. 1985.
[15] E. E. Lindstrom and J. S. Vitter, "The design and analysis of bucketsort for bubble memory secondary storage,"IEEE Trans. Comput., vol. C-34, no. 3, pp. 218-233, Mar. 1985.
[16] H. Mannila, "Measures of presortedness and optimal sorting algorithms,"IEEE Trans. Comput., vol. C-34, no. 4, pp. 318-325, Apr. 1985.
[17] D. E. Muller and F. P. Preparata, "Bounds to complexities of networks for sorting and switching,"J. ACM, vol. 22, no. 2, Apr. 1975.
[18] L. Raschid, T. Fei, H. Lam, and S. Y. W. Su, "A special function unit for sorting and sort-based database operations,"IEEE Trans. Comput., vol. C-35, pp. 1071-1077, Dec. 1986.
[19] H. Stone, "Parallel processing with perfect shuffle,"IEEE Trans. Comput., vol. C-20, no. 2, pp. 153-161, Feb. 1971.
[20] N. Takagi and C. K. Wang, "A hardware sort-merge system,"IBM J. Res. Develop., vol. 29, no. 1, pp. 49-67, Jan. 1985.
[21] C. D. Thompson, "The VLSI complexity of sorting,"IEEE Trans. Comput., vol. C-32, no. 12, pp. 1171-1184, Dec. 1983.
[22] S. Todd, "Algorithm and hardware for a merge sort using multiple processors,"IBM J. Res. Develop., vol. 22, no. 5, pp. 509-517, Sept. 1978.
[23] L. E. Winslow and Y. C. Chow, "The analysis and design of some new sorting machines,"IEEE Trans. Comput., vol. C-32, no. 7, pp. 677-683, July 1983.

Index Terms:
worst case complexity; duplicates elimination; special function unit; database operations; SFU-DB; performance evaluation; hardware sorting module; automatic retrieval memory; nonnumeric operations; coprocessor; host CPU; special processing unit; parallel processing system; distribution-based sort algorithm; execution time; main memory size; fundamental sort algorithm; relational join; set union; set intersection; set difference; fabrication; CMOS gate arrays; Turbo Pascal; computational complexity; database management systems; parallel algorithms; performance evaluation; sorting; special purpose computers.
H. Lam, C. Lee, S.Y.W. Su, "A Special Function Unit for Database Operations (SFU-DB): Design and Performance Evaluation," IEEE Transactions on Computers, vol. 40, no. 3, pp. 263-275, March 1991, doi:10.1109/12.76403
Usage of this product signifies your acceptance of the Terms of Use.