在互联网应用中,流数据和机器学习任务是大数据处理领域的常见负载。为了高效地支持这些负载,有必要构建面向流数据处理和机器学习任务的分布式计算系统,并且有针对性地利用负载特征、新型硬件等进行性能优化。6月29日下午,华东师范大学数据学院举办以“流处理与机器学习系统”为主题的研究生学术沙龙,介绍流处理和机器学习系统的设计及其性能优化。

1633497262540068588.jpg

本次报告现场吸引了学院不同实验室的同学前来交流学习。在徐辰老师进行了简单的开场介绍后,新加坡科技设计大学助理教授张书豪、学院数据管理与智能计算系统实验室的博士研究生陈梓浩、硕士研究生毕倪飞分别针对高性能流数据处理系统的设计研究、面向分布式矩阵计算的混合执行策略以及面向分布式同步数据并行训练的通信优化三个主题进行了精彩的分享。

 


报告一 :高性能流数据处理系统的设计研究

 

1633497296207034570.jpg

张书豪老师通过远程分享的方式介绍了在高性能的流数据处理系统方面的思考与成果。首先,张书豪老师指出流数据系统设计的初衷为数据到来即处理。之后,张书豪老师以阿里巴巴为例说明当前流数据产生的速度之快、数量之大。为了处理这些流数据,学术界和工业界已经研发了很多流处理系统,例如,Flink、BriskStream等。这些流处理系统处理数据的过程中,为了提升系统的性能,例如,低延迟和高吞吐,通常采用两种常见的优化方法:流水线和多线程并行。除了提高性能之外,流处理系统还面临着应用复杂化、需求差异化、硬件多元化的挑战。

基于这些挑战,张书豪老师介绍了其发表在ICDE 2020上的论文。张书豪老师以实时车辆计费应用系统为例子,指出多线程共享实时拥堵信息时导致的数据访问和修改冲突,以及解决冲突使用的状态拆分和加锁方案导致的高代价和低性能的问题。之后,张书豪老师介绍了TStream系统的设计思想:该系统在数据库声明式事务处理的基础上,提出了双模式调度和动态重组执行的方案。实验表明,该系统比传统的流处理系统性能提高了4.8倍。此外,张书豪老师也传授了其在研究过程中的一些经验,包括,流处理系统研究的必要性以及传统的数据库技术仍然可以为新的系统提供借鉴,最后鼓励同学们探索流数据处理系统、数据挖掘、机器学习的更多研究方向。

分享结束之后,在场的老师和同学与张书豪老师针对流处理系统的应用、声明式事务处理以及系统如何解决加锁带来的问题进行了激烈的讨论。

 

 

报告二: 面向分布式矩阵计算的混合执行策略


1633497341474023503.jpg

陈梓浩同学介绍了已经发表在SIGMOD 2021会议上的工作—HyMAC系统。首先,他展示了当前分布式矩阵计算系统的应用,这些应用都涉及到了大规模的矩阵运算。在PageRank、GNMF等迭代式矩阵运算中,迭代矩阵的各个元素的收敛速度往往不同,但是系统执行计划反复计算其中收敛的元素。为了避免反复执行这些元素,该系统采用了增量计算的思想,即在运行过程中重用数值不变的项的计算结果,仅计算数值发生变化的项。然而,增量计算需要诸如提取增量等额外的操作,导致在部分情况下增量计算会降低执行效率。因此,在增量计算策略的基础上,该系统进一步利用了混合计算策略,在迭代计算过程中交替使用全量计算和增量计算以提升性能。实验表明,HyMAC系统的性能相比于知名的分布式矩阵计算方案(如SystemML、SciDB)快了8倍。



报告三:面向分布式同步数据并行训练的通信优化

 

1633497366702056924.jpg

毕倪飞同学介绍了其正在开展的研究工作—SkipSMA系统。首先,他介绍了分布式同步数据并行训练的必要性和当前典型的算法,例如,SSGD、SkipSSGD、LocalSGD等。通过分析这些算法的执行时间,可以发现在训练过程中,同时保持高的统计效率和低的通信开销是挑战的。为了保持高的统计效率,该系统采用纠正技术来避免各个本地模型的发散,即在每次迭代中借助一个全局模型来调整每个本地模型的更新。同时,为了降低通信开销,该系统采用跳过策略来更新全局模型,即每隔若干次迭代才进行一次通信来更新全局模型。实验表明,SkipSMA系统的训练方法相比于现有的分布式同步数据并行训练方法快了1.5~9倍。

 

1633497393807014912.jpg

1633497393853037717.jpg

在整场报告中,同学们通过流数据处理的应用了解了流数据处理系统的优化方法,以及在机器学习系统中分布式矩阵计算的混合执行策略和分布式同步数据并行训练的通信优化方法。从本次沙龙现场的参与度及讨论来看,围绕流数据处理系统和机器学习系统的优化仍具备研究价值,尤其是流系统、机器学习系统和数据挖掘系统的融合。同时,这些分享也表明,基于数据库的优化技术同样适用于传统和新型的系统优化技术。在后续的学习过程中,同学们应该加强对基础数据库系统的优化技术的探索,不断探索流处理系统和机器学习系统新的系统优化方法。



图文 | 孟令睿

排版 | 甄逸飞


来源:华东师范大学数据学院