专栏首页arxiv.org翻译专栏MLOS:自动化软件性能工程的基础架构(CS SE)
原创

MLOS:自动化软件性能工程的基础架构(CS SE)

开发现代系统软件是一项复杂的任务,将业务逻辑编程和软件性能工程(SPE)相结合。后者是一项实验性且劳动密集型的活动,致力于针对给定的硬件,软件和工作负载(hw / sw / wl)上下文优化系统。

当今的SPE在构建/发布阶段由专业团队执行,并且受到以下因素的诅咒:1)缺乏标准化和自动化的工具; 2)随着硬件/软件/硬件环境的变化,大量重复工作; 3)由“单一尺寸”引起的脆弱性-fit-all”调优(一种工作负载或组件的改进可能会影响其他工作负载或组件)。最终结果:尽管进行了昂贵的投资,但系统软件通常超出了其最佳工作点-有趣地将性能的30%至40%留在了桌面上。

数据科学(DS)的最新发展暗示了机会:将DS工具和方法与新的开发人员经验相结合,以改变SPE的实践。在本文中,我们介绍:MLOS,一种由ML支持的基础结构和方法,用于使软件性能工程实现民主化和自动化。MLOS支持连续,实例级,健壮和可跟踪的系统优化。Microsoft已开发并采用MLOS来优化SQL Server性能。早期的结果表明,针对特定的硬件/软件/硬件定制调整时,组件级的优化可以带来20%-90%的改进,这暗示着巨大的机会。但是,仍然存在一些需要社区参与的研究挑战。为此,我们正在开源MLOS核心基础架构,并与学术机构合作,围绕软件2.0和MLOS理念创建一个教育项目。

原文标题:MLOS: An Infrastructure for Automated Software Performance Engineering

原文:Developing modern systems software is a complex task that combines business logic programming and Software Performance Engineering (SPE). The later is an experimental and labor-intensive activity focused on optimizing the system for a given hardware, software, and workload (hw/sw/wl) context.

Today's SPE is performed during build/release phases by specialized teams, and cursed by: 1) lack of standardized and automated tools, 2) significant repeated work as hw/sw/wl context changes, 3) fragility induced by a "one-size-fit-all" tuning (where improvements on one workload or component may impact others). The net result: despite costly investments, system software is often outside its optimal operating point - anecdotally leaving 30% to 40% of performance on the table.

The recent developments in Data Science (DS) hints at an opportunity: combining DS tooling and methodologies with a new developer experience to transform the practice of SPE. In this paper we present: MLOS, an ML-powered infrastructure and methodology to democratize and automate Software Performance Engineering. MLOS enables continuous, instance-level, robust, and trackable systems optimization. MLOS is being developed and employed within Microsoft to optimize SQL Server performance. Early results indicated that component-level optimizations can lead to 20%-90% improvements when custom-tuning for a specific hw/sw/wl, hinting at a significant opportunity. However, several research challenges remain that will require community involvement. To this end, we are in the process of open-sourcing the MLOS core infrastructure, and we are engaging with academic institutions to create an educational program around Software 2.0 and MLOS ideas.

原文作者:Carlo Curino, Neha Godwal, Brian Kroth, Sergiy Kuryata, Greg Lapinski, Siqi Liu, Slava Oks, Olga Poppe, Adam Smiechowski, Ed Thayer, Markus Weimer, Yiwen Zhu

原文地址:https://arxiv.org/abs/2006.02155

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 具有参数化数据的Petri网:建模和验证(扩展版)(CS AI)

    在过去的十年中,已经提出了各种方法来将业务流程与不同类型的数据集成在一起。每种方法都反映了整个过程数据集成范围内的特定需求。一个特别重要的一点是,这些方法能够灵...

    刘子蔚
  • 智能电网数据存储与处理架构的比较研究(CS SE)

    世界各地的许多政府和组织都同意,解决能源独立,全球变暖或紧急应变能力等国家和国际问题的第一步是重新设计称为智能电网的电网。通常,电网以次优的方式将电力从发电厂广...

    刘子蔚
  • 在线学习重复囚徒困境来模仿人类行为(CS AI)

    囚徒困境主要是将选择合作或缺陷视为一种原子行为。我们建议在迭代囚徒困境(IPD)游戏中研究在线学习算法的行为,在该游戏中,我们探索了强化学习代理的全部范围:多臂...

    刘子蔚
  • 具有可证明性能保证的协同循环闭包检测的资源感知方法

    作者:Yulun Tian,Kasra Khosoussi,Jonathan P. How

    罗大琦
  • 使用Python模拟伪随机数生成原理

    伪随机数生成有很多种方法,其中一个是这样的:rNew = (a*rOld + b) % (end-start),然后设置rOld = rNew,一般要求用户指定...

    Python小屋屋主
  • LightOj 1370 欧拉筛

    每个长为 j 的竹子score是它的欧拉函数,费用为 j ,要找 n 个值大于或等于 score 的竹子。

    用户2965768
  • 转: Oracle正在招Linux OS Architect,技术挑战和薪酬都相当的给力!

    (信息来源:https://oracle.taleo.net, JOB ID: 16000P1S, 160017NU)

    王录华
  • WordPress一款响应式Alt_Blog主题

    WordPress响应式免费主题,一款基于Js+jquery2.1.4+H5/CSS3响应式+Wordpress后台开发,每天活人访问量500-800+IP,百...

    空木白博客
  • Java优先队列(PriorityQueue)示例

    我们知道队列是遵循先进先出(First-In-First-Out)模式的,但有些时候需要在队列中基于优先级处理对象。举个例子,比方说我们有一个每日交易时段生成股...

    用户1205080
  • ip地址判断

    题目描述 输入一个ip地址串,判断是否合法。 输入描述: 输入的第一行包括一个整数n(1<=n<=500),代表下面会出现的IP地址的个数。 接下来的n行...

    张俊怡

扫码关注云+社区

领取腾讯云代金券