Sie sind auf Seite 1von 11

Universidad Nacional Micaela Bastidas de Apurmac

Escuela Acadmico Profesional de


Ingeniera Informtica y Sistemas

Programacin Concurrente y
Distribuida

Presentado por: Manuel Ibarra

manuelibarra@gmail.com

http://www.dcc.uchile.cl/~mibarra/

Abancay, noviembre 2015


1/33
Agenda

1. Conceptos bsicos concurrencia


2. Diferencias entre programa secuencial y
programa paralelo.
3. Procesos e Hilos
4. Caractersticas de la programacin
concurrente.

2/33
Programacin

3/33
Definiciones

Concurrencia y Paralelismo se asocian a la


ejecucin simultnea de varias tareas.
Pueden ser un conjunto de procesos
Pueden ser un conjunto de hebras creadas por un
nico programa
Se da nfasis a la interaccin (interdependencia)
entre tareas
Las tareas se pueden ejecutar en:
Un nico procesador (multiprogramacin)
Un procesador multi-ncleo sncrono (paralelismo)
Varios procesadores (paralelismo)
Varias Computadoras (Computacin distribuida)
Definiciones

Multi-programacin
Dos o ms procesos compartiendo la memoria principal y ejecutados al
mismo tiempo
Si tenemos un nico procesador tenemos Pseudo-Paralelismo
Cambiar rapidamente de proceso a proceso
Computacin Paralela
Varias Instrucciones ejecutandose simultaneamente
Tipos:
Paralelismo a nivel de bit
Incrementar el tamao de la palabra
Imagine un procesador de 8 bits sumar dos enteros de 16 bits
Paralelismo a nivel de instruccin
Varias instrucciones por ciclo de reloj
Paralelismo de Datos
Se distribuyen los datos y se replican las tareas
Paralelismo de Tareas
Asignar distintas tareas a cada uno de los procesadores
Definiciones
Tipos de Paralelismo
Definiciones

Condiciones de Bernstein
Para que dos programas se puedan ejecutar
de forma paralela
Para dos procesos P1 y P2
I1 O2 =
I2 O1 =
O1 O2 =
Donde Ii es la entrada el proceso i, Oi es la
salida del proceso i
Es conmutativa pero no transitiva
Definiciones

Visiones del paralelismo


De hardware: Definido por la arquitectura de l a
mquina
De software: Definido por la estructura del
programa. Se manifiesta en las instrucciones que no
tienen interdependencia.
Formas de paralelismo
Paralelismo de control: Se pueden realizar dos o mas
operacions simultaneamente
Paralelismo de datos: una misma operacin de
puede ejecutar sobre varios elementos
simultaneamente
Definiciones

Concurrencia
Paralelismo potencial, que puede o no darse
Formas de concurrencia
Concurrencia implcita: concurrencia interna
del programa
Ejemplo: un programa contiene instrucciones independientes que
se pueden ejecutar en paralelo
Concurrencia explcita: concurrencia que
existe cuando el comportamiento
concurrente es especificado por el diseador
del programa
Definiciones

Programa concurrente
Es aquel que define acciones que pueden realizarse
simultaneamente
Programa paralelo
Es un programa concurrente diseado para su
ejecucin en un ambiente paralelo
Programa distribuido
Es un programa paralelo diseado para su ejecucin
en una red de procesadores autnomos que no
comparten memria
Definiciones

Caractersticas de la concurrencia
Indeterminismo
No existe un orden total, sin un orden parcial, no se puede
determinar como ser la ejecucin

Interaccin entre procesos


Los programas concurrentes implican interaccin entre los
distintos procesos que lo componen
Los procesos que comparten recursos
Los procesos que intercambian datos

Das könnte Ihnen auch gefallen