Arquitectura de Computadores II Clase #17

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Arquitectura de Computadores II Clase #17"

Transcripción

1 Arquitectura de Computadores II Clase #17 Facultad de Ingeniería Universidad de la República Instituto de Computación Curso 2009 Veremos Arquitecturas Paralelas 1

2 Taxonomía de Arquitecturas Paralelas (Flynn) Single instruction, single data stream: SISD Single instruction, multiple data stream: SIMD Multiple instruction, single data stream: MISD Multiple instruction, multiple data stream: MIMD Single Instruction, Single Data Stream - SISD Procesador único Flujo de instrucciones único Datos almacenados en memoria no compartida Ya lo vimos 2

3 Single Instruction, Multiple Data Stream - SIMD Cada instrucción de máquina controla la ejecución simultánea y sincronizada paso a paso sobre una cantidad de elementos de proceso Cada elemento de proceso tiene una memoria asociada Cada instrucción es ejecutada por cada procesador sobre un conjunto de datos diferentes Procesadores vectoriales y matriciales Procesamiento multimedia Procesadores Vectoriales (1/2) Problemas matemáticos que involucran procesos físicos presentan dificultades computacionales Aerodinámica, sismología, meteorología Simulaciones de campo continuo Alta precisión Cálculos repetitivos de punto flotante sobre grandes arrays de números Supercomputadores manejas estos problemas Cientos de millones de flops Muy costosos ($10-15 millones USD) Optimizados para cálculo Multitarea, I/O NO prioritarios (SI en mainframes) Mercado limitado I+D, gobierno, meteorología 3

4 Procesadores Vectoriales (2/2) Inicialmente desarrollados para aplicaciones de supercomputación, hoy en día son importantes en proceso multimedia Operaciones de alto nivel que operan sobre arrays de escalares: "vectores" SCALAR (1 operation) r1 + r3 r2 add r3, r1, r2 VECTOR (N operations) v1 + v3 v2 vector length vadd.vv v3, v1, v2 Propiedades de los Procesadores Vectoriales Se completa mucho trabajo en una sola instrucción vectorial (se ahorran loops) Menos fetch de instrucciones Cada resultado es independiente del anterior Se pueden ejecutar múltiples operaciones en paralelo Diseño simple, alta frecuencia de reloj Compilador (programador) asegura que no ocurran dependencias Se reducen saltos y los problemas asociados en el pipeline Instrucciones vectoriales acceden a memoria con un patrón conocido Prefetch efectivo Se amortiza la latencia de memoria con la carga de un gran número de elementos Se puede explotar un sistema con gran ancho de banda de memoria No se requieren caches (para los datos) 4

5 Estilos de Arquitecturas Vectoriales Procesadores vectoriales memoria-memoria Todas las operaciones vectoriales son de memoria a memoria Procesadores vector-registro Todas las operaciones vectoriales son entre registros vectoriales (excepto load/store de vectores) Equivalente vectorial de arquitecturas load-store Máquinas vectoriales a partir de fin de los 80s Un poco de historia... Activo desarrollo de arrays de procesadores SIMD entre fines de los 60 s mediados de los 70 s Cray-1!! Procesador escalar rápido y simple 80 MHz! Diseño mecánico y eléctrico exquisito Memoria de semiconductor Concepto de registro vectorial Gran simplificación del set de instrucciones Mejora uso de ancho de banda de memoria Alta integración de proceso vectorial y escalar Compiladores vectorizadores Cray dominó la computación de alta performance computing durante una década Y después? VLIW, extensiones SISD, clusters 5

6 Componentes de un Procesador Vectorial CPU escalar: registros, datapaths, lógica de fetch de instrucciones Registros vectoriales Banco de memoria de largo fijo almacena un único vector Típicamente 8-32 registros vectoriales (1-8 Kbits) Al menos 2 puertos de lectura y 1 de escritura Se pueden ver como elementos de 64b, 32b, 16b, 8b Unidades funcionales vectoriales (FUs) En pipeline, arrancan una operación por ciclo Típicamente 2 a 8 FUs: enteros y PF Unidades vectoriales load-store (LSUs) En pipeline, load/store de vectores Se leen/escriben múltiples elementos por ciclo Pueden tener múltiples LSUs Cross-bar para interconexión de FUs, LSUs, registros Cray-1: diagrama de bloques Instrucciones simples registro-registro de 16 bits Ops. de 32 bits con inmediatos Combinación natural de ops. escalares y vectoriales Scalar bit-vectors match vector length Operaciones gather/scatter entre memoria y registros Fundamental para trabajar con matrices sparse Ejecución condicional 6

