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

下载本文档

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

文档简介

page 1,龙芯软件生态建设,page 1,提纲,page 2,一、自主信息化发展分析,二、龙芯基础软件生态建设,三、开源社区与社区版操作系统,page 2,前所未有的自主信息化实践对国产软硬件系统进行了充分检验,核高基党政军办公示范应用,page 3,自主信息化产业发展现状趋势,形成了较为完整的产业链 CPU、OEM、整机、BIOS、OS、数据库、中间件、Office、集成商 各基础软硬件产品都有品牌厂商 市场应用领域明确 党政军OA、BAOMI电脑、安全应用领域信息化 政策导向清晰、高层决心坚定、推进力度强劲 国产基础软硬件系统已经完成第一轮的螺旋迭代 功能问题已经基本解决,性能问题也即将解决 将逐步走向稳定持续发展的良性轨道 迫切需要:围绕产业生态建设,推动国产系统持续健康发展,自主信息化的人才与技术困境分析,人才困境:国内IT人才结构失衡 大背景:国内庞大的IT产业建立在国外软硬件系统平台之上 应用开发型人才充足,底层基础系统研发人才却极度匮乏 国内有几十万JAVA程序员,过去几乎不具备JAVA核心技术JAVA虚拟机的研发能力 国内从事浏览器应用的团队数以千计,过去几乎不掌握过浏览器底层JS引擎研发技术 国内IT企业极少参加系统相关标准制定,国内软件人才很少向国际开源社区贡献源码 技术困境:围绕国产硬件平台的应用软件适配优化缺课严重 国产软硬件系统的基础平台层面成熟度、稳定性有待完善 过去缺乏大规模的商业和实际应用,不用发现不了问题,更解决不了问题 上层应用系统自身设计不足的问题被X86平台超强的硬件性能掩盖掉 应用开发对X86架构形成惯性依赖,向国产平台移植后凸显性能瓶颈 架构设计、技术方案选型、参数适配调优等工作都基于国外X86架构展开 针对国产系统慢的问题,需要拿出科学系统的解释 慢在哪儿?为什么慢?性能潜力?优化切入点?,page 5,龙芯的对策,组建龙芯开源社区,发布龙芯社区版操作系统Loongnix 以开放合作的社区模式组织国内厂商和龙芯爱好者参与软件生态建设 龙芯开源社区 积极参与到国际开源软件社区的研发工作 在内核、媒体、编译器等方面积极参与国际开源软件研发工作 向重要开源软件贡献 直接、免费、开放的发布重要的API环境软件 JAVA、浏览器、QT龙芯优化版,提纲,page 7,二、龙芯基础软件生态建设,在主要技术领域形成突破,极大改善国产平台软件生态,page 7,page 8,基于软件栈的国产系统问题剖析(3年前),操作系统基础设施层面 对国产硬件的架构优化 薄弱、特性支持匮乏,JAVA,中间件,数据库,办公软件,在线应用,桌面应用,服务器API环境,Linpack,Hadoop,内核/驱动,窗口图形系统,浏览器,X11/Gtk,三维图形,视频媒体,LAMP,桌面API环境,服务器应用,操作系统基础设施,重要API环境软件因缺乏 责任厂商,功能性能曾 存在严重问题,大型应用系统针对国 产架构的适配调优环 节缺失,基础C/C+库,编译器,基础图形库,图像媒体库,MPI,Tomcat,QT,Xlib/X11,1 国产操作系统基础设施亟需补课,操作系统基础设施:内核、编译器、基础库、图形窗口系统等 与系统硬件架构结合紧密,对整体系统性能具有至关重要的影响 需要与CPU硬件结构深度磨合,在算法/汇编等多层面进行代码优化 研发由国际主要CPU/系统厂商主导,国内OS厂商处于Follower的位置 国产OS远远没有挖掘出国产CPU的硬件性能潜力,亟需补课 针对国产CPU的架构优化薄弱、特性支持匮乏,优化工作刚刚起步 经过优化后的执行效率远远高于原始普通实现,#if X86 SSE/三角函数等专用X86硬件指令 #ELSE IF ARM Neon指令/GPU等加速接口 #ELSE IF 龙芯 C/C+高级语言实现 #Endif,对基础设施进行深度硬件适配调优后, 性能常数量级倍优于原始版本,page 9,2 重要的API支撑软件需要责任厂商,API(Application Programming Interface):应用程序编程接口 是应用程序构筑的基础平台环境,也是软件生态的核心与控制手段 服务器JAVA环境、安卓类JAVA开发环境、桌面QT图形、浏览器的JS引擎 发展趋势 - 平台开源化(近期微软.net架构开源) 国产生态中,浏览器、QT、JAVA等没有责任厂商,出现严重问题,JAVA,桌面QT应用,重要的API环境软件,浏览器Web应用,应用软件与系统,操作系统基础设施(内核、基础库、服务设施),硬件平台 & 固件,浏览器,媒体编解码,QT图形环境,中间件,Office办公,数据库,JAVA服务器应用,page 10,大型应用系统是最凸显国产系统性能瓶颈的场景 大型三维GIS应用、复杂在线办公软件网页 大型应用系统技术状态分析 由成熟的X86系统发展而来 软件架构设计、技术选型、参数适配调优等工作都基于X86架构展开 未在性能相对减弱国产系统上进行适配 软件设计不足的问题容易被X86平台超强的硬件性能掩盖掉 适配调优能够显著改善国产系统的应用表现 三年前,攻关基地曾暴露的大量性能瓶颈 近期在神码、中软等基地,通过应用系统自身优化显著提高了应用性能 龙芯近两年来帮助应用开发单位进行系统优化,显著提升了应用性能,3 大型应用系统的适配调优环节缺失,page 11,优化技术手段,1结合微体系结构特征的模块级算法优化技术 结合处理器静态参数特点,对核心循环的算法设计进行结构优化 充分考虑指令集特点、SIMD、指令窗口、发射宽度 结合处理器动态执行特征,采用汇编进行指令拍级的深度磨合调优 最大限度发挥硬件性能潜力:流水线执行、指令调度延迟、功能与总线模块竞争 2基于国产处理器结构的编译优化技术 前后端优化:支持国产处理器指令集、Cache管理、发射宽度、调度延迟特点 3利用国产多核处理器架构特点的并行与分布式优化 软法架构设计和解决方案层面的并行与分布式优化技术 4大型应用软件综合适配调优技术 软件自身设计架构与流程算法的优化 发掘出最优的系统配置参数和软件自身配置选项,page 12,page 12,整机的效率优化案例,某数据库应用 HP的X86服务器需要50分钟,龙芯服务器优化前8小时,优化后80秒 某图形应用 X86 i7平台每秒40帧,龙芯平台优化前每秒不到1帧,优化后每秒80帧 某指挥系统(GIS)应用 X86 i7平台每秒20帧,龙芯平台优化前每秒3帧,优化后每秒30帧,国产CPU软件生态现状-补课完成,操作系统基础设施层面 优化工作基本完善,JAVA,中间件,数据服务,办公软件,在线应用,桌面应用,服务器API环境,Linpack,Hadoop,内核/驱动,窗口图形系统,浏览器,X11/Gtk,三维图形,视频媒体,中间件,桌面API环境,服务器应用,操作系统基础设施,责任企业已具备相应 技术能力,API软 件产品逐步成熟,大型应用软件基本完 成对国产系统的适配,基础C/C+库,编译器,基础图形库,图像媒体库,MPI,数据库,QT,Xlib/X11,page 14,多核负载均衡提高网络性能 在多核间轮转调度中断实现网络IO并行化 UDP带宽提升17%,TCP带宽提升56% 层次锁优化提高多核同步性能 按节点划分核的层次,分布式分层加锁,降低多核竞争开销 Unixbench系统调用性能大幅度提高,page 15,媒体解码优化,FFMPEG解码:使用媒体指令等技术深度挖掘CPU软解码能力 FFMEPG设计累计接受龙芯优化patch共计31个,代码数量约8367行 3A能够流畅软解码H264/720P 3A1500及3B能够流畅软解码H264/1080P,page 16,基础数学库优化,优化手段:龙芯特有指令、内嵌汇编优化、编译选项搜索,page 17,领域2:基础图形系统,窗口图形系统 人机交互、各类桌面应用的基础支持框架,软件栈梳理的重点目标 当前Linux图形系统技术飞速发展,老旧技术被淘汰,新技术不断涌现 操作系统基础软件的老旧导致国产硬件系统的图形性能被极大抑制 龙芯平台窗口图形系统存在问题 各类图形相关的软件库的版本陈旧,功能性能都存在诸多不足 基础图形库的龙芯架构相关优化工作匮乏 来自显卡厂商的对龙芯平台的显示硬件驱动支持薄弱 工作思路:三个层面开展优化工作 GPU驱动、基础图形库、图形环境应用适配,page 18,page 18,基础图形系统分析,针对过去国产平台图形系统共性问题,在三个层面开展优化工作,page 19,page 19,情况:GPU驱动支持薄弱 对策:在GPU驱动级深入分析瓶颈,进行改进,情况:基础图形库的平台架构相关的算法优化工作匮乏 对策:定位瓶颈函数与操作,开展汇编与算法优化,情况:QT、OpenGL等图形开发环境软件版本陈旧 对策:软件版本升级、适配调优,改进上层应用设计,基于Mesa的三维驱动图形优化效果,示例1:osgCity.earth,国产平台:龙芯3A 800Mhz + AMD5450,分辨率 1600*900 实测性能:帧率49.28fps,Vertices 402357,示例2: ocean.earth,国产平台:龙芯3A 800Mhz + AMD5450,分辨率 1600*900 实测性能:50fps,Vertices 53757,示例3:二维矢量地图mapbox-gl,国产平台:龙芯3A 800Mhz + AMD5450,分辨率 1600*900 实测性能:采用GPU OpenGL基础驱动库优化,性能从3fps提高到40fps,示例4:龙芯版QT,龙芯版QT的raster引擎优化 raster引擎在内存中进行数据渲染,可有效地减少内存与显存数据交互 龙芯QT4.8进一步优化了raster引擎,相对QT4.7,渲染效率更高、功能更强大 案例:某2D应用使用X引擎时测试程序需要6秒才能完成渲染,更换为高版本QT库的raster引擎后性能达到1.6秒,性能提升4倍,25,领域3:Java,page 25,26,龙芯公司开发JAVA虚拟机代码规模对比,近来,接到的问题集中在共性代码部分,早期问题集中在龙芯架构相关代码部分,累计已解决8个在X86平台同样存在的JAVA共性问题,自主软硬件生态建设,龙芯硬件平台,操作系统,龙芯CentOS,中标OS,方德OS,中间件,Tomcat,东方通,中创,金蝶,数据库,MySQL,达梦,人大金仓,神通,广东信息厅,天津数字档案馆,工信部OA系统,Open Office,中标普华,金山WPS,永中Office,龙芯Java虚拟机,试点系统,办公软件,page 27,领域4:浏览器现状,支持两大开源浏览器Chrome和Firefox主流最新版本 Chrome31(推荐)、Firefox24(推荐)、Firefox17 Fedora13系统、中标麒麟系统 具备较为完善的JSWebGLHTML5插件等环境功能,page 28,HMLT5/Flash在线视频播放,Profiler性能分析平台,HTML5测试分值,page 29,浏览器WebGL应用场景,GIS应用: 大型3D webGL应用 服务器端: 通过node.js驱动 终端: 通过浏览器启动 webGL交互,支持 独立显卡,浏览器WebRTC应用场景,视频会议示例: webRTC测试应用 功能: 支持多人视频会议等 复杂语音视频应用,浏览器office办公,Office办公示例: office办公测试应用 功能: 支持在浏览器中启用 插件进行文档的操作,功能对比:HTML5测试,龙芯平台,X86平台,page 33,浏览器开源社区集成龙芯提交代码截屏图,龙芯公司是Chrome社区的14家主要成员厂商之一 仅2014年上半年,龙芯公司就向浏览器社区贡献了4万行源码,page 34,附:Chrome浏览器V8社区参与成员厂商列表,1 Google Inc. 2 Sigma Designs Inc. 3 ARM Ltd. 4 Hewlett-Packard Development Company 5 Igalia, S.L. 6 Joyent, Inc. 7 Bloomberg Finance L.P.,8 NVIDIA Corporation 9 BlackBerry Limited 10 Opera Software ASA 11 Intel Corporation 12 MIPS Technologies, Inc. 13 Imagination Technologies, LLC 14 Loongson Technology Corporation , Limited,Vxworks支持情况,Vxworks 二维图形支持,针对龙芯CPU集成显卡的驱动(2H、1A) 在显卡数据通路、控制通路、CPU与GPU同步等方面做过深入优化 针对龙芯CPU外接的AMD显卡(ATI RS780、HD5X、HD6X) 移植EXA、libdrm、DRM等GPU驱动,优化显存分配和硬件光标 针对控制类应用外接的嵌入式显卡(如SIS315显卡) 增加了基于winML的2D加速接口,包括BLIT、FILL、DRAW等 实现了windML图形库的汉字支持 优化了windML图形库的JPEG、PNG库 实现了windML库的整体模块化和动态加载功能,龙芯vxworks系统对三维OpenGL的支持,过去vxWorks平台上的商业openGL驱动存在以下问题: 价格昂贵,只能支持有限几种显卡,可移植性差,版本老旧 龙芯平台openGL 3D驱动的移植适配和优化方案:,龙芯vxworks平台对开源版QT的支持,背景:国际嵌入式平台的GUI开发环境存在价格昂贵、功能不足、资料匮乏等问题 仅有intel的telcon、miniGUI、商业版QT等可供选择,存在组多相似问题 目的:在龙芯平台上发布开源版QT,降低用户成本、降低用户GUI应用开发难度,“We looked at the entire system and refined it app by app, feature by feature, pixel by pixel.”,他山之石:苹果公司研发操作系统的理念,page 40,提纲,pa

温馨提示

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

评论

0/150

提交评论