SlideShare una empresa de Scribd logo
1 de 41
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Anthony Liguori, Sr. Principal Engineer, EC2
AWS Webinar
The Nitro Project: Next-Generation EC2 Infrastructure
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Introductions
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Agenda
 What is the Nitro Project and how does it relate to AWS C5?
 Background on virtualization
 The evolution of the Nitro Project
 Compatibility
 What’s next
 Q&A
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
What is Nitro?
From the C5 launch:
Q. What is the new hypervisor for Amazon EC2?
The new hypervisor for Amazon EC2, introduced with the launch of C5 instances, is a component that primarily
provides CPU and memory isolation for C5 instances. VPC networking and EBS storage resources are
implemented by dedicated hardware components that are part of all current generation EC2 instance families. It
is built on core Linux Kernel-based Virtual Machine (KVM) technology, but does not include general purpose
operating system components.
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
What is Nitro?
From the C5 launch:
Q. What is the new hypervisor for Amazon EC2?
The new hypervisor for Amazon EC2, introduced with the launch of C5 instances, is a component that primarily
provides CPU and memory isolation for C5 instances. VPC networking and EBS storage resources are
implemented by dedicated hardware components that are part of all current generation EC2 instance families. It
is built on core Linux Kernel-based Virtual Machine (KVM) technology, but does not include general purpose
operating system components.
The Nitro Hypervisor is the “new hypervisor,” but more than just a hypervisor
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Stepping back...
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Virtualization
<_start>:
e9 59 e1 17 00 jmpq ffff82d08037e15e
0f 1f 00 nopl (%rax)
<multiboot1_header_start>:
02 b0 ad 1b 03 00 add 0x31bad(%rax),%dh
00 00 add %al,(%rax)
fb sti
4f 52 rex.WRXB push %r10
e4 0f in $0xf,%al
<multiboot1_header_end>:
0f 1f 40 00 nopl 0x0(%rax)
<multiboot2_header_start>:
d6 (bad)
50 push %rax
52 push %rdx
e8 00 00 00 00 callq ffff82d080200020
88 00 mov %al,(%rax)
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Virtualization
<_start>:
e9 59 e1 17 00 jmpq ffff82d08037e15e
0f 1f 00 nopl (%rax)
<multiboot1_header_start>:
02 b0 ad 1b 03 00 add 0x31bad(%rax),%dh
00 00 add %al,(%rax)
fb sti
4f 52 rex.WRXB push %r10
e4 0f in $0xf,%al
<multiboot1_header_end>:
0f 1f 40 00 nopl 0x0(%rax)
<multiboot2_header_start>:
d6 (bad)
50 push %rax
52 push %rdx
e8 00 00 00 00 callq ffff82d080200020
88 00 mov %al,(%rax)
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Virtualization
<_start>:
e9 59 e1 17 00 jmpq ffff82d08037e15e
0f 1f 00 nopl (%rax)
<multiboot1_header_start>:
02 b0 ad 1b 03 00 add 0x31bad(%rax),%dh
00 00 add %al,(%rax)
fb sti
4f 52 rex.WRXB push %r10
e4 0f in $0xf,%al
<multiboot1_header_end>:
0f 1f 40 00 nopl 0x0(%rax)
<multiboot2_header_start>:
d6 (bad)
50 push %rax
52 push %rdx
e8 00 00 00 00 callq ffff82d080200020
88 00 mov %al,(%rax)
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Virtualization
<_start>:
e9 59 e1 17 00 jmpq ffff82d08037e15e
0f 1f 00 nopl (%rax)
<multiboot1_header_start>:
02 b0 ad 1b 03 00 add 0x31bad(%rax),%dh
00 00 add %al,(%rax)
fb sti
4f 52 rex.WRXB push %r10
e4 0f in $0xf,%al
<multiboot1_header_end>:
0f 1f 40 00 nopl 0x0(%rax)
<multiboot2_header_start>:
d6 (bad)
50 push %rax
52 push %rdx
e8 00 00 00 00 callq ffff82d080200020
88 00 mov %al,(%rax)
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Virtualization
<_start>:
e9 59 e1 17 00 jmpq ffff82d08037e15e
0f 1f 00 nopl (%rax)
<multiboot1_header_start>:
02 b0 ad 1b 03 00 add 0x31bad(%rax),%dh
00 00 add %al,(%rax)
fb sti
4f 52 rex.WRXB push %r10
e4 0f in $0xf,%al
<multiboot1_header_end>:
0f 1f 40 00 nopl 0x0(%rax)
<multiboot2_header_start>:
d6 (bad)
50 push %rax
52 push %rdx
e8 00 00 00 00 callq ffff82d080200020
88 00 mov %al,(%rax)
ERROR
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
What happened?
 Operating Systems use special instructions that are not available to applications.
 A processor is virtualizable when access to these instructions cause an error that privileged software can
