27
Routing in Small-World Networks BE Software Engineering Final Year Project November 2010

Routing in Small-World Networks

  • Upload
    dea

  • View
    51

  • Download
    0

Embed Size (px)

DESCRIPTION

Routing in Small-World Networks. BE Software Engineering Final Year Project November 2010. People involved. Student Amir Hoshang Kioumars Student of BE Software Engineering Supervisor Associate Professor Stephen Marsland. Aim and objectives. Aim Study routing in small-world networks - PowerPoint PPT Presentation

Citation preview

Page 1: Routing in  Small-World Networks

Routingin

Small-World Networks

BE Software Engineering Final Year ProjectNovember 2010

Page 2: Routing in  Small-World Networks

People involved

• Student• Amir Hoshang Kioumars

• Student of BE Software Engineering

• Supervisor• Associate Professor Stephen Marsland

Page 3: Routing in  Small-World Networks

Aim and objectives Aim

Study routing in small-world networks

Objectives/Expected project outputs Collect a set of comparison metrics on SRA’s Improve/develop a new routing algorithm

Page 4: Routing in  Small-World Networks

Tasks decomposition• Make and simulate the small-world networks

• Study selected SRA’s

• Collect a set of comparison metrics between selected SRA’s

• Develop a new routing algorithm or make improvement on the existing SRA’s

• Test any finding(s) against existing algorithms

Page 5: Routing in  Small-World Networks

What is the routing The term routing refers to the process of selecting

paths in a network for sending network traffic or data.

It is performed for many kinds of networks such as the telephone, transportation and the Internet.

Page 6: Routing in  Small-World Networks

Routing algorithms• Design goals • Optimality• Simplicity/low overhead• Robustness/stability• Rapid convergence • Flexibility

• Improvement impacts• Speed• Reliability• Time/cost • Quality of services

Page 7: Routing in  Small-World Networks

What is the Small-World Network• The small-world network is a type of mathematical graph in

which most nodes are not neighbours but are in contact with each other through a small number of hops or steps

• experiment comprised several studies conducted by Stanley Milgram (1933-1984), examining the average path length for social networks of people in the United States

• Example• The Internet

Page 8: Routing in  Small-World Networks

Standard routing algorithms• Several algorithms • Dijkstra• Bellman-Ford• Best-first search• Breadth-first search• Depth-first search• Kleinberg• …

• Algorithm selections• Dijkstra (Dutch computer scientist Edsger Dijkstra, 1956-1959)• Kleinberg (Jon Kleinberg , 1999)

Page 9: Routing in  Small-World Networks

Dijkstra's algorithm

Reference: Wikipedia - http://en.wikipedia.org/wiki/Dijkstra’s_algorithm

Page 10: Routing in  Small-World Networks

Dijkstra's algorithm Advantages

Exhaustive search (check all paths) Always return the optimal path

Disadvantages Time consuming Need a large space to store a big graph

for 3000 nodes, the algorithm needs about 4*3000*3000 = 36000000 bytes (36 MB memory), and if the number is 6000, it needs about 144 MB memory.

Page 11: Routing in  Small-World Networks

Greedy algorithm & Kleinberg Greedy algorithm

Follows the problem solving of making the locally optimal choice at each stage with the hope of finding the global optimum.

Kleinberg’s suggest a simple greedy algorithm When is the current node, choose the next

intermediate node which is closest to the target Do the iteration until reach to destination

Page 12: Routing in  Small-World Networks

Development and exposition of work Select a programming language and a suitable IDE (compiler) Select the standard routing algorithms (SRA’s) and develope them (Dijkstra and Kleinberg) Simulate small-world networks and run both SRA’s on them

Select metrics items for SRA’s Weight Number of hops Time

Select testing criteria - graphs 40, 50, 100, 200, 300, 500, 700, 850 and 1000 number of nodes 3, 5, 10 and 15 neighbours rewiring probabilities 0, 0.5 and 1 twenty iterations - used averaged results

Software/Hardware Multi-threading Java programming Four Intel® Quad core computer with 2.83 Ghz CPU and 4Gb of Ram

Page 13: Routing in  Small-World Networks

Comparison results Optimal path Minimum number of hops Time taken Consistency of results

Page 14: Routing in  Small-World Networks

Path weight

Page 15: Routing in  Small-World Networks

Visited hops

Page 16: Routing in  Small-World Networks

Delivery time

Page 17: Routing in  Small-World Networks

Improving the Kleinberg’s greedy algorithm Using Kleinberg’s greedy

Consider special cases

1. Whether source and target are connected directly

2. Source and target are connected with an intermediate node

3. Neighbours of source and target have a common node(s)

4. If none of the above cases were true, it run the Kleinberg’s greedy algorithm for one-step and go to step 1

Page 18: Routing in  Small-World Networks

Case 1: Direct link between source ‘s’ and target ‘t’

Page 19: Routing in  Small-World Networks

Case 2: Source ‘s’ and target ‘t’ have common node(s)

Page 20: Routing in  Small-World Networks

Case 3: There is a link between neighbours of source ‘s’ and the neighbours of target ‘t’

Page 21: Routing in  Small-World Networks

Case 4: None of above cases. Find the intermediate node source ‘s’, closest to target ‘t’ and do the above steps again in next iteration

Page 22: Routing in  Small-World Networks

New Comparison results

• given small-world network, the improved Kleinberg’s greedy algorithm returns the path with fewer number of hops compared to the Kleinberg’s greedy algorithm.

• Because in each iteration the algorithm is checking special cases; it performs over a longer time compared to the Kleinberg’s greedy algorithm.

• improving the Kleinberg’s greedy algorithm compare to Dijkstra’s alg

• minimum number of hops• shorter time

• By increasing the number of nodes and the rewiring probability, the chance of finding a match among four special cases within the graph becomes higher.

Page 23: Routing in  Small-World Networks

Path weight

Page 24: Routing in  Small-World Networks

Visited hops

Page 25: Routing in  Small-World Networks

Delivery time

Page 26: Routing in  Small-World Networks

Conclusions Greedy algorithms are easy to invent and implement.

Greedy algorithms mostly (but not always) fail to find the globally optimal solution, because they usually do not operate exhaustively on all the data.

They can make commitments to certain choices too early which prevent them from finding the best overall solution later

Greedy algorithms usually progress in a top-down fashion, making one greedy choice after another, reducing each problem to a smaller one.

It is also impossible to find a set of optimal solutions with a greedy algorithm. The Kleinberg’s greedy algorithm is focused on visiting a minimum number of hops in a shorter time. It does not guarantee to return the optimal path at the same time.

improved Kleinberg’s greedy algorithm tried to reduce the number of visited nodes by checking special cases in each

iteration

it checks the special cases, the time of finding such a path is increased

Finding an optimal path is proportional to the cost associated with it

Finding an appropriate algorithm for a network depends on usage of that network

Page 27: Routing in  Small-World Networks

Thank you very much for your attention