18
Introduction

Introduction

Embed Size (px)

DESCRIPTION

Introduction. Readings. Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3 Note: All figures from this book. Who Can Take This Class?. Anyone with some interest in distributed systems and data management Pre-requisite: - PowerPoint PPT Presentation

Citation preview

Page 1: Introduction

Introduction

Page 2: Introduction

Readings

Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3 Note: All figures from this book

Page 3: Introduction

Who Can Take This Class?

Anyone with some interest in distributed systems and data management

Pre-requisite: Undergraduate OS (or undergraduate

networking course) This course does have programming

and you may have to be willing to learn new technologies

Page 4: Introduction

Course Structure

Lectures Papers will be assigned to you to review You are expected to participate in class

Three assignments Programming Group work

Survey paper and presentation

Page 5: Introduction

Course Readings

No official textbook Lectures are based on (mostly) research

papers UWO has on-line subscriptions to many of

the conferences and journals that the papers are found in

Page 6: Introduction

intranet

ISP

desktop computer:

backbone

satellite link

server:

network link:

A typical portion of the

Internet

Page 7: Introduction

A Typical Intranet

the rest of

email server

Web server

Desktopcomputers

File server

router/firewall

print and other servers

other servers

print

Local areanetwork

email server

the Internet

Page 8: Introduction

Portable and Handheld Devices in a Distributed

system

Laptop

Mobile

PrinterCamera

Internet

Host intranet Home intranetWAP

Wireless LAN

phone

gateway

Host site

Page 9: Introduction

Services and the Internet Increasingly we are seeing more of our

applications moving from the PC to the Internet e.g., Email – gmail, yahoo Photo management – Picasso, Kodak,

Shutterbug Word processing – Google apps

Why? Less work on the user’s behalf Maybe the potential for less cost for the

user

Page 10: Introduction

Data Centers To support this move from the PC to the

“Internet” requires a large number of servers, storage, network support etc; Companies like Amazon, Google, eBay are

running data centers with tens of thousands of machines

To make users trust these systems requires that a number of issues be addressed e.g., failure handling

Page 11: Introduction

Reasons Share data and information despite geography

Examples: • Internet: Wikipedia, email, web sites• Intranet: Networked file systems

Availability Hardware can fail: power outage, disk failures, memory

corruption Software can fail: bugs, mis-configuration, To achieve high availability requires replications of

data/computation with automatic failovers Aggregate resources of many computers

CPU: Dryad, MapReduce Bandwidth: Akamai CDN, BitTorrent

Page 12: Introduction

Challenges Consistency

Sharing data consistently among multiple readers/writers

Fault tolerance Keeping system available despite node or

network failures Security

Authenticating clients or servers Defending against or audit misbehaving

servers

Page 13: Introduction

Challenges

System design Right interface or abstraction?

Implementation Maximize concurrency Identify bottlenecks Reduce load on the bottleneck resource

Page 14: Introduction

Case Study: Distributed File System

A distributed file system provides shared access for multiple clients to a shared storage transparently. NFS is one of the earliest examples

NFS Design A file server stores all data and handles

requests from clients

Page 15: Introduction

Case Study

Consistency When a client edits a shared file when do

other clients see the results? Fault Tolerance

How to keep the system running when the file server is down?

• Replicate data at multiple servers How to update replicated data? How to fail-over among replicas How to maintain consistency?

Page 16: Introduction

Case Study

Security Adversary can manipulate messages

• How to authenticate? Adversary may compromise machines

• Can the FS remain correct despite a few compromised nodes

Implementation The file server should serve multiple clients

concurrently Server threads need to modify shared state

• Avoid race conditions

Page 17: Introduction

Other Examples

It’s not just file servers What about companies like Amazon?

Facebook? Google?

Page 18: Introduction

Summary

We briefly discussed a high-level view of data distributed

In this course we will discuss various architectures and algorithms and how they are used by major companies like Amazon, Google, etc;