Sei sulla pagina 1di 9

PARALELISMO

Es una funcin que realiza el procesador para ejecutar varias tareas al mismo
tiempo. Es decir, puede realizar varios clculos simultneamente, basado en el principio de
dividir los problemas grandes para obtener varios problemas pequeos, que son
posteriormente solucionados en el paralelo.
El paralelismo se utiliza para proporcionar aceleracin, y las consultas se ejecutan
ms rpido debido a que se proporcionan ms recursos, como procesadores y discos. El
paralelismo tambin se utiliza para proporcionar ampliabilidad, y las cargas de trabajo
crecientes se tratan sin aumentar el tiempo de respuesta mediante un aumento en el grado
de paralelismo
El empleo de la computacin paralela se convierte cada da en ms grandes y rpida,
muchos problemas considerados anteriormente muy largos y costosos se han podido
solucionar. El paralelismo se ha utilizado para muchas temticas diferentes, desde
bioinformtica para hacer plegamientos de protenas, hasta economa para hacer
simulaciones en matemticas financieras.
Tipos de paralelismo Informtica
1.

Nivel bit

Se basa en el tamao de la palabra que es capaz de manejar el procesador:


8 bits
16 bits
32 bits
64 bits.
Mientras ms grande el tamao de la palabra menos instrucciones ejecuta el procesador
para realizar una operacin determinada.
2. Nivel instruccin
Mecanismos de la arquitectura son utilizados entonces para ejecutar este tipo de
paralelismo:
*

Pipelining

Superscalar

Ejecucin desordenada

Ejecucin especulativa

Renombramiento de registros

Prediccin de precedencia de memoria

Prediccin de ramificaciones del flujo

3. Nivel de Datos
Este tipo de paralelismo se enfoca en la distribucin de los datos entre varios procesadores.
Se conoce tambin como paralelismo a nivel de lazos (loop-level paralelism).
4. Nivel tarea
En este caso un programa paralelo que ejecuta clculos distintos sobre el mismo
conjunto de datos o sobre datos diferentes.
El paralelismo funcional generalmente no escala con el tamao del problema.
El paralelismo o procesamiento paralelo ha sido empleado durante muchos aos, sobre
todo para la computacin de alto rendimiento. Teniendo en cuenta las generaciones de
procesadores y sus caractersticas.
Obtener distintos resultados a partir de un mismo conjunto de datos, por ejemplo:
Para un matriz hallar
El determinante
La traspuesta
La inversa
Clasificacin de los sistemas paralelos en los sistemas informticos
*
SISD es un trmino que se refiere a una arquitectura en la que un slo procesador, un
uniprocesador, ejecuta un slo flujo de instrucciones, para operar sobre datos almacenados
en una nica memoria.
*

SIMD: es una tcnica empleada para conseguir paralelismo a nivel de datos.

*
MISD: es un tipo de arquitectura de computacin paralela donde muchas unidades
funcionales realizan diferentes operaciones en los mismos datos. Las arquitecturas

segmentadas pertenecen a este tipo, aunque un purista podra decir que los datos son
diferentes despus de ser procesados por cada etapa en el pipeline.
*
MIMD: es una tcnica empleada para lograr paralelismo. Las mquinas que usan
MIMD tienen un nmero de procesadores que funcionan asncronos e independientemente.
En cualquier momento, cualquier procesador puede ejecutar diferentes instrucciones sobre
distintos datos.
*
FLUJO DE CONTROL: Las instrucciones se van ejecutando segn el orden en el que
se encuentran en memoria.
*
FLUJO DE DATOS: el flujo de ejecucin es conducido por los datos; una instruccin
ser ejecutada cuando los operandos estn disponibles.
*
REDUCCION: la ejecucin se realiza por demanda, una instruccin ser ejecutada
cuando otra necesite sus resultados. Son una clase de las de flujo de datos.
BASE DE DATOS PARALELAS
Es un Sistema Gestor de Base de Datos que se ejecuta sobre mltiples procesadores
y discos que han sido diseados para ejecutar operaciones en paralelo, cuando sea posible,
con el propsito de mejorar el rendimiento.
Algunas de las ventajas de los sistemas paralelos es que mejoran la velocidad de
procesamiento y de E/S mediante la utilizacin de UCP y discos en paralelo.
Los sistemas paralelos de base de datos constan de varios procesadores y varios
discos conectados a travs de una red de interconexin de alta velocidad. Para medir el
rendimiento de los sistemas de base de datos existen 2 medidas principales:

