Posts

Showing posts with the label regression

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....

Real Time Power Estimation and Thread Scheduling via Performance Counters

Authors: Karan Singh, Major Bhadauria, Sally A. McKee Venue:    ACM SIGARCH Computer Architecture News 2009 This paper presents a methodology for real-time power estimation via performance counters. The study is does completely on real hardware. The work characterizes power usage into four buckets: FP Units, Memory, Stalls, and Instructions Retired. This is based on the overall area of the chip itself. They utilize Spearman's rank correlation on the data to choose the best performance counter from each bucket. Four counters (this paper seems to be before perf event multiplexing) are selected as inputs to piecewise functions to approximate power utilization, obtaining a median error from 3.9-7.2% on different benchmark suites. The work then utilizes the power estimates to build a proof-of-concept thread scheduler as a user space program. Each application's current power draw can be estimated, and thus if the target is exceeded, an application can be unscheduled or replaced...