阅读笔记 - Prophet: Traffic Engineering-Centric Traffic Matrix Prediction
阅读论文:
- Zhang, Yuntian, et al. “Prophet: Traffic Engineering-Centric Traffic Matrix Prediction.” IEEE/ACM Transactions on Networking (2023).
背景和动机
- 流量矩阵是流量工程的重要输入,可以用于控制链路负载均衡。
- 现有流量矩阵预测方法都是以精确度为中心的,线性和非线性方法都无法很好应对网络流量波动,而且并不能对每个流都准确预测,特别是影响最大的关键流。
- 文章认为TM不是预测越准确越好,应当更多考虑TE效果。
方法和框架
文章发现并证明了TM在一些TE方法中具有critical property:即TM中的各元素的比例在TE中更为重要,而非各元素的预测准确性。
围绕critical property,文章提出了矩阵标准化和以TE为中心的角损失函数,用于ML模型更多考虑TE来训练和预测TM。
- 矩阵标准化:输入的历史TM中,每个矩阵处以矩阵中最大的元素实现标准化,从而保留元素间的比例关系
- 角损失函数:衡量预测TM和真实TM间的相对关系损失而非精度损失
角损失函数定义如下:
f
l
o
s
s
(
x
,
y
)
=
x
T
⋅
y
∥
x
∥
2
∥
y
∥
2
f_{loss}(\textbf{x},\textbf{y}) = \frac{\textbf{x}^T · \textbf{y}}{\Vert \textbf{x} \Vert _2 \Vert \textbf{y} \Vert _2}
floss(x,y)=∥x∥2∥y∥2xT⋅y
角损失函数有以下性质:
- 范围在[0,1]间
- loss值为0时表示两个矩阵可以互相等比缩放相等
- 两个矩阵中任意一个乘以任意常系数后loss值维持不变
文章所给的ML的框架其实也很简单,TM的历史时序数据用滑动窗口构造训练数据,并用mini-batch和反向传播算法进行训练,只不过用的loss是文章提出的TE-centric angle loss函数。
Prophet的推理则是TME和TE的结合,即模型利用历史TM预测出TM’后,输入TE算法得到路由方案R,真实流量TM到达后按方案R进行路由,计算MLU。以此再用真实流量本身算一次路由方案得到最优情况下的MLU,得到评价指标 P R { R , T } = M L U p r e d M L U o p t PR\{\textbf{R},\textbf{T}\}=\frac{MLU_{pred}}{MLU_{opt}} PR{R,T}=MLUoptMLUpred
这篇文章中的TE场景默认是MCF problem的场景。
实验与评估
数据集
- Abilene
- CERNET
指标
- Clock Time
- Parameter Amount
- Performance Ratio (PR)
对比方案
- TE场景
- 链路级TE
- 路径级TE
- TM预测与动态TE
- Prophet:本文的方法(使用GRU和LSTM两种模型的两个版本)
- ACRNN:SOTA的TM预测,用CNN捕捉流间关系,RNN捕捉流内依赖
- Informer
- 静态TE
- Equal-Cost Multi-Path (ECMP)
- Oblivious Routing (OR)
- 现成方案增强
- SD-MSE:使用SD pair级的标准化和MSE损失函数
- Matrix-Angle:使用本文的Matrix标准化和角损失函数