Arquitectura de Computadoras - Cluster...

40
Introducci´ on Componentes B´ asicos Concurrencia y Paralelismo Ejemplos ıntesis Lecturas Recomendadas Arquitectura de Computadoras

Transcript of Arquitectura de Computadoras - Cluster...

  • Introducción Componentes Básicos Concurrencia y Paralelismo Ejemplos Śıntesis Lecturas Recomendadas

    Arquitectura de Computadoras

  • Introducción Componentes Básicos Concurrencia y Paralelismo Ejemplos Śıntesis Lecturas Recomendadas

    Contenidos

    1 IntroducciónComputadoraArquitecturaPartes de una arquitectura

    2 Componentes BásicosCPUJerarqúıa de Memoria

    3 Concurrencia y ParalelismoArquitecturas concurrentesArquitecturas DistribuidasMemoria compartida y Memoriadistribuida

    4 EjemplosEjemplos de arquitecturasCentralizadasEjemplos de ArquitecturasDistribuidas

    5 ŚıntesisDefinicionesComponentes básicosConcurrencia y paralelismo

    6 Lecturas RecomendadasConceptos básicosTemas avanzados

  • Introducción Componentes Básicos Concurrencia y Paralelismo Ejemplos Śıntesis Lecturas Recomendadas

    Computadora

    Una computadora puededefinirse como una máquina deestados que acepta entradas,las procesa utilizando unacolección finita y definida deinstrucciones y genera unresultado según las entradasespecificadas. ”Turing Machine”, Licencia de dominio público

  • Introducción Componentes Básicos Concurrencia y Paralelismo Ejemplos Śıntesis Lecturas Recomendadas

    Arquitectura

    La arquitectura de una computadora es el modelo conceptual que describe lascaracteŕısticas de una computadora, las instrucciones que puede ejecutar y la forma enque se ejecutan.Existe una familia de arquitecturas denominada RISC (Reduced Instruction SetComputer) que define un estándar en la forma en que se representan las instrucciones:

    Tamaño estándar para todas las instrucciones

    Almacenamiento y recuperación de datos sólo a través de instrucciones dedicadas

    Menos instrucciones más simples, operaciones más complejas se alcanzan porcomposición

  • Introducción Componentes Básicos Concurrencia y Paralelismo Ejemplos Śıntesis Lecturas Recomendadas

    Partes de una arquitectura

    En la actualidad toda computadora cuenta con dos componentes principales:

    Unidad Central de Procesamiento o CPU

    Jerarqúıa de Memoria

    Adicionalmente puede tener componentes adicionales que se encarguen de tareasespecializadas, por ejemplo:

    Procesamiento gráfico

    Gestión y sincronización de audio

    Control de almacenamientos especializados

    Comunicación con dispositivos externos

    Entre otros

  • Introducción Componentes Básicos Concurrencia y Paralelismo Ejemplos Śıntesis Lecturas Recomendadas

    Componentes Básicos.

  • Introducción Componentes Básicos Concurrencia y Paralelismo Ejemplos Śıntesis Lecturas Recomendadas

    CPU

    La Unidad Central de Procesamiento tiene a su vez 3 componentes principales:

    Control de Instrucciones (CI): Tiene programadas, por medio de circuitos digitales,todas las instrucciones básicas que puede ejecutar la computadora.Unidad Aritmético-Lógica (ALU): Se encarga de ejecutar instrucciones especialesaritméticas que son muy complejas para el conjunto de instrucciones del CIRegistros: El CI está conectado a una estructura de almacenamiento organizada enRegistros, cada registro puede almacenar una instrucción o un dato de máximo(según la tecnoloǵıa actual) 64 bits de tamaño.

  • Introducción Componentes Básicos Concurrencia y Paralelismo Ejemplos Śıntesis Lecturas Recomendadas

    CPU

    Ciclo del CPU:1 Fetch: Recuperar

    instrucción2 Decode: Identificar

    instrucción3 Execute: Coordinar la

    ejecución4 Return: Regresar a (1)

    Diagrama de ejecución deprocesador MIPS.

    Pipeline MIPS, Licencia de dominio público.

  • Introducción Componentes Básicos Concurrencia y Paralelismo Ejemplos Śıntesis Lecturas Recomendadas

    CPU

    El CI puede ejecutar hasta cuatro* instrucciones ala vez, cada una en etapas distintas del ciclo deprocesamiento.

    El reloj interno del CI marca un ciclo cada vez quese termina la etapa más lenta y permite al ciclo deprocesamiento avanzar.

    Las instrucciones de ALU son más lentas y por logeneral requieren más de un ciclo para ejecutarse.

    La velocidad de una CPU se mide en cantidad deciclos de reloj por segundo, esta frecuencia serepresenta en Hertz (Hz, MHz, GHz).

    Vista inferior delPentium IV por EricGaba. cba

  • Introducción Componentes Básicos Concurrencia y Paralelismo Ejemplos Śıntesis Lecturas Recomendadas

    Jerarqúıa de memoria

    Almacenamientos Primarios

    1 Registros: Directo al CPU

    2 Caché L1: Memoria de trabajo

    3 Caché L2: Memoria de trabajo

    4 RAM: Memoria Principal

    Almacenamientos Secundarios

    5 Medios Magnéticos

    Medios Ópticos

    Medios SemiconductoresCNCA cba

  • Introducción Componentes Básicos Concurrencia y Paralelismo Ejemplos Śıntesis Lecturas Recomendadas

    Concurrencia y Paralelismo.

  • Introducción Componentes Básicos Concurrencia y Paralelismo Ejemplos Śıntesis Lecturas Recomendadas

    Concurrencia y Paralelismo

    Un procesador con un único CI puede recuperar (Fetch) solo una instrucción porcada ciclo de reloj.

    Si se define un proceso como un conjunto finito de instrucciones secuenciales, esteprocesador puede correr sólo un proceso a la vez.

    Existen dos estrategias, no excluyentes entre śı, para que un procesador puedaejecutar múltiples procesos a la vez:

    Arquitectura Multihilo

    Un mismo CI puede corrervarios procesos alternando lasinstrucciones que loscomponen.

    Arquitectura Multinúcleo

    Un mismo procesador puedetener múltiples CI, cada unocon sus propios ALU, Registrosy parte de la Caché.

  • Introducción Componentes Básicos Concurrencia y Paralelismo Ejemplos Śıntesis Lecturas Recomendadas

    Arquitecturas Distribuidas

    Las arquitecturas multinúcleo y multihilo permiten ejecutar múltiples instruccionesutilizando una misma jerarqúıa de memoria.

    Al trabajar con un procesador multinúcleo, la cantidad de procesos paralelos quese pueden ejecutar está limitada por las especificaciones de la CPU.

    En la actualidad la mayoŕıa de computadoras personales y servidores utilizan estetipo de arquitectura.

    Existen arquitecturas que permiten conectar múltiples CPUs, aumentando lacantidad de procesos paralelos según las necesidades del usuario.

  • Introducción Componentes Básicos Concurrencia y Paralelismo Ejemplos Śıntesis Lecturas Recomendadas

    Multiprocesamiento Simétrico - SMP

    Acceso Uniforme a Memoria(UMA)

    Caché compartida

    No requieresincronización.

    CNCA cba

    Acceso No Uniforme aMemoria (NUMA)

    Caché independiente

    Escritura debesincronizarse

    CNCA cba

  • Introducción Componentes Básicos Concurrencia y Paralelismo Ejemplos Śıntesis Lecturas Recomendadas

    Multiprocesamiento Asimétrico - AMP

    Espacio de direcciones distribuido

    Lectura de memoria remota requierecomunicación (e.j. red)

    Sólo puede ser NUMA

    Escalable

    CNCA cba

  • Introducción Componentes Básicos Concurrencia y Paralelismo Ejemplos Śıntesis Lecturas Recomendadas

    Ejemplos de Arquitecturas.

  • Introducción Componentes Básicos Concurrencia y Paralelismo Ejemplos Śıntesis Lecturas Recomendadas

    Ejemplos de arquitecturas

    En la actualidad existen varios ejemplos prácticos de casi todas las arquitecturasexpuestas.

    A continuación se enumeran algunos partiendo de los más básico hasta lo máscomplejo.

  • Introducción Componentes Básicos Concurrencia y Paralelismo Ejemplos Śıntesis Lecturas Recomendadas

    Dispositivos Móviles

    Mononúcleo-Monohilo.

    La memoria principal y el almacenamiento secundario son compartidos.

    Puede extenderse el almacenamiento secundario con unidades flash.

    Rendimiento muy bajo.

    Requieren espacio ḿınimo, de bolsillo.

    Muy bajo costo.

  • Introducción Componentes Básicos Concurrencia y Paralelismo Ejemplos Śıntesis Lecturas Recomendadas

    Dispositivos Móviles

    Smartphones por Phillip Wilson cbd

    Imágenes en dispositivos móviles - Tablets porRaHuL Rodriguez cba

  • Introducción Componentes Básicos Concurrencia y Paralelismo Ejemplos Śıntesis Lecturas Recomendadas

    Computadoras Portátiles (NetBooks)

    Mononúcleo-Multihilo.

    La memoria principal es escalable.

    El almacenamiento secundario es disco duro.

    Rendimiento bajo.

    Requieren muy poco espacio.

    Muy bajo costo.

  • Introducción Componentes Básicos Concurrencia y Paralelismo Ejemplos Śıntesis Lecturas Recomendadas

    Computadoras Portátiles (NetBooks)

    HP 2133 Mini-Note PC (side) por VIA Gallery cb

  • Introducción Componentes Básicos Concurrencia y Paralelismo Ejemplos Śıntesis Lecturas Recomendadas

    Computadoras de escritorio / Estaciones de Trabajo

    Multinúcleo-Multihilo.

    SMP.

    La memoria principal y el almacenamiento secundario son escalables.

    Tienen rendimiento medio.

    Requieren más espacio para albergar los componentes, intercambian escalabilidadpor portabilidad.

    Dada la escalabilidad, pueden ser de bajo a mediano costo.

  • Introducción Componentes Básicos Concurrencia y Paralelismo Ejemplos Śıntesis Lecturas Recomendadas

    Estaciones de Trabajo

    Laptop - Anónimo zDesktop por EroticDesktops cba

  • Introducción Componentes Básicos Concurrencia y Paralelismo Ejemplos Śıntesis Lecturas Recomendadas

    Servidor

    Multinúcleo-Multihilo

    SMP y AMP

    Equipos de procesamiento intensivo, atienden múltiples solicitudes al mismotiempo.

    Requieren mucha memoria principal y mucho almacenamiento secundario paraprocesar todas las tareas requeridas.

    Mediano consumo de enerǵıa, y soporte de corriente ininterrumpido.

    Tienen rendimiento medio, similar a las estaciones de trabajo, pero con mayorescapacidades de red.

    Mediano costo.

  • Introducción Componentes Básicos Concurrencia y Paralelismo Ejemplos Śıntesis Lecturas Recomendadas

    Servidor

    Dell Power Edge Servers - Anónimo p

    Server - Anónimo z

  • Introducción Componentes Básicos Concurrencia y Paralelismo Ejemplos Śıntesis Lecturas Recomendadas

    Cluster

    Equipos distribuidos de procesamiento intensivo. Compuesto de varios servidoresque trabajan en conjunto para resolver una tarea.

    Sistemas h́ıbridos AMP-SMP

    Altamente escalables.

    Su administración es compleja y requiere conocimientos técnicos avanzados.

    Alto consumo de enerǵıa, son múltiples equipos con corriente ininterrumpida.

    Alto costo.

    Alto rendimiento.

    Requieren mucho espacio.

  • Introducción Componentes Básicos Concurrencia y Paralelismo Ejemplos Śıntesis Lecturas Recomendadas

    Cluster

    US NASA Columbia por Nuno Tavares p

    Titan render - OakRidge p

  • Introducción Componentes Básicos Concurrencia y Paralelismo Ejemplos Śıntesis Lecturas Recomendadas

    Malla

    Sistemas distribuidos de amplio propósito.

    Se comportan como un cluster, pero su composición es más heterogénea.

    Muy alto consumo de enerǵıa.

    Alto costo.

    Alto rendimiento.

    Su administración es muy compleja ya que requiere mucha mediación y control decontingencias.

    Requieren mucho espacio.

    Por su naturaleza distribuida, en una malla t́ıpicamente se distribuyen los costos,el consumo de enerǵıa y el espacio requerido entre varias entidades.

    Más que escalables, una malla suele ser dinámica, debe permitir agregar o separarnodos del sistema.

  • Introducción Componentes Básicos Concurrencia y Paralelismo Ejemplos Śıntesis Lecturas Recomendadas

    Malla

    Sistema grid p

  • Introducción Componentes Básicos Concurrencia y Paralelismo Ejemplos Śıntesis Lecturas Recomendadas

    Enjambre

    Sistemas distribuidos de bajo costo.

    Utilizan múltiples equipos heterogéneos, no dedicados, de múltiples clientesvoluntarios.

    Los equipos están comunicados por medio red.

    El rendimiento depende de la disponibilidad de recursos de sus nodos, al no serequipos dedicados no pueden suministrar el total de la capacidad al sistema.

    Su administración debe tolerar muchas contingencias y la calendarización detrabajos es más compleja que en los modelos anteriores.

    Altamente dinámicos.

    Ejemplo: SETI@HOME

  • Introducción Componentes Básicos Concurrencia y Paralelismo Ejemplos Śıntesis Lecturas Recomendadas

    Enjambre

    Network por gr8effect z

  • Introducción Componentes Básicos Concurrencia y Paralelismo Ejemplos Śıntesis Lecturas Recomendadas

    Nube

    Sistemas distribuidos de uso distribuido.

    Los modelos anteriores ponen a disposición múltiples recursos para un sólo usuario,la nube conecta múltiples recursos a múltiples usuarios de forma transparente.

    El usuario desconoce las caracteŕısticas del sistema, el sistema cuenta conplataformas de mediación que se encargan de brindar los recursos al usuario sinimportar las condiciones del equipo.

    Son fáciles de escalar, requieren mucho mantenimiento.

    Muy alto costo, consumo energético y espacio.

    Ejemplos: Office 365, Dropbox, Google Drive.

  • Introducción Componentes Básicos Concurrencia y Paralelismo Ejemplos Śıntesis Lecturas Recomendadas

    Nube

    Cloud Computing ©

  • Introducción Componentes Básicos Concurrencia y Paralelismo Ejemplos Śıntesis Lecturas Recomendadas

    Śıntesis.

  • Introducción Componentes Básicos Concurrencia y Paralelismo Ejemplos Śıntesis Lecturas Recomendadas

    Definiciones

    Computadora:

    Máquina de estados

    Procesa datos a través de instrucciones

    Instrucciones son finitas y predefinidas

    Arquitectura:

    Modelo conceptual

    Define las instrucciones

    Caracterización de las capacidades de una computadora

  • Introducción Componentes Básicos Concurrencia y Paralelismo Ejemplos Śıntesis Lecturas Recomendadas

    Componentes básicos

    Unidad de Procesamiento Central:

    CI: Ejecuta instrucciones básicas

    ALU: Ejecuta operaciones aritméticas más complejas

    Registros: Único acceso a datos desde el CI.

    Jerarqúıa de Memoria:1 Almacenamiento Primario (Transiente):

    1 Caché L1 y L2 (Memoria de trabajo)2 Memoria RAM

    2 Almacenamiento secundario (Persistente):

    Disco DuroCDsFlashetc...

  • Introducción Componentes Básicos Concurrencia y Paralelismo Ejemplos Śıntesis Lecturas Recomendadas

    Concurrencia y paralelismo

    Multihilo: Varios procesos, un CI

    Multinúcleo: Varios CI, una jerarqúıa de memoria

    Distribuido: Varios CPU, varias jerarqúıas de memoria

    UMA: Acceso coordinado a memoria, no requiere sincronización

    NUMA: Acceso independiente a memoria, pueden ocurrir inconsistencias

    SMP: CPUs idénticas, fácilmente intercambiables

    AMP: CPUs asimétricas, es posible escalar

  • Introducción Componentes Básicos Concurrencia y Paralelismo Ejemplos Śıntesis Lecturas Recomendadas

    Lecturas Recomendadas.

  • Introducción Componentes Básicos Concurrencia y Paralelismo Ejemplos Śıntesis Lecturas Recomendadas

    Arquitectura de computadoras

    Arquitectura decomputadoras por M.Morris Mano.

    Arquitectura decomputadoras enWikipedia.

    MIPS y RISC enWikipedia.

    http://es.wikipedia.org/wiki/Arquitectura_de_computadorashttp://es.wikipedia.org/wiki/Arquitectura_de_computadorashttp://es.wikipedia.org/wiki/Arquitectura_de_computadorashttp://es.wikipedia.org/wiki/MIPS_(procesador)http://es.wikipedia.org/wiki/Reduced_instruction_set_computing

  • Introducción Componentes Básicos Concurrencia y Paralelismo Ejemplos Śıntesis Lecturas Recomendadas

    Enlaces a temas espećıficos en Wikipedia

    SMP

    AMP

    UMA

    NUMA

    http://en.wikipedia.org/wiki/Symmetric_multiprocessinghttp://en.wikipedia.org/wiki/Asymmetric_multiprocessinghttp://en.wikipedia.org/wiki/Uniform_memory_accesshttp://en.wikipedia.org/wiki/Non-uniform_memory_access

    IntroducciónComputadoraArquitecturaPartes de una arquitectura

    Componentes BásicosCPUJerarquía de Memoria

    Concurrencia y ParalelismoArquitecturas concurrentesArquitecturas DistribuidasMemoria compartida y Memoria distribuida

    EjemplosEjemplos de arquitecturas CentralizadasEjemplos de Arquitecturas Distribuidas

    SíntesisDefinicionesComponentes básicosConcurrencia y paralelismo

    Lecturas RecomendadasConceptos básicosTemas avanzados