Autonomic (Grid) Computing Introduction, Motivations, Overview Manish Parashar and Omer Rana
Pervasive Grid Environments - Unprecedented Opportunities Pervasive Grids Environments –Seamless, secure, on-demand access to and aggregation of, geographically distributed computing, communication and information resources Computers, networks, data archives, instruments, observatories, experiments, sensors/actuators, ambient information, etc. –Context, content, capability, capacity awareness –Ubiquity, mobility Knowledge-based, information/data-driven, context/content-aware computationally intensive, pervasive applications –Symbiotically and opportunistically combine services/computations, real- time information, experiments, observations, and to manage, control, predict, adapt, optimize, … A pervasive paradigm –seamless access resources, services, data, information, expertise, … –seamless aggregation –seamless (opportunistic) interactions/couplings
Pervasive Grid Environments – Unprecedented Challenges: Complex & Uncertainty System Uncertainty –Very large scales –Ad hoc structures/behaviors p2p, hierarchical, etc, architectures –Dynamic entities join, leave, move, change behavior –Heterogeneous capability, connectivity, reliability, guarantees, QoS –Lack of guarantees components, communication –Lack of common/complete knowledge (LOCK) number, type, location, availability, connectivity, protocols, semantics, etc. Information Uncertainty –Availability, resolution, quality of information –Devices capability, operation, calibration –Trust in data, data models –Semantics Application Uncertainty –Dynamic behaviors space-time adaptivity –Dynamic and complex couplings multi-physics, multi-model, multi- resolution, …. –Dynamic and complex (ad hoc, opportunistic) interactions –Software/systems engineering issues Emergent rather than by design
Integrating Biology and Information Technology: The Autonomic Computing Metaphor Current programming paradigms, methods, management tools are inadequate to handle the scale, complexity, dynamism and heterogeneity of emerging systems Nature has evolved to cope with scale, complexity, heterogeneity, dynamism and unpredictability, lack of guarantees –self configuring, self adapting, self optimizing, self healing, self protecting, highly decentralized, heterogeneous architectures that work !!! Goal of autonomic computing is to build a self-managing system that addresses these challenges using high level guidance –Unlike AI duplication of human thought is not the ultimate goal! “Autonomic Computing: An Overview,” M. Parashar, and S. Hariri, Hot Topics, Lecture Notes in Computer Science, Springer Verlag, Vol. 3566, pp , 2005.
Convergence of Information Technology and Biology Without requiring our conscious involvement - when we run, it increases our heart and breathing rate
Adaptive Biological Systems The body’s internal mechanisms continuously work together to maintain essential variables within physiological limits that define the viability zone Two important observations: –The goal of the adaptive behavior is directly linked with the survivability –If the external or internal environment pushes the system outside its physiological equilibrium state the system will always work towards coming back to the original equilibrium state
Ashby’s Ultrastable System
Self-Adaptive Software Defined by Laddaga in the 1997 DARPA Broad Agency Announcement as: – “...software that evaluates its own performance and changes behaviour when the evaluation indicates that it is not accomplishing what the software is intended to do...”. To adapt, the system reacts to environmental change - the problem is recognising the need for change, then planning, enacting and verifying the change - these are management issues - self-managing systems Progress to date has been informed by three guiding metaphors – control systems theory – dynamic planning systems – self-aware or reflective systems. “Managing complexity is a key goal of self-adaptive software. If a program must match the complexity of the environment in its own structure it will be very complex indeed! Somehow we need to be able to write software that is less complex than the environment in which it is operating yet operate robustly.” (Robertson, Laddaga et al, 2000)
A View of Biological Adaptation and Evolution Living systems can be described in terms of interdependent variables: –each capable of varying over a range with upper and lower bounds, e.g. bodily temperature, blood pressure, heart rate etc. –environmental change may cause fluctuations but bodily control mechanisms autonomically act to maintain variables at a stable level, i.e. homeostatic equilibrium with the environment Three types of adaptation to environmental disturbance are available to higher organisms: –Short-term change - e.g. Environmental temperature change moves the bodily temperature variable to an unacceptable value. This rapidly induces an autonomic response in the (human) organism i.e. either perspiring to dissipate heat or shivering to generate heat. Such adaptation is quickly achieved and reversed. –Somatic change - prolonged exposure to environmental temperature change results in the impact of the change being absorbed by the organism i.e. acclimatization. Such change is slower to achieve and reverse. –Genotypic change - adaptation through mutation and hence evolution. A species adapts to change by shifting the range of some variables. e.g. in a cold climate grow thicker fur. Such genotypic change is recorded at a cellular level and becomes hereditary and is irreversible in the lifetime of the individual.
Cybernetics: The Foundations of the Bridge A cross-disciplinary approach developed in the 1940’s and broadly encompassing contributions from biology, social sciences and nascent computer science. Wiener defined cybernetics as “the science of communication and control in the animal and machine”. Ashby’s contribution... – Both the system and the environment in which it exists are represented by a set of variables that represent that form a state-determined system – Consequently, the environment is defined as those variables whose changes affect the system and those variables that are affected by the system. – Complexity as Variety, i.e. The number of different states a system can adopt.
Ashbean Cybernetics The Homeostat - ultra-stable system capable of returning to stability after it has been disturbed in a way not envisaged by the designer. Self-vetoing homeostasis “Variety Engineering” –The notion of balancing the varieties of systems with different variety levels –Environment - huge variety –Operation - much less variety –Management - even less variety Achieved through attenuation and amplification The Law of Requisite Variety control can only be attained if the variety of the controller is at least as great as the situation to be controlled.
The Homeostat Ashby designed a “Homeostat” device, consisting of four pivoting magnets, motion constraints, and various electrical connections and switches, to demonstrate what he called an “ultrastable” system—one that would return to homeostasis regardless of the magnitude of its perturbations
W. Grey Walter Walter Grey Walter, author of The Living Brain (1953), experimented with electro-mechanical “turtles” –Family “Machina Speculatrix” –Genus “Testudo” (tortoise) Built between Easter 1948 and Christmas 1949, the first two of these turtles were Elmer and Elsie, after ELectro MEchanical Robots, Light-Sensitive, with Internal and External stability –“Stability” may have been related to Ashby’s homeostasis –“External” might be intended to distinguish Testudo from Homeostat
Basic Exploratory Behavior
Attraction to Light
Multiple Lights
Charging Home
Obstacle Avoidance
The Mirror Dance
Elmer and Elsie Dance
Home Sweet Home
Managerial Cybernetics Beer’s VSM implements a control & communication structure via hierarchies of homeostats (feedback loops) 6 major systems ensure ‘viability’ of the system – ImplementationS1 – MonitoringS2 – AuditS3* – ControlS3 – Intelligence S4 – Policy S5 Offers an extensible, recursive, model- based architecture, devolving autonomy to sub-systems Here and Now Future Direction
VSM – Stafford Beer Consists of 5 interacting sub-systems – mapped to organizational structures –Systems 1 to 3: “here and now” (current view); –System 4: “then and there” (strategic response to external, environment & future demands); –System 5 – balancing “here and now” with “then and there” System 1 in a viable system contains several primary activities. Each System 1 primary activity is itself a viable system due to the recursive nature of systems. These are concerned with performing a function that implements at least part of the key transformation of the organisation. System 2 represents the information channels and bodies that allow the primary activities in System 1 to communicate between each other and which allow System 3 to monitor and co-ordinate the activities within System 1. System 3 represents the structures and controls that are put into place to establish the rules, resources, rights and responsibilities of System 1 and to provide an interface with Systems 4/5. System 4 - The bodies that make up System 4 are responsible for looking outwards to the environment to monitor how the organisation needs to adapt to remain viable. System 5 is responsible for policy decisions within the organisation as a whole to balance demands from different parts of the organisation and steer the organisation as a whole From Wikipedia
Autonomic Computing Characteristics (IBM) By IBM
Autonomic Grid Computing – A Holistic Approach Computing has evolved and matured to provide specialized solutions to satisfy relatively narrow and well defined requirements in isolation –performance, security, dependability, reliability, availability, throughput, pervasive/amorphous, automation, reasoning, etc. In case of pervasive Grid applications/environments, requirements, objectives, execution contexts are dynamic and not known a priori –requirements, objectives and choice of specific solutions (algorithms, behaviors, interactions, etc.) depend on runtime state, context, and content –applications should be aware of changing requirements and executions contexts and to respond to these changes are runtime Autonomic Grid computing - systems/applications that self-manage –use appropriate solutions based on current state/context/content and based on specified policies –address uncertainty at multiple levels –asynchronous algorithms, decoupled interactions/coordination, content-based substrates
Autonomic Computing Architecture Autonomic elements (components/services) –Responsible for policy-driven self-management of individual components Relationships among autonomic elements –Based on agreements established/maintained by autonomic elements –Governed by policies –Give rise to resiliency, robustness, self-management of system
Autonomic Computing – Conceptual Architecture from IBM
normal object event Object Events FaultFailure Up Down 123 External Monitoring (i.e. objects, network) Defensive ModuleOffensive Module MANAGER Supporting Fault Tolerance (Gaston, George, Park)
Autonomic Elements: Structure Fundamental atom of the architecture –Managed element(s) Database, storage system, server, software app, etc. –Plus one autonomic manager Responsible for: –Providing its service –Managing its own behavior in accordance with policies –Interacting with other autonomic elements An Autonomic Element Managed Element ES Monitor Analyze Execute Plan Knowledge Autonomic Manager Ack. IBM
Autonomic Elements: Interactions Relationships –Dynamic, ephemeral, opportunistic –Defined by rules and constraints –Formed by agreement May be negotiated –Full spectrum Peer-to-peer Hierarchical –Subject to policies Ack. IBM
Autonomic Systems: Composition of Autonomic Elements Reputation Authority Network Registry Event Correlator Database Monitor Server Workload Manager Server Storage Negotiator Broker Provisioner Sentinel Monitor Aggregator Registry Monitor Broker Sentinel Arbiter Planner Workload Manager Database Network Ack. IBM
Autonomic Grid Computing & Pervasive Grid Environments – (Some) Research Issues & Opportunities Programming systems/models for data integration and runtime self- management –components and compositions capable of adapting behavior and interactions –policy driven deductive engine –correctness, consistency, performance, quality-of-service constraints Content-based asynchronous and decentralized discovery and access services –semantics, metadata definition, indexing, querying, notification Data management mechanisms for data acquisition and transport with real time, space and data quality constraints –high data volumes/rates, heterogeneous data qualities, sources –in-network aggregation, integration, assimilation, caching Runtime execution services that guarantee correct, reliable execution with predictable and controllable response time –data assimilation, injection, adaptation Security, trust, access control, data provenance, audit trails, accounting
Conclusion Emerging Pervasive Grid Environments –Unprecedented opportunity can enable a new generation of knowledge-based, data and information driven, context-aware, computationally intensive, pervasive applications –Unprecedented research challenges scale, complexity, heterogeneity, dynamism, reliability, uncertainty, … applications, algorithms, measurements, data/information, software Autonomic Grid Computing –Using inspiration from nature and biology to addresses the complexity of pervasive Grid environments
Some Information Sources “Autonomic Computing: Concepts, Infrastructure and Applications,” M. Parashar and S. Hariri (Ed.), CRC Press, ISBN (Available at Autonomic Computing Portal – IEEE International Conference on Autonomic Computing – IEEE Task Force on Autonomous and Autonomic Systems –