跳转至

未来工作

  1. 链路过滤器
    • 之前提到link的monitor/tracker,如使用scheduler,都是全局的
    • 我们实际上更希望可以针对局部实现,这样更具有可扩展性
  2. 拓扑配置中加入一个参数化的选择器
  3. 链路错误模型
    • 现实的网络传输中存在噪音等不可避免的错误
    • 模拟实际网络中由于噪声或其他因素导致的错误
  4. 无缓冲版本的 log-update-helper
    • 可以直接将日志写入文件,高效+实时
    • 笔者认为可以类比std::cerror之于std::cout

More:

  • Flowlet 路由器(Flowlet routing arbiter):一种基于流分块(flowlet)的路由算法,它可以在多路径路由中进行细粒度的流量调度。
  • 长时间运行的 TCP 应用与调度器:支持长时间运行的 TCP 流应用,可以用于测试长期连接的稳定性和性能。
  • DCTCP 示例:DCTCP(Data Center TCP)是一种用于数据中心的 TCP 协议,支持高效的拥塞控制,可以作为实验的一部分。

小结一下:

整个basic-sim就是通过 “配置文件”-“主函数运行”-“输出结果” 串起来的

  • P2P Topo: 使用topo的配置文件直接定义拓扑
  • Arbiter Routing: 基类 -> 继承(自定义路由类)
    • Arbi: 子类覆盖decide函数
    • Arbitopo: 子类覆盖topo_decide函数
  • Link Utilization/Queue Track
    • 几乎完全一样
    • 构建方式: 要么全局scheduler配置器 / 要么单独做tracker
  • TCP Flow App / UDP Burst App
    • 几乎完全一样
    • 构建方式: 要么全局scheduler配置器 / 要么单独做tracker
  • PingMesh
    • 通过不停的ping获取当前RTT,从而了解网络拥塞情况
  • TCP Optimizer
    • 存在两种优化方式: 普通优化 / 基于最坏RTT优化
    • 本质是自动根据网络情况调整当前TCP协议栈的配置参数