Improvement of Physical Clock Synchronization Algorithm by Two-Level Synchronization

Synchronization of the clocks is one of the essential thing for many applications in distributed systems. Clock synchronization is very important because they improve the performance and reliability of distributed systems. The main purpose of clock synchronization algorithms is to provide the common time to essential parts of the distributed systems. In this paper the problem considered is synchronization of clock with bounded clock drift and proposing a two level synchronization algorithm which synchronizes the processors local clocks by combining both internal and external clock synchronization

ISSN 2277-3061 INTRODUCTION A distributed system is a system in which hardware and software components are located at different network networks, communicate and coordinate their actions only by message passing and doesn't have any access to global clocks [1]. Computer system clocks are basically classified in to two types. One among them is hardware clock and the other is software clock. The other name for hardware clock is also known as Timer. A computer timer is usually an electronic device that counts oscillations at definite frequency [1].The operating system reads node's hardware clock value scales it and adds appropriate offset value to produce software clock [1]. The software clock can be given as . This paper is formatted as follows. In section 2, the state-of-art-study of the paper is discussed. In section 3, problem of the existing approach is discussed and in section 4 algorithm of the proposed approach is explained. Finally in section 5 conclusion of the paper is discussed.

STATE-OF-ART-STUDY
The major reasons for difficulty in designing clock synchronization algorithms are Remote clock global view and variation of each process transmission delay, drift rates variations in temperature, fault elements and so on. Clock synchronization with respect to an external time reference is called external clock synchronization and synchronize clocks themselves called internal clock synchronization. The main goal of external clock synchronization is all clocks time must be as close to its time source i.e., UTC time and the goal of internal clock synchronization is to minimize the maximum difference between any two clocks.
Many software clock synchronization algorithms are developed to get the clocks synchronized by using some standard networks. Software clock synchronization algorithms are classified into statistical, deterministic and probabilistic algorithms. Deterministic algorithm assumes some precision at upper bound (difference between two clock values). Statistical and probabilistic algorithms do not make any guesses about delays. As mentioned earlier clocks can be internally or externally synchronized. External synchronization is always accurate to bound where as internal synchronization is always agree within the bound. This means that externally synchronized clocks are always internally synchronized but vice versa is not true.
The clock synchronization problem in fault free systems was first addressed by Lamport et.al [2,3]. They addressed interactive convergence algorithm to solve the synchronization algorithm. Srikanth et.al [4,5] proposed an algorithm based on averaging function which solves the Lamport's clock synchronization problem. These algorithms are completely based on reliable connected networks which will run in rounds for resynchronizing to correct the clock drift. Lundelius et.al [6] proposed an algorithm which was based on lower and upper bounds. This algorithm ensures that the clock values do not drift away from hardware clocks.
Marzullo et.al [7] improved their algorithm to handle byzantine faults by altering clock rates, calculating new interval, in addition to the clock times. The algorithm proposed by Halpern et.al [8] mainly focuses on link failures in non faulty processor systems. The problem of this approach is that authentication is needed at every phase. A fault tolerant system proposed by Cristian et.al [9,10 ] was based on combination of internal and external clock synchronization. This fault tolerant algorithm will works well when we have 2F+1 are faulty out of F reference time servers. The algorithm degrades to internal synchronization when the faulty reference time servers exceed F. In this paper the internal synchronization is partially based on interactive convergence algorithm [3] but differs in the block of clock correction. N o 1 , 2 0 1 3

EXISTING PROBLEM ANALYSIS
The classical problem of distributed systems is clock synchronization problem and shown in the Fig. 1.

Fig 1. Clock Synchronization Byzantine Faults
In Fig. 1 A three node system was shown where each node has its own clock. If all the nodes are nonfaulty the clocks are synchronized by adjusting their median clock values. In Fig. 1b the node P3 is faulty and reports incorrect timings to P1 and P2. To handle this type of byzantine faults several algorithms are proposed and works well with any one synchronization method i.e., either by internal or external synchronization.
The problem with existing solution is, suppose when few of the external time receivers are failed (unavailable) then the system lost its synchronization because the clocks of those will be failed to be externally synchronized. To overcome this problem, an algorithm was proposed which is the combination of both internal and external clock synchronization.

PROPOSED ALGORITHM ANALYSIS
The proposed algorithm synchronizes the processors clock by two level synchronization. Here each node is assigned with an UTC receiver. In this approach the synchronization level is divided into two intervals. First interval also called as external interval receives UTC time and synchronizes its local time with the obtained UTC time. Second interval also called as internal interval helps in achieving tight synchronization between local clocks The pseudo code provides the informal description of both synchronization algorithms. Periodical execution of external algorithm keeps the clocks synchronized because every node consists of time receiver. If UTC time is unavailable then the control pass to the internal clock synchronization and synchronizes its local clocks.

CONCLUSION
In this paper we proposed a two level synchronization algorithm which synchronizes processors local clocks. The major advantage of this two level synchronization algorithm is it provides tight synchronization by internal synchronization and synchronizes with real time by external synchronization and is decentralized and fault tolerant.