Sunteți pe pagina 1din 39

Universisdad de Los Andes Facultad de Ingeniera Escuela de Sistemas

Introduccin a los sistemas de Multiprocesamiento


Prof. Gilberto Daz gilberto@ula.ve

Departamento de Computacin, Escuela de Sistemas, Facultad de Ingeniera Universidad de Los Andes, Mrida 5101 Venezuela

Sistemas multiprocesamiento

Arquitectura de Von Neumann El procesador ejecuta un programa que especifica una secuencia de lecturas y escrituras sobre la memoria

Memoria RAM

execute execute

CPU CPU
fetch fetch

Depto Computacin Escuela de Sistemas Universidad de Los Andes Mrida Venezuela - Gilberto Diaz

Sistemas multiprocesamiento

Arquitectura de Von Neumann La memoria es utilizada para almacenar tanto el programa como los datos El programa son datos codificados que indican al procesador qu hacer

Memoria Memoria RAM RAM

execute execute

CPU CPU
fetch fetch

Depto Computacin Escuela de Sistemas Universidad de Los Andes Mrida Venezuela - Gilberto Diaz

Sistemas multiprocesamiento

Arquitectura de Von Neumann Los datos es la informacin utilizada por el programa El procesador obtiene las instrucciones y los datos de la memoria, decodifica las instrucciones y las ejecuta secuencialmente
execute execute

Memoria RAM

CPU CPU
fetch fetch

Depto Computacin Escuela de Sistemas Universidad de Los Andes Mrida Venezuela - Gilberto Diaz

Sistemas multiprocesamiento

Taxonomia de Flynn Distingue las arquitecturas multiprocesamiento de cuerdo a las instrucciones y datos. Cada uno de estos criterios puede tomar dos estados: Sencillo Mltiple

Depto Computacin Escuela de Sistemas Universidad de Los Andes Mrida Venezuela - Gilberto Diaz

Taxonomia de Flynn

SISD: Single Instruction Single Data


Instruccin

Datos CPU

Resultado

Depto Computacin Escuela de Sistemas Universidad de Los Andes Mrida Venezuela - Gilberto Diaz

Taxonomia de Flynn

SISD: Single Instruction Single Data

Load A Load B C=A+B Store C A=B*2 Store A

T T ii e e m m p p o o

P1
Depto Computacin Escuela de Sistemas Universidad de Los Andes Mrida Venezuela - Gilberto Diaz

Taxonomia de Flynn

SIMD: Single Instruction Multiple Data


Instrucciones

Datos

Resultados

CPU CPU CPU CPU CPU

Depto Computacin Escuela de Sistemas Universidad de Los Andes Mrida Venezuela - Gilberto Diaz

Taxonomia de Flynn

SIMD: Single Instruction Multiple Data

Load A(1) Load B(1) C(1)=A(1)+B(1) Store C(1)

Load A(2) Load B(2) C(2)=A(2)+B(2) Store C(2)

Load A(n) Load B(n) C(n)=A(n)+B(n) Store C(n)

T T ii e e m m p p o o

P1

P2

Pn

Depto Computacin Escuela de Sistemas Universidad de Los Andes Mrida Venezuela - Gilberto Diaz

Taxonomia de Flynn

MISD: Multiple Instruction Single Data


Instrucciones

Resultados Datos CPU CPU CPU CPU CPU

Depto Computacin Escuela de Sistemas Universidad de Los Andes Mrida Venezuela - Gilberto Diaz

Taxonomia de Flynn

SIMD: Multiple Instruction Single Data

Load A(1) C(1)=A(1)*1 Store C(1)

Load A(1) C(2)=A(1)*2 Store C(2)

Load A(1) C(n)=A(1)*n Store C(n)

T T ii e e m m p p o o

P1

P2

P3

Depto Computacin Escuela de Sistemas Universidad de Los Andes Mrida Venezuela - Gilberto Diaz

Taxonomia de Flynn

MIMD: Multiple Instruction Multiple Data


Instrucciones

Datos

Resultados

CPU CPU CPU CPU CPU

Depto Computacin Escuela de Sistemas Universidad de Los Andes Mrida Venezuela - Gilberto Diaz

Taxonomia de Flynn

SIMD: Multiple Instruction Multiple Data

