Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Unidad 4 Arqui de Computadoras
Unidad 4 Arqui de Computadoras
ALUMNO:
GONZLEZ VEGA EDITH
MATERIA:
ARQUITECTURA DE CMPUTO
TRABAJO:
UNIDAD 4: PROCESAMIENTO PARALELO
HORARIO:
14:00-15:00 PM
Culiacn, Sinaloa.
14 Noviembre 2013
ndice
UNIDAD 4
4 Procesamiento paralelo
4.1 Aspectos bsicos de la computacin paralela
4.2 Tipos de computacin paralela
4.2.1 Taxonoma 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.1 Redes de interconexin dinmicas o indirectas 4.3.1.1 Redes de medio compartido
4.3.1.2 Redes conmutadas
4.3.2 Coherencia de cache
4.4 Sistemas de memoria distribuida. Multicomputadores: Clster
4.4.1 Redes de interconexin estticas
4.4.2 Clster
4.4.3 Programacin de clster
4.4.4 Consideraciones sobre el rendimiento de los clster
4.5 Casos de estudio
Introduccin
En esta investigacin se hablara sobre el desarrollo que lleva a cabo el procesamiento paralelo que trata de un
proceso empleado para acelerar el tiempo de ejecucin de un programa diviendolo en mltiples trozos que se
ejecutaran al mismo tiempo, cada uno en su propio procesador.
En principio, un programa dividido en trozos de esta forma, podra ejecutarse a veces ms rpido, que su
equivalente en un solo procesador, pero an as queda claro que ste es su lmite terico (es decir el mximo
que podremos alcanzar) pudiendo conseguir en el mejor de los casos un valor aproximado con un buen
paralelismo.
El procesamiento en paralelo es una forma eficaz de procesamiento de informacin quefavorece la
explotacin de los sucesos concurrentes en el proceso de computacin.
comunes. La comunicacin y sincronizacin entre diferentes subtareas son algunos de los mayores obstculos
para obtener un buen rendimiento del programa paralelo.
La mxima aceleracin posible de un programa como resultado de la paralelizacin se conoce como la ley de
Amdahl.
El paralelismo puede obtenerse de distintas maneras:
Multicomputadoras: Computadoras independientes, muy a menudo una de ellas acta como supervisor, que
realizan una tarea comn en una sola ubicacin (una configuracin muy comn, aunque ciertamente limitada,
es la minicomputadora como preprocesador de un computador mainframe)
Multiprocesadores: Un conjunto de unidades de cmputo, cada una de las cuales tiene sus propios conjuntos
de instrucciones y datos, compartiendo una misma memoria. Los computadores multiprocesadores consisten
en un nmero n mayor o igual a 2 de procesadores que operan simultneamente sobre una misma memoria, y
estn interconectados mediante canales que transmiten comandos de control y datos. Estn controlados por un
nico Sistema Operativo.
Redes de computadoras: Computadoras independientes conectadas mediante un canal de manera tal que los
recursos propios disponibles en un punto de la red pueden estardisponibles para todos los miembros de la red.
Procesador Pipeline: Un solo computador el cual puede realizar simultneamente operaciones de clculos en
determinadas secciones, con diferentes estadios de completitud. Los procesadores pipeline se basan en el
principio de dividir los clculos entre una cantidad de unidades funcionales que operan simultneamente
existiendo superposicin.
Procesador Array: Un grupo de unidades de cmputo cada una de las cuales realiza simultneamente la
misma operacin sobre diferentes conjuntos de datos. Los procesadores array operan sobre vectores. Las
instrucciones del computador vectorial son ejecutadas en serie (como en los computadores clsicos) pero
trabajan en forma paralela sobre vectores de datos.
Algunos Aspectos a considerar son:
-Diseo de computadores paralelos. Escalabilidad y comunicaciones
-Diseo de algoritmos eficientes. No hay ganancia si los algoritmos no se disean adecuadamenteMtodos para evaluar los algoritmos paralelos. Cmo de 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.
4.2 Tipos de computacin paralela
La computacin paralela o procesamiento en paralelo consiste en acelerar la ejecucin de un programa
mediante su descomposicin en fragmentos que pueden ejecutarse de forma simultnea, cada uno en su propia
unidad de proceso
En este sentido se habla de mayor o menor grado de paralismo en la medida en que un algoritmo sea ms o
menos divisible en partes independientes con igual coste computacional.
Entre las interacciones hayque considerar dos siguientes:-la transferencia de datos.
-la sincronizacin de los clculos de los diferentes procesadores
Tipos de computadores segn la taxonoma de Flynn:
SISD: Computador secuencial. Un procesador y una memoria. Computador secuencial.
SIMD: Mquina con varios procesadores pero una nica Unidad de Control. Computador vectorial.
MIMD: Mquina con varios procesadores completos. Computador paralelo.
4.2.1 Taxonoma 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.
Para evitar conflictos cuando ms de un procesador pretende acceder al mismo mdulo de Para evitar
conflictos cuando ms de un procesador pretende acceder al mismo mdulo de memoria se establece un orden
de prioridad
Se trata de una red sin bloqueo con una conectividad completa pero de alta complejidad.
-Redes basadas en buses: Cuando un procesador necesita acceso global a memoria, genera una solicitud al
bus. Esta red es atractiva, dada su simplicidad y capacidad para proporcionar acceso uniforme a la memoria
compartida. Pero el bus slo puede llevar una determinada cantidad de datos entre la memoria y los
procesadores.
El rendimiento se satura para un nmero pequeo de procesadores. Si los procesadores disponen de memorias
locales cach se puede solventar el problema.
Multiprocesadores de memoria distribuida o multicomputadores
Cada procesador tiene su propia memoria
La comunicacin se realiza p pj or intercambio explicito de mensajes a travs de una red
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 elespacio 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.1 Redes 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.
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 limitacionesfsicas de los elementos bsicos
de una red extendiendo las topologas de esta.
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 la memoria central.
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.
Redes de interconexin multietapa
Es un tipo de red intermedia en trminos de escalabilidad en costo y rendimiento. Conecta p elementos con
otros p elementos.
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 conmutadoras
Consiste en un conjunto de nodos interconectados entre si, a travs de medios de transmisin, formando la
mayora de las veces una topologamallada, 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
-Redes de barras cruzadas: Utiliza una red de conmutadores.
Conecta p procesadores con b mdulos de memoria.
El nmero total de conmutadores requeridos es (pb).
Conforme crece p, la complejidad de la red aumenta segn (p2).
Por tanto no son muy escalables en trminos de coste.
4.3.2 Coherencia de cach
Hace referencia a la integridad de los datos almacenados en las caches locales de los recursos compartidos. La
coherencia de la cache es un caso especial de la coherencia de memoria. Coherencia de cache es cuando
existen varias copias del mismo dato simultneamente en caches diferentes por lo tanto si los procesadores
actualizan sus copias pueden producirse inconsistencia de memoria. Cuando un procesador cambia un dato en
su propia cache local el cambio debe hacerse en todas las caches que tiene copia. Alternativamente las otras
copias se deben invalidar. El protocolo de coherencia es situar las variables locales utilizadas recientemente
en la cache apropiada y mantelos all para las distintas escrituras y lecturas, al mismo tiempo que se mantiene
Laconsistencia de las variables compartidas que pudieron encontrarse en varias caches al mismo tiempo.
Generalmente se han divido en aproximaciones de software y hardware:
-Software: intentan evitar la necesidad de circuitera y lgica de hardware adicional dejando que el
Bibliografa
1. http://www.mundodescargas.com/apuntes-trabajos/informatica/decargar_arquitecturas-avanzadas.pdf
2. http://es.wikipedia.org/wiki/Computaci%C3%B3n_paralela#Taxonom.C3.ADa_de_Flynn
3. http://informatica.uv.es/iiguia/ALP/materiales/1_1_a_ComputacionParalela.pdf
4. http://www.fdi.ucm.es/profesor/jjruz/EC-IS/Temas/Tema%2010.pdf
5.
http://share.pdfonline.com/dbda13e01a0f4dfe82082011a5c8098e/Desarrollo%20de%20la%20Unidad%204.ht
m
6. http://sistemas-distribuidos.wikispaces.com/1.1+Arquitecturas+paralelas.