SlideShare una empresa de Scribd logo
1 de 56
Descargar para leer sin conexión
Enabling Server Class Workloads 
for ARM Servers 
11th November 2014 - Andrea Gallo
ARM Progress in Servers 
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 
Data Center Workloads are Changing 
Today Next 3 Years 5 Years + 
Large 
discrete 
tasks
Linaro Overview 
● 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, Gnu, Fedora, Ubuntu, 
OpenJDK etc.
Linaro Organization 
● Founded 2010 
● Now 30 members 
● $50M annual revenue 
● >200 OSS engineers 
● Global footprint 
Technical Steering Committee (TSC) 
Office of the CTO (OCTO) 
Enterprise Group (LEG) 
16 companies 
Platform Engineering 
Builds & Baselines 
QA Services 
Systems 
LAVA Lab 
Field Engineering 
Digital Home Group (LHG) 
8 companies 
Mobile Group (LMG) 
10 companies 
Networking Group (LNG) 
12 companies 
Core Development 
Kernel 
Power Management 
Security 
Virtualization 
Product Technology 
LAVA Software Linaro Stable Kernel (LSK) Toolchain 
Member 
Services 
Club/Core 
Services 
Linaro Developer 
Technical Support 
(LDTS)
Confidential 
CORE 
CLUB 
GROUP 
COMMUNITY
Linux Kernel Upstreaming 
● Linux 3.17 October 2014 
● 12,353 total patch sets 
in this release 
● 180 known companies 
contributed 
● Linaro is #4 company 
contributor; in top 5 for last 
8 kernel versions (since 3.10) 
Top Linux 3.17 Patchset Contributors by Company 
1 Unknown/Hobbyists 3705 (30.00%) 
2 Intel 1261 (10.21%) 
3 Red Hat 980 (7.93%) 
4 Samsung 491 (3.97%) 
5 Linaro 412 (3.34%) 
6 Vision Engraving & Routing 393 (3.18%) 
7 Novell 326 (2.64%) 
8 Texas Instruments 306 (2.48%) 
9 Renesas Electronics 263 (2.13%) 
10 Google 227 (1.84%) 
Source: http://www.remword.com/kps_result/3.17_whole.html
Linaro Projects
Linaro Segment Groups 
Digital Home - LHG Mobile - LMG Networking - LNG Enterprise - LEG 
Confidential 
● OSS for the digital home 
● W3C EME Secure 
Media playback for 
RDK and Android 
● Middleware and user-space 
stack 
● DRM, DLNA, CVP-2, 
HTML5 
● LSK kernel version for 
STB/IPTV 
● Common media 
frameworks 
● OSS for mobile devices 
● Android 64 bit, “L” 
● big.LITTLE power 
management 
● QEMU based Android 
development 
● 64-bit Chromium browser 
● Support members, 
ARM and Google 
Android development 
● OSS for networking 
● Real Time Support 
● Virtualization 
● Core isolation 
● OpenDataPlane (ODP) 
● Big-endian legacy support 
● ODP cross-platform 
support for SoC 
accelerators 
● OSS for ARM servers 
● UEFI/ACPI 
● KVM/Xen 
● ARMv8 optimization 
● OpenJDK, Hadoop, 
OpenStack 
● Reduces fragmentation, 
cost, accelerates time to 
market
Linaro Enterprise Group (LEG) 
● Formed in November 2012 
● enable the ARM server ecosystem 
● share costs of the enablement 
engineering 
● focus on standards, avoid 
fragmentation 
● identify, test and optimise 
workloads and core libraries 
http://wiki.linaro.org/LEG
Engineering (1): enablement 
● All patches already upstream or under deep constructive review 
● Strong engagement with all maintainers
Engineering (2): workloads
Engineering I 
● LEG projects agreed and prioritized by LEG Steering Committee 
● One representative per member, plus Linaro LEG Director 
● ARM Boot Architecture 
● ARM Server Base System Architecture; ACPI, UEFI, Grub; ARM Trusted firmware 
● KVM and Xen Virtualization 
● Stable ARM kernel version based on upstream 
● LAMP Stack optimization 
● HDFS CRC, LibTBB, CRC, Hugepages, OpenSSL 
● Facebook HipHop JIT 
● High performance OpenJDK for ARMv8 with C1 and C2 JIT
Engineering II 
● Middleware and user-space stack testing 
● Hadoop, OpenStack, Ceph 
● Testing through multinode CI validation in LAVA 
● ARMv8 Ubuntu, Fedora/Red Hat and OpenStack builds 
● LEG also works with Linaro core working groups and can request 
resources through the Linaro Technical Steering Committee (TSC) 
● ARMv8 64 bit toolchain optimization 
● Multi-core power management 
● Security and Secure boot using Trustzone and 
ARM Trusted Firmware
Achievements (1) 
● UEFI 
● Aligned ARM Tianocore to other architectures, boot as an EFI application, runtime 
services, pass ACPI tables from firmware, support for SMBIOS 3.0 
● Support GRUB and network boot 
● Ported GNUEFI to build EFI apps easily 
● Verified Tianocore Secure boot and ported the Shim layer to ARM 
● Ported UEFI to EL1 as a guest in KVM/QEMU hypervisor (ongoing for Xen) 
● Established a monthly UEFI release rebased on Tianocore EDK2 + all Linaro patches, 
tested with UEFI SCT suite 
● ACPI 
● Ported ACPICA core kernel support and tools to ARM 
● Ported key ARM core peripherals to ACPI 
● Able to boot ARM FVP, Juno, AMD Seattle and Cavium Thunder-X model via ACPI 
● Developed a PCC driver to support the new CPPC power management model 
● Ported all reference test suites to ARM, e.g. FWTS, ACPI API test, ACPI ASL test, etc. 
● Releasing an updated LEG ACPI kernel for every new weekly kernel 3.xx-rc
Achievements (2) 
● OpenJDK 
● Excellent cooperation with Red Hat on OpenJDK C1 and C2 JIT 
● Driven by OpenJDK8, backported to OpenJDK7 and being forward ported to 
OpenJDK9 
● On par with x86 as JIT performance vs interpreted code 
● Close to 10,000 tests executed every night: Mauve, JTREG, JCStress, SPECjbb2013 
● Hadoop TeraSort and Jenkins as functional testing workloads 
● Optimisations for the LAMP Webserver workload 
● ARMv8 assembly tuning for OpenSSL, CRC32, etc. up to 5x-16x speed up 
● Hugepages, fast_gup, etc. 
● OpenStack 
● Built OpenStack on ARMv8 with KVM/QEMU (ongoing for Xen) 
● Running the Tempest test suite and the Rally benchmarking suite 
● Functional test deploying multiple VM’s to run Java JTREG testing in parallel 
● Early proof of concept with Docker and Go
it’s time for some cloud and server stuff now….
Platform as a Service (PaaS) 
Software as a Service (SaaS) 
Infrastructure as a Service (IaaS)
Mobility as a Service (MaaS) 
Mobile Backend as a service (MBaaS) 
Database as a Service (DBaaS) 
Logging as a Service (LaaS) 
Location as a service (LaaS) 
Platform as a Service (PaaS) 
Payments as a service (PaaS) 
Software as a Service (SaaS) 
Data as a Service (DaaS) Desktop as a Service (DaaS) 
Infrastructure as a Service (IaaS) 
Network as a service (NaaS) IT as a service (ITaaS) 
Security as a service (SECaaS) 
Storage as a service (STaaS) 
Recovery as a service (RaaS)
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
It’s all ...as a Service 
SaaS 
PaaS 
IaaS
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 and HP Moonshot 
● Running all applicable Tempest tests 
● Ongoing 
● PackStack packages from Fedora 
● libvirt running on XEN
OpenJDK on ARMv8 
● AARCH64 port of OpenJDK 
● Based on same codebase as x86 OpenJDK 
● 95%+ code in common with Oracle JDK 
● Same relative C2 vs interpreter JIT performance within a few % as Oracle JDK 
● Goal is to track all x86 optimisations / features 
● No support for ARMv7 or earlier or for 32 bit on ARMv8 
● Three releases are supported: JDK7, JDK8 and JDK9
CI and nightly tests 
Server results 
from Aug 22 
2014 
ARM64 x86 
Pass Fail Error Pass Fail Error 
Hotspot 562 2 0 562 2 0 
langtools 3004 0 11 2979 0 25 
JDK 5283 181 46 5273 232 5 
Totals 8849 183 57 8814 234 30
Hadoop Testing / Optimisation 
● Daily native build of Hadoop from source 
● Daily benchmark testing 
● Client and server run of Terasort to test for performance regression 
● Single node testing only. 
● Looking at multinode testing 
● Optimisation focused on optimising OpenJDK for Hadoop 
● +24% improvement since FCS release in April 
● Some optimisation on Hadoop directly 
● CRC optimisation using SIMD 
● Pushed to list but not yet adopted upstream
Demonstrated at LCU14: 
OpenStack running OpenJDK JTREG testing with Jenkins 
OpenStack 
Cloud Controller 
LXC 0..3 
Compute Node 0 
Compute Node 1
Demo Overview 
● 3x APM Mustang systems running Ubuntu Trusty 14.04 
● All services deployed with juju 
● Mustang 01 as cloud controller and jenkins master with LXC 
● Mustang 02 and 03 as OpenStack compute nodes with KVM 
● Run a subset of the OpenJDK JTREG test regression harness 
● jenkins dynamically provisions SIX VM’s instances via OpenStack on Mustang 2 and 3 
● the VM’s are destroyed upon test completion
What’s the effort and cost to port OpenStack? 
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?
The Fonzarelli Fix 
a.k.a. percussive maintenance 
Tapping the server with a hammer: $0.00. 
Knowing where to hit it: $5,000.00. 
http://tvtropes.org/pmwiki/pmwiki.php/Main/PercussiveMaintenance
Patches available upstream 
● 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
LibVirt patches 
● 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 
Thanks to libvirt maintainer Cole Robinson at Red Hat 
for his support!
OpenStack patches: only 114 lines in Nova 
● nova: "Support setting a machine type to enable ARMv7/AArch64 guests to boot" 
http://git.openstack.org/cgit/openstack/nova/commit/?id=15d4f8a3af1b4e105d91e6b66d7b19187fbd41af 
Thanks to Canonical engineers 
for their contribution!
Deployment 
Ready 
Software 
Developer ARMv8 Server Cluster to Accelerate 
Deployment-ready Software 
Operating 
System 
Vendors 
+ + 
Open 
Source 
Community 
Independent 
Software 
Vendors 
www.linaro.org/leg/servercluster/
Summary 
● OpenStack is at the heart of the cloud revolution 
● All workloads run well on Linaro ARMv8 foundations 
● Linaro fosters the open source collaboration on ARM
More about Linaro: www.linaro.org/about/ 
Linaro members: www.linaro.org/members

