Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 9 Next »

Incredibuild can leverage the computing power of every machine in your environment. However, this requires fast network connections between your computers, whether they are physical machines, virtual machines, or cloud resources.

Work patterns are changing, and work is often done from home environments with less than optimal network speeds. To address this new situation, we have created some best practices when configuring your environment to support working from home.

Network Requirements

  • Bandwidth: 70MB/s or higher. The higher the better.

  • Latency: Below 200MS.

Types of Home Environments

While you can technically work with Incredibuild from any environment, the speed of your network can be a performance bottleneck. Therefore, we recommend connecting to a set of resources that are on the same network such as in the cloud or in your office. If you have no other choice, you can also install Incredibuild on multiple personal devices at home for free.

 Connect to Office Resources using RDP

You can connect directly to an Incredibuild agent in your office using RDP. If you use the agent in your office as the initiator, you will be using your office network and will therefore not be depending on your home network connection. Make sure you are not relying on helper agents that are outside of the office such as other colleagues working from home.

 Use VDI Resources

VDI refers to using virtual machines to manage virtual desktops. This solution is very similar to using RDP to connect to physical machines, but instead you are connecting to virtual machines. Similar to working in the cloud, VDI resources allow you to easily increase or decrease computing power on demand.

Since these virtual machines can be accessed at home, but exist in your office or in the cloud, the dependency on your home network is greatly reduced.

 Use Cloud Resources

You can use the cloud to deploy helper agents on demand using Incredibuild's cloud solution. This solution will only work if your home network connection is strong. It is recommended in the following cases:

  • You have a strong home network connection, but the helper agent machines may not have good connections (other colleagues at home).

  • You have a strong network connection, but you are required to connect to helper agents via a VPN that does not have a strong network connection.

In these cases, you can use your own machine as the initiator and leverage as many agents as you need in the cloud.

 Use Multiple Personal Devices at Home

If none of the above solutions are possible, and you have more than one machine at home, you can create a mini-home network. This will allow you to leverage the power of idle cores on your machines to speed up your builds.

  1. Install Incredibuild on all of your home machines

  2. Install the Coordinator on one of your machines

Best Practices to Optimize Performance when Working from Home

In order to maximize your performance when working from home, we recommend using the following best practices if they apply to your situation.

 Disable Your Home Machine as Helper

To ensure that your home machine does not slow down builds initiated from other machines due to limited internet bandwidth, disable the role of your Initiator Agent as Helper.

To do this, right-click the Incredibuild Agent icon on your taskbar and click Disable as Helper.

 Use a Physical Wired Connection

If at all possible, we recommend using a physical wired connection to ensure that your network speed is as fast and reliable as possible.

 Verify your VPN Bandwidth

Even if your home network connect is fast, sometime connecting through a VPN can introduce an additional performance bottleneck. If you have to connect through a VPN, make sure the bandwidth is large enough for your needs.

 Avoid Distributing Tasks with Large Input Files.

If possible, avoid distributing tasks that require very large input files from your home machine. For example, try to work without utilizing PCH and PDB files.

 Disable the Automatic Cache Clean of the Coordinator

This will save the cache on the Helper machines for future rebuilds, and will improve performance. Go to the Coordinator Settings dialog box > Coordinator > Advanced and uncheck from the Enable automatic file cache cleaning.

 Enable the Restart Remote Processes on Local Machine

This option helps prevent cases in which a job "waits" for a slow remote machine to complete execution of a task. If a machine is reacting slowly, Incredibuild executes the task on both the remote machine and your local machine and uses whichever output is completed first.

Since the likelihood of slow remote machines is greater when working from home, we recommend enabling this option.

Go to Agent Settings > Initiator > General, and check Restart remote processes on local machine when possible.

 Use Fewer Machines with More Cores

If it’s possible to obtain the same number of cores with fewer machines, this can help reduce the total required network traffic and therefore improve performance.

 Reduce Cores per Build

In some cases, reducing the total number of helper cores per build may improve performance when working from home.

You can change these settings on an individual initiator agent, or in the coordinator to apply the changes to all agents:

  • On an initiator agent, go to Agent Settings > Initiator > General. Check Limit maximum number of cores utilized in build to and reduce the number.

  • On the coordinator, go to Coordinator Settings > Agent Assignment > Advanced and reduce the number.

 Best Practices for Cloud Machines
  • For virtual machines that function as Helpers, use a high number of CPU cores such as 32 or 64. This is not required for virtual machines that function solely as Initiators.

  • When using Incredibuild’s Cloud solution, verify that your pool size is large enough to include all the Helper VMs that you will want to use for accelerating your tasks, in order to avoid cache loss.
    In the Settings page of your IncrediBuild Cloud solution, verify that the Total Cores Limit equals the Number of Cores times the Number of VMs in the Pool. If the Total Cores Limit is higher, VMs will be used and then terminated, losing their cache and reducing efficiency when working from home.
    In this example: 160 Total Cores=32 Cores * 5 VMs in Pool

  • No labels