PDF de programación - Unidad de control segmentada / Procesamiento paralelo

Imágen de pdf Unidad de control segmentada / Procesamiento paralelo

Unidad de control segmentada / Procesamiento paralelográfica de visualizaciones

Publicado el 1 de Enero del 2020
355 visualizaciones desde el 1 de Enero del 2020
211,5 KB
18 paginas
Creado hace 12a (14/03/2012)
UNIDAD DE CONTROL SEGMENTADA

PROCESAMIENTO PARALELO





UNIDAD DE CONTROL SEGMENTADA

PROCESAMIENTO PARALELO

© Todos los derechos de propiedad intelectual de esta obra pertenecen en exclusiva a la Universidad
Europea de Madrid, S.L.U. Queda terminantemente prohibida la reproducción, puesta a disposición del
público y en general cualquier otra forma de explotación de toda o parte de la misma.

La utilización no autorizada de esta obra, así como los perjuicios ocasionados en los derechos de
propiedad intelectual e industrial de la Universidad Europea de Madrid, S.L.U., darán lugar al ejercicio
de las acciones que legalmente le correspondan y, en su caso, a las responsabilidades que de dicho
ejercicio se deriven.

2





Índice

Presentación

Introducción

Conceptos básicos

Clasifación de paralelismos

Niveles de paralelismo

Paralelismo funcional y de datos

Paralelismo funcional

Paralelismo de datos

Criterios de clasificación

Ejecución multihilo en hardware

Ejecución multihilo simultánea

Resumen

UNIDAD DE CONTROL SEGMENTADA

PROCESAMIENTO PARALELO

4

5

7

9

10

12

12

12

14

15

17

18

3





Presentación

UNIDAD DE CONTROL SEGMENTADA

PROCESAMIENTO PARALELO

Hasta ahora, hemos estudiado algunos conceptos sobre multiprocesamiento, incluso hemos visto

el caso concreto de Intel, en el que podíamos comprobar cómo conseguir multiprocesamiento a

nivel de chip.

En este tema, daremos un salto más amplio hacia las máquinas multiprocesadores, dando un

formato más consecuente.

Para empezar, conoceremos los puntos clave para entender el porqué de la necesidad de

máquinas supercomputadores, y los puntos clave en los que se basan para conseguir un alto

rendimiento.

Posteriormente, daremos paso a cómo clasificar los ejemplares de máquinas según el tipo de

paralelización que implementen.

Por tanto, los puntos en los que nos centraremos en este tema son:

Introducción: proceso, hilo, cambio de contexto.

Clasificación y niveles de paralelismo implementados en las máquinas supercomputadores.

Diferentes tipos de ejecución multihilo a nivel hardware.

4





Introducción

UNIDAD DE CONTROL SEGMENTADA

PROCESAMIENTO PARALELO

Para empezar a hablar del paralelismo, antes necesitamos comprender cuáles son los niveles de

paralelismo y dónde podemos hacer paralelismo.

Primero, preguntémonos por la necesidad. Los computadores masivamente paralelos (MPP)

están en pleno desarrollo. Cada año se instalan más de 10 de estos supercomputadores en todo

el mundo. Tal vez parezcan pocos, pero es que su coste supera los 1,25 mil millones de euros y

unos 10 millones de coste al año de funcionamiento (consume 10MW de electricidad).

Pero su fabricación está justificada por las aplicaciones sobre las áreas en las que actualmente

están trabajando, que según el HPCC son:

Diseños de medicamentos principalmente orientados a lucha contra el cáncer y el SIDA.

El origen de la materia y el universo.

Avances en biomedicina, como el estudio del cerebro humano.

Modelado de comportamiento oceánico, la dinámica de la capa de ozono, cambio climático,

etc.

Nuevos materiales y la creación de la energía

Próxima generación de tecnología de fabricación

Para defensa, que siempre está presente, aunque no sea de las más populares.

Pero para definir bien el alcance de esta asignatura, aclaremos que paralelismo es un término

muy amplio, pero podemos definirlo como la capacidad de realizar operaciones al mismo tiempo.

Destacamos dos niveles fundamentales:

Paralelismo interno

Multiplicidad de unidades funcionales, segmentación (de
instrucciones, operaciones aritméticas, accesos a
memoria).

Paralelismo externo

Fuera del procesador. Sistemas
procesadores (computadores paralelos).

con muchos

5





UNIDAD DE CONTROL SEGMENTADA

PROCESAMIENTO PARALELO

En esta unidad nos centraremos únicamente en el paralelismo interno, no sin antes repasar con

más detalle, la necesidad del multiprocesamiento.

HPCC

HPCC son las siglas de High-Performance Computing and Communication program.

Rendimiento de un supercomputador

Como curiosidad, decir que un supercomputador de última generación resuelve en un día
lo que a nuestro ordenador de sobremesa le llevaría del orden de 200 años. Extrapolar este
calculo, y pensar en lo que podría resolver en un año de funcionamiento y ¿todo esto por
solo 10 millones de dólares?

6





Conceptos básicos

UNIDAD DE CONTROL SEGMENTADA

PROCESAMIENTO PARALELO

Antes de comenzar, vamos a recordar ciertos aspectos sobre materias estudiadas con

anterioridad. Repasemos las siguientes definiciones.

Programa

