文章目录博客《10万人同服同屏的技术真相从OS优化到AOI与渲染瓶颈》答疑博客《异数OS‘10万人同屏’技术真相高并发服务端架构解析》答疑首先感谢近期有不少针对异数OS 10万人同服同屏技术的质疑这里根据相关博文内容解答相关质疑。博客《10万人同服同屏的技术真相从OS优化到AOI与渲染瓶颈》答疑《10万人同服同屏的技术真相从OS优化到AOI与渲染瓶颈》博文连接10万人同屏是指10公里外的10万人同屏这是战争类电影中数十万单位同屏的刚需前提一个30万人的战场通常分布在10公里以上的地图上并聚集在3到5个子场景中每个子场景5公里范围体验要求用户能够完全感知到这3到5个子场景的存在因此视野10公里以上是必须的。同屏就是要全地图才有意义不然你可能在任何场景下都体验不到10万人同屏的场景。真正的性能大头AOI裁剪与广播控制然而10公里外的10万人同屏根本没有AOI他就是靠异数OS强悍的IOPS来硬抗梅特卡夫广播不要AOI的原因是AOI九宫格视野只有100米无法提供18公里的全地图视野要求。误读一操作系统能直接把单机上限拉满每个步骤都有数据库访问等待OS再优化也只能干瞪眼这对于linux平台的OLTP数据库来讲确实是个严重的问题因此异数OS上有配套的OLTP引擎目标是低成本实现2000万tps大概是阿里双11峰值tps的40倍左右事务成本相比双11用的oceanbase下降6个数量级具体请参考博文《异数OS-织梦师-操作系统与数据库的合体(十一)-使用异数OS打造高性能低成本元宇宙OLTP数据库引擎》。误读四所有优化都只能靠异数OS换成Linux就得认怂确实如此10万人同屏未优化情况下需要500亿IOPS帧合批后依然需要1.5亿IOPS,虽然DPDK或者io_uring可以达到这个数量级但却没有任何意义因为需要的是操作系统tcpip协议栈的IOPS性能DPDK io_uring基础上linux tcp协议栈可达不到这个数量级其中dpdk之上的常见用户态tcp协议栈性能缺口差2个数量级io_uring基础上的tcp协议栈性能缺口差4个数量级,除了IOPS性能的数量级差距更要命的是DPDK 和io_uring之上的产品存在严重的并发障碍之上已实作产品甚至根本不考虑并发tps业务支撑无法用于元宇宙服务器建设。你可以去问问dpdk之上的TLDK协议栈的失败经验多搜集一些具体的性能数据和产品应用领域再来认怂。服务端分层接入、场景、数据三层怎么拆同服AOI确实可以分片搞分布式但10公里外的10万人同屏没法搞分布式治理原因是一致性延迟不允许电商秒杀可以最终一致商品没抢到没啥损失元宇宙装备没抢到的情绪赔偿则没有商量余地。渲染瓶颈是数学问题不是信仰问题假如真在客户端里加载10000个角色光纹理显存就要80GB所有人都变成半透明的极低模方块人那也没意义了这确实是数学问题只是你计算有误所以再来计算一下GPU多实例纹理内存占用是按照角色的类型数量来计算而不是单位数量来计算10万个单位有128个类型角色差不多已经很多128*8M1GB纹理如果你确实需要10万个不同角色你可以考虑在128个类型纹理上寻找曲面细分(捏脸)程序纹理(花纹上色)等渲染技术这些技术都不占显存另外不要贬损歧视低模甚至公告牌10万人同屏大部分在100米外这时低模公告牌的渲染质量远高于高模因此高质量的低模公告牌技术是必须的。必踩的坑文件描述符、TIME_WAIT、带宽打满,异数OS不是linux没有文件描述符的问题长连接服务也没有所谓的TIME_WAIT CLOSE_WAIT等问题带宽在2018年的EPYC1上本地虚拟交换机上打满4Tbps 450MIOPS的成绩具体参考博文《异数OS-织梦师-异数OS虚拟容器交换机七 走进4Tbps网络应用时代加速5G应用真正落地》一些容易忽略的隐藏成本,真金白银的DDoS风险,业务可能在一分钟内被打崩DDos是对服务器的IOPS攻击linux的iops就十几万在面对1.5亿IOPS( tcp ACK)的攻击时不用等一分钟在linux 100us的最小调度间隔内就被打爆了,为了抗DDoS最好的做法就是升级你的操作系统到异数OS提高IOPS 4个数量级在面对10万人同屏这一本身就是DDoS的业务时这是唯一有效解法。博客《异数OS‘10万人同屏’技术真相高并发服务端架构解析》答疑《异数OS‘10万人同屏’技术真相高并发服务端架构解析》博文链接高并发服务器架构过去不存在未来也不会存在因为瓶颈在操作系统没有任何一个高并发服务器架构能够绕开操作系统的缺陷而存在。用户态协议栈不存在这一技术栈是DPDK带来的概念但在2018年的时候已经失败了被业界放弃原因是需要写一个用户态的操作系统却写不出来为什么写不出来你去问问2020年破产的intel TLDK就明白了其他所谓的用户态协议栈什么的都是依赖宿主操作系统的posix poll等系统接口实质上并没有数量级性能提升。环形队列什么的缺乏操作系统并发轮子支持并发这关过不了就只能丢弃作为一个操作系统更加需要的是RPC这种轮子。NUMA感知与CPU绑核让每个核只干一件事那并发任务怎么办你不能精打细算的去给每个核指定未知NPC的AI任务。AOI是骗局不要再纠结说了是同屏那就一定不会有AOI因为10万人同屏的目标是10公里外10万人同屏不然你以为能真能体验到10万人的场景AOI仅100米视野服务器爆满时你都看不到一个人业界用AOI是因为业界技术停留在1998年时代AOI是IOPS限制下的被迫选择你买的阿里云最高性能服务器仅百兆不是硬件上不去是你只能利用百兆的IOPS规模多了就等雪崩吧。AI通过梅特卡夫定律计算出的10TB/s(100Tbps)AI使用的帧同步方案未作工程优化的实际工程优化如下按照动作指令做状态同步单指令4字节每用户每秒平均5个动作指令按照梅特卡夫定律计算为4 * 5 * 100000 * 100000200GB1.6Tbps 使用1400字节帧合批指令可节省协议头占用并降低IOPS规模使得带宽需求从100Tbps规模降低到1Tbps规模,IOPS规模从数百亿规模下降到数亿规模。为什么强调10万人同屏应用场景因为这个概念是1998年梅特卡夫提出来的按照原计划是要在2048年落地的遗憾的是业界30年0进展为什么0进展因为这一目标没法分布式实现只能依赖单机IOPS提升4到6个数量级实时性并发性都要求很高因此这一目标算是异数OS最契合的技术验证场景。