Pervasive Grid Environments - UnprecedentedOpportunities• 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 • Information Uncertainty – Very large scales – Availability, resolution, quality of information – Ad hoc structures/behaviors – Devices capability, operation, • p2p, hierarchical, etc, architectures calibration – Dynamic – Trust in data, data models • entities join, leave, move, change – Semantics behavior – Heterogeneous • capability, connectivity, reliability, guarantees, QoS • Application Uncertainty – Lack of guarantees – Dynamic behaviors • components, communication • space-time adaptivity – Lack of common/complete – Dynamic and complex couplings • multi-physics, multi-model, multi- knowledge (LOCK) resolution, …. • number, type, location, availability, – Dynamic and complex (ad hoc, connectivity, protocols, semantics, opportunistic) interactions etc. – 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. 247-259, 2005.
Convergence of Information Technology andBiology 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 Essential Variables Environment Motor Sensor channels channels Reacting Part R Step Mechanisms/Input Parameter S
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 M an ag em en t U n it – Environment - huge variety V – Operation - much less variety E n v ir o n m en t – Management - even less variety S y s te m• Achieved through attenuation and amplification V V• The Law of Requisite Variety control can K ey only be attained if the variety of the V = V a riety controller is at least as great as the situation = A t te n u a t io n to be controlled. = A m p l i fi c a ti o n
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 http://www.hrat.btinternet.co.uk/Homeostat.html
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 http://www.ias.uwe.ac.uk/Robots/gwonline/gwonline.html
From Wikipedia 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
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 – ConceptualArchitecture from IBM
Supporting Fault Tolerance (Gaston, George, Park) normal object event Up Object Fault Failure Events 1 2 3 Down MANAGER Defensive Module Offensive Module External Monitoring (i.e. objects, network)
Autonomic Elements: Structure Ack. IBM• Fundamental atom of the architecture – Managed element(s) Autonomic Manager • Database, storage system, Analyze Plan server, software app, etc. – Plus one autonomic manager• Responsible for: Monitor Knowledge Execute – Providing its service – Managing its own behavior in S E accordance with policies Managed Element – Interacting with other autonomic elements An Autonomic Element
Autonomic Elements: Interactions Ack. IBM• Relationships – Dynamic, ephemeral, opportunistic – Defined by rules and constraints – Formed by agreement • May be negotiated – Full spectrum • Peer-to-peer • Hierarchical – Subject to policies
Autonomic Systems: Composition of AutonomicElements Ack. IBM Workload Arbiter Manager Planner Reputation Registry Provisioner Network Authority Broker Server Sentinel Workload Network Broker Manager Event Correlator Negotiator Server Monitor Database Server Aggregator Sentinel Database Storage Monitor Registry Storage Monitor Storage
Autonomic Grid Computing & Pervasive GridEnvironments – (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 0-8493-9367-1 (Available at http://www.crcpress.com/) • Autonomic Computing Portal – http://www.autnomiccomputing.org • IEEE International Conference on Autonomic Computing – http://www.autonomic-conference.org • IEEE Task Force on Autonomous and Autonomic Systems – http://tab.computer.org/aas/