Swank The Fault-Tolerant, Multithreaded, High-Performance Surveillance Server for Growing Businesses An Integral Component of Surveillance@Home Sean Leonard 6.033 Computer Systems Engineering Spring 2004, 3/17/2004 Design Project 1 Recitation #4, TR11am Recitation Instructor: Prof. Michael Ernst Teaching Assistant: Kathryn Chen Abstract Corporate properties require wide surveillance, but traditional surveillance systems are expensive. Swank provides a robust, scalable, fault-tolerant, and low-cost alternative for wide-area surveillance. Swank’s three modules continue to process under widely varying camera loads, unstable algorithms, and inconsistent spotters. This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivs License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/2.0/ or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.Sean Leonard TR11: DP1 3/17/2004 Page 2 of 24 Table of Contents Executive Summary...........................................................................................................................................4 Problem, Constraints, and Solution Overview..........................................................................................4 System Design, Reliability, and Performance............................................................................................ 5 ES.1. Kernel and Hardware Specifications..........................................................................................5 ES.2. ReadCameras ................................................................................................................................. 6 ES.3. Transcode/Detect.........................................................................................................................7 ES.4. SwankWeb..................................................................................................................................... 7 ES.5. Performance................................................................................................................................... 8 Conclusion ..................................................................................................................................................... 8 1. Introduction...................................................................................................................................................9 2. Design Overview............................................................................................................................................9 2.1. Modularity in Design ............................................................................................................................ 9 2.2. Three Components ............................................................................................................................... 9 2.3. Multiple Connections............................................................................................................................ 9 2.4. Monitor Above, Kernel Below...........................................................................................................10 3. Design Description......................................................................................................................................11 3.1. Details of the Kernel and Protocol Stack .........................................................................................11 3.2. Initial Process Evolution.....................................................................................................................12 3.2.1. Swank Initialization.....................................................................................................................12 3.2.2. SwankWeb Initialization............................................................................................................13 3.2.3. ReadCameras Initialization ........................................................................................................13 3.3. Details of ReadCameras......................................................................................................................13 3.4. Details of Transcode/Detect..............................................................................................................15 3.5. Details of SwankWeb .........................................................................................................................16 4. Design Tradeoffs and Performance ..........................................................................................................19 4.1. ReadCameras round-robin scheduling and camera connections...................................................20 4.2. Shared pipe reset..................................................................................................................................20 4.3. Priority queue, lock-blocking, and wt80...........................................................................................20 4.4. Performance for a data sequence........................................................................................................21 5. Conclusion....................................................................................................................................................22 6. References.....................................................................................................................................................23 6.1. Acknowledgements..............................................................................................................................23 6.2. References.............................................................................................................................................23Sean Leonard TR11: DP1 3/17/2004 Page 3 of 24 List of Figures Figure 1: A complete Swank system diagram, with purposes of and connections between ReadCameras, Transcode/Detect, SwankWeb, and the system hardware. Each module pictured occupies a separate address space. The kernel and guardian process are not explicitly pictured; see Section 2.4 on page 11 for details. ...................................................................................................................4 Figure 2: Additional and clarified functions in Swank
View Full Document