SlideShare una empresa de Scribd logo
1 de 51
Descargar para leer sin conexión
EC2: Cómputo en la nube a
profundidad
Mayo, 2017
© 2017, Amazon Web Services
Que esperar de esta Sesión
• Comprender factores al seleccionar una instancia de EC2
• Definición de rendimiento del sistema y cómo se categoriza para
las diferentes cargas de trabajo
• Cómo las instancias de Amazon EC2 entregan rendimiento
mientras se proporciona flexibilidad y agilidad
• Cómo aprovechar al máximo tu experiencia de EC2 a
través del lente de los distintos tipos de instancia
© 2017, Amazon Web Services
API
EC2
EC2
Amazon Elastic Compute Cloud es extenso
Instancias
Redes
Opciones de compra
© 2017, Amazon Web Services
Servidor Físico
Hipervisor
EC2 1 EC2 2 EC2 n
Instancias de Amazon EC2
© 2017, Amazon Web Services
En el pasado
 Lanzado por primera vez en Agosto de 2006
 Instancia M1
 “Un tamaño para todos”
M1
© 2017, Amazon Web Services
Historia de Amazon EC2
2006 2008 2010 2012 2014
2016
m1.small
m1.large
m1.xlarge
c1.medium
c1.xlarge
m2.xlarge
m2.4xlarge
m2.2xlarge
cc1.4xlarge
t1.micro
cg1.4xlarge
cc2.8xlarge
m1.medium
hi1.4xlarge
m3.xlarge
m3.2xlarge
hs1.8xlarge
cr1.8xlarge
c3.large
c3.xlarge
c3.2xlarge
c3.4xlarge
c3.8xlarge
g2.2xlarge
i2.xlarge
i2.2xlarge
i2.4xlarge
i2.4xlarge
m3.medium
m3.large
r3.large
r3.xlarge
r3.2xlarge
r3.4xlarge
r3.8xlarge
t2.micro
t2.small
t2.med
c4.large
c4.xlarge
c4.2xlarge
c4.4xlarge
c4.8xlarge
d2.xlarge
d2.2xlarge
d2.4xlarge
d2.8xlarge
g2.8xlarge
t2.large
m4.large
m4.xlarge
m4.2xlarge
m4.4xlarge
m4.10xlarge
x1.32xlarge
t2.nano
m4.16xlarge
p2.xlarge
p2.8xlarge
p2.16xlarge
© 2017, Amazon Web Services
Generación de
Instancias
c4.xlarge
Familia de
Instancia
Tamaño de
instancia
© 2017, Amazon Web Services
Familias de Instancia EC2
Propósito
general
Computo
optimizado
C3
Almacenamiento
e I/O
optimizado
I2
P2
GPU
optimizado
Memoria
optimizada
R4C4
M4
D2
X1
G2
© 2017, Amazon Web Services
¿Qué es un CPU virtual? (vCPU)
 Un vCPU es típicamente un núcleo físico hyper-threaded *
 En Linux, los threads "A" son threads antes de los threads "B”
 En Windows, los threads se entrelazan
 Dividir el número de vCPU entre 2 para obtener el recuento de
núcleos
 Tipo de instancia cores por EC2 y RDS DB:
https://aws.amazon.com/ec2/virtualcores/
• La familia "t" es especial
© 2017, Amazon Web Services
© 2017, Amazon Web Services
Deshabilitar Hyper-Threading si lo requiere
 Útil para aplicaciones pesadas FPU
 Utilizar 'lscpu' para validar el diseño
 Desconectado de los threads "B"
for i in `seq 64 127`; do
echo 0 > /sys/devices/system/cpu/cpu${i}/online
done
 Establecer grub para inicializar sólo la
primera mitad de todos los threads
maxcpus=63
[ec2-user@ip-172-31-7-218 ~]$ lscpu
CPU(s): 128
On-line CPU(s) list: 0-127
Thread(s) per core: 2
Core(s) per socket: 16
Socket(s): 4
NUMA node(s): 4
Model name: Intel(R) Xeon(R) CPU
Hypervisor vendor: Xen
Virtualization type: full
NUMA node0 CPU(s): 0-15,64-79
NUMA node1 CPU(s): 16-31,80-95
NUMA node2 CPU(s): 32-47,96-111
NUMA node3 CPU(s): 48-63,112-127
© 2017, Amazon Web Services
© 2017, Amazon Web Services
Tamaño de instancia
c4.8xlarge 2 - c4.4xlarge
≈
4 - c4.2xlarge
≈
8 - c4.xlarge
≈
© 2017, Amazon Web Services
Asignación de recursos
 Todos los recursos asignados están dedicados a su instancia sin
ser sobre comprometidos (over commitment)*
 Todos los vCPUs están dedicados a usted
 La memoria asignada se asigna sólo a su instancia
 Los recursos de red son particionados para evitar "vecinos ruidosos”
 ¿Curioso sobre el número de instancias por host? Utilizar "Hosts
Dedicados" como una guía.
*Again, the “T” family is special
© 2017, Amazon Web Services
"Lanzar nuevas instancias y ejecutar pruebas
en paralelo es fácil ... [al elegir una instancia]
no hay sustituto para medir el rendimiento de
su aplicación completamente".
- EC2 documentation
© 2017, Amazon Web Services
Explicación de Timekeeping
 Timekeeping en una instancia es engañosamente difícil
 gettimeofday(), clock_gettime(), QueryPerformanceCounter()
 El TSC
 Contador de CPU, accesible desde el espacio de usuario
 Requiere calibración, vDSO
 Invariante sobre Sandy Bridge+ procesadores
 Invariant on Sandy Bridge+ processors
 Xen pvclock; No soporta vDSO
 En instancias de generación actuales, utilice TSC como origen de
