GPU有望彻底改变大数据分析领域,但它并不是每个应用程序的完美选择。Hadoop很酷,Spark很快,但有时您需要针对越来越大的数据工作负载优化硬件。这是Kinetica所基于的前提,这是一个利用大规模分布式图形处理单元(GPU)强大功能的内存数据库:有望将实时分析性能提高100倍至1,000倍。鉴于当今可用的大数据分析解决方案过多,这一承诺有点令人眼花缭乱。但它有点乐观,因为GPU非常擅长处理依赖于高度并行化矩阵数学的工作负载,但不一定适合更广泛的大数据应用。最起码到现在。大数据中GPU的兴起Kinetica(前身为GPUdb)已经存在多年,并因其在大规模部署中取代Oracle和其他行业巨头的能力而获奖。首先,美国政府利用追踪恐怖分子的数据库来追踪和杀死恐怖分子。***U.S.PostalService部署Kinetica以减少欺诈和简化操作。有什么作用?想想看:2015年投递了超过1500亿封邮件,但行驶里程减少了7000万英里,节省了700万加仑的燃料。同时从超过213,000台扫描设备获取数据,并在美国各地的邮局和处理中心拥有超过15,000名并发用户,此外还结合地理空间数据来预测实时事件。顺便说一句,与美国邮政服务一直使用的关系数据库相比,这是200倍的性能提升。虽然看起来不同,但这种类型的工作负载发挥了GPU的优势,正如MapD的创始人兼首席执行官ToddMostak所写:“GPU擅长处理要求苛刻的数学密集型任务,例如视觉模拟、超快数据库事务、计算视觉和机器学习。”找出GPU适合的位置它们并非同样适用于所有大数据应用程序。正如内存数据库公司MemSQL的首席技术官兼联合创始人NikitaShamgunov告诉我的那样:“毫无疑问,GPU为某些工作负载提供了优势,尤其是深度学习,GPU之所以非常适合深度学习,是因为问题可以分解成很多小的运算单元,每个小的运算单元可以同时在大量的核上执行。除此之外,VMware的高级工程总监JaredRosoff告诉我,“单个GPU有数千个针对矩阵数学优化的内核。”深度学习涉及大量超并行矩阵数学。因此,“像计算机图形学这样的深度学习依赖于非常适合GPU的大规模可并行化矩阵数学”也就不足为奇了。然而,在深度学习和数据可视化等应用程序之外,经过验证的面向CPU的数据库通常是更好的选择,Shamgunov继续说道:关于在深度学习之外的领域使用GPU与CPU的总体成本/收益仍然存在争议。CPU功率的低成本封装非常高效。然而,围绕CPU的行业基础设施仍然使围绕GPU的任何类似基础设施相形见绌。换句话说,利用CPU往往成本更低,生产率开销最小,而且行业对CPU的支持要大得多。另外,大数据的某些方面完全更适合CPU。Shamgunov说:“例如,数据处理查询的其他方面以join和shuffle等操作为主,例如根据不同的key进行跨集群。对数据进行重新分区。这些操作在CPU上的效率极高。Rosoff还评论道这,说“大多数软件无法利用这种级别的并行化,也无法利用GPU有限的指令集进行处理”,使其成为非常适合深度学习等应用的理想解决方案,但并非如此适用于其他工作负载。当然,随着时间的推移,我们可能会看到企业将这两种方法结合起来,将GPU用于其擅长的领域,而将CPU用于其他所有领域。随着GPU变得越来越普遍,数据库也可能开始加速发展提高GPU支持。
