1: blocks数据集的格式发生改变, 但影响不大,毕竟我们不对数据集进行处理 2: 参数丢失,block_info中的split_nums丢失,cc_info中的evevt_time丢失(cur_time更新遇到问题),丢失了data的全部信息,丢失了block的子packet信息 3: 参数含义改变:Extra中的inflight表达的含义从包的数目变成未收到包的字节大小,单位字节(Bytes) 4. send_rate,从发送的包的数目大小转变为发送的比特数大小,单位是比特(bit/s)
决赛相对于预赛直观感觉区别很大,尤其是模型的输入.但整体而言,很多都是对于预赛模型的优化,例如将block中packet同质化,降低包调度的算法空间,降低拥塞控制的复杂度.其余的实质性差异有以下几点:
模型需要部署在docker环境中,代码需要修改为C++版本.整个决赛23天时间,一共仅有3次提交机会,并且增加了真实系统的测试.CC算法不是每个事件都调度1次,而是会把当前时刻未处理的所有事件一次性以链表的形式传递给选手CC决赛系统.采用了QUIC重传机制.本次比赛选择数据传输的粒度为blocks,考虑的是网络传输过程中是否会出现miss_deadline,进行最大化用户的体验.但是本比赛仅仅考虑的是网络侧的数据传输,对于终端侧的传输没有涉及.由于其是通过封装的block进行数据传输,这将极大的增加网络传输过程中端到端的传输时延(终端处理时延+终端侧等待时延+网络侧传输时延),所以如何在利用miss_deadline的前提下降低网络的端到端时延,降低传输的粒度,提高稳定性,获取最优的用户体验是一个挑战.
本比赛选择采用block的原因: DTP划分block主要是希望底层传输能够拥有优先级,miss_deadline,等信息,来优化传输.
如有任何问题,欢迎留言.