7 Ejemplo de instrucciones vectoriales Instr. Operandos Operación Comentario VADD.VV V1,V2,V3 V1=V2+V3 vector + vector VADD.SV V1,R0,V2 V1=R0+V2 scalar + vector VMUL.VV V1,V2,V3 V1=V2xV3 vector x vector VMUL.SV V1,R0,V2 V1=R0xV2 scalar x vector VLD V1,R1 V1=M[R1..R1+63] load, stride=1 VLDS V1,R1,R2 V1=M[R1..R1+63*R2] load, stride=r2 VLDX V1,R1,V2 V1=M[R1+V2i,i=0..63] indexed("gather") VST V1,R1 M[R1..R1+63]=V1 store, stride=1 VSTS V1,R1,R2 V1=M[R1..R1+63*R2] store, stride=r2 VSTX V1,R1,V2 V1=M[R1+V2i,i=0..63] indexed( scatter") + todas las instrucciones normales (estilo RISC) Operaciones vectoriales de memoria Operaciones load/store mueven grupos de datos entre registros y memoria Tres tipos de direccionamiento Unit stride (opera sobre un vector) Más rápido Non-unit stride (opera sobre una tira de vectores) Indexed (gather-scatter) Equivalente vectorial de registro indirecto Adecuado para sparse arrays Permiten incrementar el código vectorizable Soporte de varias combinaciones de anchos de los datos en memoria {.L,.W,.H.,.B} x {64b, 32b, 16b, 8b} 7

8 Ejemplo de código vectorial Y[0:63] = Y[0:63] + a*x[0:63] SAXPY de 64 elementos : escalar LD R0,a ADDI R4,Rx,#512 loop: LD R2, 0(Rx) MULTD R2,R0,R2 LD R4, 0(Ry) ADDD R4,R2,R4 SD R4, 0(Ry) ADDI Rx,Rx,#8 ADDI Ry,Ry,#8 SUB R20,R4,Rx BNZ R20,loop SAXPY de 64 elementos : vectorial LD R0,a #load scalar a VLD V1,Rx #load vector X VMUL.SV V2,R0,V1 #vector mult VLD V3,Ry #load vector Y VADD.VV V4,V2,V3 #vector add VST Ry,V4 #store vector Y Aproximaciones al Procesamiento Multimedia Procesadores de propósito general con extensiones SIMD Procesadores Vectoriales VLIW con extensiones SIMD (aka mediaprocessors) Procesamiento Multimedia DSPs ASICs/FPGAs 8

9 Qué es el Procesamiento Multimedia? Desktop: Gráficos 3D (juegos) Reconocimiento de voz Decodificación video/audio (reproducción mpeg-mp3) Servidores: Codificación video/audio (servidores video, telefonía IP) Digital libraries/media mining (servidores video) Animación computarizada, modelado 3D & rendering (películas) Embedded: Gráficos 3D (cosolas de juegos) Codif/Decodif. de video/audio (set top boxes) Procesamiento de imágenes (cámaras digitales) Procesamiento de señal (teléfonos celulares) Se necesitan ISAs para multimedia Por qué no son suficientes las ISAs de propósito general para multimedia? Performance Athlon 1.2GHz: codificación MPEG-4 a 6.4fps Un canal W-CDMA de 384Kbps requiere 6.9 GOPS Consumo Athlon 1.2GHz consume ~60W Consumo se incrementa con la frecuencia y complejidad Costo Manufactura del Athlon 1.2GHz cuesta ~U$S62 y tiene un precio de lista de ~U$S600 El costo crece con complejidad, área, cantidad de transistores, potencia, etc 9

10 Ejemplo: Decodificación MPEG Input Stream Parsing Dequantization IDCT Block Reconstruction RGB->YUV Load Breakdown 10% 20% 25% 30% 15% Output to Screen Ejemplo: Gráficos 3D Geometry Pipe Display Lists Transform Lighting Setup Load Breakdown 10% 10% Rendering Pipe Rasterization Anti-aliasing Shading, fogging Texture mapping Alpha blending Z-buffer Clipping Frame-buffer ops Output to Screen 35% 55% 10

11 Características de aplicaciones multimedia (1/2) Requerimiento de respuesta en tiempo real Se prefiere resultado incorrecto a tardío Lo impredecible puede dar problemas (por ejemplo ejecución dinámica) Tipos de datos angostos Ancho típico de datos en memoria: 8 a 16 bits Ancho típico de datos durante el cómputo: 16 a 32 bits Datos de 64-bit raramente se necesitan Aritmética de Punto Fijo reemplaza frecuentemente a Punto Flotante Paralelismo de grano fino Idéntica operación se aplica a flujos de datos de entrada Bifurcaciones predecibles Alta localidad en pequeños loops o kernels Características de aplicaciones multimedia (2/2) Paralelismo de grano grueso Mayoría de las aplicaciones organizadas como un pipeline de funciones Se pueden usar múltiples threads de ejecución Requirementos de memoria Se necesita gran Ancho de Banda, pero se tolera alta latencia Alta localidad espacial (patrón predecible) pero poca localidad temporal Importante: cache bypassing & prefetching 11

12 Ejemplos de Funciones Mmedia Matrix transpose/multiply DCT/FFT Motion estimation Gamma correction Haar transform Median filter Separable convolution Viterbi decode Bit packing Galois-fields arithmetic (3D graphics) (Video, audio, communications) (Video) (3D graphics) (Media mining) (Image processing) (Image processing) (Communications, speech) (Communications, cryptography) (Communications, cryptography) Extensiones SIMD para GPP Motivación Baja performance de procesamiento mmedia en GPPs Costo y poca flexibilidad de ASICs especializados para gráficos/video Infrautilización de datapaths y registros Idea básica : sub-word parallelism Tratar un registro de 64-bit como un vector de 2x32-bit, 4x16-bit o 8x8-bit (short vectors) Partición de datapaths de 64 bit para manejar múltiples operaciones angostas en paralelo Restricciones iniciales No agregar área (registros) No agregar excepciones 12

13 Revisión de extensiones SIMD Vendor HP Sun Intel AMD Motorola Intel MIPS AMD Intel Intel Extension MAX-1 & 2 VIS MMX 3DNow! Altivec SSE MIPS-3D E 3DNow! SSE-2 SSE-3 Year 94, ? # Instr 9,8 (int) 121 (int) 57 (int) 21 (fp) 162 (int,fp) 70 (fp) 23 (fp) 24 (fp) 144(int,fp) 13 new, hyper-tread MMX: MultiMedia exension SSE: Streaming SIMD Extensions Registers Int 32x64b FP 32x64b FP 8x64b FP 8x64b 32x128b (new) 8x128b (new) FP 32x64b 8x128 (new) 8x128 (new) Resumen de operaciones SIMD (1/2) Aritmética entera Suma y resta con saturación Modos de redondeo en punto fijo para multiplicación y shift Suma de diferencias absolutas Multiply-add, multiplicación con reducción Min, max Aritmética de punto flotante Operaciones de punto flotante empaquetado Raíz cuadrada, recíproco Exception masks Comunicación de datos Merge, insert, extract Pack, unpack (con conversión) Permute, shuffle 13

14 Resumen de operaciones SIMD (2/2) Comparaciones Comparación de enteros y FP empaquetado Comparación de valores absolutos Element masks and bit vectors Memoria No hay nuevas instrucciones load-store para short vectors No soporta strides o indexing Short vectors semanejan con load/store normales Pack, unpack, shift, rotate, shuffle para manejar alineamientos de los datos Prefetch de instrucciones para utilizar la localidad temporal Programación con extensiones SIMD Shared libraries optimizadas Escritas en assembler, distribuídas por el fabricante Se necesita API bien definida para formatear datos y usarla Macros de lenguajes para variables y operaciones Wrappers C/C++ para variables short vector y llamados a funciones Permiten scheduling de instrucciones y optimizaciones de asignaciones de registros para procesadores específicos No portable, no estándar Compiladores para extensiones SIMD En los hechos, no hay compiladores disponibles Problemas Soporte para expresar aritmética de punto fijo y paralelismo SIMD Modelo complicado para load/store de vectores Actualizaciones frecuentes Assembler! 14

15 Diseño de un Procesador Vectorial Cambios a core escalar Decodificar instrucciones vectoriales Enviar registros escalares a unidad vectorial (ops. vector-escalar) Sincronización de resultados de registros vectoriales, incluyendo excepciones Código no vectorial no tiene alta ILP, se puede simplificar la CPU escalar Cómo elegir la longitud máxima de vector? Cómo elegir la cantidad de registros vectoriales? Context switch overhead? Manejo de excepciones? Por qué vectores para multimedia? Paralelismo en multimedia Alta performance a bajo costo Múltiples ops/ciclo, se completa 1 instr/ciclo Múltiples ops/ciclo con bajo consumo Patrón de acceso estructurado para registros y memoria Escalable Mayor performance agregando lanes sin modificaciones de la arquitectura Código compacto N operaciones con 1 instrucción corta (v. VLIW) Performance predecible No se necesitan caches ni ejecución dinámica Tecnología de compiladores madura 15

16 Resumen SIMD Extensiones de vectores angostos para GPPs Registros de 64b o 128b como vectores con lementos de 32b, 16b, y 8b Basado en sub-word parallelism y datapaths particionados Instrucciones Punto-fijo y punto flotante empaquetado, multiply-add, reducciones Pack, unpack, permutaciones Soporte limitado de memoria Mejora de performance 2x a 4x sobre la arquitectura base Limitado por ancho de banda de memoria Difícil de usar (no hay compiladores) Resumen de Vectores Modelo alternativo para expresar explícitamente el paralelismo en los datos Si el código es vectorizable, entonces el hardware se simplifica, mejora la eficiencia del consumo, y mejor modelo de tiempo real que máquinas out-of-order con soporte SIMD Temas de diseño incluyen cantidad de lanes, cantidad de unidades funcionales, cantidad y tamaño de registros vectoriales, manejo de excepciones, operaciones condicionales Revivirán las arquitecturas vectoriales gracias a la popularidad de la multimedia? 16

17 Multiple Instruction, Single Data Stream - MISD Secuencia de datos Transmitida a un conjunto de procesadores Cada procesador ejecuta una secuencia de instrucciones diferente sobre la misma secuencia de datos Nunca se implementó (?) Multiple Instruction, Multiple Data Stream- MIMD Conjunto de procesadores Ejecutan simultáneamente secuencias de instrucciones diferentes Diferentes conjuntos de datos Procesadores de propósito general Se clasifican de acuerdo a como es la comunicación: Multiprocesadores Simétricos (SMPs) Varios procesadores, memoria compartida Sistemas de Acceso No Uniforme a Memoria (NUMA) Clusters Conjunto de computadores conectados en red 17

18 MIMD, organización de la memoria MIMD Memoria Compartida MIMD Memoria Distribuida Multiprocesadores Simétricos: Sistemas fuertemente acoplados Computador stand alone con las siguientes características Dos o más procesadores similares, de capacidad comparable Procesadores comparten memoria y E/S Conectedos por un bus u otra conexión interna Tiempo de acceso es similar para cada procesador Acceso a los mismos dispositivos de E/S usando canales compartidos (o no) Todos los procesadores pueden desempeñar las mismas funciones -> simétricos Sistema Operativo integrado Provee interacción entre procesadores Interaccion a nivel de job, tarea, archivos y datos Por oposición a los clusters (débilmente acoplados), que interactuán a nivel de mensajes y/o archivos completos 18

19 Ventajas SMP En un SMP el SO planifica la distribución de procesos o threads entre todos los procesadores (transparente al usuario). Ventajas: Performance Si el trabajo se puede paralelizar Disponibilidad Dado que todos los procesadores desempeñan las mismas funciones, el fallo de un procesador no detiene el sistema Crecimiento incremental Se pueden aumentar las prestaciones agregando procesadores Escalabilidad Se pueden ofrecer distintas configuraciones/prestaciones basadas en la cantidad de procesadores Sistemas fuertemente acoplados: Diagrama de bloques Alternativas de organización Bus común o de tiempo compartido Memoria Multipuerto Unidad de control central Los procesadores se comunican mediante la memoria (área de datos compartida), y pueden intercambiar señales directamente 19

20 Bus de tiempo compartido (1/2) Simple. Estructura e interfaces similares a sistemas monoprocesador Se necesita Direccionamiento, para distinguir módulos en el bus Arbitraje: cada módulo puede ser master temporariamente Tiempo compartido: si un módulo controla el bus, el resto debe esperar Bus de tiempo compartido (2/2) Ventajas Simplicidad Flexibilidad Confiabilidad Desventajas Performance limitada por el ciclo de bus Cada procesador debe tener un cache local Reducir la cantidad de accesos al bus Lleva a problemas con la coherencia del cache Se resuelve en hardware 20

21 Que debe hacer el Sistema Operativo? El usuario debe tener la percepción de un control único de los recursos del sistema El SMP se debe comportar como un sistema monoprocesador con multiprogramación, con las características adicionales que permitan usar varios procesadores. El diseño debe asegurar: Procesos concurrentes simultaneos Rutinas reentrantes, manejo de tablas del sistema Planificación (scheduling, co- scheduling) Sincronización Asegurar mutua exclusión y orden de eventos Gestón de memoria Confiabilidad, tolerancia a fallos Coherencia del Cache Problema: múltiples copias de los mismos datos en diferentes caches Write back puede llevar a inconsistencias Write through puede dar problemas si las caches no monitorizan el tráfico de memoria Soluciones de software Compilador y SO se encargan del problema Overhead en tiempo de compilación El compilador toma decisiones conservadoras, uso ineficiente del cache Estrategia usual: datos compartidos no-cacheables Solución de hardware, protocolos de coherencia del cache Reconocimiento dinámico de problemas en run time Uso más eficiente del cache, transparente al programador Protocols de directorio Snoopy protocols 21

22 Clusters NOWs y Clusters (1/2) Avances en redes de alta velocidad y performance de microprocesadores: redes de computadores son una opción económica para computación paralela: COTS Desarrollo de Linux y BSD OSs, compiladores y herramientas de programación GNU proveen una base de software público, independiente del hardware Disponibilidad universal de sistemas COTS, redes de alta performance y software de base abierto: Arquitecturas y modelos de programación genéricos para construir NOWs y clusters. Queremos utilizar los ciclos de CPU y otros recursos de las estaciones de trabajo de usuarios cuando están ociosas? NOWs Queremos HPC (High Performance Computation) mediante paralelismo? Clusters 22

23 NOWs y Clusters (2/2) Nodos de un cluster: Dedicados Alivia problemas de balance de carga La performance de cada nodo solo depende de la aplicación HPC Interconexión de nodos de un cluster Dedicada y aislada de la red externa Carga de la red determinada únicamente por la aplicación corriendo en el cluster Se evitan problemas de variaciones inesperados de la latencia que presentan las NOWs. Nodos del cluster NO accesibles desde la red externa Se pueden alivianar requerimientos de seguridad Se evita ssh y otros consumidores de CPU Desafíos Como resolver la distribución de los recursos de manera transparente y eficiente? Interconexión Transparencia Memoria y disco distribuido Proyecto NOW de Berkeley: GLUnix Este sistema operó durante algunos años llegando a tener una comunidad de cientos de usuarios Experiencia en resolución de los problemas mencionados 23

24 Clusters Alternativa a SMP Alta performance Alta disponibilidad Aplicaciones de servidor Grupo de computadores (nodos) interconectados Trabajando en conjunto como un recurso unificado Ilusión de ser una sola máquina (?) Beneficios del cluster Escalabilidad incremental Alta disponibilidad Mejor relación precio/performance Componentes COTS Clusters: el Sistema Operativo Gestión de Fallos Alta disponibilidad Tolerancia a fallos Failover Conmutar aplicaciones y datos del sistema en falta a uno alternativo en el cluster Failback Restaurar aplicaciones y datos al sistema original Una vez que se resolvió el problema Balance de carga Escalabilidad incremental Incluir nuevos sistemas en la planificación el cluster Middleware debe ser capaz de migrar procesos entre máquinas 24

25 Clusters: Computación Paralela (HPC) Aplicación única ejecutando en paralelo en determinada cantidad de máquinas del cluster Compilador Determina en tiempo de compilación que parte del código se puede paralelizar Partición para diferentes computadores Aplicación Código escrito desde cero para ejecutarse en paralelo Pasaje de mensajes para mover datos entre nodos Difícil de programar Mejor resultado final Computación paramétrica Problema repetido sobre diferentes conjuntos de datos Ej. simulación usando diferentes escenarios Se necesitan herramientas de planificación Arquitectura Cluster 25

26 Middleware de Cluster Imagen unificada al usuario Single system image Único punto de entrada Única jerarquía de archivos Espacio de memoria unificado (?) Gestión de jobs unificada Interfaz de usuario única Espacio de E/S único (?) Espacio de procesos unificado Checkpointing Migración de Procesos Middleware de cluster Open Scalable Cluster Environment: KSIX OSCAR : Open Source Cluster Application Resources Paquete integrado de software diseñado para HPC, todo incluído 26

27 Ejemplo: Beowulf Beowulf es el poema épico en inglés más antiguo. Es la presentación de un hombre (Beowulf) como el ejemplo ideal de la cultura heroica germánica, con un simbolismo explícito del conflicto del hombre con las energías del mal. Iniciado en 1994 bajo los auspicios del Proyecto HPPC (High Performance Computing and Communications) de la NASA. Octubre de 1996: sobrepasado el Gigaflop de performance en una aplicación espacial científica a un costo menor a 50 mil USD Primer Beowulf construido con DX4 y Ethernet de 10 Mbps. Balance de carga de red: channel bonded Hacia 1997 un Beowulf típico estaba constituido por 16 procesadores P6 de 200 Mhz con Fast Ethernet conmutado mediante un switch Beowulf, características fundamentales (1/3) Concepto PoPC: pila/conjunto de PCs ensamblados para resolver un problema: Componentes COTS Procesadores dedicados (en lugar de buscar ciclos de CPU en la NOW) System Area Network (SAN) dedicada Ventaja: no existen derechos propietarios motherboards, controladores, dispositivos de E/S y cases estándar. Asimismo se utilizan interfaces estándar como el bus PCI, dispositivos IDE y SCSI, y placas de red Ethernet. Al dia con la tecnología Cada cluster se arma con la tecnología mejor y más barata disponible en el momento. No existen dos clusters iguales, aunque corran el mismo software de base 27

28 Beowulf, características fundamentales (2/3) Software de base: SOs Linux y BSD Shells y compiladores estándar para la mayoría de los lenguajes de programación Las dos librerías de pasajes de mensajes, PVM y MPI, están disponibles en estos SOs Problemas Gestión de recursos y herramientas de software para la computación paralela Latencia y anchos de banda modestos de interconexiones como Fast Ethernet. Este problema se ha atacado mediante tunning del software y desarrollo de topologías de red adecuadas Beowulf, características fundamentales (3/3) Aplicación inicial estilo SIMD: Discos en cada nodo, sin distinguir nodos de computación y nodos de E/S, y con bonding de placas Fast Ethernet Soporte para aplicaciones que damandan alta performance de punto flotante y baja latencia Disponibilidad de multiprocesadores de pequeña escala (2 a 4 procesadores) que se pueden agregar al cluster bajo demanda 28

29 Software de cluster, transparencia Software de cluster: agregado al Sistema Operativo PVM, MPI Subsistema de red mejorado notoriamente, soporte de dispositivos Cada nodo ejecuta su copia del kernel Cara uniforme del sistema para los usuarios y las aplicaciones: participación de los nodos en un espacio de nombres global Procesos normales en Unix pertenecen al kernel que los ejecuta, y tienen un identificador único en ese contexto. En un entorno distribuido es conveniente que el process ID sea único en el cluster GPID Beowulf original basados en Task IDs de PVM: no hay transparencia real BPROC: Beowulf Distributed Process Space (1/3) Implementación de un espacio de PIDs distribuido Procesos aparecen en árbol de procesos local aunque en realidad estén físicamente en otro nodo Espacio de PIDs distribuidos por un master. Los nodos que ejecutan procesos para el master son esclavos Cada espacio de PIDs corresponde a un nodo Cada nodo puede ser master de un único espacio de PIDs, pero puede ser esclavo de más de un espacio de PIDs No ataca el problema del manejo de recursos y/o balance de carga en el cluster Bproc consiste de cuatro partes básicas: Ghost processes en el front end Process ID masquerading en los nodos remotos Virtual Memory Area dumper (VMADump) para trasportar procesos Daemons en el master y el esclavo para unificar el funcionamiento 29

30 BPROC: Beowulf Distributed Process Space (2/3) BPROC: Beowulf Distributed Process Space (3/3) 30

31 Otros componentes: Memoria, File System Memoria Distribuida Compartida File systems paralelos: Jovian (University of Maryland at College Park) Parallel Virtual File System (PVFS) desarrollado en Clemson Características PVFS: Espacio de nombres consistente Acceso transparente para utilitarios existentes Distribución física de los datos entre nodos del cluster Acceso de alta performance para aplicaciones de usuario PVFS puede ser montado en todos los nodos, en el mismo subdirectorio simultáneamente Una vez montado los archivos y directorios PVFS pueden operarse con las utilidades habituales (ls, cp, rm) Construyendo el cluster, networking Interconexión de los sistemas tipo PoPCs puede ser un cuello de botella de la performance del cluster Topologías tradicionales tipo Toroidal Hyper-Meshes utilizadas en los sistemas MPPs: cada nodo debe actuar como enrutador, agregando latencia y overhead de procesamiento Fast/Gigabit Ethernet es la más utilizada en PoPCs, con switches para la interconexión: queremos switches non-blocking funcionando a wire-speed Beowulf: Channel Bonding Algunos switches se confunden : MAC cloning Performance del bonding limitada por el overhead en la placa, el bus PCI, las interrupciones Otras tecnologías: myrinet, infiniband 31

32 Clusters vs. SMP Ambos proveen soporte multiprocesador para aplicaciones demandantes Ambos disponibles comercialmente SMP más viejo SMP: Gestión y Control simplicado Más parecido a sistemas uni-procesador La planificación es la diferencia fundamental Menos espacio físico Menos consumo de energía Cluster: Escalabilidad absoluta e incremental superior Mayor disponibilidad Redundancia Supercomputadores (Junio 2005) Rank! Site Country/Year! 1! DOE/NNSA/LLNL United States/2005! 2! IBM Thomas J. Watson Research Center United States/2005! 3! NASA/Ames Research Center/NAS United States/2004! 4! The Earth Simulator Center Japan/2002! 5! Barcelona Supercomputer Center Spain/2005! 6! ASTRON/University Groningen Netherlands/2005! 7! Lawrence Livermore National Laboratory United States/2004! 8! Computational Biology Research Center, AIST Japan/2005! 9! Ecole Polytechnique Federale de Lausanne Switzerland/2005! 10! Sandia National Laboratories United States/2005! Computer / Proce ssors Manufacturer! BlueGene/L eserver Blue Gene Solution / IBM! BGW eserver Blue Gene Solution / IBM! Columbia SGI Altix 1.5 GHz, Voltaire Infiniband / SGI! Earth-Simulator / 5120 NEC! MareNostrum JS20 Cluster, PPC 970, 2.2 GHz, Myrinet / 4800 IBM! eserver Blue Gene Solution / IBM! Thunder Intel Itanium2 Tiger4 1.4GHz - Quadrics / 4096 California Digital Corporation! Blue Protein eserver Blue Gene Solution / 8192 IBM! eserver Blue Gene Solution / 8192 IBM! Red Storm, Cray XT3, 2.0 GHz / 5000 Cray Inc.! Rmax Rpeak! ! ! ! ! ! ! ! ! ! ! Computer Type indicated by manufacturer or vendor Processors Number of processors R max Maximal LINPACK performance achieved R peak Theoretical peak performance Mas info: 32

33 Supercomputadores (Junio 2006) Supercomputadores (Junio 2007) 33

34 34

35 Recapitulando... quién necesita un cluster? Supercomputación paralela, HPC tiene sentido cuando existen aplicaciones que pueden beneficiarse de ella: Análisis de Elementos Finitos Sísmica; análisis de datos Fluido dinámica computacional Análisis financiero Investigación médica y genética Problemas de optimización Pattern matching Data mining, Data archival and sorting Application, Transaction, Calculation y Data serving... Cluster: alto grado de acoplamiento NO es NOW, ni Granjas de Servidores, ni GRID Grid Compartir y usar recursos en forma flexible, segura y coordinada Colecciones dinámicas de individuos e instituciones Distribución geográfica y organizacional Organizaciones virtuales Las tecnologías Grid incluyen soluciones de seguridad protocolos y servicios de gestión de recursos protocolos y servicios de búsqueda de información servicios de gestión de datos 35

36 Relación entre Grid y otras tecnologías WWW Ubicuidad: Portales OV Proveedores de aplicaciones y almacenamiento Pueden beneficiarse de las tecnologías Grid (delegación, control de acceso, conteo y pago) Enterprise computing systems Corba, EJB, J2EE,.NET no se adaptan perfectamente a las necesidades de Grid: Interacción cliente-servidor, Interconexión relativamente estática y restringidas a la organización Sin embargo, son adecuadas para la construcción de software necesario para Grid Peer-to-peer computing Mucho en común, tienden a converger Arquitectura Grid - introducción Basada en protocolos y servicios Abierta La interoperabilidad: punto central nuevos participantes dinámicamente diferentes plataformas favorece la formación de OVs 36

37 Arquitectura Grid - capas Fabric Controlador de recursos Información, gestión de recursos Connectivity Autenticación Comunicaciones Requerimientos para las OVs Single sign on Delegación Integración con soluciones de seguridad existentes Protección de comunicaciones Resource Compartir un recurso individual Protocolos de información Protocolos de gestión Arquitectura Grid - capas Collective coordinación de múltiples recursos servicios de directorio servicios de asignación y scheduling servicios de monitorización y diagnóstico servicios de replicación servicios de descubrimiento de software de Grid servicios de autorización de comunidad servicios de contabilidad y pago Aplication aplicaciones de usuario que operan en una OV 37

38 Arquitectura Grid - OGSA OGSA - Open Grid Services Architecture Integra conceptos de Globus Toolkit + WebServices Componentes de Globus Toolkit más relevantes para OGSA Protocolo GRAM (Grid Resource Allocation and Management) MDS-2 (Meta Directory Service) GSI (Grid Security Infrastructure) Ventajas del framework de Web Services Descubrimiento dinámico y armado de servicios en ambientes heterogéneos. Uso de herramientas y servicios existentes Globus Toolkit Middleware open source Estándar de hecho Nuevas versiones (v3 y 4) basadas en OGSA Implementación Grid - Planet Lab Infrastrucutura distribuida de escala planetaria para experimentar protocolos y servicios de red Globus: estándares Planet Lab: rough consensus and working code :) Algunos servicios en Planet Lab Redes de distribución de contenido Overlays de enrutamiento robusto Servicios de medida y monitorización de red Almacenamiento embebido en la red Multicast a nivel de aplicación Comunidad de usuarios: academia, interés en probar la ifrastructura de red Aplicaciones de red intensivas NO CPU-intensivas en general API mínima, servicios dependen de los usuarios Por oposición a la rica estructura de servicios que da Globus 38

