大规模并行图计算:从理论到实践

视频介绍:大规模并行图计算:从理论到实践

图是实体组之间联系的有用理论表示,并已用于数据科学中的各种目的,从按受欢迎程度对网页进行排名和绘制社交网络,到辅助导航。在许多情况下,此类应用程序需要处理包含数千亿条边的图,这对于在单个消费级机器上处理来说太大了。缩放图算法的典型方法是在分布式系统中运行设置,即在多台计算机之间划分数据(和算法)以并行执行计算。

虽然这种方法允许人们处理具有数万亿条边的图,但它也带来了新的挑战。也就是说,由于每台计算机一次只能看到一小部分输入图,因此需要处理机器间通信和设计可以拆分到多台计算机的算法。

一个实现分布式算法的框架MapReduce于 2008 年推出。它透明地处理机器之间的通信,同时提供良好的容错能力,并激发了许多分布式计算框架的开发,包括Pregel、Apache Hadoop等。尽管如此,在非常大的图上开发分布式计算算法的挑战仍然存在,并在这种情况下设计有效的算法,即使是基本问题,如连通分量、最大匹配或最短路径,一直是一个活跃的研究领域。虽然最近的工作已经证明了许多问题的新算法,包括我们的连接组件算法(理论和实践)和层次聚类,但仍然需要可以更快地解决一系列问题的方法。

今天,我们通过首先构建分布式图算法的理论模型,然后演示如何应用该模型来解决这个问题。所提出的模型,自适应大规模并行计算(AMPC),增强了 MapReduce 的理论能力,提供了一种以更少的计算轮次解决许多图问题的途径。我们还展示了如何在实践中有效地实施AMPC 模型。我们描述的算法套件,包括最大独立集、最大匹配、连通分量和最小生成树的算法, 工作速度比当前最先进的方法快 7 倍。

MapReduce

的局限性 为了理解 MapReduce 在开发图算法方面的局限性,请考虑连通分量问题的简化变体。输入是有根树的集合,目标是为每个节点计算其树的根。即使是这个看似简单的问题,在 MapReduce 中也不容易解决。事实上,在大规模并行计算(MPC) 模型中——MapReduce、Pregel、Apache Giraph和许多其他分布式计算框架背后的理论模型——这个问题被广泛认为至少需要多轮与log n成比例的计算,其中n是图中节点的总数。虽然log n看起来不是一个很大的数字,但处理万亿边图的算法通常每轮都会将数百 TB 的数据写入磁盘,因此即使轮数的小幅减少也可能带来显着的资源节省。

我们的算法中出现了一个类似的子问题,用于寻找连接的组件和计算层次聚类。我们观察到,可以通过使用分布式哈希表(DHT)实现这些算法来绕过 MapReduce 的限制,这是一种使用一组键值对初始化的服务,然后返回与提供的键相关联的值即时的。在我们的实现中,对于每个节点,DHT 存储其父节点。然后,处理图节点的机器可以使用 DHT 并“向上走”树直到它到达根。虽然 DHT 的使用对这个特定问题很有效(尽管它依赖于不太深的输入树),但不清楚这个想法是否可以更广泛地应用。

自适应大规模并行计算模型

为了将这种方法扩展到其他问题,我们首先开发了一个模型来从理论上分析利用 DHT 的算法。由此产生的 AMPC 模型建立在完善的 MPC 模型之上,并正式描述了使用分布式哈希表带来的功能。

在 MPC 模型中,有一组机器,它们通过同步轮次中的消息传递进行通信。一轮中发送的消息在下一轮开始时传递,并构成该轮的整个输入(即,机器不保留从一轮到下一轮的信息)。在第一轮中,可以假设输入随机分布在机器上。目标是最小化计算轮数,同时确保每轮机器之间的负载平衡。

然后我们通过引入一种新方法来形式化 AMPC 模型,其中机器每轮写入一个只写分布式哈希表,而不是通过消息进行通信。一旦新一轮开始,前一轮的哈希表变为只读,并且新的只写输出哈希表变为可用。重要的是,只有通信方法发生了变化——每台机器的通信量和可用空间都以与 MPC 模型中完全相同的方式受到限制。因此,在高层次上,AMPC 模型的附加功能是每台机器都可以选择要读取的数据,而不是提供一条数据。

算法和经验评估

机器通信方式的这种看似微小的差异使我们能够为许多基本的图形问题设计更快的算法。特别是,我们表明无论图的大小如何,都可以在恒定的轮数中找到连通分量、最小生成树、最大匹配和最大独立集。

为了研究 AMPC 算法的实际适用性,我们通过将 Flume C++(FlumeJava的 C++ 对应物)与 DHT 通信层相结合来实例化模型。我们已经针对最小生成树、最大独立集和最大匹配评估了我们的 AMPC 算法,并观察到与不使用 DHT 的实现相比,我们可以实现高达 7 倍的加速。同时,AMPC 实现平均使用少 10 倍的轮数 来完成,并且向磁盘写入的数据也更少。

我们对 AMPC 模型的实现利用了硬件加速远程直接内存访问(RDMA),该技术允许从远程机器的内存中读取几微秒的延迟,这仅比读取慢一个数量级从本地内存。 虽然一些 AMPC 算法比 MPC 算法传输的数据更多,但它们总体上更快,因为它们主要使用 RDMA 执行快速读取,而不是昂贵的磁盘写入。

结论

利用 AMPC 模型,我们建立了一个受实际高效实现启发的理论框架,然后开发了新的理论算法,这些算法提供了良好的经验性能并保持了良好的容错特性。

更新说明:优先更新微信公众号“雨夜的博客”,后更新博客,之后才会陆续分发到各个平台,如果先提前了解更多,请关注微信公众号“雨夜的博客”。

博客来源:雨夜的博客

(0)

相关推荐

  • 隐私计算 区块链:一次具体场景下的详细应用

    来源:碳链价值 原文标题:隐私计算+区块链:一次具体场景下的详细应用 在本文中,我们假设了一个非常具体的业务场景,在这个场景中说明应用隐私计算的详细过程,以及区块链在其中扮演的作用. 编者按:本文转自 ...

  • DHT算法的一知半解

    如果所有的数据结构只能留下一种,那可能就是哈希表. 哈希表是一种能高效进行数据读取/写入的数据结构,通过哈希函数可以将任意的数据映像到固定长度的随机字符串,由于函数具有单向性与唯一性,因此这个随机字符 ...

  • 学了这些基础算法,人工智能就算入门了

    说起人工智能,大家总把它和科幻电影中的机器人联系起来,而实际上这些科幻场景与现如今的人工智能没什么太大关系. 人工智能确实跟人类大脑很相似,但它们的显著差异在于人工智能是人造的--人工智能不必具备生物 ...

  • 雄文!热处理理论模拟计算及其在工业实践中应用

    作者:王陆军.张民,宁波上中下自动变速器有限公司          王瑞平,浙江吉利罗佑发动机有限公司 来源:<金属加工(热加工)>杂志 1.热处理理论模拟计算 金属材料热处理是一门理论性 ...

  • 从理论到实践,一图读懂项目管理全流程

    项目管理流程对于一个项目是否能够健康高效地执行,总是会起到事半功倍的效果. 但是,随着我们面对的项目越来越复杂,很多项目经理感到对项目管理流程的控制感会越来越弱. 怎样做好项目管理对于很多项目负责人来 ...

  • 理论派+实践派,教你彻底学会采暖系统水泵的计算和选型!

    <空气源热泵供暖入门百科> 文_叶泽文/王建南 采暖系统水泵的选型,在我们的微信群里大概被问了10000遍了.有人想知道选型过程,有人就想知道个结果.今天,我们把水泵选型分为"理 ...

  • 必普集团售后大练兵,理论结合实践,培训与分享并行

    春节假期结束,全国中小餐饮店陆续开工,与此同时,创业帮扶类平台也在抓紧"修炼内功".近日,为巩固和提高售后体系服务水准.提升客户满意度,国内知名一站式创业服务平台必普集团及其济南微 ...

  • 幼儿园课程的理论与实践

    第一章幼儿园课程概述 第一节课程概述 一.课程的定义 二.课程理论 第二节幼儿园课程概述 一.幼儿园课程的特点 二.幼儿园课程的要素 第三节幼儿园课程中的游戏活动与教学活动 一.幼儿园课程中的游戏活动 ...

  • 领导学-理论与实践(第2版)

    总序 中文版序 前言 章绪论 一.什么是领导 二.有关领导的描述 (一)特质与过程领导 (二)委派的领导与自然领导 (三)领导和权力 (四)领导与强制 (五)领导和管理 三.书计划 四.小结 第二章特 ...

  • PPT!山水林田湖草生态修复理论及实践

    自然资源之声 传播自然资源知识,弘扬自然资源文化! 401篇原创内容 公众号 这个公众号不错,推荐关注↑↑↑

  • 快来!从理论到实践,一步步教你画水彩

    2021年,你又立下什么新目标吗?是希望水彩提高,还是通过临摹能再多几幅佳作呢? 我们和几位喜爱水彩的学生聊了聊,为了提高大家技法和审美能力,从零基础小白到学过1-2年的水彩爱好者: 攀攀在机关工作, ...

  • 文物保护修复理论与实践 : 金石匠学之路

    封面 文物保护修复理论与实践--金石匠学之路 内容简介 序 济南魏家庄遗址出土铁器腐蚀初步分析研究 中国社会科学院考古研究所部分劣化青铜器现状调研及其应急保护 一面铜镜"青铜病"防 ...