Network Rendering Problem : slave computer lags behind main by a lot

Started by Knarlsbest, December 15, 2014, 11:25:14 PM

Previous topic - Next topic

0 Members and 2 Guests are viewing this topic.

Knarlsbest

I'm using keyshot pro 5.1 and I have an issue with the network rendering. It seems like it only works on smaller scene files(ex. keyshot 5 nurbs.bip scene under startup/scenes folder) but is way slower rendering larger scene files, so slow in fact that it is even much faster if I rendered it only on a single computer.

The issue is my slave computer seems to be readying/preparing/archiving a lot slower than the master computer. So slow to catch up that it only starts rendering at when the master cpu is already about 75% done with the image already. The slowness pretty much comes from the readying/archiving/preparing that is going on even before the cpus start to render. If I used only one cpu to render, it is faster and doesn't have to archive/ready/prepare anything it just goes straight to render. It made no difference if I had keyshot open while it was rendering over the network or not.

On the contrary, Network rendering seems to be working greatly if I am rendering a smaller scene file, there seems to be no need for both cpus to archive/ready/prepare the image for rendering, it just shoot up straight renders and ends up twice as fast as I could if i did it on one cpu. Also it seems like if the same scene file the master is rendering has a copy that is also saved in the slave cpu, it renders faster as well. So my question is do you need the scene files textures/materials/and scene file itself saved in the slave computer as well to render faster over the network? Do older version keyshot files render slower through the latest network rendering build than 5.1? Do you recommend rendering over VPN through Hamatchi for a better result?

I am rendering over the network through a high speed network switch. My internet connection is about 7 mbps.

Main cpu is windows 8.1 pro 64 bit with 8 cores
slave cpu is windows 7 64 bit with 8 cores.

Please clarify this issue for me.

Thanks.

keaneray

I was just about to post this issue aswell.

I'm using KS5.1 and recently bought a years subscription to try network rendering rather than purchase a new PC. On small KS5 files/scenes network rendering works great, but on my larger KS4 files (4GB) I'm quicker rendering myself. Also as my computer is the master and slave a massive file is saved in the KeyShot 5 Network Resource Master folder. For one render it is nearly 6GB??? I have limited space as it is and this just cripples my PC after just one render?

Please tell me I don't have to re do all my KS4 scenes?

Ray




thomasteger

Yes - Network Rendering has to move the data to the slave. If your slave is the your machine that your use to run KeyShot on, then it will still save an file for the slave. As far as time and speed goes - a 4GB file takes a while to transfer over the network. This explains why your remote slave will kick in later than your local slave - because it is still waiting for the data.

I hope this makes sense.

keaneray

Hi Thomas,

So on large files it could prove to be a pointless exercise trying to render over the network as it takes longer to send the large file to all the remote slaves before they can help render than it is to do locally on just my machine. If this is the case Network Rendering isn't as good as it's advertised and really only works on small files.

thomasteger

The idea of Network Rendering is that you are offloading your renderings to a network to free up your machine.  And if you have a fast network then transfer times are not really an issue.

Knarlsbest

@ keaneray : so are you saying that this slowness wasn't an issue back in keyshot 4 / keyshot 4 network rendering?

@Thomas: how fast does your network have to be for transfer times not to be an issue. For one thing I am running a high speed network switch using 5E cables to connect my main cpu to the slave cpu, and it is still too slow. Offloading my renderings to a network to free up my machine is certainly not why I am using network rendering for, but to have the render power and speed using a 16 core machine instead of an 8.

Brandon Davis

Hi guys,

Can you tell me about your network configuration you've setup for network rendering?
What is your internet speed?
What is your internal network speed?