Arquitectura de Computadores II Clase #17

Arquitectura de Computadores II Clase #17 Arquitectura de Computadores II Clase #17 Facultad de Ingeniería Universidad de la República Instituto de Computación Curso 2010 Veremos Arquitecturas Paralelas 1 Taxonomía de Arquitecturas Paralelas (Flynn)

Más detalles

:Arquitecturas Paralela basada en clusters.

:Arquitecturas Paralela basada en clusters. Computación de altas prestaciones: Arquitecturas basadas en clusters Sesión n 1 :Arquitecturas Paralela basada en clusters. Jose Luis Bosque 1 Introducción Computación de altas prestaciones: resolver problemas

Más detalles

Nicolás Zarco Arquitectura Avanzada 2 Cuatrimestre 2011

Nicolás Zarco Arquitectura Avanzada 2 Cuatrimestre 2011 Clusters Nicolás Zarco Arquitectura Avanzada 2 Cuatrimestre 2011 Introducción Aplicaciones que requieren: Grandes capacidades de cómputo: Física de partículas, aerodinámica, genómica, etc. Tradicionalmente

Más detalles

Clusters de Alto Rendimiento

Clusters de Alto Rendimiento Clusters de Alto Rendimiento Contenido: M. en A. Iliana Gómez Zúñiga iliana.gomez@redudg.udg.mx Expositor: L.S.I. Virgilio Cervantes Pérez virgilio@cencar.udg.mx Diseño: Lic. Genaro Ramirez genaro.ramirez@redudg.udg.mx

