说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

算法为王:且看Mac Mini如何超越1636节点的Hadoop

HTML文档下载 WORD文档下载 PDF文档下载
1636节点Hadoop集群需处理7个小时的工作量,Mac Mini只用一个小时就完成了,听起来有些天方夜谭,然而涉及到算法问题,似乎一切都有可能。

小小的Mac Mini计算性能可以超过由1636个节点组成的Hadoop集群,即使是在某些用例下听起来也更像天方夜谭,然而近日GraphChi却声称做到了这一点。长话短说,在看这个壮举之前,我们有必要先了解一下GraphLab的GraphChi。

GraphChi专注小电脑的分布式框架

GraphChi由卡耐基梅隆大学计算机科学家设计,可以在个人计算机上高效进行大规模计算的框架,多用于社交媒体或网络搜索分析类任务,比如推荐引擎。我们都知道推荐引擎专注的是图谱计算(graph computation),分析社交媒体用户之间的关系;但是这类计算通常需要海量的内存,通常出现在由大量计算机组成的集群上。

区别于将图谱储存在内存中,GraphChi利用了个人计算机上的海量硬盘,将图谱储存在硬盘上。通过实验室主任Carlos Guestrin了解到,为了弥补硬盘与内存之间的速度差距,他们设计了更快速的,减少随机读写的硬盘访问方法。同时,GraphChi还能处理“流图谱”(streaming graphs),流图谱能通过显示关系随时间的变化建立起精确的大型网络模型。

Mac Mini与1636节点Hadoop的战争

对同一个具有15亿边缘的Twitter图谱(2010年以后)进行处理(三角形计数),GraphChi通过1个小时完成了1636个Hadoop节点7个小时的工作。近日,通过Rangespan的数据科学家Christian Prokopp,我们了解了这项超越得以实现的原理——对算法的极致优化,以及单台机器对集群设置的优势。

运行环境

GraphChi的首个优势在于可以简化许多假设以及后续的算法,不需要进行分布式处理。有了这个优势,并理解单机器的性能进行总体上的评估(优势和劣势),整个处理过程将非常容易设计。单机器通常具备两个特征:1,大的图谱问题不会被塞进RAM(Random Access Memory);2,拥有很大的磁盘,可以处理所有数据。

传统的磁盘通常不会有随机读取优化,他们只针对连续性读取。新时代计算机可能都会具备更快随机读写的SSD,虽然它们还是会比RAM慢许多。因此,任何在单商用机器磁盘上运行的算法仍然需要尽可能避免随机访问数据。

分而治之

卡耐基梅隆大学的博士生Aapo Kyrola使用这个原理来改善GraphLab,一个分布式图谱计算框架。他的想法是将图谱划分成不同的分片,每一个都可以通过这台机器的内存处理。随后这些分片可以并行的在内存中处理,其它分片需要做的更新则通过随后的连续写入完成。这样将最小化磁盘上的随机操作,合理的使用机器的内存做一些并行操作。


Aapo发明了 PSW(Parallel Sliding Window)算法来解决关键的性能提升问题,针对磁盘的连续读写。PSW通过source shards对1个分片中所有的顶点进行排序,这意味着每个分片本质上都被分割成由顶点组成的块,同时这些顶点又会与其它分片关联。


举个例子,在interval 1中(上图)shard 1正在内存中进行处理,它是顶点到目的顶点边长一个子集。这些目标顶点是余下分片中排序源值的连续块,因此可以连续的读取。所有的更新都会被计算,并在内存中为shard 1进行存储,随后则被连续的写入其它分片,修改会在读取之前进行。最终,内存中更新后的版本会被连续的写入磁盘。在interval 2中,shard 2被加载;当然,同样的方法会被应用于其它分片。

这个方法充分利用了新型商用计算机的架构特征,正如原始论文中的一些特性说明。比如,对不同磁盘中数据的拆分;同时,使用SSD代替传统磁盘对性能将不再有双倍的提升,因为算法已经大幅度的提升高永久存储性能。即使是增加分片的数量,对CraphChi的吞吐量影响也不大,这样将保证更大图的可靠性能。值得注意的是,另一个算法高效性证明是——将计算彻底的移到内存,对比SSD计算时间只有1.1到2.5(因素)的提升。


GraphChi的性能对比( 源出处)

GraphChi公布了模式转变后的性能获益,其中包括与类似Hadoop、Spark等通用解决方案,升值还包括了高优化的图计算框架GraphLab、PowerGraph。后者属于高优化的分布式并行解决方案,同样做Twitter三角计数的处理只需1.5分钟。然而,它使用了64个节点,每个8核心,总计512个核心。粗略的算,性能提升了40倍,但是却耗费了256倍的计算资源(核心)。

