解决您嵌入式编译过程中的三大缺陷问题--Electric Cloud和ARM联合举办在线研讨会
发布时间:2009-04-03

主题:嵌入式编译过程中的三大缺陷 (以及如何解决)

日期:2009422日 周三

开始时间:10:00 AM (太平洋时间)

持续时间:1小时

详细内容:http://www.cmcrossroads.com/content/view/12766/

注册链接:

https://event.on24.com/eventRegistration/EventLobbyServlet?target=registration.jsp&eventid=138735&sessionid=1&key=F83B8AD8606E8E803AF581CF39876BF5&partnerref=cmceb&sourcepage=register

很多嵌入式软件编译系统围绕着“make”来设计-很好!这是一个普遍意义上的强大的工具。参加我们的网上技术交流,了解在编译系统设计中的三个经典错误。您可能会在自己编译过程中发现它们,特别是如果您使用的是第三方平台。他们很可能使您头痛,产品性能问题,并产生编译错误。在这个网络研讨会将在数以百计的现实世界的经验的基础上讨论如何克服这些问题。

 

您将听到ARM公司的Bob Boys演讲,他将把自己在嵌入式开发方面丰富的经验和大家一起分享。Bob将给大家演示ARM新的性能分析应用工具Profiler,并解答各位关于ARM编译器、工具和技术方面的问题。

 

整个研讨会内容将包括:

 

Recursive make

Including the world

File copies / incremental archiving

ARM Profiler

ARM development tips

 

哪些人员适合参加? 基于ARM系列芯片的产品开发或者从事于移动设备、嵌入式系统、网络方面的开发人员和经理人。

 

演讲嘉宾

 

Scott CastleElectric Cloud公司产品经理

 

作为Electric Cloud公司产品经理,Scott Castle有着和全球的客户一起进行编译过程优化的经验。 他是编译架构系统、交叉平台编译和发布过程的专家。

 

