Overview A Mobile AgentAgent-based System for Dynamic Task Allocation in Clusters of Embedded Smart Cameras Introduction The Smart Camera Michael Bramberger1,, Bernhard Rinner1, and Helmut Schwabach Surveillance System Architecture Task Allocation 1 Institute for Technical Informatics Video & Safety Technology Graz University of Technology ARC Seibersdorf Research AUSTRIA AUSTRIA {bramberger, rinner}@ititugrazat helmutschwabach@arcsacat Implementation & Experiments Outlook May o, oo5 Hamburg, Germany Surveillance Systems The Smart Camera - Hardware 1st and nd generation Heterogeneous multi-processor system Primarily analog frontends CMOS image-sensor Backend systems are digital TI TMS30C64x DSPs 3rd generation Intel IXP4xx network processor All-digital systems 3+ generation Scalable HW design Smart cameras Surveillance tasks run on-site on smart cameras Video compression Traffic statistics Accident detection Wrong-way drivers Stationary vehicles (tunnels) Tracking Up to 10 DSPs Interfaces 100Mbit Ethernet, USB, Serial, GPRS, WLAN
The Smart Camera - Software Surveillance System Architecture SmartCam Framework Two-Fold Software Framework User Mode DSP Framework Algorithms Stationary Vehicle Detection MPEG-4 Encoding Application Layer RTP-Streaming DSP App Control Tracking DSP Framework DSP-Framework Service Manager SmartCam Framework User-Mode Layer SmartCam-Framework on Network Processor Messaging Relay / Dispatch Manager Extended RF-5 Autonomous allocation & reconfiguration of tasks DSP Management Optional Drivers / Functionality (A/V Interface, Sec Communication) Kernel Mode Functional groups of smart cameras Basic Drivers (PCI, Messaging, dyn Loading) Provides services Improved surveillance due to smart cameras Decentralized, distributed surveillance DSP Monitor Linux Kernel 681 DSP Kernel Module Messaging / Sync / DSP Services Limited performance and resources DSP/BIOS Data Management Intel IXP45 XScale Performance monitoring TMS30C6416 PCI PCI Synchronization Real-Time Constraints Distribute sets of surveillance tasks to groups of smart cameras Message-based communication DSP DSP / DSP XScale Surveillance Clusters Dynamic loading of modules (binaries) on DSPs Task Allocation 1 Determine optimal allocation of tasks to smart cameras According to required resources primarily of the DSPs, (on-/off-chip), (channels, IRQs), transferred data Overloading of a resource yields in violation of real-time constraints Task Allocation Is a constraint-satisfaction-problem (CSP) Variables Tasks {T1,,Tn} Domain Cameras {H1,,Hm} Constraints Allocation of all tasks No camera must be overloaded Reallocation is required online due to Changed resource requirements of tasks (raised by software) Changed resource availability of a camera (raised by hardware) Added/removed cameras or tasks Tracking tasks migrates between hosts Complexity: O(mn) s considered in constraints, (on-/off-chip), (channels, IRQ), and transferred data State-of-the-art approaches provide one solution require a central host
Task Allocation Determine Is a constraint-satisfaction-problem (CSP) Standard approaches provide one solution, require a central host Determine partial allocation (solutions of sub-csp) in parallel Prune set of partial allocations using a cost function Splitting the domain Create a distributed CSP (DCSP) Variables, Domain, and Constraints Merge partial allocations Exploit distributed architecture Determine io ns Tr+Ts+ +Tt llo ca t Final C1 + C34 be ro fa nu m In cr ea sin g Determine C1 + C C3 + C4 Ta+Tb+ +Tc To+Tp+ +Tq
Cost Function Integrating the Cost Function Goal Remove allocations Reduce number of allocations (early pruning) Calculate Cost for each task on every camera Choose optimal allocation Remove allocations which exceed an adaptive threshold Five cost classes Costs Data-Transfer Costs Migration Costs Affinity Costs Find optimal solution Determine the cost of each feasible allocation Quality-of-Service Costs Integrating the Cost Function 1 Remove allocations Calculate Cost for each task on every camera Determine the cost of each feasible allocation Choose the allocation which provides the lowest cost value Remove allocations which exceed an adaptive threshold Find optimal solution Ta+Tb+ +Tc Cost1 Tr+Ts+ +Tt Costp Choose the allocation which provides the lowest cost value Costs are based on availability of resource Integrating the Cost Function Final C1 + C34 Cost integration reduces number of allocations Threshold is set according to lowest cost A minimum number of feasible allocations has to be accepted Reallocation Scenarios Increased system load Final C1 + C34 Ta+Tb+ +Tc Cost1 Tr+Ts+ +Tt Costp Prune set of feasible allocations Fast results required Reduced system load Determine new set of feasible allocations Timing to achieve results is relaxed
Implementation System Setup Implementation Agent System Operational environment DSP-Agencies Network processor running Linux Enhanced agencies to integrate DSPs DSPs running DSP/BIOS (TI) Including SmartCam/DSP-Framework Mobile agent-based implementation Diet-Agents agent system DSP Interaction Agent DIA Cluster Information Agent CIA System Agent SA Worker Agents WA JamVM as Java virtual machine Tight interface to DSPs Implementation Agent System Prototype Intel IXDP45 Baseboard DSP-Agencies Intel IXP45 Network Processor @ 533 MHz Enhanced agencies to integrate DSPs Including DIA, CIA, SA, and WA 56 MB SDRAM, x 100BaseT Ethernet, PCI ATEME IEKC64 (x) Texas Instruments TMS30C6416 @ 600 MHz DSP-Agents 64 MB SDRAM DSP module (binary) National Semiconductor LM9618 CMOS image sensor Several QoS levels Store intermediate data WaveCom GSM/GPRS module Supports Class 10 data transfers Backup network connection
Prototype Experimental Results Intel IXDP45 Baseboard Experiments conducted on Intel IXP45 Network Processor @ 533 MHz a prototype of the smart camera, 56 MB SDRAM, x 100BaseT Ethernet, PCI two 1 GHz Pentium-III PCs ATEME IEKC64 (x) Case Executed by Texas Instruments TMS30C6416 @ 600 MHz 64 MB SDRAM National Semiconductor LM9618 CMOS image sensor WaveCom GSM/GPRS module PC JDK 14 PC JamVM SmartCam JamVM 1a (6 Ag) 0 ms 14 ms 79 ms 1b (3 Ag) 14 ms 7 ms 55 ms 9 ms a Merge Solutions (6 Ag) 766 ms 485 ms 1363 ms 360 ms b Merge Solutions (3 Ag) 3a Overall allocation determination (6 Ag) 9 ms 5 ms 31 ms 4 ms 4866 ms 144 ms 373 ms 3b Overall allocation determination (3 Ag) 3 ms 1 ms 86 ms 13 ms 4 Reusing allocations (6 Ag) 14 ms 3 ms 17 ms 6 ms Backup network connection Outlook Evaluate more complex scenarios Real-world tests Integrate learning agents to optimize the reallocation behavior Performance optimizations 13 ms 786 ms Supports Class 10 data transfers SmartCam Native/C++