analysis and control of computing systems

42
CSC 591 - Analysis and Control of Computing Systems Computing Systems Norha M. Villegas First year PhD Student Instructor: Prof. Dr. Hausi Müller Computer Science Department

Upload: norhavillegas

Post on 11-May-2015

1.182 views

Category:

Technology


1 download

DESCRIPTION

The continuous evolution from software intensive systems to socio-technical ecosystems requires creative approaches where services and, interactions are implemented with awareness of, and dynamic adaptation to, not only the user and computational environment, but also changing policies and unknown requirements. In this endeavour, the capability of the system to adjust its behavior in response to its perception of the environment and the system itself in the form of fully or semi-automatic self-adaptation has become one of the most promising research directions. Consequently, understanding, modeling, acquiring, managing, and controlling dynamic computing systems is critical for implementing smart services and smart interactions effectively.In this directed studies, we will explore design and evolution of dynamic computing systems. In particular, we will investigate how to monitor, analyze, and control dynamic computing systems. Moreover, we will study techniques for instrumenting existing systems to monitor and control dynamic computing systems.

TRANSCRIPT

Page 1: Analysis and Control of Computing Systems

CSC 591 - Analysis and Control of

Computing SystemsComputing SystemsNorha M. VillegasFirst year PhD StudentInstructor: Prof. Dr. Hausi MüllerComputer Science Department

Page 2: Analysis and Control of Computing Systems

Agenda

• Dynamic computing systems and control theory overview

• Course overview

• Application of control theory to the control of dynamic

Rigi Research Group

2

• Application of control theory to the control of dynamic computing systems

• The application of control theory to the engineering of software systems

• Challenges ahead

• Summary and final remarks

Page 3: Analysis and Control of Computing Systems

Rigi Research Group

3

Page 4: Analysis and Control of Computing Systems

Dynamical Computing Systems

• Are highly dependent on the environment

▫ external context

▫ the computing system itself (internal context)

• Outputs depend on the system’s state

• The execution environment is not fully known in advance

Rigi Research Group

4

• The execution environment is not fully known in advance (design-time)

• Some design decisions must be pushed to run-time

• The system requires capabilities to reason about its own state and environment

• Are subject to continuous evolution▫ should be under constant development

▫ can never be fully specified

▫ require continuous adjustments and re-configuration

Page 5: Analysis and Control of Computing Systems

Complexity of Dynamic Computing Systems

The simultaneous explosion of information and integration of technology, and the continuous

evolution to Ultra Large Scale System

The proliferation of smart and context-aware applications, user centric-

services and ubiquitous environments

Software systems must become more versatile,

Rigi Research Group

5

The necessity of satisfying software requirements by regulating complex

and decentralized systems

The high dependency between changing business objectives and

software systems

become more versatile, flexible, resilient, self-

healing, configurable and optimizing

Bohem: A view of the 20th and 21st century of software engineering (2006); Northrop et al.: Ultra-large-scale systems – The software challenge of the future (2006)

Page 6: Analysis and Control of Computing Systems

Application of Control Theory

• Control theory is about addressing the dynamic nature of systems

▫ By regulating their dynamic characteristics

• Feedback control uses measurements of a system’s outputs to address specified goals

• Almost every automatic system implements feedback control

Rigi Research Group

6

• Almost every automatic system implements feedback control

• A feedback loop is the model used to automate the control of dynamic systems

Feedback loops are valuable for regulating the accomplishment of business level objectives through the regulation of computing and

software systems’ requirements, under uncertain and dynamic conditions

Page 7: Analysis and Control of Computing Systems

Controlling Dynamic Computing systems

Regulating the accomplishment of requirements and

Planning

Rigi Research Group

7

SymptomsPlans

requirements and business level

objectives, keeping the system

equilibrium

Execution

Monitoring

Analysis

Observations

Relevant ContextFeedback loops provide generic mechanisms for supporting the adaptation process of

dynamic systems: monitoring, analysis, planning and execution

Page 8: Analysis and Control of Computing Systems

