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

The open source
grid computing
solution

 Home   About   Features   Download   Documentation   On Github   Forums 
June 04, 2023, 10:01:36 AM *
Welcome,
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  
Pages: [1]   Go Down

Author Topic: JPPF Driver  (Read 3262 times)

Jim

  • Guest
JPPF Driver
« on: November 09, 2015, 01:51:56 AM »

Is a computer limited to only one driver? I have tried running the driver twice and got an error since my address is already in use after the first one. Is there any way to have one computer run two drivers that separately control nodes? Thanks.
Logged

lolo

  • Administrator
  • JPPF Council Member
  • *****
  • Posts: 2272
    • JPPF Web site
Re: JPPF Driver
« Reply #1 on: November 09, 2015, 08:05:29 AM »

Hello,

Yes, you can start as many drivers on the same machine as you want. To avoid the error you have faced, you need to setup each additional driver with a different port number. For this, edit the file "jppf-driver.properties" in the "lib" folder of the driver installation ans set the following configuration property:

Code: [Select]
jppf.server.port = <your_port_number>
After this, you will be able to start your two drivers, each listening on a separate port.

Sincerely,
-Laurent
Logged

Jim

  • Guest
Re: JPPF Driver
« Reply #2 on: November 10, 2015, 09:31:42 PM »

 Thank you for specifying the correct method in obtaining two drivers in one machine! I have successfully done it, and have a somewhat simple grid set up already. However, I can not help but wonder how much use an extra driver would bring me. For example, if I have one driver with 5 nodes running jobs, does adding another driver into my grid increase the efficiency at all? If not, then what is the point of having multiple drivers in grids? Couldn't you still maximize efficiency with just one driver and lots of nodes? Thanks!
Logged

lolo

  • Administrator
  • JPPF Council Member
  • *****
  • Posts: 2272
    • JPPF Web site
Re: JPPF Driver
« Reply #3 on: November 11, 2015, 07:48:01 AM »

Hello,

You are correct in assuming that, in most use cases, a grid topology with a single driver will be the most efficient. However, there are other consideration in addition to pure efficiency, that multi-driver topologies attempt to address:

1) Failover / fault tolerance / recovery

In a single driver setup, the driver is a single point of failure. If it dies, the entire grid stops working. Having multiple drivers resolves that problem when used with built-in capabilities of the clients and nodes:
  • a client can connect to multiple drivers and define both failover and load-balancing strategies between these drivers. When a driver connection fails, the client will reroute the unexecuted workload to another driver.
  • nodes are attached to a single driver at a time, however you can define how they will attempt to reconnect to the same or another driver, using the node connection strategy extension point
2) Scalability

All operating systems I know of have an intrinsic limit on the number of available TCP ports. Port numbers are in the theoretical range 0 ... 65,535 but in practice it will be less than that. Since JPPF nodes and clients require 2 TCP connections with the driver (in fact more if you include management), then a driver can be connected to a theoretical maximum of 32k nodes and clients. But what if you want 100,000 nodes? Having multiple drivers allows it. For instance, you can have 10 drivers with 10,000 nodes attached to each, and configure the client(s) to load-balance between these drivers, or configure the drivers to communicate with each other and do the load-balancing themselves ... or both

3) Complex network topologies

In some situations, your nodes may be distributed over multiple separate environments, completely distinct from each other. For instance let's imagine you have 2 cloud environments, one on Amazon EC2 and the other on Rackspace. In a typical cloud configuration, only a driver will have a public address reachable from a client, and the nodes will only have private addresses. How to combine the power of the two clouds? By having a publicly accessible driver in each and configuring the client to load-balance between them. In this setup, each driver can also be seen as a gateway to a cloud environment.

I hope this answers your questions,
-Laurent
Logged
Pages: [1]   Go Up
 
JPPF Powered by SMF 2.0 RC5 | SMF © 2006–2011, Simple Machines LLC Get JPPF at SourceForge.net. Fast, secure and Free Open Source software downloads