intercept or trap.
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Virtualization
<_start>:
e9 59 e1 17 00 jmpq ffff82d08037e15e
0f 1f 00 nopl (%rax)
<multiboot1_header_start>:
02 b0 ad 1b 03 00 add 0x31bad(%rax),%dh
00 00 add %al,(%rax)
fb sti
4f 52 rex.WRXB push %r10
e4 0f in $0xf,%al
<multiboot1_header_end>:
0f 1f 40 00 nopl 0x0(%rax)
<multiboot2_header_start>:
d6 (bad)
50 push %rax
52 push %rdx
e8 00 00 00 00 callq ffff82d080200020
88 00 mov %al,(%rax)
ERROR
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Trap & Emulate: Virtual Machine Monitor
<_start>:
e9 59 e1 17 00 jmpq ffff82d08037e15e
0f 1f 00 nopl (%rax)
<multiboot1_header_start>:
02 b0 ad 1b 03 00 add 0x31bad(%rax),%dh
00 00 add %al,(%rax)
fb sti
4f 52 rex.WRXB push %r10
e4 0f in $0xf,%al
<multiboot1_header_end>:
0f 1f 40 00 nopl 0x0(%rax)
<multiboot2_header_start>:
d6 (bad)
50 push %rax
52 push %rdx
e8 00 00 00 00 callq ffff82d080200020
88 00 mov %al,(%rax)
TRAP
VMM
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Trap & Emulate
<_start>:
e9 59 e1 17 00 jmpq ffff82d08037e15e
0f 1f 00 nopl (%rax)
<multiboot1_header_start>:
02 b0 ad 1b 03 00 add 0x31bad(%rax),%dh
00 00 add %al,(%rax)
fb sti
4f 52 rex.WRXB push %r10
e4 0f in $0xf,%al
<multiboot1_header_end>:
0f 1f 40 00 nopl 0x0(%rax)
<multiboot2_header_start>:
d6 (bad)
50 push %rax
52 push %rdx
e8 00 00 00 00 callq ffff82d080200020
88 00 mov %al,(%rax)
VMM
EMULATE
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
What happened?
 The VMM is the heart of a hypervisor.
 As long as a statistical majority of instructions execute natively, we call this virtualization.
 Not all emulation can be handled by the VMM.
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Trap & Emulate
<_start>:
e9 59 e1 17 00 jmpq ffff82d08037e15e
0f 1f 00 nopl (%rax)
<multiboot1_header_start>:
02 b0 ad 1b 03 00 add 0x31bad(%rax),%dh
00 00 add %al,(%rax)
fb sti
4f 52 rex.WRXB push %r10
e4 0f in $0xf,%al
<multiboot1_header_end>:
0f 1f 40 00 nopl 0x0(%rax)
<multiboot2_header_start>:
d6 (bad)
50 push %rax
52 push %rdx
e8 00 00 00 00 callq ffff82d080200020
88 00 mov %al,(%rax)
VMM
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Trap & Emulate
<_start>:
e9 59 e1 17 00 jmpq ffff82d08037e15e
0f 1f 00 nopl (%rax)
<multiboot1_header_start>:
02 b0 ad 1b 03 00 add 0x31bad(%rax),%dh
00 00 add %al,(%rax)
fb sti
4f 52 rex.WRXB push %r10
e4 0f in $0xf,%al
<multiboot1_header_end>:
0f 1f 40 00 nopl 0x0(%rax)
<multiboot2_header_start>:
d6 (bad)
50 push %rax
52 push %rdx
e8 00 00 00 00 callq ffff82d080200020
88 00 mov %al,(%rax)
EMULATE
VMM
TRAP
Device
Model
Device
Model
Device
Model
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
What happened?
 A hypervisor consists of:
- Virtual Machine Monitor
- Many device models (10 to 100s)
- Scheduler, memory manager, etc.
 This was state of the art in 1974
 Not all of the assumptions held true though...
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
From 1974 to 2006
 Early Intel processors did not trap
 The Xen project found a clever solution
 Paravirtualization modifies the OS to trap
 Hypercalls directly invoke the VMM
 EC2 launched using Xen Paravirtualization
<_start>:
e9 59 e1 17 00 jmpq ffff82d08037e15e
0f 1f 00 nopl (%rax)
<multiboot1_header_start>:
02 b0 ad 1b 03 00 add 0x31bad(%rax),%dh
00 00 add %al,(%rax)
fb sti
4f 52 rex.WRXB push %r10
e4 0f HYPERCALL io_in
<multiboot1_header_end>:
0f 1f 40 00 nopl 0x0(%rax)
<multiboot2_header_start>:
d6 (bad)
50 push %rax
52 push %rdx
e8 00 00 00 00 callq ffff82d080200020
88 00 mov %al,(%rax)
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Evolution of Nitro
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Circa 2012
 Can we do better than the software-only hypervisor architecture?
 Device models compete for CPU and system resources, jitter is hard to avoid.
 Can we decompose the hypervisor and shuffle components around?
 Let’s begin our journey with the state of the art instance type from 2012.
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
CR1 (no Nitro) Jan 2013
Amazon
RDS
IAM
Amazon
Linux
cr1.8xlarge
EBS Volumes
Hardware Software
DM
Instance Storage
DM DM DM
VPC Networking
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
CR1 (no Nitro) Jan 2013
Amazon
RDS
IAM
Amazon
Linux
cr1.8xlarge
EBS Volumes
Hardware Software
DM
Instance Storage
DM DM DM
VPC Networking
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
C3 (early Nitro) Nov 2013
Amazon
RDS
IAM
Amazon
Linux
c3.8xlarge
Enhanced Networking
Hardware Software
DMDM DM EBS Volumes
Instance Storage
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
C3 (early Nitro) Nov 2013
Amazon
RDS
IAM
Amazon
Linux
c3.8xlarge
Enhanced Networking
Hardware Software
DMDM DM EBS Volumes
Instance Storage
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
C4 Jan 2015
Amazon
RDS
IAM
Amazon
Linux
c4.8xlarge
EBS Volumes
Enhanced Networking
Hardware Software
DM EBS Volumes
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
C4 Jan 2015
Amazon
RDS
IAM
Amazon
Linux
c4.8xlarge
EBS Volumes
Enhanced Networking
Hardware Software
DM EBS Volumes
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
X1 May 2016
Amazon
RDS
IAM
Amazon
Linux
x1.32xlarge
Instance Storage
Enhanced Networking
Hardware Software
DM DM EBS Volumes
Instance Storage
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
X1 May 2016
Amazon
RDS
IAM
Amazon
Linux
x1.32xlarge
Instance Storage
Enhanced Networking
Hardware Software
DM DM EBS Volumes
Instance Storage
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
I3 Feb 2017
Amazon
RDS
IAM
Amazon
Linux
i3.16xlarge
EBS Volumes
Instance Storage
Enhanced Networking
Hardware Software
DM
DM EBS Volumes
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
I3 Feb 2017
Amazon
RDS
IAM
Amazon
Linux
i3.16xlarge
EBS Volumes
Instance Storage
Enhanced Networking
Hardware Software
DM
DM EBS Volumes
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
C5 Nov 2017
Amazon
RDS
IAM
c5.18xlarge
EBS Volumes
Enhanced Networking
Hardware Software
Nitro Hypervisor
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
EC2 Bare Metal Nov 2017
Amazon
RDS
IAM
i3.metal
EBS Volumes
Instance Storage
Enhanced Networking
Hardware
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
VMware on AWS Aug 2017
Amazon
RDS
IAM
i3.metal
EBS Volumes
Instance Storage
Enhanced Networking
Hardware
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
 Nitro Hypervisor
 Lightweight hypervisor
 Nitro Card
 Storage
 Networking
 Management
 Monitoring
 Security
 Nitro Security Chip
 Integrated into the motherboard
