Chapter 6: distributed systems



Similar documents
Synchronization in. Distributed Systems. Cooperation and Coordination in. Distributed Systems. Kinds of Synchronization.

Middleware and Distributed Systems. System Models. Dr. Martin v. Löwis. Freitag, 14. Oktober 11

Distributed Systems Theory 6. Clock synchronization - logical vs. physical clocks. November 9, 2009

A Visualization System and Monitoring Tool to Measure Concurrency in MPICH Programs

Distributed Synchronization

Homework 1 (Time, Synchronization and Global State) Points

Precision Time Protocol (PTP/IEEE-1588)

PipeCloud : Using Causality to Overcome Speed-of-Light Delays in Cloud-Based Disaster Recovery. Razvan Ghitulete Vrije Universiteit

Clock Synchronization

(Pessimistic) Timestamp Ordering. Rules for read and write Operations. Pessimistic Timestamp Ordering. Write Operations and Timestamps

3.7. Clock Synch hronisation

A Peer-to-Peer Point of Sale System

VoIP Timing and Synchronization Best Practices

Distributed Software Systems

Principles and characteristics of distributed systems and environments

Juniper Networks Secure Access. Initial Configuration User Records Synchronization

Some Computer Organizations and Their Effectiveness. Michael J Flynn. IEEE Transactions on Computers. Vol. c-21, No.

Clock Synchronization

Clock Synchronization

IMPLEMENTATION OF NOVEL MODEL FOR ASSURING OF CLOUD DATA STABILITY

Facebook: Cassandra. Smruti R. Sarangi. Department of Computer Science Indian Institute of Technology New Delhi, India. Overview Design Evaluation

Dr Markus Hagenbuchner CSCI319. Distributed Systems

Real Time Scheduling Basic Concepts. Radek Pelánek

Synchronization and precise timing in packet networks

Overview Motivating Examples Interleaving Model Semantics of Correctness Testing, Debugging, and Verification

Precision Time Protocol on Linux ~ Introduction to linuxptp

Table of Contents. Cisco Network Time Protocol: Best Practices White Paper

Automatic Labeling of Lane Markings for Autonomous Vehicles

Introduction to Distributed Systems

A PROXIMITY-AWARE INTEREST-CLUSTERED P2P FILE SHARING SYSTEM

Software design (Cont.)

How To Monitor And Test An Ethernet Network On A Computer Or Network Card

IMPROVED PROXIMITY AWARE LOAD BALANCING FOR HETEROGENEOUS NODES

Charles Endirect Ltd and the CELTEK Central Management System

Internet Anonymity and the Design Process - A Practical Approach

Virtual Landmarks for the Internet

Joint ITU-T/IEEE Workshop on Next Generation Optical Access Systems. DBA & QoS on the PON - Commonalities with Switching & Routing

Distributed Systems (5DV147) What is Replication? Replication. Replication requirements. Problems that you may find. Replication.

This exam contains 13 pages (including this cover page) and 18 questions. Check to see if any pages are missing.

EE 459/500 HDL Based Digital Design with Programmable Logic. Lecture 16 Timing and Clock Issues

Approximate Object Location and Spam Filtering on Peer-to-Peer Systems

Peer-to-peer framework of Distributed Environment for Cooperative and Collaborative Work Service Composition

CBERS Program Update Jacie Frederico dos Santos Liporace AMS Kepler

Data Link Layer(1) Principal service: Transferring data from the network layer of the source machine to the one of the destination machine

Project and Production Management Prof. Arun Kanda Department of Mechanical Engineering Indian Institute of Technology, Delhi

Introduction. About me

Distributed systems Lecture 6: Elec3ons, consensus, and distributed transac3ons. Dr Robert N. M. Watson

Distributed Computing over Communication Networks: Topology. (with an excursion to P2P)

observing nodes behavior in IoT validation platforms

Cassandra A Decentralized, Structured Storage System

General GPS Antenna Information APPLICATION NOTE

Practical Cassandra. Vitalii

Arithmetic Progression

