Seth-China Symposium
Total Page:16
File Type:pdf, Size:1020Kb
Enabling The Software Ecosystem for the Future of Mobile Computing Seth Bernsen Strategic Software Alliances P.R. China November, 2009 1 Engagement Model for Differentiation Differentiated Products OEM/ODM requirements OEM Partners capture Connecting OEM/ODM to software solutions providers Software Partners Enable software and services vendors Ensure robust support of Semiconductor Partners key applications and capabilities Organization and rally the Open Source Community Open Source community Direct Open Source Common Foundation Contributions 2 Innovating with Open Source Software ARM contributions into open source upstream projects result in performance optimizations across the eco-system Example: ARM has optimized JIT code generation for JavaScript ARM Optimal JIT Code Key Contributions to One project positively work Generation 2.75X speedup* effects 6 key web technologies ActionScript JavaScript Virtual Machine Virtual Machine Web Web Browser Adobe Flash Applications Runtime Runtime Adobe AIR Firefox Browser Yahoo Widgets Fennec Mobile Browser Internet Application Reference code available on http://www.linux.onarm.com *Based on Sunspider benchmark Runtime 3 Linux Across the ARM Roadmap ARM Cortex “Low-Power Leadership” Contributing CPU support to Linux kernel Osprey for Cortex-A profiles x1-4 1.6GHz TSMC 40G… Cortex-A9 uClinux for Cortex-R & Cortex-A8 Cortex-M Profiles Validated with ARM x1-4 RealView reference Cortex-R4F Cortex-A5 boards Cortex-R4 Includes support for both ARM & Thumb-2 builds Performance, Functionality Performance, http://www.arm.com/linux SC300 Cortex-M3 http://www.linux-arm.org/git Cortex-M1 Cortex-M0 miniSwift Gate-level netlist 2006 2007 2008 2009 2010 4 Supporting Two Development Models Growing demand for native as well as cross target development Embedded Platforms Open Platforms MIDs, PDA, etc. Netbooks, Nettops, Servers, etc Resource constrained targets … Relatively closed products Native code development cycle Limited storage High-spec platform Build and test process Memory, MHz is relatively complex Easy to reconfigure and expand Cross-development model Access to disk storage Build on PC/x86, test on target platform or simulator 5 ARM Linux Internet Software Platform Leverages Nokia Maemo™ project Debian Linux as foundation GNOME components and Mozilla web browser Reference platform to validate integration of software components Support for ARMv6 and ARMv7 Facilitate common development across ARM reference platforms Provide builds to facilitate access and engagement with respective communities and projects Includes patches not yet mainlined Maintained code base and regular snapshots Website: http://linux.onarm.com 6 Java Standard Edition on ARM Java Standard Edition v6.10 (ARM) available from Sun since Q1 2009 For ARM Linux 2.6.22 and above Full Desktop Java for ARM Includes C1 Client Hotspot JIT Powers Java Applets in browser Powers many desktop apps Popular in Enterprise front-ends Java Micro Java Standard Java Card Edition Edition Windows Mobile Symbian OS ARM ARM Linux Linux ARM Architecture SecurCore ARM 9… ARM 11.. Cortex A… 7 OpenJDK (IcedTea) on ARM ARM is driving optimization via Ubuntu Built and tested with Ubuntu 9.04 Added optimized ARM Assembly interpreter for Ubuntu – 4x speedup OpenJDK optimizations in Karmic Accepted by Canonical Pushed upstream to IcedTea Free Open Source Java Complete implementation Java TCK compliant Java Micro Java Standard Java Card Edition Edition Windows Mobile Symbian OS ARM ARM Linux Linux ARM Architecture SecurCore ARM 9… ARM 11.. Cortex A… 8 JavaScript Acceleration 2009 was the year that JavaScript performance accelerated 4 Key Open Source Projects to accelerate JavaScript “TraceMonkey” – Mozilla Foundation “Tamarin”- Adobe “Squirrel Fish (Extreme)”- WebKit “V-8”- Google All accelerate JavaScript by compiling it to native code (JIT) Some yield up to 5X+ performance improvement Example: Factorial is faster than non-optimized C Multiple JavaScript engines to fit the need All Open Source Projects: benefit from each other! 9 Mozilla Firefox and Fennec Browsers Targets Smartbooks, Smartphones, DTV’s… ARM created enhanced “Tamarin” nano JIT code generator ARM created Cairo graphics optimizations using NEON ARM is working with Mozilla to add OpenGLES 2.0 Firefox 3.5 up to 2x faster* than Firefox 3.0 7x JavaScript improvement between Firefox 3.5. and 3.0 Uses ARM optimized JIT code generation Release schedule parity with Intel Firefox 3.6 Dec 2009 Fennec 1.0 scheduled for Nov 2009 Performance parity with Intel * Sunspider benchmark 10 Webkit - Advanced Browser Framework Webkit forms the basis for >6 browsers on ARM Webkit framework has 2 parts WebCore – supports different graphics libraries JavaScriptCore – supports different JavaScript Engines ARM is optimizing key libraries and engines skia 2D Graphics Squirrel Fish Nitro Squirrel Fish Cairo 2D Extreme Javascript Engine Graphics Google V8 Javascript Engine Javascript Engine Chrome Midori Safari QT Browser Browser Browser Symbian S60 Browser Browser Browser Framework 11 Skia Graphics Engine Optimizations Graphics core for both Chrome and Android Includes software implementation of OpenGLES1.1 (libagl) Will load a hardware accelerator if present (libhgl) ARM optimized Skia using NEON intrinsics (and assembler) Provides 10%-30% performance uplift on browser use cases OpenGL ES 2.0 API coming in Éclair NDK 12 Google Dalvik VM Optimizations Dalvik JIT announced publically at Google-IO May ’09 Today functional for Architecture 5T (ARM &Thumb) Google has asked ARM to engage on Dalvik open source project ARM has initially worked on interpreter improvements >10% Uplift ARM planning work on JIT contributions to code generation Thumb2 and Thumb-2 EE (as appropriate) 13 Google Chrome OS: Designed for ARM Core browser across Mobile, Desktop/Smartbook Implements HTML 5.0 standards including <Video> and <Canvas> Enables Google Apps for wide range of device form factors Rapid lifecycle (v3.0 in 1 year) for LARGE scale Web Apps ARM has provided training for the Chrome V8 Team ARM will contribute resource to improving V8 performance 14 Ubuntu Distribution on ARM Engaged with Canonical to produce Ubuntu Linux distribution in sync with other architectures Ubuntu 9.04 Jaunty version released in April’09 http://www.ubuntu.com/arm Used i.MX51 as reference platform for Jaunty release cycle Use the same process and release cycle as for x86 ‘Karmic’ October ’09 released! Built with ARMv6 ISA + VFP options Include support for additional HW Expands ARM Linux ecosystem Builds on Debian “armel” distribution Provide supported distributions with improved architectural support 15 Adobe Flash Player Technology The worlds most popular web Rich Content delivery vehicle 1 billion mobile phones predicted to run Flash Player in 2010 Vector & raster graphics Bi-directional audio & Execution of ActionScript rendering via software video streaming via programs via Tamarin and hardware engines Audio and Video codecs Central Virtual Machine Three core technology threads as part of Flash 16 OSP Technical Engagement & Output >100 Man years effort porting and optimizing Codec Optimization Tamarin Central JIT F10 Open GLES 2.0 Open Max IL Software Rendering Flash 10.1 17 Flash 10 Milestones 2008 2009 2010 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Tamarin VM Flash 10 in development for Optimizations various platforms SW Graphic Rendering Optimizations Adobe porting and certification HW Graphic Rendering partners Optimizations Adobe ARM Partnership SoC announced at Adobe Max Codec Approach enables partners to fully Optimizations utilize hardware capabilities of SoC and software platform Open Screen Project Integration announced! and QA Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 18 Summary ARM works with both the private and open source communities to enable optimized solutions for the broadest range of software ARM is working to ensure software support for the future of mobile computing 19 Thank You 20.