The Nitro System
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
What’s next?
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Thank you!
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
FAQs
1) Will my existing AMIs work on Nitro-based instances?
Yes. Most ENA capable AMIs have the necessary drivers.
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
FAQs
1) Will my existing AMIs work on Nitro-based instances?
Yes. Most ENA capable AMIs have the necessary drivers.
2) Will applications need to be modified?
Most of the time, no. Some applications have relied on undocumented behavior to detect they are running within
EC2 and they may require adjustment.
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
FAQs
1) Will my existing AMIs work on Nitro-based instances?
Yes. Most ENA capable AMIs have the necessary drivers.
2) Will applications need to be modified?
Most of the time, no. Some applications have relied on undocumented behavior to detect they are running within
EC2 and they may require adjustment.
3) Will all new instance types be based on the Nitro System?
In the fullness of time, we expect most (if not all) new instance types to be Nitro-based. We have no plans to
convert existing instance types to Nitro and expect to continue to launch Xen based instance types where
appropriate.

Más contenido relacionado

La actualidad más candente

Neutron-to-Neutron: interconnecting multiple OpenStack deployments
Neutron-to-Neutron: interconnecting multiple OpenStack deploymentsNeutron-to-Neutron: interconnecting multiple OpenStack deployments
Neutron-to-Neutron: interconnecting multiple OpenStack deploymentsThomas Morin
 
NGINX: Basics and Best Practices
NGINX: Basics and Best PracticesNGINX: Basics and Best Practices
NGINX: Basics and Best PracticesNGINX, Inc.
 
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャーKubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャーToru Makabe
 
Deploying CloudStack with Ceph
Deploying CloudStack with CephDeploying CloudStack with Ceph
Deploying CloudStack with CephShapeBlue
 
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月 知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月 VirtualTech Japan Inc.
 
OpenStack Architecture and Use Cases
OpenStack Architecture and Use CasesOpenStack Architecture and Use Cases
OpenStack Architecture and Use CasesJalal Mostafa
 
Red Hat OpenStack 17 저자직강+스터디그룹_3주차
Red Hat OpenStack 17 저자직강+스터디그룹_3주차Red Hat OpenStack 17 저자직강+스터디그룹_3주차
Red Hat OpenStack 17 저자직강+스터디그룹_3주차Nalee Jang
 
Red Hat Satellite 6 - Automation with Puppet
Red Hat Satellite 6 - Automation with PuppetRed Hat Satellite 6 - Automation with Puppet
Red Hat Satellite 6 - Automation with PuppetMichael Lessard
 
【Zabbix2.0】snmpttによるトラップメッセージの編集 #Zabbix #自宅ラック勉強会
【Zabbix2.0】snmpttによるトラップメッセージの編集 #Zabbix #自宅ラック勉強会【Zabbix2.0】snmpttによるトラップメッセージの編集 #Zabbix #自宅ラック勉強会
【Zabbix2.0】snmpttによるトラップメッセージの編集 #Zabbix #自宅ラック勉強会真乙 九龍
 
Filesystem Comparison: NFS vs GFS2 vs OCFS2
Filesystem Comparison: NFS vs GFS2 vs OCFS2Filesystem Comparison: NFS vs GFS2 vs OCFS2
Filesystem Comparison: NFS vs GFS2 vs OCFS2Giuseppe Paterno'
 
Red Hat OpenStack 17 저자직강+스터디그룹_1주차
Red Hat OpenStack 17 저자직강+스터디그룹_1주차Red Hat OpenStack 17 저자직강+스터디그룹_1주차
Red Hat OpenStack 17 저자직강+스터디그룹_1주차Nalee Jang
 
Openstack Trunk Port
Openstack Trunk PortOpenstack Trunk Port
Openstack Trunk Portbenceromsics
 
Virtualization with KVM (Kernel-based Virtual Machine)
Virtualization with KVM (Kernel-based Virtual Machine)Virtualization with KVM (Kernel-based Virtual Machine)
Virtualization with KVM (Kernel-based Virtual Machine)Novell
 
IntelON 2021 Processor Benchmarking
IntelON 2021 Processor BenchmarkingIntelON 2021 Processor Benchmarking
IntelON 2021 Processor BenchmarkingBrendan Gregg
 
最近のOpenStackを振り返ってみよう
最近のOpenStackを振り返ってみよう最近のOpenStackを振り返ってみよう
最近のOpenStackを振り返ってみようTakashi Kajinami
 
