异数OS国产CPU平台移植项目需求分析

目录


项目立项背景


  • 国产CPU产业情况

随着中国国内芯片市场的刚需逐渐增长,市场的政治风险逐渐加大,对国内自主芯片特写是CPU的需求逐渐上升为不可避免的政治问题,但由于多年来严重依赖市场买办的思维盛行,导致国产芯片开发生态几乎被破坏性打击毁灭,因此仅存的几家国产CPU厂商由于缺乏市场的支持,而无法开发出与国际主流CPU竞争的产品,技术与性能差距甚至超过10年,在政府不能破解的体制约束下,国产CPU急需寻找另外的生存路线打破这种僵局。


  • 软件生态目前情况

目前软件生态领域,由于linux等操作系统基础理论限制以及不可能做颠覆式创新的改变,导致在linux之上4层以上的软件生态无法发挥新的硬件的IO性能(linux 仅能发挥百兆网卡io能力,因此io密集型应用只能发挥新硬件性能的百分之一甚至千分之一),因为这一问题因此出现各种复杂的分布式集群方案以及消息中间件方案,但他们本身由于linux约束并不能利用新硬件硬件的IO性能,仅仅是通过增加硬件来扩充性能,这大大的增加了软件开发以及部署应用的成本,导致软件研发成为资本游戏的附属品,在资本游戏的驱动下,制造并加剧了社会通货膨胀,造成了严重的社会资源浪费,加剧了社会矛盾。

在linux 4层以上应用IO性能表现不济的情况下,异数OS通过操作系统基础理论的颠覆式创新,开发了自主的操作系统内核以及TCP/IP协议栈,解除了4层以上应用的IO性能瓶颈,带来100倍的IO 性能提升,以及保守情况下1000倍的并发任务容量性能的提升,由于采用寄宿传统操作系统的方案,所以可在兼容利用已有传统软件生态的情况下通过设计新的异数OS应用带来上述传统OS被制约的能力,因此有望在未来20年内有机会成为未来主流操作系统。

4层以下软件由于不受linux操作系统IO性能污染,因此并没有瓶颈和门槛,各类3层交换机产品竞争已白热化同质化,利润空间很小,很多小企业也被逼出局,而在虚拟化等领域基本上是intel主导并提供方案,国产硬件软件几乎无法进入并与之竞争。


项目需求分析


从软件生态目前遇到的障碍以及异数OS 4层以上应用软件的IO性能表现看,在国产CPU技术以及性能不济的情况下发展国产CPU的市场机遇还是有的,但是要找准一个方向,通过与异数OS合作,进入到云服务器7层IO密集型应用领域,保守估计可以带来linux+intel 平台的10倍IO性能表现,以此获得市场竞争力,比如异数OS开发的织梦师-水母消息队列,相对阿里云RocketMQ,消息性能提升100-1000倍,而消息延迟仅为RocketMQ的百分之一(20us),一台异数OS相当于100或者1000台linux RocketMQ 集群的性能。


异数OS性能指标简介

测试数据均在intel E5 2670v1 64G内存 82599ES双口万兆网卡 环境完成,宿主操作系统为debian 7,没有特别说明的情况下,测试目标成绩均指单核测试成绩。

1.TCP协议栈性能测试

1.双口双核,将网卡两个口用光纤回环链接,CPU3 创建TCP server,CPU 5创建 指定连接数量的TCP Client线程(每链接4线程),测试方案使用 异数OS TCP协议栈测试(三)–长连接篇的的测试方法,成绩是ECHO的iops成绩。

1.单口单核,将网卡1个口的TX RX光纤回环链接,CPU3 创建TCP server,同时创建 指定连接数量的TCP Client线程,测试方案使用 异数OS TCP协议栈测试(三)–长连接篇的的测试方法,成绩是ECHO的iops成绩。

3.UDP NIC回环,分别在双口双核 单口单核模式下,创建两个线程,两个线程绑定对应的网卡适配器,对发UDP包记录下收发包的速度,成绩是收包发包循环的次数,一次收一个发把一个包。

测试结果

网卡接口平台 测试用例 NIC UDP 回环 1链接 8TCP链接 32TCP链接 64TCP链接 128TCP链接 256TCP链接 600WTCP链接
dpdk 双口双核 10M 136K 1.037M 3.47M 4.06M 4.2M 4.4M 3.1M 会丢包丢链接
dpdk 单口单核 9M 136K 1.018M 2.35M 2.5M 1.95M 1.9M 950k
netmap 双口双核 8M 131K 940k 3.6M 4.2M 4.5M 4.7M 2.3M
netmap 单口单核 6M 131K 940k 2.2M 2.8M 2.7M 2.4M 1.5M
异数OS软件交换机 双口双核 13M 1.8M 4.6M 4.6M 4.6M 4.7M 4.8M 3.3M
异数OS软件交换机 单口单核 14M 5.3M 5.0M 5.0M 4.95M 4.95M 5.03M 4.3M
2.异数OS-织梦师-水母 消息队列性能测试对比

其他对比消息队列测试成绩引用

kafka 成绩

http://www.51testing.com/html/49/n-3721449.html

