最近根据项目需要,我们试用了JPPF(Java并行处理框架)2.1.1。JPPF非常容易使用,根据相关文档我们很快的就运行起来了,下面是试用过程中对一些相关问题的纪录和思考:
1、有的节点早就完成任务了,有的节点却要仍在运行中,造成负载不均衡。
解决方法:server配置中注释掉 jppf.load.balancing.algorithm = proportional 一句,使其使用默认的负载均衡策略,才可以做到根据任务情况动态分配(需要深入研究几种任务分配策略的差异),否则任务会一次性分配完成而不再调整。
2、节点数量的确定:
节点配置文件里有配置处理线程数的地方,但经过测试没有效果,通过任务管理器资源情况分析,每个节点只能启动一个处理线程,不知道是不是bug。所以,一个物理机器需要启动多个节点才能充分利用CPU资源,最大节点数与CPU核心数大体相当即可。
实测情况:每个任务1万次蒙特卡洛模拟,共100个任务
1)、服务端 8CPUs(双核x4),7-8个Node可使CPU利用率达到100%
2)、PC客户端 2CPUs(双核单CPU),启动1个Node仅使用50%左右,启动2个Node可达100%
注意:在CPU100%利用情况下,服务器上曾经出现一个任务死锁的情况(最后一个任务长时间不结束)
3、启用本地计算的说明:
经实测, client启用本地计算后,仅有50%的任务会提交server执行,另50%任务本地执行,且后续不会动态调整分配比例,使本地执行时间成为瓶颈。
建议不要启用client本地计算,如果想充分利用client本地计算资源,可以在本地启动Node连接同一个Server即可。
4、实测发现,蒙特卡洛模拟计算任务的执行时间与CPU主频有关,实测中PC(Core2 E7400 2.80GHz)每核心的处理能力要优于服务器(Xeon E5410 2.33GHz),服务器上一个节点处理10个任务的时间PC可以处理13个,所以廉价PC处理此类任务时的性价比非常高。
针对我们开发的原型程序,有一组数据可以说明JPPF的价值:
相同任务情况下:
- PC单线程不使用JPPF,用时33分钟;
- PC作客户端+服务器启动6节点,用时9分钟;
- PC作客户端并启动2节点+服务器启动6节点,用时7分钟。
在资源充足的前提下,计算时间与节点数成反比。
分享到:
相关推荐
JPPF(Java Parallel Processing Framework)是一个开源的云计算和分布式计算框架,它允许开发者将计算任务分解成小单元,然后在分布式环境中并行处理。在JPPF中,服务器(Server)扮演着核心角色,负责管理和调度...
【JPPF HelloWorld】 JPPF(Java Parallel Processing Framework)是一个开源的网格计算框架,它允许开发者将Java应用程序在分布式环境中并行执行,从而利用多核处理器和集群的计算能力。"JPPF HelloWorld"通常是一...
### JPPF安装和使用指南 #### 一、引言:理解JPPF的核心理念 Java Parallel Processing Framework(简称JPPF)是一个优秀的开源并行处理框架,它旨在简化并行计算过程,使得开发者和系统管理员能够快速部署并运行...
JPPF(Java Parallel Processing Framework)是一个开源的分布式计算框架,它允许开发者将计算任务分布到多台计算机上,以实现高性能计算。JPPF通过节点(node)和服务器(server)来构建分布式计算环境,其中节点是...
### jppf 2.1 用户手册知识点概览 #### 1. 引言与预备知识 - **目标读者**:本手册适用于那些希望利用Java Parallel Processing Framework (JPPF)进行并行处理任务的开发人员和技术团队。 - **先决条件**:读者需...
Java Parallel Processing Framework(JPPF) 是一个优秀的开源的基于Java的并行处理框架。这是它的API手册,因为网站上面不提供apidoc的下载,所以我自己就做了个chm,方便大家使用!
**JPPF-3.3.2:分布式计算框架详解** JPPF(Java Parallel Processing Foundation)是一个开源的Java分布式计算框架,版本3.3.2是其在2019年发布的一个稳定版本。该框架允许开发者将计算密集型任务分散到多个计算...
《JPPF客户端3.3.3与Maven插件详解》 在IT行业中,开源项目扮演着至关重要的角色,它们推动了技术创新,提供了丰富的工具和框架供开发者使用。"jppf-client-3.3.3.zip"是这样一个开源项目,它与Maven插件紧密相关,...
在传统的串行检索与基于JPPF的并行检索的对比实验中,以数据库查询为例,研究者们发现,在数据规模较大的情况下,基于JPPF的并行检索方式相较于传统的串行检索方式在效率上有显著提升。这表明,分布式并行计算技术...
【标题】"jppf-admin-4.1.1.zip" 涉及的知识点主要集中在JPPF(Java Parallel Processing Framework)平台的管理工具上。JPPF是一款开源的分布式计算框架,它允许开发者利用多核CPU和集群资源进行大规模并行计算。...
开源网格计算解决方案这是JPPF源代码的所在地。 其他服务可以在以下位置找到:JPPF模块: :包含构建脚本,网站和相关模板,以及作为LibreOffice文本文档的文档 :桌面(基于Swing)管理控制台的代码和资源 :Web...
Java Parallel Processing Framework(JPPF)是一个开源的Java框架,专为分布式并行计算而设计。它允许开发者利用多核处理器、集群以及云计算资源来执行大量计算任务,从而提高应用程序的性能和响应速度。JPPF的核心...
网格计算框架JPPF,Java Parallel Processing Framework,即java并行处理框架.一个开放源码的网格计算框架,它可以在一个分布执行环境中 同时运行多个java应用.这是他的最新版1.5版
【基于JPPF的异构分布式MTH1虚拟筛选系统】是针对癌症治疗研究中的一种高效计算解决方案。文章主要探讨了如何利用JPPF(Java Parallel Processing Framework)分布式并行框架,结合Autodock Vina软件,设计一个跨...
**JPPF:开源网格计算解决方案** JPPF(Java Parallel Processing Framework)是一个全面的开源网格计算框架,专为在分布式环境中执行计算密集型任务而设计。它提供了一个灵活、可扩展的平台,允许开发者将应用程序...
jppf-测试 此 repo 包含涉及测试。 安装先决条件 要运行这些测试,您需要: JDK 7 或更高版本 吉特 Maven JPPF 发行版 4.2.4 或更高版本 下载项目 git 克隆 JPPFExecutorService - 运行测试 mvn 清理包 exec:java ...
1. **JPPF.pdf**:JPPF(Java Parallel Processing Framework)是一个开源的网格计算框架,用于构建分布式应用程序。这份PDF可能包含JPPF的使用教程、原理介绍或者在面试中如何展示对分布式计算的理解。学习和了解...
JPPF支持跨多种平台,包括移动设备,使得科研人员可以利用手边的设备参与大型计算任务,这为科研工作提供了极大的便利。 网格技术(Grid Computing)在云计算之前是药物筛选常用的技术。网格技术虽然潜力巨大,但...
2. JPPF(Java Parallel Processing Framework):专注于分布式计算,允许开发者构建可扩展的P2P应用程序,尤其适合大数据处理。 3. JMF(Java Media Framework):虽然主要针对多媒体处理,但其流媒体能力也可用于...
2. **Java P2P框架**:Java中有多个P2P框架可供选择,如JXTA(Java XML-based Trading and Advertising)、JPPF(Java Peer-to-Peer Foundation)和J篦(Jini)。这些框架提供了一组工具和API,简化了开发过程。 3....