paralelismo (edgar rodriguez)

9
PARALELISMO Es una función que realiza el procesador para ejecutar varias tareas tiempo. Es decir, puede realizar varios cálculos simultáneamente, basado en el pr dividir los problemasgrandespara obtenervarios problemaspequeños, que son posteriormente solucionados en el paralelo. El paralelismo se utiliza para proporcionar aceleración, y las consultas se más rápido debido a que se proporcionan más recursos, como procesadores y discos. paralelismo también se utiliza para proporcionar ampliabilidad, y las c crecientes se tratan sin aumentar el tiempo de respuesta mediante un aumento en e de paralelismo El empleo de la computación paralela se convierte cada día en más grandes y mucos problemas considerados anteriormente muy largos y costosos se an solucionar. El paralelismo se a utilizado para mucas temáticas diferentes, desde bioinformática para acer plegamientos de proteínas, asta economía para acer simulaciones en matemáticas financieras. Tipos de paralelismo Informática 1. Nivel bit !e basa en el tamaño de la palabra que es capaz de manejar el procesador" # bits $% bits &' bits %( bits. )ientras más grande el tamaño de la palabra menos instrucciones ejecuta el proces para realizar una operación determinada. . Nivel instr!cci"n )ecanismos de la arquitectura son utilizados entonces para ejecutar este tipo de paralelismo" * +ipelining * !uperscalar * Ejecución desordenada

Upload: edgarxavier17

Post on 02-Nov-2015

216 views

Category:

Documents


0 download

DESCRIPTION

Paralelismo de Instrucciones

TRANSCRIPT

PARALELISMOEs 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 paralelismoEl 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 Informtica1. Nivel bitSe basa en el tamao de la palabra que es capaz de manejar el procesador:8 bits16 bits32 bits64 bits.Mientras ms grande el tamao de la palabra menos instrucciones ejecuta el procesador para realizar una operacin determinada.2. Nivel instruccinMecanismos 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 DatosEste 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 inversaClasificacin 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 PARALELASEs 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 PARALELISMOSPARALELISMOS 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 CONSULTASEs 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 OPERACIONESHay 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 RELACIONALESTambin 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+Relacionaleshttps://abd-ucv-computacion.wikispaces.com/Paralelismo+Entre+Operaciones