Rigi Research Group

8

Page 9: Analysis and Control of Computing Systems

Learning Objectives

Rigi Research Group

9

To Explore the design and evolution of dynamic computing systems, as well as, the application of techniques for instrumenting existing software systems to monitor

and control their dynamic behaviourand control their dynamic behaviour

To understand the foundations of control

theory and the implications for their application to the monitoring, analysis, and

control of dynamic computing systems

To analyze existing control-based reference models,

reference architectures and software techniques

applicable to the control of dynamic software systems

To identify challenges related to the application of

control engineering to software engineering of

dynamic systems

Page 10: Analysis and Control of Computing Systems

Course Outline• Section 1: Feedback control of computing

systems▫ Introduction▫ Modeling and system identification▫ Input-output relationships▫ System modeling with block diagrams▫ Controllers, control analysis, and control

design

Rigi Research Group

10

design▫ State-space modelling

• Textbook: Hellerstein, J.L., Diao, Y., Parekh, S., Tilbury, D.M.: Feedback control of computing systems. John Wiley & Sons (2004)

• Hellerstein’s course – University of Washingtonhttp://research.microsoft.com/en-us/um/people/liuj/cse590k2008winter/default.aspx

Page 11: Analysis and Control of Computing Systems

Course Outline• Section 2: Application of control

engineering to software engineering

▫ Application steps

▫ Describing software systems in terms of control theory foundations

▫ Modeling the relationship between the

Rigi Research Group

11

▫ Modeling the relationship between the control input and measured output in software systems

▫ Designing software controllers

▫ Assessment

• Available on ConneX: https://connex.csc.uvic.ca/portal/site/eac7abb3-27a0-4a53-be0f-10525cabe46e?panel=Main

Page 12: Analysis and Control of Computing Systems

Foundations of control theory and feedback loops applied to

Rigi Research Group

12

Foundations of control theory and feedback loops applied to computing systems

Page 13: Analysis and Control of Computing Systems

Control System ArchitectureA SISO feedback control system

The goal: achieve a measured output according to the

control objectives (reference input)

Should be designed to

achieve the goal

Is dynamically changed to achieve

• Reference input: control objective

• Measured output: compared to the reference input

• Control error: difference between the reference input and the measured output

• Control input: signal(s) to affect the target system looking for a measured output closer to the reference input

• Disturbances and noise: affect the measured output

• Transducers: adapt signals for comparison

J. L. Hellerstein, Y. Diao, S. Parekh, and D. M. Tilbury, Feedback Control of Computing Systems. John Wiley & Sons. (2004)

changed to achieve the goal

Page 14: Analysis and Control of Computing Systems

Feedback Loops: examples from Nature

Rigi Research Group

14

Source: http://susty.com/tag/global-climate-change-feedback-loops/

Positive Feedback Loop: Global Warming �

http://www.anselm.edu/homepage/jpitocch/genbio/organizationnot.html

Homeostasis: + and – feedback loops to keep the equilibrium in the internal environment ☺

Page 15: Analysis and Control of Computing Systems

Control Objectives and Model Construction

• Controllers are designed for a specific purpose: control objective

• Three main control objectives strategies

Rigi Research Group

15

Strategy Name Description

Regulatory control Ensures that the measured output is as close as possible to the reference input

Disturbance rejection Controls the effects of disturbances on the measured output

Optimization Obtains the best value of the measured output (when the control input is not known in advance)

Page 16: Analysis and Control of Computing Systems

Control Objectives and Model Construction

• Modeling the input-output relationships of the target system

• It is crucial for controller design

• Hellerstein’s book focuses on modeling

Rigi Research Group

16

• Hellerstein’s book focuses on modeling techniques (mainly linear system theory) and their application to computing systems (queuing theory)

Page 17: Analysis and Control of Computing Systems

Rigi Research Group

17

In a feedback control the desired output is achieved by specifying the reference input (directly) instead of by manipulating the control input (indirectly)(indirectly)

The challenge: designing controllers to achieve the desired outputs

