Speed, I want more speed (network slave setup)

This section is dedicated to tutorials on how to use Raylectron.
User avatar
Support
Site Admin
Posts: 1841
Joined: Sun Oct 02, 2011 10:49 am

Speed, I want more speed (network slave setup)

Post by Support » Fri Feb 03, 2012 2:22 am

To really speed up processing time, you may run Raylectron off as many slaves as you have on your network. Here's how it works...

Install Raylectron on the machine SketchUp is installed on. This will be called the Master or Server, because this is where you do your work. Next, from the folder you have installed Raylectron into (not the Sketchup plugin, but C:\Program Files\Raylectron\ for example), copy the file Raylectron.exe to all your other machines on your network. Or you can install Raylectron on them as well, even if you do not have Sketchup installed. You do not need to register each copy you install as slaves.

Now, create a shared folder on the master or on one of the slave machine where all the other machines can access. For example, \\PC001\SharedRender Make sure each machine can access that folder.

Now that you have copied Raylectron.exe in all the machines, and have setup a shared folder, run Raylectron.exe on all these machines, and, from the "View" menu, select "Network Settings". Click on the "Slave" radio button to make this a slave, and change the port number or use the default. Then, at the bottom, enter the path to the shared folder, it should look something like this \\PC001\SharedRender and click on Apply and close that window. You can leave the render open or minimize it.

Now that all your slaves are setup and ready to go, run Raylectron from your master machine and go to the "Network Settings". Click on the "Server" radio button because this will be the master. Now you need to enter the IPs or machine names of all you slaves in the list. So click on "Add" and do so. Notice a checkbox next to each one? That's if you want to use or not use some of the slaves but want to keep the name in the list.

Now set the port to the same as that of the slaves. The master and all the slaves must use the same port. Also enter the path of the shared folder at the bottom. You can also set the master not to render so that you can use your machine freely while the slaves are rendering.

Close this window and you are now ready. Clicking on the Render button will automatically copy the necessary files for the loaded model to the shared folder and instruct all the slaves to render that model. You will notice on the master that the display will not update automatically. This is to keep the network utilization at a minimum. Watch the frames in the status bar. When new frames are available, you can click on "Update view" and the master will instruct each slaves to send back what they have rendered so far, and the display will show the result.

Note that these settings will be saved, so if you exit the render and go back, the render will use the slaves again, until you disable it in the "Network Settings".

DO NOT start another render instance using the same network slaves. You can, for example, run 5 renders, each using their own slaves.

Are is a network server setting example (click to view as original size)...
Server.png
And here is a network slave setting example, matching the server setting above (click to view as original size)...
Slave.png
Your support team.
http://SoftByteLabs.com

Brandon
Posts: 2
Joined: Fri Aug 03, 2012 4:54 pm

Re: Speed, I want more speed (network slave setup)

Post by Brandon » Fri Aug 03, 2012 11:56 pm

I was having some trouble with networking my three PCs together. I discovered that one network problem I was having (only one slave picking up the work) may have been because I had two instances of the software on the not-rendering slave PC. So the server was probably confused by hearing back from two copies of the software on a single slave IP address, and simply refused to start. When I killed the extra process, it started using both slaves.

Dknight
Posts: 114
Joined: Fri Aug 17, 2012 12:07 pm

Re: Speed, I want more speed (network slave setup)

Post by Dknight » Mon Oct 08, 2012 10:16 am

I'm in the process of trying this out now... But i have a question. What happens in the case that a slave machine crashes mid render?
or the server machine?

User avatar
Support
Site Admin
Posts: 1841
Joined: Sun Oct 02, 2011 10:49 am

Re: Speed, I want more speed (network slave setup)

Post by Support » Mon Oct 08, 2012 10:51 am

If a slave dies, then its data is lost, but only the data since you last refresh the master. It does not affect other slaves or the master. If the master dies, then all is lost since it is the one hosting the data.
Your support team.
http://SoftByteLabs.com

Dknight
Posts: 114
Joined: Fri Aug 17, 2012 12:07 pm

Re: Speed, I want more speed (network slave setup)

