Self-Managing Computer Systems An Introduction

21
Self-Managing Computer Systems An Introduction Ying Lu

description

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? - PowerPoint PPT Presentation

Transcript of Self-Managing Computer Systems An Introduction

Page 1: Self-Managing Computer Systems An Introduction

Self-Managing Computer Systems An Introduction

Ying Lu

Page 2: Self-Managing Computer Systems An Introduction

Giving credit where it is due:

Most slides are from Mark Jelasity, University of Bologna, Italy

I have modified them and added new slides

2

Page 3: Self-Managing Computer Systems An Introduction

Outline

Background– Historical perspective– Current state of IT

What do we need?– Desired self-* properties

How do we get there?– Autonomic computing

3

Page 4: Self-Managing Computer Systems An Introduction

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

4

Page 5: Self-Managing Computer Systems An Introduction

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

5

Page 6: Self-Managing Computer Systems An Introduction

XIX century technology

Individual Computers

You had to be a computer scientist to operate early computers

Computers are now in the office, classroom and home 6

Page 7: Self-Managing Computer Systems An Introduction

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

7

Page 8: Self-Managing Computer Systems An Introduction

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

8

Page 9: Self-Managing Computer Systems An Introduction

IT now

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

“ IT is in a state that we should be ashamed of: it’s embarrasing”Greg Papadopoulos, chief technologist, Sun

9

Page 10: Self-Managing Computer Systems An Introduction

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

10

Page 11: Self-Managing Computer Systems An Introduction

What do we need?

11

Page 12: Self-Managing Computer Systems An Introduction

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

12

Page 13: Self-Managing Computer Systems An Introduction

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

13

Page 14: Self-Managing Computer Systems An Introduction

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

14

Page 15: Self-Managing Computer Systems An Introduction

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]

15

Page 16: Self-Managing Computer Systems An Introduction

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

16

Page 17: Self-Managing Computer Systems An Introduction

How do we get there?

17

Page 18: Self-Managing Computer Systems An Introduction

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

18

Page 19: Self-Managing Computer Systems An Introduction

Appendix

19

Page 20: Self-Managing Computer Systems An Introduction

Example – Redundancy in Circuits (1)

Page 21: Self-Managing Computer Systems An Introduction

Example – Redundancy in Circuits (2)

Triple modular redundancy.