Más contenido relacionado

La actualidad más candente

OpenDaylight: an open source SDN for your OpenStack cloud
OpenDaylight: an open source SDN for your OpenStack cloudOpenDaylight: an open source SDN for your OpenStack cloud
OpenDaylight: an open source SDN for your OpenStack cloudAnees Shaikh
 
OpenContrail Cloudwatt Feedback
OpenContrail Cloudwatt FeedbackOpenContrail Cloudwatt Feedback
OpenContrail Cloudwatt Feedbackethuleau
 
Improving Network Application Performance using Load Aware Libeventdev
Improving Network Application Performance using Load Aware LibeventdevImproving Network Application Performance using Load Aware Libeventdev
Improving Network Application Performance using Load Aware LibeventdevMichelle Holley
 
OpenStack and the Transformation of the Data Center - Lew Tucker
OpenStack and the Transformation of the Data Center - Lew TuckerOpenStack and the Transformation of the Data Center - Lew Tucker
OpenStack and the Transformation of the Data Center - Lew TuckerLew Tucker
 
VMware ESXi - Intel and Qlogic NIC throughput difference v0.6
VMware ESXi - Intel and Qlogic NIC throughput difference v0.6VMware ESXi - Intel and Qlogic NIC throughput difference v0.6
VMware ESXi - Intel and Qlogic NIC throughput difference v0.6David Pasek
 
Red Hat presentatie: Open stack Latest Pure Tech
Red Hat presentatie: Open stack Latest Pure TechRed Hat presentatie: Open stack Latest Pure Tech
Red Hat presentatie: Open stack Latest Pure TechProxyServices
 
Open daylight and Openstack
Open daylight and OpenstackOpen daylight and Openstack
Open daylight and OpenstackDave Neary
 
