大数据云起 现CPU运算技术面临GPU挑战
在特定的科学研究领域里面,以GPU协同CPU来强化整体运算能力的应用,越来越常见,然而,过去在商业领域中罕见实际导入使用的例子。
不过,今年的情势很不同,Nvidia在GTC 2013大会上,正式宣布了几家商用实例,他们是提供云服务和开发移动应用的公司,已经将GPU用在大数据(Big Data)的分析与升级搜索,而且他们的服务可同时涵盖到消费端与商业应用。
CRM用PC等级GPU吞下所有数据处理
首先登场的,是以提供CRM软件即服务(SaaS)而闻名的云端服务供货商Salesforce。他们之所以用GPU,是因为旗下的Marketing Cloud服务替客户提供了Social listening的功能,也就是社交网站监控与分析。而使用该服务的用户,目前有Cisco、Dell、Gatorade、美国红十字会等。
Salesforce.com在此面临的挑战之一,主要是需处理每天来自Twitter网站上的用户新增的5亿篇帖子(tweets),这些帖子中包含了不同性质的数据,同时,每天的新帖数量还在不断增长,而且速度越来越快。
除此之外,Salesforce在本身的主题档案库中,也定义了160万以上的搜索表示式(每一笔包含12个关键词),这里的数据也是随着用户数成长而持续增加中。
原本Salesforce所用的方法,是在一般的x86处理器架构下,利用Apache Lucene这套Java链接库,来获得关键词索引与搜索的布尔运算机制,以及用Twitter worker程序,针对一大批推文来建立索引,并且用它来查询所有的表示式,但这么做,数据吞吐量低,并且会产生很高的延迟。
后来,Salesforce采用新的方法,称之为Zapp,利用可提供高吞吐量的GPU来加速,也就是让关键词比对的控制由CPU执行,而需要大量运算的工作交给GPU,大幅缩短了处理的时间,于是计算成本不再随表达式数量的增加而呈线性增长。
Salesforce表示,只需要两颗Nvidia GTX 580的GPU,就足以处理尖峰负载时间的所有帖子,这足以省下大量硬件与人力上的资源。
移动App开发商用GPU架构达到省钱之道
在GTC2013大会上,另一个实际印证GPU可应用在大数据处理的案例是知名的App开发商Shazam。 他们的歌曲查询程序Shazam,在Apple App Store和Google Play的移动设备软件市场集中,受到用户青睐,是音乐类应用的Top5。
Shazam App的主要功能是提供歌曲搜索与识别服务,它可以“听”用户正在听的音乐,并告知曲目信息。目前在手机与平板电脑下载Shazam的数量,已经超过3亿,而该公司后端拥有的歌曲也在2012年达到2700万的惊人数据。
看起来,使用这项服务的人众多,同时所要比对的数据也非常庞大,并且是声纹(acoustic fingerprint)比对,系统要能从数千万首歌曲中,判断能否与用户上传的范例音乐相符,困难度可想而知。
社交网站与移动应用普及,导致需分析的数据量暴增
因成为IT主流趋势的社交网站与移动应用,这两种风潮下所激增的大量数据不容忽视。像Salesforce每天要分析5亿篇tweets,这样的成长是在3年内发生;Shazam面对的是3亿用户与2700万首歌曲的数据库,并且只花了1年,用户与歌曲数就增长1倍以上。
另一个该公司要去面对的问题,是新进用户、搜索次数与歌曲量都在极速成长——他们每天要应付1千万首歌的搜索请求,每周有2百万个新用户,而所收录的歌曲总数已2倍速度剧增。
为了加速歌曲搜寻与比对过程,以及因应倍增的用户需求,Shazam决定使用上百颗Nvidia Tesla的GPU,建设低成本的服务器基础设施,以应对上述的服务运维规模与成长需求。
Shazam公司首席技术官Jason Titus表示,同样花一块钱,GPU可让他们得以获得两倍CPU架构系统的效能,并且能达到自身的成长规模。