Más detalles

Unidad I Fundamentos de Sistemas Distribuidos. M.C. Juan Carlos Olivares Rojas

Unidad I Fundamentos de Sistemas Distribuidos. M.C. Juan Carlos Olivares Rojas Unidad I Fundamentos de Sistemas Distribuidos M.C. Juan Carlos Olivares Rojas Temario 1.1. Características de un sistema distribuido 1.2. Objetivos de los sistemas distribuidos 1.3. Ventajas y desventajas

Más detalles

Clusters en Linux. * Jorge Castellanos - jorcas@cantv.net ** Julio Ortega - roliverio@cantv.net. * FACYT-UC Computación ** IUPSM Sistemas

Clusters en Linux. * Jorge Castellanos - jorcas@cantv.net ** Julio Ortega - roliverio@cantv.net. * FACYT-UC Computación ** IUPSM Sistemas Clusters en Linux * Jorge Castellanos - jorcas@cantv.net ** Julio Ortega - roliverio@cantv.net * FACYT-UC Computación ** IUPSM Sistemas www.vaslibre.org.ve Agenda Motivación Definiciones Cluster Beowulf

Más detalles

Linux Week PUCP. Computación de Alto Rendimiento en Linux. rmiguel@senamhi.gob.pe

Linux Week PUCP. Computación de Alto Rendimiento en Linux. rmiguel@senamhi.gob.pe Linux Week PUCP 2006 Computación de Alto Rendimiento en Linux Richard Miguel San Martín rmiguel@senamhi.gob.pe Agenda Computación Científica Computación Paralela High Performance Computing Grid Computing

Más detalles

Introducción. TEMA 3: Clusters de Computadores Personales

Introducción. TEMA 3: Clusters de Computadores Personales Introducción TEMA 3: Clusters de Computadores Personales Laboratorio de Arquitecturas Avanzadas de Computadores 5º de Ingeniería Superior de Informática 2008/09 Alberto Sánchez alberto.sanchez@urjc.es

Más detalles

CLUSTERS. Antonio Antiñolo Navas ESI-UCLM. Antonio.Antinolo@uclm.es. Profesor: Serafín Benito Santos. Arquitectura e Ingeniería de Computadores

CLUSTERS. Antonio Antiñolo Navas ESI-UCLM. Antonio.Antinolo@uclm.es. Profesor: Serafín Benito Santos. Arquitectura e Ingeniería de Computadores CLUSTERS Antonio Antiñolo Navas Antonio.Antinolo@uclm.es 1 Arquitectura e Ingeniería de Computadores Profesor: Serafín Benito Santos ESI-UCLM Índice 1. Introducción. 2. Clasificación. 3. Ventajas y Desventajas.

