Computer Science Lecture 9, page 1 CS677: Distributed OS Last Class: Naming Name distribution: use hierarchies DNS Iterative versus Recursive name resolution.

Slides:



Advertisements
Similar presentations
Distributed Systems CS Synchronization Lecture 6, Sep 26, 2011 Majd F. Sakr, Vinay Kolar, Mohammad Hammoud.
Advertisements

Time and Clock Primary standard = rotation of earth De facto primary standard = atomic clock (1 atomic second = 9,192,631,770 orbital transitions of Cesium.
Computer Science 425 Distributed Systems CS 425 / ECE 428  2013, I. Gupta, K. Nahrtstedt, S. Mitra, N. Vaidya, M. T. Harandi, J. Hou.
Dr. Kalpakis CMSC621 Advanced Operating Systems Naming.
Naming Computer Engineering Department Distributed Systems Course Asst. Prof. Dr. Ahmet Sayar Kocaeli University - Fall 2014.
Distributed Systems Principles and Paradigms Chapter 04 Naming.
Univ. of TehranDistributed Operating Systems1 Advanced Operating Systems University of Tehran Dept. of EE and Computer Engineering By: Dr. Nasser Yazdani.
The implementation of a name space
Chapter 4  Naming 1 Naming Chapter 4 Chapter 4  Naming 2 Why Naming?  Names are needed to o Identify entities o Share resources o Refer to locations,
Synchronization Clock Synchronization Logical Clocks Global State Election Algorithms Mutual Exclusion.
Computer Science Lecture 9, page 1 CS677: Distributed OS Today: Naming Names are used to share resources, uniquely identify entities and refer to locations.
Naming Names in computer systems are used to share resources, to uniquely identify entities, to refer to locations and so on. An important issue with naming.
Distributed Systems CS Naming – Part II Lecture 6, Sep 26, 2011 Majd F. Sakr, Vinay Kolar, Mohammad Hammoud.
SynchronizationCS-4513, D-Term Synchronization in Distributed Systems CS-4513 D-Term 2007 (Slides include materials from Operating System Concepts,
Synchronization in Distributed Systems CS-4513 D-term Synchronization in Distributed Systems CS-4513 Distributed Computing Systems (Slides include.
EEC-681/781 Distributed Computing Systems Lecture 10 Wenbing Zhao Cleveland State University.
EEC-681/781 Distributed Computing Systems Lecture 10 Wenbing Zhao Cleveland State University.
Naming Names in computer systems are used to share resources, to uniquely identify entities, to refer to locations and so on. An important issue with naming.
Computer Science Lecture 12, page 1 CS677: Distributed OS Last Class Vector timestamps Global state –Distributed Snapshot Election algorithms.
Lecture 9: Time & Clocks CDK4: Sections 11.1 – 11.4 CDK5: Sections 14.1 – 14.4 TVS: Sections 6.1 – 6.2 Topics: Synchronization Logical time (Lamport) Vector.
1 Synchronization Part 1 REK’s adaptation of Claypool’s adaptation of Tanenbaum’s Distributed Systems Chapter 5.
Synchronization.
Lecture 2-1 CS 425/ECE 428 Distributed Systems Lecture 2 Time & Synchronization Reading: Klara Nahrstedt.
1 Physical Clocks need for time in distributed systems physical clocks and their problems synchronizing physical clocks u coordinated universal time (UTC)
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Computer Science Lecture 9, page 1 CS677: Distributed OS Today: Naming Names are used to share resources, uniquely identify entities and refer to locations.
Naming CSCI 4780/6780. Attribute-based Naming Flat and structured names provide location transparency Structured names are also human-friendly Increasingly,
Distributed Systems Principles and Paradigms Chapter 04 Naming.
Naming Chapter 4. Name Spaces (1) A general naming graph with a single root node.
Naming Chapter 4.
Computer Science Lecture 10, page 1 CS677: Distributed OS Last Class: Naming Name distribution: use hierarchies DNS X.500 and LDAP.
Parallel and Distributed Simulation Synchronizing Wallclock Time.
Fall 2007cs4251 Distributed Computing Umar Kalim Dept. of Communication Systems Engineering 10/12/2007.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Synchronization Chapter 5. Outline 1.Clock synchronization 2.Logical clocks 3.Global state 4.Election algorithms 5.Mutual exclusion 6.Distributed transactions.
Synchronization Chapter 5.
Synchronization Distributed System. Why synchronization? Two sharpshooters in a multiplayer online game kill the same target. Which one gets the points?
Time This powerpoint presentation has been adapted from: 1) sApr20.ppt.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Real-Time & MultiMedia Lab Synchronization Distributed System Jin-Seung,KIM.
Synchronization CSCI 4900/6900. Importance of Clocks & Synchronization Avoiding simultaneous access of resources –Cooperate to grant exclusive access.
Physical clock synchronization Question 1. Why is physical clock synchronization important? Question 2. With the price of atomic clocks or GPS coming down,
Clock Synchronization When each machine has its own clock, an event that occurred after another event may nevertheless be assigned an earlier time.
Synchronization. Clock Synchronization In a centralized system time is unambiguous. In a distributed system agreement on time is not obvious. When each.
Synchronization Chapter 5. Clock Synchronization When each machine has its own clock, an event that occurred after another event may nevertheless be assigned.
Naming CSCI 6900/4900. Mounting Mounting – Merging different namespaces transparently File system example –Directory node of one namespace stores identifier.
Lecture 9: Name and Directory Servers CDK4: Chapter 9 CDK5: Chapter 13 TVS: Chapter 5.
Lecture on Synchronization Submitted by
Naming CSCI 4780/6780. Name Space Implementation Naming service – A service that lets users to add/delete and lookup names In large distributed systems.
Distributed Systems Lecture 5 Time and synchronization 1.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Proof of liveness: an example
Distributed Computing
Naming Chapter 4.
Lecture 7: Name and Directory Servers
Lecture 7: Name and Directory Servers
Logical time (Lamport)
Lecture 8: Name and Directory Servers
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Distributed Systems CS
Distributed Systems CS
Physical clock synchronization
CDK: Sections 11.1 – 11.4 TVS: Sections 6.1 – 6.2
Logical time (Lamport)
Logical time (Lamport)
Logical time (Lamport)
Last Class: Naming Name distribution: use hierarchies DNS
Presentation transcript:

Computer Science Lecture 9, page 1 CS677: Distributed OS Last Class: Naming Name distribution: use hierarchies DNS Iterative versus Recursive name resolution

Computer Science Lecture 9, page 2 CS677: Distributed OS The DNS Name Space The most important types of resource records forming the contents of nodes in the DNS name space. Type of record Associated entity Description SOAZoneHolds information on the represented zone AHostContains an IP address of the host this node represents MXDomainRefers to a mail server to handle mail addressed to this node SRVDomainRefers to a server handling a specific service NSZoneRefers to a name server that implements the represented zone CNAMENodeSymbolic link with the primary name of the represented node PTRHostContains the canonical name of a host HINFOHostHolds information on the host this node represents TXTAny kindContains any entity-specific information considered useful

Computer Science Lecture 9, page 3 CS677: Distributed OS DNS Implementation An excerpt from the DNS database for the zone cs.vu.nl.

Computer Science Lecture 9, page 4 CS677: Distributed OS X.500 Directory Service OSI Standard Directory service: special kind of naming service where: –Clients can lookup entities based on attributes instead of full name –Real-world example: Yellow pages: look for a plumber

Computer Science Lecture 9, page 5 CS677: Distributed OS The X.500 Name Space (1) A simple example of a X.500 directory entry using X.500 naming conventions. AttributeAbbr.Value CountryCNL LocalityLAmsterdam OrganizationLVrije Universiteit OrganizationalUnitOUMath. & Comp. Sc. CommonNameCNMain server Mail_Servers , , FTP_Server WWW_Server

Computer Science Lecture 9, page 6 CS677: Distributed OS The X.500 Name Space (2) Part of the directory information tree.

Computer Science Lecture 9, page 7 CS677: Distributed OS LDAP Lightweight Directory Access Protocol (LDAP) –X.500 too complex for many applications –LDAP: Simplified version of X.500 –Widely used for Internet services –Application-level protocol, uses TCP –Lookups and updates can use strings instead of OSI encoding –Use master servers and replicas servers for performance improvements –Example LDAP implementations: Active Directory (Windows 2000) Novell Directory services iPlanet directory services (Netscape) OpenLDAP Typical uses: user profiles, access privileges, network resources

Computer Science Lecture 9, page 8 CS677: Distributed OS Canonical Problems in Distributed Systems Time ordering and clock synchronization Leader election Mutual exclusion Distributed transactions Deadlock detection

Computer Science Lecture 9, page 9 CS677: Distributed OS Clock Synchronization Time in unambiguous in centralized systems –System clock keeps time, all entities use this for time Distributed systems: each node has own system clock –Crystal-based clocks are less accurate (1 part in million) –Problem: An event that occurred after another may be assigned an earlier time

Computer Science Lecture 9, page 10 CS677: Distributed OS Physical Clocks: A Primer Accurate clocks are atomic oscillators (one part in ) Most clocks are less accurate (e.g., mechanical watches) –Computers use crystal-based blocks (one part in million) –Results in clock drift How do you tell time? –Use astronomical metrics (solar day) Coordinated universal time (UTC) – international standard based on atomic time –Add leap seconds to be consistent with astronomical time –UTC broadcast on radio (satellite and earth) –Receivers accurate to 0.1 – 10 ms Need to synchronize machines with a master or with one another

Computer Science Lecture 9, page 11 CS677: Distributed OS Clock Synchronization Each clock has a maximum drift rate  1-  dC/dt <= 1+  –Two clocks may drift by 2  t in time  t –To limit drift to  => resynchronize every  2  seconds

Computer Science Lecture 9, page 12 CS677: Distributed OS Cristian’s Algorithm Synchronize machines to a time server with a UTC receiver Machine P requests time from server every  seconds –Receives time t from server, P sets clock to t+t reply where t reply is the time to send reply to P –Use (t req +t reply )/2 as an estimate of t reply –Improve accuracy by making a series of measurements

Computer Science Lecture 9, page 13 CS677: Distributed OS Berkeley Algorithm Used in systems without UTC receiver –Keep clocks synchronized with one another –One computer is master, other are slaves –Master periodically polls slaves for their times Average times and return differences to slaves Communication delays compensated as in Cristian’s algo –Failure of master => election of a new master

Computer Science Lecture 9, page 14 CS677: Distributed OS Berkeley Algorithm a)The time daemon asks all the other machines for their clock values b)The machines answer c)The time daemon tells everyone how to adjust their clock

Computer Science Lecture 9, page 15 CS677: Distributed OS Distributed Approaches Both approaches studied thus far are centralized Decentralized algorithms: use resync intervals –Broadcast time at the start of the interval –Collect all other broadcast that arrive in a period S –Use average value of all reported times –Can throw away few highest and lowest values Approaches in use today –rdate: synchronizes a machine with a specified machine –Network Time Protocol (NTP) Uses advanced techniques for accuracies of 1-50 ms