Meet cute-between-ebpf-and-tracing
Meet cute-between-ebpf-and-tracingMeet cute-between-ebpf-and-tracing
Meet cute-between-ebpf-and-tracingViller Hsiao
 
DevNetCreate - ACI and Kubernetes Integration
DevNetCreate - ACI and Kubernetes IntegrationDevNetCreate - ACI and Kubernetes Integration
DevNetCreate - ACI and Kubernetes IntegrationHank Preston
 
Kernel Proc Connector and Containers
Kernel Proc Connector and ContainersKernel Proc Connector and Containers
Kernel Proc Connector and ContainersKernel TLV
 

La actualidad más candente (20)

Neutron-to-Neutron: interconnecting multiple OpenStack deployments
Neutron-to-Neutron: interconnecting multiple OpenStack deploymentsNeutron-to-Neutron: interconnecting multiple OpenStack deployments
Neutron-to-Neutron: interconnecting multiple OpenStack deployments
 
NGINX: Basics and Best Practices
NGINX: Basics and Best PracticesNGINX: Basics and Best Practices
NGINX: Basics and Best Practices
 
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャーKubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
 
Deploying CloudStack with Ceph
Deploying CloudStack with CephDeploying CloudStack with Ceph
Deploying CloudStack with Ceph
 
Drive into calico architecture
Drive into calico architectureDrive into calico architecture
Drive into calico architecture
 
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月 知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
 
OpenStack Architecture and Use Cases
OpenStack Architecture and Use CasesOpenStack Architecture and Use Cases
OpenStack Architecture and Use Cases
 
Red Hat OpenStack 17 저자직강+스터디그룹_3주차
Red Hat OpenStack 17 저자직강+스터디그룹_3주차Red Hat OpenStack 17 저자직강+스터디그룹_3주차
Red Hat OpenStack 17 저자직강+스터디그룹_3주차
 
02 terraform core concepts
02 terraform core concepts02 terraform core concepts
02 terraform core concepts
 
Red Hat Satellite 6 - Automation with Puppet
Red Hat Satellite 6 - Automation with PuppetRed Hat Satellite 6 - Automation with Puppet
Red Hat Satellite 6 - Automation with Puppet
 
【Zabbix2.0】snmpttによるトラップメッセージの編集 #Zabbix #自宅ラック勉強会
【Zabbix2.0】snmpttによるトラップメッセージの編集 #Zabbix #自宅ラック勉強会【Zabbix2.0】snmpttによるトラップメッセージの編集 #Zabbix #自宅ラック勉強会
【Zabbix2.0】snmpttによるトラップメッセージの編集 #Zabbix #自宅ラック勉強会
 
Filesystem Comparison: NFS vs GFS2 vs OCFS2
Filesystem Comparison: NFS vs GFS2 vs OCFS2Filesystem Comparison: NFS vs GFS2 vs OCFS2
Filesystem Comparison: NFS vs GFS2 vs OCFS2
 
Red Hat OpenStack 17 저자직강+스터디그룹_1주차
Red Hat OpenStack 17 저자직강+스터디그룹_1주차Red Hat OpenStack 17 저자직강+스터디그룹_1주차
Red Hat OpenStack 17 저자직강+스터디그룹_1주차
 
Openstack Trunk Port
Openstack Trunk PortOpenstack Trunk Port
Openstack Trunk Port
 
Virtualization with KVM (Kernel-based Virtual Machine)
Virtualization with KVM (Kernel-based Virtual Machine)Virtualization with KVM (Kernel-based Virtual Machine)
Virtualization with KVM (Kernel-based Virtual Machine)
 
IntelON 2021 Processor Benchmarking
IntelON 2021 Processor BenchmarkingIntelON 2021 Processor Benchmarking
IntelON 2021 Processor Benchmarking
 
最近のOpenStackを振り返ってみよう
最近のOpenStackを振り返ってみよう最近のOpenStackを振り返ってみよう
最近のOpenStackを振り返ってみよう
 
Meet cute-between-ebpf-and-tracing
Meet cute-between-ebpf-and-tracingMeet cute-between-ebpf-and-tracing
Meet cute-between-ebpf-and-tracing
 
DevNetCreate - ACI and Kubernetes Integration
DevNetCreate - ACI and Kubernetes IntegrationDevNetCreate - ACI and Kubernetes Integration
DevNetCreate - ACI and Kubernetes Integration
 
Kernel Proc Connector and Containers
Kernel Proc Connector and ContainersKernel Proc Connector and Containers
Kernel Proc Connector and Containers
 

Similar a AWS Nitro Project Evolution Next-Gen EC2 Infrastructure

Deep Dive on New Amazon EC2 Instances and Virtualization Technologies - AWS O...
Deep Dive on New Amazon EC2 Instances and Virtualization Technologies - AWS O...Deep Dive on New Amazon EC2 Instances and Virtualization Technologies - AWS O...
Deep Dive on New Amazon EC2 Instances and Virtualization Technologies - AWS O...Amazon Web Services
 
Deep Dive into Firecracker Using Lightweight Virtual Machines to Enhance the ...
Deep Dive into Firecracker Using Lightweight Virtual Machines to Enhance the ...Deep Dive into Firecracker Using Lightweight Virtual Machines to Enhance the ...
Deep Dive into Firecracker Using Lightweight Virtual Machines to Enhance the ...Amazon Web Services
 
Security benefits of the Nitro architecture - SEP401-R - AWS re:Inforce 2019
Security benefits of the Nitro architecture - SEP401-R - AWS re:Inforce 2019 Security benefits of the Nitro architecture - SEP401-R - AWS re:Inforce 2019
Security benefits of the Nitro architecture - SEP401-R - AWS re:Inforce 2019 Amazon Web Services
 
