Microsoft's internal big-data infrastructure is one of the largest in the world -- with over 300k machines running billions of tasks from over 0.6M daily jobs. Operating this infrastructure is a costly and complex endeavor, and efficiency is paramount. In fact, for over 15 years, a dedicated engineering team has tuned almost every aspect of this infrastructure, achieving state-of-the-art efficiency (>60% average CPU utilization across all clusters). Despite rich telemetry and strong expertise, faced with evolving hardware/software/workloads this manual tuning approach had reached its limit -- we had plateaued. In this paper, we present KEA, a multi-year effort to automate our tuning processes to be fully data/model-driven. KEA leverages a mix of domain knowledge and principled data science to capture the essence of our cluster dynamic behavior in a set of machine learning (ML) models based on collected system data. These models power automated optimization procedures for parameter tuning, and inform our leadership in critical decisions around engineering and capacity management (such as hardware and data center design, software investments, etc.). We combine "observational" tuning (i.e., using models to predict system behavior without direct experimentation) with judicious use of "flighting" (i.e., conservative testing in production). This allows us to support a broad range of applications that we discuss in this paper. KEA continuously tunes our cluster configurations and is on track to save Microsoft tens of millions of dollars per year. At the best of our knowledge, this paper is the first to discuss research challenges and practical learnings that emerge when tuning an exabyte-scale data infrastructure.
翻译:微软内部大数据基础设施是世界上最大的基础设施之一, 超过300公里的机器运行着超过0. 6M 日常工作的数十亿个任务。 运行这一基础设施是一项昂贵而复杂的工作, 效率是最重要的。 事实上, 15多年来, 一个专门的工程团队几乎调整了这一基础设施的每一个方面, 实现了最先进的效率( 平均为60% CPU 在所有组群中平均使用 ) 。 尽管这些模型有丰富的遥测和强大的专业知识, 面对着不断演变的硬件/软件/工作负荷, 这一手动调整方法已经达到极限 -- 我们的手动调整方法已经达到极限了。 在本文中, 我们展示了KEA, 一个多年的努力, 将我们的调试调过程自动化, 完全由数据/模范驱动。 KEA 利用一套机器学习模型来捕捉我们集群动态行为的实质。 这些模型用于调控调参数的自动优化程序, 并在关于工程和能力管理的关键决定( 如硬件和数据中心设计, 软件投资等) 中, 我们把一个多年的努力, 校准的外部数据科学科学 和实验范围 结合了我们“ ” 的系统, 的系统,, 我们的系统, 将这个轨道 的 的实验的系统, 的实验的实验, 的实验, 的实验, 的实验, 的实验, 的实验范围, 开始, 的实验, 的实验,,, 的实验,,,,,, 的实验,, 的实验的实验的实验的实验的,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 我们的,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,