`
臻是二哥
  • 浏览: 189146 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
博客专栏
Group-logo
Java技术分享
浏览量:0
社区版块
存档分类
最新评论

一个并行计算框架

 
阅读更多
附件中有一个并行计算框架,使用该框架时候,需要在jar包所在目录下创建一个config.xml文件,内容如下,leader的值为集群中master的值,单机情况下运行时leader为本地的值127.0.0.1
<park>
<leader>192.168.0.124:1889</leader>
</park>

下面给出一个使用方法,
自定义供工人累继承自MigrantWorker
public class SimpleWorker extends MigrantWorker{
    private double m=0.0,n=0.0;
    public SimpleWorker(double m,double n)
	{
		this.m=m;
		this.n=n;
	}
	protected WareHouse doTask(WareHouse inhouse)
	{
		System.out.println("向仓库输入");
        double pi=0.0;
		for(double i=m;i<n;i++)
		{
			pi+=Math.pow(-1,i+1)/(2*i-1);	
		}
		inhouse.put("pi",4*pi);
		System.out.println("输入完毕");
		return inhouse;
	}
   public static void main(String [] args)
   {
	   new SimpleWorker(Integer.parseInt(args[0]),Integer.parseInt(args[1])).waitWorking(args[2],Integer.parseInt(args[3]),args[4]);
   }
}


自定义供工头类继承自Contractor
import java.util.*;
public class SimpleCtor extends Contractor{
   public static void main(String [] args)
   {
	 long start=new Date().getTime();
	 WareHouse[] results = doTaskBatch(getWaitingWorkers(args[0]),new WareHouse());//args[0]为工人类型
	 double pi=0.0;
	 for(int i=0;i<results.length;i++)
	  {
		 pi=pi+Double.parseDouble(results[i].get("pi")+"");
	  }
	 System.out.println(pi);
	 long end=new Date().getTime();
	 System.out.println((end-start)/1000);
	 exit();
   }
}

运行时先运行java -cp parallel-computing.jar; BeanContext
接着在多个窗口下运行java -cp parallel-computing.jar; SimpleWorker 1 2 工人1IP 工人1端口 工人类型(任意字符串)
然后运行java -cp parallel-computing.jar; SimpleCtor 工人类型即可得到对应公认的计算结果。

该框架是小编仿照fourinone设计思想的简化版本。
0
0
分享到:
评论

相关推荐

    JAVAOpenMP并行计算框架

    JavaOpenMP是一个概念,它代表了在Java编程环境中实现OpenMP(Open Multi-Processing)的尝试。OpenMP通常与C++、Fortran等语言关联,用于实现多线程并行计算,但Java作为广泛使用的跨平台语言,也有其并行计算的...

    一种对象化并行计算框架

    在大数据环境下,针对数据型统计分析系统性能劣化明显、不能满足用户使用需求的问题,本文提出了一种轻量级高性能对象化并行计算架构,研制了该架构的对象服务组件、对象管理服务组件和客户端代理组件,并将该架构和...

    java8并行计算示例--可动态配置--简化框架结构--并行计算框架从五个类简化到两个类

    这个案例展示了如何将一个原本复杂的并行计算框架精简为两个关键类,从而实现更简洁、高效的编程模型。 首先,我们要理解并行计算的基本概念。并行计算是指同时使用多个处理器或计算机来处理任务,以减少总体完成...

    并行计算框架的Java实现--系列二

    并行计算框架的Java实现是现代软件开发中的一个重要领域,特别是在大数据处理、机器学习和高性能计算等场景下。本系列的第二部分将深入探讨如何利用Java语言构建并行计算框架,以提高程序的运行效率。在本文中,我们...

    应用并行计算框架提升地震数据处理效率分析.pdf

    为解决这一问题,开发人员引入并行计算框架,充分利用现代计算机群的多节点、多线程并行运算能力。 并行计算框架通过将地震数据处理任务分解成多个子任务,分配到不同的计算节点上执行,实现了数据的分布式处理。...

    基于改进量子粒子群的分布式并行计算框架设计.pdf

    并行计算框架是现代计算领域中解决大规模计算问题的一种重要技术手段。分布式并行计算框架如Map-Reduce模型,已经广泛应用于各大计算集群中。然而,由于通用性不强和执行效率低下等问题,传统的并行计算框架在处理...

    基于GPU-Hadoop的并行计算框架研究与实现.pdf

    《基于GPU-Hadoop的并行计算框架研究与实现》这篇论文主要探讨了如何通过将GPU(图形处理器)嵌入到Hadoop云计算平台中,以提升海洋环境信息可视化的效率。Hadoop作为一种分布式计算框架,常用于大数据处理,但其在...

    基于C++的Kokkos高性能并行计算框架设计源码镜像

    本项目为Kokkos高性能并行计算框架的C++设计源码镜像,包含1434个文件,涵盖787个头文件(.hpp)、368个源文件(.cpp)、以及其他类型文件,如文本文件(.txt)、构建脚本(.cmake, .sh, .bash, .yml)、配置文件(....

    C#并行计算完整示例

    在C#编程中,"并行计算"是一个关键的概念,特别是在处理大数据量或者需要高效运算的场景下。并行计算允许程序同时执行多个任务,利用多核处理器的优势提高整体性能。本示例“C#并行计算完整示例”着重展示了如何在C#...

    [并行计算——结构·算法·编程].陈国良.文字版

    并行计算 陈国良编著 呵呵 大家来下载 是第三版《并行...着力构建并行计算“结构-算法-编程-应用”完整的学科体系与系统的课程框架,在着重讨论并行计算学科基础核心内容的同时,也力图反映本学科的新近成就和发展趋势

    清华大学计算机系并行计算课件

    总的来说,清华大学的这门并行计算课件为学生提供了一个全面的学习框架,帮助他们不仅理解并行计算的理论,还能掌握实际操作和问题解决的技巧。对于希望在计算密集型领域工作的专业人士来说,这是一份极其宝贵的学习...

    云计算-并行计算框架下人车分类算法研究与优化.pdf

    并行计算框架下的行人车辆分类算法研究与优化是解决这一问题的关键技术。本文主要探讨了以下几个方面的内容: 1. **改进的自适应前景提取算法**:针对复杂场景下的目标提取前景,提出了一种基于高斯混合模型(GMM)...

    有关计算机并行计算的资料

    为了应对这些挑战,研究人员发展了一系列并行计算框架和库,如OpenMP用于共享内存并行,MPI用于分布式内存并行,以及CUDA和OpenCL用于GPU并行计算。这些工具大大简化了并行编程,使得更多的开发者可以利用并行计算的...

    几种并行编程框架在数据挖掘领域的比较.pdf

    数据挖掘算法的多样性和并行计算框架的差异性,导致了算法在不同框架下的性能存在显著差异。因此,选择合适的并行计算框架,对于机器学习算法的并行化具有重要的意义。 文章接着介绍了并行计算框架的基本概念。在...

    并行_omp_omp并行计算_

    在实际应用中,OpenMP还可以与其他并行计算框架(如MPI)结合,实现更大规模的分布式并行计算。此外,OpenMP还支持动态负载平衡、任务并行以及共享和私有变量的概念,这些都是实现复杂并行算法的关键特性。 总结...

    淘宝分布式并行计算四合一框架Fourinone

    Fourinone框架是由淘宝网推出的一个高性能、轻量级的分布式计算框架。该框架旨在简化分布式系统的开发和部署过程,使得开发者能够更加专注于业务逻辑的实现,而不是底层技术细节的处理。Fourinone提供了多种分布式...

    并行计算导论(陈国良电子版)

    并行计算是计算机科学中的一个重要领域,它涉及如何利用多处理器或多核心系统同时处理任务,以提高计算效率和解决问题的速度。陈国良教授的“并行计算导论”是一部深入探讨这一主题的经典教材,旨在帮助学习者理解...

    一个通用的、无三方依赖的、跨平台的、收录于awesome-cpp的、基于流图的并行计算框架

    标题中的“一个通用的、无三方依赖的、跨平台的、收录于awesome-cpp的、基于流图的并行计算框架”所指的是一款高级的并行计算库,旨在为C++、C#和C编程语言提供高效且灵活的解决方案。这款框架特别强调其无第三方...

Global site tag (gtag.js) - Google Analytics