JPPF, java, parallel computing, distributed computing, grid computing, parallel, distributed, cluster, grid, cloud, open source, android, .net

The open source
grid computing

 Home   About   Features   Download   Documentation   Forums 
July 19, 2018, 07:54:53 AM *
Please login or register.

Login with username, password and session length
Advanced search  
News: New users, please read this message. Thank you!
  Home Help Search Login Register  

Recent Posts

Pages: [1] 2 3 ... 10

The error message seems to say that the ear deployment is missing the resource adapter (jppf_ra_JBoss-7.rar). Could you please check Tthat it was properly deployed and enabled?
Also, is there anything significant in the server logs that could help diagnose the problem?

Thanks for your time,
Installation and Configuration / JPPF_J2EE_Demo_JBoss-7.ear deployment failure
« Last post by Cobar7960 on July 18, 2018, 08:32:31 PM »

2018-07-18 12:12:32,405 ERROR [] (External Management Request Threads -- 7) WFLYSRV0021: Deploy of deployment "JPPF_J2EE_Demo_JBoss-7.ear" was rolled back with the following failure message:
    "WFLYCTL0412: Required services that are not installed:" => [
    "WFLYCTL0180: Services with missing/unavailable dependencies" => [
        "jboss.module.service.\"deployment.JPPF_J2EE_Demo_JBoss-7.ear\".main is missing [module.resolved.service.\"deployment.JPPF_J2EE_Demo_JBoss-7.ear\".main, jboss.module.spec.service.\"deployment.jppf_ra_JBoss-7.rar\".main]",
        "jboss.module.resolve.phase.\"deployment.JPPF_J2EE_Demo_JBoss-7.ear.jppftest.war\".main.1 is missing [jboss.module.spec.service.\"deployment.jppf_ra_JBoss-7.rar\".main]",
        "jboss.module.resolve.phase.\"deployment.JPPF_J2EE_Demo_JBoss-7.ear\".main.1 is missing [jboss.module.spec.service.\"deployment.jppf_ra_JBoss-7.rar\".main]",
        "jboss.module.service.\"deployment.JPPF_J2EE_Demo_JBoss-7.ear.jppftest.war\".main is missing [module.resolved.service.\"deployment.JPPF_J2EE_Demo_JBoss-7.ear.jppftest.war\".main, jboss.module.spec.service.\"deployment.jppf_ra_JBoss-7.rar\".main]"
Developers help / Re: Node initialization and shared objects
« Last post by mathieu on June 04, 2018, 01:32:35 PM »
Hi Laurent,

I wanted to thank you for your prompt and very detailed response.

I followed your recommendation and it works like a charm !

Developers help / Re: Newbie! Urgent question about parallelism
« Last post by lolo on May 31, 2018, 10:52:13 PM »

The question of how to divide your workload, to best benefit from distribution and parallelization, is far from trivial and doesn't have a once-size-fits-all answer. To help with this, we have a new documentation section in the JPPF overview about the granularity of jobs and tasks.

If you chose to divide your workload into multiple jobs, just remember that a connection to a JPPF server can handle a single job at a time. Therefore, you will need to adjust the number of connections your JPPF client uses, by configuring or adjusting your client connection pools. You might consider doing this dynamically, as shown in the adaptive grid sample.

Distribution of the workload to the nodes is governed by a load-balancer. While the default load-balancing algorithm works generally well, you might want to tune it further or configure a different one altogether.

Some other points to consider:

- you mentioned reading a file. This is an I/O-bound operation whose bottle neck is generally the hardware (i.e. the disk), except if you read files distributed on multiple disks, or use something like a raid array. Since JPPF nodes can execute multiple tasks concurrently (using multiple processing threads), you might want to adjust the concurrency level of each node

- you also mentioned writing to a database, which is also mostly I/O bound. If not already doing so, you might want to consider using the new database services of the upcoming JPPF 6.0. This should ease the configuration and use of JDBC datasources in a JPPF grid.

- I/O-bound tasks will not tax the CPU too much. This means you could consider configuring your nodes with more processing threads than you have cpu cores.

I hope these pointers are useful.

Developers help / Newbie! Urgent question about parallelism
« Last post by jendrek on May 31, 2018, 08:51:30 PM »
For my thesis purposes I need to showcase the performance (time of execution) differences between parallel and serial processing. This is just a proof of concept so the atomic part of the code for JPPF would be simple and consist of: reading data from file, processing it, loading into database. For serialized example I will do the same in the loop. I wanted to ask what would be the best (fastest) way? Should I create multiple jobs with one task per job and execute them concurrently or create one job with multiple tasks? I apologize if this is something obvious that I should now, I am new to JPPF and only start to learn about it. If this problem or something similar was already mentioned on the forum please point me to the right direction.
Developers help / Re: Node initialization and shared objects
« Last post by lolo on May 26, 2018, 09:47:03 AM »

As you mentioned, the main problem here is the class loader from which the engine classes are loaded. For reference, and if you haven't already done so, I invite you to read the doucmentation on class loading, and in particlular the section on the class loader hierarchy in the nodes.

If the engine classes are loaded from a JPPF client, that is, if they are only deployed on the client side and used in a (broadcast) task, then the engine singleton will be tied to the node's client class loader, and will disappear as soon as the class loader is garbage collected. Furthermore, if another task, submitted by a separate JPPF client, attemps to use the same engine, you will face a ClassCastException, because the task class will be loaded by a different class loader in the node.

In terms of class loading mitigation, I believe you have 2 choices, each with its pros and cons:

1) You can deploy the engine classes to the node's local classpath. This means the singleton will be loaded by the node's system classloader, and it will be available no matter the node's state, in particular even when the node is disconnected from the server. The disadvantage of that is that you have the burden of deploying the engine classes onto each node. On the other hand, the engine need be initialized only once (unless the node is restarted, but that's a different thing).

