Вы находитесь на странице: 1из 10

ARQUITECTURA DE COMPUTADORAS

Unidad IV.- Procesamiento Paralelo

4.

PROCESAMIENTO
PARALELO

Noviembre 2013

ndice:
UNIDAD IV

Introduccin________________________________________________________________ 3
4. PROCESAMIENTO PARALELO _______________________________________________ 4
4.1. ASPECTOS BSICOS DE LA COMPUTACIN PARALELA ______________________ 4
4.2. TIPOS DE COMPUTACIN PARALELA ______________________________________ 5
4.2.1. TAXONOMA DE LAS ARQUITECTURAS PARALELAS __________________5
4.2.2. ARQUITECTURA DE LOS COMPUTADORES SECUENCIALES __________ 5
4.2.2.1. TAXONOMA DE FLYNN _________________________________ 5
4.2.2.2. ORGANIZACIN DEL ESPACIO DE DIRECCIONES
DE MEMORIA ________________________________________ 6
4.3. SISTEMAS DE MEMORIA COMPARTIDA: MULTIPROCESADORES _______________6
4.3.1. REDES DE INTERCONEXIN DINMICAS O INDIRECTAS ______________7
4.3.1.1. REDES DE MEDIO COMPARTIDO _________________________8
4.3.1.2 REDES CONMUTADAS ___________________________________8
4.3.2. COHERENCIA DE CACHE _________________________________________8
4.4. SISTEMAS DE MEMORIA DISTRIBUIDA. MULTICOMPUTADORES: CLSTER _____9
4.4.1. REDES DE INTERCONEXIN ESTTICAS ____________________________9
4.4.2. CLSTER _____________________________________________________10
4.4.3. PROGRAMACIN DE CLSTER __________________________________ 10
4.4.4. CONSIDERACIONES SOBRE EL RENDIMIENTO DE LOS CLSTER _____11
4.5. CASOS DE ESTUDIO ___________________________________________________ 11
CONCLUSIN _____________________________________________________________ 12

I. S. C.

Pag. 1

ARQUITECTURA DE COMPUTADORAS
Unidad IV.- Procesamiento Paralelo

Noviembre 2013

Introduccin:

El desarrollo que lleva a cabo el procesamiento paralelo trata de un proceso empleado para acelerar el
tiempo de ejecucin de un programa dividindolo en mltiples trozos que se ejecutarn 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 aun 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.

UNIDAD 4.- PROCESAMIENTO PARALELO


I. S. C.

Pag. 2

ARQUITECTURA DE COMPUTADORAS
Unidad IV.- Procesamiento Paralelo

Noviembre 2013

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
del procesamiento en paralelo es ejecuta procesos en donde cada procesador se encargar de uno u otro
y aceleran de esta forma el clculo.

4.1.- ASPECTOS BSICOS DE LA COMPUTACIN PARALELA


La computacin paralela es el uso simultneo de mltiples recursos computacionales para resolver un
problema computacional
ASPECTOS A CONSIDERAR:
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. 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.
Herramientas para la programacin paralela
Programas paralelos portables

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 paralelismo en la medida en que un algoritmo sea
ms o menos divisible en partes independientes con igual coste computacional.
I. S. C.

Pag. 3

ARQUITECTURA DE COMPUTADORAS
Unidad IV.- Procesamiento Paralelo

Noviembre 2013

Entre las interacciones hay que considerar dos siguientes:


La transferencia de datos.
La sincronizacin de los clculos de los diferentes procesadores

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.

4.2.2.- 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.- Taxonoma 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
I. S. C.

Pag. 4

ARQUITECTURA DE COMPUTADORAS
Unidad IV.- Procesamiento Paralelo

Noviembre 2013

En estos sistemas cada procesador dispone de su propia memoria. Denominada local o privada,
independiente del resto y accesible solo por su procesador.

4.3.- SISTEMAS 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 un chache local y ello puede dar
lugar a una visin global incoherente de la memoria. Los elementos que integran un multiprocesador
pueden 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.
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 complejidad, impacto y coste depende de varios factores.
RED DINAMICA

I. S. C.

Pag. 5

ARQUITECTURA DE COMPUTADORAS
Unidad IV.- Procesamiento Paralelo

Noviembre 2013

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.

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 s, 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:
1) Establecimiento de la conexin
2) Transferencia de la informacin
3) 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. Las
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 CACHE


I. S. C.

Pag. 6

ARQUITECTURA DE COMPUTADORAS
Unidad IV.- Procesamiento Paralelo

Noviembre 2013

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.
La consistencia 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
compilador y el sistema operativo se encargue del problema.
Hardware: estos se denominan protocolos de coherencia de chache y permiten reconocer dinmicamente
en el momento de la ejecucin las situaciones de inconsistencia por lo tanto existe un uso ms efectivo
de las caches y reduce la complejidad en el desarrollo del software.

4.4.- SISTEMAS DE MEMORIA DISTRIBUIDA. MULTICOMPUTADORES: CLUSTERS


