Declarative Path Finding in Simulated MultiLayer Multi Domain
- Slides: 25
Declarative Path Finding in Simulated Multi-Layer Multi. Domain Networks Li Xu with help of: Freek Dijkstra, Arie Taal, Paola Grosso, Jeroen van der Ham, Cees de Laat System Network Engineering group Universiteit van Amsterdam 10 -06 -2009
Research question CAN the difficult path finding problem in multilayer multi-domain networks be solved by using a declarative approach? GLIF (Global Lambda Integrated Facility) 2008
Introduction • Domain: a group of computers and devices on a network that are administered as a unit with common properties. • Multi-layer networks: Computer networks where the configuration of the network can be changed dynamically at multiple layers.
Introduction (2) • Multi-layer network description: – Network Description Language – Based on ITU-T recommendations G. 805 function elements and the label concept in GMPLS – RDF/XML syntax – Technology independent model See Ref: [1, 2], URL: http: //www. science. uva. nl/research/sne/ndl/
Path Finding (PF) in Multi-layer networks • Differs from single-layer networks, linkconstrained algorithms (e. g. Ford-Fulkerson for BGP, Dijkstra for OSPF) can not solve the problem. • A shortest path in multi-layer networks may be looped or not be a shortest one in itself. [3]
Example of PF in multi-layer networks A new i h c a o appr ! d e d s nee
Example of lightpath allocation Request 1: {VU-Uv. A, VU-MN} Request 2: {VU-MN, VU-Uv. A} ? Star. Plane network, URL: http: //www. starplane. org/ The same result is required, regardless the order of request
Declarative Approach • Background – Declarative programming: a programming paradigm that expresses the logic of a computation without describing its control flow. – Logic programming • Constraint programming (e. g. Prolog) • Dataflow programming (e. g. SAL, Lab. VIEW) • Domain specific languages (e. g. regex, CSS) – Prolog: The program logic is expressed in terms of relations (rules), and execution is triggered by running queries over these relations.
Declarative Approach (2) • Why (swi-)Prolog [4]? – NDL/RDF as a representation of multi-layer networks, just like storing network information in a database. – ‘Query-like language’ explores the database in a declarative syntax. – Libraries for RDF management and semantic manipulation. They can load a RDF database stored in the triplet format: Subject - predicate - Object – Logical constrains in NDL can be implemented naturally in Prolog.
Declarative Approach (3) • Reason all alternatives • Capable of handling complex queries e. g. • Less complexity for development and more flexibility for various of queries
Examples NDL statements are transformed to Prolog rules Sample queries
Declarative PF Algorithm • Implement both hop-by-hop and layerby-layer algorithms in Prolog • hop-by-hop vs. layer-by-layer • The result of the algorithms is a list of cross connects that need to be used to create the requested path (if exists). • Handle multiple/complex path requests
? Workflow MLMD Network description Auto load Path Finding Algorithm Queries Auto load Results! Prolog reasoning system
Multi-layer Multi-domain (MLMD) Generator • Why we need a MLMD generator? – Few real-world scenarios – Scalable simulation platform for experiments • Goal: – generate graphs that simulate real-life multi-layer networks with multiple technologies – transform them to dedicated network description model (NDL) for both graphical network behavior analysis and MLMD path finding study. • Tools we choose: – Pynt toolkit + Python Networkx + JUNG • Original graph generation algorithm: Barabasi. Albert [5]
How to generate MLMD networks
Mapping into NDL F 1 C 2 A C 1 A 1 C C 3 F E 1 Device C Switch. Matrix on Layer 0 & Layer 1 E 2 B 1 A A 2 B B 2 Device A with adaptation between 2 layers B 3 D 1 C 4 C 5 E D D 2 D 3 E Layer 0 Device D Switch. Matrix on Layer 0
Experiments & Results • Generate variable size of 2 -layer multidomain networks, range from (5 nodes/layer/domain x 5 domains) to (1000 nodes/layer/domain x 50 domains) • Randomly select 100 pairs of src/dst devices and execute the PF algorithm • Evaluate: average time of loading NDL and find a path.
Experiments & Results (2) #Nodes #Domains Table 1: the number of triplets in NDL Mac. Book pro: 1. 83 GHz Intel Core Duo, 2 GB DDR 2 memory Figure 1: average time to load NDL
Experiments & Results (3) Figure 2: average time to find the 1 st possible path
Future work • Introduce “labels” in PF • Compare the efficiency and scalability with other algorithms (e. g. Imperative Python) • Dynamically load/off-load RDF database for local/global PF • Reasoning about graphs • Declarative lightpath allocation in Grid – Complex queries – Sequence of requests – Optimized network resource leftover
Conclusions • Path finding in multi-layer networks is a complex problem; • Propose a declarative solution for MLMD path finding using semantic network descriptions (NDL) and a logical reasoning system (Prolog); • MLMD graph generator is used to generate simulated multi-layer network scenarios.
References [1]: Freek Dijkstra, Bert Andree, Karst Koyman, Jeroen van der Ham and Cees de Laat. A Multi-Layer Network Model Based on ITU-T G. 805 Computer Networks, Vol. 52, Issue 10, pp. 1927 -1937, July 2008 [2]: Jeroen van der Ham, Paola Grosso, Ronald van der Pol, Andree Toonk and Cees de Laat. Using the Network Description Language in Optical Networks. In: Tenth IFIP/IEEE Symposium on Integrated Network Management, May 2007 [3]: Freek Dijkstra, Jeroen van der Ham, Paola Grosso, Cees de Laat, A Path Finding Implementation for Multi-layer Networks, Future Generation Computer Systems, Vol. 25, Issue 2, pp. 142 -146, February 2009 [4]: J. Wielemaker, An overview of the SWI-Prolog programming environment, in Proceedings of the 13 th International Workshop on Logic Programming Environments, F. Mesnard and A. Serebenik, Eds. Heverlee, Belgium: Katholieke Universiteit Leuven, december 2003, pp. 1 -16, c. W 371. [5]: Barabasi, A. and Albert, R. , Emergence of scaling in random networks, Science 286, 509 -512, 1999 [6]: Fernando Kuipers, Freek Dijkstra, Path Selection in Multi-Layer Networks, Elsevier Computer Communications, Vol. 32, (Issue and publication date yet unknown), 2009, pp. 78 -85
Thank you for your attention! Questions? Contact: l. xu_at_uva. nl or via google->images->people : -)
Below not used
Sample Code device(Dev): - rdf_db: rdf(Dev, rdf: 'type', ndl: 'Device'). interface(Intf): - rdf_db: rdf(Intf, rdf: 'type', ndl: 'Interface'). layer(Layer): - rdf_db: rdf(Layer, rdf: 'type', ndl: 'layer'). . hasinterface(Dev, Intf): rdf_db: rdf(Dev, ndl: 'has. Interface', Intf). . %------ define layer ------% ethlayer(X): rdf_db: rdf(X, ndl: 'layer', ethernet: 'Ethernet. Network. Element'). %------ define different types of connection ------% canswitchto(X, Y): hasinterface(S, X), switchmatrix(S), hasinterface(S, Y), X = Y. % X different from Y. . . Define rules %------path finding-----------% simple_path(X, Y, Visited, Path ): % ---- direct link ---- % connection(X, Y), not( member(Y, Visited)), Path = [Y] ; % ---- cross the Switch. Matrix ---- % % ---- direct switchto the dst---- % canswitchto(X, Y), not( member(Y, Visited)), Path = [Y] ; . . . % ---- direct link followed by another path --- % simple_path(X, Y, Visited, Path ): connection(X, Z), not( member(Z, Visited) ), simple_path(Z, Y, [Z|Visited], NPath ), %format('---1 ---'), Path = [Z | NPath]. . PF Algorithm
- Multilayer sdn
- Multilayer architecture
- Building cisco multilayer switched networks
- Multilayer perceptron
- Strategic multilayer assessment
- Multilayer mirror
- Dfabrics
- Multilayer neural network
- 底片尺寸
- Multilayer security architektur
- Multilayer switch icon
- Multilayer inspection firewall
- Multilayer perceptron matlab
- Multi plane
- Multilayer perceptron nonlinear
- Path finding
- Waiting line management system
- Multi loop pid controller regolatore pid multi loop
- Elements and principles of art
- Zaner blosser
- Exophoria
- Simulated annealing algoritmo
- Contoh simulated annealing
- London letters for handwriting examination
- Eet writing test sample answer
- Value tones