Alevin——虚拟网络仿真平台

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算法的消息开销)。出于这个原因,实现了一个本地存储,以保持只有在运行时才可用的信息。这个存储可以被算法和评估指标访问。

  • 6
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

已黑化的小白

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值