单机模式处理大数据的一些开源利器

1. LibFM: 项目主页

2. Svdfeature: 项目主页

3. Libsvm和Liblinear: libsvm项目主页、 liblinear项目主页、 初次使用必读、 libsvm的开发心得by林智仁

4. rt-rank: 项目主页

5. Mahout: 项目主页

6. MyMediaLite: 项目主页

7. GraphLab 和 GraphChi: GraphLab项目主页、 GraphChi项目主页、 GraphChi的下载地址、 GraphChi介绍、 CF for GraphChi

以“应用驱动的架构与技术”为主题的第七届中国大数据技术大会(Big Data Technology Conference 2013,BDTC 2013)将于2013年12月5日-6日在北京世纪金源大酒店召开。届时将设有《智能交通与大数据》分论坛,物联网将是其中重要环节,欢迎参加讨论!

两倍于IBM的基础设施投资,Google大力发展云服务 听云平台发布移动应用性能黑洞报告 微信开发者大会陶瑾:如何玩转微信支付功能的原理和开发 560亿PV+7.3亿用户,Reddit是如何做到的? 打造安全界的希波克拉底誓言文化 极客的春天来了! Mozilla COO宫力:老牌操作系统如何助力新一代智能电视 App提高用户留存率新招:应用性能监测 韩国手游市场规模超万亿 2014中韩手游项目对接会开幕在即 SanDisk发展之路:专注SSD、推新产品线 AMD发展线路图曝光,欲造500+平方毫米GPU 全球移动开发者:IAP降温,企业应用成待掘金矿 Vuforia 2014 视觉大奖赛:寻找最炫酷AR增强现实应用,迈向巅峰! MapReduce谢幕,谁将成为最终的接棒者? 变身音乐控制器!开源JavaScript库NexusUI 从112台服务器到Q2 50亿基础设施开销,谷歌只用了15年 【技术文章】微信公众平台开发教程新手解惑40则 Qualcomm承诺投入1.5亿美元 扶持中国初创企业 物联网多了把“新板凳” 联想推三款智能硬件 .NET技术+25台服务器怎样支撑世界第54大网站 基调网络发布听云平台:“听”懂App性能 《近匠》豌豆荚李大海:用搜索敲开手机娱乐平台之门 微信开发HTML5轻游戏中的几个坑 【微信大会】企业号、支付功能、智能客服与LBS、电商开发解析 【CTO俱乐部走进海尔】活动图文直播进行中 燃料电池商业化,数据中心或将永不断电? 广告教父的哲学:值得F2P游戏借鉴的8条经验 UC李云:基于Chromium的浏览器如何打造更好体验 一周消息树:颠覆互联网思维?年薪50万码农转行卖凉皮 Coconut2D:跨平台2D游戏及应用开发工具 第八届中国大数据技术大会将于12月中旬隆重召开 10个常见的缓存使用误区 请问怎样修改SDI框架的标题及去掉最大化按钮??? 在自定义的用户控件上公开引用windows控件的事件怎么做啊!!谢谢 2003中为什么IDE设备只能用PIO模式? 在FAQ里见到这样一句,不明白什么意思 怎么我用vc 的 odbc 做数据库时,工程名为try ,在工程工作区的“class view”面板里没有tryview类的? 不能使用xmldocfile() 文档对象的问题 关于键盘纪录,高手 如何使用IPAddress控件? 初学者问:怎么用UpdateAllViews()? 无法创建asp.net应用程序 大家帮帮我吧,我都快崩溃了 中文乱码的问题 !!谁在VMWare 3.2里装过RedHat 9.0和RedFlag 3.0,请看看这些问题(100分)!! 如何使在输入框选中的文字在提交后仍然显示在输入框中? 无法创建asp.net应用程序 高手在上,请问怎么样在win2k中实现关闭程序和绘图[内详] 初学者问:如何在listview中查找其中一行? 怎样在调试窗口中看到变量值? 郁闷中,狂散分。。。。。。 DCOM怎么使用? 想做一个地区门户一般要包含那些栏目?? 线程 怎么能让DELPHI编出来的程序最小化以后进入到系统托盘? C++问题,请进来帮忙! help me ~!!! 以下行为究竟是关闭端口还是使用端口 callzjy(【剑客西门吹雪原来是仁者帮帮主...】) 怎么翻了这么多老帖子出来了??? 求原代码下载 大家都在干什么? 有什么东东大家可以一起研究研究? 初学者问:如何在listview中查找其中一行? fortran语言的高手请进,分数不够再加 我是一个刚刚步入JAVA世界的小鸟 恳请得到大家的帮助 。。 ActiveForm发布问题。 怎么能让DELPHI编出的程序像QQ一样可以自动隐藏? 一个关于dll的例子,运行不了,请帮忙看一下。 程序打包 BCB产生调试符号的问题 为什么要4张1寸的,1张2寸的照片?要这么多干什么/ 请问怎么样用C#遍厉注册表? 请问大家如何做一个实时的屏幕抓取的程序啊,是实时 各位大哥大姐帮帮小弟,先谢谢了!!! 用Delphi开发的WebService能否在NT4的IIS上面运行? 键盘纪录问题 一个窗体有多个按钮,怎样让一个按钮成为默认按钮? 关于MYSQL_CONNECT(),有点疑问 ASP.net好像也不能替代JavaScript吧? 网络游戏外挂之我所见(7) 键盘纪录问题 键盘记录问题 我为谁哭泣.. 程序求和要求:将table表中的数字字段ton所有查询值进行求和.这段VB代码怎么写啊?select sum(ton) from table where 条件以上查询中,还可以加入查询其它字段并能将其值依次输出吗?我想达到:将表table 参加翻译成 英文 要所有的 英语翻译原句是 死亡如影相随 历史晚期猿人和晚期智人有什么差异 求和?(要有过程和结果)∑[i/(2的i次方)]=?(i从1到无穷) 我要参加【翻译成英文】 晚期智人和现代的我们有多少区别?晚期智人之后的多少年人类才定型了?从猿到晚期智人,那么晚期晚期智人之后的多少年人类才定型了?所谓的进化才停止了?(其实应该还没停止,还一直在进 第一个字是映的成语有什么`?迅速`! 把“正在参加”翻译成英文 请问什么是"太岁"? 求和.要手写详细过程 万一他不参加 你还参加么?怎么翻译成英文 太岁是什么? 请用映字组个成语,急用!请用映字组个成语. Could you___the baby laugh?--Could you____the baby laugh?--Certainly.It's easy.A.ask B.am C.are D.were 太岁究竟是什么?太岁不是一个物体吗?怎么会犯它啊?以前一直以为是一个神的称呼,后来看解密大行动才知道太岁是一个物体,那犯太岁是指犯了这个物体?不懂 can't 现在那种红外感应开关是只要感应范围里有人 就会一直亮 还是会延时亮十几秒灭了再亮啊? 初高中衔接物理题——将一个物体从一定高度由静止释放,实验证明,若不考虑空气阻力的作用将一个物体从一定高度由静止释放,实验证明,若不考虑空气阻力的作用,物体做匀加速直线运动,加 小学人教版五上课堂作业本《落花生》最后一题(告诉我题目,我本子忘带了. 不延时的红外感应或者光电开关有吗?我需要一种不延时的红外感应开关或者光电开关,要求当手放入探测范围时,开关立即打开或者关闭,请问是否存在这种开关,价格约是多少? 在不考虑空气阻力 本木倒致是什么意思 Don't leave, i can't spare you the world has. 是什么意思 考虑空气阻力的弹道是怎样的?听说最大射程的发射仰角有60度左右,明显大于理论上的45度. 到底是本木倒置还是本末倒置啊? 一天吃几根香蕉比较合适啊?吃两三根会不会太多啊? 晚期猿人和晚期智人有什么不同之处?晚期智人的出现之时,世界各地的古人类发生了什么变化? 本木倒置用英语怎么说 香蕉可以提高记忆力吗?一天吃几根香蕉最好了? 求教.航空部门规定,对于体积超过20cm/40cm/55cm或质量超过10kg的行李,需要托运.红红的爸爸乘飞机是带了一个长18厘米,宽35厘米,体积是370立方分米,质量是9公斤的包装盒,需要托运吗? 函数的导数表达式包含函数本身⋯ y'=-y^2-1 只知道自变量x=0时y=1 求y表达式 一天吃几根香蕉为极限?香蕉促消化我是知道的,但吃了一根后,由于它特别新鲜我就又吃2根,但我不敢吃多,怕吃多了对身体有害.到现在还想再吃一根呢.听他们说吃多了会拉稀呀?一天吃几根是 本未倒置的反义词 baby、we can fly fly away .. 艾滋病是由什么引起的 一水桶侧壁上不同高度处有两个小孔,装满水,水从孔中流出,将桶提至高处然后松手让桶落下问:在水桶下落的过程中,为什么水几乎不从孔中流出? 2*0.3m 平方线材导体多少根 艾滋病是什么引起的 本未倒置错在哪个字? 线材:导体截面积怎样计算 快要读二级了,孩子的看图写画很差,怎么样才能让她提高水平,请高手指教, 一水桶侧壁上不同的高度处有两个小孔,把桶装满水,水从孔中流出,用手将桶提高,然后松手让桶落下,在水桶下落的过程中()A.水仍然以原速度流出B.水仍然从孔中流出,但流速变快.C.水几乎不 导体材料的问题二氧化硅(玻璃)在纳米尺寸时能导电,如果把纳米二氧化硅连接制成导线后,还能不能保持导电性? 1.南方古猿、能人、直立人、智人这四个人类可进化的阶段中那一阶段人类最先开始直立行走?2.克隆羊多利具有生殖能力吗?骡子具有生殖能力吗? 如图,一个盛水的容器底部有一小孔.静止时用手指堵住小孔不让它漏水,假设容器在下述几种运动过程中始终保持平动,且忽略空气阻力,则(  ) A.容器自由下落时,小孔向下漏水B.将容 英语翻译在纽约一座漂亮的房子里,凯瑟琳斯洛珀跟父亲和姨妈一起过着平静的生活.父亲去世后,她将会继承一大笔钱.一天,凯瑟琳遇到一位英俊的小伙子,名叫莫里斯汤森.不久,他便称自己爱 进化的阶段 特征 古猿 南方猿 能人 直立人 智人 古猿 特征:人类和类人猿祖先,开始向不同方向进化 什么是2叉树 什么材料能作为导体为什么?那个电线电缆采用的是铜?而非铝或是别的导体? 看图写画我是用吸管和废衣架做桥的弯曲的一段,用泡沫做他的平面,下面奠了纸板,同时牙签作为护栏,废弃的饰品中的小花小草做绿化,体现出一种环保的概念,用桥来显示出宁波是我们美好的 2叉树是什么? 翻译 Can the ostrich fly? 万丈盐桥怎么样 什么是2叉树的度? 英语翻译这次考试对他来说太难了 你怎么样?英语振作起来,我确信我们能取得高分.(get good marks) 爱滋病的病原体是什么?它的结构由哪两部分组成?请详细说明原因.十万火急! 青海湖有多少盐 请问能不能电器通过红外感应开关接通电源之后通过其他系统将一种电器的上盖儿打开,延时一段时间之后再关闭,然后电器进行下一个工作程序呢?用电磁阀或是电磁开关等能解决这个问题吗 我去抽签了,签上说如影随天.我抽的是婚姻签, 外媒:日本也流行“土豪金”苹果发布新款平板电脑iPad Air日本猫站长阿玉担任“粉红丝带”宣传大浙江温州一在建祠堂坍塌致7人受伤浙江海事局下放海员证和油污保险证办理浙江省新增1例人感染H7N9禽流感病云南晋宁传唤嫌犯引发群体性事件 多名荷兰针对俄扣押其破冰船向国际法庭提起50多个国家将参加第五届外洽会吸引中日网上传视频主张独岛主权 韩国敦促日东盟各国持续热议中国与东盟合作前景美加州大学戴维斯分校打造奢华宿舍吸引温州将建10条BRT 3条线路近期先中石油与俄油气公司签署LNG购销协议星巴克回应售价质疑 称在中国利润不比意大利父子专制冒牌名酒遭警方查获 将日本首相安倍表示将对离岛等土地买卖实美国男子跑马拉松织出近4米长围巾 破韩军拟提前部署三艘宙斯盾驱逐舰 欲增韩国战殁者遗属要求取消靖国神社合祀二文莱将实施严厉伊斯兰刑法 通奸者将被从抄通知到送通知开展批评不留情面 解决问题务求实效照章办事确保民主科学战役筹划:“中军帐”充满“火药味”广东南澳民兵悉心保护“绿色古董”牵一发而动全身IMF和世行年会传递的三个信号毛泽东与《别了,司徒雷登》高昂的练兵热情哪里来四川甘孜藏区首个“国家国防教育示范基驻藏某汽车团组织驾驶员学习野生动物保军列运输实施模块化编组切实负起审计制度落实的领导责任坚定信仰才能增强政治定力“曾几何时”怎么用?党建动态伊朗说不会运出浓缩铀和停止铀浓缩活动加强中泰互学互鉴 搭建更多合作平台实干兴“沙”让中泰友谊深深扎根两国民众心中“兼职消防员”亮相火场
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