Virtualizacion y Arquitecturas Paralelas

ARQUITECTURA DE COMPUTADORAS Virtualización Es la creación a través de software de una versión virtual de algún recurso

Views 61 Downloads 4 File size 106KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

ARQUITECTURA DE COMPUTADORAS Virtualización Es la creación a través de software de una versión virtual de algún recurso tecnológico, como puede ser una plataforma de hardware, un sistema operativo, un dispositivo de almacenamiento u otros recursos de red. Tipos de virtualización  Emulación Se emula un tipo de arquitectura en otra (PearPC, PPC, SmartPhone)  Nativa (o total) La máquina virtual emula una cantidad suficiente de hardware como para que muchas instancias de un SO no modificado funcionen concurrentemente  Para-virtualización La maquina virtual (hypervisor) no necesariamente se emula el hardware, sino que en su lugar (o además) ofrece una serie de APIs a un SO conveniente modificado para utilizarlas (hypercalls)  Virtualización a nivel de Sistema Operativo Los SO “guests” comparten el mismo kernel que el SO “host” creándose diferentes instancias del mismo SO independientes entre si.  Virtualización de aplicaciones Las aplicaciones poseen su propio entorno virtualizado con todo lo necesario para ejecutarse sobre un servidor o un cliente (registro, sistema de archivos, librerías etc.) Diseño del hypervisor     

Aislamiento Seguridad Rendimiento Virtualización asistida por hardware Simplicidad

Características de la virtualización o o o o o o o

Pocas o ninguna limitación a la hora de virtualizar workloads. Particiones hijas tanto de 32-bit (x86) como de 64-bit (x64) >32GB de memoria en máquinas virtuales Maquinas Virtuales SMP con 2/4/8/16…. cores Acceso a disco Pass-through para VMs Nueva arquitectura para compartición de hardware (VSP/VSC) Disco, red, entrada, video.

o Networking robusto  Soporte de VLAN, NAT, Quarantine  Agregar NICs a las VM en caliente o Soporte de Server Core” como partición “padre”  Menor superficie de ataque  Menores recursos consumidos Integración con políticas de grupo Interfaz de Scripting Monitorización de estado de salud Contadores de utilización (Uso de recursos à €€€) Soporte a SO “guests” de otros fabricantes Conexión en caliente de casi cualquier tipo de almacenamiento a las VM o Posibilidad de sacar Snapshots de las máquinas virtuales o Control flexible de recursos  Posibilidad de establecer niveles mínimos y máximos de los recursos de CPU y red. o Manipulación Offline del virtual hard disk (.vhd) o o o o o o

Alcances de la virtualización 









Infraestructura o Agilidad o Mejor utilización de los recursos o Colaboración IVHs para mejor rendimiento Aplicaciones o Acelerar los despliegues o Reducir costes de soporte o Hacer las aplicaciones de los servicios dinámicos Administración o Facilitar la consolidación o Mejor utilización de los recursos de gestión o Liberar de costes a los departamentos de TI Interoperabilidad o Soporte de escenarios heterogéneos o Formato vhd abierto o Colaboración de ISVs Licencia o Licencias más flexibles, barato y simplificado

Arquitecturas Paralelas Objetivo: Lograr computadoras con alto perfomance.

Puntos a considerar: Tecnologías de circuitos más veloz, grandes caches, buses rápido y múltiples, pipeling,, mejoras en arquitecturas superescalares. Definición: Arquitectura con varios CPU’s que ejecutan programas que resuelven una cierta aplicación. Organización de las arquitecturas: número y complejidad de procesadores, recursos comunes (memoria compartida), topología de interconexión, performance de la red de interconexión, dispositivos I/O. Clasificación según Flynn 1.- Single instruction single data stream (SISD) // Instrucción única único flujo de datos. 2.- SIMD (Simple instrucción múltiple data) 2.1. Con memoria compartida 2.2. Sin memoria compartida 3.- MIMD (Múltiple instrucción múltiple data) 3.1. Con memoria compartida 3.2. Sin memoria compartida Visión en conjunto de la arquitectura -Serial -Procesadores vectoriales -Memoria compartida -SMP-Symetric Multriprocessor • También llamado Shared Memory multiProcessor • Cada procesador tiene propia cache, pero comparte memoria global • Cada procesador esta “equi-distante” de la memory • Uses a bus compartido o una inteconexión crossbar. • Numero de procesadores esta entre 2 to 64 • Sistemas 32-bit and 64-bit • Memoria (32 GBytes) Ventajas • Facil para programar - cada procesador puede accessar toda la memoria • Buena performance • Gran caches ayuda a reducir demanda de ancho de banda • porting tools (serial->SMP) • Un incremento de mejora en la performance se da sobre architectures seriales Desventajas • Problemas de interconexión • Para buena performance, mantener las caches consistentes lo que implica mejoras en el hardware -cc-NUMA -Memoria repartida

• • • • •

-MPP –Massive Parallel Processor Forma de comunicaciòn basada en Paso de Mensajes Puede ser como sistema cc-NUMA que tiene CPU, local memory, interface de red y switch de red La comunicacion es a nivel de I/O level en sistema MPP(MultiProcess Paralell) y cc-NUMA system La comunicacion es a traves de librarìa o llamadas a sistema No hay memoria coherente de cache -Beowulf Clusters -Hybrids

Procesadores Multicore • Multicore quiere decir:  Un dispositivo con dos o mas CPU core  Compartición coherente de un espacio de memoria.  Hay arquitecturas con multiples cores, pero no pueden ser llamados multicore  Chips de múltiples CPU sin memoria compartida coherente  GPGPUs (Unidades de proc.Grafico de propósitos generales)  MPPAs (Arreglo de Procesadores Paralelos masivamente) Multicores actuales o Los CPUs multicore o Los multicore x86 o Cortex-A9 de ARM Red de interconexión • La Red de Interconexión influencia sobre la performance y el costo de un Sistema Paralelo. • El tráfico en la red es de transferencia de datos y transferencia de requerimientos y comandos. • Los parámetros claves son: * El ancho de banda total (bits/seg) * Costo Tipos de redes de interconexión  Bus o Son simples y baratas. o Ancho de banda compartido por los nodos. o Performance relativamente pobre. o Número de nodos limitados para performance permisible.  Malla o Nodos conectados entre sí. o Comunicación paralela entre par de nodos.



o Performance y costos altos. o Costo aumenta con el número de nodos. o 10 conexiones entre los nodos. Barras cruzadas o Los puntos de cruce son dinámicos. o Cualquier nodo se conecta con otro. o Estáticamente pocas conexiones pero bastantes switchs. o Gran número de comunicaciones paralelas se ejecutan.



Mesh o Son más baratas que la malla o Proveen relativamente buena performance o Para comunicarse entre dos nodos, se rutea necesariamente en máximo 2*(n-1) nodos intermedios en red Mesh n*n o Existen implementaciones de redes tipo Mesh de tres dimensiones



Hypercubo o 2n nodos se arreglan en cubo de n dimensiones. o Cada uno conectado a sus vecinos. o Transmisión entre nodos por ruteo (máximo n intermedios). o 32 conexiones entre los nodos.

Procesadores vectoriales    

No son Procesadores Paralelos o varios cpu’s en paralelo. Son procesadores SISD con Instr. Vectoriales y pipelines. Usan Registros Vector de 64 o 128 palabras. Permite operaciones vectoriales a nivel de máquina.