zoukankan      html  css  js  c++  java
  • 文献阅读(二)

    写在前面

    本文是关于 P4 文献阅读(一) 中第二篇文献的参考文献的粗读笔记。

    • 文章名称:Effective Switch Memory Management in OpenFlow
      Networks

    • 发表时间:2014-5

    • 来源:the 8th ACM International Conference

    • 针对什么问题?

      • 在 OpenFlow 网络中,交换机需要在有限的内存(尤其是 TCAM)中安装来自逻辑集中的控制器的流表项。
      • 最近的研究表明如今在数据中心每个服务器机架可以产生多达 10,000 的 flow(PS: 这是2014年的数据,有理由相信现在的数据远远超过这个数目)
      • 通过增加 TCAM 的规模来适应这么大的 flow rules 是不现实的,因为 TCAM 十分昂贵并且十分耗能。
      • 最近,OpenFLow 控制器通过设置一个默认的 idle timeout 来解决这个问题。然而过高的 idle timeout 会导致交换机内存的低利用率,过低的 idle timeout 则会增加控制器的负担。
      • 因为缺少一种智能的方法来计算,控制器在设置 timeout 时通常设置为默认的 5 秒或者最小值 1 秒或者无穷大。并且通常所有的流都设置为一样的值。
    • 解决方案

      • 提出了 SmartTime —— 一个 OpenFlow 控制器系统。
      • 这个系统结合了一个自适应超时启发式算法(an adaptive timeout heuristic)来计算最有效率的 idle timeout
      • 这个系统实现了 TCAM 内存的高利用率同时不会增加控制器的负担。
    • 所提出的架构有哪些实现难点?

      • 尚未了解
    • 贡献有哪些?

      • 在两个 OpenFlow 控制器上设计并运行了 SmartTime
      • 在分析了真实数据中心的 packet traces 而目前最小值为 1 秒的超时对于这一类 flow 而言就太高了。这一类的 flow 的超时推荐值为 10-100 微秒
      • 在四个真实的数据中心以及两种典型的 cache 大小的条件下进行了对比实验。与静态的idle timeout 策略和随机移除流表项策略相比,SmartTime 性能都排在前二。在 72个实验中有67个实验,SmartTime 与另外两种策略相比性能提升了最多有 58%。
    • 收获

      • 《A Zero Flow Entry Expiration Timeout P4 Switch》基本上只是被引用了针对的问题部分,至于解决方案被没有被提及。

    • 文章名称:Intelligent Timeout Master: Dynamic Timeout for
      SDN-based Data Centers

    • 发表时间:2015-5

    • 来源:IFIP/IEEE International Symposium on Integrated Network Management (IM)

    • 针对什么问题?

      • 基本和上一篇一样,只不过表述不同。
    • 解决方案

      • 根据不同 flow 的特点分配合适的 timeout。
      • 根据当前流表的占用情况来进行反馈控制,以此来调节最大的 timeout
    • 所提出的架构有哪些实现难点?

      • 尚未了解
    • 贡献有哪些?

      • 提出用于 OpenFlow 的 Intelligent Timeout Master 来更好的利用流表资源。在控制器中添加一个 cache 模块来记录上一次超时时间并且使用基于历史的算法来预测合适的 timeout。如此一来,不同的流就会根据它们的特点被分配到合适的 timeout。
      • 利用流表负载作为反馈控制来调节最大超时时间,这样可以避免流表空间不足而溢出。也是首次出现在 timeout 设置方面使用反馈控制这个思想。
    • 收获

      • 本文的算法思路如图所示
        algorithm

    • 文章名称:OpenFlow: Enabling Innovation in Campus Networks
    • 发表时间:2008-4
    • 来源:ACM SIGCOMM Computer Communication Review
    • 收获
      • 本文是一篇 OpenFlow 的综述。主要讲了 OpenFlow 在校园主干网中的部署应用。

    • 文章名称:FlowMaster: Early Eviction of Dead Flow on SDN Switches

    • 发表时间:2014

    • 来源:International Conference on Distributed Computing and Networking

    • 针对什么问题?

      • 随着 SDN 的兴起,每一台交换设备都要求在很低的延时范围内工作。
      • 为了服务一条 10Gbps 的链路,交换机每秒需要处理百万个包。想要满足这样的流量需求,交换设备需要内嵌高性能的微型架构元件。
      • 流表就是其中之一。它是交换机用于转发包的关键元件。它的饱和度(saturation)可能成为网络中降低延时的瓶颈。(PS: 我猜测这里的饱和度 指的是流表的容量)
    • 解决方案

      • 提出 FlowMaster —— 一个预测机制(a speculative mechanism)用于更新流表。
      • 通过 FlowMaster 判断哪些流表项已经无效并尽早移除以此来腾出空间。
      • 通过详细分析包的路径来判断一个流表项是否需要被移除。
    • 所提出的架构有哪些实现难点?

      • 尚未了解
    • 贡献有哪些?

      • 只有 10% 的错误判断,正确率高达 90%
      • 在发生了错误判断后,可以让被误移除的流表项 revisit。
    • 收获

      • 除去第三篇综述以外,剩下三篇都是关于如何提高流表空间利用率。并且都是提出一个算法来合理的设置流表项的 timeout。
      • 三篇我都没有看具体的算法,以下都是我根据粗读之后的看法。
      • 第一篇是使用主动启发式算法进行计算。
      • 第三篇则偏向于根据已有历史进行预测。并且多了一个反馈控制的思路,也就是说第二篇的算法参数主要有两方面 :一方面是过去的历史记录;一方面现在的流表占用情况。
      • 第四篇则是基于包的路径,作为判断的依据。先判断这个流是否失效(或者说成为 dead flow),从而设置流的 timeout

    • 看完《A Zero Flow Entry Expiration Timeout P4 Switch》的参考文献后越发觉得它的 idea 十分精妙。除去综述以外的剩下三篇都需要通过复杂的算法来计算最合理的 timeout 来提高流表空间的利用率并且都是三四年前的研究工作,而到了今年还能够提出一个全新的思路来提高利用率,十分佩服。

    • 接下来我会先看看《图解 OpenFlow》这本书,说不定也能有一个好的思路(ノ>ω<)ノ

  • 相关阅读:
    Elasticsearch轻量搜索与分析
    Elasticsearch文档详解
    Elasticsearch基本概念
    Elasticsearch集群健康
    Elasticsearch搜索与分析
    Redis 面试题 记录
    Redis集群 详解
    从根上理解高性能、高并发(六):通俗易懂,高性能服务器到底是如何实现的
    昔日移动端IM明星 “米聊” 即将停止服务
    从根上理解高性能、高并发(五):深入操作系统,理解高并发中的协程
  • 原文地址:https://www.cnblogs.com/multhree/p/9738027.html
Copyright © 2011-2022 走看看