Bob BoysARM公司美国产品经理(RVDSKeil

 

Bob管理着美国的ARM开发工具团队。他在该领域有着多年的实战经验。Bob拥有多伦多大学管理信息系统(MIS)学位。

 

  

 

关于此次网络研讨会主办方: Electric Cloud

 

Electric Cloud是领先的软件生产管理(SPM)提供商。Electric Cloud解决方案能自动化、加速和分析软件编译-测试-发布过程来优化实际和虚拟的IT环境。该公司专利和获奖产品帮助开发团队加速产品上市时间、推进开发人员生产力、提高软件质量。

 

如果您感兴趣,欢迎注册参加:

 

 https://event.on24.com/eventRegistration/EventLobbyServlet?target=registration.jsp&eventid=138735&sessionid=1&key=F83B8AD8606E8E803AF581CF39876BF5&partnerref=cmceb&sourcepage=register

 

  

 

关于Electric Cloud

 

Electric Cloud是领先的软件生产管理(SPM)提供商。Electric Cloud解决方案能自动化、加速和分析软件编译-测试-发布过程来优化实际和虚拟的IT环境。该公司专利和获奖产品帮助开发团队加速产品上市时间、推进开发人员生产力、提高软件质量。各个行业领先的公司,包括半导体、企业ITISVs、移动设备和交易网络站点都依靠Electric Cloud的软件生产管理解决方案来提高产品竞争优势。

 

  

 

关于ARM

 

ARM公司设计先进的数字产品核心应用技术,应用领域涉及:无线、网络、消费娱乐、影像、汽车电子、安全应用及存储装置。 ARM提供的产品,包括:16/32RISC微处理器、数据引擎、三维图形处理器、数字单元库、嵌入式存储器、外设、软件、开发工具以及模拟和高速连接产品。 ARM公司协同众多技术合作伙伴为业界提供快速、稳定的完整系统解决方案。更多有关ARM的资讯,可登陆http://www.arm.com

 

  

 

关于亿道电子

 

亿道电子是Electric CloudARM公司中国区合作伙伴。

 

亿道电子技术有限公司是中国最全面的嵌入式开发工具,嵌入式平台、方案和嵌入式技术提供商; Microsoft Altium ARMTIIntel等的中国区战略合作伙伴。亿道电子致力于中国整个嵌入式产业链,在芯片级开发工具、EDA开发工具、嵌入式开发工具、嵌入式平台、方案、嵌入式软件测试工具、ODM/OEM、嵌入式培训等领域为客户提供专业、个性化的服务与支持、帮助客户及全球合作伙伴取得成功。亿道电子成立于2002,总部位于深圳, 在上海,北京,香港、成都、武汉拥有分支机构. 旗下武耀博德子公司专注于嵌入式开发平台方案, 嵌入式教学实验设备研发与生产。在全体亿道人的共同努力下, 公司形成了覆盖中国、东南亚、北美的营销、服务网络。客户群涉及高校、科研院所、通讯、工控、医疗、消费电子、军方、航空、航天等众多领域. 服务近万家企业客户、4000多家科研单位,400多所的高等院校。

 

 

 

关于Electric Cloud产品

 

ElectricAccelerator

 

                                        ——软件编译加速和分析

 

ElectricAccelerator 精确执行跨服务器簇的并行编译,相对于串行编译,减少编译时间,节省费用,提高软件开发的生产力。行业分析公司voke对使用ElectricAccelerator的公司的调查表明,“40%的参与者每年能节约多达12百万美元的费用,原因在于减少了编译等待时间,产品能更快上市,并且省去了内部开发的工具的创建和维护费用

 

精确并行编译的核心是electric cloud专利的依赖关系管理技术。该技术在文件级别自动识别和管理依赖关系。目前只有ElectricAccelerator能提供这个级别的并行。ElectricAccelerator能够无缝集成到已有的编译和发布工具中,且不会改变已有的脚本。更快,更精确的编译减少开发者用于等待编译完成的时间,使他们可以在check in代码变化之前做完全编译。

 

       加快编译

 

      跨服务器簇并行编译,

 

      编译速度加快高达20

 

      精确编译

 

      自动检测和管理依赖关系,

 

      精确的完全编译和增量编译

 

      曝光黑盒子

 

      编译详情空前可见,

 

      快速定位错误和发现瓶颈

 

 

 

 “快速地执行编译对于一个成功的应用程序开发生命周期是至关重要的。微软开发部Visual Studio产品经理Matt Carter说,合作伙伴Electric Cloud的解决方案使客户在使用熟悉的Visual Studio环境的同时,还能体会到敏捷开发的好处。

 

加快编译 提高吞吐量

 

ElectricAccelerator的解决方案是将编译任务分派到服务器簇上并行执行。因其无与伦比的依赖关系管理系统,ElectricAccelerator的扩展能力远远超过早先的并行编译,同时编译速度比串行方式高快达20倍,且不改变已有的编译脚本或工具。解决方案的核心是Electric Make。它无缝插入基于Make, AntVisual Studio的编译架构中,不更改已有的编译脚本和工具。开发人员,质量工程师,和发布团队不用再花费大量时间等待编译完成,工作效率和软件质量都能得到提高。

 

根本上消除编译中止

 

传统的分布式编译有一个严重的缺陷:随着并行级别增加,编译错误或中止就会产生,原因是编译文件很少能含有完整的依赖关系信息,特别是对于那些包含多重相关文件的项目。没有完整的依赖关系信息,编译过程往往发生次序混乱,比如依赖的库文件还没全部生成,某个链接步骤就被执行了。

 

我们专利的自动化依赖关系检测和纠错技术,准确决定用什么文件来编译每个目标文件、库文件或者可执行文件。一旦编译过程中出现次序混乱,它能自动识别并重新运行这些编译步骤。即使簇的节点数扩展到上百个,ElectricAccelerator也能正确执行编译。此外,依赖关系自动检测不仅适用于完全编译,也适用于增量编译,因而避免了因小改动就要执行全部编译。开发人员在code-in其代码之前执行编译,有助于在项目生命周期的早期推进产品质量。

 

可视化编译结构,更快检测错误和调整性能

 

编译中止或减速的起因,潜藏的依赖关系在哪里通常很难看到。ElectricInsight?是软件编译的可视化工具,展示编译是如何组织和执行的。它提供每个节点上每个job的详细信息和报告,帮助使用者一目了然正在执行哪些jobs,执行时间和使用的文件。替代手动浏览成千上万行的编译输出文件,以往要消耗几小时甚至几天的错误检测与性能调整,现在几秒钟就能完成了。  

 

使用ElectricAccelerator,我们编译和链接Quick Books一次只需要30分钟,并且编译中止已成为过去。”— Jon Burt, SCM经理, Intuit

 

       ElectricAccelerator体系架构

 

      ElectricAccelerator包含多个专利部件,开拓了高水平的并行编译。

 

      Electric Make

 

Electric Make分派并行的编译jobs到簇上各个节点,以自动化快速执行编译。Electric MakeGNU Make, Microsoft NMAKE, Ant以及 Microsoft? Visual Studio编译工具兼容。

 

      簇管理器

 

簇管理器负责存储编译信息和分配Electric Make使用的节点。它能把运行并行编译的agent扩展达几百个,且不影响编译性能。簇管理器的访问基于web形式,您可以查看报告,编译状态,编译结果和编译配置。另外,以命令行方式访问簇管理器也是允许的。

 

      Electric文件系统

 

Electric AgentElectric文件系统都在节点上。他们共同管理Electric Make发送的编译job的执行。文件系统记录编译过程中文件访问情况,以提供正确的依赖关系信息。

 

 

 

支持的平台

 

? Symbian SBSv1 and SBSv2

 

? Sun Solaris ? GNU Make/Symbian Make/Microsoft NMAKE

 

? Microsoft Visual Studio ? Red Hat Linux

 

? Microsoft Windows ? Apache Ant

 

? Microsoft Platform Builder ? Symbian SBSv1 and SBSv2

 

支持的工具链

 

? GNU Make/Symbian Make/Microsoft NMAKE

 

? Microsoft Visual Studio

 

? Apache Ant

 

? Microsoft Platform Builder

 

? Symbian SBSv1 and SBSv2

 

ElectricInsight

 

ElectricInsight描述如何组织和执行编译,帮助编译管理者查出性能问题或并行编译中的冲突。作为ElectricAccelerator的插件,ElectricInsight利用Electric Make提供的信息,图形化表示编译结构,用于性能分析。ElectricInsight提供每个节点上job的详细信息和报告,便于快速诊断;能够预测增加节点如何影响编译次数并建立模型,帮助您做硬件投资的决策。使用ElectricInsight代替手动浏览成千上万行的编译输出文件,错误检测和性能调整在几秒内就能完成。

 

      迅速发现改进机会,帮助解答如下问题:

 

      ? 是否存在不必要的串行?

 

      ? agents工作中是否还有间隙可用?

 

      ? 哪个是最长的job链?

 

      ? 哪些文件被多次修改?

 

作为游戏字幕的开发者,我们认为较短的编译时间是很重要的。我们灵敏的开发模式得益于ElectricAccelerator的支持。

 

——Aaryn Flynn, 技术总监, BioWare


Electric Accelerator

主要特征

好处

加快编译,提高吞吐量

 

支持Visual Studio, GNU Make,NMAKE, Ant

? 不改变脚本或开发者的工作方式

自动化性能提升, 最少量维护工作

? 每次编译后Electric Make会更新依赖关系信息

独立于编译器和SCM

? 支持任何编译器或源代码管理工具

网格集成

? 集成Platform LSF网格引擎,使用网格计算,则不需要专门的编译实验室

兼容静态分析工具

? 支持Klocwork Insight

根本上消除编译中止

 

依赖关系动态检测和管理

? 专利技术可使编译速度提高达20倍

精确的增量编译

? 不用人工参与可捕捉完整的依赖信息,增量编译可靠

网络性能优化

? 即时压缩和agent缓存消除LAN瓶颈;ElectricAccelerator甚至可以在开发者的台式机上使用

编译机器上的工具,动态镜像到簇上

? 减少多种工具配置带来的管理负荷

容错功能

? 即使簇中某个节点无法运作也能保证一贯性能

系统管理不停机

? 定期维护或升级时不需要关闭整个簇

可视化编译结构,快速检测错误和调整性能

 

ElectricInsight

? 几小时甚至几天的错误检测和性能调整可以在数秒内完成

报告  

 

 

? 透视编译过程,提供信息包括最长的串行链,编译成功次数,最长的job,串行分析等