Load A(1) Load B(1) C(1)=A(1)+B(1) Store C(1)

Call funcA X = W*Z Store X

Do 10 i=1,N var=i+10 Var2 = C(i)

T T ii e e m m p p o o

P1

P2

P3

Depto Computacin Escuela de Sistemas Universidad de Los Andes Mrida Venezuela - Gilberto Diaz

Modelos de Memoria

Los sistemas paralelos se distinguen en 3 categorias de acuerdo a la forma como los procesadores utilizan la memoria para gestionar los datos Memoria Compartida Memoria Distribuida Memoria Compartida Distribuida

Depto Computacin Escuela de Sistemas Universidad de Los Andes Mrida Venezuela - Gilberto Diaz

Modelos de Memoria

Memoria Compartida Los procesos tienen acceso a la misma memoria fsica. Los procesos pueden correr en un slo procesador (tiempo compartido)
Procesador1

Memoria Proceso1

Proceso2

Depto Computacin Escuela de Sistemas Universidad de Los Andes Mrida Venezuela - Gilberto Diaz

Modelos de Memoria

Memoria Compartida Los procesos pueden correr en procesadores distintos dentro del mismo computador

Procesador1

Memoria

Procesador2

Proceso1

Proceso2

Depto Computacin Escuela de Sistemas Universidad de Los Andes Mrida Venezuela - Gilberto Diaz

Modelos de Memoria

Memoria Compartida Se debe tener cuidado en esta categora con la consistencia de los datos. Se debe utilizar mecanismos como: semforos, barreras, etc. para tal fin.

Depto Computacin Escuela de Sistemas Universidad de Los Andes Mrida Venezuela - Gilberto Diaz

Modelos de Memoria

Memoria Distribuida En esta categora cada procesador tiene su propia memoria.


Procesador1 Procesador2

Red
Depto Computacin Escuela de Sistemas Universidad de Los Andes Mrida Venezuela - Gilberto Diaz

Modelos de Memoria

Memoria Distribuida Si un procesador require un dato que se encuentra en una localidad de memoria remota, debe solicitarlo.
Procesador1 Procesador2

Red
Depto Computacin Escuela de Sistemas Universidad de Los Andes Mrida Venezuela - Gilberto Diaz

Modelos de Memoria

Memoria Compartida Distribuida Se utiliza una capa implantada en software para crear un espacio de memoria compartida virtual. Cada procesador aporta un espacio de memoria

Red
Depto Computacin Escuela de Sistemas Universidad de Los Andes Mrida Venezuela - Gilberto Diaz

Modelos de Memoria

Memoria Compartida Distribuida Las implantaciones son generalmente bibliotecas: LINDA, munin, etc.

Red
Depto Computacin Escuela de Sistemas Universidad de Los Andes Mrida Venezuela - Gilberto Diaz

Modelos de Memoria Compartida

Dentro del modelo de memoria compartida existen varias categoras. Uniform Memory Access (UMA) Non Uniform Memory Access (NUMA) Cache Only Memory Access (COMA) Cache Coherent Non-Uniform Memory Access (ccNUMA)

Depto Computacin Escuela de Sistemas Universidad de Los Andes Mrida Venezuela - Gilberto Diaz

Modelos de Memoria Compartida

Uniform Memory Access (UMA) Todos los procesadores tienen acceso directo a un slo bloque de memoria compartida.

Procesadores

Memoria Memoria

Depto Computacin Escuela de Sistemas Universidad de Los Andes Mrida Venezuela - Gilberto Diaz

Modelos de Memoria Compartida

Uniform Memory Access (UMA) Todas las localidades de memoria son equidistantes en trminos de tiempo de acceso

Procesadores

Memoria Memoria

Depto Computacin Escuela de Sistemas Universidad de Los Andes Mrida Venezuela - Gilberto Diaz

Modelos de Memoria Compartida

Non Uniform Memory Access (NUMA) En esta arquitectura cada procesador tiene su propio espacio de memoria
bus

Procesadores

Memoria Memoria Memoria Memoria Memoria Memoria Memoria Memoria


Depto Computacin Escuela de Sistemas Universidad de Los Andes Mrida Venezuela - Gilberto Diaz

Modelos de Memoria Compartida

Non Uniform Memory Access (NUMA) Algunas regiones de memoria se encuentran fsicamente en buses distintos a otras regiones
bus

