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 
March 28, 2023, 11:43:39 PM *
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: Remote Node Performance  (Read 4668 times)

walter

  • Guest
Remote Node Performance
« on: December 18, 2009, 03:28:05 PM »

Hello!

I am testing JPPF right now and it works very solid in local LAN. After some tests i would like to connect more nodes to the server. The nodes are far away in a datacenter connect via internet uplink. The internet connectivity is pretty fast (>10MBit/s) but JPPF performance lacks.

One thing i found out is, that the Fractals example runs very fast but my own application is very slow with the remote node connected. And the only thing i can see in log file is that this message

[DEBUG][org.jppf.server.nio.nodeserver.SendingBundleState.performTransition(112)]: part yet to send to node

is apperaing to slow down everything. With only the local nodes connected this messages just take some millisecondes but for the remote node it takes ca. 1 second per message. It seems like sending this "parts" over internet is very slow.

Are there any known pitfalls when connecting remote nodes over internet?

Please excuse my poor english.

sincerely
Walter
Logged

lolo

  • Administrator
  • JPPF Council Member
  • *****
  • Posts: 2272
    • JPPF Web site
Re: Remote Node Performance
« Reply #1 on: December 18, 2009, 08:55:35 PM »

Hello Walter,

Unfortunately, the data sent over the network is subject to the quality and capacity of the network connection.
When sending data over the public network (internet), you will face delays that can be due to many things, including network latency.
I believe the most significant factor in this case is the size of the data that is sent over to the nodes.
In JPPF, all the data represents serialized Java objects. So, reducing the size of the data should help with the execution speed. If I remember well, the driver debug traces should show the size of the data sent to the nodes.

Another possibility would be to compress the data before sending it over the network. You would need to test this, to ensure that the overhead of compressing does not outweigh the gain in performance speed.
For this, you could use the new JPPF 2.0 feature about data transformation, for instance by using the GZIPInputStream and GZIPOutputStream APIs to compress the data before sending it over the network, and uncompressing it after receiving it.

I hope this helps,
-Laurent
Logged

walter

  • Guest
Re: Remote Node Performance
« Reply #2 on: December 19, 2009, 10:10:37 AM »

Hello Laurent!

Thank you for your information. I took a look at network traffic between server and node and found out that the size of my serialized objects is huge. So i have to take a look at compressing data as you recommended.

Thank you,
Walter
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