Sunteți pe pagina 1din 11

INSTITUTO TECNOLGICO DE CULIACN

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.

La concurrencia implica paralelismo, simultaneidad y pipeline.


Hay tres tipos de sucesos:
Sucesos Paralelos: ocurren en mltiples recursos durante el mismo intervalo de tiempo.
Sucesos Simultneos: ocurren en el mismo instante.
Sucesos Pipeline: ocurren en lapsos superpuestos.
Se puede hablar de niveles de paralelismo, que caracterizamos de la siguiente manera:
- Multiprogramacin, Multiprocesamiento: Estas acciones se toman a nivel de Programa o Trabajo.
- Tarea o Procedimientos: Acciones que se toman dentro de un mismo programa, ejecutndose procesos
independientes en forma simultnea.
- Interinstrucciones: Acciones a nivel de instruccin, o sea, dentro de mismo proceso o tarea se pueden
ejecutar instrucciones independientes en forma simultnea.
- Intrainstrucciones: Acciones simultneas que se pueden realizar para una misma instruccin, por ejemplo
vectorizacin de operaciones escalares dentro de una instruccin compleja tipo DO, FOR, etc.
El paralelismo de un mayor nivel se obtiene por medio de algoritmos, los de menor nivel con importante
actividad del hardware.
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 memoriaglobal
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 l
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 muy importante actualmente, al permitir mejorar la velocidad en la solucin de
grandes problemas, de modo que se mejora el rendimiento de computo.
La computacin paralela es una forma de cmputo en la que muchas instrucciones se ejecutan
simultneamente, operando sobre el principio de que problemas grandes, a menudo se pueden dividir en unos
ms pequeos, que luego son resueltos simultneamente (en paralelo). Hay varias formas diferentes de
computacin paralela: paralelismo a nivel de bit, paralelismo a nivel de instruccin, paralelismo de datos y
paralelismo de tareas. El paralelismo se ha empleado durante muchos aos, sobre todo en la computacin de
altas prestaciones, pero el inters en ella ha crecido ltimamente debido a las limitaciones fsicas que impiden
el aumento de la frecuencia. Como el consumo de energa y por consiguiente la generacin de calor de
las computadoras constituye una preocupacin en los ltimos aos, la computacin en paralelo se ha
convertido en el paradigma dominante en la arquitectura de computadores, principalmente en forma
de procesadores multincleo.
Las computadoras paralelas pueden clasificarse segn el nivel de paralelismo que admite su hardware:
equipos con procesadores multincleo y multi-procesador que tienen mltiples elementos deprocesamiento
dentro de una sola mquina y los clsteres, MPPS y grids que utilizan varios equipos para trabajar en la
misma tarea. Muchas veces, para acelerar la tareas especficas, se utilizan arquitecturas especializadas de
computacin en paralelo junto a procesadores tradicionales.
Los programas informticos paralelos son ms difciles de escribir que los secuenciales,5porque la
concurrencia introduce nuevos tipos de errores de software, siendo las condiciones de carrera los ms

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.

