Sunteți pe pagina 1din 23

PROCESAMIENTO PARALELO

4. Procesamiento paralelo 4.1Aspectos bsicos de la computacin paralela 4.2 Tipos de computacin paralela 4.2.1Taxonoma de las arquitecturas paralelas 4.2.2 Arquitectura de los computadores secuenciales 4.2.2.1 Taxonoma de Flynn 4.2.2.2 Organizacin del espacio de direcciones de memoria 4.3 Sistemas de memoria compartida: Multiprocesadores 4.3.1Redes de interconexin dinmicas o indirectas 4.3.1.1 Redes de medio compartido 4.3.1.2 Redes conmutadas 4.3.2Coherencia de cache

PROCESAMIENTO PARALELO
Es un proceso empleado para acelerar el tiempo de ejecucin de un programa dividindolo en mltiples trozos que se ejecutaran al mismo tiempo, cada uno en su propios procesadores. El procesamiento en paralelo se basa principalmente en multiprocesadores fuertemente acoplados que cooperan para la realizacin de los procesos. Sus caractersticas son:

Posee dos o ms procesadores de uso general similares y de capacidades comparables. Todos los procesadores comparten el acceso a una memoria global Tambin puede utilizarse algunas memorias locales (privadas como la cache).
El procesamiento paralelo implica una serie de dificultades a nivel programacin de software la ventaja de el procesamiento en paralelo es ejecuta procesos en donde cada procesador se encargar de uno u otro y aceleran de esta forma el calculo.

PROCESAMIENTO PARALELO

4.1 ASPECTOS BASICOS DE LA COMPUTACION PARALELA

Diseo de computadores paralelos. Escalabilidad y comunicaciones. Diseo de algoritmos eficientes. No hay ganancia si los algoritmos no se disean adecuadamente. Mtodos para evaluar los algoritmos paralelos. Qu tan rpido se puede resolver un problema usando una maquina paralela? Con que eficiencia se usan esos procesadores? Lenguajes para computadores paralelos, flexibles para permitir una implementacin eficiente y que sean fciles de programar. Herramientas para la programacin paralela. Programas paralelos portables.

4.2 TIPOS DE COMPUTACIN PARALELA


La computacin Paralela, es muy importante actualmente, al permitir mejorar la velocidad en la solucin de grandes problemas, de modo que se mejora el rendimiento de computo. Hay formas diferentes de computacin paralela: Paralelismo a nivel de bit. Paralelismo a nivel de instruccin. Paralelismo de datos. Paralelismo de tareas.

4.2.1 TAXONOMIA DE LAS ARQUITECTURAS PARALELAS


Las diferentes posibilidades existentes para desarrollar sistemas paralelos hacen que una clasificacin definitiva sea complicada, y seguramente estril. En primer lugar las caractersticas bsicas del modelo secuencial, con el fin de delimitar los aspectos bsicos que son comunes o diferentes de los sistemas paralelos. Una clasificacin clsica propuesta por flynn que se basa en el flujo de instrucciones y en el flujo de datos, es decir el mecanismo de control utilizado.

4.22 ARQUITECTURA DE LOS COMPUTADORES SECUENCIALES


Los computadores secuenciales, tambin denominados computadores serie, se basan en la arquitectura de j. von neumann. En este modelo se considera una nica secuencia de instrucciones que tratan una nica secuencia de datos. Por ello se conocen como computadores sisd.

4.2.2.1 TAXONOMIA DE FLYNN


En 1966 flynn propuso una clasificacin generalista de los computadores, adoptando como criterio el flujo de instrucciones y el flujo de datos que en ellos se desarrolla.

4.2.2.2 ORGANIZACIN DEL ESPACIO DE DIRECCIONES DE MEMORIA


El intercambio de informacin entre procesadores depende del sistema de almacenamiento que se disponga. Sistemas de memoria compartida o multiprocesadores Se caracterizan por compartir fsicamente la memoria, es decir todos acceden al mismo espacio de direcciones. En esta arquitectura a la memoria es igualmente accesible por todos los procesadores a travs de la red de interconexin. Sistemas de memoria distribuida o multicomputadores En estos sistemas cada procesador dispone de su propia memoria. Denominada local o privada,

4.3 SISTEMA DE MEMORIA COMPARTIDA: MULTIPROCESADORES


Cada procesador posee su propia unidad de control ejecuta su propio cdigo sobre sus propios datos, puede ejecutar cualquier aplicacin (no solo programas vectoriales). MEMORIA COMPARTIDA CENTRALIZADA La memoria compartida por todos los procesadores y accesible desde cualquiera. Descompuesta en varios mdulos para permitir el acceso concurrente de varios procesadores Cada procesador debe tener un espacio de direccionamiento suficientemente amplio como para poder direccionarla completamente. Multiprocesador con un sistema de memoria compartida en el cual el tiempo de acceso vara dependiendo de la ubicacin de la palabra de memoria.

La memoria compartida se distribuye fsicamente por todos los procesadores (memorias locales). El conjunto de memorias locales forma el espacio de direccionamiento global accesible por todos los procesadores. En los multiprocesadores cada procesador suele tener asociada una cache local y ello introduce el problema de la coherencia en chache: cualquier modificacin local de una determinada posicin de la memoria compartida se realizara primeramente sobre una chache local y ello puede dar lugar a una visin global incoherente de la memoria.los elementos que integran un multiprocesador puede estar conectados entre s a travs de una estructura Jerrquica de buses.los buses digitales son los sistemas de interconexin fundamentales adoptados en sistemas comerciales desde estaciones de trabajo a minicomputadores, mainframes y multiprocesadores.