OVN: Scaleable Virtual Networking for Open vSwitch
OVN: Scaleable Virtual Networking for Open vSwitchOVN: Scaleable Virtual Networking for Open vSwitch
OVN: Scaleable Virtual Networking for Open vSwitchmestery
 
Opensource approach to design and deployment of Microservices based VNF
Opensource approach to design and deployment of Microservices based VNFOpensource approach to design and deployment of Microservices based VNF
Opensource approach to design and deployment of Microservices based VNFMichelle Holley
 
Canonical ubuntu introduction_20170330
Canonical ubuntu introduction_20170330Canonical ubuntu introduction_20170330
Canonical ubuntu introduction_20170330Takaaki Suzuki
 
HKG15-110: ODP Project Update
HKG15-110: ODP Project UpdateHKG15-110: ODP Project Update
HKG15-110: ODP Project UpdateLinaro
 
Deploying OpenDaylight and OpenStack at Ease
Deploying OpenDaylight and OpenStack at EaseDeploying OpenDaylight and OpenStack at Ease
Deploying OpenDaylight and OpenStack at EaseMichelle Holley
 
OpenStack Neutron: What's New In Kilo and a Look Toward Liberty
OpenStack Neutron: What's New In Kilo and a Look Toward LibertyOpenStack Neutron: What's New In Kilo and a Look Toward Liberty
OpenStack Neutron: What's New In Kilo and a Look Toward Libertymestery
 
June Boston openStack Summit: Preparing quantum for the data center
June Boston openStack Summit: Preparing quantum for the data centerJune Boston openStack Summit: Preparing quantum for the data center
June Boston openStack Summit: Preparing quantum for the data centerKamesh Pemmaraju
 
LCU14 310- Cisco ODP v2
LCU14 310- Cisco ODP v2LCU14 310- Cisco ODP v2
LCU14 310- Cisco ODP v2Linaro
 
OpenStack and OpenDaylight: An Integrated IaaS for SDN/NFV
OpenStack and OpenDaylight: An Integrated IaaS for SDN/NFVOpenStack and OpenDaylight: An Integrated IaaS for SDN/NFV
OpenStack and OpenDaylight: An Integrated IaaS for SDN/NFVCloud Native Day Tel Aviv
 
Introduction to the Helium release of OpenDaylight
Introduction to the Helium release of OpenDaylightIntroduction to the Helium release of OpenDaylight
Introduction to the Helium release of OpenDaylightSDN Hub
 
[OpenStack Days Korea 2016] Track3 - OpenStack on 64-bit ARM with X-Gene
[OpenStack Days Korea 2016] Track3 - OpenStack on 64-bit ARM with X-Gene[OpenStack Days Korea 2016] Track3 - OpenStack on 64-bit ARM with X-Gene
[OpenStack Days Korea 2016] Track3 - OpenStack on 64-bit ARM with X-GeneOpenStack Korea Community
 

La actualidad más candente (20)

OpenDaylight: an open source SDN for your OpenStack cloud
OpenDaylight: an open source SDN for your OpenStack cloudOpenDaylight: an open source SDN for your OpenStack cloud
OpenDaylight: an open source SDN for your OpenStack cloud
 
OpenContrail Cloudwatt Feedback
OpenContrail Cloudwatt FeedbackOpenContrail Cloudwatt Feedback
OpenContrail Cloudwatt Feedback
 
OpenDaylight OpenStack Integration
OpenDaylight OpenStack IntegrationOpenDaylight OpenStack Integration
OpenDaylight OpenStack Integration
 
The Open vSwitch and OVN Projects
The Open vSwitch and OVN ProjectsThe Open vSwitch and OVN Projects
The Open vSwitch and OVN Projects
 
Improving Network Application Performance using Load Aware Libeventdev
Improving Network Application Performance using Load Aware LibeventdevImproving Network Application Performance using Load Aware Libeventdev
Improving Network Application Performance using Load Aware Libeventdev
 
OpenStack and the Transformation of the Data Center - Lew Tucker
OpenStack and the Transformation of the Data Center - Lew TuckerOpenStack and the Transformation of the Data Center - Lew Tucker
OpenStack and the Transformation of the Data Center - Lew Tucker
 
VMware ESXi - Intel and Qlogic NIC throughput difference v0.6
VMware ESXi - Intel and Qlogic NIC throughput difference v0.6VMware ESXi - Intel and Qlogic NIC throughput difference v0.6
VMware ESXi - Intel and Qlogic NIC throughput difference v0.6
 
Red Hat presentatie: Open stack Latest Pure Tech
Red Hat presentatie: Open stack Latest Pure TechRed Hat presentatie: Open stack Latest Pure Tech
Red Hat presentatie: Open stack Latest Pure Tech
 
Open daylight and Openstack
Open daylight and OpenstackOpen daylight and Openstack
Open daylight and Openstack
 
OVN: Scaleable Virtual Networking for Open vSwitch
OVN: Scaleable Virtual Networking for Open vSwitchOVN: Scaleable Virtual Networking for Open vSwitch
OVN: Scaleable Virtual Networking for Open vSwitch
 
Opensource approach to design and deployment of Microservices based VNF
Opensource approach to design and deployment of Microservices based VNFOpensource approach to design and deployment of Microservices based VNF
Opensource approach to design and deployment of Microservices based VNF
 
Canonical ubuntu introduction_20170330
Canonical ubuntu introduction_20170330Canonical ubuntu introduction_20170330
Canonical ubuntu introduction_20170330
 
HKG15-110: ODP Project Update
HKG15-110: ODP Project UpdateHKG15-110: ODP Project Update
HKG15-110: ODP Project Update
 
Deploying OpenDaylight and OpenStack at Ease
Deploying OpenDaylight and OpenStack at EaseDeploying OpenDaylight and OpenStack at Ease
Deploying OpenDaylight and OpenStack at Ease
 
OpenStack Neutron: What's New In Kilo and a Look Toward Liberty
OpenStack Neutron: What's New In Kilo and a Look Toward LibertyOpenStack Neutron: What's New In Kilo and a Look Toward Liberty
OpenStack Neutron: What's New In Kilo and a Look Toward Liberty
 
June Boston openStack Summit: Preparing quantum for the data center
June Boston openStack Summit: Preparing quantum for the data centerJune Boston openStack Summit: Preparing quantum for the data center
June Boston openStack Summit: Preparing quantum for the data center
 
