Comparative Study of Clock Synchronization Algorithms in Distributed Systems
Total Page:16
File Type:pdf, Size:1020Kb

Load more
Recommended publications
-
Distributed & Cloud Computing: Lecture 1
Distributed & cloud computing: Lecture 1 Chokchai “Box” Leangsuksun SWECO Endowed Professor, Computer Science Louisiana Tech University [email protected] CTO, PB Tech International Inc. [email protected] Class Info ■" Class Hours: noon-1:50 pm T-Th ! ■" Dr. Box’s & Contact Info: ●"www.latech.edu/~box ●"Phone 318-257-3291 ●"Email: [email protected] Class Info ■" Main Text: ! ●" 1) Distributed Systems: Concepts and Design By Coulouris, Dollimore, Kindberg and Blair Edition 5, © Addison-Wesley 2012 ●" 2) related publications & online literatures Class Info ■" Objective: ! ●"the theory, design and implementation of distributed systems ●"Discussion on abstractions, Concepts and current systems/applications ●"Best practice on Research on DS & cloud computing Course Contents ! •" The Characterization of distributed computing and cloud computing. •" System Models. •" Networking and inter-process communication. •" OS supports and Virtualization. •" RAS, Performance & Reliability Modeling. Security. !! Course Contents •" Introduction to Cloud Computing ! •" Various models and applications. •" Deployment models •" Service models (SaaS, PaaS, IaaS, Xaas) •" Public Cloud: Amazon AWS •" Private Cloud: openStack. •" Cost models ( between cloud vs host your own) ! •" ! !!! Course Contents case studies! ! •" Introduction to HPC! •" Multicore & openMP! •" Manycore, GPGPU & CUDA! •" Cloud-based EKG system! •" Distributed Object & Web Services (if time allows)! •" Distributed File system (if time allows)! •" Replication & Disaster Recovery Preparedness! !!!!!! Important Dates ! ■" Apr 10: Mid Term exam ■" Apr 22: term paper & presentation due ■" May 15: Final exam Evaluations ! ■" 20% Lab Exercises/Quizzes ■" 20% Programming Assignments ■" 10% term paper ■" 20% Midterm Exam ■" 30% Final Exam Intro to Distributed Computing •" Distributed System Definitions. •" Distributed Systems Examples: –" The Internet. –" Intranets. –" Mobile Computing –" Cloud Computing •" Resource Sharing. •" The World Wide Web. •" Distributed Systems Challenges. Based on Mostafa’s lecture 10 Distributed Systems 0. -
Distributed Algorithms with Theoretic Scalability Analysis of Radial and Looped Load flows for Power Distribution Systems
Electric Power Systems Research 65 (2003) 169Á/177 www.elsevier.com/locate/epsr Distributed algorithms with theoretic scalability analysis of radial and looped load flows for power distribution systems Fangxing Li *, Robert P. Broadwater ECE Department Virginia Tech, Blacksburg, VA 24060, USA Received 15 April 2002; received in revised form 14 December 2002; accepted 16 December 2002 Abstract This paper presents distributed algorithms for both radial and looped load flows for unbalanced, multi-phase power distribution systems. The distributed algorithms are developed from tree-based sequential algorithms. Formulas of scalability for the distributed algorithms are presented. It is shown that computation time dominates communication time in the distributed computing model. This provides benefits to real-time load flow calculations, network reconfigurations, and optimization studies that rely on load flow calculations. Also, test results match the predictions of derived formulas. This shows the formulas can be used to predict the computation time when additional processors are involved. # 2003 Elsevier Science B.V. All rights reserved. Keywords: Distributed computing; Scalability analysis; Radial load flow; Looped load flow; Power distribution systems 1. Introduction Also, the method presented in Ref. [10] was tested in radial distribution systems with no more than 528 buses. Parallel and distributed computing has been applied More recent works [11Á/14] presented distributed to many scientific and engineering computations such as implementations for power flows or power flow based weather forecasting and nuclear simulations [1,2]. It also algorithms like optimizations and contingency analysis. has been applied to power system analysis calculations These works also targeted power transmission systems. [3Á/14]. -
Grid Computing: What Is It, and Why Do I Care?*
Grid Computing: What Is It, and Why Do I Care?* Ken MacInnis <[email protected]> * Or, “Mi caja es su caja!” (c) Ken MacInnis 2004 1 Outline Introduction and Motivation Examples Architecture, Components, Tools Lessons Learned and The Future Questions? (c) Ken MacInnis 2004 2 What is “grid computing”? Many different definitions: Utility computing Cycles for sale Distributed computing distributed.net RC5, SETI@Home High-performance resource sharing Clusters, storage, visualization, networking “We will probably see the spread of ‘computer utilities’, which, like present electric and telephone utilities, will service individual homes and offices across the country.” Len Kleinrock (1969) The word “grid” doesn’t equal Grid Computing: Sun Grid Engine is a mere scheduler! (c) Ken MacInnis 2004 3 Better definitions: Common protocols allowing large problems to be solved in a distributed multi-resource multi-user environment. “A computational grid is a hardware and software infrastructure that provides dependable, consistent, pervasive, and inexpensive access to high-end computational capabilities.” Kesselman & Foster (1998) “…coordinated resource sharing and problem solving in dynamic, multi- institutional virtual organizations.” Kesselman, Foster, Tuecke (2000) (c) Ken MacInnis 2004 4 New Challenges for Computing Grid computing evolved out of a need to share resources Flexible, ever-changing “virtual organizations” High-energy physics, astronomy, more Differing site policies with common needs Disparate computing needs -
Lecture 12: March 18 12.1 Overview 12.2 Clock Synchronization
CMPSCI 677 Operating Systems Spring 2019 Lecture 12: March 18 Lecturer: Prashant Shenoy Scribe: Jaskaran Singh, Abhiram Eswaran(2018) Announcements: Midterm Exam on Friday Mar 22, Lab 2 will be released today, it is due after the exam. 12.1 Overview The topic of the lecture is \Time ordering and clock synchronization". This lecture covered the following topics. Clock Synchronization : Motivation, Cristians algorithm, Berkeley algorithm, NTP, GPS Logical Clocks : Event Ordering 12.2 Clock Synchronization 12.2.1 The motivation of clock synchronization In centralized systems and applications, it is not necessary to synchronize clocks since all entities use the system clock of one machine for time-keeping and one can determine the order of events take place according to their local timestamps. However, in a distributed system, lack of clock synchronization may cause issues. It is because each machine has its own system clock, and one clock may run faster than the other. Thus, one cannot determine whether event A in one machine occurs before event B in another machine only according to their local timestamps. For example, you modify files and save them on machine A, and use another machine B to compile the files modified. If one wishes to compile files in order and B has a faster clock than A, you may not correctly compile the files because the time of compiling files on B may be later than the time of editing files on A and we have nothing but local timestamps on different machines to go by, thus leading to errors. 12.2.2 How physical clocks and time work 1) Use astronomical metrics (solar day) to tell time: Solar noon is the time that sun is directly overhead. -
Distributed Synchronization
Distributed Synchronization CIS 505: Software Systems Communication between processes in a distributed system can have Lecture Note on Physical Clocks unpredictable delays, processes can fail, messages may be lost Synchronization in distributed systems is harder than in centralized systems because the need for distributed algorithms. Properties of distributed algorithms: 1 The relevant information is scattered among multiple machines. 2 Processes make decisions based only on locally available information. 3 A single point of failure in the system should be avoided. Insup Lee 4 No common clock or other precise global time source exists. Department of Computer and Information Science Challenge: How to design schemes so that multiple systems can University of Pennsylvania coordinate/synchronize to solve problems efficiently? CIS 505, Spring 2007 1 CIS 505, Spring 2007 Physical Clocks 2 The Myth of Simultaneity Event Timelines (Example of previous Slide) time “Event 1 and event 2 at same time” Event 1 Node 1 Event 2 Event 1 Event 2 Node 2 Observer A: Node 3 Event 2 is earlier than Event 1 Observer B: Node 4 Event 2 is simultaneous to Event 1 Observer C: Node 5 Event 1 is earlier than Event 2 e1 || e2 = e1 e2 | e2 e1 Note: The arrows start from an event and end at an observation. The slope of the arrows depend of relative speed of propagation CIS 505, Spring 2007 Physical Clocks 3 CIS 505, Spring 2007 Physical Clocks 4 1 Causality Event Timelines (Example of previous Slide) time Event 1 causes Event 1 Event 2 Node 1 Event 2 Node 2 Observer A: Event 1 before Event 2 Node 3 Observer B: Event 1 before Event 2 Node 4 Observer C: Event 1 before Event 2 Node 5 Note: In the timeline view, event 2 must be caused by some passage of Requirement: We have to establish causality, i.e., each observer must see information from event 1 if it is caused by event 1 event 1 before event 2 CIS 505, Spring 2007 Physical Clocks 5 CIS 505, Spring 2007 Physical Clocks 6 Why need to synchronize clocks? Physical Time foo.o created Some systems really need quite accurate absolute times. -
Clock Synchronization Clock Synchronization Part 2, Chapter 5
Clock Synchronization Clock Synchronization Part 2, Chapter 5 Roger Wattenhofer ETH Zurich – Distributed Computing – www.disco.ethz.ch 5/1 5/2 Overview TexPoint fonts used in EMF. Motivation Read the TexPoint manual before you delete this box.: AAAA A • Logical Time (“happened-before”) • Motivation • Determine the order of events in a distributed system • Real World Clock Sources, Hardware and Applications • Synchronize resources • Clock Synchronization in Distributed Systems • Theory of Clock Synchronization • Physical Time • Protocol: PulseSync • Timestamp events (email, sensor data, file access times etc.) • Synchronize audio and video streams • Measure signal propagation delays (Localization) • Wireless (TDMA, duty cycling) • Digital control systems (ESP, airplane autopilot etc.) 5/3 5/4 Properties of Clock Synchronization Algorithms World Time (UTC) • External vs. internal synchronization • Atomic Clock – External sync: Nodes synchronize with an external clock source (UTC) – UTC: Coordinated Universal Time – Internal sync: Nodes synchronize to a common time – SI definition 1s := 9192631770 oscillation cycles of the caesium-133 atom – to a leader, to an averaged time, ... – Clocks excite these atoms to oscillate and count the cycles – Almost no drift (about 1s in 10 Million years) • One-shot vs. continuous synchronization – Getting smaller and more energy efficient! – Periodic synchronization required to compensate clock drift • Online vs. offline time information – Offline: Can reconstruct time of an event when needed • Global vs. -
Computing at Massive Scale: Scalability and Dependability Challenges
This is a repository copy of Computing at massive scale: Scalability and dependability challenges. White Rose Research Online URL for this paper: http://eprints.whiterose.ac.uk/105671/ Version: Accepted Version Proceedings Paper: Yang, R and Xu, J orcid.org/0000-0002-4598-167X (2016) Computing at massive scale: Scalability and dependability challenges. In: Proceedings - 2016 IEEE Symposium on Service-Oriented System Engineering, SOSE 2016. 2016 IEEE Symposium on Service-Oriented System Engineering (SOSE), 29 Mar - 02 Apr 2016, Oxford, United Kingdom. IEEE , pp. 386-397. ISBN 9781509022533 https://doi.org/10.1109/SOSE.2016.73 (c) 2016 IEEE. Personal use of this material is permitted. Permission from IEEE must be obtained for all other users, including reprinting/ republishing this material for advertising or promotional purposes, creating new collective works for resale or redistribution to servers or lists, or reuse of any copyrighted components of this work in other works. Reuse Unless indicated otherwise, fulltext items are protected by copyright with all rights reserved. The copyright exception in section 29 of the Copyright, Designs and Patents Act 1988 allows the making of a single copy solely for the purpose of non-commercial research or private study within the limits of fair dealing. The publisher or other rights-holder may allow further reproduction and re-use of this version - refer to the White Rose Research Online record for this item. Where records identify the publisher as the copyright holder, users can verify any specific terms of use on the publisher’s website. Takedown If you consider content in White Rose Research Online to be in breach of UK law, please notify us by emailing [email protected] including the URL of the record and the reason for the withdrawal request. -
Lecture 18: Parallel and Distributed Systems
Lecture 18: Parallel and What is a distributed system? Distributed Systems n From various textbooks: u “A distributed system is a collection of independent computers n Classification of parallel/distributed that appear to the users of the system as a single computer.” architectures u “A distributed system consists of a collection of autonomous n SMPs computers linked to a computer network and equipped with n Distributed systems distributed system software.” u n Clusters “A distributed system is a collection of processors that do not share memory or a clock.” u “Distributed systems is a term used to define a wide range of computer systems from a weakly-coupled system such as wide area networks, to very strongly coupled systems such as multiprocessor systems.” 1 2 What is a distributed system?(cont.) What is a distributed system?(cont.) n Michael Flynn (1966) P1 P2 P3 u n A distributed system is Network SISD — single instruction, single data u SIMD — single instruction, multiple data a set of physically separate u processors connected by MISD — multiple instruction, single data u MIMD — multiple instruction, multiple data one or more P4 P5 communication links n More recent (Stallings, 1993) n Is every system with >2 computers a distributed system?? u Email, ftp, telnet, world-wide-web u Network printer access, network file access, network file backup u We don’t usually consider these to be distributed systems… 3 4 MIMD Classification parallel and distributed Classification of the OS of MIMD computers Architectures tightly loosely coupled -
Hybrid Computing – Co-Processors/Accelerators Power-Aware Computing – Performance of Applications Kernels
C-DAC Four Days Technology Workshop ON Hybrid Computing – Co-Processors/Accelerators Power-aware Computing – Performance of Applications Kernels hyPACK-2013 (Mode-1:Multi-Core) Lecture Topic : Multi-Core Processors : Algorithms & Applications Overview - Part-II Venue : CMSD, UoHYD ; Date : October 15-18, 2013 C-DAC hyPACK-2013 Multi-Core Processors : Alg.& Appls Overview Part-II 1 Killer Apps of Tomorrow Application-Driven Architectures: Analyzing Tera-Scale Workloads Workload convergence The basic algorithms shared by these high-end workloads Platform implications How workload analysis guides future architectures Programmer productivity Optimized architectures will ease the development of software Call to Action Benchmark suites in critical need for redress C-DAC hyPACK-2013 Multi-Core Processors : Alg.& Appls Overview Part-II 2 Emerging “Killer Apps of Tomorrow” Parallel Algorithms Design Static and Load Balancing Mapping for load balancing Minimizing Interaction Overheads in parallel algorithms design Data Sharing Overheads C-DAC hyPACK-2013 Multi-Core Processors : Alg.& Appls Overview Part-II 3 Emerging “Killer Apps of Tomorrow” Parallel Algorithms Design (Contd…) General Techniques for Choosing Right Parallel Algorithm Maximize data locality Minimize volume of data Minimize frequency of Interactions Overlapping computations with interactions. Data replication Minimize construction and Hot spots. Use highly optimized collective interaction operations. Collective data transfers and computations • Maximize Concurrency. -
Clock Synchronization
Middleware Laboratory Sapienza Università di Roma MIDLAB Dipartimento di Informatica e Sistemistica Clock Synchronization Marco Platania www.dis.uniroma1.it/~platania [email protected] Sapienza University of Rome Time notion Each computer is equipped with a physical (hardware) clock It can be viewed as a counter incremented by ticks of an oscillator i At time t, the Operating System (OS) of a process y r o t reads the hardware clock H(t) of the processor a r o b a L e r a C = a H(t) + b w Then, it generates the software clock e l d d i M C approximately measures the time t of process i B A L D I M notion among processes among notion isas known evolve executions distributed (DS) Distributed in Systems Time Problems: how to analyze a in DS factor Time a key is The technique used to coordinate a common time time common a techniqueThe used coordinate to common notion time common of a process state during distributed a computation However, it©s important processes for a share to However, Lacking of a global reference time: it©s hard to know Lackingthe time:it©sknow to hard of a global reference ClockSynchronization MIDLAB Middleware Laboratory Clock Synchronization [10] The hardware clock of a set of computers (system nodes) may differ because they count time with different frequencies Clock Synchronization faces this problem by means of synchronization algorithms y r Standard communication infrastructure o t a r o No additional hardware b a L e r a w e l Clock synchronization algorithms d d i External M Internal B -
Cost Model: Work, Span and Parallelism 1 Overview of Cilk
CSE 539 01/15/2015 Cost Model: Work, Span and Parallelism Lecture 2 Scribe: Angelina Lee Outline of this lecture: 1. Overview of Cilk 2. The dag computation model 3. Performance measures 4. A simple greedy scheduler 1 Overview of Cilk A brief history of Cilk technology In this class, we will overview various parallel programming technology developed. One of the technology we will examine closely is Cilk, a C/C++ based concurrency platform. Before we overview the development and implementation of Cilk, we shall first overview a brief history of Cilk technology to account for where the major concepts originate. Cilk technology has developed and evolved over more than 15 years since its origin at MIT. The text under this subheading is partially abstracted from the “Cilk” entry in Encyclopedia of Distributed Computing [14] with the author’s consent. I invite interested readers to go through the original entry for a more complete review of the history. Cilk (pronounced “silk”) is a linguistic and runtime technology for algorithmic multithreaded programming originally developed at MIT. The philosophy behind Cilk is that a programmer should concentrate on structuring her or his program to expose parallelism and exploit locality, leaving Cilk’s runtime system with the responsibility of scheduling the computation to run effi- ciently on a given platform. The Cilk runtime system takes care of details like load balancing, synchronization, and communication protocols. Cilk is algorithmic in that the runtime system guarantees efficient and predictable performance. Important milestones in Cilk technology include the original Cilk-1 [2,1, 11], 1 Cilk-5 [7, 18,5, 17], and the commercial Cilk++ [15] by Cilk Arts. -
Difference Between Grid Computing Vs. Distributed Computing
Difference between Grid Computing Vs. Distributed Computing Definition of Distributed Computing Distributed Computing is an environment in which a group of independent and geographically dispersed computer systems take part to solve a complex problem, each by solving a part of solution and then combining the result from all computers. These systems are loosely coupled systems coordinately working for a common goal. It can be defined as 1. A computing system in which services are provided by a pool of computers collaborating over a network. 2. A computing environment that may involve computers of differing architectures and data representation formats that share data and system resources. Distributed Computing, or the use of a computational cluster, is defined as the application of resources from multiple computers, networked in a single environment, to a single problem at the same time - usually to a scientific or technical problem that requires a great number of computer processing cycles or access to large amounts of data. Picture: The concept of distributed computing is simple -- pull together and employ all available resources to speed up computing. The key distinction between distributed computing and grid computing is mainly the way resources are managed. Distributed computing uses a centralized resource manager and all nodes cooperatively work together as a single unified resource or a system. Grid computingutilizes a structure where each node has its own resource manager and the system does not act as a single unit. Definition of Grid Computing The Basic idea between Grid Computing is to utilize the ideal CPU cycles and storage of millions of computer systems across a worldwide network function as a flexible, pervasive, and inexpensive accessible pool that could be harnessed by anyone who needs it, similar to the way power companies and their users share the electrical grid.