百科问答小站 logo
百科问答小站 font logo



2021年操作系统设计与实现研讨会(OSDI)有哪些值得关注的文章? 第1页

  

user avatar   qiao-feng-xi 网友的相关建议: 
      

OSDI 2021是改为annual后的第一届会议,因为时间的仓促和与其他会议投稿时间的冲突,今年OSDI应该算是一个小年,投稿数量和社区关注度都打了一个折扣,但是还是有不少亮眼的工作,聊几个个人感兴趣的工作,抛砖引玉,如有谬误非常感谢纠正!

Pollux: Co-adaptive Cluster Scheduling for Goodput-Optimized Deep Learning

引起了非常多讨论的一篇工作,也是best paper之一,核心的设计原则我想可以从两方面来阐述:

  1. 之前的分布式深度学习集群调度中常常分为硬件资源和用户任务两个层次,在分配GPU时由于任务的复杂以及黑盒的特性并不清楚怎样分配可以达到最佳的效率,而用户任务中learning rate与batch size两个超参数又依赖于对于data parallelism的了解来达到最佳的效果。通常的实践中依赖于用户自己设定超参数以及对于资源的需求,但是用户不可能对于不同的任务与不同的硬件都有设定好参数的能力。对于scheduler而言,本来是耦合的部件却因为现行的抽象设计只能在两个层面分开追求性能的优化,在硬件资源方面,寻找合适数量的GPU来达到性价比最高的throughput的想法被很多之前的工作采用,而在超参数的设定方面,为了加快模型的收敛,之前的工作既有聚焦于算法侧(各种新的optimizer)的也有系统侧的(比如去年OSDI上的KongFu)。Pollux提出goodput的概念,结合了throughput与模型收敛速率两个指标,是一种系统研究中很经典的全局优化的思路,近在去年OSDI上就有思路相近的工作。
  2. 文章更大的篇幅在构建一个cost model作为协同优化的指导,使得paper看起来有一些ML的味道。虽然cost model是一个很自然的想法,但是大多时候都会被诟病不够通用和不够准确,这也使得很多人包括我自己其实对于这种方法有先入为主的排斥。Pollux能做到如此准确和有效的原因,除了简明合理的formulation以外,我想还是依赖了一个很强有力的assumption,也就是deep learning训练的任务在给定的独占计算资源下,性能表现非常deterministic。去年OSDI中ClockWork和Rammer也利用了这一点(只是举两个自己熟悉的例子,其实还有很多),但都只是基于此做了简单的heuristic,一部分原因可能是这两个工作的优化目标很难像Pollux这样formulate,更重要的原因可能还是大家习惯的思考问题角度不一样,邢波老师在ML和system结合上之前已经不少类似的尝试,这次的成功显然也不是偶然。

一个拓展的讨论可能是,这个工作是否能够启发我们去用类似的思路formulate更多的系统性能优化问题?这个可能也是拿best paper的主要原因,很可惜OSDI没有线下开,不然应该会有很有启发性的讨论。

PET: Optimizing Tensor Programs with Partially Equivalent Transformations and Automated Corrections

是基于TASO的一个后续工作,将graph transformation的规则从完全数学等价拓展成了部分等价,然后引入了一个高效的纠错机制。通过扩大了图优化的搜索空间,进一步地提升了性能增益。核心的想法是对于多个线性算子组成的一个子图,其输入tensor和输出tensor中的各个元素有很直接的映射关系,譬如C[i] = B[i] + A[i],这个性质可以被用来高效判断graph transformation前后计算是否等价或者部分等价以及纠错。深入理解机制的话可能需要详细过一下整个推导,我还是很惊讶在原来TASO的基础上还能往前走这么一大步,但是直观上来讲这个工作比起TASO,适用范围要窄了一些,因为线性算子的子图这个假设比较强。进一步来讲,线性算子子图数学上这么好的性质,放在graph level来搜索优化很可能是不如放在tensor expression更高效的,在回答提问时作者也提到了确实正在做这个方向上的探索。经朋友提醒,有一些来自PL领域的工作也在做类似的尝试,感兴趣的同学可以参考一下这篇paper:mwillsey.com/papers/egg

MAGE: Nearly Zero-Cost Virtual Memory for Secure Computation

非常好的工作,也是今年的best paper之一,最核心的切入点就是,secure computation的oblivious性质,这个词比较难翻译,但意思就是程序执行中不会泄露除程序执行结果本身以外的信息。举例而言就是我们知道一个普通的程序中可能会有很多if else分支,那么程序执行过程中走不同的分支会有不同的执行时间,产生不同的内存访问,这些信息可以被执行环境所观测到从而泄露数据隐私。在secure computation中,从程序编写到编译器优化,都需要杜绝这样的风险。怎样正确地实现与安全地执行仅在数学上安全的加密算法,一直都是一个比较重要的问题。MAGE走的是另一个方向,利用程序oblivious的性质,他们意识到整个程序的内存访问其实是可以提前预测的!所以他们通过编译的方法,提前计算和规划了程序的内存访问,数据预取等,因为secure computation经常和加密数据打交道,而加密数据体积常常比原始数据大很多倍(会引入大量page fault, swapping),对于IO的优化至关重要而MAGE确实起到了立竿见影的效果。