Page 18: Analysis and Control of Computing Systems

Properties of Control Systems Relevant for

Computing Systems

Stability AccuracyShort

SettlingSmall

Overshoot

Rigi Research Group

18

• Bounded inputs, bounded outputs

• Stable in operating regions

• Bounded inputs, bounded outputs

• Stable in operating regions

• The output converges to the reference input

• Control objectives are met

• The output converges to the reference input

• Control objectives are met

• Quick convergence

• Before the workload changes

• Quick convergence

• Before the workload changes

• Objectives achievement minimizing overshoot

• Caring of system degradation

• Objectives achievement minimizing overshoot

• Caring of system degradation

J. L. Hellerstein, Y. Diao, S. Parekh, and D. M. Tilbury, Feedback Control of Computing Systems. John Wiley & Sons. (2004)

Page 19: Analysis and Control of Computing Systems

Analyzing Control Properties: an unstable control

system

Rigi Research Group

19

Reference input0.5

CPU

utilization

Accuracy and small overshot are not

observed

• An improperly designed controller

• This feedback system is unstable: the controller overreacts to the CPU utilization

timeOpen loop Controller on

Page 20: Analysis and Control of Computing Systems

Analyzing Control Properties: a stable control

system

Rigi Research Group

20

Steady error -1rss-yss

Accuracy

Steady State

Stability

Short settlingMaximum overshoot

Initial Reference input 0.0

Reference inputSteady value 2.0

Settling time

Page 21: Analysis and Control of Computing Systems

Rigi Research Group

21

How to apply control engineering to the control of dynamic software systems, where the target system is not a physical system?

How to apply hybrid approaches (continuous and discrete) to the design of software controllers?

Page 22: Analysis and Control of Computing Systems

Issues in Controlling Dynamic Software Systems

Controllability

• Related to the properties of control systems

Observability

• Determination of the system’s state from measurements of the system

Stability

• Disturbances do not affect the system equilibrium

Robustness and efficiency

Autonomy

• Self-adaptive

Generality

• Knowledge bases should

Rigi Research Group

22

efficiency

• The controller’s ability to achieve the objectives even in larger environments

• Minimizing cost

• Self-adaptive• Self-configuring• Self-*

• Knowledge bases should evolve by incorporating new knowledge

Chattering

• Controlling the adaptation on state boundaries

• System performance

Scheduling and Efficiency

• Control the interactions and effects among multiple loops

Proactive reconfiguration

• Anticipating changes in the environment

• Prediction models

Passino, K. and Burgess, K.: Stability analysis of discrete event systems. John Wiley & Sons. (1998)

Page 23: Analysis and Control of Computing Systems

Identified Application Steps

Defining software control objectives

Describing the software system in

terms of control theory elements

Modeling the relationship between the control input and the measured output

Rigi Research Group

23

Designing the controller in terms of software components

Evaluating the control system (assessment)

Page 24: Analysis and Control of Computing Systems

Identified Application Dimensions

• Describing the software system in terms of control theory elements . Improving visibility of control in software systems

• Designing controllers in terms of software components• Control-based reference models, architectures, and patterns

• Describing the software system in terms of control theory elements . Improving visibility of control in software systems

• Designing controllers in terms of software components• Control-based reference models, architectures, and patterns

Software Design and Architectural perspective

Rigi Research Group

24

• Characterization of software components’ properties• Identification of variables and signals: properties to be

measured • Modeling the impact of control inputs on measured outputs

• Characterization of software components’ properties• Identification of variables and signals: properties to be

measured • Modeling the impact of control inputs on measured outputs

Model Definition (controller design)

• Simulation mechanisms to identify control parameters• Dynamic representation and management of control objectives• Dynamic monitoring mechanisms• Implementation of actuators and effectors• Controller complexity and trade-offs

• Simulation mechanisms to identify control parameters• Dynamic representation and management of control objectives• Dynamic monitoring mechanisms• Implementation of actuators and effectors• Controller complexity and trade-offs

Instrumentation

Page 25: Analysis and Control of Computing Systems

Engineering of Dynamic Software Systems

• The application control theory to software engineering requires:▫ Models and architectures to guide the design of controllers to

achieve dynamic system properties

▫ Explicit definition of feedback loops, their elements, and the

Rigi Research Group

25

▫ Explicit definition of feedback loops, their elements, and the interactions among them

▫ Dynamic management of control objectives

▫ Dynamic monitoring of internal and external context

▫ Dynamic adaptation of systems

Villegas, N.M., Müller, H.A., Tamura, G., Duchien, L., Casallas, R.: A Control Engineered Reference Model for Context-Based Self-Adaptation (2010)

Page 26: Analysis and Control of Computing Systems

Making Feedback Loops Explicit

• As feedback loops use to be hidden, there currently exists no explicit methods for analysis, validation, and verification of control mechanisms in dynamic software systems.

Rigi Research Group

26

• The explicitness of the feedback loops, their interactions and individual elements, renders the software reference models, architectures and designs, as analyzable, assessable and comparable software artifacts

Page 27: Analysis and Control of Computing Systems

Application of Feedback loops• Application of control theory to the engineering of dynamic software

and computing systems

• Feedback loops provide the generic mechanism for self-adaptation (collect, analyze, decide and act)

Rigi Research Group

27

SISO feedback control block diagram with explicit functional elements and corresponding interactions to control dynamic adaptation in a software system

Villegas, N.M., Müller, H.A., Tamura, G., Duchien, L., Casallas, R.: A Control Engineered Reference Model for Context-Based Self-Adaptation. (2010)

Page 28: Analysis and Control of Computing Systems

The Self-Controller Software Model

Rigi Research Group

28

Kokar, M.M., Baclawski, K., Eracar, Y.A..: Control Theory-Based Foundations of Self-Controlling Software (1999)

Page 29: Analysis and Control of Computing Systems

Feedback Control Architecture for Adaptive

Systems

• The control explicitness exposes obligations that fall on activities of design and development

• Design▫ Identification of control and

data elements▫ Control representation

Rigi Research Group

29

▫ Control representation▫ Selection of adaptation and

monitoring strategies• Analysis/V&V

▫ Validation of models and actuation plan

▫ Map the plan to available commands

• Implementation▫ Map from elements of design

to elements of implementation

Feedback control architecture proposed by Mary Shaw. Dagstuhl Seminar (2007)

Müller, H.A., Pezzè, M., Shaw, M.: Visibility of Control in Adaptive Systems (2008)

Page 30: Analysis and Control of Computing Systems

The Autonomic Element (MAPE-K loop)

Rigi Research Group

30

Kephart, J. O. and Chess: The vision of autonomic computing. (IBM - 2003)

Page 31: Analysis and Control of Computing Systems

Our Proposed Control-Based Reference Model

• Improving engineering of dynamic systems by making explicit:▫ Dynamic properties as

the control reference goals

Rigi Research Group

31

goals

▫ Separation of concerns among multiple feedback loops (at least three)

▫ Context management as an independent feed-back loop

Page 32: Analysis and Control of Computing Systems

Rigi Research Group

32

Definition and execution of the

Gathering and symptoms inference

Context Control Objectives

(from system control objectives)

Deciding about context manager

adaptation

Sensing and Preprocessing

Context management infrastructure

execution of the adaptation plan

Page 33: Analysis and Control of Computing Systems

Rigi Research Group

33

Provides context control

objectives

System’s context to support adaptation

monitoring

Enables objectives manager to decide about changes in control objectives

Supports the system adaptation

(context provisioning)

Page 34: Analysis and Control of Computing Systems

Our Reference Architecture for Control-Based Dynamic

Monitoring in SOA Governance

• Derived from our control-based reference model

• Applicable to the automation of run-time and change-time governance

• To assist the design and

Rigi Research Group

34

• To assist the design and implementation of monitoring infrastructures able to:▫ Monitor relevant context

▫ Support the dynamic adaptation of business objectives

