BSP-Apache HAMA-Graph运行(3)
2016-07-07 17:08
525 查看
5、通信信息接收
由localQueue.poll()得出,信息的接收是通过Queue来完成的。
在GraphJobRunner.loadVertices()方法完成了信息的发送(send())、传递、障栅同步(sync())、接收(getCurrentMessage())等操作,而且信息的真正发送是在障栅同步(sync())阶段开始的。信息的发送和接收并不是一一对应的。
每个bsp任务信息传递都是一组输出信息管理器(OutgoingMessageManager)和输入队列组成;输出信息管理器收集发送的信息,序列化它、对它打包(bundle),在障栅同步阶段,bsp任务让信息在bsppeer之间做信息交换,解包并把解包后的信息方法队列中
6、超步计算
经过障栅同步(sync())后,每一次障栅同步也是一个超步的完成和下一个超步的开始在GraphJobRunner.loadVertices()方法中运行完成障栅同步(sync())直到信息的接收(peer.getCurrentMessage())后,运行GraphJobRunner.setup()方法,setup阶段是顶点计算的初始化阶段,代码如下:在GraphJobRunner.setup()方法中运行完成loadVertices(peer)之后,运行doInitialSuperstep()方法,此时才是超步(superstep)开始实现startSuperstep(),GraphJobRunner.doInitialSuperstep()
7、Graph执行—run()
由“we do supersteps while we still have updates and have not reachedour maximum itreations yet”得知当还有信息更新或者没有达到要求得最大迭代数的时候还要继续执行superstep。
最后,就是在GraphJobRunner.dosuperstep(GraphJobMessagecurrentMessage,BSPPeer peer)方法中的vertex.compute()和方法vertex.finishVertexComputation()方法之间迭代,直到所有顶点运行完成。
相关文章推荐
- VxWork BSP 和启动过程
- PB工程中三个主要的.reg文件的区别!
- Hama安装
- Hama安装
- BSP 概念解析
- CRM开发总结2:BOL找字段层级关系
- CRM开发总结1:线索增强程序
- SylixOS的BSP开发实例之S3C2416 【第五篇】S3C2416 启动模式之 NandFlash
- SylixOS的BSP开发实例之S3C2416 【第三篇】S3C2416 寄存器描述
- SylixOS的BSP开发实例之S3C2416 【第二篇】内存映射与初始布局
- BSP
- 信息系统规划方法-企业系统规划法(BSP)
- Alsa period_size/periods/buffer_size计算逻辑
- 天嵌TQ_E9卡片电脑移植飞思卡尔yocto L4.1.15_1.0.0_ga 第四篇 新版kernel(L4.1.15-r)移植
- 天嵌TQ_E9卡片电脑移植飞思卡尔yocto L4.1.15_1.0.0_ga 第三篇 新版uboot(2015.04-r0)网卡移植(RTL8211E)
- 天嵌TQ_E9卡片电脑移植飞思卡尔yocto L4.1.15_1.0.0_ga 第一篇 yocto项目建立
- Yocto BSP 开发说明
- destination exists and is not a directory
- apache-hama集群配置
- match vertex