基于Spark的机器学习算法扩展性测试与分析

来源 :中国科学院大学 | 被引量 : 0次 | 上传用户:dragonpxm
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
Spark MLlib是一种高效、基于内存的分布式机器学习框架,它实现了常用的机器学习算法,如聚类、分类、回归,极大的降低了用户使用分布式机器学习算法的复杂度。相比于传统单机运行的机器学习算法,分布式机器学习算法把计算任务和数据分布到多个计算节点上,在各个计算节点上完成数据处理。从单机到分布式,分布式机器学习算法是否具有很好的扩展性,受到学术界和工业界的广泛关注。本文探究如何对分布式机器学习算法扩展性进行测试,并分析算法扩展性瓶颈及其原因。  本文对分布式机器学习算法扩展性进行测试与分析,主要研究以下几个方面的问题:首先,设计多维度扩展性测试方法,即通过横向测试方法测试物理资源、计算框架、算法的扩展性;通过混合测试方法测试系统开销;通过纵向测试方法测试物理资源和计算框架瓶颈,同时根据机器学习的不同阶段分别观测算法的数据预处理时间、模型训练时间和模型评估时间。其次,提出基于数据流的瓶颈分析方法。在横向测试、纵向测试以及混合测试的基础上,基于数据流的分析方法分析把算法的多阶段、逻辑DAG图和物理执行计划统一起来,该方法把应用分成不同的阶段,每个阶段包含若干个Job,每一个Job包含若干个Stage,同一个Stage内的Task并行执行。根据算法的理论执行时间复杂度和多维度测试结果,分析算法的扩展性瓶颈及其原因。结合上述方法,本文测试并分析了Spark MLlib上实现的NIPS会议最常讨论的算法,得出了有价值的结论,这些结论包括SVM算法和Logistic regression算法因为使用treeAggregate算子导致模型出现瓶颈、ALS算法因为数据倾斜导致Task调度串行化、Logistic regression算法因RDD的优先位置属性导致Task反序列化(数据预处理)成为算法瓶颈等,对算法和框架的进一步优化和实践应用都有很好的参考和指导意义。
其他文献
IP技术的快速发展使得IP网络能够提供越来越多的业务.同时,网络和业务的发展都对网络的管理提出了更高的要求.作为应用最广泛的IP网络管理协议,尽管SNMP本身存在着一些不足之
视频一直是人们进行信息交流的重要载体。计算机软硬件技术的快速发展和数码设备的广泛普及使各式各样的视频数据在近几年内呈现出了爆炸式的增长趋势,如何快速地获取视频信息
随着电子技术和计算机的发展,信息处理事业渗透到每一个行业和领域.而支持Unicode编码的信息处理已成为计算机技术的发展趋势.在2000年国际标准化组织(ISO)通过了国际标准码I
当今时代,借助高性能计算机进行数值模拟的技术已逐步发展成为预测未来天气的主要手段之一。大气数值模拟将大气动力学理论以及复杂的物理、化学等过程与数值计算方法相结合,求
学位
该文所提出的ERM(Enterprise Resource Management,企业资源管理)软件系统的概念,是传统ERP软件系统的进化,目的是解决传统ERP的缺点和问题.ERM软件系统是指建立在企业应用软
由于不同的空间数据库系统在数据结构、数据模型和数据格式上存在较大差异,导致在不同应用系统间无法共享数据和服务。多源空间数据引擎就是要为驻留在不同的数据源中的数据提
深度学习技术当前在大数据领域得到广泛应用,并且在图像和语音识别、知识问答、机器翻译以及其他很多领域取得了重大突破。最近深度学习已经使得股票走势的预测算法更加准确。
数据挖掘是从大量的、不完全的、模糊的、随机的数据中,提取隐含在其中的、人们事先不知道的、但又是潜在有用的信息和知识的过程.数据挖掘过程一般包含业务理解、数据准备、
随着Internet和移动通信的空前发展和相互融合,出现了许多新技术和新标准。蓝牙就是其中的一种无线通信标准,它能使网络中的数据和语音设备互连互通,实现快速灵活的通信。目前蓝