Más detalles

SISTEMAS OPERATIVOS II

SISTEMAS OPERATIVOS II SISTEMAS OPERATIVOS II INSTITUTO TECNOLÓGICO DE MORELIA Unidad I: Sistemas Operativos en ambientes Distribuidos Departamento de Sistemas y Computación M.C. Benito Sánchez Raya sanchezraya@hotmail.com Disponible

Más detalles

Arquitecturas de Hardware en Sistemas Distribuidos.

Arquitecturas de Hardware en Sistemas Distribuidos. Universidad Simón Bolívar Departamento de Computación y T. I Sistemas de Operación II CI-4821 Arquitecturas de Hardware en Sistemas Distribuidos. Prof. Yudith Cardinale Abril Julio 2012 Definición de Sistemas

Más detalles

INTRODUCCIÓN. Que es un sistema operativo? - Es un programa. - Funciona como intermediario entre el usuario y los programas y el hardware

INTRODUCCIÓN. Que es un sistema operativo? - Es un programa. - Funciona como intermediario entre el usuario y los programas y el hardware INTRODUCCIÓN Que es un sistema operativo? - Es un programa. - Funciona como intermediario entre el usuario y los programas y el hardware INTRODUCCIÓN METAS: Brindar un entorno para que los usuarios puedan

Más detalles

Organización del Computador 1. Máquina de von Neumann Jerarquía de Niveles

Organización del Computador 1. Máquina de von Neumann Jerarquía de Niveles Organización del Computador 1 Máquina de von Neumann Jerarquía de Niveles Inicios de la computación Turing y Church sientan las bases teóricas de la computación Máquina de Turing Máquina teórica compuesta

Más detalles

Computación Cluster y Grid. Computación Cluster y Grid. Cluster Computing

Computación Cluster y Grid. Computación Cluster y Grid. Cluster Computing Cluster Computing 1 Concepto de Cluster Cluster: Sistema de computación basado en hardware estándar conectado por una red dedicada (de altas prestaciones) dedicado a un propósito específico. [Baker00]

Más detalles

La Arquitectura de las Máquinas Virtuales.

La Arquitectura de las Máquinas Virtuales. La Arquitectura de las Máquinas Virtuales. La virtualización se ha convertido en una importante herramienta en el diseño de sistemas de computación, las máquinas virtuales (VMs) son usadas en varias subdiciplinas,

Más detalles

FUNDAMENTOS DE COMPUTACIÓN PARA CIENTÍFICOS. CNCA Abril 2013

FUNDAMENTOS DE COMPUTACIÓN PARA CIENTÍFICOS. CNCA Abril 2013 FUNDAMENTOS DE COMPUTACIÓN PARA CIENTÍFICOS CNCA Abril 2013 6. COMPUTACIÓN DE ALTO RENDIMIENTO Ricardo Román DEFINICIÓN High Performance Computing - Computación de Alto Rendimiento Técnicas, investigación

Más detalles

CLUSTER FING: ARQUITECTURA Y APLICACIONES

CLUSTER FING: ARQUITECTURA Y APLICACIONES CLUSTER FING: ARQUITECTURA Y APLICACIONES SERGIO NESMACHNOW Centro de Cálculo, Instituto de Computación FACULTAD DE INGENIERÍA, UNIVERSIDAD DE LA REPÚBLICA, URUGUAY CONTENIDO Introducción Clusters Cluster

Más detalles

Plataformas Actuales para Computación de Alto Rendimiento

Plataformas Actuales para Computación de Alto Rendimiento Plataformas Actuales para Computación de Alto Rendimiento Gilberto Díaz gilberto@ula.ve Centro de Cálculo Científico (CeCalCULA) Departamento de Computación, Escuela de Sistemas, Facultad de Ingeniería

Más detalles

Soluciones para entornos HPC

