Top Banner
Introduction
36

Introduction. Outline Definitions Examples Hardware concepts Software concepts Readings: Chapter 1.

Dec 31, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Introduction. Outline Definitions Examples Hardware concepts Software concepts Readings: Chapter 1.

Introduction

Page 2: Introduction. Outline Definitions Examples Hardware concepts Software concepts Readings: Chapter 1.

Outline

Definitions Examples Hardware concepts Software concepts Readings: Chapter 1

Page 3: Introduction. Outline Definitions Examples Hardware concepts Software concepts Readings: Chapter 1.

Quotable quote

“I think there is a world market for maybe five computers”

Thomas J. WatsonChairman of IBM, 1943

Page 4: Introduction. Outline Definitions Examples Hardware concepts Software concepts Readings: Chapter 1.

Definition of a Distributed System (Tannenbaum and van Steen)

A distributed system is a piece of software that ensures that

A collection of independent computers that appears to its users as a single coherent system.

Page 5: Introduction. Outline Definitions Examples Hardware concepts Software concepts Readings: Chapter 1.

Definition of a Distributed System (Colouris)

A distributed system is

In which hardware and software components located at networked computers communicate and coordinate their actions only by passing messages.

Page 6: Introduction. Outline Definitions Examples Hardware concepts Software concepts Readings: Chapter 1.

Definition of a Distributed System (Lamport)

A distributed system is one in which I cannot get something done because a machine I've never heard of is down.

Page 7: Introduction. Outline Definitions Examples Hardware concepts Software concepts Readings: Chapter 1.

Primary Characteristics of a Distributed System

Multiple computers Concurrent execution Independent operation and failures

Communications Ability to communicate No tight synchronization

Relatively easy to expand or scale Transparency

Page 8: Introduction. Outline Definitions Examples Hardware concepts Software concepts Readings: Chapter 1.

Example: A typical intranet (Coulouris)

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 9: Introduction. Outline Definitions Examples Hardware concepts Software concepts Readings: Chapter 1.

intranet

ISP

desktop computer:

backbone

satellite link

server:

network link:

Example: A typical portion of the Internet (Coulouris)

Page 10: Introduction. Outline Definitions Examples Hardware concepts Software concepts Readings: Chapter 1.

Example: Portable and handheld devices in a distributed system

(Coulouris)

Laptop

Mobile

PrinterCamera

Internet

Host intranet Home intranetWAP

Wireless LAN

phone

gateway

Host site

Page 11: Introduction. Outline Definitions Examples Hardware concepts Software concepts Readings: Chapter 1.

Why Build Distributed Systems?

Economics Share resources Relatively easy to expand or scale Speed – A distributed system may have more total

computing power then a mainframe. Reliability

If a machine crashes, the system as a whole can survive. People are distributed, information is distributed.

Page 12: Introduction. Outline Definitions Examples Hardware concepts Software concepts Readings: Chapter 1.

Key Design Goals

Connectivity Transparency Reliability Consistency Security Openness Scalability

Page 13: Introduction. Outline Definitions Examples Hardware concepts Software concepts Readings: Chapter 1.

Connectivity

It should be easy for users to access remote resources and to share them with other users in a controlled fashion.

Resources that can be shared include printers, storage facilities, data, files, web pages, etc; Why? Economical

Connecting users and resources makes collaboration and the exchange of information easier. Just look at e-mail

Page 14: Introduction. Outline Definitions Examples Hardware concepts Software concepts Readings: Chapter 1.

Transparency

A distributed system that is able to present itself to users and applications as if it were only a single computer system is said to be transparent.

Very difficult to make distributed systems completely transparent.

You may not want to, since transparency often comes at the cost of performance.

Page 15: Introduction. Outline Definitions Examples Hardware concepts Software concepts Readings: Chapter 1.

Transparency in a Distributed System

Different forms of transparency in a distributed system.

Transparency Description

AccessHide differences in data representation and how a resource is accessed

Location Hide where a resource is located

Migration Hide that a resource may move to another location

RelocationHide that a resource may be moved to another location while in use

ReplicationHide that a resource may be shared by several competitive users

ConcurrencyHide that a resource may be shared by several competitive users

Failure Hide the failure and recovery of a resource

Persistence Hide whether a (software) resource is in memory or on disk

Page 16: Introduction. Outline Definitions Examples Hardware concepts Software concepts Readings: Chapter 1.

Degree of Transparency

The goal of full transparency is not always desirable. Users may be located in different continents; distribution is apparent and

not something you want to hide. Completely hiding failures of networks and nodes is (theoretically and

practically) impossible: You cannot distinguish a slow compuer from a failing one. You can never be sure that a server actually performed an operation

before a crash. Full transparency will cost in performance.

Keeping Web caches exactly up-to-date with the master copy Immediately flushing write operations to disk for fault tolerance.

Page 17: Introduction. Outline Definitions Examples Hardware concepts Software concepts Readings: Chapter 1.

Openness

An open distributed system allows for interaction with services from other open systems, irrespectively of the underlying environment. Systems should conform to well-defined interfaces. Systems should support portability of applications. Systems should easily interoperate. Interoperability is

characterized by the extent by which two implementations of systems or components from different manufacturers can co-exist and work together.

Example: In computer networks there are rules that govern the format, contents and meaning of messages send and received.

Page 18: Introduction. Outline Definitions Examples Hardware concepts Software concepts Readings: Chapter 1.

Scalability

There are three dimensions to scalability: The number of users and processes (size scalability) The maximum distance between nodes (geographical

scalability) The number of administrative domains (administrative

scalability) Most systems focus on administrative size scalability

Well sort of – the typical solution is to buy powerful servers.

