• No se han encontrado resultados

Procesamiento Paralelo

N/A
N/A
Protected

Academic year: 2022

Share "Procesamiento Paralelo"

Copied!
70
0
0

Texto completo

(1)

Procesamiento Paralelo

Arquitecturas de Computadoras Paralelas

Javier Iparraguirre

Universidad Tecnol´ogica Nacional, Facultad Regional Bah´ıa Blanca 11 de Abril 461, Bah´ıa Blanca, Argentina

jiparraguirre@frbb.utn.edu.ar http://www.frbb.utn.edu.ar/hpc/

(2)

Modelos usados en HPC

(3)

¿Que es HPC?

HPC es equivalente a High Performance Computing

Consta en agregar poder de c´omputo con el fin lograr resultados mucho m´as r´apido de los que se logra con una computadora de escritorio t´ıpica.

Generalmente involucra grandes problemas en ciencia, ingenier´ıa o negocios.

Se puede dividir las estrategias de procesamiento en 3 tipos generales: SMP, Heterog´eneo y pasaje de mensajes.

(4)

Multiprocesamiento sim´ etrico (SMP)

(5)

Multiprocesamiento sim´ etrico (SMP)

Varias unidades de procesamiento id´enticas comparten un

´

unico espacio de memoria.

Todas las unidades tienen acceso a los dispositivos de entrada y salida (E/S).

Un sistema operativo com´un.

Caso t´ıpico: procesadores multi-n´ucleo.

(6)

Heterog´ eneo

(7)

Heterog´ eneo

Unidades de prop´osito general manejan la memoria y la E/S.

Otras unidades especializadas computan tareas espec´ıficas.

Espacio de memoria compartido y sistema operativo com´un.

Caso t´ıpico: PC con GPU.

(8)

Pasaje de mensajes

(9)

Pasaje de mensajes

M´ultiples nodos se comunican a trav´es de una red por pasaje de mensajes.

Los nodos no comparten memoria.

No es necesario compartir el sistema operativo.

Caso t´ıpico: cluster.

(10)

Marco Conceptual

(11)

Arquitectua von Neumann (1945)

(12)

Arquitectua von Neumann (1945)

Cuatro componentes principales

memoria

Unidad de Control

Unidad aritm´etica

Entrada/Salida

I/O: memoria de acceso aleatorio para almacenar datos e instrucciones

La unidad de control trae instrucciones y datos de la memoria, decodifica las instrucciones y secuencialmente coordina las operaciones para llevar a cabo la tarea programada

La Unidad aritm´etica realiza las operaciones aritm´eticas b´asicas

La entrada/salida es la interfaz con el humano

Cache: ¿Ideas? ¿Comentarios? ¿Saben porqu´e?

(13)

Elementos M´ınimos de una Computadora Paralela [1]

Hardware

ultiples procesadores

ultiples memorias

Interconexi´on

Software del sistema

Sistema operativo paralelo

Herramientas

Aplicaciones

Objetivo

Resolver el problema lo mas r´apido posible de manera eficiente

(14)

Dos Miradas a la Misma Realidad

Organizaci´on L´ogica

Lo que ve el usuario de la m´aquina a trav´es del software

Organizaci´on F´ısica

El hardware de la m´aquina

La arquitectura f´ısica es independiente de la arquitectura l´ogica

Es necesario conocer el hardware si queremos que el software corra de forma eficiente

La computadora ideal es aquella que nos oculta los detalles f´ısicos (si la ven, avisen!)

(15)

Dos Miradas a la Misma Realidad

Organizaci´on L´ogica

Lo que ve el usuario de la m´aquina a trav´es del software

Organizaci´on F´ısica

El hardware de la m´aquina

La arquitectura f´ısica es independiente de la arquitectura l´ogica

Es necesario conocer el hardware si queremos que el software corra de forma eficiente

La computadora ideal es aquella que nos oculta los detalles f´ısicos (si la ven, avisen!)

(16)

Tipos de Computadoras Paralelas

(17)

Taxonom´ıa de Flynn (1966)

Se separan las instrucciones y los datos en dos dimensiones

Pueden ser simples o m´ultiples

SISD: Single Instruction, Single Data

SIMD: Single Instruction, Multiple Data

MISD: Multiple Instruction, Single Data

MIMD: Multiple Instruction, Multiple Data

(18)

SISD

(19)

SISD

Una computadora serie (no hay paralelismo)

Instrucci´on simple: solo una instrucci´on ejecutada por el CPU durante cualquier ciclo del reloj

Datos simples: solo una secuencia de datos es usada como entrada durante cualquier ciclo de reloj

Ejecuci´on determin´ıstica

