Download

swarm installation

I have not been able to get Swarm working on multiple machines on my network.

Is there any kind of installation guide which explains step by step how to set it up?

The UE3 documentation is probably your best bet right now https://udn.epicgames.com/Three/Swarm.html, here https://iamsparky.wordpress.com/2010/08/24/tutorial-setting-up-swarm-for-multiple-machines/

when I double click the SwarmAgent.exe, no window opens. I can see it running in the task manager, but only as a bg process.

SwarmCoordinator.exe does open a window, but does not offer any setup functionality that I can see.

Any clues?

You mean that you cannot open up SwarmAgent window clicking on the icon in the task bar?

I have been double clicking C:\Program Files\Epic Games\4.7\Engine\Binaries\DotNET\SwarmAgent.exe. Is this not correct?

I am VERY new to Unreal (and very new to game engines in general) I am not even sure what the task bar is. Is this in the editor or the Launcher?

Colin

I don’t see a SwarmAgent icon in my task bar in the Editor.

I don’t see a SwarmAgent icon in my task bar in the Editor.

Hi collinegreen,

If you **build lighting **or cook/packaging , you will see new icon in the task bar :

Double click on task bar button to open SwarmAgent windows

have a great day

I don’t get this icon in the windows task bar when I Build. (I am on windows 8.)

Alright. TBH I’ve never run SwarmAgent.exe on Windows 8. I’ll verify it and get back to you.

I can confirm it that it runs on my Win8 config.

Is the Win8 machine your working machine or remote builder? On which machine are you unable to run SwarmAgent.exe (you can’t see icon in the tray)?

If on remote machine, then have you copied every dll needed for SwarmAgent.exe to work correctly? I.e. AgentInterface.dll, SwarmCommonUtils.dll, SwarmCoordinatorInterface.dll, SwarmInterface.dll and UnrealControls.dll.

also, I can see 4 SwarmAgent processes in my task manager, even when I am not building - not taking much CPU but still running.

I am sure if I could get the SwarmAgent window to open, I would be able to figure it out.

It is a drag because my builds take ~30 minutes and totally kills my machine by putting all other running software and the whole OS into swap - I usually restart after a build to refresh the RAM. (I have a machine in the next room with 12 cores and 24 GB of RAM which would be nice to be able to take advantage of.)

Thanks Jarek -

I have done the stock install on both of my machines, but have not done any further manual file copying. The Swarm files are there in the same place as on my main machine, and I manually started the Swarm Agent, but did not get window when I double clicked it.

I think if I were able to open the SwarmAgent window, on my main machine, tell it the name or IP address of my remote machine it might start working, but I am not able to open a SwarmAgent window on either machine. the SwarmCoordinator does open, but does not offer any setup tools.

Thanks for the help.

Colin

I just installed the Editor on a third machine, started a build and did not see the swarm agent either start up or in the task bar.

Does it have to be turned on somewhere?

Just an idea… might be that your Swarm Agent icon is just hidden by windows? There is a small triangle by the clock on your taskbar you could click to reveal hidden notification icons… :slight_smile:

Hmm, what Mikand79 suggests sounds possible. Let me know if that’s the case.

OK - Thanks Mikand79 - face palm.

I have the Swarm Agent window open now on both machines - I still don’t see where to put in the names / IP addresses of the remote machines and the settings in the Setting tab are a bit cryptic. I put the name of machine B into the AllowedRemoteAgentNames field on machine A, and vice versa, and still only see the local machine name in the Swarm Status tab.

What is AgentGroupName? AllowedRemoteAgentGroup? CoordinatorRemotingHost?

I even set AvoidLocalExecution to True and it still only executed locally.

Progress, but still no joy. Thanks for the tip.

OK - big step forward. On my machine A, I see both A and B in the Swarm Coordinator, and it says B is available, for jobs sent by A.

When I build, however, and look at the SwarmAgent, only machine A appears in the list, and only A does any work. I have closed and restarted.

Almost there.

so close -

The SwarmAgent log shows this -

8:44:22 AM: [Network] Pinging remote agents…
8:44:22 AM: ALEXANDER (User = PLF USER, IP = 192.168.1.3, Version = 1.7.2891.0) is currently Working for ALEXANDER, Assigned to ALEXANDER
8:44:22 AM: ALEXANDER: IP address for this Agent cannot be verified - Coordinator and local mismatch or DNS inactive!
8:44:22 AM: GOLDMAN (User = PLF USER, IP = 192.168.1.8, Version = 1.7.2891.0) is currently Available, Assigned to ALEXANDER
8:44:22 AM: [Network] Remote Agent ping complete

ALEXANDER is the local machine, and is working for jobs started on ALEXANDER (this is my local workstation)

GOLDMAN is the machine I want to distribute to, but even though it says “urrently Available, Assigned to ALEXANDER” - it never gets jobs sent to it.

I have AvoidLocalExecution set to true, but it only executes locally.

So close.

Those three settings “AgentGroupName”, “AllowedRemoteAgentGroup” and “AllowedRemoteAgentNames” are the key here. Let me explain.

Basic flow of the Swarm is that UE4Editor sends “work” to your local SwarmAgent. Then SwarmAgent decides how to distribute the work. Most probably those settings filtered out all other SwarmAgents maintained by Coordinator.

  1. AgentGroupName is the group name of this SwarmAgent.
  2. AllowedRemoteAgentGroup is the first filter. This SwarmAgent only distribute tasks to those SwarmAgents, whose group name is equal to AllowedRemoteAgentGroup on local SwarmAgent (note it can NOT be wildcard).
  3. AllowedRemoteAgentNames is second filter. It checks the remote SwarmAgent’s name, which is computer name. This field understands * wildcard.

So to check that I’d set those for each SwarmAgent to: 1. Default, 2. Default, 3. *. And then, if it works experiment, you can experiment further.