4.3.1REDES DE INTERCONEXIN DINMICAS O INDIRECTAS.


El objetivo de la interconexin de red es dar un servicio de comunicacin de datos que involucre diversas redes con diferentes tecnologas de forma transparente para el usuario. Este concepto hace que las cuestiones tcnicas particulares de cada red puedan ser ignoradas al disear las aplicaciones que utilizaran los usuarios de los servicios. Los dispositivos de interconexin de redes sirven para superar las limitaciones fsicas de los elementos bsicos de una red extendiendo las topologas de esta. La interconexin de redes exige por lo general el tenido de cableado en las dependencias por las que se extienden las redes y ellos es una labor cuya

RED DINAMICA
Una red dinmica es una red cuya topologa puede variar durante el curso de la ejecucin de un programa paralelo o entre dos ejecuciones de programas. La red est constituida por elementos materiales especficos, llamados conmutadores o switches. Las redes dinmicas son redes que pueden cambiar la topologa de comunicacin durante la ejecucin de los programas o entre dos ejecuciones de programas. las redes dinmicas se han utilizado esencialmente en los multiprocesadores de memoria compartida: la red dinmica soporta por consiguiente , la carga de unir los procesadores a los bancos de

RED INDIRECTA
Las redes indirectas tambin pueden modelarse con un grafo donde n es un conjunto de switches y c es el conjunto de enlaces unidireccionales o bidireccionales entre switches. Para el anlisis de la mayora de propiedades, no es necesario incluir explcitamente los nodos de procesamiento en el grafo. Aunque las redes indirectas pueden modelarse de forma similar alas directas, existen algunas diferencias entre ellas.

4.3.1.1 REDES DE MEDIO COMPARTIDO


Dependiendo de su arquitectura y de los procedimientos empleados para transferir la informacin las redes de comunicacin se clasifican en: -Redes conmutadas -Redes de difusin

4.3.1.2 REDES CONMUTADAS


Consiste en un conjunto de nodos interconectados entre si, a travs de medios de transmisin, formando la mayora de las veces una topologa mallada, donde la informacin se transfiere encaminndola del nodo de origen al nodo destino mediante conmutacin entre nodos intermedios. Una transmisin de este tipo tiene 3 fases: -Establecimiento de la conexin-Transferencia de la informacin -Liberacin de la conexin La conmutacin en un nodo a la conexin fsica o lgica de un camino de entrada al nodo con un camino de salida del nodo con el fin de transferir la informacin que llegue por el primer camino al segundo.la redes conmutadas son las redes de rea extensa Las redes conmutadas se dividen en: -Conmutacin de paquetes -Conmutacin de circuitos

4.3.2 COHERENCIA DE CACH


Existen mltiples copias de los datos en diferentes chaches. Si un procesador modifica su copia y los dems cach no se actualizan se producirn errores en el resultado final. Slo es un problema si hay escrituras. Se utilizan distintos algoritmos para mantener la coherencia. Coherencia cach-memoria: a) Write-through: la memoria se actualiza inmediatamente. b) Write-back: se actualiza cuando se reemplaza un bloque. Coherencia cach-cach: a) Write-update: Actualizacin inmediata. b) Write-Invalidate: Al modificar el dirty-bit y se queda con la nica copia vlida. Los dems deben esperan la actualizacin.

Protocolos de coherencia de cach


a)

b)

Protocolos de sondeo (snooping protocols): Observan la actividad del bus y ejecutan, mediante broadcast, los pasos necesarios para mantener la coherencia. Costoso en trminos de buffer write, sobre todo en redes multistage. Quien escribe avisa con un broadcast (a todos). Todos los procesos sondean el bus para detectar modificaciones que le incumban. Protocolos de directorio (directory based protocols): Los comandos de actualizacin se envan slo a los caches afectados por una actualizacin. Almacena informacin en un directorio acerca de dnde se encuentran las copias de los bloques. Cuando un procesador quiere escribir una posicin, debe solicitar autorizacin al controlador, quien luego invalida las dems copias. El directorio puede estar centralizado o distribuido.

c) Protocolo MESI: Es un protocolo tipo wrhite-invalidate, implementado por Intel en la lnea Pentium y por IBM en la power. Utiliza dos bits por lnea de cache para indicar el estado de la misma. El protocolo MESI consiste en cuatro estados: Modificado (M):La lnea de cach slo est en la cach actual, y est "sucia"; ha sido modificado el valor de la memoria principal . Es necesario que los datos sean escritos otra vez en la memoria principal antes de permitir cualquier otra lectura del estado de la memoria (ya no es vlida). Exclusivo (E):El estado exclusivo, significa que nicamente una cache tiene una copia del bloque, y no ha sido modificado (es decir, la memoria principal esta actualizada) Compartido(S): El estado compartido significa que potencialmente dos o mas procesadores tienen este bloque en su cache en un estado no modificado. Invalido (I): Indica que esta lnea de cach no es vlida.

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