reloj (clocksource)
© 2017, Amazon Web Services
Evaluación comparativa - Aplicación de tiempo intensivo
#include <sys/time.h>
#include <time.h>
#include <stdio.h>
#include <unistd.h>
int main()
{
time_t start,end;
time (&start);
for ( int x = 0; x < 100000000; x++ ) {
float f;
float g;
float h;
f = 123456789.0f;
g = 123456789.0f;
h = f * g;
struct timeval tv;
gettimeofday(&tv, NULL);
}
time (&end);
double dif = difftime (end,start);
printf ("Elasped time is %.2lf seconds.n", dif );
return 0;
}
© 2017, Amazon Web Services
Uso de la fuente de reloj Xen
[centos@ip-192-168-1-77 testbench]$ strace -c ./test
Elasped time is 12.00 seconds.
% time seconds usecs/call calls errors syscall
------ ----------- ----------- --------- --------- ----------------
99.99 3.322956 2 2001862 gettimeofday
0.00 0.000096 6 16 mmap
0.00 0.000050 5 10 mprotect
0.00 0.000038 8 5 open
0.00 0.000026 5 5 fstat
0.00 0.000025 5 5 close
0.00 0.000023 6 4 read
0.00 0.000008 8 1 1 access
0.00 0.000006 6 1 brk
0.00 0.000006 6 1 execve
0.00 0.000005 5 1 arch_prctl
0.00 0.000000 0 1 munmap
------ ----------- ----------- --------- --------- ----------------
100.00 3.323239 2001912 1 total
© 2017, Amazon Web Services
Uso de la fuente de reloj TSC
[centos@ip-192-168-1-77 testbench]$ strace -c ./test
Elasped time is 2.00 seconds.
% time seconds usecs/call calls errors syscall
------ ----------- ----------- --------- --------- ----------------
32.97 0.000121 7 17 mmap
20.98 0.000077 8 10 mprotect
11.72 0.000043 9 5 open
10.08 0.000037 7 5 close
7.36 0.000027 5 6 fstat
6.81 0.000025 6 4 read
2.72 0.000010 10 1 munmap
2.18 0.000008 8 1 1 access
1.91 0.000007 7 1 execve
1.63 0.000006 6 1 brk
1.63 0.000006 6 1 arch_prctl
0.00 0.000000 0 1 write
------ ----------- ----------- --------- --------- ----------------
100.00 0.000367 53 1 total
© 2017, Amazon Web Services
Cambiar con:
Tip: Utilice TSC como origen de reloj
© 2017, Amazon Web Services
Control de P-state y C-state
 c4.8xlarge, d2.8xlarge, m4.10xlarge,
m4.16xlarge, p2.16xlarge, x1.16xlarge,
x1.32xlarge
 Al entrar en estados inactivos más profundos,
los núcleos no inactivos pueden alcanzar
frecuencias de reloj superiores a 300MHz
 Pero ... estados inactivos más profundos
requieren más tiempo para salir, pueden no
ser apropiados para cargas de trabajo
sensibles a la latencia
 Limitando el c-state agregando
“intel_idle.max_cstate=1” to grub
© 2017, Amazon Web Services
Tip: Control de P-state Control para AVX2
 Si una aplicación hace uso intensivo de AVX2 en todos los núcleos, el
procesador puede tratar de obtener más energía de lo que debería
 El procesador reducirá de forma transparente la frecuencia
 Cambios frecuentes de la frecuencia de CPU pueden ralentizar una
aplicación
sudo sh -c "echo 1 > /sys/devices/system/cpu/intel_pstate/no_turbo"
Ver también: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/processor_state_control.html
© 2017, Amazon Web Services
Revisión: Instancias T2
 Instancia EC2 de menor costo a $ 0.0065 por hora
 Rendimiento Dinámico (Burstable)
 Asignación fija reforzada con créditos de CPU
Modelo vCPU Linea
Base
Créditos CPU /
Hora
Memoria
(GiB)
Almacenamiento
t2.nano 1 5% 3 .5 Solo EBS
t2.micro 1 10% 6 1 Solo EBS
t2.small 1 20% 12 2 Solo EBS
t2.medium 2 40%** 24 4 Solo EBS
t2.large 2 60%** 36 8 Solo EBS
Propósito general, servicio web, entornos de desarrollo, bases de datos pequeñas
© 2017, Amazon Web Services
Cómo funcionan los créditos
 Un crédito de CPU proporciona el rendimiento
de un núcleo de CPU completo durante un
minuto
 Una instancia gana créditos de CPU a un
ritmo constante
 Una instancia consume créditos cuando está
activa
 Los créditos caducan después de 24 horas
Tasa de referencia
Balance
del
crédito
Tasa
Dinámica
© 2017, Amazon Web Services
Tip: Supervisar el saldo de crédito CPU
© 2017, Amazon Web Services
Tecnología Intel
https://aws.amazon.com/intel/
© 2017, Amazon Web Services
Revisión: Instancias X1
 La mayor instancia de memoria con 2 TB de DRAM
 Socket quadcore, procesadores Intel E7 con 128 vCPU
Modelo vCPU Memoria (GiB) Almacenamiento
local
Red
x1.16xlarge 64 976 1x 1920GB SSD 10Gbps
x1.32xlarge 128 1952 2x 1920GB SSD 20Gbps
Bases de datos en memoria, gran procesamiento de datos, cargas de trabajo HPC
© 2017, Amazon Web Services
NUMA
 Acceso a memoria no-uniforme
 Cada procesador en un sistema multi-CPU
tiene memoria local que es accesible a
través de una interconexión rápida
 Cada procesador también puede acceder a
la memoria de otros CPUs, pero el acceso a
la memoria local es mucho más rápido que
la memoria remota
 El rendimiento está relacionado con el
número de sockets de CPU y cómo están
conectados - Intel QuickPath Interconnect
(QPI)
© 2017, Amazon Web Services
QPI
122GB 122GB
16 vCPU’s 16 vCPU’s
r3.8xlarge
© 2017, Amazon Web Services
QPI
QPI
QPIQPI
QPI
488GB
488GB
488GB
488GB
32 vCPU’s 32 vCPU’s
32 vCPU’s 32 vCPU’s
x1.32xlarge
© 2017, Amazon Web Services
Tip: Soporte del Kernel para equilibrar NUMA
 Una aplicación funcionará mejor cuando los threads de sus procesos
accedan a la memoria en el mismo nodo NUMA.
 El balanceo NUMA mueve las tareas más cerca de la memoria a la que
está accediendo.
 Todo esto es hecho automáticamente por el kernel de Linux cuando el
balanceo de NUMA automático está activo: versión 3.8+ del kernel de
Linux.
 La compatibilidad con Windows para NUMA apareció por primera vez en
las SKU de Enterprise y Data Center de Windows Server 2003.
 Establezca "numa = off" o utilice numactl para reducir la paginación
NUMA si su aplicación utiliza más memoria de la que cabrá en un solo
socket o tiene threads que se mueven entre sockets
© 2017, Amazon Web Services
Rendimiento de impacto de los sistemas operativos
 Aplicación web de memoria intensiva
 Creado por múltiples threads
 Memoria rápidamente asignada / desasignada
 Comparación del rendimiento de RHEL6 vs RHEL7
 Observe la cantidad alta de tiempo "system" en la parte superior
 Buscar una herramienta de referencia (ebizzy) con un perfil de
