22
JOEL CRICHLOW DISTRIBUTED SYSTEMS: COMPUTING OVER NETWORKS, PHI LEARNING INTRODUCTION TO DISTRIBUTED SYSTEMS

JOEL CRICHLOW DISTRIBUTED SYSTEMS: COMPUTING OVER NETWORKS, PHI LEARNING INTRODUCTION TO DISTRIBUTED SYSTEMS

  • View
    220

  • Download
    2

Embed Size (px)

Citation preview

Page 1: JOEL CRICHLOW DISTRIBUTED SYSTEMS: COMPUTING OVER NETWORKS, PHI LEARNING INTRODUCTION TO DISTRIBUTED SYSTEMS

J O E L C R I C H L O WD I S T R I B U T E D S Y S T E M S : C O M P U T I N G O V E R N E T W O R K S , P H I L E A R N I N G

INTRODUCTION TO DISTRIBUTED SYSTEMS

Page 2: JOEL CRICHLOW DISTRIBUTED SYSTEMS: COMPUTING OVER NETWORKS, PHI LEARNING INTRODUCTION TO DISTRIBUTED SYSTEMS

WHAT IS A DISTRIBUTED SYSTEM?

A Distributed System is a set of interconnected, autonomous computers that cooperatively solve large, single problems or facilitate parallel execution of separate but possibly related tasks.

Page 3: JOEL CRICHLOW DISTRIBUTED SYSTEMS: COMPUTING OVER NETWORKS, PHI LEARNING INTRODUCTION TO DISTRIBUTED SYSTEMS

DISTRIBUTED SYSTEM

Computer network (hidden) network

User’s computer

Three key attributes:A network of computersThe network is hidden from the userThe system looks the same logically wherever the user is working

Page 4: JOEL CRICHLOW DISTRIBUTED SYSTEMS: COMPUTING OVER NETWORKS, PHI LEARNING INTRODUCTION TO DISTRIBUTED SYSTEMS

CLOUD COMPUTING

• In general Cloud Computing provides access to a pool of computing resources

• Distributed System technologies support Cloud Computing

• Expect new buzz words in the near future

Page 5: JOEL CRICHLOW DISTRIBUTED SYSTEMS: COMPUTING OVER NETWORKS, PHI LEARNING INTRODUCTION TO DISTRIBUTED SYSTEMS

CLOUD COMPUTING

• Recall the progressions• Uniprogramming to multiprogramming• Real memory to virtual memory• Real devices to virtual devices• Real machines to virtual machines

• More efficient and cost-effective use of resources• Cloud computing driven largely by the same

principles

Page 6: JOEL CRICHLOW DISTRIBUTED SYSTEMS: COMPUTING OVER NETWORKS, PHI LEARNING INTRODUCTION TO DISTRIBUTED SYSTEMS

CLOUD COMPUTING

• Sharing Software, Platform, Infrastructure

Page 7: JOEL CRICHLOW DISTRIBUTED SYSTEMS: COMPUTING OVER NETWORKS, PHI LEARNING INTRODUCTION TO DISTRIBUTED SYSTEMS

CLOUD COMPUTING

• Pay-per-use service alias Pay-as-you-go model• Uses a multi-tenant architecture to deliver several

categories of service

• Software as a Service (SaaS)• Delivers a single application

• Platform as a Service (PaaS)• Delivers development environments

• Infrastructure as a Service (Iaas)• Delivers storage, virtual machines, etc

Page 8: JOEL CRICHLOW DISTRIBUTED SYSTEMS: COMPUTING OVER NETWORKS, PHI LEARNING INTRODUCTION TO DISTRIBUTED SYSTEMS

CLOUD COMPUTING

• Quick development• Good scalability• Public cloud

• Many end-user organizations use services from a common service provider

• Private cloud• Services are for a single organization

• Hybrid cloud

Page 9: JOEL CRICHLOW DISTRIBUTED SYSTEMS: COMPUTING OVER NETWORKS, PHI LEARNING INTRODUCTION TO DISTRIBUTED SYSTEMS

THE COMPUTER NETWORK

• Hosts and Communications Subnet• WAN, LAN• IMPs, PSNs

• switches, hubs, bridges, gateways, routers

• Protocols• Arpanet, Internet• ISO/OSI, TCP/IP

Page 10: JOEL CRICHLOW DISTRIBUTED SYSTEMS: COMPUTING OVER NETWORKS, PHI LEARNING INTRODUCTION TO DISTRIBUTED SYSTEMS

PROTOCOLS

. . . . . .

Host B Host A Communicates with

Layer n Layer n In layer n protocols

Layer 3 In layer 3 protocols Layer 3

Layer 2 In layer 2 protocols

Layer 2

Layer 1 In layer 1 protocols Layer 1

