19
Distributed Systems INF 3190 Michael Welzl

Distributed Systems - Forsiden · • Distributed resources and people • Linked by networks, crossing admin domains • Sharing resources, common goals • Dynamic R R R R R R R

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Distributed Systems - Forsiden · • Distributed resources and people • Linked by networks, crossing admin domains • Sharing resources, common goals • Dynamic R R R R R R R

Distributed Systems

INF 3190

Michael Welzl

Page 2: Distributed Systems - Forsiden · • Distributed resources and people • Linked by networks, crossing admin domains • Sharing resources, common goals • Dynamic R R R R R R R

What is a distributed system (DS)? Many defini8ons 

•  [Coulouris & Emmerich]  –  A distributed system consists of hardware and soDware components 

located in a network of computers that communicate and coordinate their ac8ons only by passing messages.  

•  [Tanenbaum & van Steen] –  A distributed system is a collec8on of independent computers that 

appears to its users as a single coherent system.  

•  [Lamport] –  A distributed system is a system that prevents you from doing any 

work when a computer you have never heard about, fails.  

Page 3: Distributed Systems - Forsiden · • Distributed resources and people • Linked by networks, crossing admin domains • Sharing resources, common goals • Dynamic R R R R R R R

Networks and distributed systems 

Distributed Systems View The OSI RM 

Physical 

Link 

Network 

Transport 

Applica8on 

Session 

Presenta8on 

Physical 

MAC 

IP 

TCP/UDP 

Applica8on 

Physical 

Link 

Network 

Opera8ng System & Transport 

Applica8on 

Middleware 

Distributed Sys. 

Internet View 

Page 4: Distributed Systems - Forsiden · • Distributed resources and people • Linked by networks, crossing admin domains • Sharing resources, common goals • Dynamic R R R R R R R

Necessary considera8ons –  Independent failure of components  

•  “par8al failure” & incomplete informa8on –  Unreliable communica8on  

•  Loss of connec8on and messages. Message bit errors 

–  Unsecure communica8on  •  Possibility of unauthorised recording and modifica8on of messages 

–  Expensive communica8on  •  Communica8on between computers usually has less bandwidth, longer latency, and costs more, than between independent processes on the same computer 

–  Concurrency •  components execute in concurrent processes that read and update shared resources. Requires coordina8on 

–  No global clock •  makes coordina8on difficult (ordering of events)  4 

Page 5: Distributed Systems - Forsiden · • Distributed resources and people • Linked by networks, crossing admin domains • Sharing resources, common goals • Dynamic R R R R R R R

Common requirements –  Resource sharing 

•  the possibility of using available resources any where •  servers provide resources to clients 

–  Openness •  an open distributed system can be extended and improved incrementally •  requires publica8on of  component interfaces  and standards protocols and for accessing interfaces 

–  Scalability •  the ability to serve more users, provide acceptable response 8mes with increased amount of data 

–  Fault tolerance •  maintain  availability even when individual components fail 

–  Allow heterogeneity •  network and hardware, opera8ng system, programming languages, implementa8ons by different developers 

Page 6: Distributed Systems - Forsiden · • Distributed resources and people • Linked by networks, crossing admin domains • Sharing resources, common goals • Dynamic R R R R R R R

Example: Google File‐System 

6 Frank Eliassen, Ifi/UiO 

…today Challenges: ‐ Scalability ‐ Fault‐tolerance ‐ Auto recovery 

early days 

Page 7: Distributed Systems - Forsiden · • Distributed resources and people • Linked by networks, crossing admin domains • Sharing resources, common goals • Dynamic R R R R R R R

Distribu8on transparency 

•  An important goal of a distributed system is to hide the fact that its processes and resources are physically distributed across mul8ple computers 

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

Page 8: Distributed Systems - Forsiden · • Distributed resources and people • Linked by networks, crossing admin domains • Sharing resources, common goals • Dynamic R R R R R R R

Forms of transparency 

Different forms of transparency in a distributed system (ISO, 1995). ‐ Trade‐off between degree of transparency and performance of a system 

 ‐ Do we really always want transparency? e.g. what about context‐awareness... 

Page 9: Distributed Systems - Forsiden · • Distributed resources and people • Linked by networks, crossing admin domains • Sharing resources, common goals • Dynamic R R R R R R R

Middleware •  Layer of soDware offering a single‐system view •  Offers portability and interoperability •  Simplifies development of distributed applica8ons and 

services 

Distributed applications and services

DISTRIBUTION MIDDEWARE

Platform Independent API

Platform Dependent API

. . . Local OS 1

Local OS 2

Local OS n

- transaction oriented (ODTP XA) - message oriented(IBM MQSeries) - remote procedure call (X/Open DCE) - object-based (CORBA, COM, Java)

Page 10: Distributed Systems - Forsiden · • Distributed resources and people • Linked by networks, crossing admin domains • Sharing resources, common goals • Dynamic R R R R R R R