2) You can deploy the engine classes to the server/driver local classpath. In this case, you only have to deploy them to a single additional location. The one drawback is that, since the JPPF class loader in the node depends on the connection to the server, the engine will need to be initialized again whenever the node gets disconnected from and then reconnects to the server.

This leads us to the second problem: how to perform the engine initialization? If we assume that the grid topology never changes (i.e. no additional node ever joins or leaves the grid), then a broadcast job will do the trick. However, if you start having a large number of nodes, then the probability of node failure gets closer and closer to 100%. JPPF nodes have failover and recovery mechanisms that will cause the node to reconnect, but then the engine instance will be lost and will have to be initialized again. The same applies to the situation where nodes join the grid arbitrarily.

Based on this, I would recommend using a solution where the engine code is deployed to the server classpath, and where the engine initialization is done lazily from the computation tasks.

I hope this makes sense.


Developers help / Node initialization and shared objects
« Last post by mathieu on May 25, 2018, 07:35:45 PM »
Hi all,

I need all my nodes to initialize an object before they can process some tasks. This object is my computation engine: it is a quite big object and its initialization is costly, which is why I can't do it at the task level (it really needs to be initialized prior to the execution of any computation task). And, within each node, this object must be accessible to all incoming tasks.

Last thing (but not least) : unfortunately this initialization step depends on parameters sent by the client itself... So, what is the best way to achieve this scenario ?

Given my constraints, I thought I would be able to achieve it in the following way:
1) The client submits a broadcast job containing a single initialization task with appropriate parameters. When this task is executed on each node, the computation engine object is initialized and stored as a singleton in the node.
2) The client can now submit jobs containing computation tasks. When a node receives such a task, it can use the singleton object initialized at step 1 to achieve its computation goal.

The problem here is that my singleton is not available (null) at step 2, probably because different threads and/or different classloaders are used in steps 1 and 2.

Where am I doing wrong here ? Is there a way to keep a reference to a shared object on each individual  node ?

Thanks a lot for your help.
Forums / Re: Please post a message when you register
« Last post by mathieu on May 25, 2018, 06:56:46 PM »
Hello !
Developers help / Re: Please, help-me: Unsupported major.minor version 52.0
« Last post by jose.azanha on May 07, 2018, 02:00:59 AM »

Please, ignore the last message. I descovered the problem.

Thanks. Good night!  ;) ;D
Developers help / Re: Please, help-me: Unsupported major.minor version 52.0
« Last post by jose.azanha on May 06, 2018, 11:16:47 PM »
Thanks so much.

About JDK is solved. However, the class don't return value (just null). But I have tested this class without the JPPF and is returnning the array data from database.

In JPPF Node, is showing a message with Error 4 after trying executing SQL Task.

Please, whats happaning?
Pages: [1] 2 3 ... 10
JPPF Powered by SMF 2.0 RC5 | SMF © 2006–2011, Simple Machines LLC Get JPPF at Fast, secure and Free Open Source software downloads