SDN控制器多种多样且复杂,但它们具有共同的目标和功能 . 知道选择哪个SDN控制器的一个重要方面是它是否表现良好,以及它的性能瓶颈是否相当高 .
根据智慧,我偶然发现了this evaluation paper,它基本上批评了OpenFlow的性能,为OpenFlow协议的次优实现提供了许多有见地的理由 . 我发现,最有趣的是许多SDN控制器在类似基准测试中的比较 .
我使用OpenDaylight控制器进行研究,我发现本文声称ODL非常低效,以至于提供实验数据是徒劳的 . 考虑到ODL的大小和活跃程度,这似乎是一个不真实的主张 .
虽然本文提供了许多其他OpenFlow控制器可以表现不佳的原因,但令人讨厌的是OpenDaylight上没有给出任何限制 . 另外,我注意到没有给出这些SDN控制器的一般逻辑架构 . 这对我来说很令人担忧,因为可编程性是SDN游戏的名称,因此主要使用默认行为(我假设是本文中正在发生的事情)可能不是比较SDN控制器容量的最可靠方法 .
比如,控制器A使用技术A自动发现拓扑,控制器B使用技术B.如果技术B更有效,无论实施如何,这将导致两个控制器的性能评估明显偏差 . 如果两个控制器都使用技术B(考虑到SDN的高度可配置性,这是合理的),那么评估会更公平 .
困扰我的另一点是评估的特征 . 在我看来,延迟与在给定硬件节点上每秒处理一定量消息的瓶颈性能同样重要 . 对我而言,这与实现相关性要小得多,因为有很多不同的技术可以用SDN执行类似的任务,但这些技术在消息传递开销或数据包输入/数据包输出方面没有相同的“复杂性” . 率 .
这有意义吗?这是对的,还是我错过了什么?文章中给出的表现是用一粒盐吗?如果是,那么评估控制器技术的独立于实现的方式是什么?
1 回答
我的一个朋友,RedHat的Daniel Farrel给我发了一个问题的URL . Daniel领导了OPNFV CPerf项目多年:https://wiki.opnfv.org/display/cperf CPerf是与ODL Integration / Test,OPNFV和IETF Benchmarking Methodology Working Group成员的跨项目合作 . 我们通过我们的测试工作和每周讨论已经学到了很多东西(欢迎您加入我们当然) .
我阅读了您引用的 Session 论文,并分享了您的许多疑虑 . 您的许多兴趣和问题都是针对性的,我将分享一些链接并添加一些可能有用的简短答案 .
我也很惊讶作者因性能低而排除了ODL结果 . ODL有很多测试结果,包括CI测试结果:https://wiki.opendaylight.org/view/CrossProject:Integration_Group:Performance_Test:Results其中一项有趣的比较研究是几年前由CPerf成员完成的:https://www.linux.com/news/sdn-developers-report-key-lessons-testing-opendaylight-performance
令人惊讶的是,持久数据存储(ODL的一个有 Value 的可靠性功能,默认启用)是性能障碍,其他控制器没有提供此功能或默认情况下不启用它 . 必须在ODL中禁用持久性数据存储,以进行公平比较 . 还评估了将SSD用于数据存储区的好处 . 最近对ODL控制器的测试如下所述:https://www.opendaylight.org/blog/2017/10/24/how-performance-testing-improved-the-nitrogen-release
另一个讨论主题围绕控制器基准测试的"right"指标集 . 在这个JIRA票证中捕获了CPerf项目的想法:https://jira.opnfv.org/projects/CPERF/issues/CPERF-3?filter=allopenissues我们都同意的一点是,丢失OpenFlow Packet-IN到Flow-MOD响应是基准测试的关键指标 . 换句话说,控制器吞吐量的许多测试还同时测量响应延迟,并且许多响应的延迟高的吞吐量可能不代表有用的操作条件 . 当Packet-INs没有响应时,同样如此,并且CPerf同意吞吐量测量应报告没有响应丢失的级别 . 我们的一个团队成员编写了一个golang工具,在控制器上部署为探针:https://github.com/anastop/latte并在OF接口上进行丢失和延迟测量 .
我还提到IETF Benchmarking Methodology WG已经制定了控制器基准的规范,这些Internet草案的主要作者也参与了CPerf:https://tools.ietf.org/html/draft-ietf-bmwg-sdn-controller-benchmark-term-06 https://tools.ietf.org/html/draft-ietf-bmwg-sdn-controller-benchmark-meth-06
我希望你会发现这些材料对你的研究很有帮助 .
人