Experiment on Cristian’s and Berkeley Time Synchronization Algorithms - Rahul Sehgal 1 12/6/2007
Introduction: Centralized Algorithm: 1) Cristian’s algorithm. ( timeserver ) 2) Berkeley algorithm. ( coordinator ) 2 12/6/2007
Concept of Simulation Time � Time changes on the basis of state change. � Time always advances � Time doesn’t increases by the fix amount 3 12/6/2007
Cristian’s Algorithm � External clock synchronization method. � A process is the time server in the system. � External time source (Coordinated Universal Time) is used as reference for synchronizing computer clocks with real time. – UTC is an international standard. – Standard bodies which, disseminate UTC signal by radio, telephone and satellite. One of the body is Geostationary Operational Environmental Satellites. (GEOS) 4 12/6/2007
Cristian’s Algorithm … contd � Other processes request for current time by sending request message (req_message) to time server. � time server sends a reply by attaching current time with each reply message. � Message suffers: � Transmission delay 5 12/6/2007
Apparatus for Cristian’s Algorithm : � time server maintains a message_queue for arriving requests from other processes. � A delay value is generated at message_queue, due to message queue delay ( states for which request was in queue ) � Other issues : clock skew and clock drift � clock skew : The difference in time values of two clocks. � clock drift : The difference between speeds of two clocks. 6 12/6/2007
Implementation for measuring performance….contd � In run() step, The messages are delivered in the increasing order of delay, to – time server . timeserver computes delay_at_rqst_queue ( states for which the – message was in queue) timeserver sends a reply message to requesting process. – Requesting process receives the message and updates its time as – follows: current time = Tserver + (T 1 – T 0 ) / 2, Tserver = server time returned by time server. In simulation engine T 1 – T 0 = message_queue_delay 7 12/6/2007
Berkeley Algorithm: � coordinator polls other processes. � Finds difference between its time and time of selected processes � Then takes an average including its own time. � Coordinator predicts time of other process with an error. � Inform polled processes about correction (this message has error included) 8 12/6/2007
Apparatus: � coordinator polls processes and sends them request for there time � processes sends reply. � processes differ in their times � Coordinator predicts error for each process. � coordinator puts an upper bound errors . � Two test environments are: with minimal (or no) errors – with errors – 9 12/6/2007
Comparison between Cristian and Berkeley Algorithms Comparision for 10 processes with no skew 4 Difference of process time from Global Time 2 Cristian 0 Berkeley 1 2 3 4 5 6 7 8 9 10 -2 -4 Global Time 10 12/6/2007
Comparison between Cristian and Berkeley Algorithms Comparision on 50 nodes with no skew 4 Difference of process time from 2 Global Time Cristian 0 Berkeley 1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 -2 -4 Global Time 11 12/6/2007
Comparison between Cristian and Berkeley Algorithms Comparision on 100 nodes with no skew 2.5 Difference of process time from Global Time 2 1.5 Cristian Berkeley 1 0.5 0 1 7 13 19 25 31 37 43 49 55 61 67 73 79 85 91 97 Global Time 12 12/6/2007
Comparison between Cristian and Berkeley Algorithms Comparision on 10 processes with error and unbound delay 2.5 Difference of process time 2 from Global Time 1.5 Cristisn Berkeley 1 0.5 0 1 2 3 4 5 6 7 8 9 10 Global Time 13 12/6/2007
Comparison between Cristian and Berkeley Algorithms Comparision on 50 processes with error and unbound delay 2.5 Difference of process time 2 from Global Time 1.5 1 Cristian 0.5 Berkeley 0 1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 -0.5 -1 -1.5 Global time 14 12/6/2007
Comparison between Cristian and Berkeley Algorithms comparision on 100 nodes with error and unbound delay 2.5 Difference of process time from Global Time 2 1.5 Cristian Berkeley 1 0.5 0 1 7 13 19 25 31 37 43 49 55 61 67 73 79 85 91 97 Global Time 15 12/6/2007
Future Work � Enhance design for fault tolerance in distributed system. � Measure the performance of the system by combining Cristian’s and Berkley time synchronization algorithms. 16 12/6/2007
References: 17 12/6/2007
References: � http://deneb.cs.kent.edu/~mikhail/classes/ao s.f07/Materials/SinhaPhysClocks.pdf � http://deneb.cs.kent.edu/~mikhail/Research/T R-KSU-CS-2007-04.pdf 18 12/6/2007
Discussions Any thoughts and questions….. 19 12/6/2007
Recommend
More recommend