LCU14 310- Cisco ODP v2
LCU14 310- Cisco ODP v2LCU14 310- Cisco ODP v2
LCU14 310- Cisco ODP v2
 
OpenStack and OpenDaylight: An Integrated IaaS for SDN/NFV
OpenStack and OpenDaylight: An Integrated IaaS for SDN/NFVOpenStack and OpenDaylight: An Integrated IaaS for SDN/NFV
OpenStack and OpenDaylight: An Integrated IaaS for SDN/NFV
 
Introduction to the Helium release of OpenDaylight
Introduction to the Helium release of OpenDaylightIntroduction to the Helium release of OpenDaylight
Introduction to the Helium release of OpenDaylight
 
[OpenStack Days Korea 2016] Track3 - OpenStack on 64-bit ARM with X-Gene
[OpenStack Days Korea 2016] Track3 - OpenStack on 64-bit ARM with X-Gene[OpenStack Days Korea 2016] Track3 - OpenStack on 64-bit ARM with X-Gene
[OpenStack Days Korea 2016] Track3 - OpenStack on 64-bit ARM with X-Gene
 

Destacado

Openstack Benelux Conference 2014 Red Hat Keynote
Openstack Benelux Conference 2014  Red Hat KeynoteOpenstack Benelux Conference 2014  Red Hat Keynote
Openstack Benelux Conference 2014 Red Hat KeynoteMicrosoft
 
2010 11 psa montreal explanation and fundamentalism
2010 11 psa montreal explanation and fundamentalism2010 11 psa montreal explanation and fundamentalism
2010 11 psa montreal explanation and fundamentalismIoan Muntean
 
LAS16-301: OpenStack on Aarch64, running in production, upstream improvements...
LAS16-301: OpenStack on Aarch64, running in production, upstream improvements...LAS16-301: OpenStack on Aarch64, running in production, upstream improvements...
LAS16-301: OpenStack on Aarch64, running in production, upstream improvements...Linaro
 
HKG15-405: Redundant zero/sign-extension elimination in GCC
HKG15-405: Redundant zero/sign-extension elimination in GCCHKG15-405: Redundant zero/sign-extension elimination in GCC
HKG15-405: Redundant zero/sign-extension elimination in GCCLinaro
 
BKK16-304 The State of GDB on AArch64
BKK16-304 The State of GDB on AArch64BKK16-304 The State of GDB on AArch64
BKK16-304 The State of GDB on AArch64Linaro
 
BKK16-305B ILP32 Performance on AArch64
BKK16-305B ILP32 Performance on AArch64BKK16-305B ILP32 Performance on AArch64
BKK16-305B ILP32 Performance on AArch64Linaro
 
BKK16-504 Running Linux in EL2 Virtualization
BKK16-504 Running Linux in EL2 VirtualizationBKK16-504 Running Linux in EL2 Virtualization
BKK16-504 Running Linux in EL2 VirtualizationLinaro
 
LCE12: LCE12 ARMv8 Plenary
LCE12: LCE12 ARMv8 PlenaryLCE12: LCE12 ARMv8 Plenary
LCE12: LCE12 ARMv8 PlenaryLinaro
 
HKG15-400: Next steps in KVM enablement on ARM
HKG15-400: Next steps in KVM enablement on ARMHKG15-400: Next steps in KVM enablement on ARM
HKG15-400: Next steps in KVM enablement on ARMLinaro
 
Dave Gilbert - KVM and QEMU
Dave Gilbert - KVM and QEMUDave Gilbert - KVM and QEMU
Dave Gilbert - KVM and QEMUDanny Abukalam
 
Linux on ARM 64-bit Architecture
Linux on ARM 64-bit ArchitectureLinux on ARM 64-bit Architecture
Linux on ARM 64-bit ArchitectureRyo Jin
 
GCC for ARMv8 Aarch64
GCC for ARMv8 Aarch64GCC for ARMv8 Aarch64
GCC for ARMv8 Aarch64Yi-Hsiu Hsu
 
LAS16-500: The Rise and Fall of Assembler and the VGIC from Hell
LAS16-500: The Rise and Fall of Assembler and the VGIC from HellLAS16-500: The Rise and Fall of Assembler and the VGIC from Hell
LAS16-500: The Rise and Fall of Assembler and the VGIC from HellLinaro
 
Introduction to armv8 aarch64
Introduction to armv8 aarch64Introduction to armv8 aarch64
Introduction to armv8 aarch64Yi-Hsiu Hsu
 
Tree of quantum_mechanics2
Tree of quantum_mechanics2Tree of quantum_mechanics2
Tree of quantum_mechanics2thambaji
 
The britannica guide to relativity and quantum mechanics (physics explained)
The britannica guide to relativity and quantum mechanics (physics explained) The britannica guide to relativity and quantum mechanics (physics explained)
The britannica guide to relativity and quantum mechanics (physics explained) أحمد عبد القادر
 
SFO15-407: Performance Overhead of ARM Virtualization
SFO15-407: Performance Overhead of ARM VirtualizationSFO15-407: Performance Overhead of ARM Virtualization
SFO15-407: Performance Overhead of ARM VirtualizationLinaro
 
LAS16-200: SCMI - System Management and Control Interface
LAS16-200:  SCMI - System Management and Control InterfaceLAS16-200:  SCMI - System Management and Control Interface
LAS16-200: SCMI - System Management and Control InterfaceLinaro
 
Q4.11: Sched_mc on dual / quad cores
Q4.11: Sched_mc on dual / quad coresQ4.11: Sched_mc on dual / quad cores
Q4.11: Sched_mc on dual / quad coresLinaro
 

Destacado (20)

Openstack Benelux Conference 2014 Red Hat Keynote
Openstack Benelux Conference 2014  Red Hat KeynoteOpenstack Benelux Conference 2014  Red Hat Keynote
Openstack Benelux Conference 2014 Red Hat Keynote
 
ARM-KVM: Weather Report
ARM-KVM: Weather ReportARM-KVM: Weather Report
ARM-KVM: Weather Report
 
2010 11 psa montreal explanation and fundamentalism
2010 11 psa montreal explanation and fundamentalism2010 11 psa montreal explanation and fundamentalism
2010 11 psa montreal explanation and fundamentalism
 
LAS16-301: OpenStack on Aarch64, running in production, upstream improvements...
LAS16-301: OpenStack on Aarch64, running in production, upstream improvements...LAS16-301: OpenStack on Aarch64, running in production, upstream improvements...
LAS16-301: OpenStack on Aarch64, running in production, upstream improvements...
 
