Anda di halaman 1dari 13

ALUMNO

Marco Antonio Len Gonzlez Gmez

CARRERA:
Ingeniera en Sistemas Computacionales

MATERIA:
Arquitectura de Computadoras

DOCENTE:
Ing. Alberto Gonzlez Lagunas

TRABAJO:
Procesamiento Paralelo

GRUPO:
3501

SALON:
Aula 28

FECHA DE ENTREGA:
Lunes 28 de Enero del 2013

Tianguistenco, Mxico

1 Marco Antonio Len Gonzlez Gmez

PROCESAMIENTO PARALELO
INTRODUCCIN
El paralelismo es una forma de computacin en la cual varios clculos pueden realizarse simultneamente. Basado en el principio de dividir los problemas grandes para obtener varios problemas pequeos, que son posteriormente solucionados en paralelo (divide y vencers).

1. ASPECTOS BSICOS DE UNA COMPUTADORA PARALELA


1.1 Hardware Mltiples procesadores. Mltiples memorias. Interconexin. 1.2 Software Sistema operativo paralelo. Herramientas. 1.3 Objetivo Resolver el problema lo ms rpido posible de manera eficiente. 1.4 Dos Miradas a la Misma Realidad Organizacin Lgica: Lo que ve el usuario de la mquina a travs del software. Organizacin fsica: El hardware de la mquina. La arquitectura fsica es independiente de la arquitectura lgica. Es necesario conocer el hardware si queremos que el software se ejecute de forma eficiente. La computadora ideal es aquella que nos oculta los detalles fsicos.

2 Marco Antonio Len Gonzlez Gmez

2. TIPOS DE COMPUTADORAS PARALELAS


2.1 Arquitectura Von Neumann (1945)

Fig. 1: Arquitectura Von Neumann

Cuatro componentes principales: 1. Memoria. 2. Unidad de Control. 3. Unidad Aritmtica Lgica. 4. 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 aritmtica realiza las operaciones aritmticas bsicas. La entrada/salida es la interfaz con el humano. Cache: Ideas? Comentarios? Saben por qu?

2.2 Taxonoma de Flynn (1966) Se separan las instrucciones y los datos en dos dimensiones. Pueden ser simples o mltiples. SISD: Single Instruction, Single Data. SIMD: Single Instruction, Multiple Data. MISD: Multiple Instruction, Single Data. MIMD: Multiple Instruction, Multiple Data.

2.2.1 SISD Una computadora serie (no hay paralelismo) 3 Marco Antonio Len Gonzlez Gmez

Instruccin simple: solo una instruccin 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. Ejecucin determinstica El modelo ms antiguo de la computacin Ejemplos: los primeros mainframes, la mayora de los mviles, las primeras PCs.

Fig. 2: SISD

2.2.2 SIMD Un tipo de computadora paralela Instruccin simple: solo una instruccin ejecutada por el CPU durante cualquier ciclo del reloj. Datos mltiples: 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 grficos/imgenes. Ejecucin sincrnica y determinstica. Dos variantes: arreglo de procesadores o unidades vectoriales. Las unidades de procesamiento de grficos (GPUs) emplean unidades de procesamiento SIMD.

Fig. 3: SIMD

4 Marco Antonio Len Gonzlez Gmez

2.2.3 MISD Una secuencia de datos nica es provista a unidades de procesamiento mltiples Cada unidad de procesamiento opera sobre los datos de manera independiente (contadores de programa independientes) Pocos ejemplos prcticos de este modelo de computadora paralela Algunos usos posibles pueden ser: Mltiples filtros de frecuencia operando sombre una misma seal. Mltiples algoritmos de criptografa operando sobre un mensaje codificado.

Fig. 4: MISD

2.2.4 MIMD Actualmente es el tipo de computadora paralela ms usado. La mayora de las computadoras caen aqu. Instrucciones mltiples: cada procesador puede estar ejecutando una secuencia de instrucciones diferentes. Datos mltiples: cada unidad de procesamiento puede operar sobre un conjunto de datos diferente. La ejecucin puede ser sincrnica o asincrnica, determinstica o no-determinstica. Ejemplos: la mayora de las supercomputadoras actuales, clusters y grids, multi-core PCs. Nota: muchas arquitecturas MIMD pueden contener componentes internos que ejecuten SIMD.

Fig. 5: MIMD

