PARALELISMO

11.10.2012 17:17

 

Paralelismo

El paralelismo en la informática es una función que realiza el procesador para ejecutar varias tareas al mismo tiempo, es decir puede realizar varios cálculos simultáneamente, basado en el principio de dividir los problemas grandes para obtener varios problemas pequeños que son posteriormente solucionados en paralelo

 

Aplicaciones

El empleo de la computación paralela se convierte cada da en mas grande y rápida muchos problemas considerados anteriormente muy largos y costosos se han podido solucionar. El paralelismo se ha utilizado para muchas tematicas diferentes, desde bioinformatica para hacer plegamiento de proteínas hasta economía para hacer simulaciones en matematica financiera

 

Tipos de paralelismo informática

Ø  Nivel de bit

Ø  Nivel de instrucción

Ø  Nivel de datos

Ø  Nivel de tarea

Nivel de bit

Una operación bit a opera sobre números binarios a nivel de sus bits individuales. Es una acción primitiva rápida, soportada directamente por los procesadores. En procesadores simples de bajo costo, las operaciones de bit a bit, junto con los de adición y sustracción, son típicamente sustancialmente más rápidas que la multiplicación y la división, mientras que en los modernos procesadores de alto rendimiento usualmente las operaciones se realizan a la misma velocidad

Nivel de instrucción

Este mecanismo consiste en romper el flujo secuencial de instrucciones para simultanear la ejecución de varias en el mismo procesador. Existen diferentes estrategias para lograrlo.

Segmentación

Las instrucciones se dividen en etapas de igual duración y que utilizan una unidad funcional diferente cada una.

 

Superescalaridad

Consiste en la replicación de unidades funcionales de manera que se puedan ejecutar varias instrucciones a la vez en el mismo chip. Es compatible con la segmentación.

Supersegmentación

Es aquél que presenta varios niveles de segmentación. Así algunas de las etapas que mencionamos para los procesadores segmentados, es dividida a su vez en dos o más etapas de manera que se permite que haya dos instrucciones a la vez dentro de la misma etapa y unidad funcional sin tener que replicar esta.

Nivel de datos

es un paradigma de la programación concurrente que consiste en subdividir el conjunto de datos de entrada a un programa, de manera que a cada procesador le corresponda un subconjunto de esos datos. Cada procesador efectuará la misma secuencia de operaciones que los otros procesadores sobre su subconjunto de datos asignado

Nivel de tarea

es un paradigma de la programación concurrente que consiste en asignar distintas tareas a cada uno de los procesadores de un sistema de cómputo. En consecuencia, cada procesador efectuará su propia secuencia de operaciones.

En su modo más general, el paralelismo de tareas se representa mediante un grafo de tareas, el cual es subdividido en subgrafos que son luego asignados a diferentes procesadores

El paralelismo también se utiliza en los simuladores aéreos que utilizan en las escuelas de aviación.

 

Desventajas

Ø  Requieren de una gran numero de ciclos de Procesamiento o acceso a una gran cantidad de datos

Ø  Encontrar un hardware y un software que permitan brindar estas utilidades comúnmente proporciona inconvenientes de costos seguridad y disponibilidad

Ventajas

Ø  Brinda a las empresas, instituciones y usuarios en general en beneficios de la velocidad

Ø  Ventaja competitiva, provee una mejora de los tiempo para lo producción de nuevos productos y servicios

Ø  Colaboración y flexibilidad operacional

Clasificación de los sistemas paralelos en los sistemas informáticos

Ø  SISD

Ø  SIMD

Ø  MISD

Ø  MIMD

Ø  FLUJO DE CONTROL

Ø  FLUJO DE DATOS

SISD

SISD (siglas en inglés de Single Instruction, Single Data, en español: "una instrucción, un dato") es un término que se refiere a una arquitectura en la que un sólo procesador, un uniprocesador, ejecuta un sólo flujo de instrucciones, para operar sobre datos almacenados en una única memoria.

SIMD

SIMD (siglas en inglés de Single Instruction, MultipleData, en español: Una Instrucción, Múltiples Datos) es una técnica empleada para conseguir paralelismo a nivel de datos.

Los repertorios SIMD consisten en instrucciones que aplican una misma operación sobre un conjunto más o menos grande de datos. Es una organización que influye muchas unidades de procesamiento bajo la supervisión de una unidad de control común.

MISD

MISD (siglas en inglés de MultipleInstruction, Single Data, en español: Múltiples Instrucciones, Un Dato) es un tipo de arquitectura de computación paralela donde muchas unidades funcionales realizan diferentes operaciones en los mismos datos

MIMD

MIMD (del inglés MultipleInstruction, Múltiple Data o Múltiples instrucciones, Múltiples datos) es una técnica empleada para lograr paralelismo. Las máquinas que usan MIMD tienen un número de procesadores que funcionan asíncronos e independientemente. En cualquier momento, cualquier procesador puede ejecutar diferentes instrucciones sobre distintos datos.