260 likes | 418 Vues
This introduction discusses the evolution of self-managing computer systems, tracing their historical context and current challenges. It highlights the complexity of IT systems, the need for autonomic computing, and frameworks like IBM’s autonomic computing. The talk presents the desired properties of self-managing systems—self-configuration, self-healing, self-optimization, and self-protection. Additionally, it explores paths to achieve these goals through open standards and models of self-awareness and self-organization, aiming to simplify user interaction and improve system reliability.
E N D
Giving credit where it is due: • Most slides are from Mark Jelasity, University of Bologna, Italy • I have modified them and added new slides
Outline • Background • Historical perspective • Current state of IT • What do we need? • Desired self-* properties • How do we get there? • Autonomic computing
XIX century technology • Car • 1900s: “mostly burden and challange” (Joe Corn) • Manual transmission, adjusting spark plug, etc, • Skills of a mechanic for frequent breakdown • Chauffeur needed to operate • 1930s: becomes usable • Infrastucture: road network, gas stations • Interface greatly simplified, more reliable
XIX century technology • Electricity • Early XXth century • Households and firms have own generators • “vice president of electricity” (like now: CIO) • One generation later • power grid: simplified, ubiquitous power plug, no personnel
Individual Computers XIX century technology Computers are now in the office, classroom and home You had to be a computer scientist to operate early computers
Usual path of technology • Originally, all kinds of technology need lots of human involvment • New inventions are typically “geeky”, need expertise to install and maintain • In general, the “default” seems to be human work, due to its flexibility and adaptivity: in an early stage it is always superior to alternatives
Usual path of technology • Eventually, humans are removed completely or mostly by the technology becoming simple (for humans) and standardized • To increase adoption and sales (electricity, cars, etc) • To decrease cost (industrial revolution, agriculture) • To allow super-human performance (space aviation) • Simplicity of usage often means increased overlall system complexity
IT now “IT is in a state that we should be ashamed of: it’s embarrasing” Greg Papadopoulos, chief technologist, Sun • IT project failure or delay • 66% due to complexity, 98% for large projects (over $10m) • IT spending • 20 years ago: 75% new hardware 25% fixing existing systems • Now: 70-80% fixing and maintaining exisiting systems
Problem statement • Information systems are very complex and costly for humans to install and maintain • This is a major obstacle of progress • In industry • IT costs are becoming prohibitive, no new systems, only maintanance • Merging systems is extremely difficult • For ordinary people • Complex electronic gadgets and computer systems often cause frustration, and discomfort, which hinders adoption
What do we need? • We need self-managing computer systems • Industry and academy are both working towards this goal • IBM: autonomic computing • Microsoft: dynamic systems initiative • HP: adaptive enterprise • Web services • Cloud computing • Pervasive computing
What does self-management involve? • We use IBM’s autonomic computing framework to define basic requirements • High level, user friendly control • Self-configuration • Self-healing • Self-optimization • Self-protection
Self-configuration • “real plug-and-play” • A component (a computer, software service, etc) is given high level instructions (“join data-center X”, “join application Y”) • Application configuration (self-assembly) • Applications are defined as abstract entities (a set of services with certain relationships) • When started, an application collects the components and assembles itself • New components join in the same way
Self-optimization • Self-optimization is about making sure a system not only runs but at its optimal • All components must be optimal • The system as a whole must be optimal • These two can conflict • There can be conflicting interests: multi-criteria optimization • [Self-adaptation]
Self-healing, self-protection • Self-healing • System components must be self-healing (dependable, robust, etc) • The system as a whole must be self-healing (tolerate failing components, incorrect state, etc) • [self-stabilizing, self-repair] • Self-protection • Malicious attacks: DOS, worms, etc
How do we get there? • General consensus: open standards are essential (as opposed to MS) • Two approaches • Self-awareness: simplicity through complexity • Self-model (reflection); Environment model; Planning, reasoning, control (GOFAI) • Self-organization: simplicity through simplicity • Emergent functions through very simple cooperative behavior (biological, social metaphors) • These two can compete with or complement each other
Example – Redundancy in Circuits (2) Triple modular redundancy.