Para el programador, es un conjunto ordenado de
instrucciones. Pare el sistema operativo, es un archivo
ejecutable almacenado en memoria secundaria.

Proceso

También llamado tarea. Programa en ejecución, con su
contexto asociado que especifica
(espacio de
direcciones que ocupa, recursos del compilador que
utiliza, estatus, etc.).

Ciclo de vida de un proceso

ejecución

y

terminación. Con

Creación,
sus
subfunciones de establecimiento de la descripción del
proceso, asignación del espacio de memoria, carga del
programa en el espacio de memoria, paso de la
descripción del proceso al planificador, etc.

El proceso es una entidad pesada, es decir, tiene muchos recursos asociados. Además, hoy en

día, un proceso no solo realiza una operación a la vez, sino que realiza multitud de acciones

simultáneamente. Es decir, tiene varios flujos de ejecución simultánea.

Ejemplo: pensar en Word; al mismo tiempo que atiende el teclado para interpretar la teclas que el
usuario escribe, por debajo, está formateando la página para mostrar cómo está quedando el

documento, haciendo una corrección ortográfica instantánea, etc. No hace mucho, esto solo se

podría logar teniendo un proceso para cada una de estas actividades simultáneas, trabajando

sobre los mismos datos de entrada (lo que el usuario tecleaba).

En la actualidad, se ha creado un nuevo concepto: la idea de thread. El thread es la parte
ejecutiva de un proceso. Por tanto, el proceso sigue siendo igual de complejo que antes, pero

dentro de un mismo proceso, podemos tener más de un flujo (hilo) de ejecución, y todos estos

hilos comparten los recursos del proceso.

Si deseas ver las formas básicas de crear y terminar threads en los lenguajes de programación,

puedes consultar el siguiente enlace:

7





Crear y terminar threads

UNIDAD DE CONTROL SEGMENTADA

PROCESAMIENTO PARALELO

El proceso y su parte ejecutiva thread en la aplicación Word

Con thread, nuestro Word ya no necesita lanzar un gran número de procesos hijos para
realizar estas tareas, sino que puede lanzar threads hijos dentro de un único contexto. Esto
hace que la multitarea a nivel de proceso sea mucho más simple y liviana, pero su gestión
es similar a la de los procesos, con la salvedad de que el cambio de contexto entre
procesos es cara en tiempo, mientras que entre hilos es más fácil y rápida.

8





UNIDAD DE CONTROL SEGMENTADA

PROCESAMIENTO PARALELO

Clasifación de paralelismos

A continuación, vamos a hablar del paralelismo aplicado a modelos computacionales. Para

empezar, un modelo computacional es un sistema que maneja datos para obtener resultados

mediante la realización de unas determinadas operaciones en base a esos datos.

En relación con esta idea, podemos definir cuatro modelos de paralelismo.

SSID (Single Instruction
Single Data)

Es la máquina no paralela. En cada paso se emite una
instrucción, que opera sobre un único dato. Es típica de
las máquinas con una sola unidad funcional, y es óptima
para algoritmos secuenciales.

MISD (Multiple Instruction
Single Data)

SIMD (Single Instruction
Single Data)

Un solo dato, al que se le dedican simultáneamente
múltiples operaciones. Es un tipo de paralelismo que no
se implementa, ya que sus usos y aplicaciones son muy
pocas. Además, convertir esta máquina a una MIMD es
fácil y no resulta muy caro.

Una sola instrucción sobre una colección de datos. Es
típica de máquina con la unidad de procesamiento de
datos replicada (ALU). Todas estas unidades funcionales
están coordinadas por una única unidad de control y de
manera síncrona (todas a la vez). Estas máquinas son
conocidas como matriciales, y son óptimas para
operaciones vectoriales.

MIMD (Multiple Instruction
Multiple Data)

Tienen los procesadores y las unidades operativas
replicadas, pudiendo ejecutar múltiples
instituciones
sobre múltiples datos de manera simultánea, y la
ejecución de instrucciones puede ser asíncrona.

Por tanto, podemos resumir:

Máquinas convencionales: SISD.

Máquinas Vectoriales/Matriciales: SIMD.

Máquinas MIMD: Multiprocesadores/Multicomputadores.

Supercomputador: máquinas más potentes en cada momento. Hoy MIMD.

9





Niveles de paralelismo

UNIDAD DE CONTROL SEGMENTADA

PROCESAMIENTO PARALELO

Para conseguir eficiencia en el paralelismo se han asignado multitud de recursos, tanto desde el

punto de vista software como en el diseño de compiladores y sistemas operativos y hardware en

el desarrollo de nuevas arquitecturas. Estos estudios dan un contexto de paralelismo dividido en

dos grupos diferentes pero solapados.

Por un lado, encontramos el siguiente grupo.

Paralelismo en tiempo de
diseño de programa
(available parallelism)

Este paralelismo se centra en el momento de hacer el
programa, por lo que los sistemas operactivos y el
compilador
importancia. Este
paralelismo, se estudia conjuntamente con otras
asignaturas como las relacionas con la concurrencia y
los sistemas operativos.

tienen su

también

Paralelismo en tiempo de
ejecución (utilized
parallelism)

Es un paralelismo que se realiz
  • Links de descarga
http://lwp-l.com/pdf17107

Comentarios de: Unidad de control segmentada / Procesamiento paralelo (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad