Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
BEing on Time Saves energY The BETSY Framework ΕΚΕΦΕ Δημόκριτος, 23/5/2007 Δημήτριος Βογιατζής Overview 1.Project overview 2.Summary 3.Project objectives 4.Methodology 5.Framework 6.Conclusions 2 BETSY strep project Sep 2004 – Mar 2007 Participants • • • • • • • • NXP – Netherlands CSEM - Switzerland IMEC - Belgium ISI - Greece TUK - Germany Siemens C-Lab - Germany TU/e - Netherlands University of Cyprus - Cyprus 3 Example of home network 4 Example of a hotspot 5 BETSY (BEing on Time Saves energY) • BETSY aimed to deliver the theory, models & design methods to make • trade-offs between – network & terminal resource consumption – power consumption of the terminal – timeliness of the streaming data 6 Summary • BETSY manipulates of video streams on wireless hand-held devices such that – hand-held devices seamlessly adapt to fluctuating network conditions and available terminal resources – energy consumption for processing the video is reduced • True multi-media experience the device is required to – handle trade-offs between the use and consumption of network and terminal resources such as bandwidth, CPU time, Buffer space, and power, and – to guarantee to end-to-end timeliness for the streaming data. • This leads to the following (next …) 7 Summary (cont.) • Provide an integrated approach to real-time requirements for dynamic networked streaming systems • Define a common resource model that can be used as an abstraction layer to hide lower level system parameters from higher level temporal descriptions and QoS strategies • Understand the trade-off in energy consumption at the overall system level & balance energy consumption over different sources of energy 8 Trade off triangle • Trade-offs between the use and consumption of network & terminal resources such as: – – – – Bandwidth CPU time Buffer space Power • Guarantee end-to-end timeliness for streaming data 9 Methodology • Design & reference implementation of an end-to-end quality-of-service framework • Timing model for a top-down approach • Resource model to calculate the proper distribution of computing resources: bandwidth & energy consumption • Verify timing & resource model framework populated by selected components or modules – Use the framework’s mechanisms to adapt the processing chain to changes in the resources • Framework & its components are implemented in a streaming server and mobile clients – evaluation scenarios 10 BETSY functions • Functions used by streaming applications • Breeze::= is a piece of content, processed by a sequence of functions for processing, storing and communicating data items in an end-toend delivery chain, on which only one entity is in control 11 BETSY functions II • • • • • • • • • • • Capturing Retrieving Recording Encoding Decoding Delay buffering Rendering Multiplexing Demultiplexing Transcoding Transporting 12 Relations between BETSY functions and data types •data types are represented as colored rectangles •functions are represented by the rounded rectangles •input and output data types with arrow from and to the data types 13 Energy Consumption Modelling • Desired energy models – Desired breeze parametersenergy – for • Separate functional components • Complete sub-breeze on one device – Alternative • Parameters = f(lower level interm.) • Intermediate params = f(lower level parm.) 14 Battery model Battery status power Battery Remaing life time 15 Network Model # streams max.packe t size bandwidth Network Bit rate per stream 16 MPEG-4 stream Model FR FS IP QP MPEG-4 Bit Rate MPEG-4 Quality Bit rate PSNR 17 Scenario I (Evaluation) 18 Composed model I FR FS IP QP available bandwidth 1 stream max.packe t size MPEG-4 Bit Rate MPEG-4 Quality Model Quality (PSNR) Encode, Mux, Transport required bandwidth Network sufficient available bandwidth 19 Scenario II Evaluation PDA (GUI) Requested Remaining Time (Camera-Param) Current Param (Camera) WLAN-Camera (battery driven) Display Access Point Battery Status, FR, FS Breeze Media Center (PC) Breeze’ Change FR, FS Current Meter Battery High/Low Switch 20 Composed Model II # streams (2) max.packe t size raw bandwidth QP IP FS Battery status FR Network Transport, Decode, Rendering (PDA) MPEG-4 Bit Rate Power Encode, Mux, Transport (Media Center) MPEG-4 Quality Model Battery bandwidth per stream sufficient bandwidth Quality Remaing life time 21 Composition Rules • To make trade-offs, – latency, energy, and quality models, have to be combined into a single all-encompassing model – The parameters are key to combining the models – three independent models, • Latency, Energy, & Quality, • each functional component, could be combined to a set of independent models for the entire breeze 22 Compositions Rules • Depending on the intended use of the model the required models of the parts can be composed into an end-to-end model • Models represents a set of configurations or tuples of attributes • The essential ingredients of model composition are – Cartesian product of tuples when two models are combined freely (without any constraints). – combinations matching on selected attributed (like the join of a relational database). For instance all components have to work with the same stream and hence share the same values for the FR, FS, IP and QP parameters. • IA so-called ’producer-consumer constraint’ expressing the matching connections between parameters of different models such as available bandwidth and required bandwidth (Pareto) optimization after combination and abstracting internal parameters can be used to reduce the set of candidate configurations 23 Composition Rules (cont.) FR FS IP QP %I Latency Model Energy Model Quality Model Latency Energy Quality 24 Software framework GRACE System Level MATRIX Global Coordinator PCES Resource Manager OZONE System Resource Manager Application Manager Mode Manager Subsystem / Device / Application Level Resource Level Application Coordinator Application Adaptor Scheduler/Adaptor Monitor& Predictor Monitor& Predictor Local Resource Manager Order Manager Local Scheduler Local Monitor Controller Resource Control Predictor Quality Manager RCE Controller Resource Manager 25 Software frameworks common characteristics • Recognize the benefits – – • application level adaptation & resource level management provide a sustained user-level quality of the multimedia flows Define a hierarchy of control elements based – • • structural and temporal scope differences of the controlled elements A root element with a global knowledge of the system status Resource managers / brokers at the base, which – • receive resource allocation commands & enforcing them Address QoS concepts at all domains, – – Resource-level QoS (for the network and the CPU resources) Application / video QoS (with the exception of PCES for an explicitly defined view of the latter) 26 Software frameworks differences • Design level differences at, – – • structure, number, scope & specific behavior of the intermediate control elements between the root system-level manager & resource brokers at the bottom of the hierarchy Engineering level differences at, – – definition of the details of the interfaces of their software components realization of the inter-component communication mechanisms, local or distributed, 27 Ozone Architecture Application Manager ApplicationManager : ResourceConsumerController Mode Manager ModeManager : ResourceConsumerController Quality Manager QualityManager : ResourceConsumerController RCE RCEControl : ResourceConsumerController RCE Control One-to-One mapping RCE Operation RCE Operation SF1 SF2 RCEOperation : StreamingFunction SF3 ResourceManager : ResourceServiceController Resource Manager : ResourceService 28 Distributed ozone architecture TERMINAL1 TERMINAL2 Application Manager Mode Manager Terminal Quality Manager RCE Terminal Resource Manager Subnet Quality Manager NCE Subnet Resource Manager Terminal Quality Manager RCE Terminal Resource Manager 29 Breeze Creation and Control Signaling (I) • User instructs the system to create a new breeze from a source to a number of sink devices, streaming a selected content with a possible set of preferences (quality, duration). • User interface translates the user’s input to a createBreeze() API signal, which actually transfers the request to a previously discovered BreezeManager in the distributed system. createBreeze(src, dests[], content, pref) UI BM 30 Breeze Creation and Control Signaling (II) • BreezeManager according to its global view of the system and its configuration decides on the acceptance of the breeze starts the creation of the configured elements in the appropriate devices (createElement() signal), connects them (connectElements() signal) according to the system configuration and returns to the user interface a global handle of the breeze for breeze handling (play(), pause(), stop() and destroy() signals). BM Create(), Connect(), Set()/Get()/Subscribe() BM BM X 31 Breeze Creation and Control Signaling (III) • Each element in the control / stream chain of the breeze, on reception of a connect() signal from the BreezeManager, invokes its own startup signals which are mainly a number of get()/set() and subscribe() API calls. • The control policy which the whole chain implements is then continuously running through the exchange of variable change events and set() / get() signals. Event() Controller Function Set() / Get() 32 Breeze Control Controller Stream Data Function Function Control Data Resource mappings RService Resource 33 Core Component Libraries • Components built in the framework: – BreezeChain and StreamingFunction interfaces for : • the VLC streaming framework (www.videolan.org) • the AXIS camera – Resource and ResourceService interfaces for: • • • • the CPU and the OS scheduler the network interface and the protocol stack the memory and the stream buffers the battery and the power consumption – Access and protocol interfaces for: • UPnP discovery, signaling and control • Raw TCP/UDP signaling and control 34 System-level Component Libraries • Components built with the framework for demonstration, validation and testing reasons: – A typical breeze manager – A set of breeze controllers implementing various control policies – A pareto modeling element – A set of low level resource modeling elements – A main user interface controller for device discovery, enumeration and breeze management – A resource monitoring infrastructure and display – A resource knob monitoring and control panel – A breeze knob monitoring and control panel 35 Main user interface • Enumerate existing devices, breezes and elements • Create and destroy breezes 36 Breeze knob panel • Monitor controller decisions and breeze adaptations • Freely control any of the available knobs 37 Breeze knob panel • Monitor controller decisions and breeze adaptations • Freely control any of the available knobs 38 Resource knob panel • Monitor resource status, controller decisions and resource adaptations • Freely control any of the available knobs 39 Resource consumption panel • Monitor resource consumption status as a result of controller decisions and various knob adaptations 40 Controller Example • • Controller (CTLS1) connected to the wireless LAN concrete resource interface (input), to a Pareto modeling element (ParetoM1) and to the encoding function of the source breeze chain (output) Based on the existence of an automatic rate fallback WLAN driver ParetoM1 Controller Encode WLAN 41 Controller Example • Signaling of CTLS1: – Receives an event for each raw bandwidth change, which actually captures a very fast change in the link quality. – Consults the pareto model to get the best configuration set for the encoder (FS, FR, IP, QP) – Adapts the encoding function by applying the new configuration set 2 ParetoM1 Controller 1 3 Encode WLAN 42 Framework overview • software framework for QoS and resource control in and end-toend stream delivery chain • Provides the infrastructure for implementations of functional entities/devices with the necessary interfaces to control the streaming and device resource parameters • Provides the means for end to end performance and resource consumption assessments for different trade-off handling and control policies • Abstracts the main building components needed by the control policies making extensive reuse possible and guaranteeing interoperability between devices of different vendors • Raises the domain of the problem hiding all technical details of distribution and inter-component communication, allowing the engineer to concentrate on the control policy and the trade-offs under study 43 Thank you 44 Wireless Network Savings • Resource consumption cost for each resource parameter over each resource • Important: study resource consumption behaviour of the transport function • Time, Energy: Primary resources – <= abstract resources: processing, storage, bandwidth • We have energy costs of a stream transition= f(costs of protocol processing, data packetisation, transmission) 45 Configurations, 100 kbit/s ([IP], [QP], [FS], [FR], PSNR, bit rate) ([IP8], [QP10], [QCIF], [12.5], 26.1, 24.9), ([IP16], [QP5], [QCIF], [12.5], 26.8, 47.7), ([IP16], [QP10], [CIF], [25], 28.6, 95.6), ([IP16], [QP10], [QCIF], [12.5], 26.1, 18.4), ([IP16], [QP15], [CIF], [25], 27.8, 67.8), ([IP16], [QP15], [CIF], [12.5], 26.2, 41.3), ([IP16], [QP15], [QCIF], [12.5], 25.6, 12.3), ([IP32], [QP5], [QCIF], [12.5], 26.8, 41.3), ([IP32], [QP10], [CIF], [25], 28.5, 77.6), ([IP32], [QP10], [QCIF], [12.5], 26.1, 15.2), ([IP32], [QP10], [QCIF], [5], 24.3, 9.3), ([IP32], [QP15], [CIF], [25], 27.8, 54.8), ([IP32], [QP15], [CIF], [12.5], 26.2, 35.0), ([IP32], [QP15], [QCIF], [12.5], 25.6, 10.1), ([IP32], [QP15], [QCIF], [5], 24.1, 6.08)} highest PSNR 46 Overview of Video Coding I-frames (Intra): exploit spatial correlation within the frame P-frames (Predictive): temporal correlation (prediction from previous frames) Higher compression efficiency 47 Impact of Intra/Predictive on Error Propagation Concealment of lost data: for example copy from previous frame Error propagates as later frames predict from wrong data Stop error propagation by inserting Intra information (no reference to previous frames) Lower compression efficiency of Intra -> Bit rate overhead Tradeoff error robustness and coding efficiency 48 Intra Frame insertion vs Gradual Intra Refreshment Using Periodical Intra frames Updating in every frame an Intra portion Intra Period T = 6 %Intra = 16% %Intra information has a big impact on the Quality-Rate 49 modeling under network errors