Andrea GalloSr Director, Linaro Enterprise Group
CloudOpen ConferenceARM’ed OpenStack Farm
▪ Global leader in the development of semiconductor IP▪ R&D outsourcing for semiconductor companies
▪ Innovative business model yields high margins▪ Upfront license fee – flexible licensing models▪ Ongoing royalties – typically based on a percentage of chip price▪ Technology reused across multiple applications
▪ Long-term, secular growth markets
ARM Introduction
Over 1100 licensesGrowing by ~100 every year
Nearly 350 potential royalty payers
10.4bn ARM-based chips in ‘13~20% CAGR over last 5 years
ARM-based servers on track▪ 16 licenses now signed for server
applications▪ 2013: Chip development▪ 2014: Software optimization accelerates▪ 2015: First production systems▪ 2018: ARM expects 10-15% share
of total server market
ARM Progress in ServersData Center Workloads are Changing
Today Next 3 Years 5 Years +
Largediscrete
tasks
• Linaro is a collaborative software engineering company funded by members
• Instead of duplicating effort for common open source software, competitors share development costs and software is built once
• The work is carried out in the open, tested and then upstreamed into the relevant open source projects: kernel.org, AOSP ...
Linaro Overview
CORE
COMMUNITY
GROUP
CLUB
● Linux 3.16 August 2014 ● 12,802 total patch sets
in this release● 186 known companies
contributed● Linaro is #4 company
contributor
Linux kernel contribution by company
Top Linux 3.16 Patchset Contributors by Company
1 Unknown/Hobbyists 3039 (23.74%)
2 Intel 1347 (10.52%)
3 Red Hat 1328 (10.37%)
4 Samsung 622 (4.86%)
5 Linaro 471 (3.68%)
6 IBM 409 (3.19%)
7 Texas Instruments 403 (3.15%)
8 Free Electrons 388 (3.03%)
9 Novell 379 (2.96%)
10 Renesas Electronics 270 (2.11%)
Source: http://www.remword.com/kps_result/3.16_whole.html
• The Linaro Enterprise Group (LEG) was formed e/o 2010 by fourteen companies• enable the ARM server ecosystem• share costs of the enablement engineering• focus on standards, avoid fragmentation• identify, test and optimise workloads and core libraries
Building the Ecosystem for ARM servers
http://www.linaro.org/projects/server/
Engineering (1): enablement
Engineering (2): workloads
it’s time for some cloud stuff now….
Platform as a Service (PaaS)
Infrastructure as a Service (IaaS)
Software as a Service (SaaS)
Platform as a Service (PaaS)
Infrastructure as a Service (IaaS)
Software as a Service (SaaS)
Database as a Service (DBaaS)
Mobile Backend as a service (MBaaS)
Logging as a Service (LaaS)
Desktop as a Service (DaaS)Data as a Service (DaaS)
Payments as a service (PaaS)
Security as a service (SECaaS)
Network as a service (NaaS) IT as a service (ITaaS)
Storage as a service (STaaS)
Location as a service (LaaS)
Recovery as a service (RaaS)
Mobility as a Service (MaaS)
Let’s start with one remote machine
Let’s add few more remote machines
It is not sustainable and not scaling
Let’s go back to one control point
Let’s add nodes now
We can now run multiple VM’s per node
We can run multiple runtimes per VM
And one or more apps per runtime
PaaS
SaaS
IaaS
It’s all ...as a Service
OpenStack logical architecture
http://docs.openstack.org/admin-guide-cloud/content/logical-architecture.html
OpenStack conceptual architecture
http://www.solinea.com/blog/openstack-grizzly-architecture-revisited
OpenStack software diagram
http://www.openstack.org/themes/openstack/images/openstack-software-diagram.png
OpenStack modules
http://www.ca.com/us/lpg/ca-technology-exchange/sunny-outlook-for-openstack-clouds.aspx
It’s running on ARM 64-bit now!
http://www.ca.com/us/lpg/ca-technology-exchange/sunny-outlook-for-openstack-clouds.aspx
It’s running on ARM 64-bit now!
• Long cooperation with Canonical and Red Hat engineers• Reusing pre-built DevStack packages from Ubuntu• Leveraging on LEG kernel and Linaro KVM work• running on real ARM 64-bit hardware, APM X-Gene• running all applicable Tempest tests
• Ongoing• PackStack packages from Fedora• libvirt on XEN
What’s the effort and cost?
let’s review few open source projects
let’s rely on ohloh.net and the co.co.mo. model
http://csse.usc.edu/csse/research/COCOMOII/cocomo_main.html
OpenStack: lines of code
OpenStack: commits per month
Hadoop: lines of code
Hadoop: commits per month
Linux Kernel: lines of code
Linux Kernel: commits per month
Chrome: lines of code
Chrome: commits per month
Comparison
Project SLOC (M) Commits/month Start date
OpenStack 2 3992 2010*
OpenJDK 8 5 983 2007
Hadoop 2.5 219 2006
mongoDB 0.6 500 2007
Linux Kernel 17 6000 2002
Google Chrome 8 5000 2008(*) 1st commit for OpenStack was in 2006 but really picked up in mid 2010
• OpenStack is still relatively small but growing as fast as the Linux Kernel itself…
What about OpenStack on ARM then?
a.k.a. percussive maintenance
Tapping the server with a hammer: $0.00.Knowing where to hit it: $5,000.00.
The Fonzarelli Fix
http://tvtropes.org/pmwiki/pmwiki.php/Main/PercussiveMaintenance
• nova: "Support setting a machine type to enable ARMv7/AArch64 guests to boot"http://git.openstack.org/cgit/openstack/nova/commit/?id=15d4f8a3af1b4e105d91e6b66d7b19187fbd41af
• libvirt: "AArch64: Add AArch64 architecture to list of valid arches."http://libvirt.org/git/?p=libvirt.git;a=commit;h=670c08afd461cba6164f7a8a643f5a5b41782e8d
• libvirt: "AArch64: Porting of armv7l conditons to run qemu for aarch64."http://libvirt.org/git/?p=libvirt.git;a=commit;h=27e32e0f3d4d5840cee7e361bdff94c68ae181e2
• libvirt: "AArch64: CPU Support for AArch64 (ARMv8 64bit)."http://libvirt.org/git/?p=libvirt.git;a=commit;h=5cb6816715968dc08486307bd1894dc91e22342c
• libvirt: "qemu: Add support for virt machine type with virtio-mmio devices on armv7"http://libvirt.org/git/?p=libvirt.git;a=commit;h=c7ccd2c44be99b81ffce29374faeab3d1644a151
Patches available upstream
LibVirt patches
Thanks to libvirt maintainer Cole Robinson at Red Hat for his support!
• nova: "Support setting a machine type to enable ARMv7/AArch64 guests to boot"http://git.openstack.org/cgit/openstack/nova/commit/?id=15d4f8a3af1b4e105d91e6b66d7b19187fbd41af
• libvirt: "AArch64: Add AArch64 architecture to list of valid arches."http://libvirt.org/git/?p=libvirt.git;a=commit;h=670c08afd461cba6164f7a8a643f5a5b41782e8d
• libvirt: "AArch64: Porting of armv7l conditons to run qemu for aarch64."http://libvirt.org/git/?p=libvirt.git;a=commit;h=27e32e0f3d4d5840cee7e361bdff94c68ae181e2
• libvirt: "AArch64: CPU Support for AArch64 (ARMv8 64bit)."http://libvirt.org/git/?p=libvirt.git;a=commit;h=5cb6816715968dc08486307bd1894dc91e22342c
• libvirt: "qemu: Add support for virt machine type with virtio-mmio devices on armv7"http://libvirt.org/git/?p=libvirt.git;a=commit;h=c7ccd2c44be99b81ffce29374faeab3d1644a151
• nova: "Support setting a machine type to enable ARMv7/AArch64 guests to boot"http://git.openstack.org/cgit/openstack/nova/commit/?id=15d4f8a3af1b4e105d91e6b66d7b19187fbd41af
OpenStack patches: only 114 lines in Nova
Thanks to Canonical engineers for their contribution!
• OpenStack is at the heart of the cloud revolution• OpenStack is well architectured and runs easily on ARM
• OpenStack is evolving at such a fast pace that you need help from the experts
• Linaro fosters the open source collaboration on ARM
• Canonical and Red Hat are Linaro partners and provide commercial support for product quality delivery
Summary
More about Linaro: http://www.linaro.org/about/Linaro members: www.linaro.org/members
Logo’s and pictures used in this presentation were downloaded from Google image searches.Any copyright holder can contact me and have their bitmap removed from my deck.