PARALELISMO
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.