Este documento trata sobre el procesamiento paralelo, que consiste en usar múltiples procesadores para procesar datos de forma concurrente y así reducir el tiempo de ejecución. Algunas técnicas de procesamiento paralelo son el multiprocesamiento simétrico, el procesamiento masivamente paralelo y el procesamiento paralelo escalable. La concurrencia y la exclusión mutua son conceptos importantes en la programación concurrente para sincronizar el acceso a recursos compartidos.
1. República Bolivariana de Venezuela
Universidad “Fermín Toro”
Vice-rectorado Académico
Decanato de Ingeniería
PROCESAMIENTO EN
PARALELO
Sistema Operativo
David E. Guerrero S.
C.I.- 17.330.334
2. PROCESAMIENTO
PARALELO
consiste
Se basa
Una gran ventaja en cuanto a
Grupo de técnicas utilizadas costos. Sin embargo, su
para proporcionar tareas principal beneficio, la
simultáneas de procesamiento escalabilidad puede ser difícil
procesamiento de datos concurrente de datos de alcanzar aún
para conseguir un menor
tiempo de ejecución.
finalidad permitiendo
aumentar la velocidad implica ejecutar procesos en donde
computacional de un cada procesador se encarga de
sistema de uno u otro y aceleran de esta
computadoras. forma el cálculo.
Sucesos Paralelos: Sucesos Sucesos
Ocurren en Simultáneos: Pipeline:
múltiples recursos Ocurren en Ocurren en
durante el mismo el mismo lapsos
intervalo de tiempo instante. superpuestos
3. Múltiples CPU
Interconexión a través de hardware
Altas Velocidades de interconexión
PROCESAMIENTO
El sistema operativo administra los
PARALELO recursos (memoria, CPU, discos, etc.)
Entre mas CPU > recursos
Sobrellevar algunas
Cuenta con dificultades, particularmente en lo
los Diseños que respecta a la velocidad de
procesamiento; siempre que la
Multiprocesamiento simétrico / arquitectura del computador sea la
SMP: Diseño simple pero aún así apropiada
efectivo. Es una tecnología no
escalable
Procesamiento masivamente
paralelo / MPP: Para evitar los la velocidad de procesamiento y
cuellos de botella en el bus de de E/S, mediante la utilización
memoria, MPP no utiliza de CPU y discos en paralelos.
memoria compartida. Usa el tiempo de respuesta, así
tecnología altamente escalable como la productividad,
realizando en paralelo las
Procesamiento paralelo escalable distintas subtareas de cada
/ SPP: híbrido de SMP y transacción
MPP, que utiliza una memoria Logrando
jerárquica de dos niveles para así
alcanzar la escalabilidad
Realizar muchas operaciones
simultáneamente.
4. Son varias actividades
ejecutándose
simultáneamente, y se
Concurrencia requieren sincronizar
para actuarse
conjuntamente
Indica
término
paralelismo
potencial Programas concurrentes
aspectos
Exclusión Mutua
– comunicación entre procesos.
– compartición y competencia
por los recursos. Programación
– sincronización de la ejecución Concurrente
de varios procesos.
– asignación del tiempo de deriva
procesador a los procesos. Algoritmo de
Dekker Algoritmo de
Peterson
permite
permite
dos procesos o hilos de
ejecución compartir un a dos o más procesos o hilos de
recurso sin conflictos ejecución compartir un recurso sin
conflictos, utilizando sólo memoria
elaborado
compartida para la comunicación.
Edsger Dijkstra elaborado
Peterson (1981)
5. Tipo Hoare
Exclusión Mutua Tipo Mesa
nivel muy tipos
bajo
sincronización
Se
Semáforos emplea Monitores
la exclusión cuando es usar variables
Una variable especial
mutua entre invocado por un de condición
usada para que dos o Una abstracción de
procesos más procesos se proceso en
ejecución datos estructural
señalicen mutuamente
además de controlar
Permiten la concurrencia
Restringir o
permitir mecanismo de
acceso a
sincronización para
la concurrencia y facilitan
Semáforo suspender un
el diseño y mantenimiento
Recursos binario proceso dentro del
compartidos monitor y reanudar
conocido
puede su ejecución en otro
ser inicializado momento
en 0 ó 1
MUTEX
administran Módulo de software,
sincronización
Tipo Abstracto de Dato
(TAD),
de alto Mecanismo de alto nivel
nivel (impuesto por el
compilador
6. determina
una prueba
específico del
Exclusiones procesador y
Sección critica establezca
mutuas utiliza instrucciones
requisitos
proporcionan
Solo un proceso, de todos los que
poseen secciones criticas por el definida
mismo recurso compartido, debe
tener permiso para entrar en ella en una sincronización que
un momento dado. es muy similar
como a la porción de código
solo de un programa de
Un proceso que se interrumpe en computador el cual accede a
una sección no critica debe hacerlo un recurso compartido
sin interferir con los otros secciones críticas (estructura de datos ó
procesos. se pueden utilizar dispositivo) que no debe de
los subprocesos de ser accedido por más de un
Un proceso no debe poder solicitar un único proceso hilo en ejecución (thread)
acceso a una sección critica para
después ser demorado resolver el
indefinidamente, no puede problema
permitirse el interbloqueo o la
inanición Exclusión mutua: Si un proceso está ejecutando
código de la sección crítica, ningún otro proceso
lo podrá hacer.
No se debe suponer sobre la
Progreso: Si ningún proceso está ejecutando
velocidad relativa de los procesos o
dentro de la sección crítica, la decisión de qué
el numero de procesadores.
proceso entra en la sección se hará sobre los
procesos que desean entrar.
Un proceso permanece en su
Espera acotada: Debe haber un límite en el
sección critica por un tiempo
número de veces que se permite que los demás
finito.
procesos entren a ejecutar código de la Sección
crítica después de que un proceso haya efectuado
una solicitud de entrada y antes de que se conceda
la suya.