《系统日报》持续关注分布式系统、AI System,数据库、存储、大数据等相关领域文章。每天以摘要的形式精选不超过三篇系统文章分享给大家。
如果你有好文章推荐,或者有其他任何想法,欢迎在 Articles Weekly Repo[1]提 issue。
1. 分布式系统祖师爷级论文———Lamport 逻辑时钟
基于 Lamport 时钟的分布式锁
摘要:这是作者 Yang “计算机的时钟”系列文章中的第二篇,译自分布式系统奠基者之一 Leslie Lamport[3] 的经典文章“Time, Clocks, and the Ordering of Events in a Distributed System[4]” (分布式系统中的时间、时钟与事件序)。文章层层递进,首先界定了全序与偏序的概念,进而利用此概念给出了一种分布系统中的全序算法,最后依托该全序算法设计出了一种分布式锁的实现。
论文原文设计的很精妙,译文翻译的也不错,博客作者的时钟系列都可以看下。毕竟,时与序是分布式系统中的基石,推荐一读。
深度学习集群调度框架
一个 16 核 GPU 调度的例子
摘要: 该文章介绍了一个适用于深度学习集群资源的调度框架,是比较早的一篇系统性对深度学习资源集群调度的文章,根据深度学习的几个特性设计了对应的调度框架。
- Feedback-driven exploration 特性: 就是在模型选择阶段需要保证训练过程需要有反馈,如果在超参搜索中模型的收敛表现不佳可以提前终止实验提升集群利用率。
- Sensitivity to locality 特性: 简言之就是多 GPU 深度学习任务存在通信和带宽的短板效应,当多GPU在 1) 不同CPU SOCKET 2) 同 CPU SOCKET 不同 PCIe switch 3) 同 CPU 同 PCIe switch 的情况显示性能会出现差异,导致使用了 RDMA 也无法提升速度,改进对应的设置能提升GPU通信效率。
- Intra-job predictability 特性: 训练任务内的可预测性,每个相同训练任务在GPU调度上的时间开销是固定的,通过优化策略轮调这些训练,可以使 GPU 利用率得到提升。
整篇文章提出的特性不止于以上三点。另外一些仅针对特定场景,例如针对 IO 时间长、GPU 显存占用率低等做出的资源调度优化也值得一读。
参考资料
[1]
任何想法都欢迎来提 issue: https://github.com/DistSysCorp/ArticleListWeekly/issues
[2]
计算机的时钟(二):Lamport逻辑时钟: http://yang.observer/2020/07/26/time-lamport-logical-time/
[3]
Leslie Lamport维基百科: https://en.wikipedia.org/wiki/Leslie_Lamport
[4]
Time, Clocks, and the Ordering of Events in a Distributed System: https://lamport.azurewebsites.net/pubs/time-clocks.pdf
[5]
Gandiva: Introspective Cluster Scheduling for Deep Learning: https://www.usenix.org/system/files/osdi18-xiao.pdf
题图故事
灵魂画手的随意涂鸦往期文章:
系统日报-20220117(日志和索引结构)好好写代码之命名篇——推敲
分布式系统架构(一)——Master-Workers 架构