Swarm Agent - Remote Agents Problem

Hey guys!

I have a problem with Swarm Agent. I want to use my new pc as a render slave for my Unreal projects. I follow instructions but i can’t achieve to work them together. I will tell you what i’m doing and please help me where i’m wrong.

1- First of all i copied DOTNET folder to new PC (unreal is not installed to new pc, just DOTNET files)
2- I started swarm at new PC and filled Distribution Settings. Then i do it for my old PC. Here are the settings.

3- I click “ping remote agents” and result is:

4- Then i built scene…

so… where is the problem? ip address? cache path?

version ue 4.12.5
firewalls are closed

Set avoid local execution to true

Nothing changed. Still same situation goes on.

Have you got both of the computers on the same homegroup? and shared the folders on both computers?

I know your pain man, every problem you can have with swarm I have had.

1 Like

i’ve tried to work them together since last week. i’m really going crazy. What a painful messy thing!

By the way they are in same network group. And i saw its shared files. But i can’t understand that “shared the folders on both computers”. What do you mean? should i create a file for this operation?

Right click on the folder location of your project and share it, allow both read and write. If the project is not shared on the network, it won’t be able to read the information to process.

Also try sharing the locations where your swarm agent is processing the files.

i already shared “project location” and “swarm cache folders”… I controlled after your reply and try again but nothing changed.

I think the problem is my ip adress… swarm says “127.0.0.1” but it’s 192.168.20.35…

Are you on Windows 8? I had the same problem, the solution was to turn off firewall or this (its a copy paste from a note I had, cannot find the bookmark…):

**Until we explored the issue in detail, the most common Swarm problem was blocked communication between different Swarm agents. Firewalls are the culprits. Windows Firewall will block Swarm by default, even if the user chooses to allow Swarm to do outbound communications. Because Swarm communicates in a peer-to-peer fashion, it must also be configured to allow inbound communication from other agents.

Programmatically, the Windows Firewall can be configured to permit Swarm usage with the following commands. We also do IP filtering to make sure these firewall exceptions only happen on our local network — replace x.y with your actual leading IP octets.

Allow Swarm ICMP pings: netsh advfirewall firewall add rule name=”Unreal Swarm” dir=in action=allow enable=yes remoteip=x.y.0.0-x.y.255.255 protocol=icmpv4 interfacetype=lan

Allow Swarm TCP commands: netsh advfirewall firewall add rule name=”Unreal Swarm” dir=in action=allow enable=yes remoteip=x.y.0.0-x.y.255.255 protocol=tcp interfacetype=lan localport=8008,8009,54430,56574,56587 remoteport=8008,8009,54430,56574,56587

Uninstall firewall exceptions: netsh advfirewall firewall delete rule name=”Unreal Swarm”**

I hope this helps you.

When you see the render slave in the Coordinator than usually it should work and the computer can see each other and everything is setup correct.
It might be a different problem you are running into. The complexity of your scene. On the screenshot it looks like it doesn´t even use all cpus on your local machine. swarm rendering distributes each lightmap to a virtual cpu. So if you have less lightmaps than cpus it´s won´t distribute. As unreal merges some lightmaps you might even have less lightmaps than you would expect. In the swarm agent of your local machine, “developer settings” set LocalJobsDefaultProcessorCount down to something like 4, to limit the accesible cpus on your local machine wich might force the swarmer to distribute the maps over the network.

Yes! it is the solution for my case! i decrased “LocalJobsDefaultProcessorCount” value 38 to 12… it worked! Thank you so much ****!!

38-12 = 26 core for distributing… is it too much? i tested with or without network a project… Result is:

2 computers (12(coordinator) + 40(agent) cores) : 5.30 min
1 computer (38(coordinator) cores) : 5.43 min
what do you think?
it is nearly same result as one computer. I think it is useless… what do you think? should be any significal differences over all progress?

Basically I think lightmass and Swarm rendering is pretty bad. I wrote a post about why, here.

Regarding Swarm Rendering in your case, it depends on the complexity of the scene. What you have done now is disable local cpus in exchange with network cpus. So there is zero speed gain. Because just like before the same count of cpus are working on the scene. Once your scene becomes more complex and your lightmap count is bigger than your local cpu count swarm rendering will kick in and speed up things. But also just to a certain level. On our renderfarm with 20 quad cores I measured a speed increase of 2-4 times, not 20 times faster as one would expect. But it depends on the scene. Usually for me it looks like this. Most cpu finish pretty quickly and just a few render to the end. One last thread takes forever :slight_smile: As I´ve written in the post I linked. I don´t think Swarm Rendering is very efficient.

ps. don´t forget to set your local CPU count back :wink:

hehe i guess i don’t forget :smiley:

i absolutely understand you. you’re right… i tested couple of projects and results are similar. i’m working on archviz and projects are really complex. so i think swarm is time (and electricity) waste for me… i will follow and investigate this situation. i’ve already read your other post. i hope they will change it at version 5.