Frank Eliassen, Ifi/UiO  10 

IDL 

foo() 

Example communica8on middleware: CORBA  

Object Request Broker (ORB) 

Clients may invoke methods of remote objects without worrying about: object loca8on, programming language,  opera8ng system plalorm, communica8on  protocols or hardware. 

Common object model 

Different programming languages (or object models) 

IDL 

X invoke Z’s method foo() 

IDL 

RMI over IIOP 

Page 11: Distributed Systems - Forsiden · • Distributed resources and people • Linked by networks, crossing admin domains • Sharing resources, common goals • Dynamic R R R R R R R

11 

Example DS: Enterprise Applica8on Integra8on (EAI) 

Distributed Information System with full integra8on of business data and business processes 

Page 12: Distributed Systems - Forsiden · • Distributed resources and people • Linked by networks, crossing admin domains • Sharing resources, common goals • Dynamic R R R R R R R

Distributed Compu8ng Systems 

•  History: parallel processing at a growing scale – Parallel CPU architectures – Mul8processor machines – Clusters –  (“Massively Distributed“) computers on the Internet: Grid •  transparency again: “power Grid“ metaphor 

•  Most common underlying middleware: Globus Toolkit (now en8rely based on Web Services) 

12 

Page 13: Distributed Systems - Forsiden · • Distributed resources and people • Linked by networks, crossing admin domains • Sharing resources, common goals • Dynamic R R R R R R R

Grid example: e‐science ‐ CERN LHC •  Largest machine built by humans: par8cle accelerator and collider with a circumference of 27 kilometers –  Said to generate 10 Petabytes (107 Gigabytes) of informa8on per year 

–  This informa8on must be processed and stored somewhere 

•  Beyond the scope of a single ins8tu8on to manage this problem –  Projects: LCG (LHC Compu8ng Grid), EGEE (Enabling Grids for E‐sciencE) 

Source: Globus presentation by Ian Foster

Page 14: Distributed Systems - Forsiden · • Distributed resources and people • Linked by networks, crossing admin domains • Sharing resources, common goals • Dynamic R R R R R R R

Grid structure: Virtual Organiza8ons, Virtual Teams 

•  Distributed resources and people •  Linked by networks, 

crossing admin domains 

•  Sharing resources, common goals 

•  Dynamic 

R R

R

R

R

R

R

R R

R

VO-B VO-A

R

R

R

R

Source: Globus presentation by Ian Foster

Page 15: Distributed Systems - Forsiden · • Distributed resources and people • Linked by networks, crossing admin domains • Sharing resources, common goals • Dynamic R R R R R R R

Cloud Compu8ng 

•  New “paradigm” –  ODen regarded as Grid compu8ng with a business case: Grid compu8ng minus VOs, VTs 

–  Cloud providers sell cloud access as a service e.g. Amazon 

•  At least two quite different “visions” 1.  Large server farms: high‐speed compu8ng and large & 

secure data storage on demand 

2.  Dumb terminals: all applica8ons become services  15 

Page 16: Distributed Systems - Forsiden · • Distributed resources and people • Linked by networks, crossing admin domains • Sharing resources, common goals • Dynamic R R R R R R R

P2P Systems: unstructured 

•  To join, peer needs address of one member, learn others •  Queries are sent to neighbors •  Neighbors forward queries to their neighbors (flooding) •  Replies routed back via query path to querying peer 

Gnutella overlay network

Join

Page 17: Distributed Systems - Forsiden · • Distributed resources and people • Linked by networks, crossing admin domains • Sharing resources, common goals • Dynamic R R R R R R R

P2P Systems: structured Distributed Hash Tables (DHT) 

Rou8ng to the node  storing the data in O(log(N)) steps  

Nodes store O(log(N)) rou8ng informa8on to other nodes 

Page 18: Distributed Systems - Forsiden · • Distributed resources and people • Linked by networks, crossing admin domains • Sharing resources, common goals • Dynamic R R R R R R R

18 

Summary •  Distributed systems 

–  components located in a network that communicates and coordinates their ac8ons exclusively by sending messages 

•  Consequences of distributed systems –  Independent failure of components –  Unsecure communica8on –  No global clock 

•  Distribu8on transparency: providing a single computer system view  

•  Requirements like resource sharing, openness, scalability, fault tolerance and heterogeneity can be sa8sfied by distributed systems 

–  Many pilalls when developing distributed systems 

Page 19: Distributed Systems - Forsiden · • Distributed resources and people • Linked by networks, crossing admin domains • Sharing resources, common goals • Dynamic R R R R R R R

References 

•  A. S. Tanenbaum, M. van Steen, ”Distributed Systems – Principles and Paradigms”, Pren8ce‐Hall 2007 

•  Slides: –  INF3190 2009 slides by Frank Eliassen –  A P2P slide by Jussi Kangasharju –  A P2P slide by Klaus Wehrle –  A few figures by Ian Foster