rendimiento similar
 Trazado su rendimiento con "perf”
© 2017, Amazon Web Services
En RHEL6
[ec2-user@ip-172-31-12-150-RHEL6 ebizzy-0.3]$ sudo perf stat ./ebizzy -S 10
12,409 records/s
real 10.00 s
user 7.37 s
sys 341.22 s
Performance counter stats for './ebizzy -S 10':
361458.371052 task-clock (msec) # 35.880 CPUs utilized
10,343 context-switches # 0.029 K/sec
2,582 cpu-migrations # 0.007 K/sec
1,418,204 page-faults # 0.004 M/sec
10.074085097 seconds time elapsed
© 2017, Amazon Web Services
RHEL6 Salida del gráfico de flama
www.brendangregg.com/flamegraphs.html
© 2017, Amazon Web Services
En RHEL7
[ec2-user@ip-172-31-7-22-RHEL7 ~]$ sudo perf stat ./ebizzy-0.3/ebizzy -S 10
425,143 records/s
real 10.00 s
user 397.28 s
sys 0.18 s
Performance counter stats for './ebizzy-0.3/ebizzy -S 10':
397515.862535 task-clock (msec) # 39.681 CPUs utilized
25,256 context-switches # 0.064 K/sec
2,201 cpu-migrations # 0.006 K/sec
14,109 page-faults # 0.035 K/sec
10.017856000 seconds time elapsed
Desde 12,400 registros/s!
Abajo de 1,418,204!
© 2017, Amazon Web Services
RHEL7 Salida del gráfico de flama
© 2017, Amazon Web Services
Hardware
Modelo de controlador dividido
Dominio del
controlador
Dominio invitado Dominio invitado
VMM
Controlador
Delantero
Driver
FrontEnd
Controlador
Trasero
Controlador
del
Dispositivo
CPU Físico
Memoria
Física
Dispositivo de
almacenamiento
CPU Virtual
Memoria
Virtual
Programación
de CPU
Sockets
Applicación
1
23
4
5
© 2017, Amazon Web Services
Concesión en Kernels pre-3.8.0
 Requiere "mapeo de concesión" antes de 3.8.0
 Los mapeo de concesión son operaciones costosas debido a descargas de
TLB
SSD
Dominio inter I/O:
(1) Conceder memoria
(2) Escribir en buffer de anillo
(3) Evento de señal
(4) Leer buffer de anillo
(5) Mapeo concedido
(6) Concesiones de lectura o
escritura
(7) Desasignar concesiones
read(fd, buffer,…)
Dominio I/O Instancia
© 2017, Amazon Web Services
Concesión en Kernels 3.8.0+, persistente e indirecto
 Asignaciones de mapeo concesión se configuran en un pool una sola vez
 Los datos se copian dentro y fuera de la concesión del Pool
SSD
read(fd, buffer…)
Dominio I/O Instancia
Concesión de pool
Copiar a y
desde una
concesión
de pool
© 2017, Amazon Web Services
Validación de concesiones persistentes
[ec2-user@ip-172-31-4-129 ~]$ dmesg | egrep -i 'blkfront'
Blkfront and the Xen platform PCI driver have been compiled for this kernel: unplug emulated
disks.
blkfront: xvda: barrier or flush: disabled; persistent grants: enabled; indirect descriptors: enabled;
blkfront: xvdb: flush diskcache: enabled; persistent grants: enabled; indirect descriptors: enabled;
blkfront: xvdc: flush diskcache: enabled; persistent grants: enabled; indirect descriptors: enabled;
blkfront: xvdd: flush diskcache: enabled; persistent grants: enabled; indirect descriptors: enabled;
blkfront: xvde: flush diskcache: enabled; persistent grants: enabled; indirect descriptors: enabled;
blkfront: xvdf: flush diskcache: enabled; persistent grants: enabled; indirect descriptors: enabled;
blkfront: xvdg: flush diskcache: enabled; persistent grants: enabled; indirect descriptors: enabled;
blkfront: xvdh: flush diskcache: enabled; persistent grants: enabled; indirect descriptors: enabled;
blkfront: xvdi: flush diskcache: enabled; persistent grants: enabled; indirect descriptors: enabled;
© 2017, Amazon Web Services
2009 – Hace ya algún tiempo de lo que crees
 Avatar fue la mejor película en los Cines
 Facebook superó a MySpace en usuarios activos
 Presidente Obama realizo su juramentado en el cargo
 El kernel de Linux 2.6.32 fue lanzado
Tip: Utilizar kernel 3.10+
 Amazon Linux 13.09 o posterior
 Ubuntu 14.04 o posterior
 RHEL / Centos 7 o posterior
 Etc.
© 2017, Amazon Web Services
Dispositivo Pass Through: Enhanced Networking
 SR-IOV elimina la necesidad del controlador de dominio
 El dispositivo de red física expone la función virtual a la instancia
 Requiere un controlador especializado, lo que significa:
 Su instancia OS debe saber acerca del driver
 EC2 necesita indicársele que su instancia puede usarlo
© 2017, Amazon Web Services
Hardware
Después de redes mejoradas
Controlador de
Dominio
Dominio Invitado Dominio Invitado
VMM
Controlador
NIC
CPU Físico
Memoria
Física
Controlador de
Red SR-IOV
CPU Virtual
Memoria
Virtual
Programación
CPU
Sockets
Applicación
1
2
3
Controlador
NIC
© 2017, Amazon Web Services
Adaptador de Red Elástico (ENA)
 Próxima generación de redes
mejoradas
 Checksums de hardware
 Soporte de múltiples-colas
 Recepción de Dirección lateral
 20Gbps en un grupo de ubicaciones
 Nuevo controlador de red “Open
Source” por Amazon
© 2017, Amazon Web Services
Rendimiento de la Red
 20 Gigabit y 10 Gigabit
 Medida de una-via, doble que el bidireccional (duplex completo)
 Alto, Moderado, Bajo - Una función del tamaño de instancia y la
optimización de EBS
 No todos creados iguales - Si es importante, probar con “iperf”!
 Utilice ”placement groups” cuando necesite ancho de banda
consistente entre instancias
 Todo el tráfico limitado a 5 Gb/s al salir de EC2
© 2017, Amazon Web Services
Rendimiento EBS
 El tamaño de la instancia afecta
el rendimiento
 Utilizar “EBS optimization” si el