La productividad (throughput) que se entiende como el nmero de tareas que


pueden completarse en un intervalo de tiempo determinado.
El tiempo de respuesta (response time) que es la cantidad de tiempo que necesita
para completar una nica tarea a partir del momento en que se enve. Un sistema
que procese un gran nmero de pequeas transacciones puede mejorar su
productividad realizando muchas transacciones en paralelo. Un sistema que procese
transacciones ms largas puede mejorar tanto su productividad como sus tiempos
de respuesta realizando en paralelo cada una de las subtareas de cada transaccin.

El objetivo de las bases de datos paralelas es asegurar que la ejecucin del sistema
continuar realizndose a una velocidad aceptable, incluso en el caso de que aumente el
tamao de la base de datos o el nmero de transacciones.

ANEXO. Base de datos paralelas

TIPOS DE PARALELISMOS
PARALELISMOS ENTRE CONSULTAS
Los sistemas de bases de datos con arquitectura paralela deben asegurar de que dos
procesadores no actualicen simultneamente los mismos datos de manera independiente.
Cuando un procesador accede a los datos o los actualiza, el sistema de bases de
datos debe garantizar que tenga su ltima versin en la memoria intermedia. El problema
de asegurar que la versin sea la ltima disponible se denomina problema de coherencia de
cache.
Existen una serie de protocolos para garantizar la coherencia de cache, que
normalmente se integran con los de control de concurrencia para reducir la sobrecarga.Los
protocolos de este tipo de sistemas de disco compartido son los siguientes:

Antes de cualquier acceso de lectura o escritura de una pgina, la transaccin la


bloquea en modo compartido o excluso, segn corresponda. Inmediatamente
despus de obtener el bloqueo compartido o exclusivo de la pgina, la transaccin
lee tambin su copia ms reciente del disco compartido.
Antes de que una transaccin libere el bloqueo exclusivo de una pgina, la traslada
al disco compartido, posteriormente libera el bloqueo.

Con este protocolo se garantiza que cuando una transaccin establece un bloqueo
compartido o exclusivo sobre una pgina, obtenga la copia correcta de la pgina.

PARALELISMO EN CONSULTAS
Es la ejecucin en paralelo de una nica consulta entre varios procesadores y discos,
cuyo objetivo es acelerar las consultas de ejecucin prologada. Por tanto se puede hacer
paralelas las consultas haciendo paralelas las operaciones que las forman. Existen dos
maneras de ejecutar en paralelo una sola consulta:

Paralelismo en operaciones. Se puede acelerar el procesamiento de las


consulta haciendo paralela la ejecucin de cada una de sus operaciones
individuales ordenacin, seleccin, proyeccin y reunin.
Paralelismo entre Operaciones. Se puede acelerar el procesamiento de la
consulta ejecutando en paralelo las diferentes operaciones de las
expresiones de las consultas.

Por lo tanto el objetivo que se persigue es dividir la relacin que interviene en la


consulta por medio de tcnicas de divisin de relaciones, guardar dichas relaciones en
discos que van a ser gestionados cada uno de ellos por un procesador, a su vez, cada
procesador ejecuta su consulta local y cada uno de estos resultados parciales se unen para
formar la respuesta a la consulta.
PARALELISMO ENTRE OPERACIONES
Hay dos formas de paralelismo entre operaciones: el paralelismo de encauzamiento
y el paralelismo independiente.
Paralelismo de encauzamiento: El encauzamiento supone una importante fuente
de economa de procesamiento para el procesamiento de consultas de bases de datos. La
ventaja principal de la ejecucin encauzada de las evaluaciones secuenciales es que se
puede ejecutar una secuencia de operaciones de ese tipo sin escribir en el disco ninguno de
los resultados intermedios.
En los sistemas paralelos el encauzamiento se utiliza principalmente por la misma
razn que en los sistemas secuenciales. Sin embargo, el encauzamiento puede utilizarse
tambin como fuente de paralelismo, del mismo modo que el encauzamiento de
instrucciones se utiliza como fuente de paralelismo en el diseo de hardware. Esta forma de
paralelismo se denomina paralelismo de encauzamiento.
El paralelismo encauzado resulta til con un nmero pequeo de procesadores, pero
no puede extenderse bien:
1. En primer lugar, las cadenas del cauce no suelen lograr la longitud suficiente para
proporcionar un alto grado de paralelismo.