XPDS16: Xen Live Patching - Updating Xen Without Rebooting - Konrad Wilk, Ora...
XPDS16: Xen Live Patching - Updating Xen Without Rebooting - Konrad Wilk, Ora...XPDS16: Xen Live Patching - Updating Xen Without Rebooting - Konrad Wilk, Ora...
XPDS16: Xen Live Patching - Updating Xen Without Rebooting - Konrad Wilk, Ora...The Linux Foundation
 
Accelerated Windows Debugging 3 training public slides
Accelerated Windows Debugging 3 training public slidesAccelerated Windows Debugging 3 training public slides
Accelerated Windows Debugging 3 training public slidesDmitry Vostokov
 
2020-ntn-vsphere_performance_principles_bondzio.pdf
2020-ntn-vsphere_performance_principles_bondzio.pdf2020-ntn-vsphere_performance_principles_bondzio.pdf
2020-ntn-vsphere_performance_principles_bondzio.pdfPhmNgcTr3
 
The forgotten art of assembly
The forgotten art of assemblyThe forgotten art of assembly
The forgotten art of assemblyMarian Marinov
 
OSMC 2015: Linux Performance Profiling and Monitoring by Werner Fischer
OSMC 2015: Linux Performance Profiling and Monitoring by Werner FischerOSMC 2015: Linux Performance Profiling and Monitoring by Werner Fischer
OSMC 2015: Linux Performance Profiling and Monitoring by Werner FischerNETWAYS
 
OSMC 2015 | Linux Performance Profiling and Monitoring by Werner Fischer
OSMC 2015 | Linux Performance Profiling and Monitoring by Werner FischerOSMC 2015 | Linux Performance Profiling and Monitoring by Werner Fischer
OSMC 2015 | Linux Performance Profiling and Monitoring by Werner FischerNETWAYS
 
Analyzing the Performance of Mobile Web
Analyzing the Performance of Mobile WebAnalyzing the Performance of Mobile Web
Analyzing the Performance of Mobile WebAriya Hidayat
 
Widget Summit 2008
Widget Summit 2008Widget Summit 2008
Widget Summit 2008Volkan Unsal
 
Panic report 121112
Panic report 121112Panic report 121112
Panic report 121112wangxueGT
 
OSDC 2017 - Werner Fischer - Linux performance profiling and monitoring
OSDC 2017 - Werner Fischer - Linux performance profiling and monitoringOSDC 2017 - Werner Fischer - Linux performance profiling and monitoring
OSDC 2017 - Werner Fischer - Linux performance profiling and monitoringNETWAYS
 
Linux kernel debugging(PDF format)
Linux kernel debugging(PDF format)Linux kernel debugging(PDF format)
Linux kernel debugging(PDF format)yang firo
 
Linux kernel debugging(ODP format)
Linux kernel debugging(ODP format)Linux kernel debugging(ODP format)
Linux kernel debugging(ODP format)yang firo
 
Metrics-Driven Engineering at Etsy
Metrics-Driven Engineering at EtsyMetrics-Driven Engineering at Etsy
Metrics-Driven Engineering at EtsyMike Brittain
 
[CB19] MalConfScan with Cuckoo: Automatic Malware Configuration Extraction Sy...
[CB19] MalConfScan with Cuckoo: Automatic Malware Configuration Extraction Sy...[CB19] MalConfScan with Cuckoo: Automatic Malware Configuration Extraction Sy...
[CB19] MalConfScan with Cuckoo: Automatic Malware Configuration Extraction Sy...CODE BLUE
 
Symbolic Debugging with DWARF
Symbolic Debugging with DWARFSymbolic Debugging with DWARF
Symbolic Debugging with DWARFSamy Bahra
 

Similar a AWS Nitro Project Evolution Next-Gen EC2 Infrastructure (20)

Deep Dive on New Amazon EC2 Instances and Virtualization Technologies - AWS O...
Deep Dive on New Amazon EC2 Instances and Virtualization Technologies - AWS O...Deep Dive on New Amazon EC2 Instances and Virtualization Technologies - AWS O...
Deep Dive on New Amazon EC2 Instances and Virtualization Technologies - AWS O...
 
Deep Dive into Firecracker Using Lightweight Virtual Machines to Enhance the ...
Deep Dive into Firecracker Using Lightweight Virtual Machines to Enhance the ...Deep Dive into Firecracker Using Lightweight Virtual Machines to Enhance the ...
Deep Dive into Firecracker Using Lightweight Virtual Machines to Enhance the ...
 
Security benefits of the Nitro architecture - SEP401-R - AWS re:Inforce 2019
Security benefits of the Nitro architecture - SEP401-R - AWS re:Inforce 2019 Security benefits of the Nitro architecture - SEP401-R - AWS re:Inforce 2019
Security benefits of the Nitro architecture - SEP401-R - AWS re:Inforce 2019
 
XPDS16: Xen Live Patching - Updating Xen Without Rebooting - Konrad Wilk, Ora...
XPDS16: Xen Live Patching - Updating Xen Without Rebooting - Konrad Wilk, Ora...XPDS16: Xen Live Patching - Updating Xen Without Rebooting - Konrad Wilk, Ora...
XPDS16: Xen Live Patching - Updating Xen Without Rebooting - Konrad Wilk, Ora...
 
Accelerated Windows Debugging 3 training public slides
Accelerated Windows Debugging 3 training public slidesAccelerated Windows Debugging 3 training public slides
Accelerated Windows Debugging 3 training public slides
 
2020-ntn-vsphere_performance_principles_bondzio.pdf
2020-ntn-vsphere_performance_principles_bondzio.pdf2020-ntn-vsphere_performance_principles_bondzio.pdf
2020-ntn-vsphere_performance_principles_bondzio.pdf
 
The forgotten art of assembly
The forgotten art of assemblyThe forgotten art of assembly
The forgotten art of assembly
 
