Upload
javier-vivanco
View
218
Download
0
Embed Size (px)
Citation preview
7/25/2019 Conceptos y recursos para la programación concurrente
http://slidepdf.com/reader/full/conceptos-y-recursos-para-la-programacion-concurrente 1/18
J.M. Drake
M. Aldea
Programación concurrenteMaster de Computación
I Conceptos y recursos para la programación concurrente:
I.1 Motivación de la programación concurrente.
7/25/2019 Conceptos y recursos para la programación concurrente
http://slidepdf.com/reader/full/conceptos-y-recursos-para-la-programacion-concurrente 2/18
2ProCon’12: I.1- Motivación de la programación concurrente J. M.Drake M. !ldea
Motivación de la programación concurrente
" #a crisis del so$t%are.
" Programas secuenciales concurrentes & de tiempo real.
" Programación concurrente.
" Programación de tiempo real.
" 'ntornos (ard%are para programación concurrente." ')emplo de un pro*lema concurrente.
7/25/2019 Conceptos y recursos para la programación concurrente
http://slidepdf.com/reader/full/conceptos-y-recursos-para-la-programacion-concurrente 3/18
+ProCon’12: I.1- Motivación de la programación concurrente J. M.Drake M. !ldea
LA CRISIS DEL SO!"ARE.
" Con)unto de tópicos relacionados con la pro*lem,tica
asociada al desarrollo de so$t%are:"Construir una aplicación software es una tarea mucho más
compleja de lo que parece al iniciarla"
" !spectos de esta pro*lem,tica son: Re#po#ivene##$ o satis$acen las espectativas del usuario.
Relia%ilit&$ Presentan $allos & su depuración es mu& di$cil.
Co#t$ 'l costo es di$cil de evaluar & mas alto de lo esperado.
Modi'ica%ilit&$ /on productos mu& rgidos & di$ciles de mantener.
!imele##$ 0euieren para su e)ecución mas tiempo del previsto.
!ran#porta%ilit&$ a& pro*lemas para migrar entre plata$orma.
E''icienc&$ /ólo utili3an una parte de la capacidad de (ard%are.
7/25/2019 Conceptos y recursos para la programación concurrente
http://slidepdf.com/reader/full/conceptos-y-recursos-para-la-programacion-concurrente 4/18
4ProCon’12: I.1- Motivación de la programación concurrente J. M.Drake M. !ldea
CA(SAS DE LA CRISIS DELSO!"ARE.
" Causas pro$undas de la crisis del so$t%are son:
#a metodologa en cascada ue lineali3a el proceso de desarrollo.
#a metodologa de modulari3ación estructurada (ace ue el so$t%are
sea in$le5i*le & di$cil de mantener.
#os programadores no tienen $ormación en ingeniera so$t%are.
#a 6inercia7 de las empresas e instituciones di$iculta la introducción
de innovaciones.
#a estructura secuencial de 8on e%man no se adapta a los
pro*lemas ue se a*ordan.
7/25/2019 Conceptos y recursos para la programación concurrente
http://slidepdf.com/reader/full/conceptos-y-recursos-para-la-programacion-concurrente 5/18
9ProCon’12: I.1- Motivación de la programación concurrente J. M.Drake M. !ldea
)RO*RAMAS + L,-EAS DE L(JO DE CO-!ROL.
" n programa se compone de:
/entencias: 'sta*lecen las actividades ;operaciones & veri$icaciones<
ue e)ecuta el sistema.
#nea de $lu)o de control ;=(read<: 'sta*lece el orden en ue se
e)ecutan las sentencias.
" /eg>n las caractersticas de la lnea de $lu)o de control los
programas se clasi$ican en:
/ecuenciales.
Concurrentes ;tipo especial de sistemas concurrentes: =iempo real<.
7/25/2019 Conceptos y recursos para la programación concurrente
http://slidepdf.com/reader/full/conceptos-y-recursos-para-la-programacion-concurrente 6/18
?ProCon’12: I.1- Motivación de la programación concurrente J. M.Drake M. !ldea
)RO*RAMAS SEC(E-CIALES.
" 's el estilo de programación ue corresponde al modelo
conceptual de on -e/mann." n programa secuencial tiene una l0nea #imple de control de
$lu)o.
" #as operaciones de un programa secuencial est,n ordenadas
de acuerdo con un orden e#tricto." 'l comportamiento de un programa es solo $unción de las
sentencias ue lo componen & del orden en ue se e)ecutan.
" El tiempo ue tarda en e)ecutarse cada operación no in'lu&e
en el resultado de un programa secuencial." #a veri'icación de un programa secuencial e# #encilla:
Cada sentencia da la respuesta correcta.
#as sentencias se e)ecutan en el orden adecuado.
7/25/2019 Conceptos y recursos para la programación concurrente
http://slidepdf.com/reader/full/conceptos-y-recursos-para-la-programacion-concurrente 7/18@ProCon’12: I.1- Motivación de la programación concurrente J. M.Drake M. !ldea
)RO*RAMAS CO-C(RRE-!ES.
" /on programas ue tienen m>ltiples lneas de $lu)o de control.
" #as sentencias de un programa concurrente se e)ecutan deacuerdo con un orden no estricto.
" #a secuenciali3ación de un programa concurrente es entre
(itos o puntos de sincroni3ación." n programa concurrente se suele conce*ir como un con)unto
de procesos ue cola*oran & compiten entre s.
" Para validar un programa concurrente: #as operaciones se pueden validar individualmente si las varia*les no
son actuali3adas concurrentemente. 'l resultado de*e ser independiente de los tiempos de e)ecución de las
sentencias. 'l resultado de*e ser independiente de la plata$orma en ue se e)ecuta.
7/25/2019 Conceptos y recursos para la programación concurrente
http://slidepdf.com/reader/full/conceptos-y-recursos-para-la-programacion-concurrente 8/18AProCon’12: I.1- Motivación de la programación concurrente J. M.Drake M. !ldea
A)LICACIO-ES DE LOS )RO*RAMAS CO-C(RRE-!ES
" !plicaciones cl,sicas:
Programación de sistemas multicomputadores.
/istemas operativos.
Control & monitori3ación de sistemas $sicos.
" !plicaciones actuales:
/ervicios B'. /istemas multimedia.
C,lculo numrico.
Procesamientos entradaEsalida.
/imulación de sistemas din,micos.
Interacción operadorEm,uina ;FIs<
=ecnologas de componentes.
/istemas em*e*idos.
7/25/2019 Conceptos y recursos para la programación concurrente
http://slidepdf.com/reader/full/conceptos-y-recursos-para-la-programacion-concurrente 9/18GProCon’12: I.1- Motivación de la programación concurrente J. M.Drake M. !ldea
E-!AJAS DE LA )RO*RAMACIO- CO-C(RRE-!E.
" Proporciona el modelo m,s simple & natural de conce*ir
muc(as aplicaciones.
" Hacilita el diseo orientado a o*)etos de las aplicaciones &a ue
los o*)etos reales son concurrentes.
" ace posi*le compartir recursos & su*sistemas comple)os.
" 'n sistemas monoprocesadores optimi3a el uso de los recursos.
" 0educe tiempos de e)ecución en plata$ormas multiprocesadoras.
" Hacilita la reali3ación de programas $ia*les replicando
componentes &Eo procesos.
7/25/2019 Conceptos y recursos para la programación concurrente
http://slidepdf.com/reader/full/conceptos-y-recursos-para-la-programacion-concurrente 10/181ProCon’12: I.1- Motivación de la programación concurrente J. M.Drake M. !ldea
CO-CE)!O DE SIS!EMA DE !IEM)O REAL.
" n sistema de tiempo real es una com*inación de uno o varios
computadores dispositivos de (ard%are de IEK & so$t%are de propósito especial en la ue: a& una $uerte interacción con el entorno
'l entorno cam*ia con el tiempo
'l sistema controla o reacciona de $orma simult,nea a di$erentesaspectos del entorno
" 'n las aplicaciones de tiempo real el $uncionamiento correcto
no sólo depende de los resultados del c,lculo sino tam*in
del instante en el ue se generan esos resultados
" Como resultado: /e imponen reuisitos temporales so*re el so$t%are.
'l so$t%are es de naturale3a concurrente.
7/25/2019 Conceptos y recursos para la programación concurrente
http://slidepdf.com/reader/full/conceptos-y-recursos-para-la-programacion-concurrente 11/18
7/25/2019 Conceptos y recursos para la programación concurrente
http://slidepdf.com/reader/full/conceptos-y-recursos-para-la-programacion-concurrente 12/1812ProCon’12: I.1- Motivación de la programación concurrente J. M.Drake M. !ldea
CO-CE)!O DE SIS!EMA DE !IEM)O REAL.
" Caractersticas esenciales de un sistema de tiempo real: 'l orden de e)ecución de las operaciones depende de:
" #os eventos e5ternos ue reci*e del entorno.
" Del tiempo ue transcurre.
'l cumplimiento de pla3os temporales en las respuestas es parte de la
especi$icación $uncional.
" De acuerdo con la severidad de los reuerimientos
temporales:
/istemas de tiempo real estricto ;ard real-time<: 'l incumplimientode un pla3o es un $allo irrecupera*le.
/istemas de tiempo real la5os: ;/o$t real-time<: #os reuerimientos
temporales se cumplen en promedio.
7/25/2019 Conceptos y recursos para la programación concurrente
http://slidepdf.com/reader/full/conceptos-y-recursos-para-la-programacion-concurrente 13/181+ProCon’12: I.1- Motivación de la programación concurrente J. M.Drake M. !ldea
SIS!EMAS EM)O!RADOS.
" n computador ;& su so$t%are< se considera empotrado si:
L es un componente integral de un sistema ma&or L se usa para controlar monitori3ar o procesar la in$ormación de ese
sistema
L & usa dispositivos (ard%are especiales
" #a ma&ora de los sistemas de tiempo real son empotrados
7/25/2019 Conceptos y recursos para la programación concurrente
http://slidepdf.com/reader/full/conceptos-y-recursos-para-la-programacion-concurrente 14/1814ProCon’12: I.1- Motivación de la programación concurrente J. M.Drake M. !ldea
EJEM)LO DE )RO*RAMA DE !IEM)O REAL.
" /o$t%are em*arcado de control de un coc(e.
" 'l con)unto de tareas (acen uso del G9 de la capacidad del
procesador.
" o es posi*le com*inar secuencialmente la tres tareas.
94 msA msControl 8,lvula Car*urador
291 ms4 msControl presión car*urante
24 ms2 msMedida de velocidad
usoDuraciónPeriodo=area
7/25/2019 Conceptos y recursos para la programación concurrente
http://slidepdf.com/reader/full/conceptos-y-recursos-para-la-programacion-concurrente 15/1819ProCon’12: I.1- Motivación de la programación concurrente J. M.Drake M. !ldea
EJEM)LO$ SOL(CI- SEC(E-CIAL.
" #a solución reuiere segmentar las
tareas mas largas en secciones mas *reves.
" #a solución es di$cil de mantener.
A
4
1
2
+
9
?
@
MN8O1
PNCO1
8NCNaO1
8NCN*O1
8NCNcO1
8NCNdO1
MN8O2
MN8O+
PNCO2
MN8O4
/leep;4ms<
8NC
;4 ms<
? ms
1? ms
? ms
12 ms
t ;ms<
7/25/2019 Conceptos y recursos para la programación concurrente
http://slidepdf.com/reader/full/conceptos-y-recursos-para-la-programacion-concurrente 16/181?ProCon’12: I.1- Motivación de la programación concurrente J. M.Drake M. !ldea
EJEM)LO$ !AREA A)ERIDICA.
" #a tarea CN/ tiene la $unción de *louear el cinturón de
seguridad si el sensor de aceleración supera un um*ral:
aturale3a: !periódica
Pla3o de respuesta: + ms
so de CP: 2 ms
Intervalo mnimo: A ms
" Incorporar esta tarea a la estructura secuencial es mu& di$cil.
" #a solución atender el evento en una rutina de interrupción.
7/25/2019 Conceptos y recursos para la programación concurrente
http://slidepdf.com/reader/full/conceptos-y-recursos-para-la-programacion-concurrente 17/181@ProCon’12: I.1- Motivación de la programación concurrente J. M.Drake M. !ldea
EJEM)LO SOL(CI- CO-C(RRE-!E.
'l programa se plantea como cuatro procesos
concurrentes ue solo interaccionan entre s por
compartir el mismo recurso de procesamiento.
A
4
1
2
+
9
?
@
MN8O1
PNCO1
8NCO1
8NCO1
8NCO1
8NCO1
MN8O2
MN8O+
PNCO2
MN8O4
CP #i*re
)roce#o M2=iempo e)ec: 4 ms
2 ms
)roce#o )2C
=iempo e)ec: 1 ms
4 ms
)roce#o 2C=iempo e)ec: 4 ms
A ms
)roce#o C2S
=iempo e)ec:2 ms
Pla3o e)ec: + ms
!celerómetro
Prioridad
+
2
1
Prioridad: 1
7/25/2019 Conceptos y recursos para la programación concurrente
http://slidepdf.com/reader/full/conceptos-y-recursos-para-la-programacion-concurrente 18/181AProCon’12: I.1- Motivación de la programación concurrente J. M.Drake M. !ldea
E3emplo de programa concurrente
program Control_coche; process P_MedidaVelocidad; (* Proceso de medida de la velocidad *)
begin repeat M_V; sleep(160 ms); forever; end;
process P_PresiónCarburante; (* Proceso de control de la presión de carburante *) begin repeat P_C; sleep(00 ms); forever;
end;
process P_ControlValvulaCarburador; (* Proc! de control de v"lvula del carburador *) begin
repeat V_C; sleep(#00 ms); forever;end;
process P_ControlCinturan; (* Proceso de atención del control del cinturón *) begin
repeat $ait evento; C_%; forever;end;
begin (* Pro&rama principal *) cobegin
P_MedidaVelocidad; P_PresionCarburante; P_ControlValvulaCarburador; P_ControlCinturón;
coend;
end.