basic cpu requirements for image processing

Support and queries relating to all previous versions of ZoneMinder
Locked
ananke
Posts: 5
Joined: Sat Jul 19, 2003 4:43 am

basic cpu requirements for image processing

Post by ananke »

Hi,

Simple question: what are the major factors when it comes to the optimization of zone minder?

Case 1)

pentium 3, 700mhz, 128MB ram, 1 USB camera [quickcam pro 3000]. With the buffer set to 20 frames, and camera in the active mode [640x480, color], the load stays at a constant 2.00

Case 2)

pentium 4, 2.8ghz, 512MB ram, 3 usb cameras [quickcampro 3000, kingston 6701, ezonics something], with buffer of 100 frames per camera, the load is at a constant 0.80

Now, what are some of the recommendations regarding optimization of the zone minder setup? What I have in mind is about 8-14 cameras [remote ones], and one dedicated machine to analyze motion/ store images/et [in fact, the answers to this question probably could be incorporated into the documentation]

So let's think about this:

cpu - of course, the cpu plays a big role in analyzing the frames. I'm not sure how much of a difference would a multi-processor machine do [whether the zone minder is threaded]
disk - acces time probably does play an important role. I read a suggestion on creating the events directory on a ram disk. that's a possibility
ram - that's quite obvious, more ram - more space for frame buffers.

The question now is: what are the main factors? Does anybody have zone minder deployed in such a big environment [so many cameras].

What are some of the zone minder / software settings that could increase the performance of the entire system?

Thank you for your suggestions
User avatar
zoneminder
Site Admin
Posts: 5215
Joined: Wed Jul 09, 2003 2:07 pm
Location: Bristol, UK
Contact:

Re: basic cpu requirements for image processing

Post by zoneminder »

Hi Dominik,

I don't have any personal experience with the size of the instalation you are considering, though networked cameras in general are less of a load because their frame rates are so low, sometimes only around 1fps.

I think in general the higher the frame capture frame rate and the larger the image size the more load. In particular the image size as 640x480 is four times the data of 320x240 and 12 times if also going from greyscale to colour. This will affect the capture daemons as they have to shift more information about however is will affect the analysis daemon even more as it has to analyse all that information. This impact can be reduced by carefully placing your zones and not just using the default zone which is over the whole image. For instance if you have a camera placed over a corridor then your zone could cover just the central area rather than the walls etc. The smaller the zones the quicker they will be analysed. Other than this limiting the frame rate probably has the greatest effect.

In terms of speccing a machine, it's primarily the RAM that has the major impact and this can be calculated fairly specifically. The speed of the disk is another factor though only really comes into play when you have events but if you are anticipating fairly continuous events or recording then this should be as fast as you can get. Obviously the primary role of the CPU in ZM is the analysis of the images and this is much harder to be deterministic about.

To answer a couple of your other questions, ZM is not currently multi-threaded though it may be possible in a multi-processor system to assign certain binaries to certain processors, I know it used to be like that in HP-UX, I'm not sure about Linux. Also there are various settings that affect performance, the best way to find out is to go through the Options area and read the full description of each which will normaly explain what the option does and what the pros and cons of it are.

Phil,
Locked