Professional Documents
Culture Documents
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
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.
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.
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.
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.