Virne: A Simulator for NFV#

Note

Virne is still under development. If you have any questions, please open an new issue on Github or contact me via email: wtfly2018@gmail.com.

Virne is a simulator for resource allocation problems in network virtualization, mainly for virtual network embedding (VNE). It also is adaptable to VNE’s variants, such as service function chain deployment (SFC Deployment), network slicing, etc. Specifically, it provides a unified interface for various VNE algorithms, and provides a variety of network topologies, network attributes, and RL environments.

Its main characteristics are as follows.

Rich Implementations

Provide 20+ solvers, including exact, heuristic, meta-heuristic, and learning-based algorithms.

Extensible Development

Provide a variety of network topologies, network attributes, and RL environments, which can be easily extended.

Light-Weight

Implement concisely with less necessary dependencies, and can be extended easily for specific algorithms.

Supported Features#

  • Adaptation to VNE Variants

    • Service Function Chain Deployment (SFC Deployment)

    • Network Slicing

  • Diverse Network Topologies

    • Star Graph: Data Center Network

    • 2D-grid Graph: Grid Network

    • Waxman Graph: General Network

    • Path Graph: Chain-style Network

    • Edge Probabilistic Connection Graph

    • Customlized Topology

  • Graph/ Node / Link-level Attributes:

    • For resources/ constraints/ QoS

    • Graph Level: e.g. the global requirements of virtual network

    • Node level: e.g. Node resource, node position

    • Link level: e.g. Link resource, link latency

  • Multiple RL Environments

    • Provide serval RL Environments in gym.Env-style

  • Various Simulation Scenarios

    • Admission control: Reject Early some not cost-effective virtual networks

    • Time window: Developping

Overall Workflow of Virne

Citation#

Please cite our papers if you use Virne in your research.

Indices and tables#