distributed systems sukumar ghosh department of computer science university of iowa

14
Distributed Systems Sukumar Ghosh Department of Computer Science University of Iowa

Upload: crystal-fields

Post on 25-Dec-2015

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Distributed Systems Sukumar Ghosh Department of Computer Science University of Iowa

Distributed Systems

Sukumar Ghosh

Department of Computer ScienceUniversity of Iowa

Page 2: Distributed Systems Sukumar Ghosh Department of Computer Science University of Iowa

Definition?

A distributed system is one in which I can’t do my work, because some computer that I’ve never even heard of, has failed

(Leslie Lamport)

Page 3: Distributed Systems Sukumar Ghosh Department of Computer Science University of Iowa

Distributed Systems

Network of processes communicating with one another

to meet some objective.

Growth and innovations fueled by

Declining hardware cost and improved device functionality

Better networking facility

Our dreams

Page 4: Distributed Systems Sukumar Ghosh Department of Computer Science University of Iowa

Distributed Systems

Traditional Client server systems

Peer to peer networks

Communicating micro-robots

Sensor networks

Vehicular networks

Page 5: Distributed Systems Sukumar Ghosh Department of Computer Science University of Iowa

A client-server system

S

clients

server

(boring …)

Page 6: Distributed Systems Sukumar Ghosh Department of Computer Science University of Iowa

Communicating micro-robots

Courtesy: the iSwarm project at the University of Karlsruhe

Page 7: Distributed Systems Sukumar Ghosh Department of Computer Science University of Iowa

Numerous Challenges

Processes have local views, but the goals are global.

Failures and perturbations are expected events and not

catastrophic exceptions!

Clocks are not perfectly synchronized

The topology may change from time to time

Page 8: Distributed Systems Sukumar Ghosh Department of Computer Science University of Iowa

Replicated servers

S0

S1

S2

S3

S

Client-serverReplicated client-server

clients

server

not so easy

Page 9: Distributed Systems Sukumar Ghosh Department of Computer Science University of Iowa

9

Vehicular Networks

Applications Accident alerts/prevention Dynamic route planning Entertainment

Roadside infrastructure

Internet

CellularCellular

Vehicle-to-vehicle

Roadside infrastructure

Communications Cellular network Vehicle to roadside Vehicle to vehicle

Page 10: Distributed Systems Sukumar Ghosh Department of Computer Science University of Iowa

Topics to explore

Designing fault-tolerant distributed systems

(The term “fault” has a wide scope. It does not necessarily mean crash, but include selfishness, malicious behavior, node mobility, environmental changes etc)

Page 11: Distributed Systems Sukumar Ghosh Department of Computer Science University of Iowa

Topics to explore

To prevent disruptions caused by failures and perturbations,distributed systems must learn to manage themselves withoutexternal intervention (which is often costly, and sometimes notpractical). This means, most non-trivial distributed systems mustsatisfy one or more of the following properties:

self-organization, self-healing, self-stabilization, self-optimization etc.

(These are yardsticks of “smartness”)

Page 12: Distributed Systems Sukumar Ghosh Department of Computer Science University of Iowa

Topics to explore

“Scalable algorithms” for distributed systems. Some large scale systems have millions of nodes in them. Will your solution be practical at that scale?

Dealing with “big data” in distributed systems (cloud computing, MapReduce, Hadoop etc)

Page 13: Distributed Systems Sukumar Ghosh Department of Computer Science University of Iowa

Topics to explore

The goal is to guarantee that the system will work in real life. If it does not, then you have to question and revisit the model assumptions, algorithm correctness etc.

theory practice

Page 14: Distributed Systems Sukumar Ghosh Department of Computer Science University of Iowa

Graduate courses

If you are interested in such topics, then consider taking:

(Fall 2012)

22C:166 Distributed Systems and Algorithms (Sukumar Ghosh)

22C: 196 Sensing the world (Octav Chipara)

(Other semesters)

22C:196 Parallel and Distributed Programming: Forms and Limits

Cloud Computing (Ted Herman)

Sensor Networks (Ted Herman)

Advanced Distributed Algorithms (Sriram Pemmaraju)