  Millions of network cameras are streaming real-time multimedia content
(images or videos) for various environments (e.g., highways and malls) and can
be used for a variety of applications. Analyzing the content from many network
cameras requires significant amounts of computing resources. Cloud vendors
offer resources in the form of cloud instances with different capabilities and
hourly costs. Some instances include GPUs that can accelerate analysis
programs. Doing so incurs additional monetary cost because instances with GPUs
are more expensive. It is a challenging problem to reduce the overall monetary
cost of using the cloud to analyze the real-time multimedia content from
network cameras while meeting the desired analysis frame rates. This paper
describes a cloud resource manager that solves this problem by estimating the
resource requirements of executing analysis programs using CPU or GPU,
formulating the resource allocation problem as a multiple-choice vector bin
packing problem, and solving it using an existing algorithm. The experiments
show that the manager can reduce up to 61\% of the cost compared with other
allocation strategies.