OSMC 2015: Linux Performance Profiling and Monitoring by Werner Fischer
OSMC 2015: Linux Performance Profiling and Monitoring by Werner FischerOSMC 2015: Linux Performance Profiling and Monitoring by Werner Fischer
OSMC 2015: Linux Performance Profiling and Monitoring by Werner Fischer
 
OSMC 2015 | Linux Performance Profiling and Monitoring by Werner Fischer
OSMC 2015 | Linux Performance Profiling and Monitoring by Werner FischerOSMC 2015 | Linux Performance Profiling and Monitoring by Werner Fischer
OSMC 2015 | Linux Performance Profiling and Monitoring by Werner Fischer
 
Analyzing the Performance of Mobile Web
Analyzing the Performance of Mobile WebAnalyzing the Performance of Mobile Web
Analyzing the Performance of Mobile Web
 
Widget Summit 2008
Widget Summit 2008Widget Summit 2008
Widget Summit 2008
 
Panic report 121112
Panic report 121112Panic report 121112
Panic report 121112
 
OSDC 2017 - Werner Fischer - Linux performance profiling and monitoring
OSDC 2017 - Werner Fischer - Linux performance profiling and monitoringOSDC 2017 - Werner Fischer - Linux performance profiling and monitoring
OSDC 2017 - Werner Fischer - Linux performance profiling and monitoring
 
Linux kernel debugging(PDF format)
Linux kernel debugging(PDF format)Linux kernel debugging(PDF format)
Linux kernel debugging(PDF format)
 
Linux kernel debugging(ODP format)
Linux kernel debugging(ODP format)Linux kernel debugging(ODP format)
Linux kernel debugging(ODP format)
 
Metrics-Driven Engineering at Etsy
Metrics-Driven Engineering at EtsyMetrics-Driven Engineering at Etsy
Metrics-Driven Engineering at Etsy
 
[CB19] MalConfScan with Cuckoo: Automatic Malware Configuration Extraction Sy...
[CB19] MalConfScan with Cuckoo: Automatic Malware Configuration Extraction Sy...[CB19] MalConfScan with Cuckoo: Automatic Malware Configuration Extraction Sy...
[CB19] MalConfScan with Cuckoo: Automatic Malware Configuration Extraction Sy...
 
Symbolic Debugging with DWARF
Symbolic Debugging with DWARFSymbolic Debugging with DWARF
Symbolic Debugging with DWARF
 
Qemu JIT Code Generator and System Emulation
Qemu JIT Code Generator and System EmulationQemu JIT Code Generator and System Emulation
Qemu JIT Code Generator and System Emulation
 
Linux on System z debugging with Valgrind
Linux on System z debugging with ValgrindLinux on System z debugging with Valgrind
Linux on System z debugging with Valgrind
 

Más de Amazon Web Services

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Amazon Web Services
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Amazon Web Services
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateAmazon Web Services
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSAmazon Web Services
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Amazon Web Services
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Amazon Web Services
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...Amazon Web Services
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsAmazon Web Services
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareAmazon Web Services
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSAmazon Web Services
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAmazon Web Services
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareAmazon Web Services
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWSAmazon Web Services
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckAmazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without serversAmazon Web Services
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...Amazon Web Services
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceAmazon Web Services
 

Más de Amazon Web Services (20)

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS Fargate
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot
 
Open banking as a service
Open banking as a serviceOpen banking as a service
Open banking as a service
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
 
Computer Vision con AWS
Computer Vision con AWSComputer Vision con AWS
Computer Vision con AWS
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatare
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e web
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
 
Fundraising Essentials
Fundraising EssentialsFundraising Essentials
Fundraising Essentials
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container Service
 

