260 likes | 398 Views
Self-Managing Computer Systems An Introduction. Ying Lu. 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?
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.