龙芯的软件生态与社区工作建设教学课件_第1页
龙芯的软件生态与社区工作建设教学课件_第2页
龙芯的软件生态与社区工作建设教学课件_第3页
龙芯的软件生态与社区工作建设教学课件_第4页
龙芯的软件生态与社区工作建设教学课件_第5页
已阅读5页,还剩93页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

page1龙芯软件生态建设page11page1龙芯软件生态建设page11提纲page2一、自主信息化发展分析二、龙芯基础软件生态建设三、开源社区与社区版操作系统page2Page2提纲page2一、自主信息化发展分析二、龙芯基础软件生态建前所未有的自主信息化实践对国产软硬件系统进行了充分检验国产基础硬件平台业务应用系统应用支撑平台国产基础支撑平台国产自主可控核心处理器:龙芯3号CPU数据迁移工具数据同步工具构件库管理服务数据交换服务统一目录服务全文检索服务工作流管理服务统一机构权限统一消息服务电子表单服务电子报表服务电子邮件服务元数据管理服务搜索引擎服务安全认证服务电子公文处理政务信息管理电子文档管理纸质公文处理值班管理督查管理会议管理行政办公管理知识管理领导决策支持其它业务管理系统门户其它客户端基于国产CPU的客户机、国产Linux硬件:基于龙芯3号芯片的服务器,包括曙光、联想、长城、浪潮、宝德……国产办公软件:永中office、中标普华、WPS国产数据库系统:武汉达梦、人大金仓、神舟通用国产中间件:金蝶、东方通、中创国产操作系统:中科麒麟、红旗、方德单位服务器客户端中办

工信部龙芯、申威龙芯电监会龙芯龙芯中央档案馆

地方档案馆龙芯、飞腾龙芯广东龙芯、飞腾龙芯广州龙芯龙芯江西龙芯龙芯湖南龙芯龙芯山东飞腾龙芯装指院飞腾飞腾核高基党政军办公示范应用page3Page3前所未有的自主信息化实践对国产软硬件系统进行了充分检验国产基自主信息化产业发展现状趋势形成了较为完整的产业链CPU、OEM、整机、BIOS、OS、数据库、中间件、Office、集成商各基础软硬件产品都有品牌厂商市场应用领域明确党政军OA、BAOMI电脑、安全应用领域信息化政策导向清晰、高层决心坚定、推进力度强劲国产基础软硬件系统已经完成第一轮的螺旋迭代功能问题已经基本解决,性能问题也即将解决将逐步走向稳定持续发展的良性轨道迫切需要:围绕产业生态建设,推动国产系统持续健康发展Page4自主信息化产业发展现状趋势形成了较为完整的产业链Page4自主信息化的人才与技术困境分析人才困境:国内IT人才结构失衡大背景:国内庞大的IT产业建立在国外软硬件系统平台之上应用开发型人才充足,底层基础系统研发人才却极度匮乏国内有几十万JAVA程序员,过去几乎不具备JAVA核心技术JAVA虚拟机的研发能力国内从事浏览器应用的团队数以千计,过去几乎不掌握过浏览器底层JS引擎研发技术国内IT企业极少参加系统相关标准制定,国内软件人才很少向国际开源社区贡献源码技术困境:围绕国产硬件平台的应用软件适配优化缺课严重国产软硬件系统的基础平台层面成熟度、稳定性有待完善过去缺乏大规模的商业和实际应用,不用发现不了问题,更解决不了问题上层应用系统自身设计不足的问题被X86平台超强的硬件性能掩盖掉应用开发对X86架构形成惯性依赖,向国产平台移植后凸显性能瓶颈架构设计、技术方案选型、参数适配调优等工作都基于国外X86架构展开针对国产系统慢的问题,需要拿出科学系统的解释慢在哪儿?为什么慢?性能潜力?优化切入点?page5page5自主信息化的人才与技术困境分析人才困境:国内IT人才结构失衡龙芯的对策组建龙芯开源社区,发布龙芯社区版操作系统Loongnix以开放合作的社区模式组织国内厂商和龙芯爱好者参与软件生态建设龙芯开源社区积极参与到国际开源软件社区的研发工作在内核、媒体、编译器等方面积极参与国际开源软件研发工作向重要开源软件贡献直接、免费、开放的发布重要的API环境软件JAVA、浏览器、QT龙芯优化版Page6龙芯的对策组建龙芯开源社区,发布龙芯社区版操作系统Loong提纲page7二、龙芯基础软件生态建设在主要技术领域形成突破,极大改善国产平台软件生态page7Page7提纲page7二、龙芯基础软件生态建设在主要技术领域形成突page8基于软件栈的国产系统问题剖析(3年前)操作系统基础设施层面对国产硬件的架构优化薄弱、特性支持匮乏