▫ Self-configure

Norha M. Villegas and Hausi A. Müller: Context-Driven Adaptive Monitoring for Supporting SOA Governance. (2010 )

Page 35: Analysis and Control of Computing Systems

Study Case: Governance Feedback Loops for Supporting

Dynamic SOA Governance

• An initial SLA between HotelNearbyFacilities and ShoppingFacilitiesBrokerA▫ 10 transactions/second in

summer days

▫ 5 transactions/second for the remainder of the year

Rigi Research Group

35

remainder of the year

• ShoppingFacilitiesBrokerAcomposes services from different providers

• One SLA is defined between each shopping broker and each boutique

• On SLA violation, the infrastructure must support dynamic SLA negotiation

Norha M. Villegas and Hausi A. Müller: Context-Driven Adaptive Monitoring for Supporting SOA Governance. (2010 )

Page 36: Analysis and Control of Computing Systems

• The concrete architecture for dynamic monitoring in SOA governance

▫ Software architecture for implementing a dynamic

Rigi Research Group

36

implementing a dynamic monitoring infrastructure based on feedback loops

Norha M. Villegas and Hausi A. Müller: Context-Driven Adaptive Monitoring for Supporting SOA

Governance. (2010)

Page 37: Analysis and Control of Computing Systems

Toward a broad application of control theory to the engineering

Rigi Research Group

37

Toward a broad application of control theory to the engineering of dynamic software systems

Page 38: Analysis and Control of Computing Systems

Control-Based Design and Control Objectives

• Categorizing control-based architectural patterns for dynamic software systems

• With respect to control objectives

▫ How to identify control objectives in software systems?

Rigi Research Group

38

▫ How to identify control objectives in software systems?

▫ How to dynamically get the reference inputs related to the software control objective?

▫ How to represent software control objectives in such a way the can be processed and regulated at run-time?

▫ From the perspective of software requirements, how to elicit and specify control objectives?

Page 39: Analysis and Control of Computing Systems

Model Definition• The dynamic behaviour of computing and software systems must be

modeled to be controlled

• The relationships between control inputs and measured outputs

• Model variables and signals (variables that change over time)

Rigi Research Group

39

First-principle models

Mechanical and electrical

systems: e.g., Newton Laws

For computing systems: e.g.,

queuing relationships

Black-box models

Model scope (considered inputs and outputs)

Experimental design

(collecting data to estimate

model parameters)

Parameter estimation

Model evaluation

Until now, more applicable to Software Engineering

Page 40: Analysis and Control of Computing Systems

Support for Instrumentation

• Control-based design and architectural patterns

• Domain-specific languages, programming and specification languages (e.g., UML profiles for control-based software engineering)

Rigi Research Group

40

based software engineering)

• Software engineering frameworks that incorporate control engineering principles and techniques (e.g., monitors, controllers as filters, transducers)

Page 41: Analysis and Control of Computing Systems

Summary and Final Remarks

• I gained a deep insight of control engineering and its application to computing and software systems▫ The exploration and analysis of software systems from a control engineering

perspective, beyond controlling specific variables (e.g., performance, throughput)

▫ Not many documented contributions are available

• We designed, developed, and documented a valuable course that will be

Rigi Research Group

41

• We designed, developed, and documented a valuable course that will be available for the CSC Department. Control engineering provides important elements for the engineering of software systems

• The contribution is not only for CSC-Uvic, but for the adaptive software engineering community in general (e.g., ADAM team – Inria Nord Europe).

• Many opportunities have been identified for the improvement of software engineering for dynamic systems (from academia, research and industry), through the broad application of control engineering

• Other results▫ Two papers: 1 submitted to MESOA 2010. 1 will be submitted to SEAMS 2011

▫ Proof of concept: 1 demo for CASCON 2010 (tentative)

Page 42: Analysis and Control of Computing Systems

Thank you!

•Questions?

Rigi Research Group

42

Norha Villegas

[email protected]

http://webhome.csc.uvic.ca/~nvillega/

Skype: norha.villegas