HKG15-405: Redundant zero/sign-extension elimination in GCC
HKG15-405: Redundant zero/sign-extension elimination in GCCHKG15-405: Redundant zero/sign-extension elimination in GCC
HKG15-405: Redundant zero/sign-extension elimination in GCC
 
BKK16-304 The State of GDB on AArch64
BKK16-304 The State of GDB on AArch64BKK16-304 The State of GDB on AArch64
BKK16-304 The State of GDB on AArch64
 
BKK16-305B ILP32 Performance on AArch64
BKK16-305B ILP32 Performance on AArch64BKK16-305B ILP32 Performance on AArch64
BKK16-305B ILP32 Performance on AArch64
 
BKK16-504 Running Linux in EL2 Virtualization
BKK16-504 Running Linux in EL2 VirtualizationBKK16-504 Running Linux in EL2 Virtualization
BKK16-504 Running Linux in EL2 Virtualization
 
LCE12: LCE12 ARMv8 Plenary
LCE12: LCE12 ARMv8 PlenaryLCE12: LCE12 ARMv8 Plenary
LCE12: LCE12 ARMv8 Plenary
 
HKG15-400: Next steps in KVM enablement on ARM
HKG15-400: Next steps in KVM enablement on ARMHKG15-400: Next steps in KVM enablement on ARM
HKG15-400: Next steps in KVM enablement on ARM
 
Dave Gilbert - KVM and QEMU
Dave Gilbert - KVM and QEMUDave Gilbert - KVM and QEMU
Dave Gilbert - KVM and QEMU
 
Linux on ARM 64-bit Architecture
Linux on ARM 64-bit ArchitectureLinux on ARM 64-bit Architecture
Linux on ARM 64-bit Architecture
 
GCC for ARMv8 Aarch64
GCC for ARMv8 Aarch64GCC for ARMv8 Aarch64
GCC for ARMv8 Aarch64
 
LAS16-500: The Rise and Fall of Assembler and the VGIC from Hell
LAS16-500: The Rise and Fall of Assembler and the VGIC from HellLAS16-500: The Rise and Fall of Assembler and the VGIC from Hell
LAS16-500: The Rise and Fall of Assembler and the VGIC from Hell
 
Introduction to armv8 aarch64
Introduction to armv8 aarch64Introduction to armv8 aarch64
Introduction to armv8 aarch64
 
Tree of quantum_mechanics2
Tree of quantum_mechanics2Tree of quantum_mechanics2
Tree of quantum_mechanics2
 
The britannica guide to relativity and quantum mechanics (physics explained)
The britannica guide to relativity and quantum mechanics (physics explained) The britannica guide to relativity and quantum mechanics (physics explained)
The britannica guide to relativity and quantum mechanics (physics explained)
 
SFO15-407: Performance Overhead of ARM Virtualization
SFO15-407: Performance Overhead of ARM VirtualizationSFO15-407: Performance Overhead of ARM Virtualization
SFO15-407: Performance Overhead of ARM Virtualization
 
LAS16-200: SCMI - System Management and Control Interface
LAS16-200:  SCMI - System Management and Control InterfaceLAS16-200:  SCMI - System Management and Control Interface
LAS16-200: SCMI - System Management and Control Interface
 
Q4.11: Sched_mc on dual / quad cores
Q4.11: Sched_mc on dual / quad coresQ4.11: Sched_mc on dual / quad cores
Q4.11: Sched_mc on dual / quad cores
 

Similar a 20141111_SOS3_Gallo

LCU14 Keynote by George Grey
LCU14 Keynote by George GreyLCU14 Keynote by George Grey
LCU14 Keynote by George GreyLinaro
 
Red Hat Java Update and Quarkus Introduction
Red Hat Java Update and Quarkus IntroductionRed Hat Java Update and Quarkus Introduction
Red Hat Java Update and Quarkus IntroductionJohn Archer
 
USENIX LISA15: How TubeMogul Handles over One Trillion HTTP Requests a Month
USENIX LISA15: How TubeMogul Handles over One Trillion HTTP Requests a MonthUSENIX LISA15: How TubeMogul Handles over One Trillion HTTP Requests a Month
USENIX LISA15: How TubeMogul Handles over One Trillion HTTP Requests a MonthNicolas Brousse
 
[OpenStack Day in Korea 2015] Track 1-6 - 갈라파고스의 이구아나, 인프라에 오픈소스를 올리다. 그래서 보이...
[OpenStack Day in Korea 2015] Track 1-6 - 갈라파고스의 이구아나, 인프라에 오픈소스를 올리다. 그래서 보이...[OpenStack Day in Korea 2015] Track 1-6 - 갈라파고스의 이구아나, 인프라에 오픈소스를 올리다. 그래서 보이...
[OpenStack Day in Korea 2015] Track 1-6 - 갈라파고스의 이구아나, 인프라에 오픈소스를 올리다. 그래서 보이...OpenStack Korea Community
 
What_s_New_in_OpenShift_Container_Platform_4.6.pdf
What_s_New_in_OpenShift_Container_Platform_4.6.pdfWhat_s_New_in_OpenShift_Container_Platform_4.6.pdf
What_s_New_in_OpenShift_Container_Platform_4.6.pdfchalermpany
 
Seminar Accelerating Business Using Microservices Architecture in Digital Age...
Seminar Accelerating Business Using Microservices Architecture in Digital Age...Seminar Accelerating Business Using Microservices Architecture in Digital Age...
Seminar Accelerating Business Using Microservices Architecture in Digital Age...PT Datacomm Diangraha
 
Workday's Next Generation Private Cloud
Workday's Next Generation Private CloudWorkday's Next Generation Private Cloud
Workday's Next Generation Private CloudSilvano Buback
 
Testing kubernetes and_open_shift_at_scale_20170209
Testing kubernetes and_open_shift_at_scale_20170209Testing kubernetes and_open_shift_at_scale_20170209
Testing kubernetes and_open_shift_at_scale_20170209mffiedler
 
Xpdays: Kubernetes CI-CD Frameworks Case Study
Xpdays: Kubernetes CI-CD Frameworks Case StudyXpdays: Kubernetes CI-CD Frameworks Case Study
Xpdays: Kubernetes CI-CD Frameworks Case StudyDenys Vasyliev
 
