Karq2 U2 Ea Negb
Karq2 U2 Ea Negb
Karq2 U2 Ea Negb
Microprocesadores
ES1822026201
Asignatura
Arquitectura de Computadoras II
Grupo: TM-KADR-2102-B1-001
Área de conocimiento
CDMX 15/08/20021
Unidad 2: Multiprocesamiento
Contenido
Introducción ................................................................................................................................................................... 2
Objetivo .......................................................................................................................................................................... 3
Multiprocesamiento....................................................................................................................................................... 3
El procesamiento Paralelo ............................................................................................................................................. 4
Taxonomía de Flynne ..................................................................................................................................................... 5
La clasificación de los multiprocesadores por ubicación de la memoria. ...................................................................... 5
NUMA (Non-Uniform Memory Access) .......................................................................................................................... 7
Cluster. ........................................................................................................................................................................... 8
conceptos ....................................................................................................................................................................... 9
Clasificación de cluster ................................................................................................................................................. 10
Descripción de Cluster ................................................................................................................................................. 11
Software del cluster ..................................................................................................................................................... 13
Problemas que solucionan ........................................................................................................................................... 14
Red de líneas cruzadas o matriz de conmutación (Crossbar). ..................................................................................... 15
Redes Multietapa ......................................................................................................................................................... 15
Red omega ................................................................................................................................................................... 16
Diagramas .................................................................................................................................................................... 16
Conclusión .................................................................................................................................................................... 17
Caso Intel...................................................................................................................................................................... 19
Referencias................................................................................................................................................................... 21
1-Multiprocesamiento................................................................................................................................... 3
2-Niveles de computación Paralela ............................................................................................................... 4
3-Taxonomía de Flynne ................................................................................................................................. 5
4-Ventajas de los sistemas de Memoria Distribuida ..................................................................................... 6
5-Arquitectura de la memoria distribuida..................................................................................................... 6
6-No-Uniform Memory Access ...................................................................................................................... 7
7-Esquema General Cluster ........................................................................................................................... 8
8-Ventajas del Cluster ................................................................................................................................. 10
9-Características del cluster ........................................................................................................................ 12
10-Red Crossbar .......................................................................................................................................... 16
11-Red Multietapas ..................................................................................................................................... 17
12-Intel Xeon E5-2600v4 ............................................................................................................................. 20
Introducción
Microprocesadores
Objetivo
Entender y identificar los tipos de multiprocesamientos que existen en la actualidad, así como la
comprensión de los procesamientos en paralelo de los procesadores y su operación con los
sistemas de memoria.
Desarrollo
Multiprocesamiento
No entraremos en muchos detalles porque el tema fue expuesto en una actividad anterior, por lo
que solo se tomaran datos relevantes para poder profundizar en el tema central.
Ventajas
• Productividad
• Confiabilidad
• Ahorro económico a largo
plazo
Desventajas
• Mayor costo de compra
• SO Complejo
• Gran cantidad de memoria
1-Multiprocesamiento
El procesamiento Paralelo
Tareas
Datos
Instrucción
(Pipeline)
Por bit.
El paralelismo a nivel más bajo realiza las cadenas de bits en donde las instrucciones se forman
por palabras que trasportan la información, actualmente los procesadores trabajan con palabras
de 64bits, siendo el nivel de bit, en el nivel de instrucción como su nombre lo indica funciona en
paralelizar instrucciones sin adicción entre ellas, estas instrucciones se coordinan en grupos para
su procesamiento paralelamente en diferentes etapas o pipeline, el nivel de datos se dividen las
entradas de los datos en un programa, el nivel de tareas el programa trasfiere las tareas al
procesador siendo diferentes entre ellas para su ejecución en paralelo. (Castillo, 200)
Taxonomía de Flynne
Clasifica los ordenadores acordes a cómo y cuantas instrucciones procesa los datos, clasificación
que discrepa si los datos distintos son procesados por una única instrucción o instrucciones
diversas, por lo que se tienen cuatro arquitecturas diferentes SISD, SIMD, MISD y MIMD, teniendo
la clasificación por carácter simple(S), múltiple (M) o flujo de datos o instrucciones.
3-Taxonomía de Flynne
Los
procesadores
Se puede
Tienen su pueden
agregar màs Administraciòn
Ventajas Escalabilidad propia Menor costo compartir
memoris y de la red.
memoria local informaciòn
procesadores
(paso de
mensajes)
El diseño de la arquitectura de memoria distribuida, cuenta con su propia memoria local, los
procesadores logran compartir información mediante el envío de mensajes (paso de mensajes),
la red de conexión da paso a cualquier procesador para su comunicación con cualquiera de los
procesadores del sistema.
La delimitación más notable de MPP son los requerimientos de desarrollar software de aplicación
y bases de datos que contenga una buena distribución, además, debe de existir un software que
abiertamente gestione y balancee las cargas de trabajo entre los diferentes módulos.
Cluster.
Los nodos pueden estar contenidos e interconectados en un solo gabinete o unido mediante una
red de área local (LAN), otro componente es la interfaz de la red, siendo la responsable de
transmitir y recibir los paquetes de datos, que viajan a través de la red entre los nodos; conseguir
que los elementos operen como un solo sistema, es el propósito para el comienzo de un cluster.
Generalmente en los cluster podemos ver un ordenador el cual tiene como funcionamiento nodo-
maestro encargado de la administración, control y monitoreo de las aplicaciones y recursos del
sistema, los nodos restantes (nodos esclavos) se encargan del procesamiento de datos y
ejecución de operaciones aritméticas.
conceptos
1. Clustering: refiere a la técnica que permite combinar múltiples sistemas para que trabajen
en paralelo y se comporten como un recurso informático unificado para: servir a un grupo
de tareas, proporcionar tolerancia a fallos y tener disponibilidad continua (si se presentara
una falla dentro de una red de servidores de un cluster, ésta se corregiría inmediatamente
sin que los usuarios lo notaran).
a. Paralelismo: ejecutadas por múltiples procesadores que trabajan de manera
independiente, el paralelismo puede manejarse en dos niveles:
i. paralelismo del hardware: depende básicamente de la tecnología de
cómputo disponible.
ii. paralelismo del software: habilidad del usuario para encontrar áreas bien
definidas del problema por resolver, de tal forma que éste pueda ser
dividido en partes autónomas que serán distribuidas entre los nodos del
cluster, obteniendo un sistema de alto rendimiento computacional.
2. Multiprocesamiento: característica del sistema operativo que controla el hardware. El
software asegura la interacción entre los procesadores a nivel de carga y descarga de
datos, además de realizar el despacho de trabajos en forma múltiple, independiente y
simultánea.
3. programación de hebras (programming threads): Una hebra (thread) es una secuencia
de instrucciones ejecutables que pueden correr independientemente, compartiendo
recursos computacionales con otras hebras (En un programa hay la posibilidad de ejecutar
varias hebras simultáneamente. Cuando esto ocurre todas las hebras activas pueden
competir y compartir los recursos del sistema. Por lo tanto, el usuario ha recurrido a la
programación multi-hebras (multithread) que trae como consecuencia la concurrencia
entre procesos y tiene una gran importancia en el cómputo paralelo).
(Beowulf.org, 2002) (Informática, s.f.) (UNAM, 2002) (UNAM D. d.-D., 2002) (Dubinski, 2003)
Clasificación de cluster
Ventajas
Alto rendimiento
Expansibilidad
Escalamiento
Soporte a alta carga de trabajo
Alta disponibilidad
(ZEUS-MP, 2001) (Sterling, 1994) (MPI, 2001) (LINUX, 2001) (Computing, 2001) (GNU, 2002) (UNAM,
2020)
Descripción de Cluster
Para crear un cluster se requiere como mínimo dos ordenadores, los cluster tienen como
característica principal la existencia de un medio de comunicación (red), en donde los procesos
alcancen migrar para computarse en diferentes estaciones paralelamente.
Los cluster admiten crecer la escalabilidad, disponibilidad y fiabilidad de múltiples niveles de red,
donde la escalabilidad es la capacidad de un dispositivo para realizar volúmenes de trabajo cada
vez mayores sin dejar de tener un rendimiento aceptable, se tienen dos tipos de escalabilidad.
Bajo Costo). Se utiliza el término RAC (Arreglo Redundante de Equipos) para referirse a
los cluster de escalamiento horizontal. Del mismo modo que se añaden discos a un arreglo
RAID para aumentar su rendimiento, se pueden añadir nodos a un cluster para aumentar
también su rendimiento.
Los diferentes tipos de cluster requieren de un modelado y diseño de software diferente, parte del
software se debe de comunicar entre los nodos.
1. Clase 1: sistemas compuestos por ordenadores donde los elementos cumplen con la
prueba de certificación “Computer Shopper” es decir sus elementos son de uso común, y
pueden ser adquiridos muy fácilmente en cualquier tienda distribuidora.
2. Clase 2: sistemas compuestos por ordenadores donde los elementos no cumplen la
prueba de certificación “Computer Shopper” es decir sus elementos no son de uso común
y no pueden encontrarse con la misma facilidad.
El acoplamiento del cluster está definido por el nivel de colaboración que une a sus elementos,
clasificado en:
1. Acoplamiento fuerte
2. Acoplamiento medio o moderado
3. Acoplamiento débil
Los elementos del cluster trabajan en cumplimiento de una funcionalidad conjunta teniendo como
características extras:
1. Cálculos matemáticos
2. Renderizaciòn de gráficos (generación de gráficos vectoriales)
3. Compilación de programas
4. Compresión de datos
5. Descifrado de códigos
6. Rendimiento del sistema operativo (incluyendo, el rendimiento de los recursos de cada nodo)
(VALENCIA, 2010)
La clasificación de interconexión está basada en la rigidez de los enlaces entre dos nodos, por lo
que las redes se clasifican en dos grupos, estáticas y dinámicas, teniendo que una red estática
está caracterizada porque la topología está establecida de manera definida además de establecer
cuando se instala un sistema por lo que su única posibilidad de modificación es crecer, en las
redes dinámicas que es el punto central de este apartado, puede variar de topología durante la
ejecución de los procesos o entre la ejecución de los mismos.
También se tiene en cuenta que la red puede ser jerárquicas o no, si están formadas por una
serie de niveles, con diferentes números de nodos, dentro de cada uno de los cuales existe
simetría, en donde las redes jerárquicas suelen ser estáticas siendo la mayoría, sin embargo, hay
algún tipo de topología dinámica que también puede serlo. Nos centraremos en la rede de
interconexión dinámicas.
Las redes de interconexión dinámicas son adecuadas si se requiere una red de propósito general,
debido a son fácil de reconfigurar, por lo que la estabilidad se facilita, estas redes requieren
elementos de conexión específicos como árbitros de bus, conmutadores entre otros, su topología
puede variar durante el curso de la ejecución de un programa paralelo o entre dos ejecuciones
de programa, utilizadas generalmente en los multiprocesadores, la red une a los procesadores a
los bancos de memoria central, cualquier acceso de un procesador a la memoria debe pasar
mediante la red, por lo se dice que la red tiene un acoplamiento fuerte, la red debe poseer un
rendimiento extremadamente bueno para no demorar demasiado a los procesadores que
acceden a memoria, esta red soporta la carga de unir N procesadores a los N bancos de memoria
central , se pueden realizar redes dinámicas a base de enlaces punto a punto o de bus; podrían
presentar un problema en la relación conexión-contención, en donde el número de procesadores
sobre pasa algunas decenas, se debe de elegir soluciones situadas entre estos dos extremos
como un crossbar o matriz de puntos de cruce mediante conmutadores. (Carrasco, s.f.).
Red de líneas cruzadas o matriz de conmutación (Crossbar).
La red crossbar o de "barras cruzadas" conecta n módulos de entrada con n módulos de salida.
En cada cruce de barras se encuentra un conmutador que se activa cuando se quiere enviar
información entre el procesador de la fila y el módulo de memoria correspondiente. La principal
ventaja de este tipo de redes es que, con un bajo coste, permite conectar todos los componentes
de entrada con todos los componentes de salida, aunque en la práctica el máximo número de
conexiones que se pueden activar en paralelo es de n ya que un procesador no puede
comunicarse con dos módulos de memoria a la vez, ni dos procesadores pueden acceder a la
vez a uno de los módulos de memoria. Aun así, el ancho de banda teórico es alto, teniendo en
cuenta su bajo coste. (Universidad Europea de Madrid, s.f.). Cuenta con ventaja como: no son
bloqueantes y son fácilmente escalables, con el inconveniente de que requiere gran número de
conmutadores para una red cuadrada de lado N
Redes Multietapa
lentas que las redes crossbar. La red más utilizada de este tipo es la red omega, que optimiza el
número de etapas y de switches para poder conectar todos los componentes de entrada con
todos los componentes de salida. Desde el punto de vista de la arquitectura, las redes multietapa
se clasifican según dos criterios:
Ofrece un alto ancho de banda, aunque igual que las redes crossbar, no permita más de n
conexiones en paralelo, ya que los switches sólo pueden usarse con una combinación de
conmutación entrada-salida por cada transferencia, bloqueando el resto de entradas y salidas.
(Valladolid, s.f.)
Diagramas
10-Red Crossbar
11-Red Multietapas
Conclusión
Multiprocesamiento
Tipo Ventajas Desventajas
1. Tienden a ser más eficientes 1. Conforme se añaden
porque las tareas tanto del procesadores, el tráfico en
sistema operativo como de el bus de memoria se
Simétrico
los usuarios pueden ser satura
distribuidas en forma 2. Al manejarse ocho o más
procesadores, el cuello de
(CASTRO, 2017)
Caso Intel
En Intel tenemos el procesador Xeon E5-2660 V4 el cual pertenece a la familia Haswell E. cuando
se introdujo el COD (Cluster on Die) en procesadores con más de 10 núcleos. Por lo Tanto, es
compatible con SMP. El Intel Xeon E5-2660 v4 viene con 14 núcleos. COD habilita un segundo
nodo NUMA por zócalo de procesador. Esto depende de la placa, ya que las características de
NUMA se administran mediante el sistema básico de entrada/salida de la placa: BIOS.
Tiene un soporte de 64 bits, cuenta con 14 núcleos y 28 hilos una velocidad del reloj del
procesador de 2000 MHz, frecuencia máxima de reloj es de 3200 MHz, memoria cachè de L2 2.5
MB, cache L3 35 MB, consumo de energía de TDP A 105 w, de la memoria de acceso aleatorio
tenemos como capacidad de 1540 GB, frecuencia máxima de 2400 MHz y canales máximos 4,
Referencias
Andalia1, L. R. (02 de 2004). Recuperado el 15 de 08 de 2021, de
http://scielo.sld.cu/scielo.php?script=sci_arttext&pid=S1024-
94352004000100004#:~:text=La%20primera%20publicaci%C3%B3n%20realizada%20con,tres%2
0de%20julio%20de%201886.