4.2.2 Arquitectura de los computadores secunciales


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
La programacin paralela permite:
Resolver problemas que no caben en una CPU
Resolver problemas que no se resuelven en un tiempo razonable
Se pueden ejecutar
Problemas mayores
Ms rpidamente (aceleracin)
Ms problemas
4.2.2.1 Taxonoma de Flynn
Clasificacin clsica de arquitectura de computadores que hace alusin a sistemas con uno o varios
procesadores. Flynn la public por primeravez en 1966 y por segunda vez en 1970.Esta taxonoma se basa en
el flujo que siguen los datos dentro de la mquina y de las instrucciones sobre esos datos. Se define como
flujo de instrucciones al conjunto de instrucciones secuenciales que son ejecutadas por un nico procesador y
como flujo de datos al flujo secuencial de datos requeridos por el flujo de instrucciones.
Con estas consideraciones, Flynn clasifica los sistemas en cuatro categoras:
SISD (Single Instruction stream, Single Data stream)
Los sistemas de este tipo se caracterizan por tener un nico flujo de instrucciones sobre un nico flujo de
datos, es decir, se ejecuta una instruccin detrs de otra. Este es el concepto de arquitectura serie de Von
Neumann donde, en cualquier momento, slo se ejecuta una nica instruccin.
SIMD (Single Instruction stream, Multiple Data stream)
Estos sistemas tienen un nico flujo de instrucciones que operan sobre mltiples flujos de datos. Ejemplos de
estos sistemas los tenemos en las mquinas vectoriales con hardware escalar y vectorial.El procesamiento es
sncrono, la ejecucin de las instrucciones sigue siendo secuencial como en el caso anterior, todos los
elementos realizan una misma instruccin pero sobre una gran cantidad de datos. Por este motivo existir
concurrencia de operacin, es decir, esta clasificacin es el origen de la mquina paralela. El funcionamiento
de este tipo de sistemas es el siguiente. La Unidad de Control manda una misma instruccin a todas las
unidades de proceso (ALUs). Las unidades de proceso operan sobre datos diferentes pero con la misma
instruccin recibida.
Existen dos alternativas distintas que aparecen despus de realizarse esta clasificacin: Arquitectura
Vectorial con segmentacin:Una CPU nica particionada en unidades funcionales independientes trabajando
sobre flujos de datos concretos
Arquitectura Matricial (matriz de procesadores): Varias ALUs idnticas a las que el procesador de
instrucciones asigna una nica instruccin pero trabajando sobre diferentes partes del programa.
SIMD CON CPU PARTICIONADA:En este tipo de sistemas, la CPU se disea como un conjunto de
unidades funcionales independientes que ejecutan simultneamente varias operaciones aritmtico/lgicas. La
CPU contiene un nico procesador con instrucciones que procesa un nico flujo de estas liberando cada
instante una. Debido a que las unidades funcionales operan independientemente, es posible liberar nuevas
instrucciones antes de que finalice la ejecucin de las instrucciones previas.
SIMD CON MULTIPLES ALUS: Estos sistemas trabajan en modo lock step, ejecutando o ignorando una
misma instruccin para todas las ALUs. Existe un nico procesador que maneja el flujo de instrucciones del
programa y que transfiere todas las instrucciones a las diferentes unidades aritmtico/lgicas.
MIMD (Multiple Instruction stream, Multiple Data stream): Sistemas con un flujo de mltiples instrucciones
que operan sobre mltiples datos. Estos sistemas empezaron a utilizarse a principios de los 80. Son sistemas
con memoria compartida que permiten ejecutar varios procesos simultneamente (sistema multiprocesador).
Cuando las unidades de proceso reciben datos de una memoria no compartida estos sistemas reciben el
nombre de MULTIPLE SISD (MSISD).
En arquitecturas con varias unidades de control (MISD Y MIMD), existe otro nivel superior con una unidad
de controlque se encarga de controlar todas las unidades de control del sistema.

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, independiente
del resto y accesible solo por su procesador.
Existen dos espacios de direccin disponibles para el microcontrolador Z8PLUS:
El archivo de registros de la RAM contiene direcciones para todos los registros de control y los de propsito
general.
La memoria de programa contiene direcciones para todas las localidades de memoria donde se hallan
guardado cdigos o datos ejecutables.
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).
Clasificacin de los multiprocesadores por la ubicacin de la memoria
Multiprocesadores de Multiprocesadores de memoria compartida memoria compartida
Todos los procesadores acceden a una memoria comn
La comunicacin entre procesadores se hace a travs de la memoria
Se necesitan primitivas de sincronismo para asegurar el intercambio de datos
Multiprocesadores de memoria compartida La mayora de los multiprocesadores comerciales son del tipo
UMA ( La mayora de los multiprocesadores comercialesson del tipo UMA(Uniform Uniform Memory
Access): todos los procesadores tienen igual tiempo de acceso a la memoria compartida.
En la arquitectura UMA los procesadores se conectan a la memoria a travs de un bus, una
red multietapa o un conmutador de barras cruzadas (crossbar)y p p p y disponen de su propia
memoria cach.
Los procesadores tipo NUMA (Non Uniform Memory Access) presentan tiempos de acceso a
la memoria compartida que dependen de la ubicacin del elemento de proceso y la memoria.
Multiprocesadores de memoria compartida: conexin por bus compartido
Es la organizacin ms comn en los computadores personales y servidores Esla organizacin ms comn
en los computadores personales y servidores
El bus consta de lneas de direccin, datos y control para implementar:
El protocolo de transferencias de datos con la memoria
El arbitraje del acceso al bus cuando ms de un procesador compite por utilizarlo.
Los procesadores utilizan cachs locales para:
Reducir el tiempo medio de acceso a memoria, como en un monoprocesador
Disminuir la utilizacin del bus compartido.
Protocolos de transferencia sncronos
Existe un reloj que gobierna todas las actividades del bus, las cuales tienen lugar en un nmero entero de
ciclos de reloj.
La transferencia coincide con uno de los flancos del reloj
Multiprocesadores de memoria compartida: conexin por conmutadores crossbar
Cada procesador (Cada procesador(Pi) y cada mdulo de memoria ( ) y cada mdulo de memoria (Mi) tienen
su propio bus ) tienen su propio bus
Existe un conmutador (S)en los puntos de interseccin que permite conectar un bus de memoria con un bus
de procesador

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

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.
Los sistemas UMA no escalan bien
Los sistemas basados en bus se pueden saturar.
Una red de barras cruzadas grande puede ser muy cara.
Problema de la coherencia de cach
Puede haber copia de una variable en varias cachs
Cuando un procesador escribe puede no ser visible al resto
Es necesario asegurar la visibilidad o la coherenciade cach
Solucin de la coherencia cach
Existen dos formas de abordar el problema de la coherencia cach.
Software, lo que implica la realizacin de compiladores que eviten la incoherencia
entre cachs de datos compartidos.
Hardware qg , ue mantengan de forma continua la coherencia en el sistema, siendo adems
transparente al programador.
Podemos distinguir tambin dos tipos de sistemas multiprocesadores
Sistemas basados en un nico bus: se utilizan protocolos de sondeo o snoopy que analizan el bus para
detectar incoherencia. Cada nodo procesador tendr los bits necesarios para indicar el estado de cada lnea de
su cach y as realizar las transacciones de coherencia necesarias segn lo que ocurra en el bus en
cadamomento.
Tanto si son de sondeo como si no, existen dos polticas para mantener la coherencia:
Invalidacin en escritura (write invalidate): siempre que un procesador modifica un dato de un bloque en la
cach, invalida todas las dems copias de ese bloque guardadas en las otras cachs.
Actualizacin en escritura (write update): actualiza las copias existentes en las otras cachs en vez de
invalidarlas.
4.4 Sistemas de memoria distribuida
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
En esta arquitectura, el computador paralelo es esencialmente una coleccin de procesadores secuenciales,
cada uno con su propia memoria local, que pueden trabajar conjuntamente.
Cada nodo tiene rpido acceso a su propia memoria y acceso a la memoria de otros nodos mediante una red
de comunicaciones, habitualmente una red de comunicaciones de alta velocidad.
Los datos son intercambiados entre los nodos como mensajes a travs de lared.
Redes de ordenadores
Una red de ordenadores, especialmente si disponen de una interconexin de alta velocidad, puede ser vista
como un multicomputador de memoria distribuida y como tal ser utilizada para resolver problemas mediante
computacin paralela.

4.4.1 Redes de interconexin esttica


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:
Se trata de una red unidimensional en que los nodos se conectan cada uno con el siguiente medianteN1 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 Clster
Un clster es un grupo de ordenadores dbilmente acoplados que trabajan en estrecha colaboracin, de modo
que en algunos aspectos pueden considerarse como un solo equipo. Los clsteres se componen de varias
mquinas independientes conectadas por una red. Mientras que las mquinas de un clster no tienen que ser
simtricas, de no serlo, el balance de carga es ms difcil de lograr. El tipo ms comn de clster es el cluster
Beowulf, que es un clster implementado con mltiples ordenadores comerciales idnticosconectados a
una red de rea local TCP/IPEthernet. La tecnologa Beowulf fue desarrollada originalmente por Thomas
Sterling y Donald Becker. La gran mayora de los superordenadores TOP500 son clsteres.
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 si los
ordenadores, si no 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 clster
Estos clster estn diseados y optimizados para correrprogramas 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.
Cuando se programa un modelo en una plataforma multiprocesadores es necesario usar esquemas de
programacin paralela. Las bibliotecas son las que permiten paralelizacion 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 rendimiento de los clster
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 delx 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 librerasde paralelizacion y el alto est
representado por la aplicacin que se desea ejecutar en el clster
4.5 Casos de estudio
1. NVIDIA
PYSICS LAYER:
GPU PhysX
CPU PhysX
Graphics Layer:
GPU Direct X
Windows
2. INTEL
PYSICS LAYER:
No GPU PhysX
CPU Havok
Graphics Layer:
GPU Direct X
Windows
3. AMD
PYSICS LAYER:
No GPU PhysX
CPU Havok
Graphics Layer:
GPU Direct X
Windows
Conclusin
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.
El procesamiento paralelo permite realizar varias tareas a la vez as como el ahorro de tiempo en ejecucin, es
importante destacar que no todas las instrucciones pueden ejecutarse a la vez pues al ser dependientes de
otras, tienen que esperar a que su predecesora se realice y as poder ejecutarse. Tambin que hay un lmite de
operaciones que pueden realizarse de manera simultnea, pero con el avance tecnolgico; el aumento en las
capacidades de los CPU, memoria y dems, este lmite crece.

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.

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