ONUG Tutorial: Bridges and Tunnels Drive Through OpenStack Networking
ONUG Tutorial: Bridges and Tunnels Drive Through OpenStack NetworkingONUG Tutorial: Bridges and Tunnels Drive Through OpenStack Networking
ONUG Tutorial: Bridges and Tunnels Drive Through OpenStack Networkingmarkmcclain
 
Webinar: OpenEBS - Still Free and now FASTEST Kubernetes storage
Webinar: OpenEBS - Still Free and now FASTEST Kubernetes storageWebinar: OpenEBS - Still Free and now FASTEST Kubernetes storage
Webinar: OpenEBS - Still Free and now FASTEST Kubernetes storageMayaData Inc
 
OpenShift 4 installation
OpenShift 4 installationOpenShift 4 installation
OpenShift 4 installationRobert Bohne
 
Como creamos QuestDB Cloud, un SaaS basado en Kubernetes alrededor de QuestDB...
Como creamos QuestDB Cloud, un SaaS basado en Kubernetes alrededor de QuestDB...Como creamos QuestDB Cloud, un SaaS basado en Kubernetes alrededor de QuestDB...
Como creamos QuestDB Cloud, un SaaS basado en Kubernetes alrededor de QuestDB...javier ramirez
 
OSDC 2018 | Highly Available Cloud Foundry on Kubernetes by Cornelius Schumacher
OSDC 2018 | Highly Available Cloud Foundry on Kubernetes by Cornelius SchumacherOSDC 2018 | Highly Available Cloud Foundry on Kubernetes by Cornelius Schumacher
OSDC 2018 | Highly Available Cloud Foundry on Kubernetes by Cornelius SchumacherNETWAYS
 
Using Kubernetes to make cellular data plans cheaper for 50M users
Using Kubernetes to make cellular data plans cheaper for 50M usersUsing Kubernetes to make cellular data plans cheaper for 50M users
Using Kubernetes to make cellular data plans cheaper for 50M usersMirantis
 
Sven Vogel: Running CloudStack and OpenShift with NetApp on KVM
Sven Vogel: Running CloudStack and OpenShift with NetApp on KVMSven Vogel: Running CloudStack and OpenShift with NetApp on KVM
Sven Vogel: Running CloudStack and OpenShift with NetApp on KVMShapeBlue
 
Coscup2018 itri android-in-cloud
Coscup2018 itri android-in-cloudCoscup2018 itri android-in-cloud
Coscup2018 itri android-in-cloudTian-Jian Wu
 

Similar a 20141111_SOS3_Gallo (20)

LCU14 Keynote by George Grey
LCU14 Keynote by George GreyLCU14 Keynote by George Grey
LCU14 Keynote by George Grey
 
Red Hat Java Update and Quarkus Introduction
Red Hat Java Update and Quarkus IntroductionRed Hat Java Update and Quarkus Introduction
Red Hat Java Update and Quarkus Introduction
 
USENIX LISA15: How TubeMogul Handles over One Trillion HTTP Requests a Month
USENIX LISA15: How TubeMogul Handles over One Trillion HTTP Requests a MonthUSENIX LISA15: How TubeMogul Handles over One Trillion HTTP Requests a Month
USENIX LISA15: How TubeMogul Handles over One Trillion HTTP Requests a Month
 
[OpenStack Day in Korea 2015] Track 1-6 - 갈라파고스의 이구아나, 인프라에 오픈소스를 올리다. 그래서 보이...
[OpenStack Day in Korea 2015] Track 1-6 - 갈라파고스의 이구아나, 인프라에 오픈소스를 올리다. 그래서 보이...[OpenStack Day in Korea 2015] Track 1-6 - 갈라파고스의 이구아나, 인프라에 오픈소스를 올리다. 그래서 보이...
[OpenStack Day in Korea 2015] Track 1-6 - 갈라파고스의 이구아나, 인프라에 오픈소스를 올리다. 그래서 보이...
 
What_s_New_in_OpenShift_Container_Platform_4.6.pdf
What_s_New_in_OpenShift_Container_Platform_4.6.pdfWhat_s_New_in_OpenShift_Container_Platform_4.6.pdf
What_s_New_in_OpenShift_Container_Platform_4.6.pdf
 
Seminar Accelerating Business Using Microservices Architecture in Digital Age...
Seminar Accelerating Business Using Microservices Architecture in Digital Age...Seminar Accelerating Business Using Microservices Architecture in Digital Age...
Seminar Accelerating Business Using Microservices Architecture in Digital Age...
 
Workday's Next Generation Private Cloud
Workday's Next Generation Private CloudWorkday's Next Generation Private Cloud
Workday's Next Generation Private Cloud
 
Testing kubernetes and_open_shift_at_scale_20170209
Testing kubernetes and_open_shift_at_scale_20170209Testing kubernetes and_open_shift_at_scale_20170209
Testing kubernetes and_open_shift_at_scale_20170209
 
IBM Power8 announce
IBM Power8 announceIBM Power8 announce
IBM Power8 announce
 
Xpdays: Kubernetes CI-CD Frameworks Case Study
Xpdays: Kubernetes CI-CD Frameworks Case StudyXpdays: Kubernetes CI-CD Frameworks Case Study
Xpdays: Kubernetes CI-CD Frameworks Case Study
 
State of the OpenDaylight Union
State of the OpenDaylight UnionState of the OpenDaylight Union
State of the OpenDaylight Union
 
State of ARM-based HPC
State of ARM-based HPCState of ARM-based HPC
State of ARM-based HPC
 
ONUG Tutorial: Bridges and Tunnels Drive Through OpenStack Networking
ONUG Tutorial: Bridges and Tunnels Drive Through OpenStack NetworkingONUG Tutorial: Bridges and Tunnels Drive Through OpenStack Networking
ONUG Tutorial: Bridges and Tunnels Drive Through OpenStack Networking
 
Webinar: OpenEBS - Still Free and now FASTEST Kubernetes storage
Webinar: OpenEBS - Still Free and now FASTEST Kubernetes storageWebinar: OpenEBS - Still Free and now FASTEST Kubernetes storage
Webinar: OpenEBS - Still Free and now FASTEST Kubernetes storage
 
OpenShift 4 installation
OpenShift 4 installationOpenShift 4 installation
OpenShift 4 installation
 
