• 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