Advanced hardware requirements
This page provides detailed information about hardware infrastructure sizing. Please take the following into consideration when assessing the requirements:
- How many cameras you plan on processing live
- How many days of live (from cameras) or non-live (uploaded) video data you want to search for
- What types of live use cases you want to run
- How many live use cases you want to run
Read below to learn about detailed hardware requirements for each node type (described below), categorized by the amount of CPU cores, RAM, storage space, and GPU units.
For smaller deployments, it is possible to deploy all components on one physical machine. In this case, simply sum the requirements of all nodes (CPU cores, RAM, storage, GPU) to calculate the total hardware needed.
About nodes
Currently, U-Query can be deployed on-premises, with future versions planned to support hybrid on-premises and cloud options.
Deployment consists of one or more indexer nodes and one or more query nodes.
- Indexer Nodes: These nodes process videos and extract metadata using deep learning models. They can also store video data.
- Query Nodes: These nodes store metadata and can perform live or ad-hoc analysis on the metadata.
Query node hardware requirements
The following table present hardware options for different load levels. Each SSD must be a 1TB NVMe SSD. Multiple SSDs must be installed in a JBOD configuration.
Warning
Don't replace multiple SSDs with a single, larger one. Multiple SSDs are necessary to speed up data reading with parallelization. Having a smaller number of SSDs significantly decreases performance.
Total number of searchable days can mean index data from live cameras as well as historic data uploaded to the system.
The number of streams shown in the table assumes no uploaded videos are present alongside the streams.
Query node size |
RAM (GB) |
CPU cores |
Number of SSDs |
Total searchable days |
Number of streams | |
---|---|---|---|---|---|---|
10 searchable days 10 live use cases / stream |
5 searchable days 5 live use cases / stream |
|||||
Small |
32 |
12 | 1 | 300 | 30 |
60 |
Medium |
64 |
24 | 2 | 600 | 60 |
120 |
Large | 128 | 48 | 4 | 1200 | 120 | 240 |
Multiple query nodes
If a single server does not fit your needs, use multiple servers and simply add up the numbers when calculating the resource costs; For example, based on the above table, 600 live camera streams with 10 use cases per stream would require 5 'Large' query node instances.
Note
In the case of distributed installation, all query nodes must be connected via a 10Gb network.
Indexer node hardware requirements
The primary role of indexer nodes is to run deep learning models to extract metadata from video streams. Additionally, indexer nodes are capable of storing historical videos. To perform deep learning inference, these nodes require GPUs. Currently, U-Query supports NVIDIA GPUs for this purpose. An indexer node can host multiple GPUs.
Note
Only x86-64 architecture is supported for indexer nodes at the moment. ARM will be supported in the future, including for the Jetson Orin family of devices.
CPU cores
Each indexer node requires 4 CPU cores + 2 per GPU.
RAM
Each indexer node requires 12GB RAM + 4GB per GPU.
Storage
Each indexer node requires 128GB of SSD storage in addition to storage for historical videos. To determine the necessary storage size for historical videos, you may use a CCTV storage calculator, such as this one from Seagate, this one from Western Digital or this one. It is recommended to use a hard drive that is designed to maintain continuous write operations.
GPUs
The indexing capacity (measured in total FPS or number of streams) depends on the GPU. The table below displays the capacity of various GPU models, assuming default indexer settings (4 FPS, balanced detector mode).
GPU | Total FPS | Number of live streams |
Batch indexing speed (minutes to index one hour of video) |
---|---|---|---|
Jetson AGX Orin 64GB | 50 | 12 | 4.8 |
RTX A4000 | 92 | 23 | 2.6 |
L4 | 98 | 24 | 2.4 |
Quadro RTX 6000 | 105 | 26 | 2.3 |
A100 | 187 | 46 | 1.3 |
Info
FPS and stream counts accumulate when using multiple GPU units. Be aware that additional RAM and CPU cores are required when employing multiple GPU units (see RAM and CPU core sessions).
GPUs (Advanced Configuration)
Different use cases may require varying FPS and range settings. It is possible to fine-tune the indexer parameters to optimize for different scenarios. The tables below provides detailed information on this optimization.
The following table shows some examples of typical FPS requirements for different use cases.
Use case | Recommended FPS |
---|---|
Intrusion detection | 1 |
Crowd counting | 1 |
Parking space occupancy | 1 |
Queue management | 1 |
Rare events (gate opened/closed) | 1 |
Social distancing monitoring | 2 |
Person crossline counting | 4 |
Vehicle crossline counting (low speed) | 4 |
Person/vehicle tailgating | 4 |
Cooperative face recognition | 4 |
Slip and fall detection | 4 |
Uncooperative face recognition | 8 |
Vehicle crossline counting (city) | 8 |
Vehicle crossline counting (highway) | 10-15 |
Detector modes
The object detector in U-Query has three modes (the default detector mode is Balanced):
- High speed: The detector runs on lower resolution, requiring less GPU resources.
- High range: The detector runs on higher resolution, requiring more GPU resources.
- Balanced: A mode balanced between the two modes above.
The table below shows the indexing capacity of different GPUs, in total FPS, for the different detector modes.
GPU | High speed | Balanced | High range |
---|---|---|---|
Jetson AGX Orin 64GB | 66 | 50 | 42 |
RTX A4000 | 130 | 92 | 75 |
L4 | 138 | 98 | 81 |
Quadro RTX 6000 | 147 | 105 | 86 |
A100 | 257 | 187 | 156 |