Graph Embeddings and Neural Networks

今年应该是OSDI/SOSP第一次收GNN System优化的工作,而且一次性就收了四篇,其中三篇集中在分布式GNN的scalability问题,GNNAdvisor比较综合地介绍了一些细粒度的优化。大部分都是扎实的工作,但是就从我自己的经验上感觉,现阶段GNN System的设计,不能脱离算法的发展,或者说,其实还没有建立起真正好的可以有效连接算法和计算资源的中间抽象,重要的工作更可能诞生于一个同时了解算法应用和系统设计的团队。当然这个只是很个人的口嗨式的high level的表达,顺手给AWS Shanghai AI Lab打一个广告,如果对于GNN算法和系统设计感兴趣的话,国内可能找不到比DGL team更好的地方(打钱!)。

最后就是侃一侃Timothy的keynote,不知道现在有没有公开release,其实还是非常有趣和值得一看。核心的诉求就是,OS不是一个垂垂老矣,没有什么机会的领域,恰恰相反的是,随着底层各种硬件的加速异构化,现在正是一个对于OS来讲需要大的变革的时代。Linux的那一套哪怕是十几年前Barrelfish诞生的时候就应该过时的过度简单的系统抽象,在今天会带来越来越多的问题。当然也有很多人反馈到OS研究这一行各种意义上的门槛都太高了,我自己深以为然,另一方面自己其实也比较惭愧system programming做的太少所以对于核心OS的研究基本也只能泛泛而谈。这里其实很敬佩IPADS团队,作为国内最强的,能够持之以恒地深耕OS核心问题的团队,今年一口气被OSDI接受四篇工作并不是运气使然。


user avatar   qin-lian-ke 网友的相关建议: 
      

首先这是Fed一月 memo

先说结论:

FOMC 维持利率在 0-0.25% 不变。且确定 3 月完全停止 QE,同时 3 月加息也是箭在弦上,基本会后声明皆符合市场预期,没有太多的意外。

Powell 记者会确实是偏一点点的小鹰派,但我也认为,Powell 的说法不至于拉升市场加息预期至 5次 、并拉升缩表预期至上半年,反而比较像是在强化加息 4 次之预期。

另外我个人觉得,一些中文媒体似乎误读了Powell 记者会的部分片段,下面 Allen 再进一步说明。


1. 3 月加息停止 QE 早已定价

本次会议 Fed 再次确认 3 月将准备第一次加息,并同时停止 QE。

Fed 也再次重申,货币政策是要支持美国经济达到充分就业、与通膨长期均值维持 2.0% 的两大目标。

这部分我想市场早已定价,这裡完全不会是问题,所以我们不讨论太多。


2.未来加息在每次会议都可能发生 (?)

Powell 的原文说法是:Won't Rule Out Hike Every Meeting.

但我有看到部分中文媒体写:不排除每次会议都加息的可能性。

上述我想或许是误读了 (还是其实是我自己误会中文的意思 ?)

我的理解是:Powell 是说加息在未来每场会议都可能发生,指的是“不会在特定月份才加息”,不是说每场都要加息。

Powell 说得很合理,经济本来就是动态的,加息本就不会侷限在什麽月份才启动,端看当时的经济状况而定。

我认为Powell 上述说法,并未延展今年加息预期至五次或更多,若有这种想法,那绝对是误读了。


3.更大规模的缩表?

Powell 在记者会上提到,Fed 需要更大规模的缩表,但请大家不要恐慌,因为我又觉得部份中文媒体过度解读了。

我认为Powell 说到的“更大规模缩表”,在思维上指的是:

因为当前 Fed 资产负债表高达 8.9 万美元,这是新冠疫情爆发之前的两倍大,显然在绝对规模上是非常巨大的。

而上一轮 2017-2019 年 Fed 缩减资产负债表,是自 4.4 万亿美元缩到 3.7 万亿美元停止,缩表的幅度大概是 15.9%,共缩减了约 7000 亿美元。

确实每次缩表的经济背景绝对是不一样的,所以幅度也绝对不会相同,但我们随便抓,假设本轮缩表将缩减 10% 资产负债表规模,那麽这也要降低 8900 亿美元,规模当然很大。

但我认为,不需要过度恐慌在“更大规模缩表”这几个字上。更重要的,我认为是“Fed 缩表的速率是多少?”

我相信缩表没问题,缩表太快才是问题,因为缩表速度若太快,将直接影响的会是美债殖利率升速、以及殖利率曲线的斜率。

这点Powell 也非常清楚,Powell 在记者会上也不断强调,联准会内部尚未具体讨论到一切缩表的进度,要等到 3 月再说。


4.缩表比较可能落在下半年

Powell 在记者会上说明,希望在加息至少一次之后,再来开会讨论缩表的事情,且委员会至少将讨论一次,才会做最终拍板。

更重要的,Powell 希望缩表的进程是有秩序的、是可被预见的过程。

从上述Powell 丢出的时间表看,我个人认为缩表将落在 2022 下半年,最快可能是 6 月份,因为在 3 月加息后,Fed 才会来讨论缩表。