Soluciones para entornos HPC Dr.. IT Manager / Project Leader @ CETA-Ciemat abelfrancisco.paz@ciemat.es V Jornadas de Supercomputación y Avances en Tecnología INDICE 1 2 3 4 HPC Qué? Cómo?..................... Computación (GPGPU,

Más detalles

Sistemas Multiprocesador de Memoria Compartida Comerciales

Sistemas Multiprocesador de Memoria Compartida Comerciales Sistemas Multiprocesador de Memoria Compartida Comerciales Florentino Eduardo Gargollo Acebrás, Pablo Lorenzo Fernández, Alejandro Alonso Pajares y Andrés Fernández Bermejo Escuela Politécnia de Ingeniería

Más detalles

Linux Clusters Gilberto Diaz gilberto@ula.ve Centro de Cálculo Científico Universidad de Los Andes Mérida - Venezuela

Linux Clusters Gilberto Diaz gilberto@ula.ve Centro de Cálculo Científico Universidad de Los Andes Mérida - Venezuela Linux s Gilberto Diaz gilberto@ula.ve Centro de Cálculo Científico Universidad de Los Andes Mérida - Venezuela Eterna necesidad Desde la invención de las computadoras el hombre constantemente ha mantenido

Más detalles

Computación de Alta Performance Curso 2008 CLUSTERS

Computación de Alta Performance Curso 2008 CLUSTERS Computación de Alta Performance Curso 2008 Basado en el artículo Cluster computing at a glance. M. Baker, R. Buyya, Software Practice and Experience 29 (6), pp. 551-576, 1999. CÓMO MEJORAR LA PERFORMANCE?

Más detalles

Introducción al Cluster

Introducción al Cluster Centro de Teleinformática y Producción Industrial - Regional Cauca Pág. 1 de 11 Nombre del Introducción al Cluster Historial Fecha Razón de cambio (s) Autor(es) 26 / 10 /2011 Documento Inicial, Primer

Más detalles

Estructura del Sistema Operativo. Módulo 2. Estructuras de Sistemas Operativos

Estructura del Sistema Operativo. Módulo 2. Estructuras de Sistemas Operativos Estructura del Sistema Operativo Módulo 2 Estructuras de Sistemas Operativos Servicios de Sistemas operativos Interfaz de Usuario del Sistema Operativo Llamadas a Sistema Tipos de Llamadas a Sistema Programas

Más detalles

ARQUITECTURA DE COMPUTADORES I

ARQUITECTURA DE COMPUTADORES I ARQUITECTURA DE COMPUTADORES I Tema 5: Procesadores Vectoriales Lección 18: Características Generales de los Procesadores Vectoriales Curso 2011/2012 Bibliografía 1. J. L. HENNESSY and D. A. PATTERSON.

Más detalles

Tendencias en sistemas de comunicación de altas prestaciones:

Tendencias en sistemas de comunicación de altas prestaciones: Conectan nodos en diferentes niveles del sistema (chip, tarjeta, chásis, armario,...). Desarrollado por diseñadores de arquitecturas de altas prestaciones. Comunicar computadores, clasificación redes computación:

Más detalles

Arquitecturas CISC y RISC

Arquitecturas CISC y RISC Arquitecturas CISC y RISC Diseño de Sistemas Digitales EL-3310 I SEMESTRE 2008 2. ARQUITECTURA DEL CONJUNTO DE INSTRUCCIONES 2.1 Elementos de la arquitectura Clasificación de la arquitectura Organización

Más detalles

Memoria Compartida Distribuida (DSM) Sistema de Archivos

Memoria Compartida Distribuida (DSM) Sistema de Archivos Memoria Compartida Distribuida (DSM) La memoria compartida distribuida es una abstracción que se propone como alternativa a la comunicación por mensajes. Memoria compartida basada en páginas: este esquema

Más detalles

Arquitecturas GPU v. 2013

Arquitecturas GPU v. 2013 v. 2013 Stream Processing Similar al concepto de SIMD. Data stream procesado por kernel functions (pipelined) (no control) (local memory, no cache OJO). Data-centric model: adecuado para DSP o GPU (image,

Más detalles

Tema 5 Diseño del Set de Instrucciones (ISA) Arquitectura de Computadoras

Tema 5 Diseño del Set de Instrucciones (ISA) Arquitectura de Computadoras Tema 5 Diseño del Set de Instrucciones (ISA) Arquitectura de Computadoras http://www.herrera.unt.edu.ar/arqcom dcohen@herrera.unt.edu.ar Temario 1. Evolución histórica. 2. Repaso de conceptos importantes.

Más detalles

Modelo de aplicaciones CUDA

Modelo de aplicaciones CUDA Modelo de aplicaciones CUDA Utilización de GPGPUs: las placas gráficas se utilizan en el contexto de una CPU: host (CPU) + uno o varios device o GPUs Procesadores masivamente paralelos equipados con muchas

Más detalles

Unidad 1: Conceptos generales de Sistemas Operativos.

Unidad 1: Conceptos generales de Sistemas Operativos. Unidad 1: Conceptos generales de Sistemas Operativos. Tema 1: Introducción: 1.1 Introducción: Qué es un sistema operativo?. 1.2 Conceptos clave de un sistema operativo. 1.3 El sistema operativo como administrador

Más detalles

Mosix2: La versión grid de Mosix para Linux-2.6

Mosix2: La versión grid de Mosix para Linux-2.6 Mosix2: La versión grid de Mosix para Linux-2.6 Juan P. Caballero Lionel Gutierrez Javier Echaiz Jorge R. Ardenghi Laboratorio de Investigación de Sistemas Distribuidos (LISiDi) Departamento de Ciencias

Más detalles

Computacion de Alto Performance

Computacion de Alto Performance Computacion de Alto Performance Abraham Zamudio Abraham Zamudio Computacion de Alto Performance 1/47 Indice 1 Algunos Aspectos Teoricos 2 Paralelismo Computacional 3 Linux Cluster Hardware Software 4 MPICH

Más detalles

Plataformas paralelas

Plataformas paralelas Plataformas paralelas Curso 2011-2012 Elementos de un computador paralelo Hardware: Múltiples procesadores Múltiples memorias Redes de interconexión Software: Sistemas Operativos paralelos Programas orientados

Más detalles

Sistemas Operativos Avanzados. Trabajo Práctico Final

Sistemas Operativos Avanzados. Trabajo Práctico Final Ingeniería en Sistemas de Información Trabajo Práctico Final Procesamiento paralelo: qué tener en cuenta para aprovecharlo. Conceptos y alternativas en Linux. Smerling, Leonardo Tschanz, Raúl Año: 2001

Más detalles

TIPOS BÁSICOS DE ARQUITECTURAS DE MICROPROCESADORES

TIPOS BÁSICOS DE ARQUITECTURAS DE MICROPROCESADORES ANÁLISIS DE ARQUITECTURAS MODERNAS DE MICROPROCESADORES UTILIZADOS EN CIRCUITOS INTEGRADOS (CISC, RISC, VLIW, EPIC), ASÍ COMO ARQUITECTURAS PARA EL PROCESAMIENTO MULTIMEDIA Y DIGITAL DE SEÑALES DSP La

Más detalles

CLUSTER FING: PARALELISMO de MEMORIA DISTRIBUIDA

CLUSTER FING: PARALELISMO de MEMORIA DISTRIBUIDA CLUSTER FING: PARALELISMO de MEMORIA DISTRIBUIDA SERGIO NESMACHNOW Centro de Cálculo, Instituto de Computación FACULTAD DE INGENIERÍA, UNIVERSIDAD DE LA REPÚBLICA, URUGUAY CONTENIDO Introducción: arquitecturas

Más detalles

ARQUITECTURA DE COMPUTADORAS

ARQUITECTURA DE COMPUTADORAS ARQUITECTURA DE COMPUTADORAS Información General Objetivos Al terminar el curso, el estudiante estará capacitado para: 1. Manejar medidas de performance que permitan comparar diversos sistemas de Computadora.

Más detalles

Fundamentos de Sistemas Operativos

Fundamentos de Sistemas Operativos Fundamentos de Sistemas Operativos Sistemas Informáticos Fede Pérez Índice TEMA Fundamentos de Sistemas Operativos 1. - Introducción 2. - El Sistema Operativo como parte de un Sistema de Computación 2.1

Más detalles

Seminario II: Introducción a la Computación GPU

Seminario II: Introducción a la Computación GPU Seminario II: Introducción a la Computación GPU CONTENIDO Introducción Evolución CPUs-Evolución GPUs Evolución sistemas HPC Tecnologías GPGPU Problemática: Programación paralela en clústers heterogéneos

Más detalles

Modelos de los sistemas distribuidos. Jorge Iván Meza Martínez jimezam@gmail.com

Modelos de los sistemas distribuidos. Jorge Iván Meza Martínez jimezam@gmail.com Modelos de los sistemas distribuidos Jorge Iván Meza Martínez jimezam@gmail.com Especialización en Gestión de Redes de Datos Universidad Nacional de Colombia Sede Manizales 1/36 Contenidos Modelo arquitectónico

Más detalles

Javier Pérez Mato µp para Comunicaciones Curso 2008/09 ETSIT - ULPGC

Javier Pérez Mato µp para Comunicaciones Curso 2008/09 ETSIT - ULPGC Javier Pérez Mato µp para Comunicaciones Curso 2008/09 ETSIT - ULPGC INTRODUCCIÓN HPC: High Performance Computer System Qué es un supercomputador? Computador diseñado para ofrecer la mayor capacidad de

Más detalles

IDS-Virtualiza. IDS-Virtualiza. es la solución que ofrece IDSénia para la optimización de sus servidores y estaciones.

IDS-Virtualiza. IDS-Virtualiza. es la solución que ofrece IDSénia para la optimización de sus servidores y estaciones. IDS-Virtualiza es la solución que ofrece IDSénia para la optimización de sus servidores y estaciones. Qué es la virtualización? La virtualización es una tecnología probada de software que está cambiando

Más detalles

TIPOS DE PROCESAMIENTOS

TIPOS DE PROCESAMIENTOS TIPOS DE PROCESAMIENTOS El desempeño de un computador puede tener diferentes medidas de elección para diferentes usuarios. Para un usuario individual que está ejecutando un único programa, la computadora

Más detalles

Procesadores Vectoriales

Procesadores Vectoriales Procesadores Vectoriales Curso 2011-2012 Por qué procesamiento vectorial? La segmentación tiene límites: Si se aumenta mucho el número de etapas, baja el ciclo de reloj, pero aumentan las dependencias.

Más detalles

CAPITULO 1. Introducción a los Conceptos Generales de Bases de Datos Distribuidas

CAPITULO 1. Introducción a los Conceptos Generales de Bases de Datos Distribuidas CAPITULO 1 Introducción a los Conceptos Generales de 1.1 Preliminares Las empresas necesitan almacenar información. La información puede ser de todo tipo. Cada elemento informativo es lo que se conoce

Más detalles

Dr.-Ing. Paola Vega Castillo

Dr.-Ing. Paola Vega Castillo EL-3310 DISEÑO O DE SISTEMAS DIGITALES Dr.-Ing. Paola Vega Castillo Información n General Curso: Diseño de Sistemas Digitales Código: EL-3310 Tipo de curso: Teórico Créditos/Horas por semana: 4/4 Requisito:

Más detalles

Apuntes de arquitectura de computadoras. Unidad 1 Modelo de arquitecturas de cómputo. 1.1 Modelos de arquitecturas de cómputo.

Apuntes de arquitectura de computadoras. Unidad 1 Modelo de arquitecturas de cómputo. 1.1 Modelos de arquitecturas de cómputo. Apuntes de arquitectura de computadoras Unidad 1 Modelo de arquitecturas de cómputo. 1.1 Modelos de arquitecturas de cómputo. 1.1.1 Arquitecturas Clásicas. Estas arquitecturas se desarrollaron en las primeras

Más detalles

Computación Distribuida

Computación Distribuida Computación Distribuida Parte II: Computación Grid Juan Ángel Lorenzo del Castillo Grupo de Arquitectura de Computadores Departamento de Electrónica y Computación Universidad de Santiago de Compostela

Más detalles

Cómputo de Alto Desempeño en Intel: OSCAR, Solución en Software para Cómputo en Clusters

Cómputo de Alto Desempeño en Intel: OSCAR, Solución en Software para Cómputo en Clusters Cómputo de Alto Desempeño en Intel: OSCAR, Solución en Software para Cómputo en Clusters Jorge Figueroa Canales. jfigueroac@uxmcc2.iimas.unam.mx Maestría en Ciencia e Ingeniería de la Computación. Universidad

Más detalles

PLATAFORMA CLÚSTER BASADA EN CENTOS

PLATAFORMA CLÚSTER BASADA EN CENTOS PLATAFORMA CLÚSTER BASADA EN CENTOS Área de conocimiento: Redes y Telecomunicaciones Raúl Hernández Palacios, Felipe de Jesús Núñez Cárdenas, Javier Hervert Hernández, Miriam De la Cruz Bautista. Área

Más detalles

Contenidos. Sistemas operativos Tema 3: Estructura del sistema operativo. Componentes típicos de un SO. Gestión de procesos.

Contenidos. Sistemas operativos Tema 3: Estructura del sistema operativo. Componentes típicos de un SO. Gestión de procesos. Contenidos Sistemas operativos Tema 3: Estructura del sistema operativo Componentes típicos del SO Servicios del SO Llamadas al sistema Programas del sistema El núcleo o kernel Modelos de diseño del SO

Más detalles

Tecnologías de almacenamiento en red

Tecnologías de almacenamiento en red Departamento de Lenguajes y Sistemas Informáticos Tecnologías de almacenamiento en red Curso 2001-2002 Sergio Luján Mora Índice Introducción Tecnologías subyacentes Futuro 2 DLSI - Universidad de Alicante

Más detalles

Alta Disponibilidad. SISTEMAS DISTRIBUIDOS Departamento de Sistemas e Informática Escuela de Ingeniería Electrónica FCEIA

Alta Disponibilidad. SISTEMAS DISTRIBUIDOS Departamento de Sistemas e Informática Escuela de Ingeniería Electrónica FCEIA Alta Disponibilidad SISTEMAS DISTRIBUIDOS Departamento de Sistemas e Informática Escuela de Ingeniería Electrónica FCEIA Temario Disponibilidad y performance Tolerancia a Fallas y Alta Disponibilidad Soluciones

Más detalles

GRID COMPUTING MALLA DE ORDENADORES

GRID COMPUTING MALLA DE ORDENADORES GRID COMPUTING MALLA DE ORDENADORES Introducción Concepto Compartir potencia computacional; Aprovechamiento de ciclos de procesamiento; El Grid Computing se enmarca dentro de la tecnología de computación

Más detalles

Introducción a Windows 2000 Server

Introducción a Windows 2000 Server Introducción a Windows 2000 Server Contenido Descripción general 1 Administración de los recursos utilizando el servicio de Directorio Activo 2 Administración de una red 3 Mejora del soporte de red y comunicaciones

Más detalles

Mejorando el desempeño de una red Gigabit Ethernet en un cluster Linux

Mejorando el desempeño de una red Gigabit Ethernet en un cluster Linux Mejorando el desempeño de una red Gigabit Ethernet en un cluster Linux Raúl Hormazábal y Mario Medina Depto. Ing. Eléctrica Universidad de Concepción Raúl Hormazábal Autores Ing. Civil Electrónico UdeC

Más detalles

Apéndice A: Características de las Redes Locales

Apéndice A: Características de las Redes Locales Apéndice A: Características de las Redes Locales En este apéndice se muestran las principales características de hardware y software de las redes locales y de las computadoras que las componen y que se

Más detalles

Global File System (GFS)...

Global File System (GFS)... Global File System (GFS)... Diferente a los sistemas de ficheros en red que hemos visto, ya que permite que todos los nodos tengan acceso concurrente a los bloques de almacenamiento compartido (a través

Más detalles

Unidad 1: Conceptos generales de Sistemas Operativos.

Unidad 1: Conceptos generales de Sistemas Operativos. Unidad 1: Conceptos generales de Sistemas Operativos. Tema 3: Estructura del sistema operativo. 3.1 Componentes del sistema. 3.2 Servicios del sistema operativo. 3.3 Llamadas al sistema. 3.4 Programas

Más detalles

Sistemas Operativos de red (NOS).

Sistemas Operativos de red (NOS). Sistemas Operativos 4 tareas principales: Proporcionar interfaz: de comando o gráfica. Administrar los dispositivos de hardware en la computadora. Administrar y mantener los sistemas de archivo de disco.

Más detalles

X86 frente a PPC - Intel/AMD contra IBM

X86 frente a PPC - Intel/AMD contra IBM X86 frente a PPC - Intel/AMD contra IBM O el giro hacia RISC - Desmontando el mito del megahercio. Existen varios mitos en la informática de consumo. Uno de los más extendidos, sobre todo al usuario medio,

Más detalles

Arquitectura: Clusters

Arquitectura: Clusters Universidad Simón Bolívar Arquitectura: Clusters Integrantes: - Aquilino Pinto - Alejandra Preciado Definición Conjuntos o conglomerados de computadoras construidos mediante la utilización de hardware

Más detalles

Efectos de los dispositivos de Capa 2 sobre el flujo de datos 7.5.1 Segmentación de la LAN Ethernet

Efectos de los dispositivos de Capa 2 sobre el flujo de datos 7.5.1 Segmentación de la LAN Ethernet 7.5 Efectos de los dispositivos de Capa 2 sobre el flujo de datos 7.5.1 Segmentación de la LAN Ethernet 1 2 3 3 4 Hay dos motivos fundamentales para dividir una LAN en segmentos. El primer motivo es aislar

Más detalles

Programación Vectorial

Programación Vectorial Programación Vectorial Rafael Valdés Valdazo, Angel María Vilaboa Pérez UO196558@uniovi.es, UO197092@uniovi.es Resumen. Este documento trata sobre los fundamentos básicos de la programación vectorial,

Más detalles

Permite compartir recursos en forma coordinada y controlada para resolver problemas en organizaciones multiinstitucionales

Permite compartir recursos en forma coordinada y controlada para resolver problemas en organizaciones multiinstitucionales The Anatomy of the Grid Enabling Scalable Virtual Organization Autores : Ian Foster, Carl Kesselman y Steven Tuecke. 2001 GRIDS y Organizaciones Virtuales Permite compartir recursos en forma coordinada

Más detalles

TEMA 37: Arquitecturas Cliente / Servidor. Tipos de cliente. Tipos de Servidor. Clasificación del software.

TEMA 37: Arquitecturas Cliente / Servidor. Tipos de cliente. Tipos de Servidor. Clasificación del software. . TEMA 37: Arquitecturas Cliente / Servidor. Tipos de cliente. Tipos de Servidor. Clasificación del software. Índice 1 INTRODUCCIÓN 2 2 CARACTERÍSTICAS 2 2.1 Características del cliente...2 2.2 Características

Más detalles

Técnicas SuperEscalares en la Paralelización de Bibliotecas de Computación Matricial sobre Procesadores Multinúcleo y GPUs

Técnicas SuperEscalares en la Paralelización de Bibliotecas de Computación Matricial sobre Procesadores Multinúcleo y GPUs Técnicas SuperEscalares en la Paralelización de Bibliotecas de Computación Matricial sobre Procesadores Multinúcleo y GPUs Enrique S. Quintana-Ortí quintana@icc.uji.es High Performance Computing & Architectures

Más detalles

1. Introducción 2. Historia 3. Características clave 4. Cuestiones de diseño

1. Introducción 2. Historia 3. Características clave 4. Cuestiones de diseño Tema 1. Introducción a los sistemas distribuidos 1. Introducción 2. Historia 3. Características clave 4. Cuestiones de diseño Tema 1 Introducción a los Sistemas Distribuidos 1 Introducción y objetivos

Más detalles

TUTORIAL: COMPUTACIÓN de ALTO DESEMPEÑO

TUTORIAL: COMPUTACIÓN de ALTO DESEMPEÑO TUTORIAL : COMPUTACIÓN de ALTO DESEMPEÑO SERGIO NESMACHNOW Centro de Cálculo, Instituto de Computación FACULTAD DE INGENIERÍA, UNIVERSIDAD DE LA REPÚBLICA, URUGUAY CONTENIDO Introducción Computadores paralelos

Más detalles

Ingeniero en Informática

Ingeniero en Informática UNIVERSIDAD DE ALMERÍA Ingeniero en Informática CLÚSTER DE ALTO RENDIMIENTO EN UN CLOUD: EJEMPLO DE APLICACIÓN EN CRIPTOANÁLISIS DE FUNCIONES HASH Autor Directores ÍNDICE 1. Introducción 2. Elastic Cluster

Más detalles

ADMINISTRACIÓN DE LOS ACTIVOS DE HARDWARE Y SOFTWARE

ADMINISTRACIÓN DE LOS ACTIVOS DE HARDWARE Y SOFTWARE 5 TEMA ADMINISTRACIÓN DE LOS ACTIVOS DE HARDWARE Y SOFTWARE 5.1 OBJETIVOS Qué capacidad de procesamiento y de almacenamiento necesita nuestra organización para realizar sus transacciones de información

Más detalles

General Parallel File System

General Parallel File System General Parallel File System Introducción GPFS fue desarrollado por IBM, es un sistema que permite a los usuarios compartir el acceso a datos que están dispersos en múltiples nodos; permite interacción

Más detalles

UNIVERSIDAD DE LOS ANDES NÚCLEO UNIVERSITARIO RAFAEL RANGEL

UNIVERSIDAD DE LOS ANDES NÚCLEO UNIVERSITARIO RAFAEL RANGEL UNIVERSIDAD DE LOS ANDES NÚCLEO UNIVERSITARIO RAFAEL RANGEL CARRERAS: Comunicación Social - Contaduría Publica Administración -Educación MATERIA: Int. a la Computación - Computación I-Introducción a la

Más detalles

Introducción Componentes Básicos Concurrencia y Paralelismo Ejemplos Síntesis Lecturas Recomendadas. Arquitectura de Computadoras

Introducción Componentes Básicos Concurrencia y Paralelismo Ejemplos Síntesis Lecturas Recomendadas. Arquitectura de Computadoras Arquitectura de Computadoras Contenidos 1 Introducción Computadora Arquitectura Partes de una arquitectura 2 Componentes Básicos CPU Jerarquía de Memoria 3 Concurrencia y Paralelismo Arquitecturas concurrentes

Más detalles

Acoplamiento e interoperabilidad

Acoplamiento e interoperabilidad Máster Universitario en Ingeniería Informá3ca Acoplamiento e interoperabilidad Sistemas de Información Orientados a Servicios RODRIGO SANTAMARÍA 2 Acoplamiento débil Tipos de acoplamiento Cabalgando el

Más detalles

Sistemas Distribuidos. (Arquitecturas)

Sistemas Distribuidos. (Arquitecturas) (Arquitecturas) Dr. Víctor J. Sosa Sosa vjsosa@cinvestav.mx II-1 Arquitecturas Los SD son los sistemas de software más complejos Nortel Networks crea switches los cuales pueden contener entre 25-30 millones

Más detalles

Modulo III. Multiprocesadores

Modulo III. Multiprocesadores Arquitectura e Ingeniería a de Computadores Modulo III. Multiprocesadores Tema 8. Coherencia. Consistencia. Sincronización. Lección 12 L12. Tendencias actuales y ejemplos 2 Esquema Tendencias actuales

Más detalles

No se requiere que los discos sean del mismo tamaño ya que el objetivo es solamente adjuntar discos.

No se requiere que los discos sean del mismo tamaño ya que el objetivo es solamente adjuntar discos. RAIDS MODO LINEAL Es un tipo de raid que muestra lógicamente un disco pero se compone de 2 o más discos. Solamente llena el disco 0 y cuando este está lleno sigue con el disco 1 y así sucesivamente. Este

Más detalles

1.2 Análisis de los Componentes. Arquitectura de Computadoras Rafael Vazquez Perez

1.2 Análisis de los Componentes. Arquitectura de Computadoras Rafael Vazquez Perez 1.2 Análisis de los Componentes. Arquitectura de Computadoras Rafael Vazquez Perez 1.2.1 CPU 1 Arquitecturas. 2 Tipos. 3 Características. 4 Funcionamiento(ALU, unidad de control, Registros y buses internos)

Más detalles

Redes de Almacenamiento

Redes de Almacenamiento Redes de Almacenamiento Las redes de respaldo o backend se utilizan para interconectar grandes sistemas tales como computadores centrales y dispositivos de almacenamiento masivo, el requisito principal

Más detalles

Introducción HPC. Curso: Modelización y simulación matemática de sistemas. Esteban E. Mocskos (emocskos@dc.uba.ar) Escuela Complutense Latinoamericana

Introducción HPC. Curso: Modelización y simulación matemática de sistemas. Esteban E. Mocskos (emocskos@dc.uba.ar) Escuela Complutense Latinoamericana Curso: Modelización y simulación matemática de sistemas Metodología para su implementación computacional Introducción HPC Esteban E. Mocskos (emocskos@dc.uba.ar) Facultad de Ciencias Exactas y Naturales,

Más detalles

EMISION MULTIPLE DE INSTRUCCIONES ARQUITECTURA AVANZADA. Uciel Cohen

EMISION MULTIPLE DE INSTRUCCIONES ARQUITECTURA AVANZADA. Uciel Cohen EMISION MULTIPLE DE INSTRUCCIONES Uciel Cohen Tabla de contenido PROCESADORES VECTORIALES... 2 PROCESAMIENTO VECTORIAL... 2 TIEMPOS DE EJECUCION VECTORIAL... 3 TIEMPO DE ARRANQUE VECTORIAL Y TASA DE INICIALIZACIÓN...

Más detalles

ESTRUCTURA Y TECNOLOGÍA A DE COMPUTADORES

ESTRUCTURA Y TECNOLOGÍA A DE COMPUTADORES Universidad Rey Juan Carlos ESTRUCTURA Y TECNOLOGÍA A DE COMPUTADORES Estructura de un computador: conceptos básicos Luis Rincón Córcoles Licesio J. Rodríguez-Aragón Programa 1. Introducción 2. Elementos

Más detalles

datos para plataformas de cómputo Red Gallega de Computación de Altas Prestaciones

datos para plataformas de cómputo Red Gallega de Computación de Altas Prestaciones Infraestructuras de almacenamiento de datos para plataformas de cómputo intensivo Red Gallega de Computación de Altas Prestaciones David Expósito Singh Contenidos Introducción Sistemas de almacenamiento

Más detalles

Desarrollo de un cluster computacional para la compilación de. algoritmos en paralelo en el Observatorio Astronómico.

Desarrollo de un cluster computacional para la compilación de. algoritmos en paralelo en el Observatorio Astronómico. Desarrollo de un cluster computacional para la compilación de algoritmos en paralelo en el Observatorio Astronómico. John Jairo Parra Pérez Resumen Este artículo muestra cómo funciona la supercomputación

Más detalles

Instituto Tecnológico Argentino Técnico en Hardware de PC Plan THP2A03B

Instituto Tecnológico Argentino Técnico en Hardware de PC Plan THP2A03B Instituto Tecnológico Argentino Técnico en Hardware de PC Plan THP2A03B Reservados los Derechos de Propiedad Intelectual Tema: Procesadores AMD Archivo: CAP2A03BTHP0335.doc Clase Nº: 35 Versión: 1.1 Fecha:

Más detalles

Arquitectura de Computadores

Arquitectura de Computadores Arquitectura de Computadores 1. Introducción 2. La CPU 3. Lenguaje Máquina 4. La Memoria 5. Sistemas de Entrada/Salida 6. CPU Segmentada (Pipeline) 7. Memoria Caché 8. Arquitecturas RISC Arquitectura de

Más detalles

Especificación de la secuencia de mensajes que se han de intercambiar. Especificación del formato de los datos en los mensajes.

Especificación de la secuencia de mensajes que se han de intercambiar. Especificación del formato de los datos en los mensajes. SISTEMAS DISTRIBUIDOS DE REDES 2.- MODELOS ORIENTADOS A OBJETOS DISTRIBUIDOS 2.1. Tecnologías de sistemas distribuidos Para la implementación de sistemas distribuidos se requiere de tener bien identificados

Más detalles

MASTER DEGREE: Industrial Systems Engineering

MASTER DEGREE: Industrial Systems Engineering PAC- Performance-centered Adaptive Curriculum for Employment Needs Programa ERASMUS: Acción Multilateral - 517742-LLP-1-2011-1-BG-ERASMUS-ECUE MASTER DEGREE: Industrial Systems Engineering ASIGNATURA ISE3:

Más detalles

Módulo: Modelos de programación para Big Data

Módulo: Modelos de programación para Big Data Program. paralela/distribuida Módulo: Modelos de programación para Big Data (título original: Entornos de programación paralela basados en modelos/paradigmas) Fernando Pérez Costoya Introducción Big Data

Más detalles

El Bueno, el Malo y el Feo

El Bueno, el Malo y el Feo El Bueno, el Malo y el Feo Mejorando la Eficiencia y Calidad del Software Paralelo Ricardo Medel Argentina Systems & Tools SSG-DPD Basado en un guión de Eric W. Moore - Senior Technical Consulting Engineer

Más detalles

CURSOS DE VERANO 2014

CURSOS DE VERANO 2014 CURSOS DE VERANO 2014 CLOUD COMPUTING: LA INFORMÁTICA COMO SERVICIO EN INTERNET LA PLATAFORMA GOOGLE CLOUD PLATFORM. GOOGLE APP ENGINE Pedro A. Castillo Valdivieso Universidad de Granada http://bit.ly/unia2014

Más detalles

Sistemas de Operación II

Sistemas de Operación II Sistemas de Operación II Procesos en Sistemas Distribuidos Prof. Yudith Cardinale Abril-Julio 2012 Contenido Hilos en Sistemas Distribuidos Clientes Servidores Anexo: Virtualización 2 Procesos e hilos

Más detalles

Virtualización en procesadores multinúcleo

Virtualización en procesadores multinúcleo Virtualización en procesadores multinúcleo Francisco Triviño García ftrivino@dsi.uclm.es Becario de investigación Presente y Futuro de los Sistemas de Computación Conference title 1 Índice 1. Introducción

Más detalles

Procesador Pentium II 450 MHz Procesador Pentium II 400 MHz Procesador Pentium II 350 MHz Procesador Pentium II 333 MHz Procesador Pentium II 300 MHz

Procesador Pentium II 450 MHz Procesador Pentium II 400 MHz Procesador Pentium II 350 MHz Procesador Pentium II 333 MHz Procesador Pentium II 300 MHz PENTIUM El procesador Pentium es un miembro de la familia Intel de procesadores de propósito general de 32 bits. Al igual que los miembros de esta familia, el 386 y el 486, su rango de direcciones es de

Más detalles

Autor: Alejandro Furfaro

Autor: Alejandro Furfaro 1971 4004: Primer microprocesador de intel. Pontenció las calculadoras. Características: Bus de datos de 4 bits Espacio de direccionamiento: 32768 bits de ROM 5120 bits de RAM. 16 ports de entrada (de

Más detalles

Arquitecturas DSP. Phil Lapsley, Jeff Bier, Amit Shoham, Edward A. Lee DSP Processor Fundamentals. Architectures and Features IEEE Press 1997

Arquitecturas DSP. Phil Lapsley, Jeff Bier, Amit Shoham, Edward A. Lee DSP Processor Fundamentals. Architectures and Features IEEE Press 1997 Arquitecturas DSP Phil Lapsley, Jeff Bier, Amit Shoham, Edward A. Lee DSP Processor Fundamentals. Architectures and Features IEEE Press 1997 Arquitecturas DSP Sistemas de procesamiento de señales Transductor

Más detalles

Un proceso es un programa en ejécución Está formado por:

Un proceso es un programa en ejécución Está formado por: Principios Generales de la Concurrencia CONTENIDO: Concepto de Concurrencia Por qué utilizar la Concurrencia Exclusión Mutua y Sincronización Corrección en Sistemas Concurrentes Consideraciones sobre el

Más detalles