2. En segundo lugar, no es posible encauzar los operadores de relacin que no


producen resultados hasta que se ha tenido acceso a todas las entradas, como la operacin
diferencia de conjuntos.
3. En tercer lugar, slo se obtiene una aceleracin marginal en los casos frecuentes
en que el coste de ejecucin de un operador es mucho mayor que los de los dems
operadores.
Por consiguiente, cuando el grado de paralelismo es elevado, la importancia del
encauzamiento como fuente de paralelismo es secundaria respecto de la del paralelismo de
particiones. La razn fundamental para utilizar el encauzamiento es que las ejecuciones
encauzadas pueden evitar escribir en el disco los resultados intermedios.

De la siguiente figura se puede inferir cmo funciona el encauzamiento. Los


resultados intermedios no son almacenados sino que son redirigidos a la siguiente consulta.
El resultado que se almacena es slo el ltimo:

Paralelismo independiente: Las operaciones en las expresiones de las consultas


que son independientes entre s pueden ejecutarse en paralelo. Esta forma de paralelismo se
denomina paralelismo independiente.
Al igual que el paralelismo encauzado, el paralelismo independiente no proporciona
un alto grado de paralelismo y es menos til en sistemas con un elevado nivel de
paralelismo, aunque resulta til con un grado menor de paralelismo.

En el ejemplo anterior, los resultados de c y d eran independientes de a y b, por lo


tanto se puede aplicar paralelismo independiente de manera que el rbol quede de la
siguiente forma:

PARALELISMO EN OPERACIONES - OTRAS OPERACIONES RELACIONALES


Tambin se puede realizar en paralelo la evaluacin de otras operaciones relacionales:
Seleccin: Se lleva a cabo en un solo procesador si la relacin sobre la que se hace la
seleccin est dividida de acuerdo a un atributo o si la seleccin es una seleccin de rango
(es decir que el atributo est dentro de un rango de valores). En el resto de los casos, la
seleccin se lleva a cabo en todos los procesadores en paralelo.
Eliminacin de duplicados: los duplicados se pueden eliminar por ordenacin. Se puede
paralelizar la eliminacin dividiendo las tuplas (por rango o por asociacin) y eliminando
los duplicados localmente en cada procesador.
Proyeccin: se puede hacer proyeccin sin eliminacin de duplicados a medida que se leen
en paralelo las tuplas del disco.
Agregacin: se puede paralelizar la agregacin dividiendo la relacin de acuerdo con los
atributos de agrupacin y procesando localmente los valores de agregacin en cada
procesador.

IMPORTANCIA DEL DESARROLLO Y DISEO DE BASES DE DATOS


PARALELAS.
Las bases de datos son una coleccin de informacin de cualquier tipo perteneciente
a un mismo contexto y almacenado sistemticamente para su posterior uso. En este sentido
un tarjetero de recetas, un catlogo de fichas bibliogrficas, un archivo de inventario en el
archivero de una oficina, los registros de calificaciones escolares de un estudiante, etc. Casi
toda coleccin de informacin puede convertirse en una base de datos.
Las bases de datos paralelas se ejecutan sobre mltiples procesadores y discos que
han sido diseados para ejecutar operaciones en paralelo, cuando sea posible, con el
propsito de mejorar el rendimiento. Estas son muy importantes ya que mejoran la
velocidad de procesamiento mediante la utilizacin de UCP y discos en paralelo. La fuerza
que ha impulsado a los sistemas paralelos de bases de datos ha sido la demanda de
aplicaciones que han de manejar bases de datos extremadamente grandes (del orden de
terabytes, esto es, 1012 bytes) o que tienen que procesar un nmero enorme de
transacciones por segundo (del orden de miles de transacciones por segundo).

http://gregoryhidalgo.wordpress.com/base-de-datos-paralelas/
https://modelosbd2012t1.wordpress.com/2012/03/24/base-de-datos-paralelas/
https://abd-ucv-computacion.wikispaces.com/Paralelismo+en+Operaciones++Otras+Operaciones+Relacionales
https://abd-ucv-computacion.wikispaces.com/Paralelismo+Entre+Operaciones

Potrebbero piacerti anche