Speed up your Luxus Rendering with LuxSlave! (updated)

Luxus is a great alternative to 3Delight.
But.... wouldn't it be great if you could steal some of your spouses processor time as they play Solitaire to your rendering to speed things along.
WELL.... Let the thieving begin!
At the very bottom of the newest version of Luxus there was a little box added, called Extra Command Line.
Here is what you do, You install LuxRender on the other systems in your home.
It doesn't matter if they are Window, Linux or MacOS, You just have to have all of the Same version of LuxRender running.
If you are running window you got into the Start panel and click on “Start LuxRender Slave”.
This will start LuxRender in Slave mode and the window will give you an IP Address.
It will look something like “Local IP Address : ###.###.###.###”
NOW
Before you start your next Luxus render, Type into the “Extra Command Line” box “-u ###.###.###.###” if you have five computers in your house you can add all Five of them to your you just put a Space and then another “-u ###.###.###.###” for every computer you have LuxRender Slave running on.
Even if you are using the UI it will setup the Nodes under Networking and still send part of the rendering to the Slave.
There are two Pages on the LuxRender Site that talk about this
The Luxconsole page will give you various commands you can use to direct the Console.
The Network Rendering page talks about setting up the computers correctly.
So if you have Luxus, download and install the latest update and speed up your rendering.
Later today I will do some renders both on one system and then on Many to give you an idaea of the time savings.
NOTE!:
Once LuxRender starts using the GPU, you can steal time off their video card too.
Also if you have a Computer capable of High Speed networking 1Gb Network Card, I suggest getting a 1GB switch.
Happy Rendering
NOTE: I updated this with an image show you how to input of Multiple LuxRender Slaves.
Second update here: All of these option are Case Sensitive, if you do a -v you get a verbose listing, but -V gets you the version Number of LuxRender. So if you are trying to use the Slaves remember it is -u not -U.






