1 / 22

Naming

Naming. CSCI 4780/6780. Attribute-based Naming. Flat and structured names provide location transparency Structured names are also human-friendly Increasingly, users and application want to locate for resources based on features, contents, characteristics Web search P2P search.

Download Presentation

Naming

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Naming CSCI 4780/6780

  2. Attribute-based Naming • Flat and structured names provide location transparency • Structured names are also human-friendly • Increasingly, users and application want to locate for resources based on features, contents, characteristics • Web search • P2P search

  3. Attribute-based Naming • Describe entities as (attribute, value) pairs • Queries specify constraints on attributes • In P2P music search: • Title = “Four seasons” • Composer = “Vivaldi” • Orchestra = “Royal Philharmonic”

  4. Directory Services • Naming systems for attribute-based names • Entities associated with a set of attributes that are searchable • Resource description framework (RDF) • Triplet consisting of (subject, predicate, object) • Subjects, predicates and objects can themselves be resources • Obtain information about subject using predicates and objects • RDFs can be implemented in a distributed fashion, but costs can be quite high

  5. LDAP • Lightweight Directory Access Protocol • Hierarchical implementation • Combines structured naming and attribute-based naming • Consists of number of records • Collection of (attribute, value) pairs • Single-valued and multiple-valued attributes • Directory Information Base (DIB) – Collection of directory entries • Relative Distinguished Name • /C=NL/O=Vrije Universiteit/OU=Comp. sc.

  6. LDAP Directory Entry

  7. Directory Information Tree

  8. LDAP • Two directory entries having Host_Name as RDN.

  9. Lookups in LDAP • Read – Reads a particular entry • List – Lists all outgoing edges from a node • LDAP implementation is similar to DNS implementation • Supports richer sets of queries • Search(“&(C=NL)(O=Vrije Universiteit)(OU=*)(CN = Main Server) • Searching is expensive • Research on DHT-based implementation of attribute-based naming

  10. Synchronization CSCI 4780/6780

  11. Importance of Clocks & Synchronization • Avoiding simultaneous access of resources • Cooperate to grant exclusive access for small durations • Process may need to agree upon ordering of events • First person to complete assignment will receive bonus • How to infer who completed first? • Synchronization & ordering is difficult in distributed setting

  12. Chapter Outline • Actual time-based synchronization • Physical clocks • Synchronizing multiple clocks • Relative ordering-based synchronization • Logical clocks, Lamport’s algorithm, Vector time stamps • Global state • Leader election algorithms (time permitting) • Mutual exclusion in distributed systems • Distributed transactions

  13. Clocks in Systems • Notion of time in centralized system is unambiguous • Do a system call to get current time • Important property of time – Always moves forward • If B executes the system call after A, B will never get a lower value • Many system operations need some notion of time for correctness • Example – “Make” program in Unix • Re-compiles only files that were changed since last compilation • What happens when there is no global agreement on time?

  14. Clock Synchronization • When each machine has its own clock, an event that occurred after another event may nevertheless be assigned an earlier time.

  15. System Clocks & Clock Skew • Almost all computers have clocks (timers) • A precisely cut quartz crystal kept under tension • Oscillates at a well-defined frequency • Two registers – Counter & holding register • Each oscillation of crystal decrements counter by 1 • Interrupt when counter is zero & reload from holding reg. • Each interrupt is a tick • Clocks at multiple CPUs cannot be guaranteed to oscillate at exact same frequency • Difference between various clocks – Clock Skew

  16. How is Time Actually Measured? • Solar time – Based on earth’s rotation • Transit of sun: Sun reaching the highest apparent in sky • Solar day: Time b/w two consecutive sun transits • Solar second: 1/86400th of a solar day • Mean solar second: 1/86400th of a mean solar day • Atomic time • Second: Time for cesium-133 atom to make 9,192,631,770 transitions • International atomic time (TAI) • Leap seconds to resolve difference b/w TAI & solar time (UTC) • NIST broadcasts UTC on radio station (WWV)

  17. Physical Clocks (1) • Computation of the mean solar day.

  18. Physical Clocks (2) • TAI seconds are of constant length, unlike solar seconds. Leap seconds are introduced when necessary to keep in phase with the sun.

  19. Clock Synchronization Algorithms • Two related problems • If one machine has WWV receiver: synchronize all machines to machine with the WWV receiver • No WWV receiver: Keep all machines relatively synchronized • Many algorithms with some key assumptions • Each machine has timer that causes interrupt H times/sec • Increments software clock on each interrupt • Cp(t) indicates clock value when UTC time is t • In ideal world dC/dt = 1

  20. Drift & Max. Drift Rate • In real world dC/dt is not one • Maximum drift rate: ρ such that 1- ρ ≤ dC/dt ≤ 1 + ρ • Specified by manufactures • The relation between clock time and UTC when clocks tick at different rates.

  21. Clock Synchronization Algorithms • Two clocks drifting from UTC in opposite directions at rate of ρ need to be synchronized every δ/2ρ secs. • Christian’s Algorithm: • Suited when one machine has WWV receiver • Each machine sends a request to time server periodically (period < δ/2ρ ) seconds • Time server responds with its current time (CUTC) • Simple scheme • Set receivers time to CUTC • Two problems • Clock might run backward !!! • Doesn’t consider processing time

  22. Cristian's Algorithm (T2 – T1) + (T4 - T3) θ = T3 + ---------------------------- - T4 2 • Introduce change gradually – Reduce time by a small amount

More Related