当GPU加速计算遇上传统数据中心……

日期: 2017-02-19 作者:Nick Martin翻译:张程程 来源:TechTarget中国 英文

纠结着数据分析项目的IT专家们可能从不可能的来源中获取灵感:即视频游戏。

出于满足游戏玩家需求的图形处理单元(GPU)技术在企业数据中心中拥有了一个天然优势。451 Research的分析师Jason Stamper表示,他们的并行架构使它们非常适合一些可以受益于GPU加速计算的传统工作负载。

“由于GPU具有数千个内核,并为在大屏幕上处理图形的分秒运动而设计,如果将其指向行和列数据,那么在进行分析处理方面的速度就会非常快,”Stamper说。

当CPU时速每两年翻一番时,对GPU加速计算能力的速度几乎没什么要求。但随着时速的提高,具有高计算需求的用户开始探索用GPU作为替代,他说。GPU的时速比CPU慢,但他们可以同时处理数千个线程。早期采用者包括科学计算和现实世界建模应用程序,它们必须同时处理多个变量的影响。

数据中心GPU计算部门主管Roy Kim说,“你今天看到的天气预报,就是在超级计算机的后端计算处理数以千计的并行因素来计算的模型”。

虽然超级计算机架构师和科学研究者是第一个使用GPU进行通用处理的,但是企业收集和分析的数据量超过了每年CPU的改进。

CPU的SQL续订

作为哈佛大学的一名研究生,Todd Mostak为他的论文收集了数亿条推文,通过Twitter的镜头来检查。Mostak的目标是分析推文和创建地理空间可视化,但他使用常规的基于CPU的系统遇到了麻烦。

“我发现这些过程中的一些任务需要一夜的时间,”Mostak说,“但当我早上醒来,我意识到我做错了,不得不开始进行分析。”

沮丧之处在于无法访问能够处理负载的大型服务器集群,因此Mostak创建了自己的数据库系统,由现成的游戏GPU提供支持。

Mostak现在是MapD Technologies的首席执行官,MapD Technologies是一家数据库软件平台公司,基于其研究生阶段的原型构建了一个兼容SQL的数据库软件平台。Mostak说,相比于游戏,GPU非常适合加速处理SQL查询这类相对平凡的任务。

“SQL是一种集合语言,你对集合中的每一行都应用相同的操作,”他说,“这个集合可能是几十亿行,GPU基本上可以并行化,你可以将每一行数据分配给一个核心。”

当然,GPU并不是所有工作负载的救星。应用程序必须重构或专门编写后才能在GPU上运行。一些进程显然是并行的,并从GPU中获益最大。其他进程是高度连续的,且在CPU上运行得最好。

“那么你会在之间的某个地方遇到更为广泛的问题,”Mostak说,“他们的并行化并不是微不足道的,不过如果你以正确的方式构建代码,仍然可以从GPU中获得巨大的好处。”

MapD和其他方使用的这种方法称为GPU加速计算。它的目的是将CPU和GPU之间的工作分开。即使大多数应用程序的代码需要进行顺序处理,有时也可能会将该代码的某些计算密集型进程卸载到GPU上。

随着企业收集的数据量的增加,从数据中获得价值的业务需求也在增加。这就是为什么GPU加速的数据库开始升温,451的Stamper说,“在这个领域我们看到了非常强劲的增长”。

例如,Nike使用支持GPU的服务器和MapD的数据库软件来分析历史销售数据并预测特定地区的需求。另一个MapD客户Verizon使用GPU驱动的系统,分析来自跟踪手机服务器的日志。

MapD在这个新兴市场上并不是孤军奋战。SQream Technologies也为GPU加速分析提供了一种方法。

“这不仅是关乎海量的数据,也关乎全新的商业需求,”SQream首席执行官Ami Gal说,“Uber是一家破坏出租车行业的数据公司,而Airbnb是一家破坏租赁系统的数据公司。”

许多主要的云提供商现在提供GPU加速计算的实例,这可以降低公司尝试分析或可视化项目的成本。然而,一些因素可能会减缓GPU供电分析的增长,Stamper说。由于系统像企业数据库平台一样庞大、复杂和昂贵,因此需要革新。大多数提供GPU加速数据库系统的公司都是没有传统数据库巨头那样响亮的名号、销售力量或支持基础架构的小型初创公司。

“尽管企业会因没有达到其想要的速度而颇感沮丧中的沮丧,但好的一面是IT部门不需要花太多的钱在新技术上,也不用增加复杂性,”Stamper说。

即使如此,对于那些希望快速分析大型数据集的公司,原始性能增益也不可忽视。GPU加速的数据库系统能够替代整个服务器群集的一些工作负载,他说。

更聪明的方法

单个GPU比基于CPU的服务器集群能更快地处理同时线程,这一能力使GPU成为另一种类型新兴工作负载的理想选择。

“在过去几年里,我们看到了人工智能和机器学习的大爆炸,这恰是理想的并行工量,”Nvidia的Kim说。

人工智能有几种方法,但是由于用于通用计算的GPU的出现,得到快速发展的是深度学习。

AI的深度学习旨在用虚拟神经网络的计算机节点模拟人类大脑的神经元阵列。网络由多个层组成,每个节点执行特定功能。然后对来自每个节点的输出数据进行加权,以推导出可能的结果。这个概念是几十年前的,但直到最近,也只有非常大的集群和超级计算机能够创建一个健壮的神经网络。

Nuance Communications公司是语音识别软件Dragon NaturallySpeaking背后的公司,它依靠由GPU提供的深度学习神经网络来开发语言学习模型。

Nuance研究总监Nils Lenke说:“我们通过显示数千个口头话语作为样本来训练一个系统来理解语言。这是一个很大的计算量。 “在这些网络中,节点执行简单的计算,并且因为我们有很多节点需要同时做同样的事情,GPU可以提供理想的帮助。”

越来越多的应用程序支持GPU加速计算,包括许多顶级的人工智能框架。

虽然horizon对于GPU是有希望的,但这并不意味着它将是取代CPU的唯一技术。英特尔投入巨资,特别是用于收购专业芯片制造商Altera,并未着眼于GPU,而是在可编程阵列(FPGA)上。与GPU类似,FPGA可以比CPU更快地执行某些计算。不是作为通用处理器,而是可以对FPGA进行编程以更有效地执行特定的指令集。

Ryft提供了一个FPGA加速的数据库分析平台。此外,微软最近透露,其基于Azure的人工智能服务亦将由Altera FPGA提供支持。

“无论是GPU还是FPGA,加速器实乃大势所趋,”Nvidia Kim说。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

作者

Nick Martin
Nick Martin

网站编辑

翻译

张程程
张程程

TechTarget中国编辑。专注报道企业级安全、网络领域的技术更迭和趋势变革,负责安全网站与网络网站的内容规划、组稿、原创和编辑。

相关推荐