Please answer the questions for all machines in use for network rendering.
Master or Slave:
CPU:
RAM:
HDD or SDD (what's the write/read speed and available space):
Network speed:
Is this machine internal or external the machine using KeyShot:

@keaneray: regarding the file size you've seen this is is due to network rendering unpacking all the files in the scene on the master and than saving the output rendering either a single frame or frames in the output folder. The reason we store these on the master is so you can download them later from within the network rendering queue. Deleting the files from within the network queue will also delete them on the master - which frees up disk space. 

// Brandon

keaneray

Thomas: Understood. I think there should be more info around network speed being important as having more cores, especially when large files are in play. Simply stating "The more cores you have, the faster your images, animations and KeyShotVR's render" isn't technically true for all cases.

Knarlsbest: This is the first time I have purchased network rendering, so I have no comparison.

Brandon: Can you tell me about your network configuration you've setup for network rendering?
What is your internet speed?
What is your internal network speed?

I'm not sure on any of these, but I'll try and find out. Our I.T. guy should know. I do understand about deleting the files to free up space, but why should they be saved on the master (KeyShot 5 Network Resources) when I have a copy in the Renderings (Keyshot 5) folder? Seems overkill to save the whole scene on the master when the master would already have a copy before he/she started rendering?

Brandon Davis

Yes, that is true you do have a copy in your local renderings folder. We store the output on the master so it can later be downloaded, by you or another user with permission to do so that is using network rendering.
I'm not sure what you mean by "Seems overkill to save the whole scene on the master when the master would already have a copy before he/she started rendering?". The master will receive the scene when you click "send to network" from within KeyShot.

Knarlsbest


Can you tell me about your network configuration you've setup for network rendering?
What is your internet speed? 
7mbps

What is your internal network speed?  I don't know, how do you check?
I don't know how do you check for it. I am using a high speed network switch via a router running with 5E type cables.

Please answer the questions for all machines in use for network rendering.
Master or Slave: main cpu - master and slave, 2nd cpu- slave only
CPU: i7 3770k processor for each
RAM: 16gb ram each
HDD or SDD (what's the write/read speed and available space):
Network speed: how do you check?
Is this machine internal or external the machine using KeyShot: The main cpu is running keyshot, while the slave cpu is only running in the network queue


How do you suppose we go about speeding up the renders then, by default all renders up in the queue have a copy of it saved in the public documents/keyshot/ master folder. Are you saying this is why it is taking so long for bigger renders? How do you disable it then from making a copy and upon installation, keyshot never gave an option to save this folder elsewhere nor bypass it.




Brandon Davis

Thanks @knarlsbest, see below:

Quote from: Knarlsbest on December 18, 2014, 10:03:56 PM
What is your internet speed? 
7mbps
Is this your upload or download? We'll need both in this case.

Quote from: Knarlsbest on December 18, 2014, 10:03:56 PM
Is this machine internal or external the machine using KeyShot: The main cpu is running keyshot, while the slave cpu is only running in the network queue
So the "master" is on your local network, and your "slave" is offsite? Both machines should be listed in the "slave list" window if you have configured them as slaves.

Quote from: Knarlsbest on December 18, 2014, 10:03:56 PM
How do you suppose we go about speeding up the renders then, by default all renders up in the queue have a copy of it saved in the public documents/keyshot/ master folder. Are you saying this is why it is taking so long for bigger renders? How do you disable it then from making a copy and upon installation, keyshot never gave an option to save this folder elsewhere nor bypass it.
My assumption is you have a slave that is offsite from your LAN, and the bottle neck is with the transferring of the job to this machine and streaming tiles back to the master - due to your internet speed.
As a test you can try disabling this "slave" that is offsite from your LAN, and using a machine on your LAN. This should be much faster.

Knarlsbest

Is this your upload or download? We'll need both in this case.
7mbps is my download speed, 3.5 is my upload speed.

So the "master" is on your local network, and your "slave" is offsite? Both machines should be listed in the "slave list" window if you have configured them as slaves.
- both my master and slave are in my LAN network, I can see both computers in my network list in windows. I have my main cpu(as both master and slave), I can see 2 slaves running at 8 cores each in the keyshot network queue. One thing to note though, is my main cpu is running windows 8.1 , while my slave cpu is at windows 7.

Not quite sure what you mean by offsite, in my understanding, it is impossible for me to connect to the slave computer if it is offsite, the only way is through the LAN(ethernet) through network switch. also both my cpus are connectived via obtain an IP address automatically in the proxy server, there is no need to set an ip address, subnet, gateway, DNS server




Brandon Davis

Quote from: Knarlsbest on December 19, 2014, 07:29:27 PM
Is this your upload or download? We'll need both in this case.
7mbps is my download speed, 3.5 is my upload speed.

So the "master" is on your local network, and your "slave" is offsite? Both machines should be listed in the "slave list" window if you have configured them as slaves.
- both my master and slave are in my LAN network, I can see both computers in my network list in windows. I have my main cpu(as both master and slave), I can see 2 slaves running at 8 cores each in the keyshot network queue. One thing to note though, is my main cpu is running windows 8.1 , while my slave cpu is at windows 7.

Not quite sure what you mean by offsite, in my understanding, it is impossible for me to connect to the slave computer if it is offsite, the only way is through the LAN(ethernet) through network switch. also both my cpus are connectived via obtain an IP address automatically in the proxy server, there is no need to set an ip address, subnet, gateway, DNS server

Thanks.

How large is your scene you're rendering? Would you be able to share this with our support team (support@luxion.com), so we can test here and compare results?

Knarlsbest

sure I can. Just let me know how I can send it, like to your ftp address. the file is 6gb big.
It takes me 2min 30 sec to render it over the network with 2 cpus 16 cores in total, but only takes me 45 sec to render on a single pc with 8 cores.

Knarlsbest

Hope you guys had a great new year.
Still haven't heard from any of the admin or moderators here though about where I can upload the file.
I'd like to share it with you and have it tested yourself. Otherwise, you can mimic my scene by just taking a 3 million polymesh and import it into keyshot and apply a random texture on it, and test network rendering with my same setup, and you might get the same slow results.