Alevin——虚拟网络仿真平台

摘要:

抽象网络虚拟化被看作是未来互联网的一种实现技术。在此背景下,目前已有文献介绍了许多虚拟网络嵌入算法。本文讨论了一个评估这些算法的开源框架。本文描述了该框架提供的特性,如何使用该框架来评估这些算法,以及如何在新的算法和仿真场景方面扩展该软件。本文介绍了所获得的经验教训,描述了软件如何向成熟和高度可扩展的仿真框架发展。

介绍

Alevin是一个用Java实现的开源工具可以轻松集成新的VNE算法和附带讨论的几种算法实现在以前出版的作品中。Alevin的开发始于2010年,是一种促进交叉评价的工具VNE算法[3]。它提供了广泛的功能进行了仿真、评价和比较算法在各种模拟场景的背景下。的这个框架已经在SourceForge上发布了(http://alevin.sf.net) 在GPL/LGPL许可下。在这篇文章中,讨论了具体的设计决策和经验教训,这导致了Alevin作为一种普通VNE的改善仿真框架。Alevin的可扩展性对未来的网络拓扑、评估指标和新颖重点介绍了VNE算法。

Alevin是一个用Java实现的开源工具可以轻松集成新的VNE算法和附带讨论的几种算法实现在以前出版的作品中。Alevin的开发始于2010年,是一种促进交叉评价的工具VNE算法。它提供了广泛的功能进行了仿真、评价和比较算法在各种模拟场景的背景下。的这个框架已经在SourceForge上发布了(http://alevin.sf.net) 在GPL/LGPL许可下。在这篇文章中,讨论了具体的设计决策和经验教训,这导致了Alevin作为一种普通VNE的改善仿真框架。Alevin的可扩展性对未来的网络拓扑、评估指标和新颖重点介绍了VNE算法。

Alevin的特点

  • Alevin框架。作者使用Alevin对他们工作中提出的VNE算法进行了模拟,评估了算法的行为,并将结果与其他方法进行了比较。这种持续的发展和使用在过去两年中导致了重大的改进。为了增加框架的灵活性和可扩展性,添加了一些新特性,并对软件的大部分部分进行了完全重写VNE算法的类别出现了。特别是实现了一个功能强大的仿真模块,可以通过大量不同的仿真对算法进行评估场景
  • 评估VNE算法通常需要运行数百甚至数千个模拟场景。这是因为有几个参数需要改变,例如,要嵌入的虚拟网络的数量或网络的大小,以得出合理的评价结果,显示算法在不同环境下的适用性。此外,由于场景生成包含许多随机性,因此必须执行多次运行来提高结果的重要性并获得信心。因此,VNE评估通常需要大量的模拟工作。为了支持正确的评估工作流程,Alevin开发了一个新的场景包,能够在许多模拟场景中运行和评估VNE算法。Alevin甚至可以并行执行模拟,并将计算工作分配到多个CPU核。这大大减少了开发人员等待评估结果的时间
  • Alevin生成多个网络嵌入场景并执行VNE算法的工作流程:首先,在场景生成步骤中生成基板网络和虚拟网络。同时,将资源和需求分配给网络的节点和链路。用户可以精确地控制这个过程,例如,通过预先定义网络的数量和大小,分配资源的数量等。然后,在这些场景之上执行VNE算法。在嵌入完成后,仿真框架评估嵌入阶段的成功,并使用几个指标来检查嵌入的质量,将结果表示为数字。结果被绘制出来,然后用户可以分析比较几种算法在不同场景下的行为。

A.生成嵌入场景

最初,用户定义一组配置参数(例如,她/他指定网络大小、基板网络资源等)。Alevin随后提供了几个生成网络嵌入场景的工具,特别是1)网络拓扑生成器和2)网络资源和需求:
(1)拓扑生成器:Alevin为基板网络和虚拟网络提供了一组生成随机网络拓扑的功能。这便于在不同网络结构的上下文中评估VNE算法。实现了一个Waxman生成器,生成随机图作为网络拓扑。此外,还可以使用更复杂的生成器:可以使用胖树拓扑生成器生成随机网络拓扑,类似于当前数据中心中常用的那些拓扑。此外,还实现了一个树层生成器。为了评估真实网络中的算法(例如,不是随机生成的拓扑),Alevin提供了一个sndlib的接口(http://sndlib.zib.de): sndlib提供了各种真实网络拓扑。目前的工作主要集中在使用随机拓扑来评估算法。sndlib接口允许从业者在真实的场景中测试它们。

(2)资源和需求:网络拓扑生成后,将资源分配给基板节点和链路。典型的VNE方式是将CPU资源分配给节点,将带宽资源分配给链路。Alevin不仅如此,还支持与能源和安全相关的资源。相应地,提供了请求特定资源的网络需求,这些资源可以分配给虚拟节点和链接。

B.执行VNE算法

- 近期文献中介绍的几种VNE算法的实现已经在该框架中可用。一些方法是基于线性规划的;还有一些是路径分割算法。甚至实现了两种分布式方法。这表明Alevin框架在可扩展性方面非常灵活。Alevin提供了各种接口来扩展软件,并支持各种库,使开发人员能够轻松集成新颖的VNE算法。

C.埋设评估

该框架目前实施了40多个评价指标,以支持对em-寝具结果的全面评价。这些结果可以用来衡量不同场景下算法的行为,并相互比较各种算法。
Alevin的一个突出特点是包含了能源效率指标。这使得Alevin成为第一个通过计算基板基础设施的预期功耗来支持节能VNE解决方案评估的工具。已经实现了几种功耗模型:最简单的模型只是区分活动节点和非活动节点,即节点是否在使用。如果某个虚拟节点被映射到某个基板节点,或者该节点是通信路径的一部分,在其他两个节点之间转发消息,则该基板节点被认为是活动的。另一种功率模型引入了基片节点的静态功耗,即为所有基片节点均匀分配相同的功耗,或为不同节点异构地选择不同的功耗值。该模型假设,一旦节点处于活动状态,其功耗是一个固定值,与节点的利用率无关(如果节点处于非活动状态,则为零)。用户可以启动这个恒功率模型,例如,从制造商的规格或真实世界的测量值。考虑到节点的利用率,Alevin还实现了一个更复杂的功率模型;

D.储存和绘制结果

在Alevin中实现了一个复杂的I/O模块,用于存储模拟场景和相应的嵌入结果到XML文件中。用户可以在以后重新导入这些数据,以便继续调试VNE算法和评估结果。除了更复杂的XML导出特性外,还实现了一个简单得多的导出特性,将评估数据存储在CSV文件中。这简化了在这些不支持XML文件作为输入的数据(如gnuplot)之上运行外部工具。

导出的数据可以由用户绘制。例如,能源效率指标(例如,电力消耗)的结果可以与不同数量的虚拟网络相关联。根据这些数据,用户可以评估VNE算法在较小/较大虚拟网络中的性能。此外,Alevin还提供了Gnuplot的接口,可以自动生成基本的2D和3D评估结果图。
- 在新的VNE算法的开发阶段,我们可以清楚地看到一些算法在运行时会积累额外的评估数据。这些数据一旦算法完成就会丢失,因为它们不能从虚拟网络的实际映射中得到(例如,分布式VNE算法的消息开销)。出于这个原因,实现了一个本地存储,以保持只有在运行时才可用的信息。这个存储可以被算法和评估指标访问。

Alevin——虚拟网络仿真平台相关推荐

  1. 基于Matlab的模拟通信实验平台设计,【通信原理仿真实验】通信原理虚拟实验仿真平台的设计和实现_玛雅作文网...

    作文「通信原理虚拟实验仿真平台的设计和实现」共有 4564 个字,其中有 2704 个汉字,1316 个英文,162 个数字,382 个标点符号.作者佚名,请您欣赏.玛雅作文网荟萃众多优秀学生作文,如 ...

  2. NS-3网络仿真平台搭建及可视化

    面向5G车联网仿真平台的搭建 本博客是基于SRTP(面向5G车联网仿真平台设计与开发)而搭建的"面向5G车联网的网络仿真平台",以供大家学习使用. 目录 前言概述 准备工作 下载n ...

  3. 新一代虚拟驾驶仿真平台

    概述 随着智能驾驶系统功能的提升,驾驶员与智能驾驶系统之间的交互功能越来越多,测试的复杂度也越来越高.经纬恒润推出的虚拟驾驶仿真平台,可以在实验室环境下提供的虚拟驾驶场景.驾驶座舱环境.动态的驾驶感受 ...

  4. 使用筋斗云网络仿真平台进行灵活性区域配置仿真

    筋斗云网络仿真使用分布式架构和并行算法,支持GIS展示多边形地图仿真结果.在仿真的整个生命周期中每一种场景都来自真实数据,既适用单机配置,亦适用基于企业服务器的网络配置,适配各种场景地图.提供从网络的 ...

  5. 基于NS-2的网络视频传输仿真平台的建立

    基于NS-2的网络视频传输仿真平台的建立   ----网络视频传输仿真平台的建立 摘 要 随着Internet和多媒体技术的迅猛发展, Internet已逐步从单一的数据传送网向数据.语音.图像等多媒 ...

  6. 计算机虚拟网络毕业论文,计算机毕业论文——基于WEB的虚拟计算机网络实验平台.doc...

    PAGE Tianjin University of Technology and Education 毕 业 设 计 专 业: 计算机科学与技术 班级学号: 计0203班 – 11 学生姓名: 指导 ...

  7. MATLAB数字信号仿真平台课题描述[完美运行,详细解释,GUI界面,万字文稿]

    MATLAB数字信号仿真平台课题描述 1题目来源 教师推荐 2研究目的和意义 数字信号处理是应用最快.成效最显著的新科学之一, 广泛地应用在通信.控制.生物医学.遥测遥感.地址勘探.航空航天.自动化仪 ...

  8. 华为 eNSP V100R003C00 和 eNSP 设备包大全,来这里一键下载!快捷方便,网络仿真不用愁!

    eNSP是华为企业路由器.交换机的图形化网络仿真平台,该平台通过对真实网络设备的仿真模拟,帮助广大ICT从业者快速熟悉华为路由.交换系列产品,了解并掌握相关产品的操作和配置,提升对企业ICT网络的规划 ...

  9. 回顾:鲍世强,讲述51VR自动驾驶仿真平台从0-1的开发与构建

    L3及其以上级别自动驾驶车辆的开发,在系统复杂程度.使用环境复杂程度方面均急剧增加.传统开发ADAS算法的仿真工具已无法完美解决当前更高级别的自动驾驶开发问题.仿真平台便成为自动驾驶企业的刚性需求. ...

最新文章

  1. GitHub 的项目徽章
  2. js base64编码解码 btoa atob 函数简介
  3. iTerm2多个窗口同时输入命令
  4. Python-Flask实现电影系统管理后台
  5. 《推荐系统笔记(十七)》userCF和itemCF —— 基于领域的推荐
  6. 记参加2008磨房深圳百公里活动
  7. Leetcode 274 H指数
  8. 数据结构与算法-二叉搜索树
  9. juniper常用命令
  10. 如何检测机器是否支持TPM
  11. Docker容器支持中文并添加中文字体
  12. 达梦数据库一些疑难杂症的解决
  13. 100部好看的校园喜剧片(可练习英文)+美国校园青春励志电影+25部口语练习电影+20部最浪漫电影
  14. 线性代数(4)—— 向量与向量组的线性相关性
  15. 报错:工作中心缺少公式CK430-PS
  16. python for i in a:与删除a内元素引起的bug
  17. 快嘴阿里旺旺超强营销王 2007 绿色
  18. 嵌入式实时操作系统μC/OS-Ⅱ 在DSP芯片上的移植与测试
  19. 小学计算机第二课堂内容,小学第二课堂活动实施方案
  20. base64stego

热门文章

  1. 千万级流量的优化策略实战
  2. 简析穷举算法,及其简单应用
  3. torch.zeros_like() 和 torch.zeros()的区别
  4. 【好文推荐】Activity之间的数据传递方法汇总
  5. GitHub使用教程详解(下)——Git的安装以及Git命令详解
  6. 网易云音乐android面试题,# 每日一道面试题 # 如何测试网易云音乐 app 语音识别功能?...
  7. Unity 基础开发-WebGL发布无法运行问题
  8. Springboot配置两个不同IP的Cas的客户端client
  9. jQuery.on() 函数详解
  10. caffe常用层:batchNorm使用