大规模图数据做近似计算的可行性分析以及策略调研

论文Bridging theGAP: Towards Approximate Graph Analytics的阅读笔记

Authors:Anand Padmanabha Iyer⋆, Aurojit Panda◦, Shivaram Venkataraman•,Mosharaf Chowdhury†, Aditya Akella•, Scott Shenker⋆, Ion Stoica from University of California, Berkeley/NYU,University of Michigan,University of Wisconsin
Meeting:GRADES-NDA’18 , June 10–15, 2018, Houston, TX, USA

一个系统要做近似图计算面临的挑战

  • 传统可做近似计算的系统需要遵循一个规则,那就是数据量的大小和执行时间需要遵从一个线性的关系,然而这种类似的线性关系在图处理过程中并不存在。悲观的说这可能意味着取样之后处理可能导致出现不尽如人意的结果。在进行连通子图的实验时候,对图随机进行取样,甚至出现样本小的时候,执行时间更长这种情况,这是因为盲目的取样,导致图的结构被破坏,从而导致了更长的图路径要去处理
    因此现有的统计系统采用的简单采样不适用于图的处理

  • 由于上述的非线性的情况,所以想要抽取合适数量的样本来获得满意的结果变得困难。并且通过传统的先创建并存储样本结合的方式来进行预计算Aggregates不是一个好的方式,这种方式在传统近似系统上可行的原因在于,传统的近似系统基于可以组成部分结果和错误的假设,在样本上创建,存储和预先计算查询结果。 但是,这可能不适用于图表。 因此,通过创建和存储样本来预计算聚合是不可行的方法。

  • 现有的近似系统只支持简单的查询,例如聚合,其中根据结果计算误差是直观的。然而,图算法是以迭代的方式执行的,因此,根据在抽样图上工作的图算法的输出来估计误差是很困难的。一些具体算法存在理论上的界限,但据论文笔者所知,没有任何一般性的保证。

在这Paper里面他们想要达到的目标

  1. 不是 很想用以往图论中提出的图的近似算法。
  2. 并不想像现有并行图处理系统的处理风格
  3. 在应对工作负载变化的时候,希望解决方案在需要容纳新的工作负载时具有较低的开销。

稀疏图的采用

图上的采样具体的实现技术是创建稀疏图,这种方式使得图的体积变小的同时保留了关键的信息,图的稀疏化可以参照下图来理解(这个好像被提出很长一段时间了)
在这里插入图片描述

特有的稀疏方法学习

可以使用机器学习的方式来对被某一预算(此处预算可以理解为特定需求)所特定要求的稀疏图的图的大小进行预测(量身定制的意思,但是这个量身定制的技术或者说规律得用机器学习去学习,拟合个曲线出来),这个方案可行的原因是因为描述图特征的变量较少,图算法的数量也有限。

现有的创建稀疏图的算法要不就是计算很繁琐,要不就不能很好的被分布式实现这里这篇paper给出了个方案,以下是方案的架构图
在这里插入图片描述

稀疏算法的策略

先从直觉上考虑,一般来说都希望从一个具有较大度数的顶点中删除许多边中的一个,而不是从具有较低度数的顶点(有很少的边数量)中删除唯一边。运行稀疏算法的成本可以忽略不计。 论文研究团队通过在图首次加载到系统时就计算顶点度数来进一步降低成本。 稀释算法的一个潜在问题是它仅仅根据图的局部信息做出决定。 为了减少这种不良影响,改进算法,例如,可以避免删除它在生成树中的边等等

误差问题的考虑

在使用抽样策略时,一个重要的任务是估计输出中的误差.这里需要估计下由于这个稀疏器导致的误差,这里就采用了自定义误差度量也举了一个pageRank的度量例子

一般情况下图稀疏化误差的理论界是一个开放性问题,因此这篇文章中采用了启发式方法来解决这个问题。s是一个可调整的参数,用于控制稀疏化的级别,如果说是通过机器学习的方式学习参数s与性能之间关系的模型(延迟/错误)。思路:通过在给定图上以不同的s值运行每个可能的算法,然后将观察到的结果馈送到学习算法,可以为s建立模型,但是耗时太长

机器学习模型的具体建立

这里采取一个简单的方法。先考虑一些算法.然后,这些算法在一个有代表性的图上运行,并且采用不断变化的s。目的是学习一个函数模型,将s参数同图和算法的特征映射到性能曲线中。这里我的理解翻译可能存在问题,可以看看原文

原文:
The objective of this task is to learn a function H that maps s and the characteristics of the graph and algorithm to the performance profile. That is, we would like to learn:H:(s,a,g)=⇒ e/p

其中算法特有的特征(如果有的话),g是图特有的特征,e/p是错误/性能。由于没有用于分布式图处理的标准BenchMark,因此可以从Graph500 benchmark中得到具有代表性的一组算法和工作负载。观察表明,每个性能曲线是非线性的,因此选择了能够适应不连续性(例如随机森林)的学习技术。

一旦建立了模型,最后一步就是当系统需要在未知/新的图工作负载上运行一个图算法时,使用该模型来选择稀疏的参数。论文笔者不希望在线构建Model对于每个工作负载(模型构建阶段是计算繁琐的,因此通常是脱机完成的)。因此,需要找到一个能够在新的工作负载上运行的存在模型,为此,这里提出了一种轻量化的机制。先随机选取几个稀疏参数s的值,并以在线的方式运行新的工作负载算法。同时,利用这些模型来预测输出。然后选择具有最小误差的模型。可以选择随机值在给定的时间预算内完成测试。对于每一个新的工作负载,都将运行分析的结果作为对学习组件的反馈。这使得模型能够随着时间的推移而完善和改进。

基础的评估

以下方式评估了基于图的特征建立采样模型的假设。在稀疏化s参数值变化的数据集上,测试了两种算法,即pageRank和三角计数算法。然后记录了算法的加速比在完全图上的执行。注意到了对于误差的评估,通过评估对于每个值的s重新排序的程度。

实验给出了在跑三角计数算法的这种近似计算带来的加速

在这里插入图片描述

以及带来的误差情况

在这里插入图片描述

从错误特征中可以看出,这种加速并不是以大错误为代价的。 对于大范围的稀疏化参数,误差仍然很小。 随着稀疏化的增加,收益递减可能会令人不安,但这是由于使用了小型数据集,也是由于实验是在一台机器上完成的(GraphX执行方式与分布式设置相同但不会导致网络损失)。 随着图变大并且计算分布在许多机器上,稀疏化会减少shuffled数据,会看到更大的增益,如下图所示
在这里插入图片描述

这个近似计算模型是否具有普适性

在测试的数据集中,Facebook和AstroPh数据集在直径和聚类系数的具有相似性,同样,Wikivote和Epinions有着相似的图特征。 此外,Facebook和AstroPh是社交关系,而Wikivote和Epinions代表投票/评级关系。 在实验结果中,可以看到性能和误差趋势遵循相同的规律,Facebook和AstroPh数据集的性能和误差曲线表现出类似的趋势,对于Wikivote和Epinions数据集也是如此。 即pageRank的实验结果也显示了类似的趋势。 因此,认为方法是具有普适性的。

其次,在特定图算法的近似技术中存在大量理论工作。 如果可以在同一算法上研究不同提议的性能和误差特性,则可以在给定延迟/误差限制的情况下挑选提议。 paper的研究者正在研究编程语言技术,以评估在给定精确图程序的情况下合成近似版本的疯狂想法。 最后,由于真实世界的图是动态的,因此提出未来可能有趣的方向是增量近似图分析

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值