Comments
Sweet info thanks for sharing.
For the non-network savy, if you know the machine name of the slave, specifying machinename.local (the .local at the end is important) will let Lux automatically resolve the IP address for the slave machine itself. That will also be more resilient than IP, in case DHCP changes the IP assigned to the slave.
I just purchased Lux, so I'll give this a try :D Thanks!
A forewarning though. Luxrender still has a few issues with GPU acceleration and some scenes will crash if you try to render it using hybrid mode. Hopefully they'll get all of the bugs worked out for the 1.3 release, but until then I rarely dare to attempt anything but software render only.
I am just finishing up some tests, but I'm thinking I need a more complex scene.
I just have three Systems, 2 windows Slaves and one Mac slave a total of 10 CPU cores, all running 1.2.1 of LuxRender.
NOTE: the Main system and the Slaves must be on the same version of the program
Also the IP of the Slave machine is presented at the time you start the slave process, so you don't have to go digging through the command line.
See attached Image.
I have also attached an image of two renders both 30 minutes long
Rendering with Luxus & LuxRender using Slave computers Part 1:
So I wanted to get you some stats so that you could see the benefits of stealing Processor time from anyone you can.
The Hardware and Software Setup.
I have four systems A MacMini 2010 version. Added to this are Three Windows 7 64bit systems, each has a P5G41-M LX system board with 8GB of DDR3 Memory. These three system as three differed Processors a Q8300, E8400 and E6750. The Q8300 is my DAZ Studio system and the other two are my MMORPG Boxes. These system boards are capable of 1Gb Network speeds, so my network had 1Gb Switches and cables are Cat6.
HeraldOfFire is right about the GPU rendering with LuxRender and but it is coming in version 1.3 according to their site. Because of this No GPU were used and this is CPU rendering.
LuxRender 1.2.1 64bit running all all system. I set the UI to stop after one hour of rendering, (I didn’t want this to take all week). I used Linear Tone map with Film set to 200, Shutter to one second, f-stop at 5.6. I had fun with the Film Response and set it to Kodak Gold 200, which gave the Render those warm tones. I also set the Color space to D65 Daylight.
I think that covers the hardware and software settings, now onto the show!
The Renders
I had a scene threw together for another test so I pull it out. The set it The Alcove I think I just dropped in the pre-made set which came with lights. The Lady is Victoria 4.2, the Domino coat over Edens Flame Outfit, with Venom hair. Like I said I threw this together. And the render window is 1312x1049.
So I rendered my test image in 3Delight, on my MacMini, just as a Reference. (The images have been reduced by 50% for the Forum) That image is marked 3Delight.
So the first test I ran was the Single machine no Slaves and the images is marked Single. The second I added one Slave to the once Console for a total of 6 CPU Cores and image is marked 1C&1S;. The third test was The Console and 3 Slaves for a total of 10 CPU Cores and it is marked 1c&3S;.
End of part 1
Rendering with Luxus & LuxRender using Slave computers Part 2:
As you can see there doesn’t appear to be much of a difference, until you look at the back at the short step. I pulled these out a full Resolution and you can see the refinement that happened due to having more cores working on the render over a Set amount of time, in our case 1 Hr.
So there is one more image which will help you see the effect the slaves have on the Rendering. This one shows the Render time and various Stats. Notice that the Console (the system running the LuxRender UI) stays pretty much the same at 132.22 in the purple box. But notice over on the right the readings, in the Red box, those are what the Slaves systems are adding to the to the Rendering party.
Setup was relatively painless and all the computers don’t have to be the same or even running the same Operating System or even have a 3D Video card. The only requirement is they have to all be running the same version of LuxRender.
The network traffic is not constant between the Console and the Slaves. The Slaves and Console see their information in Bursts so other network traffic isn’t affected much. While doing this I was working on three other computers doing a task that is network intensive and it had very little if any effect on that traffic.
Conclusions
So you could find some old office systems you can buy for 65 bucks, load Linux on them and set them up in your Garage, closet, wherever you can get them power and network; you can make yourself a small render farm for cheep and Render much faster.
Ok, i've set the whole thing up. But is there a way to check at my slave computer if it's even in use?
Onscreen I can't see anything happening so how can I tell for sure the connection is set up and my slave is erm...slaving :)
By the way the slave console didn't show me the ip address, I looked it up with ipconfig/all
EDIT
I have no idea what I did, but it works now! I see the commands in the slave rolling by :D
Thanks for this awesome tip!
Most hybrid crashes seems to be related to VRAM issues (at least on my system), too little VRAM on my videocards.
First I am really glad this is working for you.
It does takes a while for LuxRender to download the scene information to the slaves, so it looks like nothing is happening for a while as it gathers all of that together. But once you get it going it is great.
This is also the reason I suggested using a 1Gb Network. I have more information coming on that.
Haslor
Most hybrid crashes seems to be related to VRAM issues (at least on my system), too little VRAM on my videocards.
Totte,
I read up on this and one of the things they talked about was the Amount of free System Memory (this is the amount of memory after the OS, Applications and Data are loaded in) needed to match the amount of VRAM.
A not for others, Not all video cards are not created equal and there is a reason some are more expensive than other, the quality of the VRAM is one of those reasons.
Haslor
I wanted to add something here, because VRAM was brought up and I have talked about Network speeds.
First a general note about Computer Memory, Cause I have been a computer support guy since 1977 and it is also a good on and off topic side point:
I have always told people: "All Memory is not created Equal."
PCXXXX memory comes in several grades and internal speeds.
While you are creating 3D Art or Content you are filling and moving more bits of that memory then most high powered gamers. So I'm going to offer people a little free advice
1) Don't go cheap on your memory, cause you are going to get what you pay for.
2) Try to buy your memory at the same time.
--- a) If you can't afford to do that then at least buy the same brand and model number.
--- b) Keep the box from the first batch and take it with you to the store or Web site and get the same thing you did the last time.
3) Buy the Memory Recommended by the maker of you computer board.
--- Always Remember Rule 2, while adding memory to a preconfigured system from like HP, Gateway, or even Joe's Computer shop.
--- If you can't get the memory like the memory in your computer, then replace what is in your system to match what you are buying.
4) Use a Static Strap when you are installing your memory or any component.
---- Static Straps are cheap insurance, so you don't zap a hole into your brand new Memory. (Yes It happens!)
A lot of computer bombing issue can be pointed directly a memory issues.
If you have a lot of bombing issue and you have a mishmash of memory sticks in your computer, This might be your issue.
Quick test to see if it is. Pull all the memory off your system board, (Or have some one who knows what they are doing do it.) then match up the memory that you have. Put the Memory that matches (not just by color but actual model numbers) back into the system and Start it up and then do something that normally causes your system to Bomb, Hang, or get weird. Did it still happen? If the answer is no, look up the specs of the memory in the computer and the memory not in the computer, you will most likely find that one set of memory had a radially slower CAS timing. If that is the fact, the when computer moves across from one speed memory to the other and the other memory can't keep up, you get a crash.
So the Next topic is Networking.
The big issue here is matching the Cables, NIC's and Switches. The Routers aren't going to get you as much as the cables.
Copper Computer Network cables in various Categories commonly called CATX.
CAT3 Cables are good for Phone communications and very slow networks. 10Mb.
CAT5 Cables are will handle 100 Mb speeds.
CAT6 Cables are good for 1000Mb or 1Gb Speed.
If you have 1Gb Switches and you are using CAT5 cables you are going to have Network issues, especially if you are going for Long Runs.
So If you plan to upgrade you Network you will have to up grade your Cables as well.
Another note on cables.
CAT6 Cables don't bend as easily as cat three cable.
You don't want your cable to kink (that is a Shape bend), that will damage the cable.
if you Network cables look like a string after a kitten has played with it, you want to replace it.
I will post images of what I am talking about later.
If people want to know about how to lay out a good home Network, I will start a thread on that in the Technical Section, with a nice Drawing anyone can follow.
Well those are my words of wisdom onTech issues.
Haslor
Hello All,
Okay so If you are thieving Rendering time off the other computers in your home, then there is another command you can run that will help your computer stay more responsive, while the slaves pound away rendering your images.
Using the -t # will set the Number of Threads that your computer will use to render.
You can read threads as Cores, so if you have a fancy i7 with 6 cores and it is hyper threaded then you can have a maximum of 12 threads running at once. If you are a Cheap Ba.... Well I think I'll leave that word off, and you have an older Dual Core or Quad Core, like an E8400 or a Q8300, then you only have 2 or four cores therefore threads.
So to keep your system more responsive you could set the -t once less core then your system has.
If you have an E7500 you would type in -t 1 or a Quad core you could use -t 3.
Remember you have those slave system pounding away at rendering the image, so all your system really needs to do is assemble the image that they render.
If you don't want to see all that text streaming by in the window, there is another command you can use, that will limit the information to only warnings. it is -q for quiet.
If you would like the Slaves to write a image file then use the -W command in the command line.
All of these option are Case Sensitive, if you do a -v you get a verbose listing, but -V gets you the version Number of LuxRender. So if you are trying to use the Slaves remember it is -u not -U.