Documentos de Académico
Documentos de Profesional
Documentos de Cultura
UNIDAD IV
Procesamiento Paralelo
INSTITUTO TECNOLGICO DE TAPACHULA
ING. EN SISTEMAS COMPUTACIONALES
CATEDRTICO
Unidad IV
Procesamiento Paralelo
ndice
Introduccin ........................................................................................................................... 3
4.- Procesamiento Paralelo .................................................................................................... 4
4.1.- Aspectos bsicos de la computacin paralela ................................................................ 6
4.2.- Tipos de computacin paralela ...................................................................................... 8
4.2.1.-Taxonoma de las arquitecturas paralelas .............................................................. 11
4.2.2.- Arquitectura de los computadores secuenciales .................................................. 13
4.2.2.1.- Taxonoma de Flynn ........................................................................................ 19
4.2.2.2 Organizacin del espacio de direcciones de memoria ................................... 19
4.3.- Sistemas de memoria compartida: Multiprocesadores ............................................... 26
4.3.1.- Redes de interconexin dinmicas o indirectas .................................................... 28
4.3.1.1.- Redes de medio compartido ........................................................................... 31
4.3.1.2.- Redes conmutadas .......................................................................................... 32
4.3.2.- Coherencia de cache.............................................................................................. 33
4.4.- Sistemas de memoria distribuida. Multicomputadores: Clusters ............................... 36
4.4.1.- Redes de interconexin estticas .......................................................................... 37
4.4.2.- Cluster .................................................................................................................... 40
4.4.3.- Programacin de clusters ...................................................................................... 41
4.4.4.- Consideraciones sobre el rendimiento de los clusters .......................................... 43
4.5.- Casos de usos............................................................................................................... 44
Conclusin ............................................................................................................................ 45
Bibliografa ............................................................................................................................ 51
Introduccin
En esta unidad se podr observar sobre los distintos tipos de procesamientos es de mucha
importancia conocer que en el procesamiento paralelo, es muy til pero no siempre se
puede, usar el procesamiento paralelo para todas las actividades, de hecho es sugerirle
aplicar procesos paralelos a muchas cosas hoy en da, pero normalmente tambin van a ver
cosas que no necesiten de un procesamiento paralelo, si nos vamos al lado del estudio de
las computadoras pasa lo mismo es muy recomendable usar procesamientos paralelos,
pero en algunas ocasiones puede ser de sobra y gastar ms recursos, pero en los CPU el
paralelismo es importante, con el fin de poder procesar ms informacin y en menos
tiempo, con lo cual se logra un mayor rendimiento en toda la computadora, para ello en
esta unidad se dar a conocer ciertos puntos importantes del procesamiento paralelo y de
esta manera saber cmo funciona esta tcnica de procesamiento, tan til en las
computadoras que la mayora de las computadoras actuales ya contienen el procesamiento
paralelo en ella
Un procesador superes calar con pipeline de cinco etapas, capaz de ejecutar dos
instrucciones por ciclo. Puede tener dos instrucciones en cada etapa del pipeline, para un
total de hasta 10 instrucciones (se muestra en verde) ejecutadas simultneamente.
Adems del paralelismo a nivel de instruccin del pipelining, algunos procesadores pueden
ejecutar ms de una instruccin a la vez. Estos son conocidos como procesadores superes
calares. Las instrucciones pueden agruparse juntas slo si no hay dependencia de datos
entre ellas. El scoreboarding y el algoritmo de Tomasulo que es similar a scoreboarding
pero hace uso del renombre de registros son dos de las tcnicas ms comunes para
implementar la ejecucin fuera de orden y la paralelizacin a nivel de instruccin.
PARALELISMO DE DATOS
El paralelismo de datos es el paralelismo inherente en programas con ciclos, que se centra
en la distribucin de los datos entre los diferentes nodos computacionales que deben
tratarse en paralelo. La paralelizacin de ciclos conduce a menudo a secuencias similares
de operaciones (no necesariamente idnticas) o funciones que se realizan en los elementos
de una gran estructura de datos. Muchas de las aplicaciones cientficas y de ingeniera
muestran paralelismo de datos.
Una dependencia de terminacin de ciclo es la dependencia de una iteracin de un ciclo en
la salida de una o ms iteraciones anteriores. Las dependencias de terminacin de ciclo
evitan la paralelizacin de ciclos.
Este bucle no se puede paralelizar porque CUR depende de s mismo (PREV2) y de PREV1,
que se calculan en cada iteracin del bucle. Dado que cada iteracin depende del resultado
de la anterior, no se pueden realizar en paralelo. A medida que el tamao de un problema
se hace ms grande, la paralelizacin de datos disponible generalmente tambin lo hace.
PARALELISMO DE TAREAS
El paralelismo de tareas es la caracterstica de un programa paralelo en la que clculos
completamente diferentes se pueden realizar en cualquier conjunto igual o diferente de
datos. Esto contrasta con el paralelismo de datos, donde se realiza el mismo clculo en
distintos o mismos grupos de datos. El paralelismo de tareas por lo general no escala con el
tamao de un problema.
Durante muchos aos, la computacin paralela se ha aplicado en la computacin de altas
prestaciones, pero el inters en ella ha aumentado en los ltimos aos debido a las
restricciones fsicas que impiden el escalado en frecuencia.
La computacin paralela se ha convertido en el paradigma dominante en la arquitectura de
computadores, principalmente en los procesadores multincleo.
Sin embargo, recientemente, el consumo de energa de los ordenadores paralelos se ha
convertido en una preocupacin.
10
Los ordenadores paralelos se pueden clasificar segn el nivel de paralelismo que admite su
hardware: los ordenadores multincleo y multiproceso tienen varios elementos de
procesamiento en una sola mquina, mientras que los Clusters, los MPP y los grids emplean
varios ordenadores para trabajar en la misma tarea.
Los programas de ordenador paralelos son ms difciles de escribir que los secuenciales
porque la concurrencia introduce nuevos tipos de errores de software, siendo las
condiciones de carrera los ms comunes.
La comunicacin y la sincronizacin entre las diferentes subtareas son tpicamente las
grandes barreras para conseguir un buen rendimiento de los programas paralelos.
El incremento de velocidad que consigue un programa como resultado de la paralelizacin
viene dado por la ley de Amdahl.
11
12
VENTAJAS
Datos, sincronizacin y coordinacin usando variables globales. Modelo simple de
programacin. Espacio nico de memoria. Una sola copia del sistema operativo (con
planificador adecuado). Threads. Los sistemas operativos modernos coordinan la
distribucin de los recursos. Es fcil mover procesos entre procesadores. Menos espacio.
Menos potencia. Ms estable.
DESVENTAJAS
Performance de la memoria. Se soluciona con caches, pero aparece el problema de la
coherencia de caches. La red de interconexin es complicada (acceso a memoria). Dinmica:
bus, crossbar o multistage. Se satura rpidamente. Soporta pocos procesadores (2-16).
Poco escalables.
13
14
Paralelo-Paralelo: tanto las entradas como las salidas son accesibles. Se usan para clculos
aritmticos.
Un registro de desplazamiento muy utilizado, que es universal (se llama as porque puede
utilizarse en cualquiera de las cuatro configuraciones anteriormente descritas) y
15
16
TIPOS DE BIESTABLES
Biestables RS El biestables bsico es el RS. Su smbolo lgico se muestra a continuacin.
Tiene dos entradas S (set) y R (Reset), y tiene dos salidas complementarias Q (qn) y Q, tiene
adems una entrada CLK (reloj) activa por flanco de subida.
Biestables D (Latch o Cerrojo) Se trata de otro tipo de Biestables, esta vez con una entrada
D (datos) y dos salidas de estados complementarias, Q. Cuenta adems con una entrada de
CLK (reloj), activada por flanco de subida. Tambin puede contar con dos entradas ms,
17
conocidas por PR (de preset: reiniciar) y CLR (de clear: despejar). Estas ltimas son de tipo
asncrono.
El Biestables D que aparece en la figura, puede funcionar de dos formas:
Sncrona: usa una seal de reloj.
Asncrona: usa las seales PR Y CLR.
De forma sncrona lo hace de la siguiente manera: Si la transicin de la seal de reloj es de
bajo a alto (o sea, de 0 a 1) se traslada el dato D a la salida, se dice que el biestables ha sido
disparado por la seal de reloj. Si por el contrario la transicin en el pulso de reloj es de
estado alto a bajo (o sea, pasa de 1 a 0) el biestables no responde. En este caso, el ltimo
valor permanece almacenado sin cambios.
Las entradas PR y CLR son lo que se llaman entradas asncronas, pues independientemente
de cmo est la seal de reloj, reiniciarn (pondrn un 1 en la salida) o despejarn (pondrn
un 0 en la salida) el biestables. ste es el modo de funcionamiento asncrono.
Biestables JK
El biestables JK puede considerarse como el biestables universal. Dispone de tres entradas
sncronas J y K, para especificar la operacin y CLK, para disparar el biestables. Tambin
consta de dos entradas asncronas PR y CLR, y por supuesto dos salidas complementarias.
Su ecuacin caracterstica es: Qn+1 = JQn + KQn
SECUENCIALES ASNCRONOS
Los circuitos secuenciales asncronos o autmatas finitos asncronos, tambin suelen
denominarse como circuitos en modo fundamental. Estos circuitos no usan elementos
especiales de memoria, pues se sirven de los retardos propios (tiempos de propagacin) de
las compuertas lgicas usados en ellos. Esta manera de operar puede ocasionar algunos
problemas de funcionamiento, ya que estos retardos naturales no estn bajo el control del
diseador, por lo que una de sus principales caractersticas consiste en no permitir cambios
simultneos en las variables de entrada, a fin de evitar el fenmeno de carreras crticas
entre variables de entrada
18
19
SISD (Single Instruction stream, Single Data stream) Flujo nico de instrucciones y flujo
nico de datos. Este el concepto de arquitectura serie de Von Neumann donde, en cualquier
momento, solo se est ejecutando una nica instruccin. A menudo a los SISD se les conoce
como computadores serie escalares. Todas las maquinas SISD poseen un registro simple
que se llama contador de programa que asegura la ejecucin en serie del programa.
Conforme se van leyendo las instrucciones de la memoria, el contador de programa se
actualiza para que apunte a la siguiente instruccin a procesar en serie. Prcticamente
ningn computador puramente SISD se fabrica hoy en da ya que la mayora de
procesadores modernos incorporan algn grado de paralelizacin como es la segmentacin
de instrucciones o la posibilidad de lanzar dos instrucciones a un tiempo (superes calares).
MISD (Multiple Instruction stream, Single Data stream) Flujo Multiple de instrucciones y
nico flujo de datos. Esto significa que varias instrucciones actan sobre el mismo y nico
trozo de datos. Este tipo de mquinas se pueden interpretar de dos maneras. Una es
considerar la clase de mquinas que requeriran que unidades de procesamiento diferentes
recibieran instrucciones distintas operando sobre los mismos datos. Esta clase de
arquitectura ha sido clasificada por numerosos arquitectos de computadores como
impracticable o imposible, y en estos momentos no existen ejemplos que funcionen
siguiendo este modelo. Otra forma de interpretar los MISD es como una clase de mquinas
donde un mismo flujo de datos fluye a travs de numerosas unidades procesadoras.
Arquitecturas altamente segmentadas, como los arrays sistlicos o los procesadores
vectoriales, son clasificados a menudo bajo este tipo de mquinas. Las arquitecturas
segmentadas, o encauzadas, realizan el procesamiento vectorial a travs de una serie de
etapas, cada una ejecutando una funcin particular produciendo un resultado intermedio.
La razn por la cual dichas arquitecturas son clasificadas como MISD es que los elementos
de un vector pueden ser considerados como pertenecientes al mismo dato, y todas las
etapas del cauce representan mltiples instrucciones que son aplicadas sobre ese vector.
20
SIMD Single Instruction stream, Multiple Data stream Flujo de instruccin simple y flujo
de datos mltiple. Esto significa que una nica instruccin es aplicada sobre diferentes
datos al mismo tiempo. En las mquinas de este tipo, varias unidades de procesado
diferentes son invocadas por una nica unidad de control. Al igual que las MISD, las SIMD
soportan procesamiento vectorial (matricial) asignando cada Ingeniera Informtica
Universidad de Valencia
4.1 Clasificacin de los sistemas paralelos 3 elemento del vector a una unidad funcional
diferente para procesamiento concurrente. Por ejemplo, el clculo de la paga para cada
trabajador en una empresa, es repetir la misma operacin sencilla para cada trabajador; si
se dispone de una arquitectura SIMD esto se puede calcular en paralelo para cada
trabajador. Por esta facilidad en la paralelizacin de vectores de datos (los trabajadores
formaran un vector) se les llama tambin procesadores matriciales.
MIMD (Multiple Instruction stream, Multiple Data stream) Flujo de instrucciones Multiple
y flujo de datos Multiple. Son mquinas que poseen varias unidades procesadoras en las
cuales se pueden realizar mltiples instrucciones sobre datos diferentes de forma
simultnea. Las MIMD son las ms complejas, pero son tambin las que potencialmente
ofrecen una mayor eficiencia en la ejecucin concurrente o paralela. Aqu la concurrencia
implica que no solo hay varios procesadores operando simultneamente, sino que adems
hay varios programas (procesos) ejecutndose tambin al mismo tiempo.
21
22
NOMBRE DEL
REGISTRO
DESCRIPCION DEL
REGISTRO
COMENTARIOS
0FFH
0FEH
STKPTR (SPL)
SPH
0FDH
0FCH
0FBH
0FAH
0F9H
0F8H
0F7H
0F6H
0F5H
0F4H
0F3H
0F2H
0F1H
0F0H
REGPTR (RP)
FLAGS
IMASK
IREQ
IMASK2
IREQ2
Register Pointer
Flags
Interrupt Mask 1
Interrup Request 1
Interrupt Mask 2
Interrup Request 2
Registros de Control
23
Ints 0 - 6
Ints 0 - 6
Ints 7 - 14
Ints 7 - 14
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
DIRECCION
HEXADECIMAL
F0-FF
E0-EF
D0-DF
C0-CF
B0-BF
A0-AF
90-9F
80-8F
70-7F
60-6F
50-5F
40-4F
30-3F
20-2F
10F-1F
00-0F
24
0 1 1 1 0 0 0 0 R15
1 1 0 1 1 1 1 1 MASK
AND R15, DFH
0 1 0 1 0 0 0 0 R15
Cuando estas instrucciones son ejecutadas, los registros son de solo lectura, no de escritura.
REGISTROS DE PROPSITO GENERAL
Los registros de propsito general no estn definidos hasta que el mecanismo este
encendido. Los registros mantienen su ltimo valor despus de cualquier Reset, a menos
que el Reset ocurra en un voltaje especificado Vcc del rango de operacin. Este no
mantendr su ltimo estado si Vcc cae debajo de 1.8V.
GRUPOS DE REGISTROS
Las instrucciones del Z8PLUS pueden accesar registros de 8 bits, registros pares (16 bits,
words) o archivos de direccin de 12 bits. Los archivos de direccin de 8 bits se refieren a la
direccin actual del registro dentro de la pgina actual. Por ejemplo, el registro 58H puede
ser accesado llamando a su equivalente en binario, 01011000 (58H). Los 4 bits menos
significativos del Register Pointer especifican la pgina actual de la RAM.
Con un direccionamiento de 4 bits, el archivo del registro es dividido lgicamente en 16
grupos de registros llamados Working Register Groups de 16 registros cada uno, como se
muestra en la tabla 1-3. Estos 16 registros son conocidos como Working Regiters. El Register
Pointer (registro de control FDH), contiene la direccin base del Working Register Group
activo. Los 4 bits ms significativos del Register Pointer determinan el actual Working
Register Group.
Cuando accesamos uno de los Working Regiters, los cuatro bits de direccin son
combinados con los cuatro bits ms altos del Register Pointer, formando as la direccin de
8 bits. Despus de las tablas que se muestran a continuacin, se ejemplifica el
direccionamiento del Working Register.
25
26
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
27
28
29
elementos de conexin especficos como pueden ser rbitros de bus, conmutadores, etc.
Las principales topologas de redes dinmicas son las siguientes:
Buses
Redes de lneas cruzadas o matriz de conmutacin (crossbar)
Redes omega: esta red de N entradas est formada por log2 N etapas de N/2 montadores.
Por supuesto, cada conmutador se gobierna de forma independiente a los dems. El patrn
de interconexin entre las etapas es un perfect shuffle (recordar el apartado 4.5). Un
esquema de este tipo de redes se muestra en la figura 4.16.
Redes de lnea base: (Wu & Feng, 1980): las redes de lnea base estn formadas por
mdulos conmutadores de lneas cruzadas, de 2 2, y se pueden generan recursiva- mente
de la siguiente forma: se unen las entradas de cada pareja de conmutadores del ltimo
nivel, mediante un perfect shuffle, a las salidas de los conmutadores de la etapa anterior.
Se agrupan las entradas de doble nmero de conmutadores en esa etapa, formando otro
perfect shuffle hacia el nivel anterior. Se repite este proceso hasta llegar a un nico perfect
shuffle que una las salidas de todos l conmutadores del que ser el primer nivel. En la figura
4.17(a) se muestra una r de lnea base de 16 16 y en (b) puede verse la construccin
recursiva de una red de lnea base genrica de N N a partir de otras dos de N/2 N/2.
Evidentemente, si se mira esta red desde las entradas, se vern permutaciones de perfect
shuffle inverso.
Redes mariposa (butterfly networks): Una red mariposa de knkn est formada por n
columnas de kn1 conmutadores k k unidas por n 1 permutaciones mariposa de base k
y orden 1 hasta n 1. En la figura 4.18 puede verse una red mariposa de 23 23.
Es curioso observar que una red mariposa de kn kn se puede construir a partir de dos
redes mariposa kn1
kn1, aadiendo una columna de kn1 conmutadores y base k y
orden n 1.
Redes Delta: una red delta se define como una red de interconexin de an bn con n etapas
formada por mdulos conmutadores de lneas cruzadas de a b y cuya red de interconexin
de etapas es un a-shuffle. En la figura 4.19 se muestra una red delta genrica de an bn. En
la figura 4.20 puede verse el ejemplo de una red delta de 23 23. Una caracterstica de
esta red es que la primera etapa tengan unos mdulos conmutadores, por tanto, la segunda
etapa tendr an2b conmutadores ya que, a cada uno de los conmutadores de la etapa
anterior, habr que multiplica por el nmero de salidas, b, y dividirlo por el nmero de
entradas, a, para opte el nmero de conmutadores de la etapa siguiente. En general, la
etapa i tendr nibi1 y, por tanto, la ltima etapa (n) tendr bn1 conmutadores. Esto
hace que la red tenga bn salidas. Se puede demostrar (ver ejercicio 4.25) que el nmero
total de conmutadores de una red delta es:
30
Redes de Closs: estas redes constan de tres etapas construidas con conmutadores de lneas
cruzadas pero de diferentes tamaos en cada etapa. Cada red de Closs se caracteriza por
tres parmetros: n, m y r; el nmero de entradas de la red es N = nr. La primera etapa
dispone de r conmutadores de n entradas y m salidas, la segunda etapa contiene m
conmutadores de r entradas y r salidas. La conexin entre ambas etapas se efecta de la
forma siguiente: la salida i del conmutador j de la primera etapa se conecta con la entrada
j del conmutador i de la segunda (esto en realidad es un r-shuffle). La tercera etapa tiene
r conmutadores de m entradas y n salidas, dos primeras (es decir forman un m-shuffle).
Una de las ventajas de las redes de Closs es que, dimensionndolas conveniente- mente, se
puede conseguir que sea reacondicionable o, incluso, no bloqueante.
Redes de Benes: Una red de Benes es un red de Closs con n = 2 y m = 2, en que los
conmutadores de la etapa central son, a su vez, redes de Closs con n = 2, m = 2, siendo r la
mitad de la de la red completa. Esto significa que las permutaciones entre etapas son
perfect shuffle inverso (de la primera a la segunda) y pe t shuffle, de la segunda a la tercera.
31
Los tres principales medios de transmisin utilizados en las redes locales son: par trenzado
Cable coaxial
Fibra ptica.
32
La conmutacin de circuitos:
Es un tipo de conexin que realizan los diferentes nodos de una red para lograr un camino
apropiado para conectar dos usuarios de una red de telecomunicaciones. A diferencia de
lo que ocurre en la conmutacin de paquetes, en este tipo de conmutacin se establece
un canal de comunicaciones dedicado entre dos estaciones. Se reservan recursos de
transmisin y de conmutacin de la red para su uso exclusivo en el circuito durante la
conexin. sta es transparente: una vez establecida parece como si los dispositivos
estuvieran realmente conectados.
Ventajas
El ancho de banda es definido y se mantiene constante durante la comunicacin.
El circuito es fijo, no se pierde tiempo en el encaminamiento de la informacin.
La transmisin se realiza en tiempo real, siendo til para la comunicacin de voz y video.
Si bien existe retardo en el establecimiento de la llamada, el retardo de la transmisin
posterior es despreciable; si el trfico se realiza generalmente entre el mismo par de
estaciones puede ser ms veloz.
33
34
35
36
Anillo/Anillo Cordal: Una red en anillo se consigue conectando entre s los nodos
extremos de una formacin lineal. La estructura resulta simtrica y todos sus nodos poseen
grado 2. El dimetro de la red es N/2. Si los enlaces del anillo fueran unidireccionales, su
dimetro sera N - 1. Si se incrementa el grado de cada nodo de la red a 3 o 4, llegaremos a
la estructura de anillo cordal. Segn se aumenta el grado de los nodos del anillo cordal, se
disminuye su dimetro. El caso ms extremo de anillo cordal es la red totalmente conectada
en que el grado de cada nodo es N - 1, cada nodo est conectado con todos los dems, es
decir, dimetro 1. El inconveniente de esta topologa es la gran complejidad en sus nodos
debido a su alto grado (de hecho, el mximo alcanzable). Un caso especial del anillo cordal,
que constituye un buen equilibrio entre complejidad y eficiencia, es el denominado
barrelshifter, en que el nodo i se conecta con todos los nodos j que cumplen con la condicin
|i - j| = 2r para todo r entre 0 y k - 1 donde k = log2 N. El grado de esta topologa es 2k - 1 y
su dimetro es k/2.
37
38
Mallas y toros: Una malla k-dimensional tiene lk nodos, donde l es el nmero de nodos
por lado. El grado de los nodos vara entre k para los vrtices hasta 2k en los nodos ms
interiores por lo que esta red no resulta regular y su dimetro viene dado por k (l - 1). 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.
39
4.4.2.- Clster
Un clster es una tipo de arquitectura paralela distribuida que consiste de un conjunto de
computadores independientes (y bajo coste en principio) interconectados operando de
forma conjunta como un nico recurso computacional Sin embargo, cada computador
puede utilizarse de forma independiente o separada
El trmino clster (del ingls clster, "grupo" o "racimo") se aplica a los conjuntos o
conglomerados de computadoras construidos mediante la utilizacin de hardwares
comunes y que se comportan como si fuesen una nica computadora.
La tecnologa de clsteres ha evolucionado en apoyo de actividades que van desde
aplicaciones de supe cmputo y software de misiones crticas, servidores web y comercio
electrnico, hasta bases de datos de alto rendimiento, entre otros usos.
El cmputo con clsteres surge como resultado de la convergencia de varias tendencias
actuales que incluyen la disponibilidad de microprocesadores econmicos de alto
rendimiento y redes de alta velocidad, el desarrollo de herramientas de software para
cmputo distribuido de alto rendimiento, as como la creciente necesidad de potencia
computacional para aplicaciones que la requieran.
Simplemente, un clster es un grupo de mltiples ordenadores unidos mediante una red de
alta velocidad, de tal forma que el conjunto es visto como un nico ordenador, ms potente
que los comunes de escritorio.
Los clsteres son usualmente empleados para mejorar el rendimiento y/o 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
Un clster de alto rendimiento: es un conjunto de ordenadores que est diseado para dar
altas prestaciones en cuanto a capacidad de clculo. Los motivos para utilizar un clster de
alto rendimiento son:
El tamao del problema por resolver
El precio de la mquina necesaria para resolverlo
40
2. Alta disponibilidad
Un clster de alta disponibilidad es un conjunto de dos o ms mquinas que se caracterizan
por mantener una serie de servicios compartidos y por estar constantemente
monitorizndose entre s.
3. Balanceo de carga:
El balance o balanceo de carga es un concepto usado en informtica que se refiere a la
tcnica usada para compartir el trabajo a realizar entre varios procesos, ordenadores, discos
u otros recursos.
4. Escalabilidad:
En telecomunicaciones y en ingeniera informtica, la escalabilidad es la propiedad deseable
de un sistema, una red o un proceso, que indica su habilidad para extender el margen de
operaciones sin perder calidad, o bien manejar el crecimiento continuo de trabajo de
manera fluida, o bien para estar preparado para hacerse ms grande sin perder calidad en
los servicios ofrecidos.
41
tiempos de latencia inferiores al microsegundo en la capa SCI llegando a los lmites del bus
PCI (64bits/66Mhz).
Usos:
Anlisis Estructural
Simulaciones de mecnica de fluidos
Modelos genmicos
Prediccin meteorolgica
Y el estudio de cualquier fenmeno que pueda ser modelado matemticamente.
42
43
44
4.5.1. DESCRIPCIN
La tecnologa detrs del desarrollo de componentes de sistemas computacionales ha
alcanzado su madurez y los desarrollos estn a punto de producirse en la era del
procesamiento en paralelo, lo que significa que la tecnologa de la computacin paralela
necesita avanzar, aun cuando no est lo suficientemente madura como para ser explotado
como una tecnologa de disponibilidad masiva.
La razn principal para crear y utilizar computacin paralela es que el paralelismo es una de
las mejores formas de salvar el problema del cuello de botella que significa la velocidad de
un nico procesador.
La razn de ser del procesamiento en paralelo es acelerar la resolucin de un problema, la
aceleracin que puede alcanzarse depende tanto del problema en s como de la
arquitectura de la computadora.
Las aplicaciones que se benefician de una aceleracin ms significativa son aquellas que
describen procesos intrnsecamente paralelos, las simulaciones de modelos moleculares,
climticos o econmicos tienen toda una amplia componente paralela, como los sistemas
que representan. El hardware de la mquina entra en juego ya que es preciso maximizar la
relacin entre el tiempo de clculo til y el perdido en el paso de mensajes, parmetros que
dependen de la capacidad de proceso de las CPUs y de la velocidad de la red de
comunicaciones.
Hay 2 formas bsicas de obtener partes independientes en un programa paralelo:
descomposicin funcional o descomposicin de datos, que describiremos a continuacin.
Descomposicin de datos. Un ejemplo de aplicacin completamente paralelizable es el
clculo del rea bajo una curva por integracin numrica, basta con dividir el intervalo de
45
integracin entre todos los procesadores disponibles y que cada uno resuelva su fragmento
sin preocuparse de qu hacen los dems, al final, los resultados parciales se recolectan y se
suman convenientemente.
Con n procesadores es posible resolver el problema n veces ms rpido que haciendo uso
de uno slo (salvo por el mnimo retraso que supone el reparto de trabajo inicial y la
recoleccin de datos final), consiguiendo una aceleracin lineal con el nmero de
procesadores. Si las condiciones son muy favorables es incluso posible alcanzar la
aceleracin supe lineal, consistente en que el programa se ejecuta an ms rpido que en
rgimen lnea, la aparente paradoja se da debido a que cada procesador cuenta con su
propia memoria ordinaria y cach, que pueden ser usadas de forma ms eficiente con un
subconjunto de datos, de hecho, es posible que el problema no se pueda resolver en un
nico procesador pero s sobre un conjunto de ordenadores debidamente configurados,
simplemente por cuestin de tamao de los datos.
Descomposicin funcional. Un modelo computacional se basa por empezar, en que una
aplicacin consiste en varias tareas, cada tarea es responsable de una parte de la carga de
procesamiento de la aplicacin en general y a su vez, cada tarea realiza una operacin
independiente de las otras tareas. Los algoritmos de cada tarea son diferentes, este modelo
se denomina descomposicin funcional y se puede aprovechar las caractersticas
particulares de cada tipo de tarea para ejecutarlas en la mquina que sea ms conveniente
para tal efecto.
Se refiere al proceso o transferencia de datos de forma simultnea, en oposicin al proceso
o transferencia en serie, en la transferencia de datos en paralelo, la informacin se enva
simultneamente en grupos, por ejemplo, los ocho bits de un byte de datos se transmiten
a la vez, a travs de ocho hilos independientes de un cable. En el proceso en paralelo y en
otras operaciones similares se realiza ms de un proceso a la vez, por ejemplo, varios
microprocesadores de una computadora pueden estar manejando diferentes aspectos de
un proceso (tales como un clculo complicado) al mismo tiempo.
4.5.2. EVOLUCIN
Durante aos se han encontrado dificultades al momento de analizar sistemas de gran
tamao; si bien en el caso de los sistemas de potencia ste se ha visto favorecido por la
descripcin de problemas mediante matrices, y por la utilizacin de computadores digitales
para su manipulacin, la necesidad de lograr un equilibrio en la cantidad de informacin a
procesar y su calidad contina siendo evidente.
El procesamiento paralelo ha permitido sobrellevar algunas de estas dificultades,
particularmente en lo que respecta a la velocidad de procesamiento; siempre que la
arquitectura del computador sea la apropiada.
46
4.5.3. CARACTERSTICAS
El uso de varios procesadores est motivado por consideraciones relativas a las
prestaciones y/o a la fiabilidad, podemos clasificar dichos sistemas como sigue:
Multiprocesadores dbilmente acoplados: Consisten en un conjunto de sistemas
relativamente autnomos, en los que cada CPU dispone de su propia memoria principal y
sus canales de E/S. En este contexto se utiliza frecuentemente el trmino multicomputador.
Procesadores de Uso Especfico: Tales como un procesador de E/S. En este caso, hay un
maestro, una CPU de uso general, y los procesadores de uso especfico estn controlados
por la CPU maestra a la que proporcionan ciertos servicios.
47
VENTAJAS Y DESVENTAJAS
Existen algunos factores que trabajan en contra de la eficiencia del paralelismo y pueden
atenuar tanto la ganancia de velocidad como la ampliabilidad.
Costes de inicio: en una operacin paralela compuesta por miles de proceso, el tiempo de
inicio puede llegar ser mucho mayor que le tiempo real de procesamiento, lo que influye
negativamente en la ganancia de velocidad.
Interferencia: como lo procesos que se ejecutan en un proceso paralelo acceden con
frecuencia a recursos compartidos, pueden sufrir un cierto retardo como consecuencia de
48
49
Conclusin
A lo largo de lo estudiado en la unidad, se puede llegar a decir que se pudo observar una
parte del paralelismo y su importancia en las computadoras, pero tambin en las redes, que
son una parte muy importante, el paralelismo es importante pero tambin puede llegar a
ser un problema, por la cantidad de requerimientos y procesos que ocupa, adems de las
cantidades de energa y recursos que gastan, pero es que es de lo mejor con lo que se puede
trabajar hoy en da y actualmente la mayora de las personas estn acostumbradas a usar
un sistema con paralelismo, pero tambin se estudi las arquitecturas secuenciales, con el
fin de conocer las diferencias entre paralelo y secuencial, se logr apreciar las diferencias
entre ambas arquitecturas, como von Neumann trabajo de una forma secuencial mientras
que Flynn decidi mejorar y usar el paralelismo, dentro de las redes vistas, tenemos las
dinmicas o indirectas, de uso compartido, conmutadas y la coherencia de la cache, la cual
tambin es importante porque nos habla sobre los problemas que tiene la cache al trabajar
con 2 procesadores, los Clusters que son tambin son mencionados en la unidad, son
sistemas paralelos de alto rendimiento, estabilidad, etc. Su programacin y sus
rendimientos tambin son importantes de mencionar para poder, comprenderlos en su
totalidad, esto fue parte de esta unidad nmero 4, an hay muchsimas ms informacin,
pero en la brevedad se ha presentado lo ms importante de estos temas para conocer un
poco, del procesamiento paralelo
50
Bibliografa
https://prezi.com/u5hougkfuj_r/unidad-4-procesamiento-paralelo/
http://www.monografias.com/trabajos16/arquitectura-paralela/arquitecturaparalela.shtml
http://procesamientoparalelo.blogspot.mx/2013/11/42-tipos-de-computacionparalela.html
http://tinomenosesmas.blogspot.mx/2012/01/que-es-la-computacion-paralela.html
https://prezi.com/xsfiyilt4kwr/taxonomia-de-las-arquitecturas-paralelas/
http://electro.fisica.unlp.edu.ar/arq/transparencias/ARQII_08-MIMD_A4x6.pdf
http://www.fing.edu.uy/inco/cursos/hpc/material/clases/Clase2-2009.pdf
http://www.mundodescargas.com/apuntes-trabajos/informatica/decargar_arquitecturasavanzadas.pdf
http://galia.fc.uaslp.mx/~cantocar/z8plus/documentos/espacio.pdf
http://informatica.uv.es/iiguia/AAC/AA/apuntes/aic_intro.pdf
http://galia.fc.uaslp.mx/~cantocar/z8plus/documentos/espacio.pdf
http://informatica.uv.es/iiguia/AAC/AA/apuntes/aic_multiproc.pdf
http://www.dea.icai.upco.es/jarm/Asignaturas/ArquitecturaOrdenadores/Transparencias
/Dmulticache.pdf
http://arquitecturaencomputadoras12.blogspot.mx/2012/12/sistemas-secuencialessincronos.htmlhttp://www.infor.uva.es/~bastida/Arquitecturas%20Avanzadas/Redes.pdf
https://prezi.com/-gvjeip3knaq/cluster-programacion-de-cluster-consideracion-sobre-elrendimiento-del-cluster/
https://prezi.com/1rhblo1ollwq/431-redes-de-interconexion-dinamicas-o-indirectas/
http://itcv-arquitectura-de-computadoras.blogspot.mx/2014/11/45-casos-deestudio.html
https://www.fing.edu.uy/cluster/grupo/cluster_arquitectura_y_aplicaciones.pdf
51