RocketMQ成绩

http://jm.taobao.org/2016/04/01/kafka-vs-rabbitmq-vs-rocketmq-message-send-performance/?utm_source=tuicool&utm_medium=referral

非批量消息模式

1 Borker (单核)非批量消息模式,每消息100字节,其他产品数据来自网络参考数据。

测试特性 异数OS虚拟交换机128生产者 异数OS虚拟交换机600W生产者 异数OS-DPDK 128生产者 异数OS-DPDK 600W生产者 kafka RocketMQ
仅入队性能 4M 2M 3.3M 160W 12w 12w
入队出队性能 2M 1M 1.6M 80W 6w 6w
仅入队延迟 <1us <1us 10us 10us 10ms 10ms
入队到出队延迟 <1us <1us 20us 20us 10ms 10ms
批量消息模式

1 Borker (单核)批量消息模式,每消息10字节,批量每组10个消息。

测试特性 异数OS虚拟交换机128生产者 异数OS虚拟交换机600W生产者 异数OS-DPDK 128生产者 异数OS-DPDK 600W生产者 kafka RocketMQ
仅入队性能 40M 20M 33M 1600W 200w 12w(不支持批量)
入队出队性能 20M 10M 16M 800W 100w 6w
仅入队延迟 <1us <1us 10us 10us 10ms 10ms
入队到出队延迟 <1us <1us 20us 20us 10ms 10ms
3.异数OS-织梦师-牵手 LPC RPC性能测试对比

go+stdrpc thrift dubbo成绩引用

http://colobu.com/2018/01/31/benchmark-2018-spring-of-popular-rpc-frameworks/

https://blog.csdn.net/quuqu/article/details/79304614

纤手 5000W 600W是指LPC RPC实例的数量,表示系统中同时并发调用LPC或者RPC的能力,每个LPC RPC都对应一个代理存根以及一个TCP链接。

测试特性 纤手 5000W LPC 纤手 5000W RPC跨核 纤手 600W-RPC TCP直连 纤手 600W RPC TCP中间人 go+stdrpc thrift dubbo
最大调用性能 20M 8M 4M 2M 30W 7W 20W
平均延迟 调用性能/链接数量 调用性能/链接数量 调用性能/链接数量 调用性能/链接数量 10ms+调用性能/链接数量 10ms+调用性能/链接数量 10ms+调用性能/链接数量
最小延迟 <1us 10us 10us 10us 10ms 10ms 10ms
4.异数OS-织梦师-水桶 RAM disk 网络共享存储方案性能测试对比

水桶 RAM disk是一种为了加速小块数据随机读写性能做的一种网络共享存储解决方案,可作为磁盘缓冲,测试创建一个24GB网络共享盘,使用TCP直连的异数OS RPC方案设计了RAM网盘存储接口,下面是与intel SSD 900p的性能对比(2018年性能最高的SSD).

测试特性 水桶 64字节 单线程随机读 水桶 64字节 64线程并发随机读 水桶 双核RSS聚合64字节 64线程随并发机读 Intel 900P 多队列4K随机读 Intel 900P 单队列4K随机读
IOPS 13W 350W 650W 55W 10W

项目实施研发工作内容


1.国产CPU厂商需提供相关支持,包括体系架构方案,编译器工具链,相关硬件开发与定制。

2.由国产CPU厂商或者相关厂商开发相应的宿主OS环境,包括linux,dpdk,netmap.

3.异数OS根据国产CPU厂商提供的硬件技术方案,移植适配异数OS到宿主OS以及CPU硬件平台。


异数OS项目技术特性资源介绍


github: https://github.com/yds086/HereticOS

异数OS社区QQ群: 652455784

异数OS-织梦师(消息中间件 RPC技术)群: 476260389

异数OS是什么?

https://blog.csdn.net/athlonxpx86/article/details/79944301

异数OS谈发展国产操作系统的问题

https://blog.csdn.net/athlonxpx86/article/details/80087449

异数OS TCP协议栈测试(三)–海量长连接篇

https://blog.csdn.net/athlonxpx86/article/details/79411861

异数OS TCP协议栈测试(四)–网卡适配篇

https://blog.csdn.net/athlonxpx86/article/details/79692761

异数OS 织梦师-水母(一)–消息队列篇

https://blog.csdn.net/athlonxpx86/article/details/80035621

异数OS 织梦师-纤手(二)– LPC RPC篇

https://blog.csdn.net/athlonxpx86/article/details/80174333

异数OS 织梦师-水桶(三)– RAM共享存储方案

https://blog.csdn.net/athlonxpx86/article/details/81015121

线程间击鼓传花测试

https://github.com/yds086/HereticOS/tree/master/test/Event%E5%87%BB%E9%BC%93%E4%BC%A0%E8%8A%B1

sleep 订单并发线程模拟,目前有C# go rust python java的对比测试代码和成绩

https://github.com/yds086/HereticOS/tree/master/test/%E5%B9%B6%E5%8F%91sleep


