Skip to content

The Virtual network Embedding (VNE) considering multiple attributes while generating server and VM preference orders using the Entropy-TOPSIS method. VM embedding is performed by using greedy algorithm followed by a short path algorithms for VL embedding.

Notifications You must be signed in to change notification settings

Keerthankumar22/NORD

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NORD

Execution Environment:

Operation System: Microsoft Windows 10, 64bit.
Physical Memory (RAM) 16.0 GB.

Prerequisites

Python 3.9.
PyCharm Community Edition 2021.2.
Alib utility for VNE simulation.
Introduction about VNE prblem can be found in below link:
https://www.youtube.com/watch?v=JKB3aVyCMuo&t=506s

Installation

Download the ALIB_Utility tool unzip and copy it to the execution drive.

  • Configure the alib by following the steps mentioned in the github reposotory [1].

  • Generate the input.pickle file and save it in the P3_ALIB_MASTER\input path.

  • Make sure "P3_ALIB_MASTER\input" path contain senario_RedBestel.pickle. If not, generate the substrate network scenario for "senario_RedBestel.pickle" in folder P3_ALIB_MASTER\input and this pickle file contains substrate network information.

Download  NORD and keep it in the drive where P3_ALIB_MASTER is present. The  NORD  file contains all executable files related to the proposed and baseline approaches.

  • Topsis.py -> The Main file related to the  Proposed NORD approach.
  • Greedy.py -> The Main file related to the  Greedy baseline approach.
  • Nrm.py -> The Main file related to the  NRM baseline approach [2].
  • Rethinking.py -> The Main file related to the  DPGA baseline approach [3].
  • NodeRankCal.py -> The Main file related to the  VNE-NTANRC-D baseline approach [4].
  • PageRank.py -> The Main file related to the  VNE-NTANRC-S baseline approach [4].
  • Puvnp.py -> The Main file related to the  PUVNP baseline approach [5].
  • Rematch.py -> The Main file related to the  ReMatch baseline approach [6].

Usage

In vne_u.py, we can set the various parameters related to Virtual network requests(VNRs).

  • We can set the minimum and maximum number of VMs of VNRs in the create_vne function.

  • We can set the virtual network request demands like BandWidth(min, max), CRB(min, max), LocationX(min, max), LocationY(min, max), and Delay(min, max) in vne. append function.

  • Example: (1, 5, 1, 10, 0, 100, 0, 100, 1, 4)

  • Run vne_u.py after doing any modifications.

In grpah_extraction_uniform.py:

  • In the get_graphs function mention the pickle file related to substrate network generation, the same is available in the folder P3_ALIB_MASTER. EX: os.path.join( os.path.dirname(current), "P3_ALIB_MASTER", "input", "senario_RedBestel.pickle",)

  • In graph.parameters function set substrate network resources like BandWidth(min,max), CRB(min,max), LocationX(min,max), LocationY(min,max), Delay(min,max).

  • Example: (500, 1000, 200, 1000, 0, 100, 0, 100, 1, 1)

  • Run grpah_extraction_uniform.py after doing any modification. 

grpah_u.py

  • This file generates the standard 1_uniform.pickle file, which contains all the information about substrate network topologies, such as the number of servers, links, and connectivity. It also includes values for each substrate network resource.

In the automate.py file set the VNR size such as [250, 500, 750, 1000] and also mention the number of iterations needs to execute for each VNR size in the iteration variable.

  • Finally, run the automate.py file. After successfully running, a 1_uniform.pickle file is created (If it already does not exist in the specified path). It has all input parameters related to the substrate network parameters, such as CRB, Bandwidth, Delay, and Location.

  • Final embedding results are captured in Results.xlsx, which includes values for various metrics for all test scenarios for every iteration.

References

[1] E. D. Matthias Rost, Alexander Elvers, “Alib,” https://github.com/vnep-approx/alib, 2020.
[2] P. Zhang, H. Yao, Y. Liu, Virtual network embedding based on computing, network, and storage resource constraints, IEEE Internet of Things Journal 5 (5) (2017) 3298–3304. doi: https://doi.org/10.1109/JIOT.2017.2726120.
[3] Nguyen, Khoa TD, Qiao Lu, and Changcheng Huang. "Rethinking virtual link mapping in network virtualization." In 2020 IEEE 92nd Vehicular Technology Conference (VTC2020-Fall), pp. 1-5. IEEE, 2020, https://ieeexplore.ieee.org/document/9348799.
[4] H. Cao, L. Yang, H. Zhu, Novel node-ranking approach and multiple topology attributes-based embedding algorithm for single-domain virtual network embedding, IEEE Internet of Things Journal 5 (1) (2018) 108–120. doi: https://doi.org/10.1109/JIOT.2017.2773489.
[5] P. Zhang, Incorporating energy and load balance into virtual network embedding process, Computer Communications 129 (2018) 80–88. doi: https://doi.org/10.1016/j.comcom.2018.07.027.
[6] A. Satpathy, M. N. Sahoo, L. Behera, C. Swain, ReMatch: An Efficient Virtual Data Center Re-Matching Strategy Based on Matching Theory, IEEE Transactions on Services Computing (2022). doi: https://doi.org/10.1109/TSC.2022.3183259.

Contributors

Citation & Acknowledgements

This codebase is available publicly for only for non-commercial use. If you use this code or any content in your research or wish to refer to the baseline models published in the README, please cite the work as: @article{tg2023nord,
title={NORD: NOde Ranking-based efficient virtual network embedding over single Domain substrate networks},
author={TG, Keerthan Kumar and Addya, Sourav Kanti and Satpathy, Anurag and Koolagudi, Shashidhar G},
journal={Computer Networks},
volume={225},
pages={109661},
year={2023},
publisher={Elsevier}
}

Paper Links to Cite

Contact

If you have any questions, simply write a mail to Keerthanswamy(AT)gmail(DOT)com.

About

The Virtual network Embedding (VNE) considering multiple attributes while generating server and VM preference orders using the Entropy-TOPSIS method. VM embedding is performed by using greedy algorithm followed by a short path algorithms for VL embedding.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages