DocumentCode
2746198
Title
A dynamically tuned sorting library
Author
Li, Xiaoming ; Garzarán, María Jesús ; Padua, David
Author_Institution
Illinois Univ., Urbana-Champaign, IL, USA
fYear
2004
fDate
20-24 March 2004
Firstpage
111
Lastpage
122
Abstract
Empirical search is a strategy used during the installation of library generators such as ATLAS, FFTW, and SPIRAL to identify the algorithm or the version of an algorithm that delivers the best performance. In the past, empirical search has been applied almost exclusively to scientific problems. In this paper, we discuss the application of empirical search to sorting, which is one of the best understood symbolic computing problems. When contrasted with the dense numerical computations of ATLAS, FFTW, and SPIRAL, sorting presents a new challenge, namely that the relative performance of the algorithms depend not only on the characteristics of the target machine and the size of the input data but also on the distribution of values in the input data set. Empirical search is applied in the study reported here as part of a sorting library generator. The resulting routines dynamically adapt to the characteristics of the input data by selecting the best sorting algorithm from a small set of alternatives. To generate the run time selection mechanism our generator makes use of machine learning to predict the best algorithm as a function of the characteristics of the input data set and the performance of the different algorithms on the target machine. This prediction is based on the data obtained through empirical search at installation time. Our results show that our approach is quite effective. When sorting data inputs of 12M keys with various standard deviations, our adaptive approach selected the best algorithm for all the input data sets and all platforms that we tried in our experiments. The wrong decision could have introduced a performance degradation of up to 133%, with an average value of 44%.
Keywords
application generators; automatic programming; program compilers; search problems; software libraries; sorting; empirical search; library generators; machine learning; performance degradation; sorting library; symbolic computing problems; Character generation; Distributed computing; Libraries; Machine learning; Machine learning algorithms; Polarization; Prediction algorithms; Signal processing algorithms; Sorting; Spirals;
fLanguage
English
Publisher
ieee
Conference_Titel
Code Generation and Optimization, 2004. CGO 2004. International Symposium on
Print_ISBN
0-7695-2102-9
Type
conf
DOI
10.1109/CGO.2004.1281668
Filename
1281668
Link To Document