异数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. P1008 对齐输出

    题目描述 读入三个整数,按每个整数占8个字符的宽度,右对齐输出它们. 输入格式 输入的一行包含三个整数 \(a,b,c(1 \le a,b,c \le 10^6)\) . 输出格式 输出一行包含三个整 ...

  2. 深度解读 - TDD(测试驱动开发)

    转自:http://www.jianshu.com/p/62f16cd4fef3 本文结构: 什么是 TDD 为什么要 TDD 怎么 TDD FAQ 学习路径 延伸阅读 什么是 TDD TDD 有广义 ...

  3. 【t081】序列长度(贪心做法)

    Time Limit: 1 second Memory Limit: 128 MB [问题描述] 有一个整数序列,我们不知道她的长度是多少(即序列中整数的个数),但我们知道在某些区间中至少有多少个整数 ...

  4. Linux 内核使用 USB 数据函数

    USB 核心中的几个帮忙函数可用来从所有的 USB 设备中存取标准信息. 这些函数不能从 中断上下文或者持有自旋锁时调用. 函数 usb_get_descriptor 获取指定的 USB 描述符从特定 ...

  5. 服务端CURL请求

    服务端与服务端之间,也存在接口编程. 比如我们网站服务端,需要发送短信.发送邮件.查询快递等,都需要调用第三方平台的接口. 1.php中发送请求 ①file_get_contents函数 :传递完整的 ...

  6. 螺旋矩阵O(1)根据坐标求值

    传送门 洛谷2239 •题意 从矩阵的左上角(第11行第11列)出发,初始时向右移动: 如果前方是未曾经过的格子,则继续前进,否则右转: 重复上述操作直至经过矩阵中所有格子. 根据经过顺序,在格子中依 ...

  7. 《HelloGitHub》第 45 期

    兴趣是最好的老师,HelloGitHub 就是帮你找到兴趣! 简介 分享 GitHub 上有趣.入门级的开源项目. 这是一个面向编程新手.热爱编程.对开源社区感兴趣 人群的月刊,月刊的内容包括:各种编 ...

  8. 程序员必须掌握的性能调优 X Y Z

    热评博文:<如何设计出优美的Web API?>,现阅读量超 2500,小伙伴们不要错过哦! 2003 ~ 2008 年,这五年老兵哥我在通信行业做实习生和开发岗,主要用 C / C++ / ...

  9. 关于有向图走“无限次”后求概率/期望的口胡/【题解】HNCPC2019H 有向图

    关于有向图走"无限次"后求概率/期望的口胡/[题解]HNCPC2019H 有向图 全是口胡 假了不管 讨论的都是图\(G=(V,E),|V|=n,|E|=m\)上的情况 " ...

  10. $Noip2011/Luogu1311$ 选择客栈

    $Luogu$ $Sol$ 暴力十分显然叭.正解不是很好想. 我最开始想维护所有色调的客栈的前缀和后缀,然后每扫到一个最低消费合法的就统计一次答案.但是这样会重复计数,两个合法客栈之间有几个消费合法的 ...