Post by Dknight » Mon Oct 08, 2012 11:07 am

Ok, that's what i thought would happen, but i wasn't sure.

Suggestion (for the future since we a love development) - during a render it could raylecton could "write" out a render data file say ever 15? 20? 40? samples.
who knows. but it would be nice to not have to start over from scratch if you lost a machine due to any reason.

Also, we own 1 copy of raylectron that we have bought. I installed raylectron on 3 computers (1 master, 2 slaves). My question is this... licensing wise, i'm likely only permitted to use it on my master machine. and i wouldn't do renders on the others since they are older slower machines. But do i need to register those 2 slaves with my serial number?

I did, but i'm not sure that was the correct thing to do.

Thanks again!
Dave.

User avatar
Support
Site Admin
Posts: 1841
Joined: Sun Oct 02, 2011 10:49 am

Re: Speed, I want more speed (network slave setup)

Post by Support » Mon Oct 08, 2012 11:41 am

A dump for the slave is a good idea, let me suggest it.

For the slave nodes, no need to install Raylectron on them, nor do you need to register them. All you really need to do is set a network folder that all the slaves can read from, and copy Raylectron.exe to that shared folder. Then, on all the slave PCs, run Rayletcron.exe from the shared folder (you can even just create a destop shortcut to it for quick access) and change the networ setting to be a slave, set the port, password and where the shared folder is, and that's it.
Your support team.
http://SoftByteLabs.com

Dknight
Posts: 114
Joined: Fri Aug 17, 2012 12:07 pm

Re: Speed, I want more speed (network slave setup)

Post by Dknight » Mon Oct 08, 2012 4:37 pm

setting up a render i noticed my slaves stopped responding at some point.

the slave machines said "Disconnected" at the top, and an error message said "out of memory". The program after closing restarted without hiccup and went going on its way.

This happened earlier but without the "out of memory error" and without notice.

Do i need to kill the "slave" raylectron and restart it after i do a rendering? It seems like it wants to restart the application after doing a rendering.

Additionally i was hitting "Stop -> Stop now" to end rendering (impatient) - in case it matters.

Dknight
Posts: 114
Joined: Fri Aug 17, 2012 12:07 pm

Re: Speed, I want more speed (network slave setup)

Post by Dknight » Mon Oct 08, 2012 4:41 pm

It just died on me. This time i got an error on both slaves stating "Thread creating error: Not enough storage is available to process this command".
Master did not terminate rendering.

I stopped it and restarted it to be sure it would run w/out slaves this time.

Raylectron would not close on the slave machines. Upon closing them with the task manager it appeared they were using 50% (1 thread) of the machine - but not actually working (no on screen processing information).

User avatar
Support
Site Admin
Posts: 1841
Joined: Sun Oct 02, 2011 10:49 am

Re: Speed, I want more speed (network slave setup)

Post by Support » Mon Oct 08, 2012 4:46 pm

The slaves were designed to silently process most non-critical errors without the need for a human to click on yes/no/abort etc. But if it runs out of memory, then it can't render. How much available RAM is the slave and how many threads does it have, and how big are you trying to render?
Your support team.
http://SoftByteLabs.com

Dknight
Posts: 114
Joined: Fri Aug 17, 2012 12:07 pm

Re: Speed, I want more speed (network slave setup)

Post by Dknight » Tue Oct 09, 2012 7:58 am

slaves are lesser machines by far. they are Intel Xeon 5160 3.0ghz running on xp 32bit with 3.5gb of visible memory (actually had 4).

the rendering was 2421x1290 pixels. perhaps it was just too much for it to handle.

User avatar
Support
Site Admin
Posts: 1841
Joined: Sun Oct 02, 2011 10:49 am

Re: Speed, I want more speed (network slave setup)

Post by Support » Tue Oct 09, 2012 9:09 am

It's not really the view size but the number of faces. But 4gb should work. On your machine, after you open the model and stat the render, how much memory does it use in Task Manager?
Your support team.
http://SoftByteLabs.com

Dknight
Posts: 114
Joined: Fri Aug 17, 2012 12:07 pm