Procesadores

Memoria Memoria Memoria Memoria Memoria Memoria Memoria Memoria


Depto Computacin Escuela de Sistemas Universidad de Los Andes Mrida Venezuela - Gilberto Diaz

Shared Memory Paradigm In the Shared Memory paradigm there are different categories: Uniform Memory Access (UMA) Non Uniform Memory Access (NUMA) Cache Coherent Non-Uniform Memory Access (ccNUMA) Cache Only Memory Access (COMA)

Super Computing and Distributed Systems Camp - Universidad de Costa Rica Turrialba Costa Rica

Shared Memory Paradigm Uniform Memory Access (UMA) All processors have direct access to a common block of memory.
Processors

Bus

Memory
Super Computing and Distributed Systems Camp - Universidad de Costa Rica Turrialba Costa Rica

Shared Memory Paradigm Uniform Memory Access (UMA) All locations in memory are equidistant in terms of access time.
Processors

Bus

Memory
Super Computing and Distributed Systems Camp - Universidad de Costa Rica Turrialba Costa Rica

Shared Memory Paradigm There are some caveats: Bus could be a bottle neck. More than one processor could need the data placed in the same memory location.

Super Computing and Distributed Systems Camp - Universidad de Costa Rica Turrialba Costa Rica

Memoria Shared Memory Paradigm

One of the mechanisms added by developers to keep busy the processors was faster memory placed near of them (cache memory)

Super Computing and Distributed Systems Camp - Universidad de Costa Rica Turrialba Costa Rica

Shared Memory Paradigm Non Uniform Memory Access (NUMA) Each processor has its own local memory

Processors

Cache Bus

Cache

Cache

Cache

Memory
Super Computing and Distributed Systems Camp - Universidad de Costa Rica Turrialba Costa Rica

Shared Memory Paradigm

Some memory regions are located in different buses, therefore, terms like local memory and remote memory are used.

Super Computing and Distributed Systems Camp - Universidad de Costa Rica Turrialba Costa Rica

Shared Memory Paradigm

Una vez ms, ms de un proceso puede necesitar el mismo dato y para gestionar esto una mquina NUMA incluye hardware especializado que mueve la informacin desde una memoria cache a otra.
Procesadores

Cache Bus

Cache

Cache

Cache

Super Computing and Distributed Systems Camp - Universidad de Costa Rica Turrialba Costa Rica

Modelos de Memoria

Sin embargo, esta operacin puede afectar seriamente el rendimiento de una aplicacin. Por esto, el incremento en la acelearcin de la ejecucin de un proceso, debido al uso de NUMA, depende en gran medida de la naturaleza de la aplicacin.

Super Computing and Distributed Systems Camp - Universidad de Costa Rica Turrialba Costa Rica

Modelos de Memoria

Controlar la ubicacin de los procesos o hebras a priori puede mejorar el rendimiento de la ejecucin. Para esto el usuario debe aprovechar su conocimiento de la arquitectura de la mquina para hacer una asignacin adecuada.

Super Computing and Distributed Systems Camp - Universidad de Costa Rica Turrialba Costa Rica

Modelos de Memoria

Cache Coherence NUMA (ccNUMA) En los casos en que ms de un proceso utilice un mismo dato, se debe mantener la consistencia entre las mltibples copias.

Procesadores Lectura Cache 3 Bus Cache 3 Cache 3 Cache 3

Super Computing and Distributed Systems Camp - Universidad de Costa Rica Turrialba Costa Rica

Modelos de Memoria

Cache Coherence NUMA (ccNUMA) Cuando uno de los procesadores cambia una copia, se debe invalidar el resto.

Procesadores

Invalidar Escritura Cache 3 Cache 3 Cache 3 Cache 4

Bus

Super Computing and Distributed Systems Camp - Universidad de Costa Rica Turrialba Costa Rica

Modelos de Memoria Compartida

Non Uniform Memory Access (NUMA) Por esto se utilizan los trminos memoria local y memoria remota
bus

Procesadores

Memoria Memoria Memoria Memoria Memoria Memoria Memoria Memoria


Depto Computacin Escuela de Sistemas Universidad de Los Andes Mrida Venezuela - Gilberto Diaz

S-ar putea să vă placă și