Outline - MICREL
Transcript
Outline - MICREL
Energy Efficient System Design for Pervasive Computing and Ambient Intelligence Elisabetta Farella Davide Brunelli Andrea Acquaviva efarella|dbrunelli|[email protected] DEIS – University of Bologna 19 Marzo 2004 Corso di Metodologie di Programmazione HardwareSoftware Outline • Ambient Intelligence (AmI) in general • Building blocks: Enabling technologies – Many different data: audio, video, motion… – Key - point: energy efficiency Applications: ¾ Interaction with (Wireless) Personal Devices ¾ Natural Interfaces ¾ Context-Aware Computing 19 Marzo 2004 Corso di Metodologie di Programmazione HardwareSoftware 1 Outline: Applications • Interaction through (Wireless) Personal Devices – PDA & VR – mobile systems & 3D graphics • Natural Interfaces – MOCA • Intuitive Interfaces – Context Aware Computing – Localization (IEEE 802.11b, RF modules, Bluetooth) 19 Marzo 2004 Corso di Metodologie di Programmazione HardwareSoftware Intelligent media environment Ambient Intelligence electronic environments that are sensitive and responsive to the presence of people AmI = Ubiquitous computing + intelligent social user interfaces AmI at Philips, a video: http://www.date-conference.com/conference/2003/keynotes/ 19 Marzo 2004 Corso di Metodologie di Programmazione HardwareSoftware Ambient intelligence envisions a world where people are surrounded by intelligent and intuitive interfaces embedded in the everyday objects around them. These interfaces recognize and respond to the presence and behavior of an individual in a personalized and relevant way. 2 Ambient Intelligence Technology is - Invisible – Use/functions are immediately apparent - Ubiquitous: – Available anywhere, integrated in physical environment & object around us - Intelligent: - Relevant to user & context- a ware - Unobtrusive - Providing meaning (knowledge vs information) 19 Marzo 2004 Corso di Metodologie di Programmazione HardwareSoftware Challenges (1) - Augmenting objects/environments with sensing, computing & networking capability - Sense & model the user’s behavior AND Infer the user’s current interests/intentions - Design (proactive) interfaces that offer value without being obnoxious, while being highly relevant - Integrate these interfaces in user’s physical environment in seamless, natural way: - On the body: cell phones, wearables - In the ennvironment: architecture, ether, objects 19 Marzo 2004 Corso di Metodologie di Programmazione HardwareSoftware 3 Challenges (2) • Multi-user support • Multimedia data support • Platform independence and management of hardware resources heterogeneity • Hybrid (wireless) communication interfaces 19 Marzo 2004 Corso di Metodologie di Programmazione HardwareSoftware Our approach • Leverage state of the art technology – Limited development of new hardware – COTS-centric approach • …but manage it effectively – Manage parsimoniously available resources (Power management) – Focus on software optimization – Build a reusable software infrastructure 19 Marzo 2004 Corso di Metodologie di Programmazione HardwareSoftware 4 Building blocks: Enabling technologies Energy efficient system design Corso di Metodologie di Programmazione HardwareSoftware 19 Marzo 2004 General picture SNAFI MOCA LP-LINUX VR& GAMES VIDEO STREAMING APPLICATION MIDDLEWARE OS HAL HARDWARE 19 Marzo 2004 Corso di Metodologie di Programmazione HardwareSoftware 5 Energy efficient system design • Operating system layer • Network layer •… • Cross-layer: – Server driven approach – Video streaming optimization techniques Corso di Metodologie di Programmazione HardwareSoftware 19 Marzo 2004 The Middleware infrastructure: LP-Linux operating system resource needs Power Manager Applications Kernel workload Device driver CLK speed, power states Hardware 19 Marzo 2004 Corso di Metodologie di Programmazione HardwareSoftware 6 LP-Linux: effectiveness Energy(J) 3 2,5 No Policy 2 DPM 1,5 DPM+DCS@191MHz 1 0,5 0 Comparison between policies for MPEGIII and Speech Recognizer • DCS = Dynamic Processor Clock Setting • DPM = Dynamic Power Management of Processor and Devices 30% power reduction for MP3 & ASR running together on HP’s SmartBadgeIV 19 Marzo 2004 Corso di Metodologie di Programmazione HardwareSoftware Energy-efficient MM streaming • Key issue: wireless communication is power-hungry (e.g., 1.5W for 802.11b) • Reduce power with controlled QoS degradation – Transport layer power optimization • Application independent – Server- driven power optimization • Application dependent 19 Marzo 2004 Corso di Metodologie di Programmazione HardwareSoftware 7 Communication channel idleness Shut-down NIC in idle period at the transport layer active mode Energy 300 ms for a Cisco Aironet Card sleep mode Time z Large overhead due to the network reassociation time z TCP idle periods are in the order of the RTT z We need coarser-granularity idle periods Monitoring TCP buffer occupancy 19 Marzo 2004 Corso di Metodologie di Programmazione HardwareSoftware Buffer Level TCP Buffer Occupancy Time ¾ ¾ ¾ ¾ Application consuming rate is slow wrt network bandwidth Very high average buffer occupancy The network interface is always on “Zero window” mechanism prevents receive buffer overflow 19 Marzo 2004 Corso di Metodologie di Programmazione HardwareSoftware 8 TCP Buffer full policy server ACK client ACK, Stop sending ACK, Keep sending ¾ Keep sending command against threshold crossing: “SWS avoidance” ¾ Buffer size and threshold are parameterizable ¾ The activity profile of the NIC is modified so to be energy-aware Buffer Level Card in sleep mode packet Time 19 Marzo 2004 Corso di Metodologie di Programmazione HardwareSoftware Energy Savings ¾ We run low-power TCP combined with MAC layer power management techniques, in-built in the NIC ¾ The same scaling properties are observed ¾ Our transport protocol optimization adds significant savings ¾ Performance penalty is minimal 19 Marzo 2004 Corso di Metodologie di Programmazione HardwareSoftware 9 Server-Driven Approach • The server decides the power management policy of WNIC – Enable/disable 802.11PM – Adjust 802.11PM parameters – Perform traffic reshaping and switch off WNIC during coarse idle periods • Advantages – Exploit server knowledge of workload – Discard useless broadcast traffic • Efficient trasmission scheduling in multiple client environments Corso di Metodologie di Programmazione HardwareSoftware 19 Marzo 2004 Client-server architecture SERVER PM PM INFO CLIENT PM SERVER TCP/IP HP’s SMARTBADGE4 POWER MANAGER SERVER APP DATA CLIENT APP APPLICATION • The power manager can be split in PM Server & PM Client 19 Marzo 2004 Corso di Metodologie di Programmazione HardwareSoftware 10 PM Policy BURSTS BROAD CAST SHUT-OFF BROAD CAST CARD WAKE-UP DELAY SHUT-OFF DELAY WAKE-UP WAKE-UP • The server performs traffic reshaping to create coarser idle intervals of the WNIC – Shut-off WNIC – Large intervals compensate for wake-up delay • No energy spent to listen for broadcast traffic discarded during off times 19 Marzo 2004 Corso di Metodologie di Programmazione HardwareSoftware Results WLAN Avg Power (mW) 1200 • 1st benchmark No PM 802.11b PM Server PM 1000 – 30 frame/sec – Highly variable decoding complexity – 40% of power reduction 800 600 400 200 0 size = 80 size = 70 WLAN Avg Power (mW) No PM 802.11b PM Server PM 1200 • 2st benchmark 1000 – 15 frame/sec – Low variable decoding complexity – 65% of power reduction 19 Marzo 2004 size= 50 BURST SIZE 800 600 400 200 0 size = 80 size = 70 size= 50 size=20 BURST SIZE Corso di Metodologie di Programmazione HardwareSoftware 11 Video Capture A cross-layer research project 19 Marzo 2004 Corso di Metodologie di Programmazione HardwareSoftware Video Acquisition & Transmission Microprocessor-based General-purpose Wearable System + USB Video Camera Wireless NIC General-purpose OS Device Drivers Application Software 9 Low-cost 9 Commercial off-theshelf 9 No dedicated HW ¾ High Performance? ¾ Low-Power? 19 Marzo 2004 Corso di Metodologie di Programmazione HardwareSoftware 12 Hardware Platform 19 Marzo 2004 Corso di Metodologie di Programmazione HardwareSoftware Software Optimizations Driver/OS level ¾ LOCAL OPTIMIZATION Float-fixed point conversion (for architecture with no HW FPU) ¾ EFFICIENT TASK DISTRIBUTION move YUV/RGB conversion from wearable video acquisition server to remote video client Application level ¾ EFFICIENT TASK SYNCHRONIZATION exploit buffering to decouple dependent task and maximize processor utilization 19 Marzo 2004 Corso di Metodologie di Programmazione HardwareSoftware 13 Software Versions Release 1: 9 flot – fixed point conversion 9 1.5 fps hi-res, 5.5 fps lo-res Release 2: 9 Remote YUV-RGB conversion 9 4 fps hi-res, 16 fps lo-res Release 3: 9 Efficient buffering & task sinchronization 9 8.5 fps hi-res, 31.5 fps lo-res Corso di Metodologie di Programmazione HardwareSoftware 19 Marzo 2004 Results We get a frame rate of 31 frame/sec in Low-Res and of 8.5 in High-Res We obtain a performance speedup of a factor of 5 with a negligible increase of power consumption f r a m e r a t e ( f p s ) 35 30 25 20 Rels. 1 Rels. 2 Rels. 3 15 10 5 0 352*288 176*144 P o w e r ( W ) 3,5 3 2,5 Rels. 1 Rels. 2 Rels. 3 2 1,5 1 We improve the energy efficiency of the system of about 80% 0,5 F r a m e P o w e r ( W ) 0 2 1,8 1,6 1,4 1,2 1 0,8 0,6 0,4 0,2 0 19 Marzo 2004 352*288 176*144 We obtain performance/power by optimizing the system software at Rels. 1 Rels. 2 Rels. 3 352*288 176*144 driver and application level Corso di Metodologie di Programmazione HardwareSoftware 14 Outline: Applications • Interaction through (Wireless) Personal Devices – PDA & VR – mobile systems & 3D graphics • Natural Interfaces – MOCA • Intuitive Interfaces – Context Aware Computing – Localization (IEEE 802.11b, RF modules, Bluetooth) 19 Marzo 2004 Corso di Metodologie di Programmazione HardwareSoftware Interaction with (Wireless) Personal Devices PDA & VR Mobile systems+3D graphics Collaborative systems 19 Marzo 2004 Corso di Metodologie di Programmazione HardwareSoftware 15 Enabling technologies: Hardware Components GPRS, Bluetooth, IEEE 802.11b Immersive technologies, Projection screen, CAVE Mobile low-power terminals 19 Marzo 2004 HW for 3D models + real-time rendering Corso di Metodologie di Programmazione HardwareSoftware Enabling technologies: middleware Java Server Application Java Application Java Native Interface - JNI RMI + JNI Java Virtual Machine Multi – client WINDOWS CE Object selection manipulation POCKET PC Client 19 Marzo 2004 Syncronization images and text P2P communication C Layer Vega Performer OpenGL IRIX Hardware Server Corso di Metodologie di Programmazione HardwareSoftware 16 Enabling technologies: middleware Actor- based Architecture • Implementation of a communication layer supporting a flexible and performant interaction for heterogeneous (and mobile) systems Simple Network Architecture for Fast Interaction (SNAFI) Sender Receiver Actor Actor TCP / UDP Actor Actor Receiver Sender Actor Corso di Metodologie di Programmazione HardwareSoftware 19 Marzo 2004 Performance Comparison 120 32768 100 Lag (msec) 80 SNART SNAFI 60 RMI 16384 40 8192 20 4096 2048 2 0 1 4 8 16 10 32 64 128 256 512 100 1024 1000 10000 100000 Size (byte) 19 Marzo 2004 Corso di Metodologie di Programmazione HardwareSoftware 17 Test-beds a. Interaction with Immersive Virtual Environment through PDAs b. Remotization of game interfaces 19 Marzo 2004 Corso di Metodologie di Programmazione HardwareSoftware Virtual Reality • VR effectiveness: – Immersive experience – Sense of Presence – Real-time Interaction 19 Marzo 2004 Corso di Metodologie di Programmazione HardwareSoftware 18 Interaction in IVR • User interaction in IVR and environments traditionally based specialized devices AR on – Small niche market (consequences on costs, optimisation) optimisation) – Avarage user (especially in CH) not familiar with VR interfacing devices (learning time) – Tethered – limited freedom of movement • invasive GUI – 2D in 3D world (sense of presence and immersion) – 3D widgets or virtual interaction devices 19 Marzo 2004 Corso di Metodologie di Programmazione HardwareSoftware … introducing mobile devices: PDA, cell phones…. • Familiar interfaces for a large user basis • Price decreasing while quality, reliability and usability improving (consumer market pros) • Personal and wearable, increasing Hw/Sw resources • Easy interaction with large amount of data and alphanumeric information • Wireless networking (IEEE 802.11b, GPRS, Bluetooth). 19 Marzo 2004 Corso di Metodologie di Programmazione HardwareSoftware 19 …improving interaction • Enabling peer-to-peer, many to many communication of multiple users sharing the same environment: collaborative fruition of VH content • Applications: – Virtual Archaeology – Virtual Museums – Edutainment – Entertainment 19 Marzo 2004 Corso di Metodologie di Programmazione HardwareSoftware …challenges • Use of ubiquitous and wireless technologies = – Limited software/hardware resources of mobile devices – Heterogeneity – Real-time performance to guarantee on wireless networks 19 Marzo 2004 Corso di Metodologie di Programmazione HardwareSoftware 20 Case study • Wireless Interaction Platform (for navigation and IVE control) • Multimedia support (e.g. 3D model validation through video, images, text collected during excavation) • Cooperation (multiclient features) 19 Marzo 2004 Corso di Metodologie di Programmazione HardwareSoftware Case study • Wireless Interaction Platform • Multimedia support • Cooperation (multi- client features) See video demonstration at http://wwwmicrel.deis.unibo.it/~farella/research.html 19 Marzo 2004 Corso di Metodologie di Programmazione HardwareSoftware 21 Remotization of game interfaces • VR&PDA : enabling interaction with high-end graphics hw-sw (Virtual Theater & co) with low-end interaction device (PDA) • A step forward: consumer platform for 3D graphics 19 Marzo 2004 Corso di Metodologie di Programmazione HardwareSoftware Current wk: Remotization of game interfaces ¾ Low/Medium end visualization hardware ¾ Exploit low-cost high-performance graphics cards ¾ Exploit software infrastructure of game engines ¾ 3D Game Studio ¾ Quake ¾ Advanced Game Studio (2D) 19 Marzo 2004 Corso di Metodologie di Programmazione HardwareSoftware 22 SW Architecture Scene Rendering Game Engine DLL plugin Network Framework Multimodal Interaction Mobile and Wearable Devices 19 Marzo 2004 Corso di Metodologie di Programmazione HardwareSoftware Interface & Feedback Manager Example video Multiplayer interaction Sharing the Scene 19 Marzo 2004 The interaction GUI is on the mobile terminal (+ sense of presence Corso di Metodologie di and immersivity) Programmazione HardwareSoftware 23 Enhancing interaction through natural interfaces Gesture, voice, gaze… MOCA 19 Marzo 2004 Corso di Metodologie di Programmazione HardwareSoftware Motivation • Desktop PC traditional interfaces (mouse, keyboard) are not targeted for interaction with mobile and wearable devices • Research solution: Natural interfaces – Speech – Gaze, Facial Expression – Gestures/Motion tracking (app. VR, Gaming, Security) 19 Marzo 2004 Corso di Metodologie di Programmazione HardwareSoftware 24 Requirements • Available Motion Tracking technologies target animation of synthetic characters – High-accuracy (<cm) but complex calibration processes – High-costs (>50K$) – Requires infrastructure and Limited operating range • Enabling gesture interfaces for mobile devices- > tracing moving body parts in real- time with – – – – – Reduced Accuracy Low-power consumption Limited processing capabilities Unconstrained mobility Low-cost (consumer market) 19 Marzo 2004 Corso di Metodologie di Programmazione HardwareSoftware Solution Proposed: MOCA MOtion Capture with Integrated Accelerometers • Low-power/ Low-cost components • Mobile and wearable • General purpose (angle & inclination) • Not accurate as traditional techniques but good enough for our purpose (gesture recognition) • Real-time 19 Marzo 2004 Corso di Metodologie di Programmazione HardwareSoftware 25 System architecture Sensing Unit Acquisition Unit Bluetooth, GPRS, wLAN… RS232 Lab Prototypes Mobile Local Processing Unit JAVA control application Localization algorithm • Flexible system enabling many applications: – Mobile terminal as target for data acquired by sensors – Overall system as interaction device with an external system 19 Marzo 2004 Corso di Metodologie di Programmazione HardwareSoftware MOCA challenges • Resource constrained wearable devices for gesture recognition pose some design challenges – Throughput enhancement – Reduced computing load – Accuracy optimization 19 Marzo 2004 Corso di Metodologie di Programmazione HardwareSoftware 26 Throughput Enhancement Tst=Time for sampling, convert and trasmit data Vx, Vy, Vz voltages from sensing units Sensing Unit (SU) vx vy MUX vz 10 bit A/D internal converter UART ~ 100 µs/conversion=> Tst ~ 300/350µs considering 1 SU • Time increases with number of SU Corso di Metodologie di Programmazione HardwareSoftware 19 Marzo 2004 Throughput Enhancement Tst=Time for sampling, convert and transmit data Vx, Vy, Vz voltages from sensing units ~ 10 µs/conv 16 bit A/D external converter vz Sensing Unit ~ 100 µs/conv vy MUX 10 bit A/D internal converter UART vx Tst ~ 250 µs => spared 100µs for each Sensing Unit • Throughput increased • Minimum cost and power consumption added 19 Marzo 2004 Corso di Metodologie di Programmazione HardwareSoftware 27 Tracking Algorithm: Limited Computing Load u =position vector; a=[ax ay az] • a=ϋ u ->∫∫(a) 1. ∫ Increases noise effect on measures 2. Need to periodically reset the system 3. Computational load • Geometric approach: inclination measure 1. g main contribution to a (steady - state) 2. Position derived through trigonometric functions of ax ay az in 1 or more points 3. Examples: 1Dof and 2 DoF 19 Marzo 2004 Corso di Metodologie di Programmazione HardwareSoftware Both-Near-Sides method • • • • 2 sensing units for 1 Dof Accelerometers placed close around a joint (knee, elbow, shoulder): distance between them assumed = 0 Steady - state- >main contribution is vector g Angle θ calculated through: 19 Marzo 2004 θ ay1 ax1 a1 ay2 a2 ax2 Corso di Metodologie di Programmazione HardwareSoftware 28 2 Dof specialized method • • • 2 DoF algorithm: acceleration value in one point to measure rotation angles (around 2 indipendent axes) Only 1 accelerometer for 2 angles Examples: forearm A Zero position must be established (a decomposition of vector g) g α β g x y z: reference coordinate X1 Y1 Z1: rotating coordinate ax1 ay1 az1: sensor measurement axes Corso di Metodologie di 19 Marzo 2004 Programmazione HardwareSoftware Accuracy optimization • Inclination of steady object: • When the angle between g and z is small the accuracy of the sensing unit drops. Solution: exploit accelerometers redundancy 19 Marzo 2004 Corso di Metodologie di Programmazione HardwareSoftware 29 Hardware – Software Setup AD Converter Accelerometers 16 bit, 200 ksps Serial Communication RS232 4 Sensing Units 115 kbps Programming Module Microcontroller Corso di Metodologie di Programmazione HardwareSoftware 19 Marzo 2004 Experimental Results (I) Power Contributors System Components Prototype Power Consumption in mA Sensing Unit 12 Acquisition Board 46 Microcontroller 10 ADC 15 MAX232 15 Total current absorbed ~60 (6V) Reduced Number of Components: Limited Costs, size, weight, power With ordinary batteries (e.g. 750 mAh): 12 hours of continous operativity 19 Marzo 2004 Corso di Metodologie di Programmazione HardwareSoftware 30 Experimental Results (II) Accuracy as function of the angle +/- 3 degree 20 config. in 180° 19 Marzo 2004 Accuracy adequate for GESTURAL INTERFACES Corso di Metodologie di Programmazione HardwareSoftware Angle Experimental Results (III) Dynamic Performance Satisfying Dynamic Performance ( 3 rad/sec ) to guarantee correct measures for typical human body movements Time (in number of samples) 19 Marzo 2004 Sample rate: 2000 sample/sec Corso di Metodologie di Programmazione HardwareSoftware 31 On-going work • Recognition of left and right rotation of the wrist • 99% of cases distinguished with accuracy • Could represent – Left and right mouse click – User request of moving left and right in a Virtual World 19 Marzo 2004 Corso di Metodologie di Programmazione HardwareSoftware MOCA enhancement • A wireless sensors network on the user body tranceiver Sensor (triaxial accelerometer) MICRO antenna 19 Marzo 2004 Corso di Metodologie di Programmazione HardwareSoftware 32 MOCA enhancement: T-MAC for Wireless Sensor Networks • Study of Low - Power Communication Protocols among many RF units • Implementation of -T MAC protocol (a variant of S MAC) by Delft University which reduces the amount of energy wasted on idle listening • Good when low message rate, insensitivity to latency • Future work: Implementation of a low - power wireless sensors network facing the challenge of continuous stream of data from nodes P = 90mW max 19 Marzo 2004 Corso di Metodologie di Programmazione HardwareSoftware Context Aware Computing • Localization (IEEE 802.11b, RF modules, Bluetooth) • Profiling 19 Marzo 2004 Corso di Metodologie di Programmazione HardwareSoftware 33 Absolute position RF tracking Characteristics – Leverages existing Wireless Interfaces • 802.11 WLAN • RF (868MHz) low power radio – Suitable for indoor tracking – Accuracy: 1-3 meters (under test) Pmax = 90mW 19 Marzo 2004 Corso di Metodologie di Programmazione HardwareSoftware Absolute position RF tracking • Target: localizing a mobile terminal connected in ad - hoc network through wireless interface IEEE 802.11b in an indoor environment • Experimental setup: 4 PDAs (running Linux O.S) in ad - hoc network equipped with NICs. One is the targeted terminal. • Exploitation of data collected by each PDA • Technique: exploiting the power level received by the targeted mobile terminal to estimate the distance from the others 19 Marzo 2004 Corso di Metodologie di Programmazione HardwareSoftware 34 Experimental results Study of Room Coverage through Wi-Fi Y X N E W S Progetto di Meliota Alessandro e Scipioni Marco 19 Marzo 2004 Corso di Metodologie di Programmazione HardwareSoftware On-going test-bed: Remote interface + localization • The real position of each player affects the state of the game -> Context aware interfaces -> Location aware personalized services. Example: game graphics visualized on the closest display w.r.t. the player 19 Marzo 2004 Corso di Metodologie di Programmazione HardwareSoftware 35 “Profiling”… Many Different Resources Many Different Users 19 Marzo 2004 Corso di Metodologie di Programmazione HardwareSoftware 3D API for mobile terminals • Development of 3D graphic primitives to visualize simplified virtual world on the cell phone or PDA • Example of usage: when the player moves from a room to another can display the scene on his mobile terminal • Optimization for limited resources hardware (e.g. fixed point arithmetics) to enhance real-time performance 19 Marzo 2004 Corso di Metodologie di Programmazione HardwareSoftware 36 Thank you This presentation will be downloadable soon on the course Web site: www-micrel.deis.unibo.it 19 Marzo 2004 Corso di Metodologie di Programmazione HardwareSoftware 37