Mobile Execution Env


Published on

  • Be the first to comment

  • Be the first to like this

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Mobile Execution Env

  1. 1. Mobile Execution Environment Comparison and Impact versus
  2. 2. PC vs Mobile Topics <ul><li>Architecture comparison </li></ul><ul><li>Resource comparison </li></ul><ul><li>Impact on Mobile Application Architecture </li></ul><ul><li>Specialized HW Resources in Mobile </li></ul><ul><li>Next generation Architecture for Mobile </li></ul><ul><li>Meeting MID </li></ul>
  3. 3. PC Architecture
  4. 4. PC Architecture: Is It Enough? <ul><li>Few Key Enablers </li></ul><ul><ul><li>BIOS: Initial Boot and Standardized Low Level Chipset Control </li></ul></ul><ul><ul><li>SMPS: Power house for the chipset </li></ul></ul><ul><ul><li>RTC Chip: Time Keeper </li></ul></ul><ul><ul><li>RS232 Chips: Serial Port </li></ul></ul><ul><ul><li>Cooling Fans: For CPUs for GPUs </li></ul></ul><ul><ul><li>Keyboard </li></ul></ul><ul><ul><li>Monitor </li></ul></ul><ul><ul><li>Ethernet controller …. </li></ul></ul><ul><li>These are essential components for Making a “System” </li></ul><ul><ul><li>Some of these have a dedicated micro controller </li></ul></ul><ul><ul><li>Mostly Transparent to us and do not load processor </li></ul></ul>
  5. 5. Phone Architecture <ul><li>Three prevalent Architectures </li></ul><ul><ul><li>Entry Phone </li></ul></ul><ul><ul><li>Feature Phone </li></ul></ul><ul><ul><li>Multimedia Smartphone </li></ul></ul><ul><li>All of these are SOC (System On Chip) </li></ul><ul><li>All of them can be called multi-core as they have DSP </li></ul><ul><li>Multimedia Smartphone are typically Multiprocessor </li></ul>
  6. 6. Multimedia Smartphone © Copyright 1995-2008 Texas Instruments Incorporated.
  7. 7. Architecture Comparison <ul><li>PC Architecture is chipset based </li></ul><ul><ul><li>Standardize chipsets and peripherals </li></ul></ul><ul><ul><li>Pluggable On Board Peripherals </li></ul></ul><ul><ul><li>Hence can be upgraded very easily </li></ul></ul><ul><ul><li>Power Hungry </li></ul></ul><ul><li>Mobile Architecture </li></ul><ul><ul><li>SOC based with limited standardization </li></ul></ul><ul><ul><li>Most peripherals are on same silicon </li></ul></ul><ul><ul><li>Hence replacing/upgrading them is not possible </li></ul></ul><ul><ul><li>Architecture changes very fast across generations </li></ul></ul><ul><ul><li>Battery centric </li></ul></ul><ul><ul><li>Typically Single User </li></ul></ul>
  8. 8. Key Resource Comparison Key Resources Computer (Typical) Mobile (High End) Processor 2Ghz Dual Core SMP (Symmetric Multi Processing) or higher 200 Mhz to 600Mhz AMP (Asymmetric Multiprocessing) RAM 512MB or more with demand paging 32MB to 128MB , Virtual memory but no Demand Paging* Non Volatile Storage 100GB or more high speed disk Up-To 8GB NAND flash (2 GB is more prevalent case) Display 17” with 1024 X 800 resolution or more 2.5” to 3” with 320 X 240 resolution Connectivity <ul><li>High speed and reliable </li></ul><ul><li>Ethernet </li></ul><ul><li>WLAN </li></ul><ul><li>Low to High (up to 2Mpbs for 3G) but unreliable and patchy </li></ul><ul><li>GPRS (Edge) </li></ul><ul><li>UMTS </li></ul>Power Consumption High with limited backup Battery Operated and has to optimize consumption I/O Keyboard + Pointer Minimal keypad and Touch Screen
  9. 9. Impact on Application <ul><li>Processor: </li></ul><ul><ul><li>Direct Impact on what can be done </li></ul></ul><ul><ul><ul><li>many algorithms may not be handled in software </li></ul></ul></ul><ul><ul><ul><li>Compromise on performance not accepted </li></ul></ul></ul><ul><ul><li>Code Optimization is very important </li></ul></ul><ul><ul><ul><li>Un-optimized latencies become noticeable </li></ul></ul></ul><ul><ul><li>SW cannot become unresponsive </li></ul></ul><ul><ul><ul><li>no 100% CPU usage </li></ul></ul></ul><ul><ul><li>E.g. User Dialing 911 </li></ul></ul><ul><ul><ul><li>Key Strokes need to be handled and given to the telephony application </li></ul></ul></ul><ul><ul><ul><li>Call path needs to setup as quickly as possible </li></ul></ul></ul><ul><ul><ul><li>Can be compared to CTRL+ALT+DEL on PC that can become a bit unresponsive but here every second counts </li></ul></ul></ul>
  10. 10. Impact on Application Contd.. <ul><li>RAM </li></ul><ul><ul><li>No demand paging </li></ul></ul><ul><ul><ul><li>Restriction on amount of code </li></ul></ul></ul><ul><ul><ul><li>Amount of stack application can use </li></ul></ul></ul><ul><ul><ul><li>Limited heap space available to applications </li></ul></ul></ul><ul><ul><li>Limited number of process </li></ul></ul><ul><ul><ul><li>Applications in background are not guaranteed to execute forever </li></ul></ul></ul><ul><ul><ul><li>System can reclaim resource from background applications </li></ul></ul></ul><ul><ul><li>Limited number of instance of an applications </li></ul></ul><ul><ul><ul><li>Usually only one instance of an application </li></ul></ul></ul><ul><ul><li>Limited number of threads </li></ul></ul><ul><ul><ul><li>Each thread need stack </li></ul></ul></ul><ul><ul><ul><li>Results in programming model change </li></ul></ul></ul><ul><ul><ul><li>From predominantly Preemptive Multitasking to Co-operative Multi Tasking </li></ul></ul></ul><ul><ul><ul><li>In Co-operative we can have one thread and common message processing loop </li></ul></ul></ul><ul><ul><ul><li>And common stack </li></ul></ul></ul>
  11. 11. Impact on Application Contd.. <ul><li>Non Volatile Storage </li></ul><ul><ul><li>Flash based and usually low storage capability </li></ul></ul><ul><ul><li>Impacts amount of data which can be stored </li></ul></ul><ul><ul><ul><li>Mobile can play HD content but may not have space to store it </li></ul></ul></ul><ul><ul><ul><li>1 hour 720P content can be a couple of GB </li></ul></ul></ul><ul><ul><ul><li>Streaming becomes much more attractive option in this space </li></ul></ul></ul><ul><ul><li>Magnetic Disk not yet prevalent </li></ul></ul><ul><ul><ul><li>More power requirement </li></ul></ul></ul><ul><ul><ul><li>Moving parts make them damage prone </li></ul></ul></ul><ul><ul><ul><li>Weight and form factor is a concern </li></ul></ul></ul><ul><ul><li>Flash File Systems are complex </li></ul></ul><ul><ul><ul><li>Each IO is complicated set of operations </li></ul></ul></ul><ul><ul><ul><li>Flash memories inherently are slow </li></ul></ul></ul><ul><ul><ul><li>Flash memories not reliable </li></ul></ul></ul><ul><ul><ul><li>File write speed </li></ul></ul></ul><ul><ul><ul><ul><li>30 to 100KBps for NOR </li></ul></ul></ul></ul><ul><ul><ul><ul><li>500KBps to 2MBps for NAND </li></ul></ul></ul></ul><ul><ul><ul><ul><li>8 to 30MBps for MMC </li></ul></ul></ul></ul><ul><ul><ul><ul><li>No where near to a 7000 RPM disk  </li></ul></ul></ul></ul>
  12. 12. Impact on Application Contd.. <ul><li>Display </li></ul><ul><ul><li>17” means 289 sq-inch real estate </li></ul></ul><ul><ul><li>3” means 9 sq-inch real estate </li></ul></ul><ul><ul><li>Human eye can see only to resolve up-to certain size </li></ul></ul><ul><ul><ul><li>Helpful for anti-aliasing </li></ul></ul></ul><ul><ul><ul><li>But Limit the amount of content which can be shown on single screen </li></ul></ul></ul><ul><ul><ul><li>Elements drawn cannot be smaller beyond an extent </li></ul></ul></ul><ul><ul><li>Less number of pixels to draw </li></ul></ul><ul><ul><ul><li>Reduce processing  </li></ul></ul></ul><ul><ul><ul><li>But again limit the number of visible features can be drawn </li></ul></ul></ul><ul><ul><li>Mobile App UI will be typically single window </li></ul></ul><ul><ul><ul><li>Only one window in foreground </li></ul></ul></ul><ul><ul><ul><li>Only Foreground App to be active (RAM constraint) </li></ul></ul></ul><ul><ul><li>UI Design for this space needs completely different perspective </li></ul></ul><ul><ul><ul><li>Zoom feature which is rarely used on PC becomes vital here </li></ul></ul></ul>
  13. 13. Impact on Applications Contd.. <ul><li>Connectivity: </li></ul><ul><ul><li>For PC stable high speed connectivity assumed </li></ul></ul><ul><ul><li>Not true for mobile, here its highly dependent on Radio conditions, Location and Mobility speed </li></ul></ul><ul><ul><li>There can be frequent connection loss </li></ul></ul><ul><ul><li>Need intelligent QoS adaptation </li></ul></ul><ul><ul><li>Need Fast reconnect </li></ul></ul><ul><ul><li>Need content adaptation to meet fluctuating network pipe </li></ul></ul><ul><li>Power Consumption </li></ul><ul><ul><li>Mobile have special mechanism for handling power </li></ul></ul><ul><ul><li>Application should try minimize CPU use </li></ul></ul><ul><ul><ul><li>using DMA instead of memcpy for data buffers </li></ul></ul></ul><ul><ul><ul><li>Not only important for performance but for power also </li></ul></ul></ul><ul><ul><li>No Busy loops </li></ul></ul><ul><ul><ul><li>Use mostly asynchronous programming </li></ul></ul></ul><ul><ul><li>No Periodic polling </li></ul></ul><ul><ul><ul><li>Prefer event based programming </li></ul></ul></ul><ul><ul><ul><li>Silverlight has periodic polling  </li></ul></ul></ul>
  14. 14. Impact on Applications Contd.. <ul><li>I/O </li></ul><ul><ul><li>Limited keyboard, hence limited text input </li></ul></ul><ul><ul><ul><li>Strict no to complicated key sequence </li></ul></ul></ul><ul><ul><li>Lack of pointer </li></ul></ul><ul><ul><ul><li>certain events like mouseOver doesn't make sense </li></ul></ul></ul><ul><ul><li>New events to support for touch </li></ul></ul><ul><ul><ul><li>Tapped once </li></ul></ul></ul><ul><ul><ul><li>Tapped twice </li></ul></ul></ul><ul><ul><ul><li>Stroke in certain Direction - Gestures </li></ul></ul></ul><ul><ul><ul><li>Multi-Touch </li></ul></ul></ul>
  15. 15. Other Key Points… <ul><li>Mobiles are Single User Equipment </li></ul><ul><li>Viewed as gadget or Appliance </li></ul><ul><ul><li>PC has view of Software and Hardware as two products </li></ul></ul><ul><li>Error in base software typically means field return </li></ul><ul><ul><li>Unlike PC where machine is decoupled from Software </li></ul></ul>
  16. 16. Why worry for Mobile at all? <ul><li>Unit sales will grow from 11.7% of PC sales in 2002 to 27% of PC sales in 2008. </li></ul><ul><li>Worldwide Multimedia Smartphone revenue will grow from $4.3B in 2000 and $5.4B in 2002 to over $18B in 2008. </li></ul><ul><li>Compared to the PC market, Multimedia Smartphone revenue will increase from 2.3% of worldwide PC revenue in 2002 to nearly 5.4% in 2008. </li></ul><ul><li>Yearly sales are projected to surpass 17M in 2008 Annual growth rate of 17.8% between 2002 and 2008.&quot; </li></ul>Worldwide PDA & Smartphone Forecasts Report: 1998-2008. eTForecasts 2003.
  17. 17. Why think about anything other then Windows? <ul><li>Symbian OS from Symbian Ltd. had 65% Market Share Sales Q4 2007. </li></ul><ul><li>Windws Mobile from Microsoft had 12% Market Share Sales Q4 2007. </li></ul><ul><li>RIM Blackberry operating system had11% Market Share Sales Q4 2007. </li></ul><ul><li>iPhone OS from Apple Inc had 7% Market Share Sales Q4 2007 </li></ul><ul><li>Linux OS had 5% Market Share Sales Q4 2007 </li></ul><ul><li>Palm OS (developed by PalmSource) is now a subsidiary of Access. </li></ul>
  18. 18. … And That’s Not All <ul><li>Smart phone is only 20% of market </li></ul><ul><li>Market dominated by Feature Phones and Low End Phone </li></ul><ul><li>Execution environment even more restrictive </li></ul><ul><ul><li>S30 runs on 320KB RAM and 4 MB ROM!! (But its entry phone) </li></ul></ul><ul><li>Feature Phone Space is Quite interesting </li></ul><ul><ul><li>Sufficient Multimedia Capability </li></ul></ul><ul><ul><ul><li>2 to 5 MP Camera </li></ul></ul></ul><ul><ul><ul><li>HW Accelerators to a certain extent </li></ul></ul></ul><ul><ul><li>Sufficient Connectivity Capability </li></ul></ul><ul><ul><li>Typically Proprietary RTOS </li></ul></ul><ul><ul><li>E.G. S40 from Nokia & P2K from Motorola </li></ul></ul><ul><li>Scalable and Optimized architecture will enable access to this space </li></ul><ul><ul><li>With out having fragmentation like Flash-Lite </li></ul></ul>
  19. 19. Specialized HW resource (Which PC may not have) <ul><li>Location Service (Mandatory in US for 911) </li></ul><ul><ul><li>Accurate through GPS </li></ul></ul><ul><ul><li>Rough through Cellular network </li></ul></ul><ul><li>Camera </li></ul><ul><ul><li>Capable of high resolution still or video recording </li></ul></ul><ul><li>Security Device </li></ul><ul><ul><li>In form of a SIM </li></ul></ul><ul><li>Battery Source </li></ul><ul><ul><li>Always present </li></ul></ul><ul><li>HW Accelerator </li></ul><ul><ul><li>For Multimedia </li></ul></ul><ul><ul><li>Cryptography </li></ul></ul><ul><ul><li>Security </li></ul></ul>
  20. 20. ..and its Impact <ul><li>The Programming environment should expose access to these HW for application design </li></ul><ul><ul><li>Android expose all of them </li></ul></ul><ul><li>HW Accelerator Impact </li></ul><ul><ul><li>May meet performance and functionality of standard use cases </li></ul></ul><ul><ul><li>But are inflexible and may be hard to implement certain non standard use cases </li></ul></ul>
  21. 21. Evolution in Multimedia Capabilities Source:
  22. 22. Next Generation Architecture <ul><li>Multi core with SMP…. </li></ul><ul><li>With improving data pipe may be more web centric </li></ul><ul><ul><li>Reduces processing on phone </li></ul></ul><ul><ul><li>Helps in reducing power consumption </li></ul></ul><ul><li>Multi Media capability for standard use cases to be extremely good </li></ul><ul><ul><li>Full HD 1080p at 60 fps </li></ul></ul><ul><li>Power Management to be even more complex </li></ul>
  23. 23. Meeting MID… <ul><li>Bigger then Phone but Smaller then Laptop </li></ul><ul><ul><li>5” to 7” screen with WVGA resolution </li></ul></ul><ul><ul><li>Mostly touch screen with no Keyboard </li></ul></ul><ul><li>Application constraints in between </li></ul><ul><ul><li>Power requirements as stringent </li></ul></ul><ul><ul><li>Storage can be up-to 100GB mini disk </li></ul></ul><ul><ul><li>There can be all the HW accelerators like Phone available </li></ul></ul><ul><ul><li>May support multi-window applications </li></ul></ul><ul><ul><li>Content can be same as PC content </li></ul></ul><ul><ul><li>However Zoom feature is desirable here also </li></ul></ul><ul><li><<Show Archos-705>> </li></ul>
  24. 24. Q&A