Clock Synchronization
|
|
|
- Jonah Cole
- 9 years ago
- Views:
Transcription
1 Introduction Lectures on distributed systems Clock Synchronization Paul Krzyzanowski When Charles V retired in weariness from the greatest throne in the world to the solitude of the monastery at Yuste, he occupied his leisure for some weeks trying to regulate two clocks. It proved very difficult. One day, it is recorded, he turned to his assistant and said: To think that I attempted to force the reason and co n- science of thousands of men into one mould, and I cannot make two clocks agree! Havelock Ellis, The Task of Social Hygiene, Chapter 9 Clock synchronization deals with understanding the temporal ordering of events produced by concurrent processes. It is useful for synchronizing senders and receivers of messages, controlling joint activity, and the serializing concurrent access to shared objects. The goal is that multiple unrelated processes running on different machines should be in agreement with and be able to make consistent decisions about the ordering of events in a system. For these kinds of events, we introduce the concept of a logical clock, one where the clock need not have any bearing on the time of day but rather be able to create event sequence numbers that can be used for comparing sets of events, such as a messages, within a distributed system. Another aspect of clock synchronization deals with synchronizing time-of-day clocks among groups of machines. In this case, we want to ensure that all machines can report the same time, regardless of how imprecise their clocks may be or what the network latencies are between the machines. A consistent view of time The common-sense reaction to making time-based decisions is to rely upon a time-of-day clock. Most computers have them and it would seem to be a simple matter to throw on a time-of-day timestamp to any message or other event where we would need to mark its time and possibly compare it with the time of other events. This method is known as global time ordering. There are a couple of problems with this approach. The first is that that we have no assurance that clocks on different machines are synchronized. If machine A generates a message at 4:15:00 and machine B generates a message at 4:15:20, it s quite possible that machine B s message was generated prior to that of machine A if B s clock was over 20 seconds too fast. Even if we synchronize periodically, Paul Krzyzanowski 1
2 it s quite possible (even likely) that the clocks may run at different speeds and drift apart to report different times. The second problem is that two events on two different systems may actually occur at exactly the same time (to the precision of the clock, at least) and thus be tagged with identical timestamps. If we have algorithms that compare messages to pick one over another and rely on them coming up with the same answer on all systems, we have a problem as there will be no unique way to select one message over another consistently Logical clocks Let s again consider cases that involve assigning sequence numbers ( timestamps ) to events upon which all cooperating processes can agree. What matters in these cases is not the time of day at which the event occurred but that all processes can agree on the order in which related events occur. Our interest is in getting event sequence numbers that make sense system-wide. These clocks are called logical clocks. If we can do this across all events in the system, we have something called total ordering: every event is assigned a unique timestamp (number), every such timestamp is unique. However, we don t always need total ordering. If processes do not interact then we don t care when their events occur. If we only care about assigning timestamps to related (causal) events then we have something known as partial ordering. Leslie Lamport developed a happens before notation to express the relationship between events: a b means that a happens before b. If a represents the timestamp of a message sent and b is the timestamp of that message being received, then a b must be true; a message cannot be received before it is sent. This relationship is transitive. If a b and b c then a c. If a and b are events that take place in the same process the a b is true if a occurs before b. The importance of measuring logical time is in assigning a time value to each event such that everyone will agree on the final order of events. That is, if a b then clock(a) < clock(b) since the clock (our timestamp generator) must never run backwards. If a and b occur on different processes that do not exchange messages (even through third parties) then a b is not true. These events are said to be concurrent: there is no way that a could have influenced b. Consider the sequence of events depicted in Figure 1 taking place between Figure 1. Unsequenced event stamps Paul Krzyzanowski 2
3 three processes. Each event is assigned a timestamp by its respective process. The process simply maintains a global counter that is incremented before each event gets a timestamp. If we examine the timestamps from our global perspective, we can observe a number of peculiarities. Event g, the event representing the receipt of the message sent by event a, has the exact same timestamp as event a when it clearly had to take place after event a. Event e has an earlier time stamp (1) than the event that sent the message (b, with a timestamp of 2). Lamport s algorithm remedies the situation by forcing a resequencing of timestamps to ensure that the happens before relationship is properly depicted for events related to sending and receiving messages. It works as follows: Each process has a clock, which can be a simple counter that is incremented for each event. The sending of a message is an event and each message carries with it a timestamp obtained from the current value of the clock at that process (sequence number). The arrival of a message at a process is also an event will also receive a timestamp by the receiving process, of course. The process clock is incremented prior to timestamping the event, as it would be for any other event. If the clock value is less than the timestamp in the received message, the system s clock is adjusted to the (message s timestamp + 1). Otherwise nothing is done. The event is now timestamped. If we apply this algorithm to the same sequence of messages, we can see that proper message ordering among causally related events is now preserved (Figure 2). Note that between every two events, the clock must tick at least once. Lamport's algorithm allows us to maintain proper time ordering among causally-related events. In summary, Lamport s algorithm requires a monotonically increasing software counter for a clock that has to be incremented at least when events that need to be timestamped take place. These events will have the clock value, or Lamport timestamp, associated with them. For any two events, where a b, L(a) < L(b) where L(x) represents the Lamport timestamp for event x. Lamport timestamps assure us that if there is a causal relationship between two events, then the earlier event will have a smaller time- Figure 2. Lamport sequenced event stamps Paul Krzyzanowski 3
4 stamp than the later event. Causality is achieved by successive events on one process or by the sending and receipt of messages on different processes. As defined by the happened-before relationship, causality is transitive. For instance, events a and f are causally related in Figure 2 (through the sequence a, b, e, f). Total ordering Note that it is very possible for multiple non-causal (concurrent) events to share identical Lamport timestamps (e.g., c, e, and h in Figure 2). This may cause confusion if multiple processes need to make a decision based on the timestamps of two events. The selection of a specific event may not matter if the events are concurrent but we want all the processes to be able to make the same decision. This is difficult if the timestamps are identical. Fortunately, there s an easy remedy. We can create a total order on events by further qualifying them with identities of processes. We define a global logical timestamp (T i,i) where T i represents the local Lamport timestamp and i represents the process ID (in some globally unique way: for example, a concatenation of host address and process ID). We are then able to globally compare these timestamps and conclude that (T i,i) < (T j,j) if and only if T i < T j or T i = T j and i < j. There is no physical significance to the order since process identifiers can be arbitrary and do not relate to event ordering but the ability to ensure that no two Lamport timestamps are the same globally is helpful in algorithms that need to compare these timestamps. Figure 3 shows an example with a suffix of the process ID added to each timestamp. In real life, depending on the application, one may use a combination of thread ID, process ID, and IP address as a qualifier to the timestamp. Figure 3. Totally ordered Lamport timestamps Vector clocks: identifying concurrent events If two events are causally related and event e happened before event e then we know that L(e) < L(e ). However, the converse is not necessarily true. With Lamport s algorithm, if L(e) < L(e ) we cannot conclude that e e. Hence, if we look at Lamport timestamps, we cannot conclude which pairs of events are causally related and which are not. One solution that has been proposed to deal with this Paul Krzyzanowski 4
5 problem is the concept of vector clocks (proposed by Mattern in 1989 and Fridge in 1991). A vector clock in a system of N processes is a vector of N integers. Each process maintains its own vector clock (V i for a process P i ) to timestamp local events. Like Lamport timestamps, vector timestamps (the vector of N integers) are sent with each message. The rules for using vector clocks are: 1. The vector is initialized to 0 at all processes: V i [j] = 0 for i,j = 1,, N 2. Before a process P i timestamps an event, it increments its element of the vector in its local vector: V i [i] = V i [i]+1 3. A message is sent from process P i with V i attached to the message. 4. When a process P j receives a vector timestamp t, it compares the two vectors element by element, setting its local vector clock to the higher of the two values: V j [i] = max(v j [i], t[i]) for i=1,, N We compare two vector timestamps by defining: V = V iff V[j] = V [j] for i=1,, N V V iff V[j] V [j] for i=1,, N For any two events e, e, if e e then V(e) < V(e ). This is the same as we get from Lamport s algorithm. With vector clocks, we now have the additional knowledge that if V(e) <V(e ) then e e. Two events e, e are concurrent if neither V(e) V(e ) nor V(e ) V(e). The disadvantage with vector clocks is the greater storage and message payload size, since an entire vector rather than a single integer must be manipulated. We can examine the events in Figure 4 with vector clocks and see how events a and e can be determined to be concurrent by comparing their vector timestamps. If we do an element-by-element comparison, we see that each element in one timestamp is not consistently less than or equal to its corresponding element in the second timestamp. For example, element 1 is greater in a than it is in e (1>0) but element 3 in a is less it is in e (0<1). Figure 4. Messages with vector timestamps Paul Krzyzanowski 5
6 Physical clocks Most computers today keep track of the passage of time with a battery-backedup CMOS clock circuit, driven by a quartz resonator. This allows the timekeeping to take place even if the machine is powered off. When on, an operating system will generally program a timer circuit (a Programmable Interval Timer, or PIT, in older Intel architectures and Advanced Programmable Interrupt Controller, or APIC, in newer systems.) to generate an interrupt periodically (common times are 60 or 100 times per second). The interrupt service procedure simply adds one to a counter in memory. While the best quartz resonators can achieve an accuracy of one second in 10 years, they are sensitive to changes in temperature and acceleration and their resonating frequency can change as they age. Standard resonators are accurate to 6 parts per million at 31 C, which corresponds to ±½ second per day. clock A clock B Figure 5. Clock drift and clock skew skew = 4 seconds The problem with maintaining a concept of time is when multiple entities expect each other to have the same idea of what the time is. Two watches hardly ever agree. Computers have the same problem: a quartz crystal on one computer will oscillate at a slightly different frequency than on another computer, causing the clocks to tick at different rates. The phenomenon of clocks ticking at different rates, creating a ever widening gap in perceived time is known as clock drift. The difference between two clocks at any point in time is called clock skew and is due to both clock drift and the possibility that the clocks may have been set differently on different machines. Figure 5 illustrates this phenomenon with two clocks, A and B, where clock B runs slightly faster than clock A by approximately two seconds per hour. This is the clock drift of B relative to A. At one point in time (five seconds past five o'clock according to A's clock), the difference in time between the two clocks is approximately four seconds. This is the clock skew at that particular time. Compensating for drift We can envision clock drift graphically by considering true (UTC) time flowing on the x-axis and the corresponding computer s clock reading on the y-axis. A perfectly accurate clock will exhibit a slope of one. A faster clock will create a slope greater than unity while a slower clock will create a slope less than unity Paul Krzyzanowski 6
7 Suppose that we have a means of obtaining the true time. One easy (and frequently adopted) solution is to simply update the system time to the true time. To complicate matters, one constraint that we ll impose is that it s not a good idea to set the clock back. The illusion of time moving backwards can confuse message ordering and software development environments. If a clock is fast, it simply has to be made to run slower until it synchronizes. If a clock is slow, the same method can be applied and the clock can be made to run faster until it synchronizes. The operating system can do this by changing the rate at which it requests interrupts. For example, suppose the system requests an interrupt every 17 milliseconds (pseudo-milliseconds, really the computer s idea of what a System clock, C millisecond is) and the clock runs a bit too slowly. The system can request interrupts at a faster rate, say every 16 or 15 milliseconds, until the clock catches up. This adjustment changes the slope of the system time and is known as a linear compensating function (Figure 6). After the synchronization period is reached, one can choose to resynchronize periodically and/or keep track of these adjustments and apply them continually to get a better running clock. This is analogous to noticing that your watch loses a minute every two months and making a mental note to adjust the clock by that amount every two months (except the system does it continually). For an example of clock adjustment, see the UNIX System V man page for adjtime. Setting the time on physical clocks fast clock, dc/dt > 1 ideal clock, dc/dt = 1 linear compensating function applied UTC time, t With physical clocks, our interest is not in advancing them just to ensure proper message ordering, but to have the system clock keep good time. We looked at methods for adjusting the clock to compensate for skew and drift, but it is essential that we get the time first so that we would know what to adjust. One possibility is to attach a GPS (Global Positioning System) receiver to each computer. A GPS receiver will provide time within ± 1 msec. of UTC time and can be had for under US $40. Unfortunately, they rarely work indoors. Alternatively, if the machine is in the U.S., one can attach a WWV radio receiver to obtain time broadcasts from Boulder, Colorado or Washington, DC, giving accuracies of ± 3 10 msec., depending on the distance from the source. Another option a skew Figure 6. Compensating for drift with a linear compensating function b Paul Krzyzanowski 7
8 is to obtain a GOES (Geostationary Operational Environment Satellites) receiver, which will provide time within ± 0.1 msec. of UTC time. For reasons of economy, convenience, and reception, these are not practical solutions for every machine. Most machines will set their time by asking another machine for the time (preferably one with one of the aforementioned time sources). A machine that provides this information is called a time server. Cristianʼs algorithm The simplest algorithm for setting the time would be to simply issue a remote procedure call to a time server and obtain the time. That does not account for the network and processing delay. We can attempt to compensate for this by measuring the time (in local system time) at which the request is sent (T 0 ) and the time at which the response is received (T 1 ). Our best guess at the network delay in each direction is to assume that the delays to and from are symmetric (we have no reason to believe otherwise). The estimated overhead due to the network delay is then (T 1 - T 0 )/2. The new time can be set to the time returned by the server plus the time that elapsed since the server generated the timestamp: T new = T server T 1 T Suppose that we know the smallest time interval that it could take for a message to be sent between a client and server (either direction). Let's call this time T min. This is the time when the network and CPUs are completely unloaded. Knowing this value allows us to place bounds on the accuracy of the result obtained from the server. If we sent a request to the server at time T 0, then the earliest time stamp that the server could generate the timestamp is T 0 + T min. The latest time that the server could generate the timestamp is T 1 - T min, where we assume it took only the minimum time, T min, to get the response. The range of these times is: T 1 - T 0-2T min, so the accuracy of the result is: Errors are cumulative. If machine A synchronizes from a server B and gets an accuracy of ±5 msec but server B in turn got its time from server C with an accuracy of ±7 msec, the net accuracy at machine A is ±(5+7), or ±12 msec. ± T 1 T 0 2 T min Several time requests may be issued consecutively in the hope that one of the requests may be delivered faster than the others (e.g., it may be submitted during a time window when network activity is minimal). This can achieve improved accuracy. Cristian's algorithm suffers from the problem that afflicts all single-server algorithms: the server might fail and clock synchronization will be unavailable. It is also subject to malicious interference Paul Krzyzanowski 8
9 Berkeley algorithm The Berkeley algorithm, developed by Gusella and Zatti in 1989, does not assume that any machine has an accurate time source with which to synchronize. Instead, it opts for obtaining an average time from the participating computers and synchronizing all machines to that average. The machines involved in the synchronization each run a time dæmon process that is responsible for implementing the protocol. One of these machines is elected (or designated) to be the master. The others are slaves. The server polls each machine periodically, asking it for the time. The time at each machine may be estimated by using Cristian's method to account for network delays. When all the results are in, the master computes the average time (including its own time in the calculation). The hope is that the average cancels out the individual clock's tendencies to run fast or slow. Instead of sending the updated time back to the slaves, which would introduce further uncertainty due to network delays, it sends each machine the offset by which its clock needs adjustment. The operation of this algorithm is illustrated in Figure 7. Three machines have times of 3:00, 3:25, and 2:50. The machine with the time of 3:00 is the server (master). It sends out a synchronization query to the other machines in the group. Each of these machines sends a timestamp as a response to the query. The server now averages the three timestamps: the two it received and its own, computing (3:00+3:25+2:50)/3 = 3:05. Now it sends an offset to each machine so that the machine's time will be synchronized to the average once the offset is applied. The machine with a time of 3:25 gets sent an offset of -0:20 and the machine with a time of 2:50 gets an offset of +0:15. The server has to adjust its own time by +0:05. The algorithm also has provisions to ignore readings from clocks whose skew is too great. The master may compute a fault-tolerant average averaging values from machines whose clocks have not drifted by more than a certain amount. If the master machine fails, any other slave could be elected to take over. Network Time Protocol (NTP) The Network Time Protocol [1991, 1992] is an Internet standard (version 3, RFC 1305) whose goals are to: time? - Enable clients across the Internet to be accurately synchronized to UTC (universal coordinated time) despite message delays. Statistical techniques are used for filtering data and gauging the quality of the results. 3:00 3:25 2:50 server 3:25 2:50 time? -0:20 3:00 +0:05 server 3:25 2:50 Figure 7. Berkeley synchronization algorithm +0: Paul Krzyzanowski 9
10 - Provide a reliable service that can survive lengthy losses of connectivity. This means having redundant paths and redundant servers. - Enable clients to synchronize frequently and offset the effects of clock drift. - Provide protection against interference; authenticate that the data is from a trusted source. The NTP servers are arranged into strata. stratum 1 The first stratum contains the primary servers, which are machines that are stratum 2 connected directly to an accurate time source. The second stratum contains the secondary servers. These machines are stratum 3 synchronized from the primary stratum Figure 8. NTP synchronization subnet machines. The third stratum contains tertiary servers that are synchronized from the secondaries, and so on. Together, all these servers form the synchronization subnet (Figure 8). time source A machine will often try to synchronize with several servers, using the best of all the results to set its time. The best result is a function of a number of qualities, including: round-trip delay, consistency of the delay, round-trip error, server s stratum, the accuracy of the server s clock, the last time the server s clock was synchronized, and the estimated drift on the server. Because a system may synchronize with multiple servers, its stratum is dynamic: it is based on the server used for the latest synchronization. If you synchronized from a secondary NTP server then you are in the third stratum. If, next time, you used a primary NTP server to synchronize, you are now in the second stratum. Machines synchronize in one of the following modes: - symmetric active mode: a host sends periodic messages regardless of the reachability state or stratum of its peer - symmetric passive: this mode is created when a system receives a message from a peer operating in symmetric active mode and persists as long as the peer is reachable and operating at a stratum less than or equal to the host. This is a mode where the host announces its willingness to synchronize and be synchronized by the peer. This mode offers the highest accuracy and is intended for use by master servers. A pair of servers exchanges messages with each other containing timing information. Timing data are retained to improve accuracy in synchronization over time Paul Krzyzanowski 10
11 - procedure call mode: similar to Cristian s algorithm; a client announces its willingness to by synchronized by the server, but not to synchronize the server. - multicast mode: intended for high speed LANs; relatively low accuracy but fine for many applications. All messages are delivered unreliably via UDP. In both the procedure call mode and symmetric mode, messages are exchanged in pairs. Each message has the following timestamps: T i-3 : local time when previous NTP message was sent. T i-2 : local time when previous NTP message was received. T i-1 : local time when current NTP message was sent. The server notes its local time, T i. For each pair, NTP calculates the offset (estimate of the actual offset between two clocks) and delay (total transit time for two messages). In the end, a process determines three products: 1. Clock offset: this is the amount that the local clock needs to be adjusted to have it correspond to a reference clock. 2. Roundtrip delay: this provides the client with the capability to launch a message to arrive at the reference clock at a particular time; it gives us a measure of the transit time of the mesge to a particular time server. 3. Dispersion: this is the quality of estimate (also known as filter dispersion) based on the accuracy of the server s clock and the consistency of the network transit times. It represents the maximum error of the local clock relative to the reference clock. By performing several NTP exchanges with several servers, a process can determine which server to favor. The preferred ones are those with a lower stratum and the lowest total filter dispersion. A higher stratum (less accurate) time source may be chosen if the communication to the more accurate servers is less predictable. The Simple Network Time Protocol, SNTP (RFC 2030), is an adaptation of the Network Time Protocol that allows operation in a stateless remote procedure call mode or multicast mode. It is intended for environments when the full NTP implementation is not needed or is not justified. The intention is that SNTP be used at the ends of the synchronization subnet (high strata) rather than for synchronizing time servers. SNTP can operate in either a unicast, multicast, or anycast modes: - in unicast mode, a client sends a request to a designated server Paul Krzyzanowski 11
12 - in multicast mode, a server periodically sends a broadcast or multicast message and expects no requests from clients - in anycast mode, a client sends a request to a local broadcast or multicast address and takes the first response received by responding servers. From then on, the protocol proceeds as in unicast mode 1. NTP and SNTP messages are both sent via UDP (there is no point in having time reports delayed by possible TCP retransmissions). The message structure contains: Leap indicator warns of impending leap second (last minute has either 59, 60, or 61 seconds) Version number Mode Stratum Poll interval Precision Root delay Root dispersion Reference identifier Reference timestamp (64 bits) Originate timestamp (64 bits) Receive timestamp (64 bits) symmetric active, symmetric passive, client, server, broadcast stratum maximum interval between successive messages (power of 2) 8-bit signed integer indicating the precision of the local clock, seconds to nearest power of two 32-bit number indicating total roundtrip delay to primary reference source (16 bit seconds, and 16 bits of decimal seconds) 32-bit number indicating the nominal error relative to the primary reference source identify the reference source four character ASCII string. Possible sources are: local uncalibrated clock, atomic clock, NIST dial-up modem service, USNO modem service, PTB (Germany) dial-up modem service, Allouis (France) radio, Boulder (CO, USA) radio, LORAN-C radionavigation system, Global Positioning System (GPS), Geostationary Orbit Environment Satellite(GOES), & cetera. time at which local clock was last set or corrected time at which request departed the client for the server time at which the request arrived at the server 1 This is a somewhat different definition of anycast than that used in IPv Paul Krzyzanowski 12
13 Transmit timestamp (64 bits) Key identifier (32 bits) Message digest (128 bits) time at which the reply departed the server used if the NTP authentication scheme is implemented used if the NTP authentication scheme is implemented In unicast mode, the roundtrip delay and local offset are calculated as follows (from RFC2030): 1. The client sets the transmit timestamp in the request to the time of day according to the client clock. (T 1 ). 2. The server copies this field to the originate timestamp in the reply and sets the receive timestamp and transmit timestamps to the time of day according to the server clock (T 2, T 3 ). 3. When the server reply is received, the client determines a destination timestamp as the time of arrival according to its clock (T 4 ). Timestamp name ID when generated originate timestamp T 1 time request sent by client receive timestamp T 2 time request received by server transmit timestamp T 3 time reply sent by server destination timestamp T 4 time reply received by client The roundtrip delay d is defined as: d = (T 4 T 1 ) (T 2 T 3 ) Note that the delay estimates the time spent sending and receiving data over the network, and subtracts out the processing delay at the server. The local clock offset t is defined as: t = ((T 2 T 1 ) + (T 3 T 4 )) / 2 The client, after computing this offset, adds this amount to its clock Paul Krzyzanowski 13
14 References Time, Clocks, and the Ordering of Events in a Distributed System, Leslie Lamport, Communications of the ACM, July 1978, Volume 21, Number 7, pp Distributed Systems: Concepts and Design, G. Coulouris, J. Dollimore, T. Kindberg, 1996 Addison Wesley Longman, Ltd. Distributed Operating Systems, Andrew Tanenbaum, 1995 Prentice Hall. Modern Operating Systems, Andrew Tanenbaum, 1992 Prentice Hall. RFC1305: Network Time Protocol version 3. This can be found in many locations. One place is RFC 2030: Simple Network Time Protocol version 4. This can be found in many places. One place is Paul Krzyzanowski 14
Clock Synchronization
Lectures on distributed systems Clock Synchronization Paul Krzyzanowski When Charles V retired in weariness from the greatest throne in the world to the solitude of the monastery at Yuste, he occupied
3.7. Clock Synch hronisation
Chapter 3.7 Clock-Synchronisation hronisation 3.7. Clock Synch 1 Content Introduction Physical Clocks - How to measure time? - Synchronisation - Cristian s Algorithm - Berkeley Algorithm - NTP / SNTP -
Synchronization in. Distributed Systems. Cooperation and Coordination in. Distributed Systems. Kinds of Synchronization.
Cooperation and Coordination in Distributed Systems Communication Mechanisms for the communication between processes Naming for searching communication partners Synchronization in Distributed Systems But...
Homework 1 (Time, Synchronization and Global State) - 100 Points
Homework 1 (Time, Synchronization and Global State) - 100 Points CS25 Distributed Systems, Fall 2009, Instructor: Klara Nahrstedt Out: Thursday, September 3, Due Date: Thursday, September 17 Instructions:
Distributed Synchronization
CIS 505: Software Systems Lecture Note on Physical Clocks Insup Lee Department of Computer and Information Science University of Pennsylvania Distributed Synchronization Communication between processes
Time Calibrator. 2013 Fountain Computer Products
Time Calibrator Time Calibrator All rights reserved. No parts of this work may be reproduced in any form or by any means - graphic, electronic, or mechanical, including photocopying, recording, taping,
Distributed Systems Theory 6. Clock synchronization - logical vs. physical clocks. November 9, 2009
Distributed Systems Theory 6. Clock synchronization - logical vs. physical clocks November 9, 2009 1 Synchronization: single CPU sys vs. dist sys. Single CPU: DS: critical regions, mutual exclusion, and
Computer Time Synchronization
Michael Lombardi Time and Frequency Division National Institute of Standards and Technology Computer Time Synchronization The personal computer revolution that began in the 1970's created a huge new group
Computer Time Synchronization
Michael Lombardi Time and Frequency Division NIST email: [email protected] Computer Time Synchronization The personal computer revolution that began in the 1970's created a huge new group of time
Evaluating the Accuracy of Maxim Real-Time Clocks (RTCs)
REAL-TIME CLOCKS Application Note 632: Aug 01, 2001 Evaluating the Accuracy of Maxim Real-Time Clocks (RTCs) This app note describes methods for measuring the accuracy of the Maxim Real-Time Clocks (RTCs)
Time Synchronization & Timekeeping
70072-0111-14 TECHNICAL NOTE 06/2009 Time Synchronization & Timekeeping Time synchronization lets you synchronize the internal clocks of all networked PowerLogic ION meters and devices. Once synchronized,
RARP: Reverse Address Resolution Protocol
SFWR 4C03: Computer Networks and Computer Security January 19-22 2004 Lecturer: Kartik Krishnan Lectures 7-9 RARP: Reverse Address Resolution Protocol When a system with a local disk is bootstrapped it
Internet Protocol Address
SFWR 4C03: Computer Networks & Computer Security Jan 17-21, 2005 Lecturer: Kartik Krishnan Lecture 7-9 Internet Protocol Address Addressing is a critical component of the internet abstraction. To give
IP - The Internet Protocol
Orientation IP - The Internet Protocol IP (Internet Protocol) is a Network Layer Protocol. IP s current version is Version 4 (IPv4). It is specified in RFC 891. TCP UDP Transport Layer ICMP IP IGMP Network
Lecture 15. IP address space managed by Internet Assigned Numbers Authority (IANA)
Lecture 15 IP Address Each host and router on the Internet has an IP address, which consist of a combination of network number and host number. The combination is unique; no two machines have the same
CONTROL MICROSYSTEMS DNP3. User and Reference Manual
DNP3 User and Reference Manual CONTROL MICROSYSTEMS SCADA products... for the distance 48 Steacie Drive Telephone: 613-591-1943 Kanata, Ontario Facsimile: 613-591-1022 K2K 2A9 Technical Support: 888-226-6876
(Refer Slide Time: 00:01:16 min)
Digital Computer Organization Prof. P. K. Biswas Department of Electronic & Electrical Communication Engineering Indian Institute of Technology, Kharagpur Lecture No. # 04 CPU Design: Tirning & Control
Communication Protocol
Analysis of the NXT Bluetooth Communication Protocol By Sivan Toledo September 2006 The NXT supports Bluetooth communication between a program running on the NXT and a program running on some other Bluetooth
INTRUSION PREVENTION AND EXPERT SYSTEMS
INTRUSION PREVENTION AND EXPERT SYSTEMS By Avi Chesla [email protected] Introduction Over the past few years, the market has developed new expectations from the security industry, especially from the intrusion
SNTP ActiveX Control for Microsoft Windows. Copyright Magneto Software All rights reserved
SNTP ActiveX Control for Microsoft Windows Copyright Magneto Software All rights reserved 1 SNTP Overview... 3 1.1 Introduction... 3 1.2 Usage... 3 1.3 Property... 4 1.4 Event... 4 1.5 Method... 4 1.6
Broadband Networks. Prof. Dr. Abhay Karandikar. Electrical Engineering Department. Indian Institute of Technology, Bombay. Lecture - 29.
Broadband Networks Prof. Dr. Abhay Karandikar Electrical Engineering Department Indian Institute of Technology, Bombay Lecture - 29 Voice over IP So, today we will discuss about voice over IP and internet
The basic mode for adjusting a time zone clock are primarily: 21, 24 and 51-1 (51-1 is for Alpha Characters) Entering Mode Programming
Adjusting Time Zone Clocks The basic mode for adjusting a time zone clock are primarily: The basic mode for adjusting a time zone clock are primarily: 21, 24 and 51-1 (51-1 is for Alpha Characters) Mode
(Refer Slide Time: 02:17)
Internet Technology Prof. Indranil Sengupta Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture No #06 IP Subnetting and Addressing (Not audible: (00:46)) Now,
Highly Available Hadoop Name Node Architecture-Using Replicas of Name Node with Time Synchronization among Replicas
IOSR Journal of Computer Engineering (IOSR-JCE) e-issn: 2278-0661, p- ISSN: 2278-8727Volume 16, Issue 3, Ver. II (May-Jun. 2014), PP 58-62 Highly Available Hadoop Name Node Architecture-Using Replicas
1. The Fly In The Ointment
Arithmetic Revisited Lesson 5: Decimal Fractions or Place Value Extended Part 5: Dividing Decimal Fractions, Part 2. The Fly In The Ointment The meaning of, say, ƒ 2 doesn't depend on whether we represent
Chapter 3. Internet Applications and Network Programming
Chapter 3 Internet Applications and Network Programming 1 Introduction The Internet offers users a rich diversity of services none of the services is part of the underlying communication infrastructure
building scalable NTP server infrastructures
Brad Knowles building scalable NTP server infrastructures Brad has been a contributor to the NTP Public Services Project for over five years, in addition to working as a UNIX and Internet system administrator
ECON 459 Game Theory. Lecture Notes Auctions. Luca Anderlini Spring 2015
ECON 459 Game Theory Lecture Notes Auctions Luca Anderlini Spring 2015 These notes have been used before. If you can still spot any errors or have any suggestions for improvement, please let me know. 1
The Role of Precise Timing in High-Speed, Low-Latency Trading
The Role of Precise Timing in High-Speed, Low-Latency Trading The race to zero nanoseconds Whether measuring network latency or comparing real-time trading data from different computers on the planet,
Timer, Interrupt, Exception in ARM
Timer, Interrupt, Exception in ARM Modifications from Prabal Dutta, University of Michigan 1 Interrupts Merriam-Webster: to break the uniformity or continuity of Informs a program of some external events
QoS issues in Voice over IP
COMP9333 Advance Computer Networks Mini Conference QoS issues in Voice over IP Student ID: 3058224 Student ID: 3043237 Student ID: 3036281 Student ID: 3025715 QoS issues in Voice over IP Abstract: This
Computer Network. Interconnected collection of autonomous computers that are able to exchange information
Introduction Computer Network. Interconnected collection of autonomous computers that are able to exchange information No master/slave relationship between the computers in the network Data Communications.
Syslog Windows Tool Set (WTS) Configuration File Directives And Help
orrelog Syslog Windows Tool Set (WTS) Configuration File Directives And Help The CO-sysmsg.cnf file contains all the parameters and specifications related to the program s operation. This file is found
Internet Timekeeping Around the Globe 1,2
Internet Timekeeping Around the Globe 1,2 David L. Mills 3, Ajit Thyagarjan and Brian C. Huffman Electrical and Computer Engineering Department University of Delaware Abstract This paper describes a massive
RTP / RTCP. Announcements. Today s Lecture. RTP Info RTP (RFC 3550) I. Final Exam study guide online. Signup for project demos
Announcements I. Final Exam study guide online RTP / RTCP Internet Protocols CSC / ECE 573 Fall, 2005 N. C. State University II. III. Signup for project demos Teaching evaluations at end today copyright
Table of Contents. Cisco Network Time Protocol: Best Practices White Paper
Table of Contents Network Time Protocol: Best Practices White Paper...1 Introduction...1 Background Information...1 Terminology...2 Overview...3 Device Overview...3 NTP Overview...4 NTP Design Criteria...5
Behavior Analysis of TCP Traffic in Mobile Ad Hoc Network using Reactive Routing Protocols
Behavior Analysis of TCP Traffic in Mobile Ad Hoc Network using Reactive Routing Protocols Purvi N. Ramanuj Department of Computer Engineering L.D. College of Engineering Ahmedabad Hiteishi M. Diwanji
Final Exam. Route Computation: One reason why link state routing is preferable to distance vector style routing.
UCSD CSE CS 123 Final Exam Computer Networks Directions: Write your name on the exam. Write something for every question. You will get some points if you attempt a solution but nothing for a blank sheet
Using Network Time Protocol (NTP): Introduction and Recommended Practices
Using Network Time Protocol (NTP): Introduction and Recommended Practices International SEMATECH Manufacturing Initiative SEMATECH and the SEMATECH logo are registered service marks of SEMATECH, Inc. International
Implementing and testing tftp
CSE123 Spring 2013 Term Project Implementing and testing tftp Project Description Checkpoint: May 10, 2013 Due: May 29, 2013 For this project you will program a client/server network application in C on
The OSI model has seven layers. The principles that were applied to arrive at the seven layers can be briefly summarized as follows:
1.4 Reference Models Now that we have discussed layered networks in the abstract, it is time to look at some examples. In the next two sections we will discuss two important network architectures, the
NUMBER SYSTEMS. William Stallings
NUMBER SYSTEMS William Stallings The Decimal System... The Binary System...3 Converting between Binary and Decimal...3 Integers...4 Fractions...5 Hexadecimal Notation...6 This document available at WilliamStallings.com/StudentSupport.html
IPsec Details 1 / 43. IPsec Details
Header (AH) AH Layout Other AH Fields Mutable Parts of the IP Header What is an SPI? What s an SA? Encapsulating Security Payload (ESP) ESP Layout Padding Using ESP IPsec and Firewalls IPsec and the DNS
Route Discovery Protocols
Route Discovery Protocols Columbus, OH 43210 [email protected] http://www.cse.ohio-state.edu/~jain/ 1 Overview Building Routing Tables Routing Information Protocol Version 1 (RIP V1) RIP V2 OSPF
1 Organization of Operating Systems
COMP 730 (242) Class Notes Section 10: Organization of Operating Systems 1 Organization of Operating Systems We have studied in detail the organization of Xinu. Naturally, this organization is far from
SFWR 4C03: Computer Networks & Computer Security Jan 3-7, 2005. Lecturer: Kartik Krishnan Lecture 1-3
SFWR 4C03: Computer Networks & Computer Security Jan 3-7, 2005 Lecturer: Kartik Krishnan Lecture 1-3 Communications and Computer Networks The fundamental purpose of a communication network is the exchange
Network Time Management Configuration. Content CHAPTER 1 SNTP CONFIGURATION... 1-1 CHAPTER 2 NTP FUNCTION CONFIGURATION... 2-1
Content Content CHAPTER 1 SNTP CONFIGURATION... 1-1 1.1 INTRODUCTION TO SNTP... 1-1 1.2 TYPICAL EXAMPLES OF SNTP CONFIGURATION... 1-1 CHAPTER 2 NTP FUNCTION CONFIGURATION... 2-1 2.1 INTRODUCTION TO NTP
Turquoise Equities. TQ401 - Level 2 MITCH UDP Market Data. Issue 3.3 19 November 2015
Turquoise Equities TQ401 - Level 2 MITCH UDP Market Data Issue 3.3 19 November 2015 Contents 1.0 Introduction 4 1.1 Purpose 4 1.2 Readership 4 1.3 Document Series 4 1.4 Document History 5 1.5 Enquiries
TCP over Multi-hop Wireless Networks * Overview of Transmission Control Protocol / Internet Protocol (TCP/IP) Internet Protocol (IP)
TCP over Multi-hop Wireless Networks * Overview of Transmission Control Protocol / Internet Protocol (TCP/IP) *Slides adapted from a talk given by Nitin Vaidya. Wireless Computing and Network Systems Page
The ISP Column A monthly column on all things Internet
The ISP Column A monthly column on all things Internet Just How Good are You? Measuring Network Performance February 2003 Geoff Huston If you are involved in the operation of an IP network, a question
Brewer s Conjecture and the Feasibility of Consistent, Available, Partition-Tolerant Web Services
Brewer s Conjecture and the Feasibility of Consistent, Available, Partition-Tolerant Web Services Seth Gilbert Nancy Lynch Abstract When designing distributed web services, there are three properties that
NQA Technology White Paper
NQA Technology White Paper Keywords: NQA, test, probe, collaboration, scheduling Abstract: Network Quality Analyzer (NQA) is a network performance probe and statistics technology used to collect statistics
Internet Control Message Protocol (ICMP)
SFWR 4C03: Computer Networks & Computer Security Jan 31-Feb 4, 2005 Lecturer: Kartik Krishnan Lecture 13-16 Internet Control Message Protocol (ICMP) The operation of the Internet is closely monitored by
Transport Layer Protocols
Transport Layer Protocols Version. Transport layer performs two main tasks for the application layer by using the network layer. It provides end to end communication between two applications, and implements
Choosing a Computer for Running SLX, P3D, and P5
Choosing a Computer for Running SLX, P3D, and P5 This paper is based on my experience purchasing a new laptop in January, 2010. I ll lead you through my selection criteria and point you to some on-line
Choosing the correct Time Synchronization Protocol and incorporating the 1756-TIME module into your Application
Choosing the correct Time Synchronization Protocol and incorporating the 1756-TIME module into your Application By: Josh Matson Various Time Synchronization Protocols From the earliest days of networked
STANDPOINT FOR QUALITY-OF-SERVICE MEASUREMENT
STANDPOINT FOR QUALITY-OF-SERVICE MEASUREMENT 1. TIMING ACCURACY The accurate multi-point measurements require accurate synchronization of clocks of the measurement devices. If for example time stamps
How To Monitor And Test An Ethernet Network On A Computer Or Network Card
3. MONITORING AND TESTING THE ETHERNET NETWORK 3.1 Introduction The following parameters are covered by the Ethernet performance metrics: Latency (delay) the amount of time required for a frame to travel
Chapter 1 Introduction to Network Maintenance Objectives
Introduction to Network Maintenance Objectives Describe network maintenance tasks Explain the difference between proactive and reactive network maintenance. Describe well-known network maintenance models.
Real Time Programming: Concepts
Real Time Programming: Concepts Radek Pelánek Plan at first we will study basic concepts related to real time programming then we will have a look at specific programming languages and study how they realize
A New Paradigm for Synchronous State Machine Design in Verilog
A New Paradigm for Synchronous State Machine Design in Verilog Randy Nuss Copyright 1999 Idea Consulting Introduction Synchronous State Machines are one of the most common building blocks in modern digital
Wide Area Monitoring, Control, and Protection
Wide Area Monitoring, Control, and Protection Course Map Acronyms Wide Area Monitoring Systems (WAMS) Wide Area Monitoring Control Systems (WAMCS) Wide Area Monitoring Protection and Control Systems (WAMPACS)
Load Balancing. Final Network Exam LSNAT. Sommaire. How works a "traditional" NAT? Un article de Le wiki des TPs RSM.
Load Balancing Un article de Le wiki des TPs RSM. PC Final Network Exam Sommaire 1 LSNAT 1.1 Deployement of LSNAT in a globally unique address space (LS-NAT) 1.2 Operation of LSNAT in conjunction with
1.7 Graphs of Functions
64 Relations and Functions 1.7 Graphs of Functions In Section 1.4 we defined a function as a special type of relation; one in which each x-coordinate was matched with only one y-coordinate. We spent most
It is the thinnest layer in the OSI model. At the time the model was formulated, it was not clear that a session layer was needed.
Session Layer The session layer resides above the transport layer, and provides value added services to the underlying transport layer services. The session layer (along with the presentation layer) add
Design and Implementation of One-way IP Performance Measurement Tool
Design and Implementation of One-way IP Performance Measurement Tool Jaehoon Jeong 1, Seungyun Lee 1, Yongjin Kim 1, and Yanghee Choi 2 1 Protocol Engineering Center, ETRI, 161 Gajong-Dong, Yusong-Gu,
2. What is the maximum value of each octet in an IP address? A. 128 B. 255 C. 256 D. None of the above
1. How many bits are in an IP address? A. 16 B. 32 C. 64 2. What is the maximum value of each octet in an IP address? A. 128 B. 255 C. 256 3. The network number plays what part in an IP address? A. It
SURVEY PRO. GPS Quick Start Guide
SURVEY PRO GPS Quick Start Guide ii Table of Contents Before You Leave the Office...1 Survey Method: RTK or Post Processing...2 Receiver Setup...2 Receiver Settings...3 RTK Data Collection and Stake Out...4
Chapter 6: distributed systems
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
Job Reference Guide. SLAMD Distributed Load Generation Engine. Version 1.8.2
Job Reference Guide SLAMD Distributed Load Generation Engine Version 1.8.2 June 2004 Contents 1. Introduction...3 2. The Utility Jobs...4 3. The LDAP Search Jobs...11 4. The LDAP Authentication Jobs...22
Middleware and Distributed Systems. System Models. Dr. Martin v. Löwis. Freitag, 14. Oktober 11
Middleware and Distributed Systems System Models Dr. Martin v. Löwis System Models (Coulouris et al.) Architectural models of distributed systems placement of parts and relationships between them e.g.
Encrypting Network Traffic
Encrypting Network Traffic Mark Lomas Computer Security Group University of Cambridge Computer Laboratory Encryption may be used to maintain the secrecy of information, to help detect when messages have
Protocols. Packets. What's in an IP packet
Protocols Precise rules that govern communication between two parties TCP/IP: the basic Internet protocols IP: Internet Protocol (bottom level) all packets shipped from network to network as IP packets
Victor Shoup Avi Rubin. fshoup,[email protected]. Abstract
Session Key Distribution Using Smart Cards Victor Shoup Avi Rubin Bellcore, 445 South St., Morristown, NJ 07960 fshoup,[email protected] Abstract In this paper, we investigate a method by which smart
Routing with OSPF. Introduction
Routing with OSPF Introduction The capabilities of an internet are largely determined by its routing protocol. An internet's scalability, its ability to quickly route around failures, and the consumption
Network Layer: Network Layer and IP Protocol
1 Network Layer: Network Layer and IP Protocol Required reading: Garcia 7.3.3, 8.1, 8.2.1 CSE 3213, Winter 2010 Instructor: N. Vlajic 2 1. Introduction 2. Router Architecture 3. Network Layer Protocols
DATE AND TIME FOR NINE MILLION JAVA DEVELOPERS
(Preprint) AAS 13-521 DATE AND TIME FOR NINE MILLION JAVA DEVELOPERS Stephen Colebourne * INTRODUCTION The Java programming platform is used by nine million developers worldwide. The next release, v1.8
HANDBOOK. Measuring System DESIGN EDITORS PETER H. SYDENHAM RICHARD THORN ARTICLE OFFPRINT
HANDBOOK OF Measuring System DESIGN EDITORS PETER H. SYDENHAM RICHARD THORN ARTICLE OFFPRINT 200: Calibrations and Standards in Time Measurement Michael A. Lombardi National Institute of Standards and
Name: 1. CS372H: Spring 2009 Final Exam
Name: 1 Instructions CS372H: Spring 2009 Final Exam This exam is closed book and notes with one exception: you may bring and refer to a 1-sided 8.5x11- inch piece of paper printed with a 10-point or larger
IP Routing Features. Contents
7 IP Routing Features Contents Overview of IP Routing.......................................... 7-3 IP Interfaces................................................ 7-3 IP Tables and Caches........................................
Clock Synchronization
Clock Synchronization Henrik Lönn Electronics & Software Volvo Technological Development Contents General Types of Synchronisation Faults and problems to cope with Example algorithms Transmission delays
co Characterizing and Tracing Packet Floods Using Cisco R
co Characterizing and Tracing Packet Floods Using Cisco R Table of Contents Characterizing and Tracing Packet Floods Using Cisco Routers...1 Introduction...1 Before You Begin...1 Conventions...1 Prerequisites...1
Introduction to Distributed Systems
Introduction to Distributed Systems CSE 380 Computer Operating Systems Instructor: Insup Lee University of Pennsylvania Fall 2003 Lecture Note: Distributed Systems Why do we develop distributed systems?
Network Time Protocol (NTP) General Overview
Network Time Protocol (NTP) General Overview David L. Mills University of Delaware http://www.eecis.udel.edu/~mills mailto:[email protected] alautun, Maya glyph 2-Aug-04 1 Introduction Network Time Protocol
CSC 774 Advanced Network Security. Outline. Related Work
CC 77 Advanced Network ecurity Topic 6.3 ecure and Resilient Time ynchronization in Wireless ensor Networks 1 Outline Background of Wireless ensor Networks Related Work TinyeRync: ecure and Resilient Time
Swiss Time Systems. The new multipurpose time server for the LAN and NTP-based Distributed Time System. by MOBATIME DTS 4138.
Proud Partners with MOBATime GPS or DCF 77 MOBA-NMS (Network Management Sy The new multipurpose time server for the LAN and NTP-based Distributed Time System by MOBATIME DTS 4138.timeserver The DTS 4138.timeserver
Chapter 4. Distance Vector Routing Protocols
Chapter 4 Distance Vector Routing Protocols CCNA2-1 Chapter 4 Note for Instructors These presentations are the result of a collaboration among the instructors at St. Clair College in Windsor, Ontario.
COMP 3331/9331: Computer Networks and Applications. Lab Exercise 3: TCP and UDP (Solutions)
COMP 3331/9331: Computer Networks and Applications Lab Exercise 3: TCP and UDP (Solutions) AIM To investigate the behaviour of TCP and UDP in greater detail. EXPERIMENT 1: Understanding TCP Basics Tools
Pigeonhole Principle Solutions
Pigeonhole Principle Solutions 1. Show that if we take n + 1 numbers from the set {1, 2,..., 2n}, then some pair of numbers will have no factors in common. Solution: Note that consecutive numbers (such
Ad hoc On Demand Distance Vector (AODV) Routing Protocol
Ad hoc On Demand Distance Vector (AODV) Routing Protocol CS: 647 Advanced Topics in Wireless Networks Dr. Baruch Awerbuch & Dr. Amitabh Mishra Department of Computer Science Johns Hopkins 4-1 Reading Chapter
Internet Time Synchronization: the Network Time Protocol
Network Working Group Request for Comments: 1129 D. L. Mills University of Delaware October 1989 Internet Time Synchronization: the Network Time Protocol Abstract This memo describes the Network Time Protocol
Internet Control Protocols Reading: Chapter 3
Internet Control Protocols Reading: Chapter 3 ARP - RFC 826, STD 37 DHCP - RFC 2131 ICMP - RFC 0792, STD 05 1 Goals of Today s Lecture Bootstrapping an end host Learning its own configuration parameters
Computer Networks. Chapter 5 Transport Protocols
Computer Networks Chapter 5 Transport Protocols Transport Protocol Provides end-to-end transport Hides the network details Transport protocol or service (TS) offers: Different types of services QoS Data
CS 457 Lecture 19 Global Internet - BGP. Fall 2011
CS 457 Lecture 19 Global Internet - BGP Fall 2011 Decision Process Calculate degree of preference for each route in Adj-RIB-In as follows (apply following steps until one route is left): select route with
Digital Audio and Video Data
Multimedia Networking Reading: Sections 3.1.2, 3.3, 4.5, and 6.5 CS-375: Computer Networks Dr. Thomas C. Bressoud 1 Digital Audio and Video Data 2 Challenges for Media Streaming Large volume of data Each
Weather Direct Displays show Lost Forecast (blank boxes in the picture icons)
Weather Direct Displays show Lost Forecast (blank boxes in the picture icons) Many routine events can cause a Lost Forecast situation. Examples include: Power outage Change batteries Internet down in your
Configuring NTP. Information About NTP. NTP Overview. Send document comments to [email protected]. CHAPTER
3 CHAPTER This chapter describes how to configure the Network Time Protocol (NTP) on Cisco NX-OS devices. This chapter includes the following sections: Information About NTP, page 3-1 Licensing Requirements
