210 likes | 485 Views
Maiter 框架介绍及 SimRank 算法在 Maiter 上的实现. 王春磊 2013.07.05. 1. 2. 3. 4. Maiter 框架介绍. Maiter 框架的改进. Simrank 算法的实现. 性能检测及实验结果. 主要内容. Page 2. 相关技术简介 -Hadoop. Hadoop 是应用较广,且比较通用的分布式框架,但是不能高效的解决迭代算法. Page 3. Maiter 框架简介. Hadoop Maiter
E N D
Maiter框架介绍及SimRank算法在Maiter上的实现 王春磊 2013.07.05
1 2 3 4 Maiter框架介绍 Maiter框架的改进 Simrank算法的实现 性能检测及实验结果 主要内容 Page 2
相关技术简介-Hadoop Hadoop是应用较广,且比较通用的分布式框架,但是不能高效的解决迭代算法 Page 3
Maiter框架简介 Hadoop Maiter Maiter框架可高效的支持异步迭代 Page 4
Maiter的异步条件 Page 5
Maiter的异步迭代 Page 6
相关技术简介-Maiter Maiter框架可高效的解决迭代算法,但是刚刚被提出,系统功能不是很完备,支持算法有限 Page 7
Maiter框架的改进 • 改进前Maiter的执行过程: Page 8
Maiter框架的改进 • 改进后Maiter的执行过程: Page 9
Maiter框架的改进 • 改进前Maiter提供的API: • void read_data(string& line, K* k, D* data) ; • void init_c(const K& k, V* delta) • const V& default_v() const • void accumulate(V* a, const V& b) • void priority(V* pri, const V& value, const V& delta) ; • void g_func(const V& delta, const D& data, vector<pair<K, V>>*output) • 改进后Maiter提供的API: • void read_data(string& line, K& k, D& data) • void init_c(const K& k, V& delta, D& data) • const V& default_v() const • void init_v(const K& k,V& v,D& data) • void accumulate(V& a, const V& b) • void process_delta_v(const K& k, V& dalta,V& value, D& data) • void priority(V& pri, const V& value, const V& delta) • void g_func(const K& k,const V& delta,const V& value, const D& data, vector<pair<K, V> >* output) Page 10
异步迭代算法的实现 Page 11
性能检测及实验结果 • 集群硬件软件配置: • CPU:INTEL CORE i3-2100 LGA-1155 接口 3MB 高速缓存 2核 虚拟4核 • 内存:apacer 4G-DDR3 *2 • 硬盘:hitachi 500G/7200RPM • 主板:ASUS P8H61-I • JDK:JDK1.6.0_30 • 系统:redhat 6.1 64bit • 实验集群: • Hadoop集群,0.20.2版本,1个master节点,八个worker节点 • Maiter集群,2.0版本,1个master节点,八个worker节点 Page 15
性能检测及实验结果 • 实验结果-运行时间: • 其中pagerank算法在Maiter框架下的运行速度是在Hadoop框架下的60多倍,与作者的实验数据吻合,说明对MaiterAPI的修改没有影响Maiter的效率 • Simrank 算法在100个顶点的时候,在Maiter框架下执行的速度是Hadoop框架下的35倍。500个顶点的时候是11倍。1000个顶点时是3.6倍。 Page 16
性能检测及实验结果 • 实验结果-运行时间: • 图中显示的是simrank算法分别在Maiter框架和Hadoop框架下随着数据集的增长运行时间的增长情况,可以看出Maiter框架下simrank算法随数据集规模增大,运行时间增的速度比Hadoop框架下慢 Page 17
性能检测及实验结果 • 实验结果-通行量: • 由左图可以看到,Maiter框架下simrank的通信量显著的减少了,一方面是由于MPI通信方式,另一方面在于在simrank算法中的优化。右图则显示随着数据集的增加,通信量的变化趋势,可以看出Maiter几乎是线性变化的,而Hadoop则增加明显 Page 18
未来工作 • Maiter是开源项目 • https://code.google.com/p/maiter • Maiter没有分布式文件系统支撑 • 理想文件系统HDFS • Maiter不支持双引擎 • 同步引擎 • 异步引擎 Page 19
东北大学毕业设计 谢谢! 2013.06.16