desempeño EBS es importante
© 2017, Amazon Web Services
 Seleccione AMIs HVM
 Timekeeping: utilizar TSC
 Controles de C-state and P-state
 Supervisar los créditos de CPU T2
 Utilice un sistema operativo Linux moderno
 Balanceo NUMA
 Concesiones persistentes para el rendimiento de I/O
 “Enhanced Networking”
 Perfile su aplicación
Resumen: Aprovechar al máximo las instancias de EC2
© 2017, Amazon Web Services
 Objetivo: rendimiento de Bare-metal y en muchos escenarios ya esta
ahí
 Historia de la eliminación de intermediación de hipervisor y
controladores de dominios
 Virtualización asistida por hardware
 Planificación y concesión de eficiencias
 Dispositivo pass through
Temas de virtualización
© 2017, Amazon Web Services
Siguientes pasos
 Visitar la documentación de Amazon EC2
 Iniciar una instancia y probar su aplicación.
© 2017, Amazon Web Services
Últimos 4 meses…..
 EC2 F1 Instances with FPGAs – Now Generally Available
 I3 Instances for Demanding, I/O Intensive Applications
 EC2 Systems Manager – Configure & Manage EC2 and On-
Premises Systems
 New – IPv6 Support for EC2 Instances in Virtual Private Clouds
 In the Works – Amazon EC2 Elastic GPUs
 New – Next Generation (R4) Memory-Optimized EC2 Instances
https://aws.amazon.com/blogs/aws/category/amazon-ec2/
© 2017, Amazon Web Services

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

Construyendo aplicaciones para IoT con AWS
Construyendo aplicaciones para IoT con AWSConstruyendo aplicaciones para IoT con AWS
Construyendo aplicaciones para IoT con AWS
 
Creando su primera aplicación de Big Data en AWS
Creando su primera aplicación de Big Data en AWSCreando su primera aplicación de Big Data en AWS
Creando su primera aplicación de Big Data en AWS
 
Servicios de migración de datos a profundidad
Servicios de migración de datos a profundidadServicios de migración de datos a profundidad
Servicios de migración de datos a profundidad
 
EC2 Cómputo en la nube a profundidad
EC2 Cómputo en la nube a profundidad EC2 Cómputo en la nube a profundidad
EC2 Cómputo en la nube a profundidad
 
Servicios de Storage en AWS
Servicios de Storage en AWSServicios de Storage en AWS
Servicios de Storage en AWS
 
Servicios de bases de datos administradas en AWS
Servicios de bases de datos administradas en AWSServicios de bases de datos administradas en AWS
Servicios de bases de datos administradas en AWS
 
Como reducir costos en AWS
Como reducir costos en AWSComo reducir costos en AWS
Como reducir costos en AWS
 
Escalando para sus primeros 10 millones de usuarios
Escalando para sus primeros 10 millones de usuariosEscalando para sus primeros 10 millones de usuarios
Escalando para sus primeros 10 millones de usuarios
 
Implementando DRP en AWS
Implementando DRP en AWSImplementando DRP en AWS
Implementando DRP en AWS
 
Servicios de storage de AWS
Servicios de storage de AWSServicios de storage de AWS
Servicios de storage de AWS
 
Servicios de Bases de Datos administradas en AWS
Servicios de Bases de Datos administradas en AWS Servicios de Bases de Datos administradas en AWS
Servicios de Bases de Datos administradas en AWS
 
Analizando el TCO para migrar a AWS
Analizando el TCO para migrar a AWSAnalizando el TCO para migrar a AWS
Analizando el TCO para migrar a AWS
 
Servicios de bases de datos administradas en AWS
Servicios de bases de datos administradas en AWSServicios de bases de datos administradas en AWS
Servicios de bases de datos administradas en AWS
 
Servicios de migración de datos a profundidad
Servicios de migración de datos a profundidadServicios de migración de datos a profundidad
Servicios de migración de datos a profundidad
 
Servicios de Storage en AWS
Servicios de Storage en AWSServicios de Storage en AWS
Servicios de Storage en AWS
 
Analizando el TCO para migrar a AWS
Analizando el TCO para migrar a AWSAnalizando el TCO para migrar a AWS
Analizando el TCO para migrar a AWS
 
Creando su primera aplicación de Big Data en AWS
Creando su primera aplicación de Big Data en AWSCreando su primera aplicación de Big Data en AWS
Creando su primera aplicación de Big Data en AWS
 
Comenzando con Arquitecturas sin servidores
Comenzando con Arquitecturas sin servidoresComenzando con Arquitecturas sin servidores
Comenzando con Arquitecturas sin servidores
 
AWS Summit Lima 2015: Key Note Presentation
AWS Summit Lima 2015: Key Note PresentationAWS Summit Lima 2015: Key Note Presentation
AWS Summit Lima 2015: Key Note Presentation
 
Escalando a sus primeros 10 millones de usuarios
Escalando a sus primeros 10 millones de usuarios Escalando a sus primeros 10 millones de usuarios
Escalando a sus primeros 10 millones de usuarios
 

Similar a Instancias Amazon EC2 a profundidad

Presentacion instaladores os debian centos
Presentacion instaladores os debian centosPresentacion instaladores os debian centos
Presentacion instaladores os debian centos
OpenStack-VE
 

Similar a Instancias Amazon EC2 a profundidad (20)

EC2: Cómputo en la nube a profundidad
EC2: Cómputo en la nube a profundidadEC2: Cómputo en la nube a profundidad
EC2: Cómputo en la nube a profundidad
 
Clase Maestra EC2
Clase Maestra EC2Clase Maestra EC2
Clase Maestra EC2
 
EC2: Cómputo en la nube a profundidad
EC2: Cómputo en la nube a profundidad EC2: Cómputo en la nube a profundidad
EC2: Cómputo en la nube a profundidad
 
AWS Summits América Latina 2015- EC2 Computo en la nube
AWS Summits América Latina 2015- EC2 Computo en la nubeAWS Summits América Latina 2015- EC2 Computo en la nube
AWS Summits América Latina 2015- EC2 Computo en la nube
 
AWS Summit Bogotá Track Básico: EC2 & Servicios de Computación.
AWS Summit Bogotá Track Básico: EC2 & Servicios de Computación. AWS Summit Bogotá Track Básico: EC2 & Servicios de Computación.
AWS Summit Bogotá Track Básico: EC2 & Servicios de Computación.
 
Qnap LA 2020
Qnap LA 2020Qnap LA 2020
Qnap LA 2020
 
