“…Typical state of the practice in industry is to employ rules-of-thumb, and to rely on past experience to guess at relevant configuration parameters. More recent academic work has examined techniques based on domain-specific analytical cost models [5,24,25,26,61,62], hill climbing algorithms on customized frameworks [31], machine learning techniques [13,14,19,29,49], and genetic algorithms executed on the real application [32]. While these techniques are promising, they have not been widely deployed due to their inherent limitations.…”