Posts

Showing posts with the label auto-tuning

A Case for Machine Learning to Optimize Multicore Performance

Authors: Archana Ganapathi, Kaushik Datta, Armando Fox, David Patterson Venue: USENIX Hot Topics in Parallelism 2009 This workshop paper examines applying a machine learning technique to auto-tuning HPC stencils. The configuration space consists of 5 independent knobs resulting in a total of ~4 million possible configurations. The work applies KCCA (kernel canonical correlation analysis) which finds correlations between two sets of data, in this case performance measurements and tune settings. KCCA is a specific way to do this that allows for non-linear relationships. Compared to feature extraction techniques, this is a direct way to find correlations rather than just using an intermediate step of feature extraction followed by a method of clustering. The main reason this appears to be only a workshop paper is that only two experiments are performed, both using stencils. The KCCA algorithm is definitely worth a deeper understanding, as the results are promising. Full Text

Automatic Database Management System Tuning Through Large-scale Machine Learning

Authors: Dana Van Aken, Andrew Pavlo, Geoffrey J. Gordon, Bohan Zhang Venue:    SIGMOD 2017 The paper presented an automated framework for tuning database configuration knobs called OtterTune. OtterTune uses a hybrid of offline and online learning, which enables it to recognize similar behaviors and perform online optimization faster.       Before final optimization of a workload, a database of various knob settings and workloads must be collected. Next, OtterTune uses factor analysis to to first prune the set of performance metrics (a dimensionality reduction technique). Next performance tuning knobs are ranked via Lasso regularization. This allows for the automated tuner to reduce the search space by prioritizing the most impactful knobs.      Online, the OtterTune first tries to find a match between a previous workload and the current workload. The next phase is the exploration/exploitation phase which is guided by a Gaussian Process....