This section describes the storage and network transfer rates required for SAFR Object Storage (CVOS).
SAFR storage requirement is unlike many systems because of the volume and size of files it stores. Unlike VMS systems which store relatively few large files and read/writes are performed sequentially, SAFR object storage is made up of many small files and read/writes which is more random access than sequential. For most events, SAFR stores 2 images; a face image (5k) and scene image (30k). On a low traffic use case, there may be as many as 40,000 events per day per camera. And with medium and high traffic use cases, there will be many more events. Thus, hard drives must be capable of handling sufficient volume of small files,
Single Server Deployment
For single server deployments, object storage should be on separate drive. It is recommended that object storage be on a RAID5 array (see below for more on RAID configuration). RAID5 offers 2 benefits; fault tolerance and improved read performance.
Clustered Server Deployment
For clustered server deployments, object storage should be set on on separate machine (either NAS or computer designed as dedicated storage). A RAID configuration is recommended to provide fault tolerance and improved read performance. Network performance will need to be evaluated and may
About Drive Speed
This section provides some background on typical drive speeds. Specifically for the CVOS use case - many small files. Following table shows typical performance for HDD (Magnetic disk drives) and SSD (Solid state drives) for 4k block size random access files.
|HDD||1.85 MB/s||1.3 MB/s||5.2 MB/s||WD Red 8 TB ($200)|
|SSD||50 MB/s||35 MB/s||100 MB/s||Samsung 870 QVO ($400)|
We can see that HDD drives are significantly slower. We also see from above reference the typical cost of HDD vs. SSD drives:
- SSD: ~ $100/TB
- HDD: ~ $30/TB
About Drive Redundancy
This section provides background on RAID storage and provides recommendations on the same for SAFR. Following table shows the RAID configurations that may be relevant to SAFR:
|RAID0||Data spread across all disks||Faster read and write performance ( #Drives x DriveSpeed )||No fault tolerance|
|RAID5||Data spread across all but one disk for data redundancy||Faster read performance ( #Drives-1 x DriveSpeed )||No boost to write speed|
|RAID10||Like RAID5 but full dataset mirrored for write performance|
Faster read performance ( #Drives x DriveSpeed )
|Only 50% of storage is usable|
- Reference: https://www.startech.com/en-us/faq/raid-modes-explanation and https://www.omnicalculator.com/other/raid
RAID5 offers a superior balance of fault tolerance and performance. While it does not boost write speeds, disk write performance is often 2 or 3x higher than disk read performance. RAID10 requires a doubling of storage to get 1/2 the write speed boost as RAID0 and RAID0 is simply too risk for a business critical application.
Hard Drive Selection
Using above information, we can determine the threshold SAFR use case at which HDD is too slow (i.e. where write speed is 1.2 MB/s). Using a simulator, we see that for 60 simultaneous faces SAFR will require 1.2 MB/s of write speed. This is equivalent to 20 cameras with 3 faces per camera (slow retail environment) or 60 cameras with 1 face/camera (surveillance use case). The following table captures this point.
|<60 faces simultaneous1||HDD|
|>60 faces sim||SSD|
- Because HDD write speed is often about 3-4x faster than reads, and HDD have cache active data, capacity may be 2x more
If using NAS, the network capacity needs to be sufficient to handle the inbound (write) and outbound (read) traffic. Following table provides speed expectations of 1 and 10 Gigabit ethernet.
Maximum Attainable Speed (Mbps)
|1 Gigabit||800 Mbps||100 MB/s|
|10 Gigabit||9 Gbps||1125 MB/s|
Based on above, it is unlikely network would be a bottleneck except in extremely large applications.
Scenario: 300 Cameras, 3 faces/camera and 30d retention. Using SAFR hardware estimator, we get 364 Mbps inbound and 1682 Mbps outbound. Which is 46 MB/s write speed and 210 MB/s read speed. Total storage needed is 24 TB for 30d retention.
Using the RAID calculator and choosing RAID5 we determine the system will need Four 10TB drives (yielding 30 TB usable storage). For this scale we need SSD. We select a drive from this source which has 50MB/s mixed 4k speed. Write speed would be 1x or 50 MB/s. Read speed would be 4x or 200 MB/s. To meet needed read speed, a 5th drive would be added to yield 250 MB/s read speed..
Object Storage Summary
- Local storage for single server / NAS for SAFR Cluster
- HDD for use cases <60 simultaneous faces. Else SSD
- RAID5 strongly recommended for fault tollerance
SAFR uses a database to store all events and images. Events take up 1 kb of storage per event and identities take up 15 kb of storage. With high event volume or a large identities database, speed is very important for good recognition performance. Even with a relatively small watchlist, low disk latency is still important for optimal recognition performance. It is recommended that the SAFR database be located on a dedicated SSD drive.
SSD (3k for each identity record and 1k for each event. see SE for sizing assistance)
CPU and GPU Selection
CPU and GPU selection is beyond the scope of this document. Please refer to the SAFR Hardware Sizing Quick Reference document on the Reseller Portal or consult with SAFR Sales Engineers for assistance with CPU and GPU and RAM selection.