异数OS 2017 DPDK 峰会观后感
1.DPDK in Container
使用虚拟网卡设备技术为每一个容器分配一个IP 网卡适配器(queue)。容器技术可以解决虚拟机技术中虚拟机过于臃肿,难于热迁移的问题,可能可以代替美团OVS方案,解决OVS热迁移方案不足的问题。
2.F-Stack
F-Stack拒绝有意义的提问,带来了现场的一番哄笑,F-Stack违背了DPDK最初的技术方向,其提供了POSIX接口被迫使用了Linux线程IO模型,导致其能力只能达到linux协议栈RSS 无锁优化后的1.4倍,这是mtcp ans 也存在的同样问题,而完全放弃Linux线程IO模型自己实现OS任务调度的seastar则是F-Stack mtcp ans 性能的5-10倍。
F-Stack拒绝了长连接性能,技术上讲这主要是因为著名的C10K问题,在linux windows等主流操作系统中,在无法做QOS的情况下,大量长连接会很不稳定,导致雪崩问题,C10K问题不解决,则高效的消息推送方案则无法实施,比如未来的websocket技术,IM领域的360Push Whatsapp 环信等应用场合就无法做到,长连接性能直接关系到IM的运营成本,不知道微信是否有用F-Stack,具体可以参看Whatsapp “零”运营技术,而这一块内容是异数OS方案需要解决的问题重点。
F-Stack演讲者则用两个现实问题搪塞了技术问题,说腾讯的业务都是短链接业务,腾讯的业务平台都要使用linux生态,所以放弃了自研协议栈,这在技术上讲实际是一种退步。
F-Stack在Send时多出现了一次内存拷贝动作,这个问题在异数OS中则被解决,原理是用异数OS的惰性IO资源,利用可用的ring buffer,在ring buffer可用的时候调度TCP worker线程在ring buffer上直接进行发包渲染工作。
3.A Better Virtio towords NFV Cloud
高科技,不懂:)
4.SPDK
没详细听,感觉意义不是特别重大,因为应用系统中,磁盘IO压力不会特别高,而且存储是有寿命的,不宜频繁使用,好的系统设计,比如一些kv都是尽量少的提交持久化磁盘任务,所以更好的文件系统以及更好的持久化任务系统(OS)才是真正的重点。
5.性能调优
for循环优化在内存io密集型应用方面用不上,只能用在多层for循环重压力算法中,另外dpdk的内存预读是否有用,我这边使用的gcc的是没有用的,不管是连续方寸还是随机访问。
问及Hash 随机访存优化,演讲者就说去看vpp...要看的话就不要问了...
6. 美团OVS
美团OVS被人质问宿主机升级时,VM网卡断了间隔怎样处理,OVS本身并没有解决方案,难以热迁移,这其实是没有直接解决方案的,而且仅仅是一个大类问题的一个小问题,本质问题是VM网卡断了VM中的OS协议栈以及应用可能会面临雪崩和应用宕机,这个问题也是异数OS方案解决的重点问题。
7.DPDL
听的不太清楚,个人理解是RSS FDIR等技术并不能解决所有负载分流问题,所以需要诞生一种多核同时能处理一个ring的需求。因此原本的单生产者单消费者的ring需要被扩展设计出多生产者多消费者的ring,本来单生产者单消费者的ring是利用cache一致性协议无锁无atom的多核通讯,cache line内不需要保序,但需求变更后则会要求加锁保序。
提问者则有质疑,这样的情况加锁则意味着阻塞CPU核,最坏的自旋锁情况则是多核比单核还慢。
提问者的质疑异数OS提供了解决方案。
异数OS的虚拟交换机使用无锁无atom的多生产者多消费者的设计,用于LPC的实现,但必须配合异数OS使用,原理上讲,他还是利用cache 一致性协议,没有OS的情况,则只能自旋锁阻塞CPU核,但是有OS则可以在try无效时做线程切换动作,在Linux下,这两种锁都被应用实做以便于适应不同的情况,原因是linux的线程切换代价极高,所以直接决定了锁能够达到的频度,频度不高时可以使用线程切换的自旋锁,以便于充实CPU核,带来性能提升,但网卡ring的PMD频度很高,则不能用这种方式,而异数OS则可以用这个方案,原因是异数OS每盒最大线程切换能力可以达到50M。
8.intel 25Gbe Ethernet Adapter
个人理解,交换机领域功能不足,OS协议栈性能不济的情况下,限制了其推广。
9.DPDK Cryptodev Framework
提问者质疑延迟的问题,因为ring 要利用cache加速,不可能做大,因此延迟很敏感。
10.腾讯DDOS清洗
只讲了使用DPDK抓包,清洗算法未知,做到了90M的速度,所以猜测只是一些DPI,fastpath,不能做复杂的session清洗。
所以提问者立刻问了能不能做5层6层7层清洗,集群黑名单同步等问题,显然是无解的,所以现场再次哄笑。
DPDK社区群上有人怀疑腾讯来的人都是做技术运维的。
11.Low Latency Interrupt Mode PMD
回归到了一个经典问题,DPDK只看到了自己的问题,没发现别人玩不转,DPDK说我用用户层PMD绕开Linux内核协议栈,Linux说,没我你做不出协议栈,这个问题又再次出现了,在局部上讲,低流量压力下时PMD浪费CPU资源,引入中断模式的PMD可能会有效率,但是中断关系到OS的线程切换,为了减少线程切换,一般要用绑核以及本地化任务调度等技术,但中断显然打破了上层设计格局。
提问者大概的意思是中断速率和PMD速率是否可以自动根据网络流量做自适应调节,但没有得到直接答复,因为这可能超过了演讲者的问题理解范围。
异数OS则在这个问题上做了完整解决。
异数OS的PMD线程会被QOS做IOPS控制,在不同压力下可以自适应变化到1M 2M....10M,在try miss的情况下PMD线程会被QOS挂起,切换到其他就绪线程(包括idle降温线程),在IOPS资源可用时再被唤醒回来。
12.嵌入式交换机解决方案
交换机不是太懂:)
13.Panabit Support Millons Users in vBRAS
nat alg pppoe,听到孙总200W 2000W session管理以及OS这一概念后,本来以为找到同行了,但提问希望关注他们的OS特性如何处理雪崩等问题时,则被转移话题。
QQ技术群中 move经验丰富 测试过他们的产品,说syn异常时,链接资源无法被清理,只能reboot,那么说明他们应该没有OS来管理庞大的session 生命期,只是个fastpath,甚至连定时器都没有(定时器在海量链接时很耗资源)。
孙总的销售思路比研发在战略上肯定更加清晰,导致论战上的胜利。
如果有OS的话,有希望做应用业务级别精确的QOS,所以颠覆式创新比标准制定者(中兴华为)肯定更能获得希望,但他们的OS真做了吗?
14. DPDK PMD in LXC
上场论战太感人,在回味,所以没听。
15.Yuanshan DDOS清洗
降低的比腾讯要丰富些,但关键的清洗识别算法是保密的。
值得关注的是演讲者讲了一个冷笑话对全场主题做了一个有意义的总结,说一座山挡住wifi信号,然后愚公移山是否有意义来告诫参会者,每个人的理解可以不同,我的理解如下:
1. OVS等虚拟化等方案是否使问题变得更复杂,代价更高。
2. 标准制定者与颠覆式创新者之间,我们是否应该支持颠覆式创新者的做法(孙总的灵活QOS与中兴华为移动的QOS标准,F-stack的被现实大山压倒与seastar的丢弃包袱完全开创新世界)。
异数OS 2017 DPDK 峰会观后感的更多相关文章
- 异数OS谈发展国产操作系统的问题
异数OS谈发展国产操作系统的问题 为什么写本文 最近中兴被美制裁的问题以及红芯使用开源技术宣称国产自主技术引发了舆论不少对国产CPU以及国产操作系统自主技术的讨论,为什么我们国家有BAT,有原子弹,能 ...
- 异数OS 织梦师-云(五)-- 容器服务化,绿色拯救未来。
. 异数OS 织梦师-云(五)– 容器服务化,绿色拯救未来. 本文来自异数OS社区 github: https://github.com/yds086/HereticOS 异数OS社区QQ群: 652 ...
- 异数OS 织梦师-Xnign(四)-- 挑战100倍速Nginx,脚踩F5硬件负载均衡
. 异数OS 织梦师-Xnign(四)– 挑战100倍速Nginx,脚踩F5硬件负载均衡 本文来自异数OS社区 github: https://github.com/yds086/HereticOS ...
- 异数OS国产CPU平台移植项目需求分析
异数OS国产CPU平台移植项目需求分析 目录 异数OS国产CPU平台移植项目需求分析 项目立项背景 项目需求分析 异数OS性能指标简介 1.TCP协议栈性能测试 2.异数OS-织梦师-水母 消息队列性 ...
- 异数OS 织梦师-水桶(三)-- RAM共享存储方案
. 异数OS 织梦师-水桶(三)– RAM共享存储方案 本文来自异数OS社区 github: https://github.com/yds086/HereticOS 异数OS社区QQ群: 652455 ...
- 异数OS 织梦师-水母(一)--消息队列篇
异数OS 织梦师-水母(一)–消息队列篇 本文来自异数OS社区 github: https://github.com/yds086/HereticOS 异数OS社区QQ群: 652455784 异数O ...
- 异数OS TCP协议栈测试(四)--网卡适配篇
异数OS TCP协议栈测试(四)–网卡适配篇 本文来自异数OS社区 github: https://github.com/yds086/HereticOS 异数OS社区QQ群: 652455784 异 ...
- 异数OS TCP协议栈测试(三)--长连接篇
异数OS TCP协议栈测试(三)--长连接篇 本文来自异数OS社区 github: 异数OS-织梦师(消息中间件)群: 476260389 异数OS TCP长连接技术简介 说起长连接,则首先要谈对 ...
- 异数OS-织梦师-异数OS虚拟容器交换机(七) 走进4Tbps网络应用时代,加速5G应用真正落地
. 异数OS-织梦师-异数OS虚拟容器交换机(七) 走进4Tbps网络应用时代,加速5G应用真正落地 本文来自异数OS社区 github: https://github.com/yds086/Here ...
随机推荐
- JDK自带的native2ascii工具介绍
背景:在做Java开发的时候,常常会出现一些乱码,或者无法正确识别或读取的文件,比如常见的validator验证用的消息资源(properties)文件就需要进行Unicode重新编码.原因是java ...
- H3C STP的作用
- Python3使用过程中需要注意的点
命名规则 变量 变量名只能是数字.字母或下划线的任意组合 变量名的第一个字符不能是数字 不能使用关键字作为变量名 变量的定义要具有可描述性 变量名不宜过长.不宜使用中文.拼音 常量(常用在配置文件中) ...
- 圆角效果 border-radius——阴影 box-shadow——为边框应用图片 border-image
1.圆角效果 border-radius border-radius: 5px 4px 3px 2px; /* 四个半径值分别是左上角.右上角.右下角和左下角,顺时针 */ 不要以为border-ra ...
- TransactionDefinition接口中定义了七个事务传播行为
1.PROPAGATION_REQUIRED如果存在一个事务,则支持当前事务,如果没有事务则开启一个新的事务.使用spring声明式事务,spring使用AOP来支持声明式事务,会根据事务属性,自动在 ...
- CUP计算资源争抢通过IIS启用处理器关联解决
由于业务的复杂性,我们在客户环境部署的时候,采用的是预装好在一台机器然后再把机器安装到客户环境,所以为了简单方便,我们把所有的服务都安装到一台机器上面了. 在正常的使用过程中是没有任何问题的.但是当有 ...
- 跟我一起学QT_QT标准对话框_文件对话框
标准对话框 QT的标准对话框分为以下几种 颜色对话框 文件对话框 字体对话框 输入对话框 消息对话框 进度对话框 错误信息对话框 向导对话框 文件对话框 QT中的文件对话框QFileDialog类提供 ...
- 【合集】有标号的DAG图计数(合集)
[合集]有标号的DAG图计数(合集) orz 1tst [题解]有标号的DAG计数1 [题解]有标号的DAG计数2 [题解]有标号的DAG计数3 [题解]有标号的DAG计数4
- FactoryMethodPattern(工厂方法模式)-----Java/.Net
也就是工厂方法(FactoryMethod)模式允许将产品类的实例化推迟到具体的创建者子类,由创建者子类决定实例化哪一个产品类.我们同样以汽车的生产作为讲解该模式的例子,因为汽车生产从宏观上来说也是特 ...
- shell脚本配置maven
#!/bin/bash # maven install mvnpath=/usr/local/maven # 不存在 if [ ! -d "$mvnpath" ]; then ec ...