1 / 27

Routing in Small-World Networks

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

dea
Télécharger la présentation

Routing in Small-World Networks

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Routingin Small-World Networks BE Software Engineering Final Year Project November 2010

  2. People involved • Student • Amir HoshangKioumars • Student of BE Software Engineering • Supervisor • Associate Professor Stephen Marsland

  3. 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

  4. 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

  5. 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.

  6. Routing algorithms • Design goals • Optimality • Simplicity/low overhead • Robustness/stability • Rapid convergence • Flexibility • Improvement impacts • Speed • Reliability • Time/cost • Quality of services

  7. 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

  8. Standard routing algorithms • Several algorithms • Dijkstra • Bellman-Ford • Best-first search • Breadth-first search • Depth-first search • Kleinberg • … • Algorithm selections • Dijkstra (Dutch computer scientist EdsgerDijkstra, 1956-1959) • Kleinberg (Jon Kleinberg , 1999)

  9. Dijkstra's algorithm Reference: Wikipedia - http://en.wikipedia.org/wiki/Dijkstra’s_algorithm

  10. 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.

  11. Greedy algorithm & Kleinberg • Greedy algorithm • Follows the problem solving of making the locally optimal choice at each stagewith 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

  12. 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

  13. Comparison results • Optimal path • Minimum number of hops • Time taken • Consistency of results

  14. Path weight

  15. Visited hops

  16. Delivery time

  17. Improving the Kleinberg’s greedy algorithm • Using Kleinberg’s greedy • Consider special cases • Whether source and target are connected directly • Source and target are connected with an intermediate node • Neighbours of source and target have a common node(s) • If none of the above cases were true, it run the Kleinberg’s greedy algorithm for one-step and go to step 1

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

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

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

  21. 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 s intermediate node 's' closest to target 't' k t Doted line: founded using case 3 there is a link between neighbours of source ‘s’ and the neighbours of target ‘t’

  22. 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’salg • 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.

  23. Path weight

  24. Visited hops

  25. Delivery time

  26. 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

  27. Thank you very much for your attention

More Related