2019大数据产业峰会|百度陈凯:基于异构计算的数据科学加速方案
前面我们描述了算力和算法当前的现状,总结一下因为算法实际上是面对终端用户的,可以看一下整个这套体系里目前存在的问题,比如以Scikit-learn为例,接口抽象性非常好、简单易用,易用可读性相对比较好,代码可维护性非常强。但是相应的不足主要是计算性能不独,性能优化给了一些建议,相对比较复杂,有时候往往需要重新写代码。另外一点是在今天数据越来越大,成本也是我们不可忽视的环节,Scikit-learn总体的研发跑的慢,跑的多,资源成本高一些。基于异构计算整个加速分如下三层:1、加速,算法和算力协同工作,算法支持更高效的算力。2、降本,怎么样更好的利用整个资源。3、吸取Scikit-learn在推广方面的优势,异用性,通过原先的接口降低用户整体的迁移成本,提供更易用的接口。 接下来讨论一下整体描述方案。1、加速部分的工作;算法协同算力提升数据科学性能要应用高性能的异构算力。异构算力更快更省,在性能成本两方面的优势,在上层算法上适配,支持各种不同的模型,包括常用的数据分析的类似于现在用的比较多的,另外是图分析,传统的像单元里最短路径或者是图上的算法,以及应用比较多的图嵌入、图传播这样的算法。机器学习也是我们大力支持的,最后一块是深度学习,深度学习大家知道现在有非常多的库,像Paddle已经是非常好的了,但是这只是在这一个环节,但是如果需要数据分析时怎么处理,有比较多的数据的互拷贝和格式的转换。但是CPU里面数据拷贝是无关紧要的,当涉及到外设,像FPGA也是一种外设,需要把数据拷贝到外设上,拷贝过程比较费时,所以在下层有个统一的数据格式来减少数据拷贝,让大家使用同样格式的数据降低数据拷贝的时延。另外我们也为简单,有资源管理层接口屏蔽资源差异。 前面描述的主要是加速的工作,让算法适配算力,与此同时为了让各个算法之间做到无缝,是需要每个步骤都执行比较快,同时每个过程之间转换的开销相当于最优,前面是解决这个问题。 接下来要解决省资源的政策,优化成本的工作。前面提到了基于异构计算,本质上来讲更省成本,因为异构及乱本质上来讲跑的会更快,资源本身成本更优,同时做异构计算过程中也会有一些资源上的浪费,这个过程是解决资源浪费的问题,以今天比较常见的GPU为例来进行说明,我们知道GPU作为一个外设,它本质上跟打印机比较类似,在某个时间窗口独享资源,比如这时候有多个进程同时复用一张显卡这时候往往是比较慢的,我们可以看到一个时间轴上,分别执行路径,在一个时间点上执行路径,在这个过程中只占用了50%的资源,我们知道对于GPU里会有数千个核心,意味着也有数千个核心浪费了,我们这个地方通过一个资源更优化的管控来做到资源的最优化利用,降低整个资源成本。右图是实施的方法,这个过程中可以看到,在同一个时间片,刚才描述的是时间轴,右图是时间片上的过程,一个时间片上三个用户同时提交三个作业,三个作业可以在同一个时间片里面很好的复用一个计算单元,计算单元在这里比较好的复用,通过这种方式在异构计算的基础上进一步降低整个计算成本。 (编辑:西安站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |