用GPU处理数据库,性能提升100倍
人们通常将图形处理单元(GPU)与图像处理联系起来。现代GPU是上世纪90年代为视频游戏研发的部件,这种特殊电路拥有成千上万个小型高效的处理单元(名为“核心”),它们可以瞬间工作,在屏幕上快速渲染图形。
但是在过去十年的大部分时间,GPU还找到了一般的计算应用领域。由于快得难以置信的并行计算速度和高性能内存,GPU如今用于先进的实验室模拟和深度学习编程,以及其他应用环境。
如今,托德·莫斯塔克(Todd Mostak)使用GPU,开发出一种名为MapD的分析数据库和可视化平台。据莫斯塔克声称,这种平台是世界上同类中速度最快的。他以前是麻省理工学院(MIT)计算机科学和人工智能实验室(CSAIL)的一名研究人员。
MapD实际上是一种常用的数据库管理系统,它经过改动后,可在GPU上运行,而不是在支撑大多数传统数据库管理系统的中央处理单元(CPU)上运行。这样一来,MapD可以在短短几毫秒内处理数十亿个数据点,因而比传统系统的速度快100倍。此外,MapD几乎可以在瞬间可视化(即直观地显示)所有已处理的数据点,比如说在世界地图上标绘推特消息,还可以实时修改参数,以调整可视化的显示内容。
第一款产品在去年3月推出后,MapD的客户已经包括韦里逊(Verizon)及其他大牌电信公司、社交媒体巨头以及金融公司和广告公司。去年10月,美国中央情报局(CIA)下面的投资部门In-Q-Tel宣布,它在MapD的最新一轮融资活动中注入资金,以便加快为美国情报界开发某些功能特性的工作。
莫斯塔克说:“CIA有许多地理空间数据,它们需要能够实时生成、显示和查询这些数据。这其实是情报界所需要的。”
MapD是一种常用的数据库管理系统,它经过改动后,可在GPU上运行,而不是在支撑大多数传统数据库管理系统的中央处理单元(CPU)上运行。MapD可以在短短几毫秒内处理数十亿个数据点,因而 49 30604 49 15046 0 0 3554 0 0:00:08 0:00:04 0:00:04 3555那些传统系统的速度快100倍,并几乎在瞬间直观地显示那些数据。
“让GPU成为一等公民”
GPU是专门为并行计算而设计的,比如说,成千上万个节能型核心可同时确定计算机屏幕上每个像素的颜色,从而渲染一个图形。GPU还使用高带宽内存,这种随机存取存储器(RAM)的速度比处理器(CPU)要高出一个数量级。
今天,一些数据库是由GPU来支撑的。莫斯塔克表示,但是这些系统存在一个严重的设计缺陷:“在大多数实施的系统中,数据起初存储在CPU上,传送到GPU来进行查询,结果传回到CPU,存储起来。即便你通过使用GPU缩短查询的计算时间,但是从CPU传送到GPU再传回来,速度基本上快不起来。”
莫斯塔克表示,不过就MapD而言,其目的是“让GPU成为一等公民。”
MapD不是将数据存储在CPU上,而是将尽可能多的数据缓存在多个GPU上,那样不同的电路之间不需要来回传送数据,也不需要从硬盘获取数据,因而节省了大量的时间。
莫斯塔克表示,秘诀在于为每个GPU分配各自的缓存池(buffer pool)――数据库内存中这部分暂时缓存从硬盘获取的最近数据。如果随后数据库需要反复查询同一个数据点――这种情况很常见,它就可以在GPU超快的RAM里面访问该数据点,而不是从CPU或硬盘来获取数据。
莫斯塔克表示,通过认真管理GPU上的内存,MapD就能带来比CPU支撑的数据库系统高出两三个数量级的性能。
MapD的实时、标有地理位置的“推特消息图”(Tweetmap)让用户可以搜索单个的推特主题标签(Twitter hashtag),然后看着那些主题标签实时出现在世界地图上。
出租车、推特消息和电信
在表明MapD强大功能的一个例子中,该系统分析了被认为是大规模分析工具衡量基准的数据集,即拥有12亿个记录的纽约市出租车数据集。一名独立大数据顾问开展了测试,结果发现,MapD的速度比无数先进的CPU数据库系统快74倍,在短短几毫秒内完成了几个查询。
在其他例子中,MapD的实时、标有地理位置的“推特消息图”(Tweetmap)让用户可以搜索单个的推特主题标签(Twitter hashtag),然后看着那些主题标签实时出现在世界地图上。另一张(美国)地图显示了自2001年以来的每一笔政治用途捐款,并且标以颜色,共和党候选人标以红色,民主党候选人则标以蓝色。
至于MapD客户,金融服务机构和对冲基金可以使用该系统来监测欺诈,并做出投资决策;广告公司可以用来衡量人们对广告做出的反应;社交媒体公司则可以跟踪分析全球用户的使用情况。
韦里逊每周都要使用MapD,分析其8500万用户手机中每一部更新SIM卡的活动。换成其他数据库系统,查询需要好几个小时来运行,需要好几个小时来评估,于是这家公司只能偶尔这么做。韦里逊使用MapD发现了自己的系统有个小故障,导致SIM卡更新每年超过100多万次,这耗用大量的服务器处理能力,让众多用户觉得很烦。
莫斯塔说:“所以这为韦里逊节省了大笔费用,可能有利于客户,因为你的SIM卡过于频繁地更新可能不是好事。”
使MapD扬名立万
2012年莫斯塔克在哈佛大学时想到了搞MapD这个念头,那时他在写一篇内容关于“阿拉伯之春”(Arab Spring)的政治科学硕士论文,他当时在分析暴动期间发送出去的数十亿个埃及推特消息。
使用基于CPU的数据库管理系统来分析这些数据很费时间。他常常得在晚上运行查询,第二天醒来后却发现一个错误,这意味着漫长的过程得从头来过。莫斯塔克说:“这种事令人颇为沮丧。”
当时,莫斯塔克还在上一堂CSAIL数据库课,授课的是MIT数据库小组组长之一迈克尔·斯通布雷克(Michael Stonebraker)和萨姆·梅登(Sam Madden)。迈克尔是教计算机科学的副教授,曾创办了开拓性的数据库管理公司Vertica;萨姆是电气工程和计算机学教授,他现担任MapD顾问。
作为加快论文研究工作的一个私人项目,莫斯塔克发明了早期的MapD原型。教授们对此大为惊讶和赞赏。莫斯塔克完成论文后,他们请他加入CSAIL担任研究人员,并完善原型,他在2013年完善了原型。
在梅登的鼓励之下,莫斯塔克还开始依托MIT的全球产业联盟(ILP)展示这个高速系统。ILP这项计划将MIT的社区成员与全球各地的公司企业联系起来。许多公司开始问莫斯塔克从哪里能买到这个系统。莫斯塔克说:“那时候,我说这纯粹是个学术项目。但是我因此觉得,从大数据实时获取洞察力是一个广泛的问题。”
2014年1月,莫斯塔克正式创办了MapD。莫斯塔克说,加入ILP的初创公司交换中心(Startup Exchange)“让MapD扬名立万,知名度不输其他商业机构。”这是一个在线社区,方便与附属于MIT的初创公司与对方及其他公司联系起来。
之后,当时总部设在马萨诸塞州坎布里奇的这家初创公司立即着手做事情。2014年3月,它在英伟达设立的一次早期初创公司比赛中赢得了10万美元奖金,英伟达是一家知名的GPU生产商,也是目前MapD的合作伙伴。那年秋天,这家初创公司从英伟达和谷歌处筹集到了数额为200万美元的种子资金,随后在次年筹集到了1000万美元的A轮资金。
如今,MapD将新总部设在旧金山,大力拓展业务。由于更多的公司开始在云端推出GPU编程平台,它还期望好好利用更庞大的用户群,大做文章。莫斯塔克说:“那将让我们有机会接触更多的客户;我觉得我们刚开始上路。”
云头条|未经授权谢绝转载
相关阅读:
微软部署FPGA的三个阶段:Bing、Azure网络和数据中心