Audit Trails in the Aeolus Distributed Security Platform. Victoria Popic

Document Image Retrieval using Signatures as Queries

GENERAL INFORMATION ON GNSS AUGMENTATION SYSTEMS

Role of Clusterhead in Load Balancing of Clusters Used in Wireless Adhoc Network

Formal Modeling Approach for Supply Chain Event Management

Metrics One Way. Two way. Availability Other metrics (R, BW,..?) latency packet loss Jitter delay variation. extensions of one-way metrics

Highly Available Hadoop Name Node Architecture-Using Replicas of Name Node with Time Synchronization among Replicas

SOA Standards - Patterns

Switched Interconnect for System-on-a-Chip Designs

Scalable Source Routing

Allen Goldstein NIST Synchrometrology Lab Gaithersburg, MD

PEER TO PEER CLOUD FILE STORAGE ---- OPTIMIZATION OF CHORD AND DHASH. COEN283 Term Project Group 1 Name: Ang Cheng Tiong, Qiong Liu

Software Concepts. Uniprocessor Operating Systems. System software structures. CIS 505: Software Systems Architectures of Distributed Systems

Nine Use Cases for Endace Systems in a Modern Trading Environment

To discuss this topic fully, let us define some terms used in this and the following sets of supplemental notes.

Security related to the information designing or even media editing. This enables users

Wide Area Monitoring, Control, and Protection

10.2 Series and Convergence

System Administration

Graph Theory and Complex Networks: An Introduction. Chapter 08: Computer networks

ZooKeeper. Table of contents

Project Time Management

Network Virtualization and its Application to M2M Business

Apache Hama Design Document v0.6

Vbam - Byzantine Atomic Multicast in LAN Based on Virtualization Technology

THE STEERING OF A REAL TIME CLOCK TO UTC(NBS) AND TO UTC by

Hybrid Overlay Multicast Framework draft-irtf-sam-hybrid-overlay-framework-01.txt. John Buford, Avaya Labs Research

Transcription:

Chapter 6: distributed systems Strongly related to communication between processes is the issue of how processes in distributed systems synchronize. Synchronization is all about doing the right thing at the right time. A probl em in distributed systems, and computer networks in general, is that there is no notion of a globally shared clock. In other words, processes on different machines have their own idea of what time it is. which is then treated as the super peer. Note that each node id can check whether it is a seamier by looking up There are various way to synchronize clocks in a distributed system, but all methods are essentially based on exchanging clock values, while taking into account the time it takes to send and receive messages. Variations in communication delays and the way those variations are dealt with, largely determine the accuracy of clock synchronization algorithms. Related to these synchronization problems is positioning nodes in a geometric overlay. The basic idea is to assign each node coordinates from an rndimensional space such that the geometric distance can be used as an accurate measure for the latency between two nodes. The method of assigning coordinates strongly resembles the on e applied in determining the location and time in GPS. In many cases, knowing the absolute time is not necessary. What counts is that related events at different processes happen in the correct order. Lamport showed that by introducing a notion of logical clocks, it is possible for a collection of processes to reach global agreement on the correct ordering of events. In essence, each event e, such as sending or receiving a message, is assigned a globally unique logical timestamp C(e) such that when event a happened before b, C(a) < C(b). Lamport timestamps can be extended to vector timestamps: if C(a) < C(b), we even know that event a causally preceded b. An important class of synchronization algorithms is that of distributed mutual exclusion. These algorithms ensure that in a distributed collection of processes, at most one process at a time has access to a shared resource. Distributed mutual exclusion can easily be achieved if we make use of a coordinator that keeps track of whose turn it is. Fully distributed algorithms also exist, but have the drawback that they are generally more susceptible to communication and process failures. Synchronization between processes often requires that one process acts as a coordinator. In those cases where the coordinator is not fixed, it is necessary that processes in a distributed computation decide on who is going to be that coordinator. Such a decision is taken by means of election algorithms. Election algorithms are primarily used in cases where the coordinator can crash. However, they can also be applied for the selection of super peers in peer-to-peer systems.