Informe taller 2 revisado
Informe taller 2 revisadoInforme taller 2 revisado
Informe taller 2 revisado
 
Manual clase VMware
Manual clase VMwareManual clase VMware
Manual clase VMware
 
Lo que siempre has querido saber para exprimir sql server
Lo que siempre has querido saber para exprimir sql serverLo que siempre has querido saber para exprimir sql server
Lo que siempre has querido saber para exprimir sql server
 
Presentacion instaladores os debian centos
Presentacion instaladores os debian centosPresentacion instaladores os debian centos
Presentacion instaladores os debian centos
 
Escalabilidad en azure sql database con elastic scale
Escalabilidad en azure sql database con elastic scaleEscalabilidad en azure sql database con elastic scale
Escalabilidad en azure sql database con elastic scale
 
Cluster
ClusterCluster
Cluster
 
Tuning Lamp
Tuning LampTuning Lamp
Tuning Lamp
 
DotNet 2019 | Pablo Santos Luaces - Como migrar un producto multiplataforma a...
DotNet 2019 | Pablo Santos Luaces - Como migrar un producto multiplataforma a...DotNet 2019 | Pablo Santos Luaces - Como migrar un producto multiplataforma a...
DotNet 2019 | Pablo Santos Luaces - Como migrar un producto multiplataforma a...
 
Comandos utilizados en redes anderson alvarado 6to computacion
Comandos utilizados en redes anderson alvarado 6to computacionComandos utilizados en redes anderson alvarado 6to computacion
Comandos utilizados en redes anderson alvarado 6to computacion
 
Sx embebidos
Sx embebidosSx embebidos
Sx embebidos
 
3 unidad so2
3 unidad so23 unidad so2
3 unidad so2
 
PROCESOS EN LINUX. ::: http://leymebamba.com
PROCESOS EN LINUX.   ::: http://leymebamba.comPROCESOS EN LINUX.   ::: http://leymebamba.com
PROCESOS EN LINUX. ::: http://leymebamba.com
 
Reporte cluster
Reporte clusterReporte cluster
Reporte cluster
 
Virtualizacion mail server.pptx
Virtualizacion mail server.pptxVirtualizacion mail server.pptx
Virtualizacion mail server.pptx
 

Más de Amazon Web Services LATAM

Más de Amazon Web Services LATAM (20)

AWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvemAWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvem
 
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e BackupAWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
 
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
 
AWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvemAWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvem
 
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e BackupAWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
 
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
 
Automatice el proceso de entrega con CI/CD en AWS
Automatice el proceso de entrega con CI/CD en AWSAutomatice el proceso de entrega con CI/CD en AWS
Automatice el proceso de entrega con CI/CD en AWS
 
Automatize seu processo de entrega de software com CI/CD na AWS
Automatize seu processo de entrega de software com CI/CD na AWSAutomatize seu processo de entrega de software com CI/CD na AWS
Automatize seu processo de entrega de software com CI/CD na AWS
 
Cómo empezar con Amazon EKS
Cómo empezar con Amazon EKSCómo empezar con Amazon EKS
Cómo empezar con Amazon EKS
 
Como começar com Amazon EKS
Como começar com Amazon EKSComo começar com Amazon EKS
Como começar com Amazon EKS
 
Ransomware: como recuperar os seus dados na nuvem AWS
Ransomware: como recuperar os seus dados na nuvem AWSRansomware: como recuperar os seus dados na nuvem AWS
Ransomware: como recuperar os seus dados na nuvem AWS
 
Ransomware: cómo recuperar sus datos en la nube de AWS
Ransomware: cómo recuperar sus datos en la nube de AWSRansomware: cómo recuperar sus datos en la nube de AWS
Ransomware: cómo recuperar sus datos en la nube de AWS
 
Ransomware: Estratégias de Mitigação
Ransomware: Estratégias de MitigaçãoRansomware: Estratégias de Mitigação
Ransomware: Estratégias de Mitigação
 
Ransomware: Estratégias de Mitigación
Ransomware: Estratégias de MitigaciónRansomware: Estratégias de Mitigación
Ransomware: Estratégias de Mitigación
 
Aprenda a migrar y transferir datos al usar la nube de AWS
Aprenda a migrar y transferir datos al usar la nube de AWSAprenda a migrar y transferir datos al usar la nube de AWS
Aprenda a migrar y transferir datos al usar la nube de AWS
 
Aprenda como migrar e transferir dados ao utilizar a nuvem da AWS
Aprenda como migrar e transferir dados ao utilizar a nuvem da AWSAprenda como migrar e transferir dados ao utilizar a nuvem da AWS
Aprenda como migrar e transferir dados ao utilizar a nuvem da AWS
 
Cómo mover a un almacenamiento de archivos administrados
Cómo mover a un almacenamiento de archivos administradosCómo mover a un almacenamiento de archivos administrados
Cómo mover a un almacenamiento de archivos administrados
 
Simplifique su BI con AWS
Simplifique su BI con AWSSimplifique su BI con AWS
Simplifique su BI con AWS
 
Simplifique o seu BI com a AWS
Simplifique o seu BI com a AWSSimplifique o seu BI com a AWS
Simplifique o seu BI com a AWS
 
Os benefícios de migrar seus workloads de Big Data para a AWS
Os benefícios de migrar seus workloads de Big Data para a AWSOs benefícios de migrar seus workloads de Big Data para a AWS
Os benefícios de migrar seus workloads de Big Data para a AWS
 

Último

redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
nicho110
 

Último (10)

Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos Basicos
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 