El modelo m´as antiguo de la computaci´on

Ejemplos: los primeros mainframes, la mayor´ıa de los m´oviles, las primeras PCs

(20)

SIMD

(21)

SIMD

Un tipo de computadora paralela

Instrucci´on simple: solo una instrucci´on ejecutada por el CPU durante cualquier ciclo del reloj

Datos m´ultiples: cada unidad de procesamiento puede operar sobre un conjunto de datos diferente

Se adapta muy bien en problemas con un alto grado de regularidad, tales como gr´aficos/im´agenes

Ejecuci´on sincr´onica y determin´ıstica

Dos variantes: arreglo de procesadores o unidades vectoriales

Las unidades de procesamiento de gr´aficos (GPUs) emplean unidades de procesamiento SIMD

(22)

MISD

(23)

MISD

Una secuencia de datos ´unica es provista a unidades de procesamiento m´ultiples

Cada unidad de procesamiento opera sobre los datos de manera independiente (contadores de programa

independientes)

Pocos ejemplos pr´acticos de este modelo de computadora paralela

Algunos usos posibles pueden ser:

ultiples filtos de frecuencia operado sombre una misma se˜nal

Multiples algoritmos de criprograf´ıa operado sobre un mensaje codificado

(24)

MIMD

(25)

MIMD

Actualmente es el tipo de computadora paralela m´as usado.

Ma mayor´ıa de las computadoras caen aqu´ı

Instrucciones m´ultiples: cada procesador puede estar ejecutando una secuencia de instrucciones diferentes

Datos m´ultiples: cada unidad de procesamiento puede operar sobre un c´omputo de datos diferente

La ejecuci´on puede ser sincr´onica o asincr´onica, determin´ıstica o no-determin´ıstica

Ejemplos: la mayor´ıa de las supercomputadoras actuales, clusters y grids, multi-core PCs

Nota: muchas arquitecturas MIMD pueden contener componentes internos que ejecuten SIMD

(26)

Modelos de Memoria

(27)

Caracter´ısticas Generales de Memoria Compartida

En general la memoria compartida permite a los procesadores acceder a la memoria como un espacio de direcciones global

Procesadores m´ultiples pueden operar independientemente sobre recursos de memoria compartida

Un cambio en la memoria producido por una unidad de procesamiento es visible por el resto de los procesadores

Hay dos clases de arquitecturas de memoria compartida: UMA y NUMA

(28)

UMA

(29)

UMA

Un claro ejemplo son las machinas SMP (Symmetric Multiprocessor)

Procesadores id´enticos

Las prioridades y los tiempos de acceso son iguales para todos

CC-UMA: Cache Coherent UMA (usualmente lo hace el hardware)

(30)

NUMA

(31)

NUMA

Usualmete ocurre cuando se conectan dos o m´as sistemas SMPs

Un sistema SMP puede acceder directamente a la memoria del otro

No todos los procesadores tienen igual acceso a todas las direcciones de memoria

El acceso a memoria a trav´es del v´ınculo (o bus) es m´as lento

CC-NUMA: Cache Coherent NUMA

(32)

Ventajas y Desventaja de Memoria Compartida

Ventajas

Espacio de memoria global es amigable para el programador

El intercambio de datos entre las tareas es r´apido y uniforma debido a la proximidad entre CPUs

Desventajas

El principal problema es que no se puede escalar el modelo.

Cuando se agregan CPUs el tr´afico se incrementa

geom´etricamente y comienzan los problemas de coherencia

El programador es responsable de la sincronizaci´on de los datos y la coherencia en la memoria

(33)

Memoria Distribuida

(34)

Caracter´ısticas Generales Memoria Distribuida

Hay varios modelos de memoria distribuida. El patr´on general es el uso de una red de comunicaci´on para conectar las memorias de los procesadores

Los procesadores tienen su propia memoria local y no hay correspondencia entre dos procesadores.

Independencia de operaci´on, los cambios en un lugar no afectan al resto

Cuando un procesador necesita un dato externo, el programador lo ordena expl´ıcitamente

La red de comunicaci´on puede variar ampliamente, puede ser una red ethernet

(35)

Ventajas y Desventaja de Memoria Distribuida

Ventajas

El modelo escala con los procesadores. A medida que se agregan unidades de procesamiento la memoria escala proporcionalmente

Cada procesador accede a un dato en memoria sin interferir al resto de los componentes. Se eliminan las demoras por accesos ultiples

Desventajas

El programador es responsable de muchos de los detalles asociados a la comunicaci´on entre procesadores

Puede ser dificultoso mapear estructuras de datos basadas en memoria global a esta organizaci´on de memoria

(36)

Memoria H´ıbrida Compartida-Distribuida