Page 19: Introduction. Outline Definitions Examples Hardware concepts Software concepts Readings: Chapter 1.

Techniques for Scaling

Partition data and computations across multiple machines Move computations to clients (Java applets) Decentralized naming services (DNS) Decentralized information systems (WWW)

Make copies of data available at different machines Replicated file servers (for fault tolerance) Replicated databases Mirrored web sites

Allow client processes to access local copies Web caches (browser/Web proxy) File caching (at server and client)

Page 20: Introduction. Outline Definitions Examples Hardware concepts Software concepts Readings: Chapter 1.

Scaling – The problem

Applying scaling techniques is easy, except for the following: Having multiple copies (cached or replicated) leads to

inconsistencies – modifying one copy makes that copy different from the rest.

Always keeping copies consistent requires global synchronization.

Global synchronization is expensive with respect to performance.

We have learned to tolerate some inconsistencies.

Page 21: Introduction. Outline Definitions Examples Hardware concepts Software concepts Readings: Chapter 1.

Challenges

Heterogeneity Networks Hardware Operating systems Programming languages

Page 22: Introduction. Outline Definitions Examples Hardware concepts Software concepts Readings: Chapter 1.

Challenges

Failure Handling Partial failures

Can non-failed components continue operation? Can the failed components easily recover?

Detecting failures Recovery Replication

Page 23: Introduction. Outline Definitions Examples Hardware concepts Software concepts Readings: Chapter 1.

Hardware Concepts

Multiprocessors Multicomputers Networks of computers

Page 24: Introduction. Outline Definitions Examples Hardware concepts Software concepts Readings: Chapter 1.

Multiprocessors and Multicomputers

1.6

Different basic organizations and memories in distributed computer systems

Page 25: Introduction. Outline Definitions Examples Hardware concepts Software concepts Readings: Chapter 1.

Multiprocessors Coherent memory

Each CPU writes though, reflected at other immediately Note the use of cache memory for efficiency Limited to small number of processors

Page 26: Introduction. Outline Definitions Examples Hardware concepts Software concepts Readings: Chapter 1.

Homogeneous Multicomputer Systems

• Grid• Hypercube

1-9

Page 27: Introduction. Outline Definitions Examples Hardware concepts Software concepts Readings: Chapter 1.

Multiprocessor Usage

• Scientific and engineering applications often require loops over large vectors e.g., matrix elements or points in a grid or 3D mesh. Applications include

• computational fluid dynamics• dynamic structures• scheduling (airline)• health and biological modeling• economics and financial modelling (e.g., option pricing)

• Other applications include:• Transaction processing• Video on demand

Page 28: Introduction. Outline Definitions Examples Hardware concepts Software concepts Readings: Chapter 1.

Networks of Computers

High degree of node heterogeneity Nodes include PCs, workstations, multimedia

workstations, palmtops, laptops High degree of network heterogeneity

This includes local-area ethernet, Atm and wireless connections.

A distributed system should try to hide these differences. In this course, the focus really is in networks of computers.

Page 29: Introduction. Outline Definitions Examples Hardware concepts Software concepts Readings: Chapter 1.

Software Concepts

An overview between DOS (Distributed Operating Systems) NOS (Network Operating Systems) Middleware

System Description Main Goal

DOSTightly-coupled operating system for multi-processors and homogeneous multicomputers

Hide and manage hardware resources

NOSLoosely-coupled operating system for heterogeneous multicomputers (LAN and WAN)

Offer local services to remote clients

MiddlewareAdditional layer atop of NOS implementing general-purpose services

Provide distribution transparency

Page 30: Introduction. Outline Definitions Examples Hardware concepts Software concepts Readings: Chapter 1.

Distributed Operating System

OS on each computer knows about the other computers

OS on different computer is generally the same

Services are generally (transparently) distributed across computers.

1.14

Page 31: Introduction. Outline Definitions Examples Hardware concepts Software concepts Readings: Chapter 1.

Distributed Operating System

This is harder to implement then a traditional operating system. Why? Memory is not shared No simple global communication No simple systemwide synchronization mechanisms May require that OS maintain global memory map in

software. No central point where resource allocation decisions can

be made. Only very few truly multicomputer operating systems exist.

Page 32: Introduction. Outline Definitions Examples Hardware concepts Software concepts Readings: Chapter 1.

Network Operating System

Each computer has its own operating system with networking facilities

Computers work independently i.e., they may even have different operating systems

Services are tied to individual nodes (ftp, telnet, www) Highly file oriented

Page 33: Introduction. Outline Definitions Examples Hardware concepts Software concepts Readings: Chapter 1.

Middleware

OS on each computer need not know about the other computers

OS on different computers may be different

Services are generally (transparently) distributed across computers.

Page 34: Introduction. Outline Definitions Examples Hardware concepts Software concepts Readings: Chapter 1.

Middleware and Openness

In an open middleware-based distributed system, the protocols used by each middleware layer should be the same, as well as the interfaces they offer to applications.

1.23

Page 35: Introduction. Outline Definitions Examples Hardware concepts Software concepts Readings: Chapter 1.

Middleware Services

Communication Services Hide “primitive” socket programming

Data management in a distributed system Naming services Directory services (e.g., LDAP, search engines) Location services for tracking mobile objects Persistent storage facilities Data caching and replication

Page 36: Introduction. Outline Definitions Examples Hardware concepts Software concepts Readings: Chapter 1.

Middleware Services

Services giving applications control over when, where and how they access data. Distributed transaction processing Code migration

Services for securing processing and communication: Authentication and authorization services Simple encryption services Auditing services

There are varying levels of success in being able to provide these types of middleware services.