5. Qué esperar de esta sesión ?
• Revisión Instancias X1
• Definir el desempeño de un sistema y cómo se caracteriza
para diferentes cargas de trabajo
• Cómo las instancias EC2 ofrecen un óptimo desempeño,
manteniendo flexibilidad y agilidad
• Cómo aprovechar de mejor manera el uso de las instancias
EC2
2016
8. Alto Desempeño
• Tipo x1.32xlarge
• 2TB Memoria (DDR4)
• 128 vCPU’s
• Intel Xeon E7 8880 v3 (Haswell)
• Tecnología Intel Transactional Synchronization
Extensions (TSX) para desempeño en
procesamiento transaccional en memoria
• Tecnología Intel Advanced Vector Extensions 2
(Intel AVX2) para expansión de comandos
numéricos a 256 bits
9. Alto Rendimiento de Almacenamiento
• 10Gbps de ancho de banda dedicado para
EBS
• 10Gbps de ancho de banda para red
• Optimizada para EBS sin costo adicional
• Instancia certificada para ambientes de
producción de SAP HANA en AWS
• S/4 HANA
• Business Suite en HANA (SoH)
• Business Warehouse en HANA
(BW)
• DataMart Solutions en HANA
10. Alta Disponibilidad y Confiabilidad
• Single Device Data Correction
(SDDC+1)
• Detecta y corrige errores multi-bit
• CloudFormation+EC2 Auto Recovery =
HA/DR
• Para SAP HANA, se puede utilizar HANA
System Replication (HSR)
11. Reduce Costos y reduce esfuerzos de
administración
• Disponible Bajo Demanda e
Instancia Reservada
• Actualmente disponible en:
• US East (Virginia)
• US West (Oregon)
• EU (Ireland)
• EU (Frankfurt)
• Asia Pacific (Tokyo)
• Asia Pacific (Singapore)
• Asia Pacific (Sydney)
• Más regiones muy pronto ...
12. Quiero usar las Instancias X1 !!
• Llenar la forma en línea para solicitar el acceso a las
instancias
• Leer la documentación en el sitio de AWS
14. Reserva de un servidor
• Los servidores son reservados para realizar trabajos
• El desempeño de mide de manera diferente
dependiendo del trabajo que se realice
15. • Lo que desempeño significa,
depende de la perspectiva:
• Tiempo de respuesta
• Rendimiento
• Consistencia
Desempeño = perspectiva
Aplicación
Librerías de Sistema
Llamadas a sistema
Kernel
Dispositivo
Carga
16. Factores de desempeño
Recurso Factores Indicadores
CPU Sockets, número de núcleos,
frecuencia de reloj, capacidad
Utilización de CPU, tamaño de la cola
de ejecución
Memoria Capacidad Memoria libre, paginación, swapping
Interfaz de
Red
Ancho de Banda Máximo, paquetes Cantidad paquetes recibidos,
transferencia de paquetes sobre el
máximo ancho de banda
Disco IOPS, Desempeño Tamaño de cola en espera, utilización
de dispositivos, errores en los
dispositivos
17. Utilización de Recursos
• Dada una carga, qué tan eficientemente se utilizan los
recursos
• Un recurso con utilización del 100% no puede recibir o
atender más peticiones
• Baja utilización indica que se han reservado más
recursos de los necesarios
18. Ejemplo: Aplicación Web
• MediaWiki instalado en un servidor Apache con 140
páginas de contenido
• Incremento de carga en intervalos de tiempo
23. Selección de instancia = optimización
• La selección de una instancia es equivalente a la
optimización de los recursos
• Dar de baja instancias es tan fácil como adquirir nuevas
• Alinear el tipo de carga con el tipo de instancia óptimo
25. Instrucciones de CPU y Niveles de Protección
• CPU tiene dos niveles de protección: Kernel y Aplicación
• Instrucciones privilegiadas no se pueden ejecutar en
modo usuario para proteger el sistema.
• Aplicaciones apalancan las llamadas al sistema al
kernel
Instrucciones privilegiadas:
• Inicio de I/O
• Acceso a I/O de Dispositivos
(red, disco)
• Manejo del tiempo
• Pausa CPU Aplicación
Kernel
27. Porqué PV-HVM es más rápido que PV ?
• PV-HVM permite que las aplicaciones llamen directamente al kernel
• PV la aplicación tiene que pasar por el VMM
• Las aplicaciones basadas en llamadas a sistema, son las más
afectadas
Aplicación
Kernel VMM
Aplicación
Kernel
VMM
Kernel
Aplicación
Bare Metal PV PV-HVM
Antes de Intel VT-x Después de Intel VT-x
30. Manejo del tiempo
• El manejo del tiempo puede ser costoso para una
instancia
• Rutinas como gettimeofday() resultan en una rutina de
lectura a una fuente de tiempo que termina en una
transición hacia el ring0 (kernel)
33. Instancias EC2
• Intel Turbo Boost Technology
• Control de los Estados P y C
Model vCPU Memory (GiB) EBS (Mbps)
c4.8xlarge 36 60 4,000
d2.8xlarge 36 244 HDD Storage
m4.10xlarge 40 160 4,000
34. Controles de Estado C y P
• Controles de Estado C y P
• Estado-C
• Controla el nivel de reposo al que puede llegar un núcleo
• Numerados del C0 (el núcleo está trabajando normalmente y
ejecutando instrucciones) al C6 (el núcleo está apagado)
• Estado-P
• Controla el nivel de desempeño deseado en un núcleo
• Numerados del P0 (el mayor desempeño en el núcleo en donde
tiene permitido usar la tecnología Turbo Boost de Intel que
permite incrementar la frecuencia), y luego va del P1 (solicita la
máxima frecuencia base) al P15 (solicita la mínima frecuencia
posible)
35. Controles de Estado C y P
• Beneficios
• Incrementar el desempeño del procesador
• Reducir latencia
• Optimización de una instancia para una carga de trabajo o
aplicación específica
37. Controles de Estado C y P
• Ejemplo (Limitar el Estado C)
Herramienta turbostat (disponible por defecto en las instancias Amazon Linux)
[ec2-user ~]$ sudo vim /boot/grub/grub.conf
# created by imagebuilder
default=0
timeout=1
hiddenmenu
title Amazon Linux 2014.09 (3.14.26-24.46.amzn1.x86_64)
root (hd0,0)
kernel /boot/vmlinuz-3.14.26-24.46.amzn1.x86_64 root=LABEL=/ console=ttyS0 intel_idle.max_cstate=1
initrd /boot/initramfs-3.14.26-24.46.amzn1.x86_64.img
38. Tip: Estado P para AVX2
• Las cargas de trabajo de tipo AVX o AVX2 (Intel
Advanced Vector Extensions) se desenvuelven mejor en
frecuencias bajas porque pueden usar mayor energía
• Al ejecutar el procesador a baja frecuencia,
deshabilitando Turbo Boost, se reduce la cantidad de
energía usada y mantiene la velocidad de manera
consistente
39. Tip: Estado P para AVX2
• Ejemplo (Deshabilitar Turbo Boost, solicitando el estado
P1)
• Ejemplo (Habilitar Turbo Boost, solicitando el estado P0)
[ec2-user ~]$ sudo sh -c "echo 1 > /sys/devices/system/cpu/intel_pstate/no_turbo"
[ec2-user ~]$ sudo sh -c "echo 0 > /sys/devices/system/cpu/intel_pstate/no_turbo"
41. Virtualización de I/O y Dispositivos
• Split Driver Model
• Intel VT-d
• Paso directo para dispositivos dedicados
• Enhanced Networking
42. Split Driver Model : Red
Hardware
Driver Domain Guest Domain Guest Domain
VMM
Frontend
driver
Frontend
driver
Backend
driver
Device
Driver
Physical
CPU
Physical
Memory
Network
Device
Virtual CPU
Virtual
Memory
CPU
Scheduling
Sockets
Application
43. Split Driver Model : Red
Hardware
Driver Domain Guest Domain Guest Domain
VMM
Frontend
driver
Frontend
driver
Backend
driver
Device
Driver
Physical
CPU
Physical
Memory
Network
Device
Virtual CPU
Virtual
Memory
CPU
Scheduling
Sockets
Application
44. Split Driver Model : Red
Hardware
Driver Domain Guest Domain Guest Domain
VMM
Frontend
driver
Frontend
driver
Backend
driver
Device
Driver
Physical
CPU
Physical
Memory
Network
Device
Virtual CPU
Virtual
Memory
CPU
Scheduling
Sockets
Application
45. Split Driver Model : Red
Hardware
Driver Domain Guest Domain Guest Domain
VMM
Frontend
driver
Frontend
driver
Backend
driver
Device
Driver
Physical
CPU
Physical
Memory
Network
Device
Virtual CPU
Virtual
Memory
CPU
Scheduling
Sockets
Application
46. Split Driver Model : Red
Hardware
Driver Domain Guest Domain Guest Domain
VMM
Frontend
driver
Frontend
driver
Backend
driver
Device
Driver
Physical
CPU
Physical
Memory
Network
Device
Virtual CPU
Virtual
Memory
CPU
Scheduling
Sockets
Application
47. Paso Directo al Dispositivo: Enhanced Networking
• El dispositivo físico de red expone una función virtual a
la instancia
• Requiere un driver especial:
• El sistema operativo de la instancia necesita saber sobre el
driver
48. Paso Directo al Dispositivo: Enhanced Networking
Hardware
Driver Domain Guest Domain Guest Domain
VMM
Frontend
driver
NIC
Driver
Backend
driver
Device
Driver
Physical
CPU
Physical
Memory
SR-IOV Network
Device
Virtual CPU
Virtual
Memory
CPU
Scheduling
Sockets
Application
49. Paso Directo al Dispositivo: Enhanced Networking
Hardware
Driver Domain Guest Domain Guest Domain
VMM
Frontend
driver
NIC
Driver
Backend
driver
Device
Driver
Physical
CPU
Physical
Memory
SR-IOV Network
Device
Virtual CPU
Virtual
Memory
CPU
Scheduling
Sockets
Application
50. Paso Directo al Dispositivo: Enhanced Networking
Hardware
Driver Domain Guest Domain Guest Domain
VMM
Frontend
driver
NIC
Driver
Backend
driver
Device
Driver
Physical
CPU
Physical
Memory
SR-IOV Network
Device
Virtual CPU
Virtual
Memory
CPU
Scheduling
Sockets
Application
51. Tip: Usar Enhanced Networking
• Mayor cantidad de paquetes por segundo
• Menor varianza en latencia
• El Sistema Operativo de la instancia debe soportarlo
52. Resumen
• Las nuevas Instancias X1 están diseñadas para ejecutar
aplicaciones en memoria o bases de datos en memoria
• Usar PV-HVM
• Usar TSC para el manejo de tiempo
• Aprovechar los controles de Estado C y P
• Usar Enhanced Networking
• Usar kernels posteriores a la versión 3.8.0