Los sistemas de memoria distribuida o multicomputadores pueden ser de dos tipos bsicos. El primer de
ellos consta de un nico computador con mltiples CPUs comunicadas por un bus de Datos mientras que
en el segundo se utilizan mltiples computadores, cada uno con su propio procesador, enlazados por una
red de interconexin ms o menos rpida.
Sobre los sistemas de multicomputadores de memoria distribuida, se simula memorias compartidas. Se
usan los mecanismos de comunicacin y sincronizacin de sistemas multiprocesadores.
Un clster es un tipo de arquitectura paralela distribuida que consiste de un conjunto de computadores
independientes interconectados operando de forma conjunta como nico recurso computacional sin
embargo, cada computador puede utilizarse de forma independiente o separada.

4.4.1.- REDES DE INTERCONEXIN ESTTICAS


Las redes estticas emplean enlaces directos fijos entre los nodos. Estos enlaces, una vez fabricado el
sistema son difciles de cambiar, por lo que la escalabilidad de estas topologas es baja. Las redes
estticas pueden utilizarse con eficiencia en los sistemas en que pueden predecirse el tipo de trfico de
comunicaciones entre sus procesadores.
Clases de redes de interconexin:
Formacin lineal:
I. S. C.

Pag. 7

ARQUITECTURA DE COMPUTADORAS
Unidad IV.- Procesamiento Paralelo

Noviembre 2013

Se trata de una red unidimensional en que los nodos se conectan cada uno con el siguiente mediante N-1
enlaces formando una lnea.
Mallas y toros:
Esta red de interconexin es muy utilizada en la prctica. Las redes en toro son mallas en que sus filas y
columnas tienen conexiones en anillo, esto contribuye a disminuir su dimetro. Esta pequea
modificacin permite convertir a las mallas en estructuras simtricas y adems reduce su dimetro a la
mitad.

4.4.2.- CLUSTER
Se aplica a los conjuntos o conglomerados de computadoras construidos mediante la utilizacin de
hardwares comunes y que se compartan como si fuesen una nica computadora.
Los clster son usualmente empleados para mejorar el rendimiento y la disponibilidad por encima de la
que es provista por un solo computador tpicamente siendo ms econmico que computadores
individuales de rapidez y disponibilidad comparables.
De un clster se espera que presente combinaciones de los siguientes servicios:
1) Alto rendimiento
2) Alta disponibilidad
3) Balance de carga
4) Escalabilidad
La construccin de los ordenadores del clster es ms fcil y econmica debido a su flexibilidad: pueden
tener toda la misma configuracin de hardware y sistema operativo diferente rendimiento pero con
arquitectura y sistemas operativos similares o tener diferente hardware y sistema operativo lo que hace
ms fcil y econmica su construccin.
Para que un clster funcione como tal no basta solo con conectar entre s los ordenadores, sino que es
necesario proveer un sistema de manejo del clster, el cual se encargue de interactuar con el usuario y
los procesos que ocurren en l para optimizar el funcionamiento.
La tecnologa clster permite a las organizaciones incrementar su capacidad de procesamiento usando
tecnologa estndar tanto en componentes de hardware como de software que pueden adquirirse a un
costo relativamente bajo.

4.4.3.- PROGRAMACIN DE CLUSTERS


Estos clster estn diseados y optimizados para correr programas paralelos. En este caso, los
programas tienen que ser hechos especficamente para funcionar en forma paralela. Tpicamente estos
programas son modelos que requieren realizar gran cantidad de clculos numricos. La ventaja de
programarlos de esta manera y correrlos en un clster es que se reduce drsticamente los tiempos de
proceso. En el caso de modelos meteorolgicos usados para predecir el tiempo es obvia la necesidad de
correrlos en tiempo mnimo.

I. S. C.

Pag. 8

ARQUITECTURA DE COMPUTADORAS
Unidad IV.- Procesamiento Paralelo

Noviembre 2013

Cuando se programa un modelo en una plataforma multiprocesadores es necesario usar esquemas de


programacin paralela. Las bibliotecas son las que permiten paralizacin de tareas. En el caso de los
clster SCALI, portar programas hechos con bibliotecas MPI es directo gracias al uso de biblioteca
SCAMPI.

4.4.4.- CONSIDERACIONES SOBRE EL RENDIMIENTO DE LOS


CLUSTERS
Para disear, implementar, probar y mantener un clster se requiere un entendimiento bsico pero claro
de hardware de computadoras, de redes de computadoras y de sistemas operativos y la habilidad para
investigar algunos tpicos especializados, como dispositivos de interconexin de alta velocidad, tal vez
reintroducirse a lenguajes de programacin como FORTRAN y libreras para el desarrollo de aplicaciones
como MPI. Una vez escogido un sistema operativo, dgase Linux, se requiere algo de experiencia en la
administracin de sistemas Linux y en la forma de realizar conexiones de red.
De manera lgica, cada nodo del clster tiene una parte de hardware y otra de software. El hardware est
compuesto por procesadores, memoria, interfaz de red y discos duros entre otros.
En cuanto al software, el nivel bajo corresponde al sistema operativo, el medio consiste en las libreras de
paralelizacin y el alto est representado por la aplicacin que se desea ejecutar en el clster.

I. S. C.

Pag. 9

ARQUITECTURA DE COMPUTADORAS
Unidad IV.- Procesamiento Paralelo

Noviembre 2013

Conclusiones:
En conclusin final estos procesamientos se utilizan para principalmente para procesar datos de forma
que un computador pueda ejecutar varias tareas o procesos simultneamente y hacer que el procesador
tenga menos tiempo de ejecucin.

I. S. C.

Pag. 10

Вам также может понравиться