Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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.
Notación y Símbolos
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.
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
12
3.2. Memoria compartida.
La memoria principal en un ordenador en paralelo
puede ser compartida o distribuida.
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
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