Como creamos QuestDB Cloud, un SaaS basado en Kubernetes alrededor de QuestDB...
Como creamos QuestDB Cloud, un SaaS basado en Kubernetes alrededor de QuestDB...Como creamos QuestDB Cloud, un SaaS basado en Kubernetes alrededor de QuestDB...
Como creamos QuestDB Cloud, un SaaS basado en Kubernetes alrededor de QuestDB...
 
OSDC 2018 | Highly Available Cloud Foundry on Kubernetes by Cornelius Schumacher
OSDC 2018 | Highly Available Cloud Foundry on Kubernetes by Cornelius SchumacherOSDC 2018 | Highly Available Cloud Foundry on Kubernetes by Cornelius Schumacher
OSDC 2018 | Highly Available Cloud Foundry on Kubernetes by Cornelius Schumacher
 
Using Kubernetes to make cellular data plans cheaper for 50M users
Using Kubernetes to make cellular data plans cheaper for 50M usersUsing Kubernetes to make cellular data plans cheaper for 50M users
Using Kubernetes to make cellular data plans cheaper for 50M users
 
Sven Vogel: Running CloudStack and OpenShift with NetApp on KVM
Sven Vogel: Running CloudStack and OpenShift with NetApp on KVMSven Vogel: Running CloudStack and OpenShift with NetApp on KVM
Sven Vogel: Running CloudStack and OpenShift with NetApp on KVM
 
Coscup2018 itri android-in-cloud
Coscup2018 itri android-in-cloudCoscup2018 itri android-in-cloud
Coscup2018 itri android-in-cloud
 