我个人相信 Fed 现在内部早已在讨论缩表,但委员会显然尚未准备好来与市场沟通缩表的前瞻指引。

而缩表这麽大的事情,我个人认为 Fed 需要起次跟市场沟通 2 次,并把缩表规划说得非常清楚之后,才会开始进行,所以比较合理的缩表时间,估计将会落在下半年。


5.最大风险:高通膨

Powell 在记者会上,大概提到了 800 万次的“高通膨压力”,并认为目前美国通膨风险仍在上升阶段,但预计 2022 通膨还是会回落。

Powell 说明,目前美国通膨居高不下,主要仍是供应链所致,白话来说就是供需仍然失衡,且供给侧 (Supply Side) 改善的速度是低于预期。

Powell 强调,目前美国高通膨持续存在,而美国经济要的是长期扩张,所以若要长期扩张,物价势必需要保持稳定。

这边开始进入正题了,我认为这是本次会议的最重要核心,是让我体感上,觉得 Fed 鹰派的地方。我认为 Fed 承认自己落后给菲利浦曲线 (Behind the curve),简单而言,Fed 这次的加息速度大幅落后给通膨。

由于 Fed 在 2021 年对于通膨的误判,先前 Fed 在 2021 年认为通膨在年底就可望自然回落,但也就是因为这件事没有发生,反而通膨还更为严重,所以目前才有使用加息来追赶通膨的压力。但当前宏观环境看,通膨的压力是来自于缺工、供应链紧俏等问题,再加上拜登政府的大力推行财政刺激在那边推波助澜~

所以这一次的通膨是来自于实体经济上的供需失衡问题,并不是金融市场过度投机、企业超额投资等问题,我认为 Fed 在这次的通膨问题上,能做得空间非常有限。

这裡将产生一个不确定性的较大风险,就是 Fed 只能靠货币紧缩去压通膨预期,但实体经济的根本性通膨问题,还是没有获得解决。变成最终 Fed 只能再用更剧烈的紧缩政策,去引导通膨预期走低后,尝试来压低实际通膨率,所以这裡将让 Fed 的紧缩路径,存在著较大不确定性。

比较好的处理方式,应该是直接去解决实体经济上的缺工和供应链/例如我之前提到的塞港问题,让实际通膨率自己走低、而不是靠 Fed 挤压通膨预期之后去引导。

谁可以去把坐在白宫裡疑似患有阿兹海默的白髮老头一巴掌打醒...还我特~


结论:我个人认为 Fed 今年将加息四次,不至于加息五次,而加息四次之预期,相信市场应该已经定价;至于缩表,相信市场尚未定价,估计将落在 2022 下半年,最快可能是 6 月。

如果 Fed 今年加息五次,我会感到非常意外,因为这意味著 Fed 很可能在 2023 年底、2024 年初,就因为美国经济放缓太快而需要降息,Fed 这波操作就会变得非常韭。

最后说说股市的想法目前 Nasdaq 已经插水一段时日,抑制通胀是当务之急,而股市所谓修正才多久已出现V转。对通胀而言意义不大,修正数月才可能有帮助~所以我之前一直描述为“恐慌”。因此对白髮老头而言,怎麽做才有利于中期选举就很清晰了。

最好还是坚持认为市场或已定价加息四次之预期,但缩表预期则是尚未定价的观点。

配置上美股我倾向持有科技权值股,一些 Megacap 的估值我认为合理、前景确定性较高,而这样也可以让你的收益贴著 QQQ 走。

考虑到一堆成长股腰斩,我也愿意加仓接刀成长股,但建议佔据投资组合的比例,或许不要超过 15%,如果选股功力不错,这裡就会开始让你的收益拉开与 QQQ 之类的差距。

最后,我相信人人都会想在市场下跌的环境裡接刀,接刀不是不行,但若接刀失败,斩缆我建议速度要快,我个人不考虑价投的话一次斩缆的比例都是 50% 以上。




  

相关话题

  如何看待 2020 年 1 月 15 日国产统一操作系统 UOS 20 正式版发布?它能普及开来吗? 
  路由跟踪为什么会有两个局域网? 
  IT 公司招聘研发人员时是否很少问编译原理、离散数学等理论内容而更偏向具体技能,为什么? 
  如何看待 ICML 2021 的录用结果? 
  如何评价「线程的本质就是一个正在运行的函数」? 
  如何看待Windows系统性能不及国产麒麟操作系统? 
  为什么绝大多数电子产品的时间设定都只能调到1970年? 
  你在阅读源代码或设计文档时,看到哪些惊艳的技巧? 
  如何看待 Google 的新操作系统 Fuchsia? 
  Linux中使用sudo产生文件的所有者究竟是? 

前一个讨论
计算机图形学是否已经进入瓶颈期?
下一个讨论
特斯拉 AI 日推出人工智能训练计算机 DOJO 芯片,有哪些技术亮点?使用场景是怎样的?





© 2024-05-20 - tinynew.org. All Rights Reserved.
© 2024-05-20 - tinynew.org. 保留所有权利