Babylon 324 RHLB : Improved Routing Load Balancing Algorithm Based on Hybrid Policy

A network is defined as a set of nodes that are associated with a way to handle and transfer data and messages from source to destination. The congestion in the network occurs when a lot of traffic occurs, leads to delay, packet loss, bandwidth degradation, and high network overhead. Load balancing algorithms have been designed to reduce congestion in the network. Load Balancing is the redistribution of workload between two or more nodes to be executed at the same time. Two policies of load balancing algorithms: static and dynamic load balancing. This paper proposes a load balancing algorithm based on the hybrid (static and dynamic) policy using Network Simulator (version 2). The hybrid policy is used to improve network performance by redistributing the load between overloaded nodes to other nodes that are under loaded when congestion occurs. The simulation results show that the proposed algorithm used performance of the network with regard to throughput, packet delivery ratio, packet loss and the end-to-end delay.


Introduction
A Network comprises of a number of nodes and links for processing packets from source to destination [1].For connection to happen, packets necessity to be transported from source to destination, a router is a device which assistance in forwarding packets from one node to another in a network or from one network to another [2].Routing is defined as the operation of moving packets from source to destination using the better path through the network [3].
Congestion in routing is the main problem in the network.If the load on the network (the number of packets transmitted to the network) is larger than the capacity of the network (the number of packets a network can handle).When congestion in the network occurs, the throughput decreases packet delay increases in the network, and the packet drop increases.So in these conditions, if there is no any technique to reduce the congestion in the network can be lead towards the performance collapses and all end to end communication stops [4].
Load balancing is a mechanism utilized to remove congestion by migrating the workload from overloaded node to lightly loaded node to ensure a good overall system performance [3].

Literature Review
Many works of literature have been addressed load balancing algorithms.U. Patil and R. Shedge, used centralized and a decentralized strategy in order to form a hybrid dynamic method.They noticed that the limitation of the system is that in the case of larger number of nodes, communication overhead will be very large.So, to avoid this disadvantage, a design of a simple hybrid dynamic load balancing algorithm was proposed [5].M. A. Mehta and D. C. Jinwala, proposed a hybrid Dynamic Load Balancing (DLB) method which sits between the centralized and decentralized approaches.This technique was partitioned the distributed system nodes into virtual groups, named clusters.A Cluster is useful in improving the scalability and in reducing the communication overhead.In each cluster, a node is designated as a Super Node (SN) in order to define the dynamic threshold value periodically.These clusters are communicated

Load Balancing
Load balancing is a very important topic in our life, since the Internet traffic increases day by day, and rapid development of technologies have emerged.Therefore, there is a high need for availability and rapid response.Goals of load balancing are to Substantial improvement in performance, increase flexibility of the system so as to adapt to the modifications, Stability maintenance of the system, maximizing throughput, minimizing response time and avoid overload [10] [11].Load balancing can be achieved by statically or dynamically mechanisms [12]:

Static load balancing mechanism:
Load balancing is performed by prior information with regard to the system.The distribution of workload will be (depending on the performance workload) without consideration to the current case of the node.As the load is allocated to a node, it can't be transferred again to another one.
There are five types of Static load balancing techniques these are Round Robin algorithm, Central Manager Algorithm, Threshold algorithm, randomized algorithm and Least Connection Algorithm [2] [13] [14].Table1 lists the main pros and cons of Static Load Balancing Algorithm [2] [15]: 2. The algorithm is non-preemptive.
3. It has low resource utilization.
4. The task cannot be migrated while execution.
5. The overall performance of the system decreased due to load fluctuations.

Dynamic load balancing mechanism:
Dynamic load balancing algorithm monitors changes on the system workload, and then redistributes of works among nodes at run-time through transferring workload from overloaded node to under loaded node.
There are two types of dynamic load balancing: Central Queue Algorithm and Local Queue Algorithm [13] [14].Table2 lists the main pros and cons of Dynamic Load Balancing Algorithm [2] [15]: No single web server will be overloaded.
2. Improving the overall performance of the system by migrating the load dynamically.
3. The algorithm is preemptive.
1. Dynamic load balancing algorithm is complex hence not very easy to implement.
2. Communication overheads occur more and more as a number of processes increase.
3. Needs more data to make the decision.
Each of the mentioned algorithms have its advantages and disadvantages as a result a hybrid load balancing algorithm is suggested to eliminate the drawbacks of dynamic and static load balancing methods, and also they are being used to aggregate the benefits and merits of static and dynamic methods in order to design a new one.This implies that combining the benefits of two or more already existing algorithms either dynamic or static algorithms are able to present a new one with more advantages.

The Proposed Hybrid Algorithm For Routing Load Balancing
This section presents the structure of the proposed Routing Hybrid Load Balancing (RHLB) with flowcharts.The RHLB algorithm uses the concepts of both static and dynamic load balancing algorithm, which has two stages: static stage has been used when the load is normal and has no congestion where dynamic stage which is used when the system has a heavy load and congested load.RHLB works with a general structure a network has a number of nodes and links between these nodes such that: Network Net = (N, E) where: N= {Ni: i number of nodes in the system} E= {eab: there is a link between node (a) and node (b), with specified Bandwidth BW} P= {all paths from source to a destination stored in source node} The algorithm begins when there are packets have to be sent from (Source node) to (Destination node)a

Stage1 (static stage):
Step 1: At the beginning, a node (Source: Ni) choices the shortest path ∈  to send the packets to destination (D) via neighbor node (Nj).
Step 2: If the numbers of packets in eij queue < BWij then continue transferring.
Where eij is a link between nodes Ni & Nj.
And BWij is the Bandwidth of eij.
Step 3: Else Calculate the load difference of eij such that:  Find all neighbors of node (Ni).Neighbors which is denoted by Neighbor= {Nk: Nk ∈ N and eik ∈ E where Nk ∈ path leading to D}  Calculate the load average of neighbors using the form below: Where Lij is the Load of eij

