Understanding Intel's Android 4.0 x86 Optimizationsby Anand Lal Shimpi on November 9, 2011 8:42 PM EST
- Posted in
- Ice Cream Sandwich
Earlier this week Computer World published a story about Intel adding x86 optimizations to the Ice Cream Sandwich release of Android (4.0). The story itself was fine but a quote in the article was a bit confusing:
"Ice Cream Sandwich includes OS optimization for x86, so Intel architecture-based devices can support it," said Suzy Greenberg, an Intel spokeswoman.
This statement was taken by many to assume that Intel had somehow done some optimization to Ice Cream Sandwich, however that can't be true as it flies in the face of what we know about how Google operates.
For each major Android release, Google first and foremost chooses a device OEM (e.g. Samsung for ICS, Motorola for Honeycomb). Together with the device OEM, Google selects components to be used for this Android launch vehicle - including the SoC. All of the SoC players bid. The selection process is a bit mystified however it seems that Google takes into account how well you did last time in picking you for the next round. Deliver killer performance on or ahead of schedule? Good for you. Let schedule slip or force Google to push back its launch? There may not be a next time. That's oversimplifying it a bit but you get the drift.
Only Google, the OEM selected and the SoC parter get access to the next Android code at this point. The rest of Google's partners are free to work on the Android Open Source Project (AOSP), but they don't get access to the new version of Android until it's added to the project.
For Ice Cream Sandwich, only Google and Samsung have access to the source. Sometime very soon, ICS will be added to the AOSP and then all of the SoC guys get to have at it. But where does this leave Intel and the statement above about ICS including OS optimization for x86?
It's not as exciting as it sounds.
Intel has been contributing x86 patches to the AOSP and Google's internal developer branch for the past two years. Today if you're to download Android, you can build a version that should run on x86 just fine. All of Intel's x86 support should be included as of Android 2.3.7.
When Google goes about developing a new version of Android, it takes the current AOSP and branches off from there. Any patches/optimizations that have been committed at the point of the branch make their way into the next version of Android. See where I'm going?
Any patches/optimizations, including those by Intel, that were present at the time of the branch made their way into ICS. Therefore, ICS does technically include OS optimization for x86.
Intel doesn't have access to ICS, nor is it any closer than all of the other SoC vendors to putting out an optimized ICS build. When ICS is open sourced, Intel along with NVIDIA, Samsung, Qualcomm, et al. will begin work on optimizing the OS for their platforms.
Post Your CommentPlease log in or sign up to comment.
View All Comments
deadmeats - Wednesday, November 9, 2011 - link"This statement was taken by many to assume that Intel had somehow done some optimization to Ice Cream Sandwich, however that can't be true as it flies in the face of what we know about how Google operates."
Just because you have an idea of how something/someone operates doesn't mean it is the absolute truth. Exceptions and exemptions happen.
However, granting without accepting, just because Intel mentioned that it includes optimization doesn't mean it is confusing. I guess it is indeed pretty slow in the tech world, to see this kind of post...
Abix - Wednesday, November 9, 2011 - linkRelax nerd.
StevoLincolnite - Wednesday, November 9, 2011 - linkCalling someone a nerd on a tech website? Pot meet Kettle.
ciparis - Thursday, November 10, 2011 - linkI didn't think it was a derogatory reference.
Iketh - Thursday, November 10, 2011 - linkWhat is the purpose of your post?
JumpingJack - Wednesday, November 9, 2011 - linkAt the last IDF, Intel announced a strategic collaboration with Google as I recall. It is likely Google is about to pull a Microsoft and ensure support for both major ISAs.
jjj - Thursday, November 10, 2011 - linkThat's in theory,in practice Intel could have convinced Google to help a bit more just like they "convinced" Google to use Intel in Chromebooks and Google TV.
Guspaz - Thursday, November 10, 2011 - linktl;dr: It wasn't Intel convincing them. ARM wasn't ready for ChromeOS at the time, and if ChromeOS had happened a year later, ARM would have been a viable option for google.
I don't think it was as much that Intel convinced them to use x86 in the Chromebook, more that the software stack for desktop Linux on ARM (including Chrome itself) wasn't quite ready, and the hardware side meant that performance wasn't quite up to par with the Atom yet.
Modern day ARM chips are similar to Atom in performance. The Cortex A9 is clock-for-clock a bit faster than an Atom, so today's fastest ARM chips are on-par with the best Atoms, and stuff that's about to come out (like Tegra 3 in the Transformer Prime next month) is significantly faster than any Atom.
Problem is, when the first chromebook came out a year ago, there weren't even any dual-core ARM SoCs available; the LG Optimus 2X was the first, and it came out after the Google CR-48.
ChromeOS does still support ARM, and they've continued working on it. You can run Chromium OS on a Pandaboard or other ARM dev board right now. I expect we'll probably see some ARM Chromebooks in the not-so-distant future, if Chromebooks do well.
ssnkumar - Monday, June 16, 2014 - linkHi,
Can you please let me know, how to build ChromiumOs for PandaBoard?
danwat12345 - Sunday, November 13, 2011 - linkWhat are x86 optimizations? Doesn't android have to be completely re-compiled into x86 instructions in order to work on an x86 processor? I don't think you can just patch a ARM compiled Android Operating System with bits of x86 code amidst the ARM instructions! Unless your talking about an emulation layer?