Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

Distributed Systems: Concepts, Fundamental Problems, and Models, Study notes of Computer Science

An introduction to distributed systems, discussing their key concepts, fundamental problems, and models. It covers various examples of distributed systems, such as the internet, peer-to-peer networks, sensor networks, and computation grids. The document also explains the importance of failures in distributed systems and outlines the key issues in designing them.

Typology: Study notes

Pre 2010

Uploaded on 03/16/2009

koofers-user-pi5-1
koofers-user-pi5-1 🇺🇸

10 documents

1 / 43

Toggle sidebar

Related documents


Partial preview of the text

Download Distributed Systems: Concepts, Fundamental Problems, and Models and more Study notes Computer Science in PDF only on Docsity! Lecture 1 introduction: systems, fundamental problems, and models distributed systems CS425 / ECE 428 / CSE 424 acknowledgment These slides are based on ideas and material from the following sources: • slides prepared by Professors M. T. Harandi and J. Hou and subsequently  modified by Professors Indranil Gupta, Nitin Vaidya, and Yih‐Chun Hu at  University of Illinois • slides from Professor S. Ghosh’s course at University of Iowa 1. the Internet *y Uurehycheawok map o1 Ihe Rtemet - ON FASS hupewwrw eheswick.commeanfnecr on ‘showing Un nner ISPS, Dalit colecto 28 Je 1999 kc ‘Copyright (C) 1898, Licant Technologies Internet Mapping Project, color coded by ISPs 1. the Internet intranet ISP desktop: backbone satellite link server: network link: a typical Intranet the rest of email server Web server Desktop computers File server router/firewall print and other servers other servers print Local area network email server the Internet 4. distributed mobile robots si Kiva robot 500 robots coordinate to manage inventory in a warehouse http://www. raffaello.name/KivaSystems.html 5. computation grids • Seti@Home • uses Internet‐connected  computers in the Search for  Extraterrestrial Intelligence  • downloads and analyzes  radio  telescope data on your desktop  and sends it back to Seti servers • http://setiathome.berkeley.edu/ why distributed systems ? * geographic distribution of processes * resource sharing (as used in P2P networks) * computation speed up (as in a grid) e fault tolerance CS 425 CS 425 is an introduction to the key concepts for — designing — analyzing and — implementing distributed systems key issues in design fundamental problems in  distributed systems • time synchronization • leader election • mutual exclusion • distributed snapshot • routing • consensus • replica management • transactions we will study algorithms (and lower bounds) for these  types of problems approaching  implementations the rest of email server Web server Desktop computers File server router/firewall print and other servers other servers print Local area network email server the Internet implementation • in implementing a distributed systems we have to first know the nature of  the underlying computing and networking infrastructure • what can we assume?  – how large are the message delays and latencies ? – are processor clocks synchronized ? – do processors and links fail ? – could processes become malicious ?  – are channels secure from eavesdropping and corruption ?  – what are the allowed primitive HW/OS operations ? (e.g. atomic broadcast)  • different answers to these questions give rise to a different model for a  distributed system • we will study the algorithms for the fundamental problems in the context of  certain models a reliable FIFO channel Axiom 1. Message m sent ⇔ message m received Axiom 2. Message propagation delay is arbitrary but finite. Axiom 3. m1 sent before m2 ⇒ m1 received before m2. P Q shared memory model address spaces of processes overlap M1 1 3 2 4 M2 concurrent operations on a shared variable are serialized modeling wireless networks • communication via broadcast • limited range • dynamic topology • collision of broadcasts  (handled by CSMA/CA) 0 1 2 3 4 5 6 0 1 2 3 4 5 6 (a) (b) RTS RTS CTS model transformation Stronger models ‐ simplify reasoning, but  ‐ needs extra work to  implement Weaker models ‐ are easier to implement.  ‐ have a closer relationship  with the real world “Can model X be implemented  using model Y?” is an  interesting question in  computer science. Sample problems non‐FIFO to FIFO channel Message passing to shared  memory from non-FIFO to FIFO channel ? Cr) m2 m3 m4 mi Ce} buffer typical design goals • heterogeneity – can the system handle different types of PCs and  devices? • robustness – is the system resilient to crashes and failures? • availability – are data, services always there? • transparency – does the system hide internal workings from the  users? • concurrency – can the server handle multiple clients simultaneously? • efficiency – is it fast enough? • scalability – can it handle 100 million nodes? • security – can the system withstand hacker attacks? • openness – is the system extensible? Heterogeneity • Variety and differences among: – Networks  – Hardware and Operating Systems  – Programming Languages – Implementations • Middleware – a software layer that provides a programming  abstraction as well as  – (i) masking the heterogeneity of the underlying networks, hardware,  operating systems and programming languages. – (ii) providing uniform computational models, e.g., remote object invocation, remote event notification. • Virtual machine – The compiler for a particular language generates code for a virtual  machine, instead of a particular hardware code to assist execution of  mobile code. Openness • Degree to which new resource‐sharing services  can be added & used. • Requires publication of interfaces for access to  shared resources • Requires uniform communicationmechanism • Conformance of each component  to the  published standard must be tested and verified Security • Security has three components: – Confidentiality (protection against disclosure to unauthorized  individuals). – Integrity (protection against alternation or corruption). – Availability (protection against interference with the means to  access the resources). • Two security challenges: – Denial of service attacks: bombarding the service with a large  number of pointless requests. – Mobile code security:  mobile codes may be accessing local  resources. Concurrency • Is a problem when two or more users  access to the same resource by two at the  same time – Each resource is encapsulated as an  object and invocations are executed in  concurrent  threads – Concurrency can be maintained by use  of semaphores and other mutual  exclusion mechanisms. Transparency • Concealment of the separation of components from  users: – Access transparency: local and remote resources can be accessed using identical operations. – Location transparency: resources can be accessed without  knowing their whereabouts. – Concurrency transparency: processes can operate concurrently  using shared resources without interferences. – Failure transparency: faults can be concealed from  users/applications. – Mobility transparency: resources/users can move within a  system without affecting their operations. – Performance transparency: system can be reconfigured to  improve the performance. – Scaling transparency: system can be expanded in scale without  change to the applications. Transparency Distributed file system allows access transparency and location transparency. URLs are location transparent, but are not mobility- transparent (someone’s personal web page cannot move to anew place and still be accessed using the same URL). Message retransmission governed by TCP is a mechanism for providing failure transparency. Mobile phone is an example of mobility transparency.
Docsity logo



Copyright © 2024 Ladybird Srl - Via Leonardo da Vinci 16, 10126, Torino, Italy - VAT 10816460017 - All rights reserved