JAVA中间件数据库办公软件在线应用桌面应用服务器API环境LinpackHadoop内核/驱动窗口图形系统浏览器X11/Gtk三维图形视频媒体LAMP桌面API环境服务器应用操作系统基础设施重要API环境软件因缺乏责任厂商,功能性能曾存在严重问题大型应用系统针对国产架构的适配调优环节缺失基础C/C++库编译器基础图形库图像媒体库MPITomcatQTXlib/X11page8基于软件栈的国产系统问题剖析(3年前)操作系统基1国产操作系统基础设施亟需补课操作系统基础设施:内核、编译器、基础库、图形窗口系统等与系统硬件架构结合紧密,对整体系统性能具有至关重要的影响需要与CPU硬件结构深度磨合,在算法/汇编等多层面进行代码优化研发由国际主要CPU/系统厂商主导,国内OS厂商处于Follower的位置国产OS远远没有挖掘出国产CPU的硬件性能潜力,亟需补课针对国产CPU的架构优化薄弱、特性支持匮乏,优化工作刚刚起步经过优化后的执行效率远远高于原始普通实现#ifX86

{SSE/三角函数等专用X86硬件指令}#ELSEIFARM

{Neon指令/GPU等加速接口}#ELSEIF龙芯{C/C++高级语言实现}#Endif对基础设施进行深度硬件适配调优后,性能常数量级倍优于原始版本page9Page91国产操作系统基础设施亟需补课操作系统基础设施:内核、编译2重要的API支撑软件需要责任厂商API(ApplicationProgrammingInterface):应用程序编程接口是应用程序构筑的基础平台环境,也是软件生态的核心与控制手段服务器JAVA环境、安卓类JAVA开发环境、桌面QT图形、浏览器的JS引擎发展趋势平台开源化(近期微软.net架构开源)国产生态中,浏览器、QT、JAVA等没有责任厂商,出现严重问题JAVA桌面QT应用重要的API环境软件浏览器Web应用应用软件与系统操作系统基础设施(内核、基础库、服务设施)硬件平台&&固件浏览器媒体编解码QT图形环境中间件Office办公数据库JAVA服务器应用page10Page102重要的API支撑软件需要责任厂商API(Applicat大型应用系统是最凸显国产系统性能瓶颈的场景大型三维GIS应用、复杂在线办公软件网页大型应用系统技术状态分析由成熟的X86系统发展而来软件架构设计、技术选型、参数适配调优等工作都基于X86架构展开未在性能相对减弱国产系统上进行适配软件设计不足的问题容易被X86平台超强的硬件性能掩盖掉适配调优能够显著改善国产系统的应用表现三年前,攻关基地曾暴露的大量性能瓶颈近期在神码、中软等基地,通过应用系统自身优化显著提高了应用性能龙芯近两年来帮助应用开发单位进行系统优化,显著提升了应用性能3大型应用系统的适配调优环节缺失page11page11大型应用系统是最凸显国产系统性能瓶颈的场景3大型应用系统的优化技术手段1结合微体系结构特征的模块级算法优化技术结合处理器静态参数特点,对核心循环的算法设计进行结构优化充分考虑指令集特点、SIMD、指令窗口、发射宽度结合处理器动态执行特征,采用汇编进行指令拍级的深度磨合调优最大限度发挥硬件性能潜力:流水线执行、指令调度延迟、功能与总线模块竞争2基于国产处理器结构的编译优化技术前后端优化:支持国产处理器指令集、Cache管理、发射宽度、调度延迟特点3利用国产多核处理器架构特点的并行与分布式优化软法架构设计和解决方案层面的并行与分布式优化技术4大型应用软件综合适配调优技术软件自身设计架构与流程算法的优化发掘出最优的系统配置参数和软件自身配置选项page12page12Page12优化技术手段1结合微体系结构特征的模块级算法优化技术page整机的效率优化案例某数据库应用HP的X86服务器需要50分钟,龙芯服务器优化前8小时,优化后80秒某图形应用X86i7平台每秒40帧,龙芯平台优化前每秒不到1帧,优化后每秒80帧某指挥系统(GIS)应用X86i7平台每秒20帧,龙芯平台优化前每秒3帧,优化后每秒30帧Page13整机的效率优化案例某数据库应用Page13国产CPU软件生态现状补课完成操作系统基础设施层面优化工作基本完善JAVA中间件数据服务办公软件在线应用桌面应用服务器API环境LinpackHadoop内核/驱动窗口图形系统浏览器X11/Gtk三维图形视频媒体中间件桌面API环境服务器应用操作系统基础设施责任企业已具备相应技术能力,API软件产品逐步成熟大型应用软件基本完成对国产系统的适配基础C/C++库编译器基础图形库图像媒体库MPI数据库QTXlib/X11page1414国产CPU软件生态现状补课完成操作系统基础设施层面JA领域1:操作系统基础设施(内核)多核负载均衡提高网络性能在多核间轮转调度中断实现网络IO并行化UDP带宽提升17%,TCP带宽提升56%层次锁优化提高多核同步性能按节点划分核的层次,分布式分层加锁,降低多核竞争开销Unixbench系统调用性能大幅度提高page1515领域1:操作系统基础设施(内核)多核负载均衡提高网络性能pa媒体解码优化FFMPEG解码:使用媒体指令等技术深度挖掘CPU软解码能力FFMEPG设计累计接受龙芯优化patch共计31个,代码数量约8367行3A能够流畅软解码H264/720P3A1500及3B能够流畅软解码H264/1080Ppage16Page16媒体解码优化FFMPEG解码:使用媒体指令等技术深度挖掘CP基础数学库优化优化手段:龙芯特有指令、内嵌汇编优化、编译选项搜索page17Page17基础数学库优化优化手段:龙芯特有指令、内嵌汇编优化、编译选项领域2:基础图形系统窗口图形系统人机交互、各类桌面应用的基础支持框架,软件栈梳理的重点目标当前Linux图形系统技术飞速发展,老旧技术被淘汰,新技术不断涌现操作系统基础软件的老旧导致国产硬件系统的图形性能被极大抑制龙芯平台窗口图形系统存在问题各类图形相关的软件库的版本陈旧,功能性能都存在诸多不足基础图形库的龙芯架构相关优化工作匮乏来自显卡厂商的对龙芯平台的显示硬件驱动支持薄弱工作思路:三个层面开展优化工作GPU驱动、基础图形库、图形环境应用适配page18page18Page18领域2:基础图形系统窗口图形系统page18page18基础图形系统分析针对过去国产平台图形系统共性问题,在三个层面开展优化工作page19page19情况:GPU驱动支持薄弱对策:在GPU驱动级深入分析瓶颈,进行改进情况:基础图形库的平台架构相关的算法优化工作匮乏对策:定位瓶颈函数与操作,开展汇编与算法优化情况:QT、OpenGL等图形开发环境软件版本陈旧对策:软件版本升级、适配调优,改进上层应用设计19基础图形系统分析针对过去国产平台图形系统共性问题,在三个层面基于Mesa的三维驱动图形优化效果20基于Mesa的三维驱动图形优化效果20示例1:osgCity.earth国产平台:龙芯3A800Mhz+AMD5450,分辨率1600*900实测性能:帧率49.28fps,Vertices402357Page21示例1:osgCity.earth国产平台:龙芯3A800示例2:ocean.earth国产平台:龙芯3A800Mhz+AMD5450,分辨率1600*900实测性能:50fps,Vertices53757Page22示例2:ocean.earth国产平台:龙芯3A800M示例3:二维矢量地图mapbox-gl国产平台:龙芯3A800Mhz+AMD5450,分辨率1600*900实测性能:采用GPUOpenGL基础驱动库优化,性能从3fps提高到40fpsPage23示例3:二维矢量地图mapbox-gl国产平台:龙芯3A8示例4:龙芯版QT龙芯版QT的raster引擎优化raster引擎在内存中进行数据渲染,可有效地减少内存与显存数据交互龙芯QT4.8进一步优化了raster引擎,相对QT4.7,渲染效率更高、功能更强大案例:某2D应用使用X引擎时测试程序需要6秒才能完成渲染,更换为高版本QT库的raster引擎后性能达到1.6秒,性能提升4倍Page24示例4:龙芯版QT龙芯版QT的raster引擎优化Page25领域3:Javapage25时间功能性能稳定性2011.6核高基示范应用启动2012.3完成OpenJDKmips64位移植(模板解释器,ClientJIT)2012.7大量试点系统完成功能磨合大量细节优化2012.12完成ServerJIT移植2013.6两个产品版本:OpenJDK6/8两种应用模式:64位服务器模式32位桌面客户端模式完成NUMA优化内测7*24稳定2013.7完成负载均衡优化7*24稳定2013.8SpecJVM:性能大幅度提升超过4个月未报告新问题2013.12两年优化:性能总计提升1倍12个试点正常运行反馈问题全部解决2014.12完成JDK8产品化综合性能提升14%7天*24小时压力测试2525领域3:Javapage25时间功能性能稳定性201126龙芯公司开发JAVA虚拟机代码规模对比源码量(万行)开发语言维护者共性代码59万行C++高级语言OpenJDK社区X86架构相关代码9.8万行X86汇编为主Intel公司雇员Sparc架构相关代码5.5万行Sparc汇编为主Oracle公司雇员龙芯架构相关代码8.4万行MIPS汇编为主龙芯公司JAVA团队近来,接到的问题集中在共性代码部分早期问题集中在龙芯架构相关代码部分累计已解决8个在X86平台同样存在的JAVA共性问题2626龙芯公司开发JAVA虚拟机代码规模对比源码量(万行)开发自主软硬件生态建设龙芯硬件平台操作系统龙芯CentOS中标OS方德OS中间件Tomcat东方通中创金蝶数据库MySQL达梦人大金仓神通广东信息厅天津数字档案馆……工信部OA系统OpenOffice中标普华金山WPS永中Office龙芯Java虚拟机试点系统办公软件page2727自主软硬件生态建设龙芯硬件平台操作系统龙芯CentOS中标O领域4:浏览器现状支持两大开源浏览器Chrome和Firefox主流最新版本Chrome31(推荐)、Firefox24(推荐)、Firefox17Fedora13系统、中标麒麟系统具备较为完善的JS\WebGL\HTML5\插件等环境功能功能项\版本Chrome31Firefox24Firefox17WebGLYESYESNOHTML5YESYESPARTIALFlash播放YESYESYES插件支持YESYESYESProfile调试与分析YESYESNESJS/JITYESYESYESpage28Page28领域4:浏览器现状支持两大开源浏览器Chrome和FirefHMLT5/Flash在线视频播放Profiler性能分析平台HTML5测试分值page2929HMLT5/Flash在线视频播放Profiler性能分析平浏览器WebGL应用场景GIS应用:

大型3DwebGL应用服务器端:

通过node.js驱动终端:

通过浏览器启动

webGL交互,支持

独立显卡30浏览器WebGL应用场景GIS应用:30浏览器WebRTC应用场景视频会议示例:webRTC测试应用功能:

支持多人视频会议等

复杂语音视频应用31浏览器WebRTC应用场景视频会议示例:31浏览器office办公Office办公示例:office办公测试应用功能:

支持在浏览器中启用

插件进行文档的操作32浏览器office办公Office办公示例:32功能对比:HTML5测试龙芯平台X86平台page33Page33功能对比:HTML5测试龙芯平台X86平台page33Pa浏览器开源社区集成龙芯提交代码截屏图龙芯公司是Chrome社区的14家主要成员厂商之一仅2014年上半年,龙芯公司就向浏览器社区贡献了4万行源码page3434浏览器开源社区集成龙芯提交代码截屏图龙芯公司是Chrome社附:Chrome浏览器V8社区参与成员厂商列表1GoogleInc.

2SigmaDesignsInc.

3ARMLtd.

4Hewlett-PackardDevelopmentCompany

5Igalia,S.L.

6Joyent,Inc.

7BloombergFinanceL.P.

8NVIDIACorporation

9BlackBerryLimited

10OperaSoftwareASA

