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

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

DroppableDestroy()-JQuery API Sortable(options)-JQuery API SortableAddItem(elem)-JQuery API $.meta.setType(type, name)-JQuery API data()-JQuery API disableTab(position)-JQuery API enableTab(position)-JQuery API tabs(initial, settings)-JQuery API triggerTab(position)-JQuery API triggerTab(position)-JQuery API Tooltip(settings)-JQuery API PHP简介-PHP初学入门教程1 选择PHP的理由 -PHP初学入门教程2 从一个简单的程序来了解PHP -PHP初学入门教程3 PHP语法基础 -PHP初学入门教程4 建设一个简单的交互网站(一) -PHP初学入门教程5 建设一个简单交互的网站(二) -PHP初学入门教程6 建设一个简单交互的网站(三)密码验证 -PHP初学入门教程7 PHP文件上传 -PHP初学入门教程8 为站点添加投票功能 -PHP初学入门教程9 广告条轮播-PHP初学入门教程10 操作MySQL数据库实现简单的留言板-PHP初学入门教程11 使用PHP来操作Oracle数据库 -PHP初学入门教程12 技术杂项PHP教程结束篇 -PHP初学入门教程13 .NET中DataSet和DataReader的区别与转换 CGI技术及其开发(二)-Delphi资料 CGI技术及其开发(一)-Delphi资料 COM/DCOM中如何传递数组-Delphi资料 COM与DCOM的区别与联系-Delphi资料 Cookie的建立使用-Delphi资料 Delphi 3中Cookie的建立使用 全中文的用Rose做的实际项目的UML模型! 救命!!我的机器不能下载东西了,怎么回事?? 求教邮件编程问题,邮件客户端如何实现“在服务器端保留备份的功能“? ciscoworks 各位大哥大虾,VC下如何用ADO连SQL SERVER?(急) ShellExecute和CreateProcess有什么区别? 关于海量数据、最有效率的排序、硬盘缓冲与映射、专业数据库的讨论 如何用VB编启动是可以带参数的程序呢?(例如:我自定义了一种文件,双击用我的程序打开,程序自动会打开这个文档 昨天我过生日,今天分蛋糕给大家 请问哪有《java图形设计2Swing篇》可以下? 我要用一个数据库去实时访问另一个据库,我该怎么办 URLghj1976@csdn.net----别吓我,有请您老人家! 谁给我介绍一下sql server7.0教材的比较好的下载网站,我给他20分。 我都急死了,到搜索引擎里搜到的好几个站点都不能用,到底哪儿可以当到3DMAX? 谁有写的比较好的邮件收发程序? 一个微软证书的私钥问题 微软证书的私钥问题 求助,简单问题 男人最快乐的十个瞬间! solaris下装oracle8.1.6遇到jre环境问题 怎抹加分?我准备给别人加40分,可我最多只能加20,请问另外20分怎末加分,为此我可能已得罪了一些人了。 请教下载的问题 如何在运行时动态修改Quick Report的打印机设置? 怎样做一个接受拽拖的LISTBOS(例如,把资源管理器里的文件拖到上面,就自动增加一项 ,就是拖的文件名) 怎样才能隐藏在ctrl+atl+del中进程列表中的项目啊 用C写DLL 请问:airhorse(编程至尊宝),infopower3000的注册码可以用于商业目的吗? 结构化异常处理 linux下如何配置内置Mondem? red hat linux7.0下安装oracle8.1.6遇到问题 我是菜鸟,问一个关于类的问题 问题:TWebbrower中,InnerHtml和OuterHtml以及InnerText和OuterText之间的区别 (加急)我要傻了,快救命啊!高分求救!!(回答正确者尽管开口要分!) ==============VC中怎样调试控制台程序=============? 再问:MS SQL6.5 的.DAT文件怎么恢复,请高手帮忙,(100分绝对对线) 白桦林 我需要自定义一个鼠标按下的事件,可我不知道该去那个参数?有人能告诉我吗? 有谁有比较好的javacript教学方面的电子文本? 两个关于数据库的问题(上次写的不太清楚),我的分快用完了,只能随便给点意思意思了! DotNet时代真正来临了/VB.NET/Beta2正式版下载地址/大家要就快点/如果FTP停了/可不要怪我 那里有DIRECTX编程的书或资料呢?(用VB编) @_@````兄弟们!!有在WIN2K下用VC6搞开发OR学习的吗? 该是到了绝望的时侯了 DotNet时代真正来临了/VS.NET/Beta2正式版下载地址/大家要就快点/如果FTP停了/可不要怪我 在用户登录后,她要更改密码或用户信息,怎么实现?用cookie吗? 建议增加UNIX开发板块! 寻VB好书 用N-Up样式的数据窗口,检索出的数据有 1,2,3,4,5类数据,1类的有1行,2类的有2行, 在应用程序和DLL中如何永久保留用户的一些设置,在程序从新启动后仍然有上次的设定 怎么样用WHERE进行日期查询呀? 大家帮帮我!!! 解一元一次方程如何移项,方法. 整式的加减,以去括号和合并同类项为基础,化简后的结果不含( )和( ). 有理数的乘除法仍与加减法类似应先定符号再定什么? 解一元一次方程移项的理论依据是什么 初一数学整式的加减怎样去括号= =.我是傻× 去括号后该怎样变符号要详细说明哦~~~~~~~~~~ 解一元一次方程时移项为什么要变号?求详细原因. 解一元一次方程(去括号),已知x=2是关于x的方程(2m-1)x=8的解,则m的值是--------------.方程2(12+x)=4的解是-----------.(1)3x-2(1-2x)=5;(2)3(2x-5)-(4x+2)=1;(3)5(x+2)=1+2(3x-2);(4) 去括号与添括号的法则 不等式移项变号法则 注是不等号 解用一元一次方程 去括号 用添括号法则做, 这是不等式的什么变号法则? 用括号解一元一次方程! 运用添括号法则解, 不等式变号法则还是没搞清楚不等式什么时候要变号.谁能跟我说说清楚?2X-4 用去括号法和去分母法解一元一次方程四道题带过程 添括号法则 什么是解方程,解不等式的移项法则 去括号+去分母的一元一次方程~快·····今天(2007.12.08)帮我找道题目者,加赏分50~ 0添括号法则,想弄清楚点,半夜啊TQT 不等式怎么变号? 用去分母法解一元一次方程 :(1)2y-1/6=5y+1/8 ,(2) x-1/2+1=x-1 ,(3) 1+3-x/2=x+4/3-2 ,(4)1/2(x+1)-x+1/6=1 ,(5)1/3x+1/2=2/3 (6)3(2x+1)/4-1=2(2x-1)/3 (7)4(2y+3)+5(y-2)=8(1-y) (8)如果2x^5a-4-3=0是关于x的一元一次方程,那么a=( 添括号法则,什么时候才添啊,可以随便添吗 已知关于x的方程¼x²-(m-2)x+m²=0 是否存在正数m使方程的两个实数根的平方和为224 一元一次方程的移项怎么移?移项我总是弄不懂 那个数怎么移我也不知道 移过去是加还是减,乘还是除,我就是搞不懂 谁来教教我 普通的移项我会移,但是稍复杂的我就不会移了,像有理数那一 一元一次方程 去括号 是否存在实数m,使关于x的方程4x的平方-4mx+m+2=0的两个实数根的平方和最小?若存在求出m的值及这个最小值 一元一次方程移项怎么移 去括号解一元一次方程 方程3×y的平方+4x+3K=0的两个根的平方和等于7,求k的值 解一元一次方程移项怎么移明确着点 一道解一元一次方程的题(去括号的)!2(10-0.5y)=-(1.5y+2)把去括号的过程写下来 已知方程2x的平方+4X+M等于0的两根平方和是34,求m的值 一元一次方程怎么移项?老是移不来 一元一次方程 去括号与去分母 要有格式!三分之5y+4 + 4分之y-1 = 2 -12分之5y-53分之x+6 - 5=4x3分之7x-1 — 2分之5x+1 = 1格式是:去分母,得去括号,得移项,得合并同类项,得系数化为1,得 满足方程{2x=y=k,-4x-3y=k+8 的x、y和等于3k,则k=满足方程{2x+y=k,-4x-3y=k+8 的x、y和等于3k,则k= 初一数学整式的加减去括号和化简有什么区别 关于解一元一次方程——去括号和去分母的题七年级二班买了35张电影票,公益共用了125元,其中甲种每张8元,乙种每张6元,问甲、乙两种票各买了多少张? 设( )x张,则乙种票买(35- 已知ab互为相反数,cd互为倒数,x的绝对值为5,则x的平方+(a+b)的2010次方+(-cd)的2011次方的值为? 七年级数学整式的加减与什么什么无关的题 求解一元一次方程去括号题两道~加讲解,10(x+30)=15x,2.8(x+24)=3(x-24)去括号得 移项得 合并同类项得 系数化为一得还有啊 我想问问 怎么系数化为一呢?ps 讲一下系数化为一最好列几道题 以便明白 解方程(采用移项法)谢谢 1.(有些东西打不出来用文字代替了,在草稿本上把式子写下来容易看懂)试说明多项式a的三次方b的三次方 + b的二次方- 1/2a的二次方b + 0.5a的二次方b - 2a的三次方b的三次方 + b的二次方 + a的 一元一次方程带括号的习题 利用移项法解一元一次方程, 请写出同时满足一下三个条件的两个整式:①这两个整式的和为3x2+x-1;②它们都是三次多项式;③一个多项式的系数都是正数,另一个多项式系数都是负数 去括号解一元一次方程 移项法比利用等式性质法解方程更为_______,但同时容易出现一个常见的错误是________的问题 第二章 整式的加减单元检测A卷 好好好,如果你给我写出来了,我把我分全给你。 分数的乘除法法则 x+4.6=10.9用移项法怎么做 代数 整式的加减 分数的乘除法运算法则是什么, 移项利用了什么数学原理? 去括号,并合并同类项.-3(2x的二次方-xy)+4(x的二次方+xy-6)a+[2a-2-(4-2a)] 分数乘除法的运算法则是什么? 解一元一次方程,合并同类项与移项.解方程(1)-3x=3-x/9 (2)6y-3/4=4y+5/4 (3)3x+4=x/3 (4)-2x=2-x/6(5)2.5y+10y=6.5y-3 (6)1/2x-1=2/3x+3/2 (7)0.5x-0.7=6.5-1.3x要有移项,合并同类项,系数化为1这些过程 整式的加减以去括号和合并同类项为基础化简后的结果不含什么什么,它的依据是加法 小学整数加减法去括号时怎样变符号?
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn