Está en la página 1de 23

3 SISTEMAS DE

MULTIPROCESAMIENTO
I N G . A L DO MÉ N DEZ BU RG OA

I I - 2 019

1
Competencia
Utilizar conceptos de sistemas operativos distribuidos;
Diferenciar proceso paralelo de proceso distribuido;
Identificar el uso de recursos compartidos y
Diseñar tareas de multiproceso.

2
3
Algoritmo
Conjunto ordenado de operaciones sistemáticas que permite
hacer un cálculo y hallar la solución de un tipo de problemas.

Secuencia ordenada de pasos, sin ambigüedades, que permite Abu Abdallah


la resolución de un problema dado. Muḥammad ibn Mūsā al-
Jwārizmī, conocido
generalmente como al-
Juarismi, fue un
Grupo finito de operaciones organizadas de manera lógica y matemático, astrónomo
ordenada que permite solucionar un determinado problema. y geógrafo; persa
musulmán, que vivió
aproximadamente entre
780 y 850.
Se trata de una serie de instrucciones o reglas establecidas que,
por medio de una sucesión de pasos, permiten arribar a un resultado
o solución.
4
Algoritmos
Diagrama de flujo (esquema para representar gráficamente un algoritmo)

Notación y Símbolos

Pseudocódigo (o falso lenguaje) es una descripción de alto nivel compacta e


informal del principio operativo de un programa informático u otro algoritmo.
Elaborar un algoritmo utilizando palabras y frases que se entienda
fácilmente.

Código o Lenguaje orientado a un tipo de compilador específico.

Ejercicio Algoritmos: V o F, Selección, Emparejar.


5
Aplicación Serie y Paralela
Tradicionalmente, los programas informáticos se han escrito para cómputo en serie o
secuencial.
◦ Resolver un problema, significa construir un algoritmo y se implementa como un flujo en serie de
instrucciones.
◦ Instrucciones se ejecutan en una CPU en un ordenador, una instrucción a la vez.

La computación en paralelo, utiliza simultáneamente múltiples elementos de


procesamiento para resolver un problema.
◦ Dividiendo el problema en partes independientes de modo que cada elemento de procesamiento
pueda ejecutar su parte del algoritmo de manera simultánea con los otros.
◦ Los elementos de procesamiento son diversos e incluyen recursos tales como una computadora
con múltiples procesadores, varios ordenadores en red, hardware especializado, o cualquier
combinación de los anteriores.

6
Multiprocesamiento
Multiprocesamiento o multiproceso es el uso de dos o más procesadores (CPU)
en una computadora para la ejecución de uno o varios procesos (programas
corriendo).
1:1, n:1, 1:n, n:n,
Los algoritmos que utilizan los sistemas operativos para aprovechar los
procesadores son estudiados en libros de Madnick y Donovan, de Andrew S.
Tanenbaum y de Abraham Silberschatz.

7
Consumo de energía de chip
P = C × V2 × F
Donde,
P = potencia
C = capacitancia por ciclo de reloj, C(Nro. de transistores)
V = tensión
F = frecuencia del procesador (ciclos por segundo [Hz])

8
“La densidad de transistores en un microprocesador se duplica cada 18 a 24 meses.”

Ley de Moore
https://www.youtube.com/watch?time_continue=17&v=ylgk3HEyZ_g

9
3.1. Arquitecturas de procesamiento en
paralelo.
Idealmente, la aceleración a partir de la paralelización es lineal.

LEY DE AMDAHL (1960)

Donde,
S = velocidad
α = t que un programa gasta en partes no paralelizables
P = número de Procesadores

Si la parte secuencial del programa abarca el 10% del tiempo de ejecución, se puede obtener no más de 10× de aceleración,
independientemente de cuántos procesadores se añadan. 10
3.1. Arquitecturas de procesamiento en
paralelo.
LEY DE GUSTAFSON

11
3.1. Arquitecturas de procesamiento en
paralelo.
Tipos de paralelismo
◦ Paralelismo a nivel de bit
◦ Paralelismo a nivel de instrucción
◦ Paralelismo de datos
◦ Paralelismo de tareas

Exposición de Investigación: Definición y Ejemplo.

12
3.2. Memoria compartida.
La memoria principal en un ordenador en paralelo
puede ser compartida o distribuida.

◦compartida entre todos los elementos de procesamiento en


un único espacio de direcciones,

◦o distribuida, cada elemento de procesamiento tiene su


propio espacio local de direcciones.

13
3.2. Memoria compartida.
Característica, cada elemento de la memoria principal se
puede acceder con igual latencia y ancho de banda.
Latencia:
- Tasa de Transferencia = Tamaño de Datos / Tiempo de Transferencia
- Tiempo de Transferencia = RTT + (1/a.b.) x tamaño de datos por transferir
Es relativo:
- 1MB sobre 1 Gbps = 1KB sobre 1 Mbps

14
3.2. Memoria compartida.
Arquitecturas de Acceso Uniforme a memoria (UMA,
Uniform Memory Access), memoria no distribuida
físicamente.
Los sistemas de memoria distribuidos tienen acceso no
uniforme a la memoria. (NUMA).

15
3.3. Accesos a memoria.
Registros
de CPU

Caché
Nivel 1
Nivel 1
RAM
Memoria Física Memoria Virtual

Tipos de Dispositivos de Almacenamiento


ROM Discos Almacenamiento Disco
BIOS Removib les de Red/Internet Rígido

Dispositivos de Entrada
Mouse Medios Escaner
Teclado
Removib les Cámara Fuentes Otras
Micrófono Remotas Fuentes
Video

16
3.3. Accesos a memoria.
Los sistemas informáticos usan cachés, pequeños recuerdos
rápidos ubicados cerca, física y lógicamente, del procesador
que almacenan las copias temporales de los valores de la
memoria.
Los sistemas computacionales paralelos tienen dificultades
con las cachés y la posibilidad de una ejecución incorrecta del
programa debido a que se puede almacenar el mismo valor en
más de un lugar.

17
3.3. Accesos a memoria.
Requiere coherencia en la caché del sistema:
- seguimiento de valores en caché y
- eliminación estratégica.
Bus sniffing, método más común.

18
3.3. Accesos a memoria.
El diseño de grandes sistemas de coherencia caché y de alto
rendimiento es un problema muy difícil en arquitectura de
computadores.
Las arquitecturas de memoria compartida no son tan escalables
como los sistemas de memoria distribuida.

19
3.4. Estructuras percúbicas.
La comunicación procesador-procesador y procesador-
memoria se puede implementar en hardware de varias
maneras:
1. Memoria compartida (multipuerto o multiplexado),
2. Conmutador de barras cruzadas (crossbar switch),
3. Bus compartido o una red interconectada, en topologías
como: estrella, anillo, árbol, hipercubo, hipercubo grueso
(hipercubo con más de un procesador en un nodo), o de
malla n-dimensional.
20
3.4. Estructuras percúbicas.
Las computadoras paralelas basadas ​en redes
interconectadas deben tener algún tipo de enrutamiento
para permitir el paso de mensajes entre nodos que no están
conectados directamente.
El medio para la comunicación entre los procesadores de
grandes máquinas multiprocesador es jerárquico.

21
3.5. Transputers.
Transistor Computers
CPU, memoria y comunicaciones en un solo chip;
Utilizado en redes para formar computadoras de
procesamiento paralelo.
Investigación: Transputers comerciales, especificaciones.

22
23

También podría gustarte