Cloud Foundry: Design and Architecture
Derek Collison discusses the goals, the design premises and patterns employed in creating the architecture of Cloud Foundry, VMware’s open source PaaS, unveiling internal architectural details.
The content has been bookmarked!
There was an error bookmarking this content! Please retry.
Posted by Abel Avram on Dec 05, 2011
Android is running mostly on ARM-based hardware, but there are attempts to bring it to other platforms. One of them is the well-known x86 platform used by many PCs and laptops, the other is MIPS, used in embedded systems mostly based on Linux, and lately on Android.
Intel showed Gingerbread running on an Atom Medfield device, scheduled for production during first half of 2012. Medfield is a 32 nm SoC that is supposed to be Intel’s x86 solution for smartphones/tablets, and Intel says it is more energy efficient than current ARM processors, but it is not clear how it compares with other ARM SoC solutions, such as Krait from Qualcomm, also planned to be delivered in H1/2012.
Alec Gefrides, running the Google Program Office, declared that they “had a version of Android 4.0 for Medfield up and running within a day of Google open sourcing the OS, and now packages for smartphones and tablets with Medfield drivers are available to device makers.” Gefrides added that the drivers will be open sourced when the respective devices will be available on the market in order to prevent Android fragmentation.
In the meantime, a group of enthusiasts led by Chih-Wei Huang have worked on porting various versions of Android to several x86 platforms. Some of the earlier ports have been deprecated, but others are available, including Gingerbread, Honeycomb and ICS. Huang ported Honeycomb to x86 by himself because Google did not open source the code at the time, but he had access to it since his company is a Google partner. Regarding ICS, they needed two weeks to create a partial port to AMD Brazos, but hardware video acceleration, sound, camera and Ethernet do not work yet. The main problem seems to be the lack of drivers. We have interview Huang to find out what it takes to port Android to another processor architecture and the status of ICS porting.
InfoQ: What is the status of ICS/x86? What has been done so far, and what still needs to be done?
CWH: We have ported the ICS android-4.0.1_r1 release to the x86 platform for several targets, and have released the source code to the public. However, except for the AMD Brazos platform, the other targets for the Intel platform don't really work due to a video chipset issue. We still have troubles to enable the hardware acceleration for an Intel video chipset. The WiFi and multitouch for some vendors should work. Sound, camera, Ethernet don't work yet.
We have tested GMS (Google apps like Gmail, Maps and Market) and some games like Defender and Fruit Slice. They work just fine.
InfoQ: Do you intend to port Android to other platforms beside AMD Brazos?
CWH: Sure. As said in the previous answer, we already did. However, there are some issues to be solved. I believe we can conqueror them in 1-2 weeks.
InfoQ: How much time and man power did you need to port Honeycomb? How much time do you think it is going to take to port ICS?
CWH: That depends on what the porting goal is. I had a hard time porting Honeycomb, since it was not open sourced before. Actually I worked for it almost alone in the past half a year. (I got the Honeycomb code since my company is a partner of Google, but I can't share it to others). Now ICS is open sourced, and it has better x86 support. We succeeded to bring it up to Brazos with hardware acceleration in two weeks. But there are still problems (as said above) to be solved. Since I only did it in my spare time it's hard to say when it can be finished. But I expect the open source community will help us and we can solve it more quicker than Honeycomb.
InfoQ: What are the main challenges in porting Android to x86?
CWH: Lack of developers. Actually the only active developer since June 2009 the project began is myself. We have over 2,600 subscribers in our mailing list,
but very few of them join the development. Some people joined and left since they don't have time or interest anymore. So some contributed targets
like st103t, Sparta [Android-x86 2.2 for Dell Inspiron Mini Duo], are not well-maintained. Fortunately, I have some good friends in the open source community who are good at some techniques and always willing to help me. For example, Chia-I Wu in the OpenGL ES porting and Benjamin in the touchscreen drivers. Most newbies join our forum to ask some questions without detailed information, so I usually can't help them. Even if they provide enough information, usually I don't have the device they use for testing and debugging, so problems remain unsolved. Besides, some vendors like Viewsonic and Insyde shipped Android-x86.org based products, but they never contributed back. That makes us feel sadly and angry. Intel doesn't care about us. They have their plan and develop their own Android version, but never released it to the public. That also makes us feel frustrated. AMD began to work with us recently. But they are still in a very early stage. Hope we can see more contributions from them in the future.
InfoQ: Are there plans from AMD or another company to use your port in production?
CWH: I think so. But usually they never let us know.
Regarding MIPS, the company has ported all previous versions of Android to its processor architecture, and plans to release a port of ICS by the middle of this month. Android 4.0 is based on Linux 3.0.8, and work on making this kernel work on MIPS is done, so it won’t take long to see ICS on their RISC platform.
It seems that Android is easily ported to other popular platforms, perhaps because of its Linux legacy. Intel seems determined to have chips running Android. If AMD enters the game, then Android will have consistent hardware support.
Building HTML5 Apps in Hours, Not Days
Adopting Git for the Enterprise: Risks and Considerations
Big Data, Cloud & Mobile: Navigate the New Development Reality with Resources from IBM
Taming HTML5 and JS: High Performance Mobile, WebKit, FireFox Dev Tools @QCon New York
Derek Collison discusses the goals, the design premises and patterns employed in creating the architecture of Cloud Foundry, VMware’s open source PaaS, unveiling internal architectural details.
Andrew Watson talks about the work of the OMG, where CORBA is alive and well (hint: in your car), UML and UML Profiles vs. custom Modeling languages, DDS and other middleware, and much more.
Sohil Shah discusses creating iPhone and Android enterprise mobile applications based on cloud services using the open source platform OpenMobster.
Paul Sanford presents the transformations supported by data throughout its life cycle, and how that can be better done with Splunk, an engine for monitoring and analyzing machine-generated data.
A common “best practice” for unit tests is to only write a one assertion in each test. I intend to question this advice by showing that multiple assertions per test are both necessary and beneficial.
John Rauser presents the architectural and technological evolution of Amazon retail websites starting with 1994 and ending with adopting Amazon Web Services.
Michael Stal discusses system architecture quality, how to avoid architectural erosion, how to deal with refactoring, and design principles for architecture evolution.
Every developer has had to integrate with another system, API or component. Tis article provides strategies to handle the change and for he separating system boundaries.
No comments
Watch Thread Reply