随着5G时代的来临,网络基础硬件设施的完善,应用服务器由于技术约束逐渐成为网络服务的瓶颈与成本的最大占有者,不仅如此,一些重要需求比如海量动态内容实时分发则一直都无法得到满足,相关例子比如阿里双11,腾讯红包,12306秒票等,这些痛点成为一些大型IT企业的年终KPI考核标准,进入5G时代后,5G终端的理论接入带宽可高达10G,相对过去3G 4G时代,带宽提升100倍,而一般的Linux Java应用服务器单实例只能提供1G的静态内容带宽,以及甚至不足百兆的动态内容提供能力,也就是说使用现有应用服务器技术,需要数百台集群才能服务一部5G手机,5G时代,IOT建设可能会落地变现,IOT设备的数量可能是手机设备数量的数十倍上百倍,同时IOT的市场价值容量可能仅有手机终端市场价值容量的百分之一,因此IOT的应用服务器必须在提供10倍100倍设备接入能力的同时将应用服务器建设成本也下降100倍才能满足IOT的市场化落地,在这样的背景下,异数OS通过基础理论创新实作高性能海量并发实时操作系统,提供新的应用服务器开发工具栈带来10-100倍的应用服务器IO性能提升与并发容量提升来应对5G IOT时代的变革。
此外5G还面临着国家实力民族未来的竞争,企业的民族属性站队关乎着5G项目的成败,因此是否技术自主国产化也是一个很重要的因素,平台解决方案是否可以在自主的设备平台上运行并实施成为一个必须的因素,因此异数OS解决方案在设计过程中完全考虑了国产全自主服务器平台的兼容支持,本文测试数据重点引用申威SW1621,对比引用AMD EPYC服务器平台数据。
目前异数OS有开放一款面向5G IOT动态内容应用的服务器<<近代战场>>用于外网测试体验,近代战场是一款6.5W网络用户在线的实时战场游戏,AI服务器本地带宽200G用于模拟实时战场,外网设计带宽200G,开放测试带宽20M(10用户),AI潜伏期1.4s,用户操作潜伏期0.2s,测试客户端可以到官方QQ群共享下载(739924481),更多资料可以百度 异数OS 去CSDN博客或者成都申威论坛查看。
无论是阿里的双11还是腾讯的红包,12306的秒票,他们实际上都面对的是下图所示的同一个问题。
传统分布式系统为了实现电商之类静态内容展示系统的高QPS需求,会将内容静态化多副本分发到分布式缓存中,缓存本身要求去状态,动态内容由于理论约束,则只能集中写入日志并非实时写入统一的后台DB中,尤其像12306票务以及红包或者单一的商品秒杀场景,业务数据都是热点不可多副本并发分布式集群扩充的情况下,DB都只能单实例写入,这时就形成了上图描述的场景,假如DB在写入后,单一节点提供的查询性能为QPS,缓存规模为N,则缓存的最大更新能力为仅有QPS/N,实际场景中由于DB需要提供TPS需求,QPS性能也会更加受到限制,所以尽管你和几千同胞每秒都在刷12306的某次列车票务数据页面,但实际上12306的票务数据10分钟才更新一次,这样的系统尽管总计TQPS很大,但实际上对用户体验意义不大,最理想的情况是每秒刷新页面都能看到新的票务数据,腾讯红包则是更加激进的需求,人气高的红包甚至在2s内就有几十人抢完,如果动态红包信息无法实时更新,则红包体验将无法做起。
那么我们应该如何解决这个问题呢?上面分析得知缓存最大更新性能UPS是用户最终需要的体验,UPS=QPS/N=TQPS/(N2)则告诉我们必须在两个方面着手解决问题,一是N2规模的降低分母集群规模,但是降低分母集群规模的同时cache集群的总QPS输出TQPS也会因此线性降低,因此降低分母集群规模的同时,我们必须提升每节点QPS性能,为了实现12306票务数据从10分钟更新降低到1秒更新我们需要提速UPS 600倍,而总计TQPS不变,联立上述方程,我们解得600N12=N2,集群规模N需要下降到1/25 (1/sqrt(600)),同时将单节点QPS性能提升25倍,换一个说法也就是说单节点QPS性能每提升25倍,集群规模可以下降到1/25,同时缓存同步性能UPS可以提高600倍,这一结论告诉我们,集群不是堆的越多越好,在秒杀动态内容业务系统中,这是起反作用的,通过技术突破提高单节点QPS TPS才是解决问题的根本之道。
异数OS在实现10到100倍单节点网络IO性能后,着手实现了下列不同应用场合的中间件产品,并提供相关Demo实例,下列解决方案数据在没有特殊说明情况下均指单实例单CPU核的数据,在多CPU节点超级融合模式下实例性能会成数倍提升。
____________ 中间件产品 | 应用领域 | 功能描述 |
---|---|---|
织梦师-Xnign | 电商网站 | 提供高性能的HTTP CACHE以及高性能HTTP RPC代理。 |
织梦师-圣甲虫 | 游戏领域 通用实时IOT | 实时动态内容广播消息转发。 |
织梦师-水母 | IM 传统IOT 负载均衡 | 消息队列,消息订阅分发,海量设备接入互联互通。 |
织梦师-PBFT | 区块链金融系统,数据容灾需求场景。 | 低延迟加速共识系统共识达成速度, 实测性能相对Linux 平台Hyperledger Fabric提速400倍。 |
织梦师-水桶 | 存储系统加速使用,目标是代替memcache redis等。 | 提供高性能RAM缓存网盘RPC,随机顺序读写性能是SSD性能的10倍以上 |
织梦师-管仲 | 高频交易,实时异构分布式海量任务计算。 | 使用异数OS RPC技术实现的mapreduce分布式计算模型,低延迟高频高并发IO密集型计算任务调度中间件,可加速串行延迟依赖度较高的计算任务,任务调度延迟相对于tensorflow的1-50ms下降到1us。 |
织梦师-伏羲 | 高频交易,游戏AI,智能合约,智能爬虫等领域。 | 使用异数OS 海量线程,容器,RPC等技术实现的易经自动机, 海量单位轻量级阻塞IO虚拟机,已用于网络游戏《近代战场》 AI服务器的NPC AI设计,实现万人听令弓箭雨(6.5W AI虚拟机) |
织梦师-马良 | 游戏MR实时图形渲染(非服务器平台,只能用于未来异数OS的手机或PC平台) | 使用异数OS RPC技术封装vulkan实现多实例OpenGL 1.1阻塞状态机,从而将OpenGL 1.1技术栈带入多核CPU渲染时代,提升drawcall性能10倍,得益于OpenGL 1.1的阻塞IO状态机,相对vulkan大大简化了复杂场景多核CPU并行渲染设计的复杂度的同时,也大大降低了协同渲染延迟和帧率稳定性,可用于MR VR实时海量单位场景渲染。 |
Xnign是一款高性能Http cache RPC代理负载均衡中间件服务器,目标和Nginx类似,因此取名为Nginx的倒写,下面是该产品的电商应用场景预算。
1.假设某平台私有云建设研发需要一缓存中间件产品,需要提供1TB缓存,400W QPS 的缓存性能。
指标 | EPYC7551 +Xnign X2 | SW1621+Xnign X2 | Xeon Platinum 8180+Linux |
---|---|---|---|
缓存查询性能(QPS) | 400W | 400W | 13W*30 |
缓存同步性能(UPS) | 400W | 400W | 1W/30=300 |
设计带宽 | 400G | 40G | 1G*30 |
节点数量 | 1 | 1 | 30+1 lvs |
节点单价 | 50000+4000*16=12W | 5W+800*16=6.3W | 8.5W+4000*16=15W |
总计建设成本 | 12W | 6.3W | 15W*30+50W(LVS)=500W |
产品报价 | 非卖品 | 40W | 600W |
利润比例 | 非卖品 | 84% | 17% |
2.假设需求建设一电商平台,需要全国部署30套CDN节点,每节点需要提供1TB缓存1Tbps带宽,
2000W QPS的http缓存性能输出。
指标 | EPYC7551+Xnign X8 | SW1621+Xnign X2 | Xeon Platinum 8180+Linux |
---|---|---|---|
缓存查询性能(QPS) | 2000W*4 | 400W*25 | 13W*300 |
缓存同步性能(UPS) | 2000W/4=500W | 400W/25=15W | 1W/300=35 |
设计带宽 | 400G*4=1600G | 40G*25=1000G | 1G*300=300G 基本无法达标 |
节点数量 | 4 | 25 | 300+1 lvs |
CDN节点单价 | (50000+4000*16)*4=48W | (5W+800*16)*25=160W | (8.5W+4000*16)*300+50W(LVS)=4600W |
总计建设成本 | 48W*30=1440W | 160W*30=4800W | 4600W*30=14亿 |
产品报价 | 非卖品 | 1000W*30=3亿 | 6000W*30=18亿 |
利润比例 | 非卖品 | 84% | 22% |
水母是一款消息队列产品,与一般消息队列不同,它可以配合Xnign使用直接提供海量生产者设备接入能力,单实例(单CPU)最大1000W设备接入能力,这样就简化了系统设计复杂度,不在需要网关以及负载均衡等方案,本身就是负载均衡的优秀实现,这样的能力不仅使他可以用于电商,也可以用于一般传统IOT场景的日志采集。
织梦师-PBFT中间件使用异数OS低延迟RPC技术实作,得益于异数OS低延迟IO技术的优势,使得他在PBFT分布式共识TPS类应用中得到了400倍的性能加速,同时可以增加将军节点数量来提高安全性,使得区块链3.0技术有希望得到落地。
织梦师-水桶是异数OS RPC技术实现的一款网络共享RAM网盘,他提供比SSD高10倍到20倍左右的随机以及顺序读写性能,并支持小到64字节的块存储访问,因此网络带宽使用效率相对4K 块的SSD最大可提升256倍,由于基于TCP RPC技术,因此也可以热更新备份重启,并网络化集中管理调度。
织梦师-圣甲虫中间件是为海量单位实时网络游戏以及通用IOT解决方案设计的一款中间件,之所以说是通用物联网解决方案,是因为他解决并提供了传统物联网无法满足的一些受限需求,下面是圣甲虫中间件对通用物联网的定义。
1.由TCP协议生态统一物联网协议,传统物联网由于在开源环境下的不规范发展,导致碎片化信息孤岛,各种无意义的物联网协议充斥在各种设备中,如ZigBee Lora NB-IoT,这些专用协议造成设备必须在专用网关后面定制提供有限的功能,无法为互联网用户提供有意义的价值服务,通过通用的TCP协议以及上层协议生态为物联网带来互联网生态的价值则可以统一实现三网合一,解决信息孤岛问题。
2.传统IOT由于定制协议以及IO性能约束的情况下,在实现海量设备接入的需求同时放弃了用户与设备实时交互的能力,通用物联网则需要在解决海量设备接入的同时,提供低潜伏期用户设备实时交互控制需求,他在设备连接容量,延迟,IO性能等方面都有最大化的需求,为红包,12306秒票,游戏MR,实时车联网等系统提供了可能的方案。
指标 | EPYC 7551 +织梦师-水母 X8 | SW1621+织梦师-水母 X2 | Xeon Platinum 8180+Linux+MQTT |
---|---|---|---|
消息推送性能(PPS) | 2000W | 400W | 13W |
设备连接容量 | 2000W | 1000W | 100W-200W |
设备应用潜伏期 | 1秒 | 3秒 | 20秒以上 |
消息系统能力 | 日志采集 设备消息互通互操作 |
日志采集 设备消息互通互操作 |
日志采集 |
宕机恢复速度 | 10秒 | 1分钟 | 数十分钟数小时可能伴随反复宕机 |
评价 | 消息潜伏低可满足实时通用物联网比如车联网的需求,可与互联网用户实时交互控制。 | 消息潜伏低可满足实时通用物联网比如车联网的需求,可与互联网用户实时交互控制。 | 潜伏期大仅能做非实时的设备日志采集,无法实时得到设备状态并提供设备实时控制响应的能力与需求,网络宕机时无法快速恢复,可能伴随着反复宕机的体验。 |
指标 | EPYC 7551 +织梦师-圣甲虫 X8 | SW1621+织梦师-圣甲虫 X2 | Xeon Platinum 8180+Linux+各类游戏服务器 |
---|---|---|---|
帧同步广播性能 | 1500W | 400W | 13W |
单房间用户单位数量 | 6.5W | 3W | 1000-2000 |
设计带宽 | 200G | 40G | 1G-2G |
单位潜伏期 | AI单位1.4s(实时活跃) 用户单位0.2s(必要时活跃) |
AI单位1.4s(实时活跃) 用户单位0.2s(必要时活跃) |
AI单位5s(必要时才活跃) 用户单位1s(必要时才活跃) |
评价 | 可以实现大规模实时战争游戏,提供MR VR的战争模拟。 | 可以实现中等规模实时战争游戏,提供MR VR的战争模拟。 | 由于IO 约束,无法扩充单房间用户容量,只能分服分房间降低分流用户热点。 |
最后贴一张未来的5G IOT MR的梦想------>>近代战场
欢迎试玩体验
异数OS-近代战场(赤壁之战)服务器视频体验连接