(37)

Memoria H´ıbrida Compartida-Distribuida

Las principales supercomputadoras usan este modelo

La memoria compartida es usualmente un SMP. Los procesadores acceden a la memoria global tambi´en

La memoria distribuida es la interconexi´on de m´ultiples SMPs

Ventajas y desventajas: las que aplican a los tipos involucrados

(38)

Interconexiones y Topolog´ıas

(39)

Interconexiones y Topolog´ıas

Suponiendo una m´aquina paralela ideal compuesta por n procesadores

Dependiendo en la forma que se maneja el acceso a memoria, se encuentran cuatro clases

Exclusive-read, exlusive-write (EREW)

Concurrent-read, exclusive-write (CREW)

Exclusive-read, concurrent-write (ERCW)

Concurrent-read, concurrent-write (CRCW)

Las escrituras concurrentes se resuelven por:

Common/Arbitrary/Priority/Sum

(40)

Redes de Interconexi´ on

Concentan procesadores-procesadores y procesadores-memoria

Est´aticas

Conexiones punto a punto

Hist´oricamente para conectar procesadores entre si

Din´amicas

Se colocan elementos de conmutaci´on en la red

Hist´oricamente para conectar los procesadores con la memoria

(41)

Redes en una Foto

(42)

Redes con un Bus o Canal

(43)

Crossbar

(44)

Multi-etapa

(45)

Estrella y Totalmente Conectada

(46)

Cartesianas

(47)

Hypercubes

(48)

Arboles

(49)

Definiciones (1 de 2)

Di´ametro

La m´axima distancia entre dos nodos (mejor cuando es menor)

Conectividad

El numero m´ınimo de arcos que se deben remover para partir en dos redes desconectadas (mejor cuando es mayor)

Mide las multiplicidad de caminos

(50)

Definiciones (2 de 2)

Ancho de bisecci´on

El numero m´ınimo de arcos que se deben remover para partir la red en dos mitades iguales (mejor cuando es mayor)

Ancho de banda de bisecci´on

Aplica a redes con enlaces medidos por velocidad de transferencia

El m´ınimo volumen de comunicaci´on permitidos entre dos mitades de una red (mejor cuando es mayor)

Costo

El n´umero de enlaces en una red (mejor cuando es menor)

(51)

Caracter´ısticas

(52)

Procesadores actuales y clasificaciones

(53)

AMD: Zen

(54)

AMD: Zen

(55)

AMD: Zen

(56)

AMD: Naples

(57)

AMD: Naples

(58)

Intel: Xeon

(59)

Intel: Xeon Phi

(60)

UltaSPARC T2

(61)

NVIDIA: CUDA Core

(62)

NVIDIA: Kepler

(63)

NVIDIA: PCI-Express

(64)

NVIDIA: nvlink

(65)

NVIDIA: Tegra

(66)

Una Caracterizaci´ on de Procesadores Actuales [2]

(67)

500

TOP 500

Green 500

Graph 500

(68)

¡Muchas gracias!

¿Preguntas?

jiparraguirre@frbb.utn.edu.ar

(69)

Referencias y Cr´ editos

(70)

Referencias I

[1] G. Ananth, G. Anshul, K. George, and K. Vipin.

Introduction to parallel computing, 2003.

[2] B. Spiers and D. Wallez.

High-Performance Computing on Wall Street.

Computer, 43(12):53–59, 2010.

Referencias

Documento similar

De la Salud de la Universidad de Málaga y comienza el primer curso de Grado en Podología, el cual ofrece una formación generalista y profesionalizadora que contempla

Tras establecer un programa de trabajo (en el que se fijaban pre- visiones para las reuniones que se pretendían celebrar los posteriores 10 de julio —actual papel de los

Parallel processes typically need to exchange data.. There are several ways this can be accomplished, such as through a shared memory bus or over a network, however the actual

Consecuentemente, en el siglo xviii hay un cambio en la cosmovi- sión, con un alcance o efecto reducido en los pueblos (periferia), concretados en vecinos de determinados pueblos

que hasta que llegue el tiempo en que su regia planta ; | pise el hispano suelo... que hasta que el

Para ello, trabajaremos con una colección de cartas redactadas desde allí, impresa en Évora en 1598 y otros documentos jesuitas: el Sumario de las cosas de Japón (1583),

(1994), en el que se basa la selección de categorías de esta investigación, se realizó con estudiantes universitarios de los cursos 3º, 4º, y 5º. Como la muestra con la que se

Pasamos revista, en este artículo, que tiene unas connotaciones muy personales, a la realidad de la escuela unitaria que viví hace cincuenta y sesenta años, sus elementos y