Re: Speed, I want more speed (network slave setup)

Post by Dknight » Tue Oct 09, 2012 9:22 am

462,291 faces
2,421x1,290

Mem usage: 1,257,076K
VM Usages: 1,313,252K

Actually working at the moment.

User avatar
Support
Site Admin
Posts: 1841
Joined: Sun Oct 02, 2011 10:49 am

Re: Speed, I want more speed (network slave setup)

Post by Support » Tue Oct 09, 2012 9:35 am

oh, so that should work on the lesser PC no problem! What if you install the 32bit version on one of them and disable the network so it's not a slave then load the model, does it run?
Your support team.
http://SoftByteLabs.com

Dknight
Posts: 114
Joined: Fri Aug 17, 2012 12:07 pm

Re: Speed, I want more speed (network slave setup)

Post by Dknight » Wed Oct 10, 2012 7:52 am

It seems to run fine. It must have been something else throwing it off. Since its working now, I'm not going to worry about it.

~~

I came back here to revisit something i suggested as well. We spoke about a "slave" dump a few posts ago - to avoid losing work if a machine dies. Well... last night my main machine decided to automatically reboot after windows installed some updates. I lost about a 12 hour render. :( This was not a slave/server setup, it was the normal single machine render.

I think even more important than a slave dump, would be a standard rendering dump that happened ever X minutes of ever X samples. Sadly, i lost the render from last night, and I'll have to set it up to run again in the future.

User avatar
Support
Site Admin
Posts: 1841
Joined: Sun Oct 02, 2011 10:49 am

Re: Speed, I want more speed (network slave setup)

Post by Support » Wed Oct 10, 2012 10:17 am

Funny you say that because I had the same problem last night. I've setup 3 slaves and 1 server over a friend who needed a huge render, 5000x2500 and lost the renders too, all 4 machines were at the login window :evil:

So we'll work on something asap.
Your support team.
http://SoftByteLabs.com

Dknight
Posts: 114
Joined: Fri Aug 17, 2012 12:07 pm

Re: Speed, I want more speed (network slave setup)

Post by Dknight » Wed Oct 10, 2012 11:53 am

Image

Thumbs up!

flood
Posts: 9
Joined: Thu May 23, 2013 10:35 am

Re: Speed, I want more speed (network slave setup)

Post by flood » Sat May 25, 2013 7:33 pm

Just starting with Raylectron and I'm wondering what the "123/123 Samples" in the lower status bar means when I am using the slaves? Also with or without the slaves does not seem different in speed.

User avatar
Support
Site Admin
Posts: 1841
Joined: Sun Oct 02, 2011 10:49 am

Re: Speed, I want more speed (network slave setup)

Post by Support » Sat May 25, 2013 8:23 pm

the first "123" means the total number of samples, and the second one means how many samples are available from all the slaves. When you click on "Update View", it will get all the available samples from the slaves and reset the second number back to zero.

If you do a render on the master and you get 20 samples in a minute, then use the slave, you may get the same result if you have not de-selected "Server not allow to render", because only the slave alone is working.

The speed does not mean that the update will be faster, it only means the render output will be nicer much faster. For example, if you let it run on a single machine for 60 minutes to get 30,000 samples, you can let it run for 30 minutes using a slave along with the master to get the same amount of samples. If you have 10 slaves, it'll take only 6 minutes to get 30,000 samples.

Now if you have a very good video card, say, something with 1000+ cores on it, then the upcoming v3 will do the trick. v3 is way faster now, even on a single machine.
Your support team.
http://SoftByteLabs.com

flood
Posts: 9
Joined: Thu May 23, 2013 10:35 am

Re: Speed, I want more speed (network slave setup)

Post by flood » Sat May 25, 2013 9:29 pm

Hey thanks for the quick reply! It seems that update view is not working for me when I use slaves and I only see the servers samples and the slave ones discarded. I also do not see a "frame" entry like in the none network mode. Great renders so far although I have a lot to learn to make them better..

The Server hangs when I click the browse folder button to select the shared folder.. Also the first number of samples is the only one I see when i stop it and update view which works after the render stops.

User avatar
Support
Site Admin
Posts: 1841
Joined: Sun Oct 02, 2011 10:49 am

Re: Speed, I want more speed (network slave setup)

Post by Support » Sat May 25, 2013 9:53 pm

The 'Next frame' info is not available in network mode because it would not be of any value when using more than one slave. But have you made sure that the slave is also rendering? If you see 123/123, not 123/0 then the update button should work and when you click it, it will reset back to xxx/0 and xxx will be incremented by the value before the reset.

>The Server hangs when I click the browse folder button to select the shared folder

It never did for me but, you can paste the shared folder path in it as oppose to use the button to select it.

So when you click on Render, both the slave and master starts to render correct? Then you should start seeing 1/1, then 2/2 and on and on. When you click the Update button (no need to stop the render) lets say at 340/600, the viewer will show you the render so far and the status should show 940/0. Is that what you get?

>Also the first number of samples is the only one I see when i stop it and update view which works after the render stops.

That's correct, but, the "Update view" should work as long as there are samples while it's running. Are you saying the "Update button" is grayed out and can not be clicked on?
Your support team.
http://SoftByteLabs.com

flood
Posts: 9
Joined: Thu May 23, 2013 10:35 am

Re: Speed, I want more speed (network slave setup)

Post by flood » Sat May 25, 2013 10:02 pm

Update View looks ok but it does not seem to do what you say. The slaves are working but they say disconnected at the top. Right now for example I am rendering the Raylectron Cube 222/1352, I click Update View and both sample numbers continue to increase.

I did paste the network stuff..

User avatar
Support
Site Admin
Posts: 1841
Joined: Sun Oct 02, 2011 10:49 am

Re: Speed, I want more speed (network slave setup)

Post by Support » Sat May 25, 2013 10:20 pm

oh! which version are you using? I just gave it a try and the slave shows Connected to <IP> and when I click on Update it reset to xxx/0 after updating the render output.

One more thing, when you started Raylectron on the slave machine and setup the network settings, did you exit and restarted Raylectron before you started the render?
Your support team.
http://SoftByteLabs.com

flood
Posts: 9
Joined: Thu May 23, 2013 10:35 am

Re: Speed, I want more speed (network slave setup)

Post by flood » Sat May 25, 2013 10:28 pm

2.66 and yes I restarted the slaves several times, reinstalled then followed your instructions above to use a copy of the EXE in the network folder for sharing.

I also noticed that the slaves do not seem to work until I stop and restart the render.. then I see their stats but no update view...

User avatar
Support
Site Admin
Posts: 1841
Joined: Sun Oct 02, 2011 10:49 am

Re: Speed, I want more speed (network slave setup)

Post by Support » Sat May 25, 2013 11:10 pm

ok, what size is your render and which render settings are you using?

Can you tell me about your systems specs? Like 1GB Ethernet? CPU, RAM? how many slaves?

What if you try the render without the Master? Does it work as expected? If so, maybe you should use one less thread on the Master. Say it shows you have 8 threads, set it to 7.
Your support team.
http://SoftByteLabs.com

flood
Posts: 9
Joined: Thu May 23, 2013 10:35 am

Re: Speed, I want more speed (network slave setup)

Post by flood » Sat May 25, 2013 11:23 pm

Support wrote:ok, what size is your render and which render settings are you using?

Can you tell me about your systems specs? Like 1GB Ethernet? CPU, RAM? how many slaves?

What if you try the render without the Master? Does it work as expected? If so, maybe you should use one less thread on the Master. Say it shows you have 8 threads, set it to 7.

The master is a quad core 2.4GHz with 4 gigs ram GTX660, and the slaves (2) are nearly the same although laptops with 6 gigs of Ram. 1GB Ethernet. Also all are running windows 7 64.

I started a render with slave only sampling and see 0/4 and update view doesn't seem to do anything...


Oops almost forgot, 775x502, artificial light, and default settings really
Last edited by flood on Sun May 26, 2013 1:03 am, edited 1 time in total.

Post Reply