未来工作¶
- 链路过滤器
- 之前提到link的monitor/tracker,如使用scheduler,都是全局的
- 我们实际上更希望可以针对局部实现,这样更具有可扩展性
- 拓扑配置中加入一个参数化的选择器
- 链路错误模型
- 现实的网络传输中存在噪音等不可避免的错误
- 模拟实际网络中由于噪声或其他因素导致的错误
- 无缓冲版本的
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
函数
- Arbi: 子类覆盖
- Link Utilization/Queue Track
- 几乎完全一样
- 构建方式: 要么全局scheduler配置器 / 要么单独做tracker
- TCP Flow App / UDP Burst App
- 几乎完全一样
- 构建方式: 要么全局scheduler配置器 / 要么单独做tracker
- PingMesh
- 通过不停的ping获取当前RTT,从而了解网络拥塞情况
- TCP Optimizer
- 存在两种优化方式: 普通优化 / 基于最坏RTT优化
- 本质是自动根据网络情况调整当前TCP协议栈的配置参数