Instancias Amazon EC2 a profundidad

  • 1. EC2: Cómputo en la nube a profundidad Mayo, 2017
  • 2. © 2017, Amazon Web Services Que esperar de esta Sesión • Comprender factores al seleccionar una instancia de EC2 • Definición de rendimiento del sistema y cómo se categoriza para las diferentes cargas de trabajo • Cómo las instancias de Amazon EC2 entregan rendimiento mientras se proporciona flexibilidad y agilidad • Cómo aprovechar al máximo tu experiencia de EC2 a través del lente de los distintos tipos de instancia
  • 3. © 2017, Amazon Web Services API EC2 EC2 Amazon Elastic Compute Cloud es extenso Instancias Redes Opciones de compra
  • 4. © 2017, Amazon Web Services Servidor Físico Hipervisor EC2 1 EC2 2 EC2 n Instancias de Amazon EC2
  • 5. © 2017, Amazon Web Services En el pasado  Lanzado por primera vez en Agosto de 2006  Instancia M1  “Un tamaño para todos” M1
  • 6. © 2017, Amazon Web Services Historia de Amazon EC2 2006 2008 2010 2012 2014 2016 m1.small m1.large m1.xlarge c1.medium c1.xlarge m2.xlarge m2.4xlarge m2.2xlarge cc1.4xlarge t1.micro cg1.4xlarge cc2.8xlarge m1.medium hi1.4xlarge m3.xlarge m3.2xlarge hs1.8xlarge cr1.8xlarge c3.large c3.xlarge c3.2xlarge c3.4xlarge c3.8xlarge g2.2xlarge i2.xlarge i2.2xlarge i2.4xlarge i2.4xlarge m3.medium m3.large r3.large r3.xlarge r3.2xlarge r3.4xlarge r3.8xlarge t2.micro t2.small t2.med c4.large c4.xlarge c4.2xlarge c4.4xlarge c4.8xlarge d2.xlarge d2.2xlarge d2.4xlarge d2.8xlarge g2.8xlarge t2.large m4.large m4.xlarge m4.2xlarge m4.4xlarge m4.10xlarge x1.32xlarge t2.nano m4.16xlarge p2.xlarge p2.8xlarge p2.16xlarge
  • 7. © 2017, Amazon Web Services Generación de Instancias c4.xlarge Familia de Instancia Tamaño de instancia
  • 8. © 2017, Amazon Web Services Familias de Instancia EC2 Propósito general Computo optimizado C3 Almacenamiento e I/O optimizado I2 P2 GPU optimizado Memoria optimizada R4C4 M4 D2 X1 G2
  • 9. © 2017, Amazon Web Services ¿Qué es un CPU virtual? (vCPU)  Un vCPU es típicamente un núcleo físico hyper-threaded *  En Linux, los threads "A" son threads antes de los threads "B”  En Windows, los threads se entrelazan  Dividir el número de vCPU entre 2 para obtener el recuento de núcleos  Tipo de instancia cores por EC2 y RDS DB: https://aws.amazon.com/ec2/virtualcores/ • La familia "t" es especial
  • 10. © 2017, Amazon Web Services
  • 11. © 2017, Amazon Web Services Deshabilitar Hyper-Threading si lo requiere  Útil para aplicaciones pesadas FPU  Utilizar 'lscpu' para validar el diseño  Desconectado de los threads "B" for i in `seq 64 127`; do echo 0 > /sys/devices/system/cpu/cpu${i}/online done  Establecer grub para inicializar sólo la primera mitad de todos los threads maxcpus=63 [ec2-user@ip-172-31-7-218 ~]$ lscpu CPU(s): 128 On-line CPU(s) list: 0-127 Thread(s) per core: 2 Core(s) per socket: 16 Socket(s): 4 NUMA node(s): 4 Model name: Intel(R) Xeon(R) CPU Hypervisor vendor: Xen Virtualization type: full NUMA node0 CPU(s): 0-15,64-79 NUMA node1 CPU(s): 16-31,80-95 NUMA node2 CPU(s): 32-47,96-111 NUMA node3 CPU(s): 48-63,112-127
  • 12. © 2017, Amazon Web Services
  • 13. © 2017, Amazon Web Services Tamaño de instancia c4.8xlarge 2 - c4.4xlarge ≈ 4 - c4.2xlarge ≈ 8 - c4.xlarge ≈
  • 14. © 2017, Amazon Web Services Asignación de recursos  Todos los recursos asignados están dedicados a su instancia sin ser sobre comprometidos (over commitment)*  Todos los vCPUs están dedicados a usted  La memoria asignada se asigna sólo a su instancia  Los recursos de red son particionados para evitar "vecinos ruidosos”  ¿Curioso sobre el número de instancias por host? Utilizar "Hosts Dedicados" como una guía. *Again, the “T” family is special
  • 15. © 2017, Amazon Web Services "Lanzar nuevas instancias y ejecutar pruebas en paralelo es fácil ... [al elegir una instancia] no hay sustituto para medir el rendimiento de su aplicación completamente". - EC2 documentation
  • 16. © 2017, Amazon Web Services Explicación de Timekeeping  Timekeeping en una instancia es engañosamente difícil  gettimeofday(), clock_gettime(), QueryPerformanceCounter()  El TSC  Contador de CPU, accesible desde el espacio de usuario  Requiere calibración, vDSO  Invariante sobre Sandy Bridge+ procesadores  Invariant on Sandy Bridge+ processors  Xen pvclock; No soporta vDSO  En instancias de generación actuales, utilice TSC como origen de reloj (clocksource)
  • 17. © 2017, Amazon Web Services Evaluación comparativa - Aplicación de tiempo intensivo #include <sys/time.h> #include <time.h> #include <stdio.h> #include <unistd.h> int main() { time_t start,end; time (&start); for ( int x = 0; x < 100000000; x++ ) { float f; float g; float h; f = 123456789.0f; g = 123456789.0f; h = f * g; struct timeval tv; gettimeofday(&tv, NULL); } time (&end); double dif = difftime (end,start); printf ("Elasped time is %.2lf seconds.n", dif ); return 0; }
  • 18. © 2017, Amazon Web Services Uso de la fuente de reloj Xen [centos@ip-192-168-1-77 testbench]$ strace -c ./test Elasped time is 12.00 seconds. % time seconds usecs/call calls errors syscall ------ ----------- ----------- --------- --------- ---------------- 99.99 3.322956 2 2001862 gettimeofday 0.00 0.000096 6 16 mmap 0.00 0.000050 5 10 mprotect 0.00 0.000038 8 5 open 0.00 0.000026 5 5 fstat 0.00 0.000025 5 5 close 0.00 0.000023 6 4 read 0.00 0.000008 8 1 1 access 0.00 0.000006 6 1 brk 0.00 0.000006 6 1 execve 0.00 0.000005 5 1 arch_prctl 0.00 0.000000 0 1 munmap ------ ----------- ----------- --------- --------- ---------------- 100.00 3.323239 2001912 1 total
  • 19. © 2017, Amazon Web Services Uso de la fuente de reloj TSC [centos@ip-192-168-1-77 testbench]$ strace -c ./test Elasped time is 2.00 seconds. % time seconds usecs/call calls errors syscall ------ ----------- ----------- --------- --------- ---------------- 32.97 0.000121 7 17 mmap 20.98 0.000077 8 10 mprotect 11.72 0.000043 9 5 open 10.08 0.000037 7 5 close 7.36 0.000027 5 6 fstat 6.81 0.000025 6 4 read 2.72 0.000010 10 1 munmap 2.18 0.000008 8 1 1 access 1.91 0.000007 7 1 execve 1.63 0.000006 6 1 brk 1.63 0.000006 6 1 arch_prctl 0.00 0.000000 0 1 write ------ ----------- ----------- --------- --------- ---------------- 100.00 0.000367 53 1 total
  • 20. © 2017, Amazon Web Services Cambiar con: Tip: Utilice TSC como origen de reloj
  • 21. © 2017, Amazon Web Services Control de P-state y C-state  c4.8xlarge, d2.8xlarge, m4.10xlarge, m4.16xlarge, p2.16xlarge, x1.16xlarge, x1.32xlarge  Al entrar en estados inactivos más profundos, los núcleos no inactivos pueden alcanzar frecuencias de reloj superiores a 300MHz  Pero ... estados inactivos más profundos requieren más tiempo para salir, pueden no ser apropiados para cargas de trabajo sensibles a la latencia  Limitando el c-state agregando “intel_idle.max_cstate=1” to grub
  • 22. © 2017, Amazon Web Services Tip: Control de P-state Control para AVX2  Si una aplicación hace uso intensivo de AVX2 en todos los núcleos, el procesador puede tratar de obtener más energía de lo que debería  El procesador reducirá de forma transparente la frecuencia  Cambios frecuentes de la frecuencia de CPU pueden ralentizar una aplicación sudo sh -c "echo 1 > /sys/devices/system/cpu/intel_pstate/no_turbo" Ver también: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/processor_state_control.html
  • 23. © 2017, Amazon Web Services Revisión: Instancias T2  Instancia EC2 de menor costo a $ 0.0065 por hora  Rendimiento Dinámico (Burstable)  Asignación fija reforzada con créditos de CPU Modelo vCPU Linea Base Créditos CPU / Hora Memoria (GiB) Almacenamiento t2.nano 1 5% 3 .5 Solo EBS t2.micro 1 10% 6 1 Solo EBS t2.small 1 20% 12 2 Solo EBS t2.medium 2 40%** 24 4 Solo EBS t2.large 2 60%** 36 8 Solo EBS Propósito general, servicio web, entornos de desarrollo, bases de datos pequeñas
  • 24. © 2017, Amazon Web Services Cómo funcionan los créditos  Un crédito de CPU proporciona el rendimiento de un núcleo de CPU completo durante un minuto  Una instancia gana créditos de CPU a un ritmo constante  Una instancia consume créditos cuando está activa  Los créditos caducan después de 24 horas Tasa de referencia Balance del crédito Tasa Dinámica
  • 25. © 2017, Amazon Web Services Tip: Supervisar el saldo de crédito CPU
  • 26. © 2017, Amazon Web Services Tecnología Intel https://aws.amazon.com/intel/
  • 27. © 2017, Amazon Web Services Revisión: Instancias X1  La mayor instancia de memoria con 2 TB de DRAM  Socket quadcore, procesadores Intel E7 con 128 vCPU Modelo vCPU Memoria (GiB) Almacenamiento local Red x1.16xlarge 64 976 1x 1920GB SSD 10Gbps x1.32xlarge 128 1952 2x 1920GB SSD 20Gbps Bases de datos en memoria, gran procesamiento de datos, cargas de trabajo HPC
  • 28. © 2017, Amazon Web Services NUMA  Acceso a memoria no-uniforme  Cada procesador en un sistema multi-CPU tiene memoria local que es accesible a través de una interconexión rápida  Cada procesador también puede acceder a la memoria de otros CPUs, pero el acceso a la memoria local es mucho más rápido que la memoria remota  El rendimiento está relacionado con el número de sockets de CPU y cómo están conectados - Intel QuickPath Interconnect (QPI)
  • 29. © 2017, Amazon Web Services QPI 122GB 122GB 16 vCPU’s 16 vCPU’s r3.8xlarge
  • 30. © 2017, Amazon Web Services QPI QPI QPIQPI QPI 488GB 488GB 488GB 488GB 32 vCPU’s 32 vCPU’s 32 vCPU’s 32 vCPU’s x1.32xlarge
  • 31. © 2017, Amazon Web Services Tip: Soporte del Kernel para equilibrar NUMA  Una aplicación funcionará mejor cuando los threads de sus procesos accedan a la memoria en el mismo nodo NUMA.  El balanceo NUMA mueve las tareas más cerca de la memoria a la que está accediendo.  Todo esto es hecho automáticamente por el kernel de Linux cuando el balanceo de NUMA automático está activo: versión 3.8+ del kernel de Linux.  La compatibilidad con Windows para NUMA apareció por primera vez en las SKU de Enterprise y Data Center de Windows Server 2003.  Establezca "numa = off" o utilice numactl para reducir la paginación NUMA si su aplicación utiliza más memoria de la que cabrá en un solo socket o tiene threads que se mueven entre sockets
  • 32. © 2017, Amazon Web Services Rendimiento de impacto de los sistemas operativos  Aplicación web de memoria intensiva  Creado por múltiples threads  Memoria rápidamente asignada / desasignada  Comparación del rendimiento de RHEL6 vs RHEL7  Observe la cantidad alta de tiempo "system" en la parte superior  Buscar una herramienta de referencia (ebizzy) con un perfil de rendimiento similar  Trazado su rendimiento con "perf”
  • 33. © 2017, Amazon Web Services En RHEL6 [ec2-user@ip-172-31-12-150-RHEL6 ebizzy-0.3]$ sudo perf stat ./ebizzy -S 10 12,409 records/s real 10.00 s user 7.37 s sys 341.22 s Performance counter stats for './ebizzy -S 10': 361458.371052 task-clock (msec) # 35.880 CPUs utilized 10,343 context-switches # 0.029 K/sec 2,582 cpu-migrations # 0.007 K/sec 1,418,204 page-faults # 0.004 M/sec 10.074085097 seconds time elapsed
  • 34. © 2017, Amazon Web Services RHEL6 Salida del gráfico de flama www.brendangregg.com/flamegraphs.html
  • 35. © 2017, Amazon Web Services En RHEL7 [ec2-user@ip-172-31-7-22-RHEL7 ~]$ sudo perf stat ./ebizzy-0.3/ebizzy -S 10 425,143 records/s real 10.00 s user 397.28 s sys 0.18 s Performance counter stats for './ebizzy-0.3/ebizzy -S 10': 397515.862535 task-clock (msec) # 39.681 CPUs utilized 25,256 context-switches # 0.064 K/sec 2,201 cpu-migrations # 0.006 K/sec 14,109 page-faults # 0.035 K/sec 10.017856000 seconds time elapsed Desde 12,400 registros/s! Abajo de 1,418,204!
  • 36. © 2017, Amazon Web Services RHEL7 Salida del gráfico de flama
  • 37. © 2017, Amazon Web Services Hardware Modelo de controlador dividido Dominio del controlador Dominio invitado Dominio invitado VMM Controlador Delantero Driver FrontEnd Controlador Trasero Controlador del Dispositivo CPU Físico Memoria Física Dispositivo de almacenamiento CPU Virtual Memoria Virtual Programación de CPU Sockets Applicación 1 23 4 5
  • 38. © 2017, Amazon Web Services Concesión en Kernels pre-3.8.0  Requiere "mapeo de concesión" antes de 3.8.0  Los mapeo de concesión son operaciones costosas debido a descargas de TLB SSD Dominio inter I/O: (1) Conceder memoria (2) Escribir en buffer de anillo (3) Evento de señal (4) Leer buffer de anillo (5) Mapeo concedido (6) Concesiones de lectura o escritura (7) Desasignar concesiones read(fd, buffer,…) Dominio I/O Instancia
  • 39. © 2017, Amazon Web Services Concesión en Kernels 3.8.0+, persistente e indirecto  Asignaciones de mapeo concesión se configuran en un pool una sola vez  Los datos se copian dentro y fuera de la concesión del Pool SSD read(fd, buffer…) Dominio I/O Instancia Concesión de pool Copiar a y desde una concesión de pool
  • 40. © 2017, Amazon Web Services Validación de concesiones persistentes [ec2-user@ip-172-31-4-129 ~]$ dmesg | egrep -i 'blkfront' Blkfront and the Xen platform PCI driver have been compiled for this kernel: unplug emulated disks. blkfront: xvda: barrier or flush: disabled; persistent grants: enabled; indirect descriptors: enabled; blkfront: xvdb: flush diskcache: enabled; persistent grants: enabled; indirect descriptors: enabled; blkfront: xvdc: flush diskcache: enabled; persistent grants: enabled; indirect descriptors: enabled; blkfront: xvdd: flush diskcache: enabled; persistent grants: enabled; indirect descriptors: enabled; blkfront: xvde: flush diskcache: enabled; persistent grants: enabled; indirect descriptors: enabled; blkfront: xvdf: flush diskcache: enabled; persistent grants: enabled; indirect descriptors: enabled; blkfront: xvdg: flush diskcache: enabled; persistent grants: enabled; indirect descriptors: enabled; blkfront: xvdh: flush diskcache: enabled; persistent grants: enabled; indirect descriptors: enabled; blkfront: xvdi: flush diskcache: enabled; persistent grants: enabled; indirect descriptors: enabled;
  • 41. © 2017, Amazon Web Services 2009 – Hace ya algún tiempo de lo que crees  Avatar fue la mejor película en los Cines  Facebook superó a MySpace en usuarios activos  Presidente Obama realizo su juramentado en el cargo  El kernel de Linux 2.6.32 fue lanzado Tip: Utilizar kernel 3.10+  Amazon Linux 13.09 o posterior  Ubuntu 14.04 o posterior  RHEL / Centos 7 o posterior  Etc.
  • 42. © 2017, Amazon Web Services Dispositivo Pass Through: Enhanced Networking  SR-IOV elimina la necesidad del controlador de dominio  El dispositivo de red física expone la función virtual a la instancia  Requiere un controlador especializado, lo que significa:  Su instancia OS debe saber acerca del driver  EC2 necesita indicársele que su instancia puede usarlo
  • 43. © 2017, Amazon Web Services Hardware Después de redes mejoradas Controlador de Dominio Dominio Invitado Dominio Invitado VMM Controlador NIC CPU Físico Memoria Física Controlador de Red SR-IOV CPU Virtual Memoria Virtual Programación CPU Sockets Applicación 1 2 3 Controlador NIC
  • 44. © 2017, Amazon Web Services Adaptador de Red Elástico (ENA)  Próxima generación de redes mejoradas  Checksums de hardware  Soporte de múltiples-colas  Recepción de Dirección lateral  20Gbps en un grupo de ubicaciones  Nuevo controlador de red “Open Source” por Amazon
  • 45. © 2017, Amazon Web Services Rendimiento de la Red  20 Gigabit y 10 Gigabit  Medida de una-via, doble que el bidireccional (duplex completo)  Alto, Moderado, Bajo - Una función del tamaño de instancia y la optimización de EBS  No todos creados iguales - Si es importante, probar con “iperf”!  Utilice ”placement groups” cuando necesite ancho de banda consistente entre instancias  Todo el tráfico limitado a 5 Gb/s al salir de EC2
  • 46. © 2017, Amazon Web Services Rendimiento EBS  El tamaño de la instancia afecta el rendimiento  Utilizar “EBS optimization” si el desempeño EBS es importante
  • 47. © 2017, Amazon Web Services  Seleccione AMIs HVM  Timekeeping: utilizar TSC  Controles de C-state and P-state  Supervisar los créditos de CPU T2  Utilice un sistema operativo Linux moderno  Balanceo NUMA  Concesiones persistentes para el rendimiento de I/O  “Enhanced Networking”  Perfile su aplicación Resumen: Aprovechar al máximo las instancias de EC2
  • 48. © 2017, Amazon Web Services  Objetivo: rendimiento de Bare-metal y en muchos escenarios ya esta ahí  Historia de la eliminación de intermediación de hipervisor y controladores de dominios  Virtualización asistida por hardware  Planificación y concesión de eficiencias  Dispositivo pass through Temas de virtualización
  • 49. © 2017, Amazon Web Services Siguientes pasos  Visitar la documentación de Amazon EC2  Iniciar una instancia y probar su aplicación.
  • 50. © 2017, Amazon Web Services Últimos 4 meses…..  EC2 F1 Instances with FPGAs – Now Generally Available  I3 Instances for Demanding, I/O Intensive Applications  EC2 Systems Manager – Configure & Manage EC2 and On- Premises Systems  New – IPv6 Support for EC2 Instances in Virtual Private Clouds  In the Works – Amazon EC2 Elastic GPUs  New – Next Generation (R4) Memory-Optimized EC2 Instances https://aws.amazon.com/blogs/aws/category/amazon-ec2/
  • 51. © 2017, Amazon Web Services