5 Marco Antonio Len Gonzlez Gmez

3. SISTEMAS DE MEMORIA COMPARTIDA


3.1 Caractersticas Generales de Memoria Compartida En general la memoria compartida permite a los procesadores acceder a la memoria como un espacio de direcciones global. Procesadores mltiples 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. 3.1.1 UMA

Fig. 6: UMA

Un claro ejemplo son las machinas SMP (Symmetric Multiprocessor). Procesadores idnticos. Las prioridades y los tiempos de acceso son iguales para todos. CC-UMA: Cache Coherent UMA (usualmente lo hace el hardware).

3.1.2 NUMA

Fig. 7: NUMA

Usualmente ocurre cuando se conectan dos o ms sistemas SMPs. Un sistema SMP puede acceder directamente a la memoria del otro. 6 Marco Antonio Len Gonzlez Gmez

No todos los procesadores tienen igual acceso a todas las direcciones de memoria. El acceso a memoria a travs del vnculo (o bus) es ms lento. CC-NUMA: Cache Coherent NUMA. 3.2 Ventajas y Desventajas de Memoria Compartida 3.2.1 Ventajas Espacio de memoria global es amigable para el programador. El intercambio de datos entre las tareas es rpido y uniforme debido a la proximidad entre CPUs. 3.2.2 Desventajas El principal problema es que no se puede escalar el modelo. Cuando se agregan CPUs el trfico se incrementa geomtricamente y comienzan los problemas de coherencia. El programador es responsable de la sincronizacin de los datos y la coherencia en la memoria. 3.3 Multiprocesadores Pueden clasificarse en esta categora muchos sistemas multiprocesadores y sistemas multicomputadores. Un multiprocesador se define como una computadora que contiene dos o ms unidades de procesamiento que trabajan sobre una memoria comn bajo un control integrado. Si el sistema de multiprocesamiento posee procesadores de aproximadamente igual capacidad, estamos en presencia de multiprocesamiento simtrico; en el otro caso hablamos de multiprocesamiento asimtrico. Todos los procesadores deben poder acceder y usar la memoria principal. De acuerdo a esta definicin se requiere que la memoria principal sea comn y solamente existen pequeas memorias locales en cada procesador. Si cada procesador posee una gran memoria local se lo puede considerar un sistema de multicomputadoras, el cual puede ser centralizado o distribuido. Todos los procesadores comparten el acceso a canales de E/S, unidades de control y dispositivos. Para el sistema de multiprocesamiento debe existir un sistema operativo integrado, el cual controla el hardware y el software y debe asegurar la interaccin entre los 7 Marco Antonio Len Gonzlez Gmez

procesadores y sus programas al nivel elemental de dato, conjunto de datos y trabajos. Una computadora MIMD intrnseca implica interacciones entre n procesadores debido a que todos los flujos de memoria se derivan del mismo espacio de datos compartido por todos los procesadores. Si los n flujos de datos provienen de subespacios disjuntos de memorias compartidas, entonces estamos en presencia del denominado operacin SISD mltiple, que no es otra cosa que un conjunto de n monoprocesadores SISD. Una MIMD intrnseca est fuertemente acoplada si el grado de interaccin entre los procesadores es alto. De otra manera consideramos el sistema como dbilmente acoplado. Muchos sistemas comerciales son dbilmente acoplados, a saber, la IBM 370/168, Univac 1100/80, IBM 3081/3084, etc. 3.4 Redes de Interconexin Dinmicas Redes Dinmicas son redes cuya configuracin puede modificarse. Hay dos tipos: 1. Mono-etapa. 2. Multi-etapa. Las redes mono-etapa realizan conexiones entre elementos de proceso en una sola etapa. Puede que no sea posible llegar desde cualquier elemento a cualquier otro, por lo que puede ser necesario recircular la informacin (=> redes recirculantes).

Fig. 8: Redes mono-etapa

Las redes multi-etapa realizan conexiones entre los elementos de proceso en ms de una etapa. 8 Marco Antonio Len Gonzlez Gmez

Fig. 9: Redes multi-etapa con sus 4 configuraciones

