About load balancing - KiwiVision™ 4.4.0 | Security Center 5.9.4.0

KiwiVision™ User Guide for Security Center 5.9.4.0

series
KiwiVision™ 4.4.0 | Security Center 5.9.4.0
revised_modified
2020-11-05

In a setup with multiple processing devices, such as servers and GPUs, the system automatically determines which device and KiwiVision™ Analyzer role each video analytics scenario is assigned to. However, you can override the system's assignment of scenarios by manually reassigning them, or you can exclude KiwiVision™ Analyzer roles and scenarios from automatic load balancing altogether.

Automatic load balancing

By default, the system automatically balances the load for optimum performance of the KiwiVision™ Security video analytics and KiwiVision™ People Counter modules. The distribution is based on multiple factors, such as the frame rate of the analytics and the CPU or GPU usage of each server.

How automatic load balancing works

Scenario distribution
When a scenario ends up not being assigned to a KiwiVision™ Analyzer role or device, for example, when a scenario is created or manually unassigned, the system immediately assigns the scenario to a device that is currently processing few scenarios.
Automatic load balancing
In the background, the system repeatedly moves individual scenarios to different KiwiVision™ Analyzer roles and devices (CPU and GPU), then observes how the performance changes, and repeats this process until it determines the optimal option for reassignment. This process occurs once every 30 minutes at most, and can take up to a few minutes to complete.

During the reassignment process, the scenario runs on both the source and target role or device for a short time. There is no downtime and no duplication of events because they are suppressed on the new scenario until handover is complete, but additional computing resources are used.

The system only attempts moving scenarios when there is enough memory available on the target server or device:
  • For all analytics, the target server must have at least 1.0 GB of main memory available.
  • For the first intrusion or object detection analytics scenario on that KiwiVision™ Analyzer role, the target server must have at least 1.5 GB of main memory available.
  • For people counting analytics, the target GPU must have at least 0.5 GB of dedicated GPU memory available.
  • For the first people counting analytics scenario on that KiwiVision™ Analyzer role, the target server must have at least 5.0 GB of main memory available.
  • For the first people counting analytics scenario on that KiwiVision™ Analyzer role, the target GPU must have at least 3.5 GB of dedicated GPU memory available.

Manual load balancing

You can manually reassign video analytics scenarios to KiwiVision™ Analyzer roles or exclude specific KiwiVision™ Analyzer roles and scenarios to override the system's automatic load balancing. Manual load balancing is useful when you have servers on different sites and you do not want the camera data to be transferred between the sites, or when resources are sparse.

How exclusions work

The following explains what happens when you exclude KiwiVision™ Analyzer roles and video analytics scenarios from automatic load balancing:
  • When a scenario is excluded, it can no longer be automatically reassigned to different KiwiVision™ Analyzer roles or devices. The following cases are exceptions:
    • When the scenario's KiwiVision™ Analyzer role is deleted, automatic load balancing is re-enabled for the scenario and it is reassigned.
    • When the scenario is assigned to the GPU of an KiwiVision™ Analyzer role, if that role goes online without GPU, the scenario falls back to CPU.
  • When a KiwiVision™ Analyzer role is excluded, all its currently assigned video analytics scenarios are excluded, and no other scenarios can be assigned to the role automatically.
  • Video is not processed in the following cases:
    • When the scenario's KiwiVision™ Analyzer role is deactivated or the servers are offline, the scenario remains locked, and no longer processes any video.
    • When all KiwiVision™ Analyzer roles are excluded, and scenarios are created, the new scenarios remain unassigned and do not start processing video until assigned manually.