20141111_SOS3_Gallo

  • 1. Enabling Server Class Workloads for ARM Servers 11th November 2014 - Andrea Gallo
  • 2. ARM Progress in Servers 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 Data Center Workloads are Changing Today Next 3 Years 5 Years + Large discrete tasks
  • 3. Linaro Overview ● 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, Gnu, Fedora, Ubuntu, OpenJDK etc.
  • 4. Linaro Organization ● Founded 2010 ● Now 30 members ● $50M annual revenue ● >200 OSS engineers ● Global footprint Technical Steering Committee (TSC) Office of the CTO (OCTO) Enterprise Group (LEG) 16 companies Platform Engineering Builds & Baselines QA Services Systems LAVA Lab Field Engineering Digital Home Group (LHG) 8 companies Mobile Group (LMG) 10 companies Networking Group (LNG) 12 companies Core Development Kernel Power Management Security Virtualization Product Technology LAVA Software Linaro Stable Kernel (LSK) Toolchain Member Services Club/Core Services Linaro Developer Technical Support (LDTS)
  • 5. Confidential CORE CLUB GROUP COMMUNITY
  • 6. Linux Kernel Upstreaming ● Linux 3.17 October 2014 ● 12,353 total patch sets in this release ● 180 known companies contributed ● Linaro is #4 company contributor; in top 5 for last 8 kernel versions (since 3.10) Top Linux 3.17 Patchset Contributors by Company 1 Unknown/Hobbyists 3705 (30.00%) 2 Intel 1261 (10.21%) 3 Red Hat 980 (7.93%) 4 Samsung 491 (3.97%) 5 Linaro 412 (3.34%) 6 Vision Engraving & Routing 393 (3.18%) 7 Novell 326 (2.64%) 8 Texas Instruments 306 (2.48%) 9 Renesas Electronics 263 (2.13%) 10 Google 227 (1.84%) Source: http://www.remword.com/kps_result/3.17_whole.html
  • 8. Linaro Segment Groups Digital Home - LHG Mobile - LMG Networking - LNG Enterprise - LEG Confidential ● OSS for the digital home ● W3C EME Secure Media playback for RDK and Android ● Middleware and user-space stack ● DRM, DLNA, CVP-2, HTML5 ● LSK kernel version for STB/IPTV ● Common media frameworks ● OSS for mobile devices ● Android 64 bit, “L” ● big.LITTLE power management ● QEMU based Android development ● 64-bit Chromium browser ● Support members, ARM and Google Android development ● OSS for networking ● Real Time Support ● Virtualization ● Core isolation ● OpenDataPlane (ODP) ● Big-endian legacy support ● ODP cross-platform support for SoC accelerators ● OSS for ARM servers ● UEFI/ACPI ● KVM/Xen ● ARMv8 optimization ● OpenJDK, Hadoop, OpenStack ● Reduces fragmentation, cost, accelerates time to market
  • 9. Linaro Enterprise Group (LEG) ● Formed in November 2012 ● enable the ARM server ecosystem ● share costs of the enablement engineering ● focus on standards, avoid fragmentation ● identify, test and optimise workloads and core libraries http://wiki.linaro.org/LEG
  • 10. Engineering (1): enablement ● All patches already upstream or under deep constructive review ● Strong engagement with all maintainers
  • 12. Engineering I ● LEG projects agreed and prioritized by LEG Steering Committee ● One representative per member, plus Linaro LEG Director ● ARM Boot Architecture ● ARM Server Base System Architecture; ACPI, UEFI, Grub; ARM Trusted firmware ● KVM and Xen Virtualization ● Stable ARM kernel version based on upstream ● LAMP Stack optimization ● HDFS CRC, LibTBB, CRC, Hugepages, OpenSSL ● Facebook HipHop JIT ● High performance OpenJDK for ARMv8 with C1 and C2 JIT
  • 13. Engineering II ● Middleware and user-space stack testing ● Hadoop, OpenStack, Ceph ● Testing through multinode CI validation in LAVA ● ARMv8 Ubuntu, Fedora/Red Hat and OpenStack builds ● LEG also works with Linaro core working groups and can request resources through the Linaro Technical Steering Committee (TSC) ● ARMv8 64 bit toolchain optimization ● Multi-core power management ● Security and Secure boot using Trustzone and ARM Trusted Firmware
  • 14. Achievements (1) ● UEFI ● Aligned ARM Tianocore to other architectures, boot as an EFI application, runtime services, pass ACPI tables from firmware, support for SMBIOS 3.0 ● Support GRUB and network boot ● Ported GNUEFI to build EFI apps easily ● Verified Tianocore Secure boot and ported the Shim layer to ARM ● Ported UEFI to EL1 as a guest in KVM/QEMU hypervisor (ongoing for Xen) ● Established a monthly UEFI release rebased on Tianocore EDK2 + all Linaro patches, tested with UEFI SCT suite ● ACPI ● Ported ACPICA core kernel support and tools to ARM ● Ported key ARM core peripherals to ACPI ● Able to boot ARM FVP, Juno, AMD Seattle and Cavium Thunder-X model via ACPI ● Developed a PCC driver to support the new CPPC power management model ● Ported all reference test suites to ARM, e.g. FWTS, ACPI API test, ACPI ASL test, etc. ● Releasing an updated LEG ACPI kernel for every new weekly kernel 3.xx-rc
  • 15. Achievements (2) ● OpenJDK ● Excellent cooperation with Red Hat on OpenJDK C1 and C2 JIT ● Driven by OpenJDK8, backported to OpenJDK7 and being forward ported to OpenJDK9 ● On par with x86 as JIT performance vs interpreted code ● Close to 10,000 tests executed every night: Mauve, JTREG, JCStress, SPECjbb2013 ● Hadoop TeraSort and Jenkins as functional testing workloads ● Optimisations for the LAMP Webserver workload ● ARMv8 assembly tuning for OpenSSL, CRC32, etc. up to 5x-16x speed up ● Hugepages, fast_gup, etc. ● OpenStack ● Built OpenStack on ARMv8 with KVM/QEMU (ongoing for Xen) ● Running the Tempest test suite and the Rally benchmarking suite ● Functional test deploying multiple VM’s to run Java JTREG testing in parallel ● Early proof of concept with Docker and Go
  • 16. it’s time for some cloud and server stuff now….
  • 17. Platform as a Service (PaaS) Software as a Service (SaaS) Infrastructure as a Service (IaaS)
  • 18. Mobility as a Service (MaaS) Mobile Backend as a service (MBaaS) Database as a Service (DBaaS) Logging as a Service (LaaS) Location as a service (LaaS) Platform as a Service (PaaS) Payments as a service (PaaS) Software as a Service (SaaS) Data as a Service (DaaS) Desktop as a Service (DaaS) Infrastructure as a Service (IaaS) Network as a service (NaaS) IT as a service (ITaaS) Security as a service (SECaaS) Storage as a service (STaaS) Recovery as a service (RaaS)
  • 19. Let’s start with one remote machine
  • 20. Let’s add few more remote machines
  • 21. It is not sustainable and not scaling
  • 22. Let’s go back to one control point
  • 24. We can now run multiple VM’s per node
  • 25. We can run multiple runtimes per VM
  • 26. And one or more apps per runtime
  • 27. It’s all ...as a Service SaaS PaaS IaaS
  • 28. OpenStack logical architecture http://docs.openstack.org/admin-guide-cloud/content/logical-architecture. html
  • 29. OpenStack conceptual architecture http://www.solinea.com/blog/openstack-grizzly-architecture-revisited
  • 30. OpenStack software diagram http://www.openstack.org/themes/openstack/images/openstack-software-diagram.png
  • 32. It’s running on ARM 64-bit now! http://www.ca.com/us/lpg/ca-technology-exchange/sunny-outlook-for-openstack-clouds.aspx
  • 33. 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 and HP Moonshot ● Running all applicable Tempest tests ● Ongoing ● PackStack packages from Fedora ● libvirt running on XEN
  • 34. OpenJDK on ARMv8 ● AARCH64 port of OpenJDK ● Based on same codebase as x86 OpenJDK ● 95%+ code in common with Oracle JDK ● Same relative C2 vs interpreter JIT performance within a few % as Oracle JDK ● Goal is to track all x86 optimisations / features ● No support for ARMv7 or earlier or for 32 bit on ARMv8 ● Three releases are supported: JDK7, JDK8 and JDK9
  • 35. CI and nightly tests Server results from Aug 22 2014 ARM64 x86 Pass Fail Error Pass Fail Error Hotspot 562 2 0 562 2 0 langtools 3004 0 11 2979 0 25 JDK 5283 181 46 5273 232 5 Totals 8849 183 57 8814 234 30
  • 36. Hadoop Testing / Optimisation ● Daily native build of Hadoop from source ● Daily benchmark testing ● Client and server run of Terasort to test for performance regression ● Single node testing only. ● Looking at multinode testing ● Optimisation focused on optimising OpenJDK for Hadoop ● +24% improvement since FCS release in April ● Some optimisation on Hadoop directly ● CRC optimisation using SIMD ● Pushed to list but not yet adopted upstream
  • 37. Demonstrated at LCU14: OpenStack running OpenJDK JTREG testing with Jenkins OpenStack Cloud Controller LXC 0..3 Compute Node 0 Compute Node 1
  • 38. Demo Overview ● 3x APM Mustang systems running Ubuntu Trusty 14.04 ● All services deployed with juju ● Mustang 01 as cloud controller and jenkins master with LXC ● Mustang 02 and 03 as OpenStack compute nodes with KVM ● Run a subset of the OpenJDK JTREG test regression harness ● jenkins dynamically provisions SIX VM’s instances via OpenStack on Mustang 2 and 3 ● the VM’s are destroyed upon test completion
  • 39. What’s the effort and cost to port OpenStack? 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
  • 48. 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…
  • 49. What about OpenStack on ARM then?
  • 50. The Fonzarelli Fix a.k.a. percussive maintenance Tapping the server with a hammer: $0.00. Knowing where to hit it: $5,000.00. http://tvtropes.org/pmwiki/pmwiki.php/Main/PercussiveMaintenance
  • 51. Patches available upstream ● 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
  • 52. LibVirt patches ● 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 Thanks to libvirt maintainer Cole Robinson at Red Hat for his support!
  • 53. OpenStack patches: only 114 lines in Nova ● nova: "Support setting a machine type to enable ARMv7/AArch64 guests to boot" http://git.openstack.org/cgit/openstack/nova/commit/?id=15d4f8a3af1b4e105d91e6b66d7b19187fbd41af Thanks to Canonical engineers for their contribution!
  • 54. Deployment Ready Software Developer ARMv8 Server Cluster to Accelerate Deployment-ready Software Operating System Vendors + + Open Source Community Independent Software Vendors www.linaro.org/leg/servercluster/
  • 55. Summary ● OpenStack is at the heart of the cloud revolution ● All workloads run well on Linaro ARMv8 foundations ● Linaro fosters the open source collaboration on ARM
  • 56. More about Linaro: www.linaro.org/about/ Linaro members: www.linaro.org/members