Analysis and Control of Computing Systems


Published on

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.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Analysis and Control of Computing Systems

  1. 1. CSC 591 - Analysis and Control of Computing Systems Norha M. Villegas First year PhD Student Instructor: Prof. Dr. Hausi Müller Computer Science Department
  2. 2. 2 Rigi Research Group Agenda • Dynamic computing systems and control theory overview • Course overview • 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
  3. 3. 3 Rigi Research Group
  4. 4. 4 Rigi Research Group 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 (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
  5. 5. 5 Rigi Research Group Complexity of Dynamic Computing Systems The simultaneous explosion of The proliferation of smart and context- information and integration of aware applications, user centric- technology, and the continuous services and ubiquitous environments evolution to Ultra Large Scale System Software systems must become more versatile, flexible, resilient, self- healing, configurable and optimizing The necessity of satisfying software The high dependency between requirements by regulating complex changing business objectives and and decentralized systems software systems 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)
  6. 6. 6 Rigi Research Group 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 • 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
  7. 7. 7 Rigi Research Group Controlling Dynamic Computing systems Planning Plans Symptoms Regulating the accomplishment of requirements and Analysis business level Execution objectives, keeping the system equilibrium Observations Monitoring Feedback loops provide generic mechanisms for supporting the adaptation process of Relevant Context dynamic systems: monitoring, analysis, planning and execution
  8. 8. 8 Rigi Research Group
  9. 9. 9 Rigi Research Group Learning Objectives 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 behaviour To understand the To analyze existing control- foundations of control To identify challenges based reference models, theory and the implications related to the application of reference architectures and for their application to the control engineering to software techniques monitoring, analysis, and software engineering of applicable to the control of control of dynamic dynamic systems dynamic software systems computing systems
  10. 10. 10 Rigi Research Group 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 ▫ 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 Washington us/um/people/liuj/cse590k2008winter/def ault.aspx
  11. 11. 11 Rigi Research Group 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 control input and measured output in software systems ▫ Designing software controllers ▫ Assessment • Available on ConneX: abb3-27a0-4a53-be0f- 10525cabe46e?panel=Main
  12. 12. 12 Rigi Research Group Foundations of control theory and feedback loops applied to computing systems
  13. 13. Control System Architecture The goal: achieve a measured output A SISO feedback control system according to the Should be control objectives designed to (reference input) achieve the goal Is dynamically changed to achieve the goal • Reference input: control objective • Control input: signal(s) to affect • Measured output: compared to the target system looking for a measured output closer to the the reference input reference input • Control error: difference between • Disturbances and noise: affect the the reference input and the measured output 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)
  14. 14. 14 Rigi Research Group Feedback Loops: examples from Nature Positive Feedback Loop: Global Warming Homeostasis: + and – feedback loops to keep the equilibrium in the internal environment ☺ Source: change-feedback-loops/ genbio/organizationnot.html
  15. 15. 15 Rigi Research Group Control Objectives and Model Construction • Controllers are designed for a specific purpose: control objective • Three main control objectives strategies 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)
  16. 16. 16 Rigi Research Group 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 techniques (mainly linear system theory) and their application to computing systems (queuing theory)
  17. 17. 17 Rigi Research Group In a feedback control the desired output is achieved by specifying the reference input (directly) instead of by manipulating the control input (indirectly) The challenge: designing controllers to achieve the desired outputs
  18. 18. 18 Rigi Research Group Properties of Control Systems Relevant for Computing Systems Short Small Stability Accuracy Settling Overshoot • Bounded • The output • Quick • Objectives inputs, converges to convergence achievement bounded the reference • Before the minimizing outputs input workload overshoot • Stable in • Control changes • Caring of operating objectives are system regions met degradation J. L. Hellerstein, Y. Diao, S. Parekh, and D. M. Tilbury, Feedback Control of Computing Systems. John Wiley & Sons. (2004)
  19. 19. 19 Rigi Research Group Analyzing Control Properties: an unstable control system Accuracy and small overshot are not observed CPU utilization Reference input 0.5 Open loop Controller on time • An improperly designed controller • This feedback system is unstable: the controller overreacts to the CPU utilization
  20. 20. 20 Rigi Research Group Analyzing Control Properties: a stable control system Maximum Short settling Accuracy overshoot Stability Steady error -1 rss-yss Steady State Reference input Steady value 2.0 Initial Reference input 0.0 Settling time
  21. 21. 21 Rigi Research Group 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?
  22. 22. 22 Rigi Research Group Issues in Controlling Dynamic Software Systems Controllability Observability Stability • Related to the properties of • Determination of the • Disturbances do not affect control systems system’s state from the system equilibrium measurements of the system Robustness and Autonomy Generality efficiency • Self-adaptive • Knowledge bases should • The controller’s ability to • Self-configuring evolve by incorporating new achieve the objectives even • Self-* knowledge in larger environments • Minimizing cost Chattering Scheduling and Proactive • Controlling the adaptation Efficiency reconfiguration on state boundaries • Control the interactions and • Anticipating changes in the • System performance effects among multiple environment loops • Prediction models Passino, K. and Burgess, K.: Stability analysis of discrete event systems. John Wiley & Sons. (1998)
  23. 23. 23 Rigi Research Group Identified Application Steps Describing the Modeling the Defining software software system in relationship between control objectives terms of control the control input and theory elements the measured output Evaluating the Designing the control system controller in terms of (assessment) software components
  24. 24. 24 Rigi Research Group Identified Application Dimensions • Describing the software system in terms of control theory Software Design and elements . Improving visibility of control in software systems • Designing controllers in terms of software components Architectural perspective • Control-based reference models, architectures, and patterns • Characterization of software components’ properties Model Definition • Identification of variables and signals: properties to be measured (controller design) • Modeling the impact of control inputs on measured outputs • Simulation mechanisms to identify control parameters • Dynamic representation and management of control objectives Instrumentation • • Dynamic monitoring mechanisms Implementation of actuators and effectors • Controller complexity and trade-offs
  25. 25. 25 Rigi Research Group 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 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)
  26. 26. 26 Rigi Research Group 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. • 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
  27. 27. 27 Rigi Research Group 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) 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)
  28. 28. 28 Rigi Research Group The Self-Controller Software Model Kokar, M.M., Baclawski, K., Eracar, Y.A..: Control Theory-Based Foundations of Self-Controlling Software (1999)
  29. 29. 29 Rigi Research Group 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 ▫ Selection of adaptation and monitoring strategies • Analysis/V&V ▫ Validation of models and actuation plan ▫ Map the plan to available Feedback control architecture proposed by commands Mary Shaw. Dagstuhl Seminar (2007) • Implementation ▫ Map from elements of design to elements of implementation Müller, H.A., Pezzè, M., Shaw, M.: Visibility of Control in Adaptive Systems (2008)
  30. 30. 30 Rigi Research Group The Autonomic Element (MAPE-K loop) Kephart, J. O. and Chess: The vision of autonomic computing. (IBM - 2003)
  31. 31. 31 Rigi Research Group Our Proposed Control-Based Reference Model • Improving engineering of dynamic systems by making explicit: ▫ Dynamic properties as the control reference goals ▫ Separation of concerns among multiple feedback loops (at least three) ▫ Context management as an independent feed- back loop
  32. 32. 32 Rigi Research Group Definition and execution of the adaptation plan Context Control Objectives (from system control objectives) Context management infrastructure Gathering and symptoms inference Deciding about Sensing and context manager Preprocessing adaptation
  33. 33. 33 Rigi Research Group System’s context to support adaptation monitoring Provides context control objectives Enables objectives Supports the system manager to decide adaptation about changes in (context provisioning) control objectives
  34. 34. 34 Rigi Research Group 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 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 )
  35. 35. 35 Rigi Research Group 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 • ShoppingFacilitiesBrokerA composes 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 )
  36. 36. 36 Rigi Research Group • The concrete architecture for dynamic monitoring in SOA governance ▫ Software architecture for 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)
  37. 37. 37 Rigi Research Group Toward a broad application of control theory to the engineering of dynamic software systems
  38. 38. 38 Rigi Research Group 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? ▫ 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?
  39. 39. 39 Rigi Research Group 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) First-principle Black-box models models Experimental Mechanical and For computing Model scope design electrical systems: e.g., (considered (collecting data Parameter Model systems: e.g., queuing inputs and to estimate estimation evaluation Newton Laws relationships outputs) model parameters) Until now, more applicable to Software Engineering
  40. 40. 40 Rigi Research Group 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) • Software engineering frameworks that incorporate control engineering principles and techniques (e.g., monitors, controllers as filters, transducers)
  41. 41. 41 Rigi Research Group 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 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)
  42. 42. 42 Rigi Research Group Thank you! • Questions? Norha Villegas Skype: norha.villegas