异数OS国产CPU平台移植项目需求分析的更多相关文章

  1. 异数OS TCP协议栈测试(五)--关于QOS与延迟

    . 异数OS TCP协议栈测试(五)–关于QOS与延迟 ##本文来自异数OS社区 github: https://github.com/yds086/HereticOS 异数OS社区QQ群: 6524 ...

  2. 国产CPU 申威1621 异数OS基础组件理论性能测试报告

    国产CPU 申威1621 异数OS基础组件理论性能测试报告 文章目录 国产CPU 申威1621 异数OS基础组件理论性能测试报告 前言 测试平台 测试项目 SW1621 异数OS 容器虚拟交换机模拟性 ...

  3. 异数OS谈发展国产操作系统的问题

    异数OS谈发展国产操作系统的问题 为什么写本文 最近中兴被美制裁的问题以及红芯使用开源技术宣称国产自主技术引发了舆论不少对国产CPU以及国产操作系统自主技术的讨论,为什么我们国家有BAT,有原子弹,能 ...

  4. Go语言在国产CPU平台上应用前景的探索与思考

    http://www.chinaaet.com/article/3000087559 0 引言 CPU是电子产品的核心,代表着信息产业的发展水平.CPU发展至今已经有四十多年的历史了,实际就是Inte ...

  5. 异数OS TCP协议栈测试(三)--长连接篇

    异数OS TCP协议栈测试(三)--长连接篇 本文来自异数OS社区 github:   异数OS-织梦师(消息中间件)群: 476260389 异数OS TCP长连接技术简介 说起长连接,则首先要谈对 ...

  6. 异数OS-织梦师-异数OS虚拟容器交换机(七) 走进4Tbps网络应用时代,加速5G应用真正落地

    . 异数OS-织梦师-异数OS虚拟容器交换机(七) 走进4Tbps网络应用时代,加速5G应用真正落地 本文来自异数OS社区 github: https://github.com/yds086/Here ...

  7. 异数OS 织梦师-云(五)-- 容器服务化,绿色拯救未来。

    . 异数OS 织梦师-云(五)– 容器服务化,绿色拯救未来. 本文来自异数OS社区 github: https://github.com/yds086/HereticOS 异数OS社区QQ群: 652 ...

  8. 异数OS 织梦师-Xnign(四)-- 挑战100倍速Nginx,脚踩F5硬件负载均衡

    . 异数OS 织梦师-Xnign(四)– 挑战100倍速Nginx,脚踩F5硬件负载均衡 本文来自异数OS社区 github: https://github.com/yds086/HereticOS ...

  9. 异数OS 织梦师-纤手(二)-- LPC RPC篇

    异数OS 织梦师-纤手(二)– LPC RPC篇 本文来自异数OS社区 github: https://github.com/yds086/HereticOS 异数OS社区QQ群: 652455784 ...

随机推荐

  1. H3C 因特网域名结构树

  2. linux 内核定时器

    无论何时你需要调度一个动作以后发生, 而不阻塞当前进程直到到时, 内核定时器是给你 的工具. 这些定时器用来调度一个函数在将来一个特定的时间执行, 基于时钟嘀哒, 并且 可用作各类任务; 例如, 当硬 ...

  3. 51nod 矩阵快速幂(模板题)

    1113 矩阵快速幂  基准时间限制:3 秒 空间限制:131072 KB 分值: 40 难度:4级算法题 给出一个N * N的矩阵,其中的元素均为正整数.求这个矩阵的M次方.由于M次方的计算结果太大 ...

  4. 深入Oracle的left join中on和where的区别详解

    -- from http://blog.itpub.net/30175262/viewspace-1472060/ 今天遇到一个求某月所有天数的统计结果,如果某日的结果是0也需要显示出来,即: 日期 ...

  5. VMware卸载后再安装时网络连接处没有虚拟网卡

    解决: 1.打开虚拟机,点击编辑,再点击虚拟网络编辑器 2.将所有的虚拟网络删除 3.删除完所有的虚拟网络之后再添加虚拟网络 4.按照自己想要的的连接方式添加上,网络连接处就会有虚拟网卡

  6. 驾驭git merge——git merge的规范化操作

    这两天负责将一个开发了较长时间,代码量数万行的C语言项目(A项目)的代码分支合并到主线.由于之前参与过一些其他项目分支收编时采用git merge引入问题的修改,个人从心理上对git merge有所抵 ...

  7. SingletonPattern(单例模式)-----Java/.Net

    单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一. 这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式. 这种模式涉及到一个单一的类,该类负责创建自己的 ...

  8. 【Spring Cloud 源码解读】之 【如何配置好OpenFeign的各种超时时间!】

    关于Feign的超时详解: 在Spring Cloud微服务架构中,大部分公司都是利用Open Feign进行服务间的调用,而比较简单的业务使用默认配置是不会有多大问题的,但是如果是业务比较复杂,服务 ...

  9. JVM之GC(三)

    前面介绍了GC和几种主流的GC算法,这节准备说一下垃圾收集器.垃圾收集器可以分为三类,Yong GC, Old GC, Mixed GC Yong GC 1.Serial 单线程处理,采用复制算法,通 ...

  10. config.xml写入和读取

    using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threa ...