Page 11: JOEL CRICHLOW DISTRIBUTED SYSTEMS: COMPUTING OVER NETWORKS, PHI LEARNING INTRODUCTION TO DISTRIBUTED SYSTEMS

SERVICES

• Email and Messaging• DNS, SMTP, TCP/IP

• WWW• HTML, HTTP, XML

• File Transfer• Telnet, SSH, FTP

• Social Networking

Page 12: JOEL CRICHLOW DISTRIBUTED SYSTEMS: COMPUTING OVER NETWORKS, PHI LEARNING INTRODUCTION TO DISTRIBUTED SYSTEMS

SERVICES

Social networking

Users/Browsers/

Web Clients

Web Servers

Distributed Database

Page 13: JOEL CRICHLOW DISTRIBUTED SYSTEMS: COMPUTING OVER NETWORKS, PHI LEARNING INTRODUCTION TO DISTRIBUTED SYSTEMS

SERVICESSOCIAL NETWORKING

• Facebook, Twitter, LinkedIn• Short Message Service (SMS)• Open source software• LAMP web application software stack

• Linux, Apache, MySQL and PHP

• In-house development• HipHop, Thrift and Cassandra

• Memcached: a distributed memory caching system

Page 14: JOEL CRICHLOW DISTRIBUTED SYSTEMS: COMPUTING OVER NETWORKS, PHI LEARNING INTRODUCTION TO DISTRIBUTED SYSTEMS

SERVICES

• Multimedia Transfer• MPEG, MP3, RTSP

• Distributed Computation

Distributed applications

DCM middleware

Host OS and network service

Distributed applications

DCM middleware

Host OS and network service

Page 15: JOEL CRICHLOW DISTRIBUTED SYSTEMS: COMPUTING OVER NETWORKS, PHI LEARNING INTRODUCTION TO DISTRIBUTED SYSTEMS

SERVICES

Distributed Transaction Processing

Transaction manager

Replica manager

Transaction manager

Replica manager

network trans trans

Data manager

Data manager

database database

Page 16: JOEL CRICHLOW DISTRIBUTED SYSTEMS: COMPUTING OVER NETWORKS, PHI LEARNING INTRODUCTION TO DISTRIBUTED SYSTEMS

SERVICES

E-Commerce

payer payee

Acquiring institution

Issuing institution

Flow of money

network authorization

Payment order

notification

Request

1

2

3

4

5

Page 17: JOEL CRICHLOW DISTRIBUTED SYSTEMS: COMPUTING OVER NETWORKS, PHI LEARNING INTRODUCTION TO DISTRIBUTED SYSTEMS

SERVICES

Distributed Real-Time Processing

Device

Comp

Sensor Actuator

Device

Comp

Sensor Actuator

Device

Comp

Network

Page 18: JOEL CRICHLOW DISTRIBUTED SYSTEMS: COMPUTING OVER NETWORKS, PHI LEARNING INTRODUCTION TO DISTRIBUTED SYSTEMS

ISSUES

• Naming• Globally unique, Domains, Location

• Sharing• Authentication, Access rights• Scheduling, Coordinating, Synchronizing• Resolving conflicts

• Availability and reliability• Up-time, Responsive, Correct

• Replication• Copies made and stored at separate sites• Load sharing, Improved throughput, Improved availability

Page 19: JOEL CRICHLOW DISTRIBUTED SYSTEMS: COMPUTING OVER NETWORKS, PHI LEARNING INTRODUCTION TO DISTRIBUTED SYSTEMS

ISSUES

• Privacy and Security• Passwords, Access Control Lists, Capabilities• Encryption, Memory Protection• Intrusion blockers

• Communication• Protocols aplenty

• Concurrency and Synchronization• Race Conditions• Critical Regions• Locks

Page 20: JOEL CRICHLOW DISTRIBUTED SYSTEMS: COMPUTING OVER NETWORKS, PHI LEARNING INTRODUCTION TO DISTRIBUTED SYSTEMS

ISSUES

• Time and Coordination• What is the time?• Ordering of events

• Fault Tolerance and Recovery• Redundant elements• Logging schemes• Back-ups• Time-outs• Retransmissions

Page 21: JOEL CRICHLOW DISTRIBUTED SYSTEMS: COMPUTING OVER NETWORKS, PHI LEARNING INTRODUCTION TO DISTRIBUTED SYSTEMS

ISSUES

Scalability• Cannot assume a static configuration• Plan for growth• How about reduction?

Page 22: JOEL CRICHLOW DISTRIBUTED SYSTEMS: COMPUTING OVER NETWORKS, PHI LEARNING INTRODUCTION TO DISTRIBUTED SYSTEMS

USER-SYSTEM INTERFACE

• The Consumer• Look and Feel

• logically similar at all the host computers or front-end machines