Redes multi-etapa bloqueantes: Se caracterizan porque no es posible establecer siempre una nueva conexin entre un par fuente/destino libres, debido a conflictos con las conexiones en curso. Generalmente existe un nico camino posible entre cada par fuente/destino. Redes multi-etapa reconfigurables: Se caracterizan porque es posible establecer siempre una nueva conexin entre un par fuente/destino libres, aunque haya conexiones en curso, pero puede hacerse necesario un cambio en el camino usado por alguna(s) de ella(s) (reconfiguracin). Interesante en procesadores matriciales, en donde se conoce simultneamente todas las peticiones de interconexin. Redes Dinmicas No Bloqueantes: Se caracterizan porque es posible establecer siempre una nueva conexin entre un par fuente/destino libres sin restricciones. Son anlogas a los conmutadores de barras cruzadas, pero pueden representar mayor latencia, debido a las mltiples etapas. 3.5 Redes Conmutadas

Fig. 10: Redes conmutadas

9 Marco Antonio Len Gonzlez Gmez

Una red conmutada consiste en un conjunto de nodos conectados por enlaces de datos, est compuesta por varios elementos: Estaciones: puntos terminales. Ej. Ordenadores, telfonos, etc. Nodos Internos: conectados slo a otros nodos. Nodos Perifricos: conectados a estaciones. Algunas caractersticas importantes de este tipo de redes son: Enlaces con varios canales entre nodos (multiplexacin). Varios caminos alternativos entre nodos. En las redes conmutadas se llevan a cabo dos procesos importantes los cuales son conmutacin de circuitos y conmutacin de paquetes. 3.5.1 Conmutacin de Circuitos Funcionamiento: se establece una conexin fsica permanente entre las estaciones durante la comunicacin. Fases: Establecimiento del circuito: realizacin de llamada, realizacin de conexiones en los nodos. Transferencia de Datos: normalmente en ambos sentidos (full-dplex). Desconexin: liberacin de recursos.

Fig. 11: Nodo B llama a E

3.5.2 Conmutacin de Paquetes Desarrollada a principios de los 70 para comunicacin de datos digitales. Conmutacin de circuitos: Poco eficiente. Mal aprovechamiento de recursos. 10 Marco Antonio Len Gonzlez Gmez

Los nodos intercambian informacin digital. Informacin dividida en paquetes, cada paquete contiene: Informacin de control: origen, destino, tamao, prioridad. Datos a transferir. Cada nodo encola los paquetes recibidos y los enva por la lnea ms adecuada segn su destino.

Fig. 12 Funcionamiento Conmutacin de Paquetes.

3.5.3 Conmutacin de Paquetes Ventajas Mayor eficiencia: slo se usan los enlaces cuando hay datos que enviar. Cualquier tipo de datos: codificacin digital Posibilidad de establecer prioridades distintas para distintos tipos de comunicacin: calidad de servicio. Posibilidad de comunicacin incluso con red saturada.

11 Marco Antonio Len Gonzlez Gmez

4. SISTEMAS DE MEMORIA DISTRIBUIDA

Fig. 13: Sistema de memoria distribuida.

4.1 Caractersticas Generales de Memoria Distribuida Hay Varios modelos de memoria distribuida. El patrn general es el uso de una red de comunicacin para conectar las memorias de los procesadores. Los procesadores tiene su propia memoria local y no hay correspondencia entre dos procesadores. Independencia de operacin, los cambios en un lugar no afectan al resto. Cuando un procesador necesita un dato externo, el programador lo ordena explcitamente. La red de comunicacin puede variar ampliamente, puede ser una red Ethernet. 4.2 Ventajas de Memoria Distribuida 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 inferir al resto de los componentes. Se eliminan las demoras por accesos mltiples. 4.3 Desventajas de Memoria Distribuida El programador es responsable de muchos de los detalles asociados a la comunicacin entre procesadores. Puede ser dificultoso mapear estructuras de datos basadas en memoria global a esta organizacin de memoria.

12 Marco Antonio Len Gonzlez Gmez

BIBLIOGRAFA:

Kai Hwang y Faye A. Briggs. Arquitectura de Computadoras y Procesamiento Paralelo. McGraw-Hill, 1987. John L. Hennessy y David A. Patterson. Arquitectura de Computadoras, un Enfoque Cuantitativo. Morgan Kaufmann, segunda edicion, 1993. William Stallings. Organizacion y Arquitectura de Computadores, diseno para optimizar prestaciones. Prentice Hall, cuarta edicion, 1996.

13 Marco Antonio Len Gonzlez Gmez