Lik is the load of eik & Nk ∈ 𝑁𝑖𝑒𝑔ℎ𝑏𝑜𝑟
And BWik is the bandwidth of eik  Calculate the load difference using the form below: LD = (Lij+Lavg) (2)  If LD < zero then eij is not overloaded and packets are waiting in queue to be sent to a node (Nj).
 If LD > = zero or queue size of eij is full then eij is overloaded and have an excess load so find another node (Nk∈  ) to send the packets to it, go to stage2 (i.e Stage2 starts).

Stage 2 (Dynamic stage)
To design an algorithm for dynamic load balancing, it has to concentrate on three issues they are: Step 1: Node Selection i.e selection for a new node in order to retransfer the packets to it.This is done by arranging neighbors of node (Ni) in ascending order according to a load of (eik), and chooses the node (Nk) with the minimum load of (eik) to be the next node.
Step 2: the Selection of the amount of excess load to be delivered or sent.I.e.choose which packets are eligible to be transferred to other nodes.By arranging or sort, the messages in the queue of (eij) in descending order according to the number of packets that is still in queue.Choose the largest message (M) with more packets still in the queue.
Step 3: (distribution of the excess load): Send the message (M) to (eik) queue in order to be sent to the destination node (D) through node Nk Step4: Repeat the algorithm (stage1 and stage 2) until Ni=D then finish and reach the destination.

Results
This section displays the outcomes of some scenarios to examine the RHLB algorithm.The RHLB algorithm is implemented using Network Simulator (Version 2).The network consists of eight nodes (0-7) and nine links between them as shown in fig. 3 Node (0) is the source node and node (7) is the destination node.

Figure3. Shows the network topology used in RHLB algorithm
The performance of network evaluated using different metrics these are throughput, the end to end delay, packet delivery ratio, and packets loss, which can be shown as below: The performance of the network is calculated by taking the various simulation parameters are given in Table 3.In the first scenario, the performance of the network is calculated by taking the simulation time (0-10) sec and we compare the results of RHLB algorithm with static and dynamic load balancing algorithms with the same environment.RHLB results show that with the start of the algorithm the number of packets sent was equivalent to the static and dynamic algorithms because all nodes are under loaded but when the number of packets increases then nodes will be congested because of the more transfer occurs and most of the nodes will be overloaded so the performance of the network will be enhanced using RHLB algorithm as compared with the performance of the network with using static and dynamic algorithms due to the migration of packet from the overloaded node to the under loaded node.The results of RHLB are showing that performance of throughput and PDR is improved as compared to static and dynamic load balancing algorithm as shown in figure (4 and 5).The packets loss and end to end delay are minimized as compared to the static and dynamic load balancing algorithm as shown in figure (6 and 7).Whereas table 4 summaries these results.

Conclusion
For the network, load balancing technique plays a very vital role in order to achieve the QoS solutions.The load balancing is an operation that tries to improve network utilization by choosing lightly loaded links for routing new requests.When this process success it can eliminate delay and link congestion.The hybrid algorithm is introduced to limit the congestion and improved QoS performance as compared to the static and dynamic load balancing technique.The results are compared by considering four important performance metrics such as throughput, packet delivery ratio, packet loss and the end to end delay.In all cases, the proposed load balancing approach shows improved performance when compared to static and dynamic methods, it has a higher throughput, higher packet delivery ratio, lower delay, and lower packets loss also using such algorithm will maximize the fairness of load distribution in the network, while two

Fig. 1
Fig.1 shows the flowchart of stage1 (Static stage) and fig.2 shows the flowchart of stage 2 (Dynamic stage) for RHLB algorithm.

Figure1.
Figure1.The flowchart of static stage for RHLB algorithm Throughput= Receive size / (Stop Time -Start Time) (3)  Packet delivery ratio = Number of packet receive / Number of packet send (4)  Packet loss=Number of packet send -Number of packet receive (5)  End to end delay=End time-Start time (6) Figure4.Throughput

Submission date:-14/10/2018 Acceptance date:-30/12/2018 Publication date:-21/2/2019 between
[6]m via a Central Master Node (CMN).When any node becomes overloaded, firstly, it searches for a lightly loaded node in its cluster in a decentralized fashion.But, if it does not find a lightly loaded node in the same cluster, its overload will be relocated to a lightly loaded node in another cluster by helping of CMN.The simulation results demonstrate that the proposed algorithm performs faster than the traditional centralized and decentralized approaches[6].H

. J. Younis et al., proposed
These two algorithms are analyzed and compared with proposed algorithm.The advantage of Static load balancing algorithm is more stable but disadvantages, it is not cooperative and also has low resource utilization, on other hand, dynamic load balancing algorithm is more complex and Communication overheads occur more and more as number of packets increase.But dynamic load balancing algorithm is always considered better than static algorithms as they are closely related to real-life scenarios and real- [9]e processing.The simulation results demonstrate that the proposed algorithm performs better in terms data and bandwidth that is more evenly distributed as compared to Round-Robin and Least load algorithms[8].S. Subalakshmi and N. Malarvizhi, proposed an Enhanced hybrid load-balancing algorithm in cloud computing .thisproposedcontains the features of both Throttled and Equally Spread Current Execution (ESCE) load balancing algorithms.When Comparing the result of the proposed algorithm with the existing algorithms on identified parameters, they found that response time, data processing time and data transfer cost are minimized[9].

Table 1 : The pros and cons of Static Load Balancing Algorithm
Compromises with the result as the decision are solely made on statically gathered data.