Practica 1 Sistemas Distribuidos y Paralelos

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 3

Practica 1: Resumen

Sistema Paralelo
Dicho de forma sencilla, una computadora paralela es aquel sistema donde
múltiples procesadores trabajan en conjunto para realizar las tareas asignadas al
sistema, capaz de ejecutar varias instrucciones simultáneamente, esto mediante el
uso de varios procesadores trabajando juntos para resolver una tarea común. Cada
procesador trabaja en una porción del problema. Los procesos/hebras pueden
intercambiar datos, a través de las direcciones de memoria compartidas o mediante
una red de interconexión. Existen distintas arquitecturas para un sistema paralelo
que son más o menos útiles, dependiendo el contexto en el que el sistema deba
desempeñarse.

Algunas de sus aplicaciones son en problemas de gran dimensión que requieren de


múltiples intentos para encontrar una solución óptima o coste polinomial de grado
alto o aplicabilidad a grandes problemas del mundo real, estudio del genoma
humano, predicción meteorológica mundial, modelado fenómenos sísmicos, etc.
Taxonomía de Flynn
El método de Flynn se basa en el número de instrucciones y de la secuencia de
datos que la computadora utiliza para procesar información. Puede haber
secuencias de instrucciones sencillas o múltiples y secuencias de datos sencillas o
múltiples. Esto da lugar a 4 tipos de computadoras, de las cuales solamente dos
son aplicables a las computadoras paralelas.
Tipos de Arquitecturas para un sistema en paralelo
SISD: En computación, SISD (del inglés Single Instruction, Single Data, en español:
"una instrucción, un dato") es una arquitectura computacional en la que el único
procesador ejecuta un sólo flujo de instrucciones, para operar sobre datos
almacenados en una única memoria. Sus características son:
 La CPU procesa únicamente una instrucción por cada ciclo de reloj
 Únicamente un dato es procesado en cada ciclo de reloj
 Es el modelo más antiguo de computadora y el más extendido
MISD: Multiple Instruction, Single Data (múltiples instrucciones, un dato) tipo de
arquitectura computacional donde muchas unidades funcionales realizan diferentes
operaciones en los mismos datos. Las máquinas tolerantes a fallos ejecutan la
misma instrucción redundantemente para detectar y corregir errores, utilizando task
replication, son consideradas de este tipo. Sus características son:
 Cada unidad ejecuta una instrucción distinta
 Cada unidad procesa el mismo dato
 Aplicación muy limitada en la vida real
SIMD: Single Instruction, Multiple Data (una instrucción, múltiples datos) es una
técnica empleada para conseguir paralelismo a nivel de datos. Es una organización
en donde una única unidad de control común atiende las instrucciones a diferentes
unidades de procesamiento. Todas éstas reciben la misma instrucción, pero operan
sobre diferentes conjuntos de datos. Es decir, la misma instrucción es ejecutada de
manera sincronizada por todas las unidades de procesamiento. Sus características
son:
 Todas las unidades ejecutan la misma instrucción
 Cada unidad procesa un dato distinto
 Todas las unidades operan simultáneamente
MIMD: Multiple Instruction, Multiple Data (múltiples instrucciones, múltiples datos)
es una técnica empleada para lograr paralelismo. En esta organización el número
de procesadores funciona de manera asíncrona e independiente. En cualquier
momento, cualquier procesador puede ejecutar diferentes instrucciones sobre
distintos datos. Esta arquitectura puede utilizarse en una amplia gama de
aplicaciones como el diseño asistido, simulación, modelado y en interruptores. La
memoria compartida de las máquinas puede estar basada en buses, extensiones,
o de tipo jerárquico. Sus características son:
 Cada unidad ejecuta una instrucción distinta
 Cada unidad procesa un dato distinto
 Todas las unidades operan simultáneamente
Concurrencia y Granularidad
Concurrencia: Realización simultanea de procesos dentro de un sistema; estos
procesos pueden ser ejecutados por uno o más programas según hayan sido
planificado inicialmente. Algunas características son la interrupción de procesos y
ocurrencia de bloqueos, que dos o más procesos requieran el mismo recurso.
Mecanismos de protección. Los tipos de procesos concurrentes Independientes: No
requieren utilizar otro proceso para poder ser ejecutado. Cooperantes: Son aquellos
que dependen de otros y requieren un proceso de interacción eficiente; esto permite
la sincronización de procesos.
Granularidad, cuando se dice que un programa es de grano grueso, las subtareas,
son grandes teniendo en cuenta el tamaño de todo el programa Por lo general, la
granularidad de un programa se diferencia informalmente entre pequeño / fino,
mediano y de grano grueso. La granularidad también se puede entender como la
relación de la transferencia de datos al trabajo computacional de un objeto de
programa. Por ejemplo, una pequeña cantidad de trabajo computacional en
comparación con los datos transferidos se considera de grano pequeño, su
utilización en la literatura es bastante habitual.
Conclusiones personales
Los sistemas paralelos son ampliamente usados en la computación actual ya que
permiten que procesos que, de ser resueltos linealmente supondrían mucho tiempo
de ejecución y por lo tanto no serían óptimos, dentro de la elaboración de ciertos
programas, rápidamente podemos darnos cuenta de que hay tareas que no están
necesariamente enlazadas con las anteriores con lo que pueden comenzar a
realizarse desde que el programa inicia y con ello que el tiempo total de ejecución
de la tarea sea menor.
La taxonomía de Flynn es una forma de clasificar el diseño de las computadoras
según su flujo de instrucciones y/o datos resultando en 4 categorías principales:
SISD, MISD, SIMD y MIMD siendo únicamente las ultimas 2 las que son aplicables
a los sistemas paralelos.
La concurrencia hace referencia a la cantidad de tareas simultaneas que el sistema
está realizando y la granularidad describe el que tan grande o pequeña puede ser
una tarea

También podría gustarte