AWS Nitro Project Evolution Next-Gen EC2 Infrastructure

  • 1. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Anthony Liguori, Sr. Principal Engineer, EC2 AWS Webinar The Nitro Project: Next-Generation EC2 Infrastructure
  • 2. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Introductions
  • 3. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Agenda  What is the Nitro Project and how does it relate to AWS C5?  Background on virtualization  The evolution of the Nitro Project  Compatibility  What’s next  Q&A
  • 4. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. What is Nitro? From the C5 launch: Q. What is the new hypervisor for Amazon EC2? The new hypervisor for Amazon EC2, introduced with the launch of C5 instances, is a component that primarily provides CPU and memory isolation for C5 instances. VPC networking and EBS storage resources are implemented by dedicated hardware components that are part of all current generation EC2 instance families. It is built on core Linux Kernel-based Virtual Machine (KVM) technology, but does not include general purpose operating system components.
  • 5. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. What is Nitro? From the C5 launch: Q. What is the new hypervisor for Amazon EC2? The new hypervisor for Amazon EC2, introduced with the launch of C5 instances, is a component that primarily provides CPU and memory isolation for C5 instances. VPC networking and EBS storage resources are implemented by dedicated hardware components that are part of all current generation EC2 instance families. It is built on core Linux Kernel-based Virtual Machine (KVM) technology, but does not include general purpose operating system components. The Nitro Hypervisor is the “new hypervisor,” but more than just a hypervisor
  • 6. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Stepping back...
  • 7. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Virtualization <_start>: e9 59 e1 17 00 jmpq ffff82d08037e15e 0f 1f 00 nopl (%rax) <multiboot1_header_start>: 02 b0 ad 1b 03 00 add 0x31bad(%rax),%dh 00 00 add %al,(%rax) fb sti 4f 52 rex.WRXB push %r10 e4 0f in $0xf,%al <multiboot1_header_end>: 0f 1f 40 00 nopl 0x0(%rax) <multiboot2_header_start>: d6 (bad) 50 push %rax 52 push %rdx e8 00 00 00 00 callq ffff82d080200020 88 00 mov %al,(%rax)
  • 8. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Virtualization <_start>: e9 59 e1 17 00 jmpq ffff82d08037e15e 0f 1f 00 nopl (%rax) <multiboot1_header_start>: 02 b0 ad 1b 03 00 add 0x31bad(%rax),%dh 00 00 add %al,(%rax) fb sti 4f 52 rex.WRXB push %r10 e4 0f in $0xf,%al <multiboot1_header_end>: 0f 1f 40 00 nopl 0x0(%rax) <multiboot2_header_start>: d6 (bad) 50 push %rax 52 push %rdx e8 00 00 00 00 callq ffff82d080200020 88 00 mov %al,(%rax)
  • 9. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Virtualization <_start>: e9 59 e1 17 00 jmpq ffff82d08037e15e 0f 1f 00 nopl (%rax) <multiboot1_header_start>: 02 b0 ad 1b 03 00 add 0x31bad(%rax),%dh 00 00 add %al,(%rax) fb sti 4f 52 rex.WRXB push %r10 e4 0f in $0xf,%al <multiboot1_header_end>: 0f 1f 40 00 nopl 0x0(%rax) <multiboot2_header_start>: d6 (bad) 50 push %rax 52 push %rdx e8 00 00 00 00 callq ffff82d080200020 88 00 mov %al,(%rax)
  • 10. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Virtualization <_start>: e9 59 e1 17 00 jmpq ffff82d08037e15e 0f 1f 00 nopl (%rax) <multiboot1_header_start>: 02 b0 ad 1b 03 00 add 0x31bad(%rax),%dh 00 00 add %al,(%rax) fb sti 4f 52 rex.WRXB push %r10 e4 0f in $0xf,%al <multiboot1_header_end>: 0f 1f 40 00 nopl 0x0(%rax) <multiboot2_header_start>: d6 (bad) 50 push %rax 52 push %rdx e8 00 00 00 00 callq ffff82d080200020 88 00 mov %al,(%rax)
  • 11. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Virtualization <_start>: e9 59 e1 17 00 jmpq ffff82d08037e15e 0f 1f 00 nopl (%rax) <multiboot1_header_start>: 02 b0 ad 1b 03 00 add 0x31bad(%rax),%dh 00 00 add %al,(%rax) fb sti 4f 52 rex.WRXB push %r10 e4 0f in $0xf,%al <multiboot1_header_end>: 0f 1f 40 00 nopl 0x0(%rax) <multiboot2_header_start>: d6 (bad) 50 push %rax 52 push %rdx e8 00 00 00 00 callq ffff82d080200020 88 00 mov %al,(%rax) ERROR
  • 12. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. What happened?  Operating Systems use special instructions that are not available to applications.  A processor is virtualizable when access to these instructions cause an error that privileged software can intercept or trap.
  • 13. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Virtualization <_start>: e9 59 e1 17 00 jmpq ffff82d08037e15e 0f 1f 00 nopl (%rax) <multiboot1_header_start>: 02 b0 ad 1b 03 00 add 0x31bad(%rax),%dh 00 00 add %al,(%rax) fb sti 4f 52 rex.WRXB push %r10 e4 0f in $0xf,%al <multiboot1_header_end>: 0f 1f 40 00 nopl 0x0(%rax) <multiboot2_header_start>: d6 (bad) 50 push %rax 52 push %rdx e8 00 00 00 00 callq ffff82d080200020 88 00 mov %al,(%rax) ERROR
  • 14. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Trap & Emulate: Virtual Machine Monitor <_start>: e9 59 e1 17 00 jmpq ffff82d08037e15e 0f 1f 00 nopl (%rax) <multiboot1_header_start>: 02 b0 ad 1b 03 00 add 0x31bad(%rax),%dh 00 00 add %al,(%rax) fb sti 4f 52 rex.WRXB push %r10 e4 0f in $0xf,%al <multiboot1_header_end>: 0f 1f 40 00 nopl 0x0(%rax) <multiboot2_header_start>: d6 (bad) 50 push %rax 52 push %rdx e8 00 00 00 00 callq ffff82d080200020 88 00 mov %al,(%rax) TRAP VMM
  • 15. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Trap & Emulate <_start>: e9 59 e1 17 00 jmpq ffff82d08037e15e 0f 1f 00 nopl (%rax) <multiboot1_header_start>: 02 b0 ad 1b 03 00 add 0x31bad(%rax),%dh 00 00 add %al,(%rax) fb sti 4f 52 rex.WRXB push %r10 e4 0f in $0xf,%al <multiboot1_header_end>: 0f 1f 40 00 nopl 0x0(%rax) <multiboot2_header_start>: d6 (bad) 50 push %rax 52 push %rdx e8 00 00 00 00 callq ffff82d080200020 88 00 mov %al,(%rax) VMM EMULATE
  • 16. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. What happened?  The VMM is the heart of a hypervisor.  As long as a statistical majority of instructions execute natively, we call this virtualization.  Not all emulation can be handled by the VMM.
  • 17. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Trap & Emulate <_start>: e9 59 e1 17 00 jmpq ffff82d08037e15e 0f 1f 00 nopl (%rax) <multiboot1_header_start>: 02 b0 ad 1b 03 00 add 0x31bad(%rax),%dh 00 00 add %al,(%rax) fb sti 4f 52 rex.WRXB push %r10 e4 0f in $0xf,%al <multiboot1_header_end>: 0f 1f 40 00 nopl 0x0(%rax) <multiboot2_header_start>: d6 (bad) 50 push %rax 52 push %rdx e8 00 00 00 00 callq ffff82d080200020 88 00 mov %al,(%rax) VMM
  • 18. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Trap & Emulate <_start>: e9 59 e1 17 00 jmpq ffff82d08037e15e 0f 1f 00 nopl (%rax) <multiboot1_header_start>: 02 b0 ad 1b 03 00 add 0x31bad(%rax),%dh 00 00 add %al,(%rax) fb sti 4f 52 rex.WRXB push %r10 e4 0f in $0xf,%al <multiboot1_header_end>: 0f 1f 40 00 nopl 0x0(%rax) <multiboot2_header_start>: d6 (bad) 50 push %rax 52 push %rdx e8 00 00 00 00 callq ffff82d080200020 88 00 mov %al,(%rax) EMULATE VMM TRAP Device Model Device Model Device Model
  • 19. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. What happened?  A hypervisor consists of: - Virtual Machine Monitor - Many device models (10 to 100s) - Scheduler, memory manager, etc.  This was state of the art in 1974  Not all of the assumptions held true though...
  • 20. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. From 1974 to 2006  Early Intel processors did not trap  The Xen project found a clever solution  Paravirtualization modifies the OS to trap  Hypercalls directly invoke the VMM  EC2 launched using Xen Paravirtualization <_start>: e9 59 e1 17 00 jmpq ffff82d08037e15e 0f 1f 00 nopl (%rax) <multiboot1_header_start>: 02 b0 ad 1b 03 00 add 0x31bad(%rax),%dh 00 00 add %al,(%rax) fb sti 4f 52 rex.WRXB push %r10 e4 0f HYPERCALL io_in <multiboot1_header_end>: 0f 1f 40 00 nopl 0x0(%rax) <multiboot2_header_start>: d6 (bad) 50 push %rax 52 push %rdx e8 00 00 00 00 callq ffff82d080200020 88 00 mov %al,(%rax)
  • 21. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Evolution of Nitro
  • 22. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Circa 2012  Can we do better than the software-only hypervisor architecture?  Device models compete for CPU and system resources, jitter is hard to avoid.  Can we decompose the hypervisor and shuffle components around?  Let’s begin our journey with the state of the art instance type from 2012.
  • 23. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. CR1 (no Nitro) Jan 2013 Amazon RDS IAM Amazon Linux cr1.8xlarge EBS Volumes Hardware Software DM Instance Storage DM DM DM VPC Networking
  • 24. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. CR1 (no Nitro) Jan 2013 Amazon RDS IAM Amazon Linux cr1.8xlarge EBS Volumes Hardware Software DM Instance Storage DM DM DM VPC Networking
  • 25. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. C3 (early Nitro) Nov 2013 Amazon RDS IAM Amazon Linux c3.8xlarge Enhanced Networking Hardware Software DMDM DM EBS Volumes Instance Storage
  • 26. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. C3 (early Nitro) Nov 2013 Amazon RDS IAM Amazon Linux c3.8xlarge Enhanced Networking Hardware Software DMDM DM EBS Volumes Instance Storage
  • 27. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. C4 Jan 2015 Amazon RDS IAM Amazon Linux c4.8xlarge EBS Volumes Enhanced Networking Hardware Software DM EBS Volumes
  • 28. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. C4 Jan 2015 Amazon RDS IAM Amazon Linux c4.8xlarge EBS Volumes Enhanced Networking Hardware Software DM EBS Volumes
  • 29. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. X1 May 2016 Amazon RDS IAM Amazon Linux x1.32xlarge Instance Storage Enhanced Networking Hardware Software DM DM EBS Volumes Instance Storage
  • 30. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. X1 May 2016 Amazon RDS IAM Amazon Linux x1.32xlarge Instance Storage Enhanced Networking Hardware Software DM DM EBS Volumes Instance Storage
  • 31. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. I3 Feb 2017 Amazon RDS IAM Amazon Linux i3.16xlarge EBS Volumes Instance Storage Enhanced Networking Hardware Software DM DM EBS Volumes
  • 32. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. I3 Feb 2017 Amazon RDS IAM Amazon Linux i3.16xlarge EBS Volumes Instance Storage Enhanced Networking Hardware Software DM DM EBS Volumes
  • 33. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. C5 Nov 2017 Amazon RDS IAM c5.18xlarge EBS Volumes Enhanced Networking Hardware Software Nitro Hypervisor
  • 34. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. EC2 Bare Metal Nov 2017 Amazon RDS IAM i3.metal EBS Volumes Instance Storage Enhanced Networking Hardware
  • 35. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. VMware on AWS Aug 2017 Amazon RDS IAM i3.metal EBS Volumes Instance Storage Enhanced Networking Hardware
  • 36. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.  Nitro Hypervisor  Lightweight hypervisor  Nitro Card  Storage  Networking  Management  Monitoring  Security  Nitro Security Chip  Integrated into the motherboard The Nitro System
  • 37. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. What’s next?
  • 38. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Thank you!
  • 39. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. FAQs 1) Will my existing AMIs work on Nitro-based instances? Yes. Most ENA capable AMIs have the necessary drivers.
  • 40. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. FAQs 1) Will my existing AMIs work on Nitro-based instances? Yes. Most ENA capable AMIs have the necessary drivers. 2) Will applications need to be modified? Most of the time, no. Some applications have relied on undocumented behavior to detect they are running within EC2 and they may require adjustment.
  • 41. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. FAQs 1) Will my existing AMIs work on Nitro-based instances? Yes. Most ENA capable AMIs have the necessary drivers. 2) Will applications need to be modified? Most of the time, no. Some applications have relied on undocumented behavior to detect they are running within EC2 and they may require adjustment. 3) Will all new instance types be based on the Nitro System? In the fullness of time, we expect most (if not all) new instance types to be Nitro-based. We have no plans to convert existing instance types to Nitro and expect to continue to launch Xen based instance types where appropriate.