- Количество слайдов: 20
Simulation of K-Clustering in a Wireless Ad-Hoc Network using a decentralized Local Search Kirill Kazatsker Daniel Witkin Supervised by: Dr. Rachel Ben. Eliyahu Communication Systems Engineering Department Ben - Gurion University, Israel
Motivation • K – Clustering Algorithm using Local Search technique is known. • The Algorithm gave the network good partition results when compared with other similar algorithms. • To make the algorithm suitable for Ad-Hoc Wireless networks it must be decentralized.
Project’s Goal • To make a decentralized form of an existing K – Clustering Algorithm. • To perform a simulation of this algorithm (in Omnet++ environment), while comparing it to the centralized one.
Project’s Steps • Initial Studying – Learning given K-cluster algorithm – Learning Omnet++ environment • Decentralized algorithm design – Designing an initial solution – Designing a neighboring solution • Implementation (Omnet++) – Implementation of an Initial Partition – Improving the Initial Partition – Performing statistics and comparison of the simulation outcome
Background • Wireless Ad-Hoc networks are made up of endpoints that communicate, in a dynamic environment. • Networks of this kind contain end-points with a short battery life, limited bandwidth and a relative large number of errors.
Why Clusters? • Improve performance. Divide these networks into groups called Clusters • Each end-point will hold only some of the information regarding the network topology (only information regarding the Cluster). • We can reduce the number of transmitted packets in the network. Thus prolonging the battery life.
Ad-Hoc Network without clustering
Ad-Hoc Network with clustering B C J I Denote Cluster-heads O
Problem Definition Given: A graph G(v, e) and a natural number K, Find: A minimal number C so that it is possible to divide V into clusters. When for every cluster V 1; : : : ; Vc DIAM(G[Vi]) is equal to K.
The Algorithm Two primary stages: 1. Generating an Initial Partition 2. Improving the Current Partition
Centralized Algorithm Example • Initial state K = 2 -> 8 Clusters; We got the initial solution (some division, not optimal). All the next stages are stages of improvement. Now cluster 6 was chosen randomly to perform rearrangement.
Centralized Algorithm Example (cont) • After first improvement K = 2 -> 8 Clusters We got the same number of clusters, but the clusters were changed. Now we go to the second cycle of rearrangement and choose cluster number 2.
Centralized Algorithm Example (cont 2) • After second improvement K = 2 >> 7 Clusters We got 7 clusters. So, the network was improved: the number of clusters was decreased by one. From now on the network can be improved in the same way, by using the rearrangement local search technique, over and over again.
Distributed Algorithm: Definitions • n – The number of nodes in the network. • Cluster. ID – Each node will hold the ID of its Cluster head (CH). • A node can be in one a four states – IDLE ; ANSW ; REAR ; WAIT • Commands used in the algorithm – REARRANGE ; CONFIRM ; INIT ; TERMINATE ; APPROVED ; LEADER
Distributed Algorithm: State Machine Got Timeout and All Sent Confirm messagesrearrange message (Stage 1) ANSW IDLE Cluster. Head waked up Got first message from its cluster head (stage 2) Got rearrange invitation Sent rearrange messages to the neighbor cluster heads Rearrangement finished REAR WAIT
Distributed Algorithm: Network Message Source Destination Cluster. Path Hop. Count Command Nodes. Path 1. Source – ID of the station that sends the message. 2. Destination – ID of the destination station. 3. Hop. Count – number of hops that message passed until now. 4. Command – instruction for the destination station. 5. Leader – the ID of the CH (if it exists). 6. Cluster. Path – clusters, the message passed through. 7. Nodes. Path – nodes, the message passed through (for routing). Leader
Distributed Algorithm: Implementation We are using Omnet++ environment in order to implement our algorithm. • Each node will consist of two layers: – Physical layer – In charge of sending and receiving messages. – Mobile layer –In charge of mobility and self messaging.
Distributed Algorithm: Omnet Simulation
What Next? • Up until now we have implemented the initial state in omnet++. • Next we will implement the neighboring state and compare it to the centralized algorithm.