See discussions, stats, and author profiles for this publication at: https://www.researchgate.net/publication/255839643 Slides of PhD defense Data · August 2013 CITATIONS READS 0 64 1 author: Sebastian Götz Technische Universität Dresden 92 PUBLICATIONS 675 CITATIONS SEE PROFILE Some of the authors of this publication are also working on these related projects: SFB 912 - HAEC - Highly Adaptive Energy-efficient Computing - B01 - Energy-aware Software Architectures View project self-modeling systems View project All content following this page was uploaded by Sebastian Götz on 01 June 2014. The user has requested enhancement of the downloaded file.
Department of Computer Science, Software Technology Group Multi-Quality Auto-Tuning by Contract Negotiation Verteidigung der Dissertation von Dipl.-Inf. Sebastian Götz Betreuer: Prof. Dr. rer. nat. habil. Uwe Aßmann Zweitgutachter: Prof. Dr. rer. nat. habil. Heinrich Hußmann Fachreferent: Prof. Dr. rer. nat. habil. Dr. h. c. Alexander Schill 17.07.2013
Motivation Example : Audio-Processing (https://auphonic.com/) Qualities, Quality of Service (QoS), Non-functional Properties (NFPs) Configuration params ? ? ? ? Generate Sound Leveler Effects ? ? ? ? Loudness Noise Adjustment Reduction Change Change audio file Change 17.07.2013 Multi-Quality Auto-Tuning by Contract Negotiation Slide 2
Context: Self-adaptive Systems Goal : Self-adaptive Systems (SAS) Robert Laddaga 1997: "Self Adaptive Software evaluates its own behavior and changes behavior when the evaluation indicates that it is not accomplishing what the software is intended to do, or when better functionality or performance is possible . “ [L97] Autonomic Manager Analyze Plan Knowledge Monitor Execute MAPE-K Loop [KC03] 17.07.2013 Multi-Quality Auto-Tuning by Contract Negotiation Slide 3
Context Which variant of which software should be used? How good is each variant in comparison to the others? QoS Demands Objectives How to achieve the best possible user satisfaction for the least possible cost ? UMTS/LTE Internet Which resources should be utilized? W-LAN LAN 17.07.2013 Multi-Quality Auto-Tuning by Contract Negotiation Slide 4
Motivation • User objectives relate to qualities : energy, performance, domain-specific qualities as noise-levels, etc. • Often multiple, competing qualities are to be considered in combination [ST09] A novel approach to design & operate self-optimizing systems covering multiple objectives . Multi-Quality Auto-Tuning (MQuAT) 17.07.2013 Multi-Quality Auto-Tuning by Contract Negotiation Slide 5
Problems / Related Work Problem 1 : Developers cannot reuse solutions to build self-optimizing systems although many specific approaches exist. • Fixed set of considered properties (e.g., bandwidth, response time) • Fixed architecture (e.g., specific to servers, mobile phones or cars) • Fixed optimization technique (e.g., integer linear programming) Goal : A generic approach to self-optimizing systems. Solution : A model-driven development approach to self-optimization • A component-based metamodel enabling the developer to specify the properties of interest and the system‘s architecture. • Technology bridges to utilize multiple optimization techniques (generation of optimization problems). 17.07.2013 Multi-Quality Auto-Tuning by Contract Negotiation Slide 6
Optimization Problem Description Data-flow Graph ? ? ? ? ? ? Generate Sound Leveler Effects ? ? ? Noise Synchronization Reduction ? ? ? Tree … Machine #1 Machine #2 Machine #3 … CPU CPU Board #1 Arm RAM RAM Leg Net CPU Net RAM Net 17.07.2013 Multi-Quality Auto-Tuning by Contract Negotiation Slide 7
Problems / Related Work Problem 2 : Existing (specific) approaches do not cover dependencies between qualities. • Quality-contract-based approaches • COMQUAD QoS characteristics (e.g., response_time < 5ms ) [RZ03] • THESEUS SLAs; QoS intervals (e.g., 2ms < response_time < 5ms ) [S10] • No context-dependent QoS statements (e.g., response_time(size) = f(size) ) • Both projects identified the need to cover QoS dependencies [ZM03, S10] Goal : Explicit coverage of (context-dependent) interaction between qualities. Solution : • An extended notion of quality contracts and • A process for quality contract refinement. 17.07.2013 Multi-Quality Auto-Tuning by Contract Negotiation Slide 8
Problems / Related Work Problem 3 : Competing qualities demand for multi-objective optimization having a high computational complexity (NP-hard) [NW99] • Multi-objective approaches (e.g., OCTOPUS) • „a priori“: aggregation of objectives prior to optimization • „a posteriori“: optimization delivers set of multi-dimensional solutions (Pareto front) • Optimization at runtime requires feasible, assessable time requirements Goal : A generic, assessable runtime multi-objective optimization approach. Solution : • 4 runtime technology bridges to multi-objective optimization techiques. • Scalability analysis of supported techniques. 17.07.2013 Multi-Quality Auto-Tuning by Contract Negotiation Slide 9
Problems / Related Work Problem 3 : Competing qualities demand for multi-objective optimization having a high computational complexity (NP-hard) [NW99] • Multi-objective approaches (e.g., OCTOPUS) • „a priori“: aggregation of objectives prior to optimization • „a posteriori“: optimization delivers set of multi-dimensional solutions (Pareto front) • Optimization at runtime requires feasible, assessable time requirements Goal : A generic, assessable runtime multi-objective optimization approach. Solution : • 4 runtime technology bridges to multi-objective optimization techiques. • Scalability analysis of supported techniques. 17.07.2013 Multi-Quality Auto-Tuning by Contract Negotiation Slide 10
Overview Genericity / QoS Runtime MOO Reuse Dependencies Part 1: Development Part 2: Runtime System Code QoS Running Models Contracts Bench- Components marks Developer Runtime Model Refine- CCM QCL ment Runtime Optimization ( Contract Negotiation ) Hardware Request Infrastructure Multiple Objective Multiple Function Computation Users Objectives 17.07.2013 Multi-Quality Auto-Tuning by Contract Negotiation Slide 11
PART 1: DEVELOPMENT 17.07.2013 Multi-Quality Auto-Tuning by Contract Negotiation Slide 12
Cool Component Model [GWS+10] SAS Layer Requests Reconfigurations Workloads Quality <<refined by>> Structure Models Contract (i.e., types) Language <<instance of>> Cool Variant Models Core Layer Component (i.e., instances) runtime Model <<enrich>> Behavior Models Base Layer Expressions Units DataTypes 17.07.2013 Multi-Quality Auto-Tuning by Contract Negotiation Slide 13
Cool Component Model [GWS+10] • Example CCM Structure Model for Servers: <<container>> Server 1..* 1..* CPU 1..* Net RAM 1..* DbxCard 1..* free : GB = total – used clock_rate: GHz bandwidth : Mb/s time : Second performance : FLOP/s used : GB threshold : dB cpuLoad : Percent total : GB amplification : dB cpu_time : Second throughput : GB/s • Example CCM Structure Model for Sort: • Example Unit Library library { NoiseReduction simple unit Watt : Integer apply simple unit Second : Integer; <meta> audio_length : Second simple unit dB : Real; response_time : Second complex unit Joule = Watt Second; noiseReductionLevel: dB factor KW = 1000 Watt; } 17.07.2013 Multi-Quality Auto-Tuning by Contract Negotiation Slide 14
Quality Contract Language [GWC+12a] Contracts characterize implementations 1 contract Dbx implements NoiseReduction.apply { 2 Quality Modes 3 mode professional { 4 requires component SpecialNoiseReduction { Software Dependencies 5 min capability: 100 [percent] 6 } 7 8 requires resource DbxCard { Resource Dependencies 9 min <time> ( audio-length ) [ms] 10 } 11 Quality Provisions 12 provides min noiseReductionLevel: 25 dB 13 provides min <response_time>(audio_length) [s] 14 } 15 Quality Modes 16 mode amateur { 17 /* More requirements and provisions here ... */ 18 } 19 } 17.07.2013 Multi-Quality Auto-Tuning by Contract Negotiation Slide 15
Contract Refinement [GWC+12b] • Target systems and user input are unknown to developer. • Developer creates contract templates : contract Dbx implements NoiseReduction .apply { NoiseReduction apply mode professional { <meta> audio_length : Second ... provides min response_time : response_time : Second <response_time>(audio_length) [s]; noiseReductionLevel: dB } ... } • Developer creates Benchmark Suite using Profiler Framework [WGR13] for (i = 0; i <= N; i++) { Profiler.getProfiler („ response_time “). start(); dbx.apply(sample_files[i]); Profiler.getProfiler („ response_time “).stop(); } 17.07.2013 Multi-Quality Auto-Tuning by Contract Negotiation Slide 16
Recommend
More recommend