网络的时延抖动
多数人都知道时延抖动的概念,并知道它意味着什么,但对于本质却鲜有人理解。
抖动是统计学的概念,本质就是方差等各阶矩,具体看你需要什么粒度。而统计矩则来自于信息的不确定性。若没有额外信息注入,最终,信息的不确定会转化为无效的,盲目的等待,即时间。
统计学本身就是概率的,度量的正是信息的不确定性,即无知性。
例如,任务可能 101010 秒后到达,也可能 111 分钟后到达,如果这任务必须立即处理,那么在这 505050 秒的时间内,你就什么都不能做,完全就只能干等待,但如果能确定它在 353535 秒后到达,那么在它未到时,便可调度安排别的在 353535 秒前完成的任务。
这里你会看出时延的低方差比低均值更重要得多,这里你会看出高尾时延是多么不幸。
要等待不确定的时间,期间无法做确定性调度,抖动意味着低资源利用率,这便是在工程上最伤的。而这个抖动的时间 gapgapgap 只能靠信息来消除,任何算法都无法解决,这是多数不及格的工程师所不理解的,或不愿意承认的。
若要进一步理解,看看底层的做法是高尚的。
现在的光纤宽带接入,即 GPON/EPON\text{GPON/EPON}GPON/EPON,在上下行的带宽是不对称的,这背后有一个非常高效的逻辑,多对一要精确调度,而一对多则广播选收。
GPON\text{GPON}GPON 下行将去往所有站点的信息编码进一条流,广播至所有站点并由其根据 ID\text{ID}ID 选择接收或忽略,而上行方向则采用了严格 TDMA\text{TDMA}TDMA 调度,而非统计排队,这背后虽有光设备的固有特性制约,但即使是电的方式,也类似精确调度,比如 4G/5G\text{4G/5G}4G/5G。
从早期的 CSMA/CD\text{CSMA/CD}CSMA/CD 再看,早期以太网的选择亦是广播选收,直到交换式以太网之前的背板总线 hub\text{hub}hub 时代一直都是。但不同的是,无论共享式还是交换式以太网,都没有选择精确调度,而选择了统计的方式,竞争时隙。失去了精确性,引入了抖动,带换来了简单性和可扩展性。
而简单和可扩展相比可接受的,收敛有上界的时延抖动,对于网络的发展更加重要,你必须知道拿什么换得了什么。
一个日常的例子就是课堂,不对称场景下,一对多的老师点名就是编码式广播选收,而对于多对一的学生提问,则要么 CSMA/CD\text{CSMA/CD}CSMA/CD 竞争时隙,要么发言先举手,若是对称场景,自由讨论环节,则几乎全是 CSMA/CD\text{CSMA/CD}CSMA/CD。背后是有原因导致传承的。不外乎就是简单,可扩展,精确性之间的交换。
裤衩子锁着边儿,而且绣着花儿。
在网络传播,数据传输过程中,任何不确定的动态变化都会引入时延的抖动,其中的核心就是不确定性。
与空间维度在同一时刻可一眼望穿的统计矩不同,时间维度的统计矩只能依赖等待在未来对齐,未来逝去的不能先来。例如,空间维度的内存碎片,磁盘碎片皆为统计矩,它们便可采用算法去整理对齐,而算法本身就是时间的序列,对时间维度的统计矩本身就无能为力。
光介质的不纯净导致不确定的折射反射率,以及链路层的动态事件,软件处理的指令周期波动,操作系统不确定的调度时机,不确定的突发排队,AQM\text{AQM}AQM,重传,异构多路径等因素,都是时延波动的组成。抖动无法消除但能减轻,但你要瞄准上述这些入手,而不是指望用算法去优化。
浙江温州皮鞋湿,下雨进水不会胖。
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐


所有评论(0)