资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,#,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,#,自主可控软硬件与开源社区,推进的一点思考,江南计算技术研究所,2015,年,11,月,1,汇报内容,自主可控,软硬件现状,申威平台开源软件应用情况,体会和思考,2,一、国产自主软硬件现状,在国家“,863”,、“核高基”等项目的大力支持下,,国产,基础,软硬件,取得了长足的发展,为构建自主可控、安全可信的网络信息体系打下了良好基础。,形成了龙芯、申威、飞腾、众志等为代表的国产,CPU,形成了中标麒麟、深度、普华等为代表的自主,OS,形成了达梦、金仓、神舟通用为代表的国产数据库,形成了以金山、中标普华、永中等为代表的应用软件,初步具备,从芯片,设计,到整机,的自主可控能力,基于开源及自研软件形成了自主可控基础软件体系,3,应用支撑,自主软件生态环境,系统软件,基础支撑能力,神威虚拟机管理器,基础支撑,C/C+/Fortran,编译器及工具链,Java,支撑平台,应用软件,多媒体,办套件,浏览器,硬件平台,申威多核处理器,申威,I/O,套片,TCM,模块,DEEPIN,操作系统,中标麒麟操作系统,系统软件:,提供,BIOS,、,VMM,、操作系统功能,可高效管理调度,CPU,、内存、进程等各软硬件资源,可创建、管理虚拟机并服务于安全虚拟终端,基础支撑:,提供各种编译器及运行时库,,Java,支撑平台等。可屏蔽底层平台差异,具备基础应用开发、编译、调试、部署、运行、维护能力,。,应用支撑:,已成功适配各种数据库、中间件、框架模型等,基于应用支撑模块可构建分布式、大规模复杂应用,数据库,中间件,达梦,金仓,神舟,东方通,金蝶,中创,电子邮件,中文支持公,数据库前端,应用软件:,已完成办公软件、多媒体、浏览器等应用移植,具备日常办公、娱乐、专有业务和个人事务处理能力,昆仑,/,百敖,BIOS,基础运行时,4,软件栈的对比分析,国产软件与,Wintel,体系以及,x86-Linux,体系比较,自主可控基础体系采用,Linux,开源移植,+,自主研发相结合的方式,和,Wintel,体系以及,X86-Linux,体系比较,在软件各层次都有对应软件产品,软件类别,X86(Windows),X86(Linux),国产自主可控,BIOS,BIOS-legacy,、,UEFI,BIOS-legacy,、,UEFI,UEFI,(百敖、昆仑),操作系统,Windows,Linux,Linux,(中标麒麟、,DEEPIN,、睿思),虚拟机管理器,VMWare,KVM,,,Xen,SWVMM,(睿思),编译器,/,工具链,ICC,、,MS VC,ICC,、,GCC,、,LLVM/Clang,GCC,,,SWCC,JAVA,环境,JDK,、,.NET,JDK,、,Tomcat,、,Jboss,、,Weblogic,JDK,、,Tomcat,、,Jboss,、,东方通、金蝶、中创,数据库,MS SQL Server,、,Oracle,MySQL,、,Oracle,MySQL,、达梦、神舟通用、人大金仓,办公软件,MS Office,OpenOffice,、,LibreOffice,中标普华、永中,office,、(金山,WPS,),浏览器,IE,、,Firefox,、,Chrome,Firefox,、,Chrome,Firefox,,,Chrome,开发环境,Visual,Studio,、,Eclipse,Eclipse,、,Qt Creator,Eclipse,、,Qt Creator,5,自主软硬件能力瓶颈,对国产系统架构的支持不完,多核支持、指令特性支持,BIOS,标准,C,库,图形库,JAVA,中间件,数据库,办公软件,浏览器,桌面应用,服务器基础环境,Linpack,Web App,OS,内核,Tomcat,X,图形系统,编译工具,图像库,媒体库,GTK/GNOME,QT/KDE,APP,Flash,媒体播放,MPI,输入法,LAMP,APP,桌面基础环境,服务器应用,底层系统软件,基础软件库,国产结构的优化支持薄弱,基础,C,库、图形图像处理,重点软件结构性优化工作不足,JAVA,虚拟机、媒体播放器,大型应用软件适配调优环节缺失,浏览器、数据库、,办公软件,亟待催生新产业链环境,6,B/S,应用,C/S,应用,GUI,Applet,应用类型,console,Visual,Eclipse,Qtcreator,开发环境,Delphi,MFC,WTL,Qt,开发框架,Flex,SSH,MVC,C/C+,JAVA,JS,开发语言,SQL,VBA,Com/Activex,CORBA,Widget,控件集成,office,扩展,ODBC,JDBC,OCI,数据接口,注册表,/,配置文件,线程,/,消息机制,进程间通信,操作系统,socket,CPU,RISC,CISC,SIMD,应用开发和应用环境的多样性为应用迁移带来巨大挑战,具体表现在应用类型、开发环境、开发框架、开发语言、集成控件、数据接口、操作系统与,CPU,依赖等方面的选择多样化,应用迁移瓶颈,由于,Wintel,长期垄断,,工具、社区、资料丰富,开发人员、最终用户已习惯,Wintel,体系,Windows,平台策略之一是鼓励通过插件机制扩展、集成复杂应用,其核心封闭,接口开放,导致用户难以摆脱平台制约,已有系统不得不采用大量封闭的商业,框架,Windows SDK,MFC,,,WTL,,,.NET,,,VBA,Flash/Flex,ActiveX,控件、,COM/DCOM,组件,应用迁移瓶颈,8,面向国产平台的应用,CPU,X86,处理器向国产自主多核处理器迁移,驱动、基础软件、性能优化等与此密切相关,Windows,向,Linux,迁移,用户使用习惯,开发运行环境,控件与库支持各不相同,32,位应用向,64,位应用迁移,变化带来的潜在正确性与性能问题,OS,APP,应用迁移瓶颈,应用迁移需跨越,Windows,到,Linux,、,X86,到国产,CPU,、,32,位到,64,位等三大鸿沟,9,自主软硬件生态发展的三种模式,模式,技术路线,典型代表,HARD,自主路线;构建自主技术体系,龙芯、申威,NORMAL,设计微结构;依附,Wintel,或,AA,体系,飞腾、君正、众志,SIMPLE,合作,/,合资;直接继承外部体系,兆芯、宏芯、海思麒麟,10,三种模式对比,模式,优点,缺点,HARD,拥有自主发展权;,安全可控度高,利润在国内,技术门槛高,发展不易,构建生态环境难度极大,NORMAL,技术门槛低、时间成本低,性能起点高,生态环境可依赖,自主可控度受限,安全基础不牢靠,技术发展受限,技术更新成本增加,SIMPLE,技术门槛低、时间成本低,技术成熟、生态环境好,缺乏自主发展权,安全性难以根本突破,11,国产自主软硬件推进思考,重视程度前所未有,应用需求全面开花,应用规模迅速膨胀,推进速度超乎想象,利益集团竞相追逐,国产品牌百花齐开,自主体系良机难求,发展之路任重道远,12,汇报内容,自主可控,软硬件现状,申威开源软件应用情况,编译器,JAVA,其它,体会和思考,13,国际主流编译器现状,编译器,支持的处理器,操作系统,语言标准,最新版本(发布时间),开源社区,研发团队,Intel Icc,X86,、,IA,等平台,WindowsMac OS XLinux,C+11OpenMP3.1,14.0,(,2013,年,10,月),商业编译器闭源,Intel,开发团队,IBM XL,Power,AIXSUSE/Redhat/,Fedora,C11、C+11F2003/2008OpenMP3.1,XL C/C+12.1XL Fortran 14.1(2012,年),商业编译器闭源,中国研发团队北美研发团队,Pathscale,X86-64,等平台,Redhat/Ubuntu,C+11F2003/2008OpenMP2.5,EKOPath5(2013,年,12,月),EKOPath4,开源,EKOPath5,闭源,PathScale Inc,GCC,多平台,绝大多数类,Unix,平台,C11/,全部,C+11F2003/F2008OpenMP4.0(F),5.2.1,(,2015,年,7,月,1,日),活跃,开源社区,Open64,多平台,Linux,C99F95OpenMP3.0,5.0,(,2011,年,11,月),2012,起已经不更新,开源社区,Clang/LLVM,多平台,Mac OS XFreeBSD,全部,C+11,3.4.2,(,2014,年,6,月,19,日),活跃,开源社区,14,GCC,的优势,绝大多数,Linux,平台标配的编译器,支持主流的编程语言,对新语言标准的支持具有很强的时效性,开源社区非常活跃,新技术新功能更新快,移植开发升级有保障,全世界都在做贡献,主要开源,OS,发行版的,GCC,工具链基本上都是跟着,GCC,最新版本走,OS,GCC,AS,LD,GLIBC,最新版,Centos7.0,4.8.3,2.23.52,2.23.52,2.17,ub,u,ntu,5.2.1,2.25.51,2.25.51,2.21,fedora,5.1.1,2.25.51,2.25.51,2.21,debian,5.2.1,2.25.51,2.25.51,2.21,15,GCC,申威平台工作,功能,建立一整套,SW64,分支(,configure,、机器描述、架构处理等),添加并完善申威指令集支持,添加并支持架构相关的语言扩展,解决架构无关代码与申威架构的兼容性问题,移植库及工具链:基础,C,库(,Glibc,)、编译工具集、,GDB,等,有效支持各种语言在申威平台的编译运行支持(,GO,语言等),性能,量身订做一系列申威指令集定制优化,如,SIMD,、访存、预取等,基础,C,库针对申威架构重新优化适配,自行开发了一整套高效数学库、多精度库,效果,GCC,与申威平台良好适配,SPEC,标准测试集在申威平台的性能明显提升,16,组队:,2011,年初抽调二进制翻译、编译器、操作系统相关精兵强将组建,Java,虚拟机研发团队,研发思路:,基于OpenJDK7,难点是HotSpot虚拟机移植,横向拓展:以Java虚拟机为核心逐步拓展支持外围工具,支持Java应用的本地编译、调试、调优等功能,完成与集成开发环境联调,纵向优化:深耕细作,解决多线程优化及一系列偶发疑难问题,大幅提升Java虚拟机自身稳定性,从纵向和横向两个方面进行产品化充实完善,JAVA,移植优化情况,功能:,2012,年通过,JCK,兼容性测试包,顺利与东方通等中间件适配,可支持桌面、服务端、,Applet,等各类,Java,应用,性能:,2013,年完成性能优化版(申威,410,),JAVA,移植优化情况,SPECJVM2008,测试结果,其他开源工作,Linux,操作系统核心,各种设备驱动,Firefox,浏览器,谷歌,Chromium,浏览器,开发平台:,QT,、,ECLIPSE,等,19,面临主要问题,移植工作量大,代码复杂、庞大,软件依赖项多,优化难度大,软件框架不熟悉,CPU,架构不匹配,内嵌大量汇编代码,20,汇报内容,自主可控,软硬件现状,申威开源软件应用情况,体会和思考,21,体会和思考,开源软件缓解了国内软件业人才匮乏、技术积累不足等问题,提供了学习和再创新平台,自主软硬件能力不足以及应用迁移瓶颈等问题将长期存在,三种芯片模式是对软硬件生态发展的一种探索,22,体会和思考,发展自主技术体系,建立自主安全生态,拥抱开源软件,以开放的心态迎接挑战,23,谢谢!,24,
展开阅读全文