最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

GPS-GraphProcessingSystem修改源码经验总结(四)

来源:懂视网 责编:小采 时间:2020-11-09 15:05:23
文档

GPS-GraphProcessingSystem修改源码经验总结(四)

GPS-GraphProcessingSystem修改源码经验总结(四):本人原创,转载请注明出处!欢迎大家加入 Giraph 技术交流群 : 228591158 本文目的:在修改GPS源码后,详细描述如何编译和分发到各Worker节点上。下面以Graph Coloring 算法为例进行讲解,本文基于GPS的前三篇文章。 1. 首先在Master(test1
推荐度:
导读GPS-GraphProcessingSystem修改源码经验总结(四):本人原创,转载请注明出处!欢迎大家加入 Giraph 技术交流群 : 228591158 本文目的:在修改GPS源码后,详细描述如何编译和分发到各Worker节点上。下面以Graph Coloring 算法为例进行讲解,本文基于GPS的前三篇文章。 1. 首先在Master(test1

本人原创,转载请注明出处!欢迎大家加入 Giraph 技术交流群 : 228591158 本文目的:在修改GPS源码后,详细描述如何编译和分发到各Worker节点上。下面以Graph Coloring 算法为例进行讲解,本文基于GPS的前三篇文章。 1. 首先在Master(test150)上修改源码。G

本人原创,转载请注明出处!欢迎大家加入Giraph 技术交流群: 228591158

本文目的:在修改GPS源码后,详细描述如何编译和分发到各Worker节点上。下面以Graph Coloring 算法为例进行讲解,本文基于GPS的前三篇文章。

1. 首先在Master(test150)上修改源码。Graph Coloring算法源码路径:gps.examples.coloring包,主要修改ColoringVertex.java类。该算法在Section(MIS_1)阶段是按照顶点的出度大小概率性的选择UNDECIDED状态的顶点,源码如下:

if (ColoringVertexType.NOT_IN_SET == value.type
	|| ColoringVertexType.IN_SET == value.type) {
	return;
}
double probability = getNeighborsSize() > 0 ? 1.0 /
 ((double) 2*value.numRemainingNeighbors) : 1;
if (Math.random() <= probability) {
	value.type = ColoringVertexType.SELECTED_AS_POSSIBLE_IN_SET;
	if (value.numRemainingNeighbors > 0) {
	ColoringMessage newSelectedAsPossibleMessage = ColoringMessage
	.newNeighborSelectedAsPossibleMessage(getId());
	for (int neighborId : getNeighborIds()) {
	if (neighborId >= 0) {
	sendMessage(neighborId, newSelectedAsPossibleMessage);
	}
	}
	}
}
下面修改为:选择所有的UNDECIDED状态的顶点,而非概率性选择。修改后源码如下:
if (ColoringVertexType.NOT_IN_SET == value.type
	|| ColoringVertexType.IN_SET == value.type) {
	return;
}
//double probability = getNeighborsSize() > 0 ? 1.0 /
// ((double) 2*value.numRemainingNeighbors) : 1;
//if (Math.random() <= probability) {
//	value.type = ColoringVertexType.SELECTED_AS_POSSIBLE_IN_SET;
	if (value.numRemainingNeighbors > 0) {
	ColoringMessage newSelectedAsPossibleMessage = ColoringMessage
	.newNeighborSelectedAsPossibleMessage(getId());
	for (int neighborId : getNeighborIds()) {
	if (neighborId >= 0) {
	sendMessage(neighborId, newSelectedAsPossibleMessage);
	}
	}
	}
//}
2. 因为之前已编译过GPS源码,并且把Jar包等文件已分发到集群中各个Worker节点上,所以此步骤是删除之前的文件。删除Master节点trunk目录下的:gps-0.0.1-slave.tar.gz 、gps_node_runner.jar和classes文件夹,删除Worker节点trunk目录下的 conf 、gps-0.0.1-slave.tar.gz 、gps_node_runner.jar 、libs 、scripts,logs文件夹保留。

3. 参考 GPS-Graph Processing System集群安装笔记(一),重新编译和分发Jar包等文件。

下面附上我的脚本,因中间使用了我自己的脚本,故不可直接使用,但是可以参考。脚本所在目录:/home/gougou/GPS/trunk。

cd /home/gougou/GPS/trunk
# delete master files
rm -rf gps_node_runner.jar
rm -rf classes
rm -rf gps-0.0.1-slave.tar.gz

# delete worker files. the Shell writed by myself.
cd /home/gougou/ShellUtils
./deleteDirectory.sh /home/gougou/GPS/trunk/conf
./deleteDirectory.sh /home/gougou/GPS/trunk/gps-0.0.1-slave.tar.gz
./deleteDirectory.sh /home/gougou/GPS/trunk/gps_node_runner.jar
./deleteDirectory.sh /home/gougou/GPS/trunk/libs
./deleteDirectory.sh /home/gougou/GPS/trunk/scripts/

# compile GPS source code
cd /home/gougou/GPS/trunk
cd local-master-scripts
# generate gps_node_runner.jar and classes under trunk directory
./make_gps_node_runner_jar.sh
# generate gps-0.0.1-slave.tar.gz under trunk directory
./make_gps_tar_gz.sh

cd ../master-scripts
cp slaves temp
cp slaves-12 slaves
./copy_and_untar_gps_tar_to_slaves.sh 12
mv temp slaves
4. 在trunk/master-scripts目录下,运行Graph Coloring 算法,命令如下:
./start_gps_nodes.sh 2 GC-Test5-1 \
"-ifs /user/gougou/GC-Test5/gc-5.txt \
-hcf /home/gougou/hadoop-1.0.3/conf/core-site.xml \
-jc gps.examples.coloring.JobConfiguration \
-mcfg /machine-configs/test_machine_config_2.cfg \
-log4jconfig /home/gougou/GPS/trunk/conf/log4j.config"
完!

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文档

GPS-GraphProcessingSystem修改源码经验总结(四)

GPS-GraphProcessingSystem修改源码经验总结(四):本人原创,转载请注明出处!欢迎大家加入 Giraph 技术交流群 : 228591158 本文目的:在修改GPS源码后,详细描述如何编译和分发到各Worker节点上。下面以Graph Coloring 算法为例进行讲解,本文基于GPS的前三篇文章。 1. 首先在Master(test1
推荐度:
标签: 修改 gps 源码
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top