11IntelCorporation

12MIPSTechnologies,Inc.

13ImaginationTechnologies,LLC

14LoongsonTechnologyCorporation,LimitedPage35附:Chrome浏览器V8社区参与成员厂商列表1GooVxworks支持情况系统vxWorks6.8vxWorks6.7vxWorks5.51A支持支持不支持1E支持支持不支持1E+1F支持支持不支持2F不支持不支持支持2H支持支持不支持2J/2I+5536支持支持不支持2J+1A支持支持不支持3A+780支持支持不支持3A+2H支持支持不支持36Vxworks支持情况系统vxWorks6.8vxWorkVxworks二维图形支持针对龙芯CPU集成显卡的驱动(2H、1A)在显卡数据通路、控制通路、CPU与GPU同步等方面做过深入优化针对龙芯CPU外接的AMD显卡(ATIRS780、HD5X、HD6X)移植EXA、libdrm、DRM等GPU驱动,优化显存分配和硬件光标针对控制类应用外接的嵌入式显卡(如SIS315显卡)增加了基于winML的2D加速接口,包括BLIT、FILL、DRAW等实现了windML图形库的汉字支持优化了windML图形库的JPEG、PNG库实现了windML库的整体模块化和动态加载功能Page37Vxworks二维图形支持针对龙芯CPU集成显卡的驱动(2龙芯vxworks系统对三维OpenGL的支持过去vxWorks平台上的商业openGL驱动存在以下问题:价格昂贵,只能支持有限几种显卡,可移植性差,版本老旧龙芯平台openGL3D驱动的移植适配和优化方案:龙芯vxWorks平台支持的显卡ATIHD3XATIHD4XATIHD5XATIHD6XM9M96E8860openGL√√√√√√√openGLES√√√√√√√Page38龙芯vxworks系统对三维OpenGL的支持过去vxWor

龙芯vxworks平台对开源版QT的支持背景:国际嵌入式平台的GUI开发环境存在价格昂贵、功能不足、资料匮乏等问题仅有intel的telcon、miniGUI、商业版QT等可供选择,存在组多相似问题目的:在龙芯平台上发布开源版QT,降低用户成本、降低用户GUI应用开发难度龙芯vxworks平台QT渲染后端支持QT4.8.3QT4.8.5QT4.8.6QT5.XwindML后端√√√√FrameBuffer后端√√√√openGL/ES后端√√√√Page39龙芯vxworks平台对开源版QT的支持背景:国际嵌入式“Welookedattheentiresystemandrefineditappbyapp,featurebyfeature,pixelbypixel.”他山之石:苹果公司研发操作系统的理念page4040“Welookedattheentiresyste提纲page41三、龙芯开源社区与Loongnix操作系统page41Page41提纲page41三、龙芯开源社区与Loongnix操作系统龙芯开源社区宗旨:开源、开放、合作、共享欢迎广大厂商机构和个人爱好者参与产品:龙芯社区版Linux操作系统Loongnix所有软件开源、免费下载Page42龙芯开源社区宗旨:开源、开放、合作、共享Page42Loongnix社区版操作系统特性64位系统,支持Multilib系统(兼容32位应用程序)基于FC21,是迄今为止最完整的mips版操作系统,提供海量软件仓库。大量的开发、调试工具,多种开发语言的支持c,c++,objc,obj-c++,fortran,gcc-go等;各种脚本语言的支持:Python、Perl、PHP、Ruby、Nodejs等;各种服务及数据库类软件Apache、Mariadb(mysql)、Sqlite云支撑软件OpenStack、Docker、kernel4.1等;Linux常用办公软件:Libreoffice、Firefox40浏览器、集成基于龙芯优化的图形库、视频解码、Java等基础软件。多种桌面自由选择:Gnome3、KDE4、XFCE、Openbox等等;Page43Loongnix社区版操作系统特性64位系统,支持Multi社区百科Page44社区百科Page44社区论坛域名;用户可以自由注册Page45社区论坛域名;用户可以自由注Bug反馈系统域名;用户可以自由注册,也可匿名直接提交BugPage46Bug反馈系统域名;用户可邮件列表系统域名;用户可以自由提交申请;接受新版本发布信息;并直接参与开源项目讨论Page47邮件列表系统域名;用户可开发参与:代码提交与审核Page48开发参与:代码提交与审核Page48谢谢,请指正!page49page4949谢谢,请指正!page49page4949page50龙芯软件生态建设page5050page1龙芯软件生态建设page11提纲page51一、自主信息化发展分析二、龙芯基础软件生态建设三、开源社区与社区版操作系统page51Page51提纲page2一、自主信息化发展分析二、龙芯基础软件生态建前所未有的自主信息化实践对国产软硬件系统进行了充分检验国产基础硬件平台业务应用系统应用支撑平台国产基础支撑平台国产自主可控核心处理器:龙芯3号CPU数据迁移工具数据同步工具构件库管理服务数据交换服务统一目录服务全文检索服务工作流管理服务统一机构权限统一消息服务电子表单服务电子报表服务电子邮件服务元数据管理服务搜索引擎服务安全认证服务电子公文处理政务信息管理电子文档管理纸质公文处理值班管理督查管理会议管理行政办公管理知识管理领导决策支持其它业务管理系统门户其它客户端基于国产CPU的客户机、国产Linux硬件:基于龙芯3号芯片的服务器,包括曙光、联想、长城、浪潮、宝德……国产办公软件:永中office、中标普华、WPS国产数据库系统:武汉达梦、人大金仓、神舟通用国产中间件:金蝶、东方通、中创国产操作系统:中科麒麟、红旗、方德单位服务器客户端中办

工信部龙芯、申威龙芯电监会龙芯龙芯中央档案馆

地方档案馆龙芯、飞腾龙芯广东龙芯、飞腾龙芯广州龙芯龙芯江西龙芯龙芯湖南龙芯龙芯山东飞腾龙芯装指院飞腾飞腾核高基党政军办公示范应用page52Page52前所未有的自主信息化实践对国产软硬件系统进行了充分检验国产基自主信息化产业发展现状趋势形成了较为完整的产业链CPU、OEM、整机、BIOS、OS、数据库、中间件、Office、集成商各基础软硬件产品都有品牌厂商市场应用领域明确党政军OA、BAOMI电脑、安全应用领域信息化政策导向清晰、高层决心坚定、推进力度强劲国产基础软硬件系统已经完成第一轮的螺旋迭代功能问题已经基本解决,性能问题也即将解决将逐步走向稳定持续发展的良性轨道迫切需要:围绕产业生态建设,推动国产系统持续健康发展Page53自主信息化产业发展现状趋势形成了较为完整的产业链Page4自主信息化的人才与技术困境分析人才困境:国内IT人才结构失衡大背景:国内庞大的IT产业建立在国外软硬件系统平台之上应用开发型人才充足,底层基础系统研发人才却极度匮乏国内有几十万JAVA程序员,过去几乎不具备JAVA核心技术JAVA虚拟机的研发能力国内从事浏览器应用的团队数以千计,过去几乎不掌握过浏览器底层JS引擎研发技术国内IT企业极少参加系统相关标准制定,国内软件人才很少向国际开源社区贡献源码技术困境:围绕国产硬件平台的应用软件适配优化缺课严重国产软硬件系统的基础平台层面成熟度、稳定性有待完善过去缺乏大规模的商业和实际应用,不用发现不了问题,更解决不了问题上层应用系统自身设计不足的问题被X86平台超强的硬件性能掩盖掉应用开发对X86架构形成惯性依赖,向国产平台移植后凸显性能瓶颈架构设计、技术方案选型、参数适配调优等工作都基于国外X86架构展开针对国产系统慢的问题,需要拿出科学系统的解释慢在哪儿?为什么慢?性能潜力?优化切入点?page54page54自主信息化的人才与技术困境分析人才困境:国内IT人才结构失衡龙芯的对策组建龙芯开源社区,发布龙芯社区版操作系统Loongnix以开放合作的社区模式组织国内厂商和龙芯爱好者参与软件生态建设龙芯开源社区积极参与到国际开源软件社区的研发工作在内核、媒体、编译器等方面积极参与国际开源软件研发工作向重要开源软件贡献直接、免费、开放的发布重要的API环境软件JAVA、浏览器、QT龙芯优化版Page55龙芯的对策组建龙芯开源社区,发布龙芯社区版操作系统Loong提纲page56二、龙芯基础软件生态建设在主要技术领域形成突破,极大改善国产平台软件生态page56Page56提纲page7二、龙芯基础软件生态建设在主要技术领域形成突page57基于软件栈的国产系统问题剖析(3年前)操作系统基础设施层面对国产硬件的架构优化薄弱、特性支持匮乏

JAVA中间件数据库办公软件在线应用桌面应用服务器API环境LinpackHadoop内核/驱动窗口图形系统浏览器X11/Gtk三维图形视频媒体LAMP桌面API环境服务器应用操作系统基础设施重要API环境软件因缺乏责任厂商,功能性能曾存在严重问题大型应用系统针对国产架构的适配调优环节缺失基础C/C++库编译器基础图形库图像媒体库MPITomcatQTXlib/X11page8基于软件栈的国产系统问题剖析(3年前)操作系统基1国产操作系统基础设施亟需补课操作系统基础设施:内核、编译器、基础库、图形窗口系统等与系统硬件架构结合紧密,对整体系统性能具有至关重要的影响需要与CPU硬件结构深度磨合,在算法/汇编等多层面进行代码优化研发由国际主要CPU/系统厂商主导,国内OS厂商处于Follower的位置国产OS远远没有挖掘出国产CPU的硬件性能潜力,亟需补课针对国产CPU的架构优化薄弱、特性支持匮乏,优化工作刚刚起步经过优化后的执行效率远远高于原始普通实现#ifX86

{SSE/三角函数等专用X86硬件指令}#ELSEIFARM

{Neon指令/GPU等加速接口}#ELSEIF龙芯{C/C++高级语言实现}#Endif对基础设施进行深度硬件适配调优后,性能常数量级倍优于原始版本page58Page581国产操作系统基础设施亟需补课操作系统基础设施:内核、编译2重要的API支撑软件需要责任厂商API(ApplicationProgrammingInterface):应用程序编程接口是应用程序构筑的基础平台环境,也是软件生态的核心与控制手段服务器JAVA环境、安卓类JAVA开发环境、桌面QT图形、浏览器的JS引擎发展趋势平台开源化(近期微软.net架构开源)国产生态中,浏览器、QT、JAVA等没有责任厂商,出现严重问题JAVA桌面QT应用重要的API环境软件浏览器Web应用应用软件与系统操作系统基础设施(内核、基础库、服务设施)硬件平台&&固件浏览器媒体编解码QT图形环境中间件Office办公数据库JAVA服务器应用page59Page592重要的API支撑软件需要责任厂商API(Applicat大型应用系统是最凸显国产系统性能瓶颈的场景大型三维GIS应用、复杂在线办公软件网页大型应用系统技术状态分析由成熟的X86系统发展而来软件架构设计、技术选型、参数适配调优等工作都基于X86架构展开未在性能相对减弱国产系统上进行适配软件设计不足的问题容易被X86平台超强的硬件性能掩盖掉适配调优能够显著改善国产系统的应用表现三年前,攻关基地曾暴露的大量性能瓶颈近期在神码、中软等基地,通过应用系统自身优化显著提高了应用性能龙芯近两年来帮助应用开发单位进行系统优化,显著提升了应用性能3大型应用系统的适配调优环节缺失page60page60大型应用系统是最凸显国产系统性能瓶颈的场景3大型应用系统的优化技术手段1结合微体系结构特征的模块级算法优化技术结合处理器静态参数特点,对核心循环的算法设计进行结构优化充分考虑指令集特点、SIMD、指令窗口、发射宽度结合处理器动态执行特征,采用汇编进行指令拍级的深度磨合调优最大限度发挥硬件性能潜力:流水线执行、指令调度延迟、功能与总线模块竞争2基于国产处理器结构的编译优化技术前后端优化:支持国产处理器指令集、Cache管理、发射宽度、调度延迟特点3利用国产多核处理器架构特点的并行与分布式优化软法架构设计和解决方案层面的并行与分布式优化技术4大型应用软件综合适配调优技术软件自身设计架构与流程算法的优化发掘出最优的系统配置参数和软件自身配置选项page61page61Page61优化技术手段1结合微体系结构特征的模块级算法优化技术page整机的效率优化案例某数据库应用HP的X86服务器需要50分钟,龙芯服务器优化前8小时,优化后80秒某图形应用X86i7平台每秒40帧,龙芯平台优化前每秒不到1帧,优化后每秒80帧某指挥系统(GIS)应用X86i7平台每秒20帧,龙芯平台优化前每秒3帧,优化后每秒30帧Page62整机的效率优化案例某数据库应用Page13国产CPU软件生态现状补课完成操作系统基础设施层面优化工作基本完善JAVA中间件数据服务办公软件在线应用桌面应用服务器API环境LinpackHadoop内核/驱动窗口图形系统浏览器X11/Gtk三维图形视频媒体中间件桌面API环境服务器应用操作系统基础设施责任企业已具备相应技术能力,API软件产品逐步成熟大型应用软件基本完成对国产系统的适配基础C/C++库编译器基础图形库图像媒体库MPI数据库QTXlib/X11page6363国产CPU软件生态现状补课完成操作系统基础设施层面JA领域1:操作系统基础设施(内核)多核负载均衡提高网络性能在多核间轮转调度中断实现网络IO并行化UDP带宽提升17%,TCP带宽提升56%层次锁优化提高多核同步性能按节点划分核的层次,分布式分层加锁,降低多核竞争开销Unixbench系统调用性能大幅度提高page6464领域1:操作系统基础设施(内核)多核负载均衡提高网络性能pa媒体解码优化FFMPEG解码:使用媒体指令等技术深度挖掘CPU软解码能力FFMEPG设计累计接受龙芯优化patch共计31个,代码数量约8367行3A能够流畅软解码H264/720P3A1500及3B能够流畅软解码H264/1080Ppage65Page65媒体解码优化FFMPEG解码:使用媒体指令等技术深度挖掘CP基础数学库优化优化手段:龙芯特有指令、内嵌汇编优化、编译选项搜索page66Page66基础数学库优化优化手段:龙芯特有指令、内嵌汇编优化、编译选项领域2:基础图形系统窗口图形系统人机交互、各类桌面应用的基础支持框架,软件栈梳理的重点目标当前Linux图形系统技术飞速发展,老旧技术被淘汰,新技术不断涌现操作系统基础软件的老旧导致国产硬件系统的图形性能被极大抑制龙芯平台窗口图形系统存在问题各类图形相关的软件库的版本陈旧,功能性能都存在诸多不足基础图形库的龙芯架构相关优化工作匮乏来自显卡厂商的对龙芯平台的显示硬件驱动支持薄弱工作思路:三个层面开展优化工作GPU驱动、基础图形库、图形环境应用适配page67page67Page67领域2:基础图形系统窗口图形系统page18page18基础图形系统分析针对过去国产平台图形系统共性问题,在三个层面开展优化工作page68page68情况:GPU驱动支持薄弱对策:在GPU驱动级深入分析瓶颈,进行改进情况:基础图形库的平台架构相关的算法优化工作匮乏对策:定位瓶颈函数与操作,开展汇编与算法优化情况:QT、OpenGL等图形开发环境软件版本陈旧对策:软件版本升级、适配调优,改进上层应用设计68基础图形系统分析针对过去国产平台图形系统共性问题,在三个层面基于Mesa的三维驱动图形优化效果69基于Mesa的三维驱动图形优化效果20示例1:osgCity.earth国产平台:龙芯3A800Mhz+AMD5450,分辨率1600*900实测性能:帧率49.28fps,Vertices402357Page70示例1:osgCity.earth国产平台:龙芯3A800示例2:ocean.earth国产平台:龙芯3A800Mhz+AMD5450,分辨率1600*900实测性能:50fps,Vertices53757Page71示例2:ocean.earth国产平台:龙芯3A800M示例3:二维矢量地图mapbox-gl国产平台:龙芯3A800Mhz+AMD5450,分辨率1600*900实测性能:采用GPUOpenGL基础驱动库优化,性能从3fps提高到40fpsPage72示例3:二维矢量地图mapbox-gl国产平台:龙芯3A8示例4:龙芯版QT龙芯版QT的raster引擎优化raster引擎在内存中进行数据渲染,可有效地减少内存与显存数据交互龙芯QT4.8进一步优化了raster引擎,相对QT4.7,渲染效率更高、功能更强大案例:某2D应用使用X引擎时测试程序需要6秒才能完成渲染,更换为高版本QT库的raster引擎后性能达到1.6秒,性能提升4倍Page73示例4:龙芯版QT龙芯版QT的raster引擎优化Page74领域3:Javapage74时间功能性能稳定性2011.6核高基示范应用启动2012.3完成OpenJDKmips64位移植(模板解释器,ClientJIT)2012.7大量试点系统完成功能磨合大量细节优化2012.12完成ServerJIT移植2013.6两个产品版本:OpenJDK6/8两种应用模式:64位服务器模式32位桌面客户端模式完成NUMA优化内测7*24稳定2013.7完成负载均衡优化7*24稳定2013.8SpecJVM:性能大幅度提升超过4个月未报告新问题2013.12两年优化:性能总计提升1倍12个试点正常运行反馈问题全部解决2014.12完成JDK8产品化综合性能提升14%7天*24小时压力测试7425领域3:Javapage25时间功能性能稳定性201175龙芯公司开发JAVA虚拟机代码规模对比源码量(万行)开发语言维护者共性代码59万行C++高级语言OpenJDK社区X86架构相关代码9.8万行X86汇编为主Intel公司雇员Sparc架构相关代码5.5万行Sparc汇编为主Oracle公司雇员龙芯架构相关代码8.4万行MIPS汇编为主龙芯公司JAVA团队近来,接到的问题集中在共性代码部分早期问题集中在龙芯架构相关代码部分累计已解决8个在X86平台同样存在的JAVA共性问题7526龙芯公司开发JAVA虚拟机代码规模对比源码量(万行)开发自主软硬件生态建设龙芯硬件平台操作系统龙芯CentOS中标OS方德OS中间件Tomcat东方通中创金蝶数据库MySQL达梦人大金仓神通广东信息厅天津数字档案馆……工信部OA系统OpenOffice中标普华金山WPS永中Office龙芯Java虚拟机试点系统办公软件page7676自主软硬件生态建设龙芯硬件平台操作系统龙芯CentOS中标O领域4:浏览器现状支持两大开源浏览器Chrome和Firefox主流最新版本Chrome31(推荐)、Firefox24(推荐)、Firefox17Fedora13系统、中标麒麟系统具备较为完善的JS\WebGL\HTML5\插件等环境功能功能项\版本Chrome31Firefox24Firefox17WebGLYESYESNOHTML5YESYESPARTIALFlash播放YESYESYES插件支持YESYESYESProfile调试与分析YESYESNESJS/JITYESYESYESpage77Page77领域4:浏览器现状支持两大开源浏览器Chrome和FirefHMLT5/Flash在线视频播放Profiler性能分析平台HTML5测试分值page7878HMLT5/Flash在线视频播放Profiler性能分析平浏览器WebGL应用场景GIS应用:

大型3DwebGL应用服务器端:

通过node.js驱动终端:

通过浏览器启动

webGL交互,支持

独立显卡79浏览器WebGL应用场景GIS应用:30浏览器WebRTC应用场景视频会议示例:webRTC测试应用功能:

支持多人视频会议等

复杂语音视频应用80浏览器WebRTC应用场景视频会议示例:31浏览器office办公Office办公示例:office办公测试应用功能:

支持在浏览器中启用

插件进行文档的操作81浏览器office办公Office办公示例:32功能对比:HTML5测试龙芯平台X86平台page82Page82功能对比:HTML5测试龙芯平台X86平台page33Pa浏览器开源社区集成龙芯提交代码截屏图龙芯公司是Chrome社区的14家主要成员厂商之一仅2014年上半年,龙芯公司就向浏览器社区贡献了4万行源码page8383浏览器开源社区集成龙芯提交代码截屏图龙芯公司是Chrome社附:Chrome浏览器V8社区参与成员厂商列表1GoogleInc.

2SigmaDesignsInc.

3ARMLtd.

4Hewlett-PackardDevelopmentCompany

5Igalia,S.L.

6Joyent,Inc.

7BloombergFinanceL.P.

8NVIDIACorporation

9BlackBerryLimited

10OperaSoftwareASA

11IntelCorporation

12MIPSTechnologies,Inc.

13ImaginationTechnologies,LLC

14LoongsonTechnologyCorporation,LimitedPage84附:Chrome浏览器V8社区参与成员厂商列表1GooVxworks支持情况系统vxWorks6.8vxWorks6.7vxWorks5.51A支持支持不支持1E支持支持不支持1E+1F支持支持不支持2F不支持不支持支持2H支持支持不支持2J/2I+5536支持支持不支持2J+1A支持支持不支持3A+780支持支持不支持

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论