大数据图计算

1、试述BSP模型中超步的3个组件及具体含义。
①局部通信。每个参与的处理器都有自身的计算任务,它们只读取存储在本地内存中的值,不同处理器的计算任务都是异步并且独立的。
②通信。处理器群相互交换数据,交换的形式是,由一方发起推送(Put)和获取(Get)操作
③栅栏同步。当一个处理器遇到“路障”(或栅栏),会等其他所有的处理器完成它们的计算步骤;每一次同步也是一个超步的完成和下一个超步的开始。

2、Pregel为什么选择一种纯消息传递模型?
①消息传递具有足够的表达能力,没有必要使用远程读取或共享内存的方式。
②有助于提升系统整体性能。大型图计算通常是由一个集群完成的,集群环境中执行远程数据读取会有较高的时间延迟;Pregel的消息模式采用异步和批量的方式传递消息,因此可以缓解远程 读取的延迟。

3、简述Pregel的执行过程。
①选择集群中的多台机器执行图计算任务,每台机器上运行用户程序的一个副本,其中,有一台机器会被选为Master,其他机器作为Worker。
②Master把一个图分成多个分区,并把分区分配到多个Worker。
③Master会把用户输入划分成多个部分,通常是基于文件边界进行划分。
④Master向每个Worker发送指令,Worker收到指令后,开始运行一个超步。当完成以后,Worker会通知Master,并把自己在下一个超步还处于“活跃”状态的顶点的数量报告给Master。上述步骤会被不断重复,直到所有顶点都不再活跃并且系统中不会有任何消息在传输,这时,执行过程才会结束。
⑤计算过程结束后,Master会给所有的Worker发送指令,通知每个Worker对自己的计算结果进行持久化存储。

4、假设在同一个超步中,两个请求同时要求增加同一个顶点,但初始值不一样,Pregel中可以采取什么机制解决该冲突?
Pregel采用两种机制来解决这类冲突:局部有序和Handler。
①局部有序。拓扑改变的请求是通过消息发送的,在执行一个超步时,所有的拓扑改变会在调用CoMapReduceute()函数之前完成。在处理拓扑改变时,会首先执行删除操作,先删除边,后删除顶点,因为删除顶点就意味着删除了所有与之关联的出射边;然后执行增加操作,先增加顶点,后增加边,因为出射边必须与一个顶点相关联。通过这种局部有序性,就可以保证大多数冲突结果的确定性。
②Handler。对于“局部有序”机制无法解决的那些操作冲突,就需要借助于用户自定义的Handler来解决,包括解决由于多个顶点删除请求或多个边增加请求(或删除请求)而造成的冲突。用户可以通过在Vertex 类中自定义的Hander来实现-个更好的冲突处理方式,如果用户没有定义,那么系统就会随机挑选一个请求进行处理。在Pregel计算框架中,有了Hander这种冲突处理机制,可以使得CoMapReduceute()函数的设计变得更加简单。

5、试述pregel的容错性机制。
Pregel采用检查点机制来实现容错。在每个超步的开始,Master会通知所有的Worker把自己管辖的分区的状态写入到持久化存储设备。
Master会周期性地向每个Worker发送ping消息,Worker收到ping消息后会给Master发送反馈消息。
每个Worker上都保存了一个或多个分区的状态信息,当一个Worker发生故障时,它所负责维护的分区的当前状态信息就会丢失。Master监测到一个Worker发生故障“失效”后,会把失效Worker所分配到的分区,重新分配到其他处于正常工作状态的Worker集合上,然后,所有这些分区会从最近的某超步S开始时写出的检查点中,重新加载状态信息。

6、传统图计算解决方案的不足之处。
①常常表现出比较差的内存访问局部性
②针对单个顶点的处理工作过少
③计算过程中伴随着并行度的改变

7、Pregel计算框架所包含的要素。
①节点(Vertex)。在 Pregel 中,每个节点都有全局唯一的 ID
②边(Edge)。在 Pregel 中,每个边可以被 Assign 一个属性,这个属性可以是边的权值等信息
③消息(Message)。消息是 Pregel 计算模型的核心。每个 Vertex 在初始状态以及之后的每一个计算步骤当中都被 Attach 一个 Message 值作为 Vertex 当前的状态,算法的迭代通过 Vertex 之间互相发送的消息来完成
④超迭代(Superstep)。一个 Superstep 是 Pregel 在执行算法过程当中进行的一次迭代。 一次 Pregel 计算过程可能包括多个 Superstep

8、试述Worker和Master的作用。
Worker 的作用: 借助于名称服务系统定位到 Master 的位置, 并向 Master发送自己的注册信息, Master 会为每个 Worker 分配一个唯一的 ID。 在一个Worker 中, 它所管辖的分区状态信息被保存在内存。 在每个超步中, Worker会对自己所管辖分区中的每个顶点进行遍历,并调用顶点上的 CoMapReduceute()函数。
Master 的作用: Pregel 采用检查点(CheckPoint) 机制来实现容错。 在每个超步的开始, Master 会通知所有的 Worker 把自己管辖的分区的状态写入持久化存储设备。 Master 周期地 ping 每个 Worker, Worker 收到 ping 消息后向 Master 反馈消息。 如果在指定的时间间隔内没有收到某个 Worker 的反馈,Master 就会将它标为“失效”, 并启动恢复模式。

9 、简述Aggregator的作用。
Aggregator 提供了一种全局通信、 监控和数据查看的机制。 Aggregator的聚合功能, 允许在整型和字符串类型上执行最大值、 最小值、 求和操作。 Aggregator 还可以实现全局协同的功能。

10、试述一下图结构数据。
许多大数据都是以大规模图或网络的形式呈现。许多非图结构的大数据,也常常会被转换为图模型后进行分析。图数据结构很好地表达了数据之间的关联性。关联性计算是大数据计算的核心,通过获得数据的关联性,可以从噪音很多的海量数据中抽取有用的信息。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

那后来呢z

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值