{'fraction_non_alphanumeric': 0.027586206896551724, 'fraction_numerical': 0.0019704433497536944, 'mean_word_length': 5.35, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Presto Pack: Resource-aware Workload Placement for Higher Performance and Reliability

Presto is one of the most popular OLAP (Online Analytical Processing) query engines. A Presto cluster consists of multiple worker nodes that execute tasks. As of today, Presto's workload placement is not resource-aware, which leads to wildly unbalanced resource usages across workers, jeopardizing business-important metrics such as reliability, performance and efficiency. We aim to add intelligence to Presto workload placement by making it resource-aware. Referred to as Presto Pack, this feature is mainly implemented on Presto coordinator. It takes into account of two resource types: memory and CPU on worker nodes. Evaluation results show that Presto Pack can achieve much more balanced CPU and memory usage across workers, less reliability issues, and higher throughput. Specifically, Presto Pack can improve overall query throughput by 23% on a per-server basis, leading to higher levels of concurrency and reliability.