cgroup在容器隔离方面不能完全满足需求,对于一些公共的内核资源无法实现隔离,比如huge page, cache等
进一步增强隔离性需要一定的内核知识,研究方向如下:
1) L3 cache, 当前只有Intel特定的处理器支持CAT(cache allocation technology),且与需要内核补丁暴漏接口,
参考CFS对资源的处理
2)BPF,在socket过滤器上进行注入,可以采集很多内核未暴漏的数据给调度
3)使用overlayfs2替代overlayfs1,或者自研改进版本
参考文章:
https://medium.com/netflix-techblog/predictive-cpu-isolation-of-containers-at-netflix-91f014d856c7
https://www.infoq.cn/article/2Hxfu3praGYewq6_FcdK