Sunteți pe pagina 1din 5

20/04/2017

Programacin Concurrente

Facultad de Ciencias Exactas e Ingeniera

3er Ao - Licenciatura en Sistemas


2017

Ing. Gustavo Cerveri - gcerveri@yahoo.com.ar

Objetivo

Plantear los fundamentos de la programacin concurrente,


Estudiar su sintaxis y semntica, as como herramientas y lenguajes
para la resolucin de programas concurrentes.
Analizar el concepto de sistemas concurrentes que integran la
arquitectura de hardware, el sistema operativo y los algoritmos que
permiten la resolucin de problemas concurrentes.
Estudiar los conceptos fundamentales de comunicacin y
sincronizacin entre procesos, por memoria compartida y por
mensajes.
Vincular la concurrencia en software con los conceptos de
procesamiento distribuido y paralelo, para tener los conceptos de
soluciones multiprocesador con algoritmos concurrentes.

Ing. Gustavo Cerveri - UCALP FACEI - 2017 2

1
20/04/2017

Temario 2017-Clases

I. Objetivos de los sistemas concurrentes.

Procesamiento secuencial, concurrente y paralelo. Caractersticas. Evolucin


histrica. Procesos. Programa concurrente. No determinismo. Clases de
aplicaciones. Multithreading, Cmputo paralelo y distribuido. reas de estudio
en sistemas concurrentes. Relacin con la arquitectura Monoprocesadores.
Multiprocesadores: Clasificaciones y ejemplos. Relacin con el sistema
operativo. Requerimientos para el sistema operativo. Relacin con el lenguaje.
Requerimientos para el sistema operativo. Sincronizacin y comunicacin.
Sincronizacin por exclusin mutua y por condicin. Comunicacin por memoria
compartida y por mensajes. Prioridad, granularidad, deadlock, manejo de
recursos. Paradigmas de resolucin de programas concurrentes: iterativo (ej,
multiplicacin de matrices), recursivo o divide & conquer (ej. el problema de la
cuadratura), pipeline o productor consumidor, cliente/servidor, peers o pares
interactuantes.

Ing. Gustavo Cerveri - UCALP FACEI - 2017 3

II. Especificacin y semntica de la ejecucin concurrente.

Acciones atmicas y sincronizacin. El problema de interferencia. Historias


vlidas e invlidas. Atomicidad de grano fino y de grano grueso. La propiedad de
"a lo sumo una vez". Especificacin de la sincronizacin. Tcnicas para evitar
interferencia.

Ing. Gustavo Cerveri - UCALP FACEI - 2017 4

2
20/04/2017

III. Sincronizacin de grano fino.

Secciones crticas (SC). Definicin del problema. Propiedades


necesarias de las soluciones. Algoritmos clsicos de soluciones fair al problema
de la SC (tie-breaker, ticket, bakery). Sincronizacin barrier. Definicin.
Soluciones posibles (contador compartido, flags y . coordinadores, rboles,
barreras simtricas, butterfly). Algoritmos data parallelo. Computacin de
prefijos. Sincronizacin por semforos Defectos de la sincronizacin por
variables compartidas. Semforos. Sintaxis y semntica. Usos bsicos y tcnicas
de programacin. Soluciones a SC y barreras. Semforos binarios divididos
(split). Sincronizacin por condicin general. Alocacin derrecursos. Ejemplos
clsicos: filsofos, lectores y escritores, productores y consumidores con buffer
limitado, etc. Semforos en lenguajes reales. Sincronizacin por monitores.
Nocin de Regiones Criticas Condicionales.
Monitores. Sintaxis y semntica. Sincronizacin en monitores. Diseo de un reloj
lgico. Alternativas. El problema del peluquero: rendezvous. Scheduling de
discos. Ejemplo. Enfoques alternativos para la sincronizacin. Monitores en
lenguajes reales: lava, Pthreads. Ejemplos. Implementaciones Conceptos de
implementacin de procesos multiprocesador. Kernel monoprocesador y
multiprocesador.
Ing. Gustavo Cerveri - UCALP FACEI - 2017 5

IV. Programas distribuidos.

Relacin entre mecanismos de comunicacin. Clases bsicas de procesos:


productores y consumidores, clientes y servidores, peers. Mensajes asincrnicos:
Sintaxis y semntica. Canales. Operaciones. Filtros. Redes de Filtros.
Clientes/Servidores. Algoritmos clsicos. Monitores activos. Continuidad
conversacional. Peers. Intercambio de valores. Clculo de la topologa de una red.
Mensajes asincrnicos en lenguajes reales MPI. Extensin de lenguajes secuenciales
con bibliotecas especficas. Mensajes sincrnicos. Sintaxis y semntica. Conceptos de
CSP. Comunicacin guardada. Sintaxis y semntica. Filtros. Clientes y servidores.
Asignacin de recursos. Interaccin entre procesos paralelos. Ejemplos. Mensajes
sincrnicos en lenguajes reales: OCCAM. Constructores secuenciales y paralelos.
Comunicacin y sincronizacin. Ejemplos Linda: extensiones para el manejo de PM
en arquitecturas mono y Linda.

Ing. Gustavo Cerveri - UCALP FACEI - 2017 6

3
20/04/2017

IV. Programas distribuidos.

Estructuras de datos distribuidas El concepto de bag of tasks. Espacio de tuplas e


interaccin entre procesos. Ejemplos Remote Procedure Calls y Rendezvous. Sintaxis
y semntica. Similitudes y diferencias. RPC: Sincronizacin en mdulos. RPC en
lenguajes reales: lava. RMI. Ejemplos. Rendezvous en lenguajes reales: Ada. Tasks y
sincronizacin. Ejemplos La notacin de primitivas mltiples. Sintaxis y semntica.
MPD. Componentes de programa. Comunicacin y sincronizacin. Ejemplos
Implementaciones. Conceptos de implementacin de mecanismos de comunicacin
y sincronizacin en ambientes distribuidos.

Ing. Gustavo Cerveri - UCALP FACEI - 2017 7

V. Contenidos:

Resolucin de problemas mediante diferentes paradigmas de interaccin entre


procesos: Servidores replicados, algoritmos heartbeat, algoritmos pipeline,
pruebaeco, broadcast, token passing, anager/workers. Ejemplos. Comparacin.

Ing. Gustavo Cerveri - UCALP FACEI - 2017 8

4
20/04/2017

Evaluacin 2017

Asignatura: Anual

Cursada

 1 Parciales: Tericos ( 22-06-2017)


 Practico ( Agosto)
 1 Trabajo Practico individual: Aplicacin de Temas de Concurrencia
en Lenguaje
 Trabajo Final y Cierre para la Promocin (Grupal) (Noviembre)

Final, para lo que no promocionen

Examen Terico
Practico: en funcin de los TPI de Todos los Grupos.

Ing. Gustavo Cerveri - UCALP FACEI - 2017 9

Acuerdo

Se desarrollara el temario cubriendo los puntos mas importantes que hacen


a la aplicabilidad de los conceptos de Programacin Concurrente. Se ira
adaptando con el cronograma que definiremos con el tiempo de cursada
pre-establecido por la Facultad de Ciencias Exactas e Ingeniera de la UCALP.

Ing. Gustavo Cerveri - UCALP FACEI - 2017 10

S-ar putea să vă placă și