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

算法为王:且看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日在北京世纪金源大酒店召开。届时将设有《智能交通与大数据》分论坛,物联网将是其中重要环节,欢迎参加讨论!

上门汽车服务“e保养”完成A轮500万美元融资 Docker之父Solomon Hykes谈项目开发的初衷和挑战 浪潮是如何实现单日5000台x86服务器交付互联网的? Bootstrap 3.3.0发布 版本4不再支持IE8 漏洞预警:FTP曝严重远程执行漏洞 影响多个版本Unix 【简讯】W3C小组宣布HTML5标准制定完成 AMD发布GPUPerfAPI 2.14,GPU性能检测更Easy! 开放能力升级——微信公众号登陆授权开启公测! 百度最“智能”的新型推荐技术——智能因子分解机 消灭Bug!18款最佳的问题跟踪管理应用程序 Google Analytics为什么会这么快 【MDCC 2014】Xamarin深入体验营——开发实战大揭秘 【MDCC 2014】电信技术专场:运营商与开发者如何合作共赢 【MDCC 2014】高德LBS大赛闭幕式暨颁奖典礼:下一个50亿应用花落谁家? MDCC 2014移动开发者大会开幕:全生态系统齐聚 开发者成主角 蓝港互动有限公司董事长&首席执行官王峰:移动互联网泛娱乐化趋势 多盟联合创始人&总裁张鹤:多盟DSPAN助力开发者高效变现 创新工场联合创始人汪华:移动互联网时代的跃迁式增长 阿里巴巴集团UC移动事业群总裁俞永福:AMAP Inside——更专业、更开放 《程序员+》移动应用上线 启动“2014 MDCC十大人气应用/产品评选活动” 微软开发体验与平台合作事业部大中华区DX部门总经理Srikanth Raju:基于云的跨平台开发 Facebook平台工程合作部亚太区总经理张博:通过Facebook构建下一代移动应用 Vungle工程副总裁Wayne Chan:移动视频广告的未来 友盟副总裁焦岳:2014移动互联网行业趋势&大数据的行业价值与运营支持 联发科技创意实验室副总裁Marc Naddell:以小博大的可穿戴方案 用友软件股份有限公司高级副总裁谢志华:企业互联网移动化触手可及 【MDCC 2014】英雄会晚宴——厉兵秣马,再上征程 移动开发技术与平台峰会(上):流量优化、数据管理、IM、LBS与跨平台开发 【推广、盈利与投资论坛】探寻推广与盈利新趋势 【企业移动化论坛】翻山越岭,创新突围企业移动化 解读微信与开发者双赢的开放能力 关于汉诺塔升级版。 急!为什么临时表空间总是不够? 如何判断一个线程已经处于死循环或不响应(即系统CPU占用率高达98%以上)?求助!!! 用CPictureEx类加载gif动画的疑难问题,给分50 请问各位高手,java项目经验主要包含什么东西? 如何判断一个线程已经处于死循环或不响应(即系统CPU占用率高达98%以上)?求助!!! 救我啊!想在局域网的网关机上监控其他机器发出的http请求 怎样快速选取checkbox 请问怎么把几个txt文件合并成一个文件,急!!!!在线等待 关于在广州建立《江西老乡在广州的备忘录》倡议书! 关于程序编译的问题!!!! cast问题 一个简单问题? 怎样删除多条记录,象邮件系统中的删除邮件的操作? Bof或Eof有一个为真,或者当前记录已被删除,请问MDAC2.5哪有下载? 请教:oracle 7.4.3 触发器的错误处理 .htm传递参数! 一个比较菜的问题,我的VB6中窗体的name属性没有,请问怎么加入. 简单sql语句求助!!! 如何在vc++中获得当前用户的用户名? 為什麼在我機器上建立與其他機器的oracle連接的bde出錯???連sql server都沒問題,破oracle真亂!!!!! 真气人 急,用TADOTable控件怎么对字段进行查询?请举例说明!谢谢! 用fireworks 4.0制作动画,请问怎么样用一张图片做背景? 在用VC调DLL时报错,error C2171: '*' : illegal on operands of type 'int (__stdcall *)(char *,char [])'怎么办? 一个打包的问题 在表格式的数据窗口中显示image的问题??欢迎讨论,拒绝灌水! 128MB内存跑BCB6好像有点那个? 请问有人知道哪儿有打印条码的源程序吗? 有关INSERT 插入数据到ACCESS 数据库,为什么出错,急,急,急,菜鸟请教,马上给分 vb.Net的较大的Project编译时,经常出现某些.resources文件找不到,为什么?气死人了! 我很菜,望高手帮忙! 小毛头毕业分在工程部,望个为师兄指点应该注意些什么? Java Applet 中变量的问题请教. 这儿看看! 请帮忙看看这是怎么回事? TRIGGER 请问热心人帮帮我这个热心的学生. 如何安装acm控件 到底应该先看VC++技术内姆还是先看MFC深入浅出? 请问如何使打开的窗口在屏幕正中间? 怎样产生一个全局唯一标识ID? 双套超级查询器!!!上传完毕!!! WINSOCK控制问题 编译时出现这中错误提示是什么意思?怎么解决? 请各位热心人帮帮我这个热心的学生. 100分求助。在无向图(图中有闭合的点集)搜索给定两点之间的所有路径。 调用中文输入法,程序如何实现 VS.NET安装:小弟实在是愚笨 怎样添加DNS服务包?? 100分求助。在无向图(图中有闭合的点集)搜索给定两点之间的顶点。 一个定积分应用的题求解一立体以的a=4 b=3椭圆为底,垂直于长轴的截面都是正三角形,求其体积 围绕 中国梦---阳光下的成长 为题 (儿童诗) 自创 (cosa/1+sina) +(1+sina)/cosa半夜在做数学 帮忙化解一下(cosa+cota)/(1+sina)帮化解一下 顺便问一下 以后题目里有cota 的怎么办 这题考的是定积分的应用 这道定积分的题怎么求呢? 若sina+cosa=1 则sina-cosa的值为 我要几句描写 爱 的比喻句用不抽象的事物来描写爱 这道定积分的题怎么做出来的 已知a是第三象限的角,化简根号下1+sina比1-sina-根号下1-sina比1+sina 装订一批练习本,计划每天装订1500本,30天完成,实际每天超产20%,实际几天完成任务?用比例解 设抛物线C:y^2=4x的焦点为F,直线l过F且与C交于A,B两点,若AB的绝对值=3BF的绝对值,则l的方程为 谁知道海洋变色龙是哪两种动物啊?听说海洋变色龙是章鱼和乌贼 我搞不清楚, 装订一批练习本,计划每天装订1500本,30天完成,实际每天超产20%,实际几天完成任务?用比例解 华华测得走廊里的一根圆柱形柱子的横截面周长是1.57米,这根圆柱形柱子的横截面面积是多少平方米?要有算是,答案!急急急急急急急! 求邓小平文选读后感,800字左右,最好是原创, 这道定积分题怎么做 小石潭记中直接表明作者心境的句子是--------,----------. 求《鲁宾逊漂流记》读后感,1500字左右1500左右的《鲁宾逊漂流记》读后感急用O(∩_∩)O谢谢 求这道题定积分 育英小学校办工厂,原计划12天装订24000本练习本,实际每天必原计划多装400本,实际完成任务用了多少天? 《我是90后》读后感 1500字左右, 求这道题的定积分 定积分的简单应用我只想问一下V=的那一行为什么不带负号?cosx的导数不是-sinx吗? 读后感1500字左右 《小石潭记》中反映作者心境感伤的句子? 一道很简单的定积分这是怎么推导出来的? 夏至未至读后感1500字左右 f(x)=∫(0,x∧2)xcost∧2dt求f(x)的导数 急求一个简单的定积分.. 关于快乐成长的诗!关于快乐成长的诗(能念三分钟左右就行了)急啊! 急求……求这道题的定积分 《小石潭记》中,既是描写环境又是描写心境的语句是( ) 英语翻译对其中的字要逐个翻译 夏天会叫的五种昆虫 小石潭记比喻的修辞手法写水声的句子是什么 若sinA+3cosA=0,求sin(π+A)cos(π-A) 《毛泽东的故事》读后感 这道定积分怎么求 已知a属于(π/2,π),且4sina=-3cosa,求cos(a+π/4)/sina的值 毛泽东的故事观后感, 试用一个比喻句和一个夸张句描述山.1.比喻句:2.夸张句: 2sin^a-cos^a+sina*cosa-6sina+3cosa=0啊这个式子怎么分式因解?就是把它变成两个积的形式:如A*B=0的样子? 关于毛岸英和毛泽东的故事.(《青山处处埋忠骨》的文章)快~ 描写山的比喻句不是用山比喻什么,要八句 求证cos(2分之3π+a)=sina 已知直线L过抛物线y^2=4x的焦点F,且与抛物线相交于A,B.(1)求三角形AOB重心G的轨迹方程,可设横截式 请用一个比喻句描写你喜欢或熟悉的一座山的景色. 邓小平文选读后感 3000字左右 过抛物线y=4x的焦点的直线l与抛物线交于A,B两点,O为坐标原点,求△AOB的重心G的轨迹方程.拜托了各位 谢谢 什么成语里面既有马虎这个词,意思又是形容马虎的?是个成语,成语四个字,字里有“马虎”,意思还是形容马虎的! cos(a+π/6)=-4/5 sina=? 已知过抛物线y^2=4x的焦点的直线l与抛物线交于A.B两点,O为坐标原点,求△AOB的重心 那两种动物别称为“海洋变色龙”? 已知抛物线C的顶点在原点,焦点为F(0,1). (Ⅰ)求抛物线C的方程; (Ⅱ)在抛物线C上是否存在已知抛物线C的顶点在原点,焦点为F(0,1).(Ⅰ)求抛物线C的方程;(Ⅱ)在抛物线C上是 某工程A独做需要8小时完成,B独做需要10小时完成,则A的工作效率比B高()% (算式) 形容 舒缓的 四字或成语 要内涵的 求顶点在原点,焦点为F(5,0)的抛物线的标准方程 定积分的应用题目用定积分求由y=x^2 ,y=2x^2 ,y=1 所围成的图形面积要具体步骤 能表达后来居上意思的四字成语有哪些? 《小石潭记》翻译
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