comparemela.com
Home
Live Updates
我对eBPF的偏见_Netfilter,iptables/OpenVPN/TCP guard:-(-CSDN博客 : comparemela.com
我对eBPF的偏见_Netfilter,iptables/OpenVPN/TCP guard:-(-CSDN博客
单纯从eBPF技术看,它对spinlock做了加法,显示了自己的能力,然而整体上,这个加法是有损的(eBPF的粉们不太乐意看到这句话)。但凡做加法的,都会提升故障的概率而不是降低。
就这个问题再站远一点,来看看eBPF和内核的关系。
如果你手里有一把瑞士军刀,你的关注点就是这把瑞士军刀可以解决的问题,比如开瓶盖,拧螺丝,用完即收好。但如果你是卖狗皮膏药的,光把膏药卖出去还不行,狗皮膏药必须贴在某个部位才算完。
高效意味着简单,eBPF做加法的本质让系统无法保持简单。当然了,你可能会反驳我的观点,说通用内核本身就不是为了高效的,但就事论事的话,本文这个case,在spinlock中引入eBPF,就是不对。
把轿车造的坚固一些可以在发生交通事故的时候降低伤亡率,因此车子会变得越来越坚固吗?很多低端车商确实朝这个方向走,他们明显是颠倒了目的和手段。目的是降低伤亡率,而不是把车造坚固。需要做的事情是从整体考虑安全性,比如碰撞发生后,车要怎么做才能最大限度保护乘客,但如果你是个卖轻固材料的或者你是车厂材料部门的经理,你眼里的关注点就只有加固。
造一辆少出事故的车是目标,造一辆出了事故撞不坏的车不是目标。
最后,有点跑题但又有些关联,来看看公平性问题。和QUIC的拥塞控制有关。
那为什么内核态实现的TCP拥塞控制就没有这个问题呢?事实上也有,但问题并不严重,因为大家觉得写内核模块有一点门槛,所以很多人望而却步了。以至于国内搞TCP拥塞控制优化的也就这几个人(我也是其中之一)。事实上,无论是内核还是用户态,写一个自己的拥塞控制算法非常简单,编写内核模块也没有什么门槛。
这就和用eBPF扩展策略是一样的,没有仲裁,因此每个人都可以定制自己的策略。很难将全网统一成同一个拥塞控制算法,因此这里面就会有很多博弈,如果保证拥塞控制的公平性,也一直是被研究的课题,但遗憾的是,没有什么好的方法。
浙江温州皮鞋湿,下雨进水不会胖。
Related Keywords
Switzerland
,
Zhejiang Wenzhou
,
,
District Code
,
Code Permission
,
Code District
,
End District Code
,
சுவிட்சர்லாந்து
,
மாவட்டம் குறியீடு
,
comparemela.com © 2020. All Rights Reserved.