UA
   PROGRAMACIÓ CONCURRENT    Any acadèmic       Versió PDF.  Versió PDF per a convalidació.
Codi9242Descripció
Crdts. Teor.3PROCESSOS. SINCRONITZACIÓ, COMPETÈNCIA I COOPERACIÓ. EXCLUSIÓ MÚTUA. MEMÒRIA COMPARTIDA. MEMÒRIA DISTRIBUÏDA. CSP.
Crdts. Pract.3
A efectes d'intercanvis en programes de mobilitat, la càrrega d'aquesta assignatura equival a 7,5 ECTS.


Departamentos y Áreas
DepartamentsÀreaCrdts. Teor.Crdts. Pract.Dpto. Respon.Respon. Acta
LLENGUATGES I SISTEMES INFORMÀTICSLLENGUATGES I SISTEMES INFORMÀTICS33


Estudis en què s'imparteix
Enginyeria en Informàtica - pla 2001


Prerequisitos
Sense incompatibles


Incompatibilitats de matricula per continguts equivalents
Sense Dades


Matriculats (2013-14)
Grup (*)Nombre
1 12
TOTAL 12
(*) 1: GRUPO 1 - CAS


Oferida com a lliure elecció (2013-14)
Nombre màxim d'alumnes: Sense màxim
Feu clic ací per a veure a quins estudis s'ofereixen
Consulta Gràfica d'Horari
A efectes d'intercanvis en programes de mobilitat, la càrrega d'aquesta assignatura equival aFeu clic ací


Horari (2013-14)
ModeGrup (*)Data d’iniciData de finalitzacióDiaHora d’iniciHora d’fiAula
CLASSE TEÒRICA 1 09/09/2013 20/12/2013 J 15:30 17:30 A2/A12
PRÀCTIQUES AMB ORDINADOR 1 09/09/2013 20/12/2013 J 11:00 13:00 0016P1008
(*) CLASE TEÓRICA
1: GRUPO 1 - CAS
(*) PRÁCTICAS CON ORDENADOR
1: GRUPO Prácticas de PC-01 - CAS


Grups de matricula (2013-14)
Grup (*)QuadrimestreTornIdiomaDistribució (lletra nif)
1 1er. M CAS des de - fins a -
(*) 1: GRUPO 1 - CAS


Objectius de l'assignatura / competències (2013-14)
Presentación
El principal objetivo es introducir al alumno en el paradigma de la programación concurrente y en el uso de las herramientas y técnicas utilizadas en general por los lenguajes concurrentes.

La asignatura está centrada en la descripción de los principios y metodologías de la programación concurrente, en los problemas derivados de la ejecución paralela de procesos y en las técnicas y herramientas existentes para resolver estos problemas.

Las prácticas se realizarán tanto con Pascal Concurrente como con Java. Pascal Concurrente es un lenguaje de programación muy adecuado para la docencia de esta asignatura pero de poca utilidad práctica. Por ello usaremos también Java en algunos de los ejercicios prácticos, que además de ser adecuado para la docencia os será más útil en la práctica profesional.

Por lo demás, será una materia amena, donde espero que aprendáis conceptos y técnicas útiles.

La evaluación se hará según dos modalidades a elegir:

Asistencia regular controlada.
Asistencia libre.

Este año habrá un turno de prácticas y uno de teória.



Continguts teòrics i pràctics (2013-14)
Temario
Contenido general
Los principales temas a tratar son los siguientes (ver temario detallado más abajo):


¿Qué es la programación Concurrente?
Introducción: conceptos de concurrencia
Multiprogramación
Multitarea
Ejecución concurrente
Problemas de programación concurrente
Objetos compartidos y exclusión Mutua
Regiones críticas
Deadlock (interbloqueo)
Procesos e hilos
Programación concurrente orientada a objetos (hilos en Java)
Semáforos
Monitores y sincronización
Paso de mensajes


Temario detallado
MÓDULO 1: Conceptos fundamentales

PARTE 1: Conceptos fundamentales


Introducción
Hitos en la programación concurrente
Concepto de programación concurrente
Beneficios de la programación concurrente
Concurrencia y arquitecturas hardware
Especificación de ejecución concurrente
Características de los sistemas concurrentes
Problemas inherentes a la programación concurrente
Corrección de programas concurrentes
Preguntas y ejercicios



PARTE 2: Procesos y Pascal-FC


Procesos
Procesos en Pascal-FC



PARTE 3: Hilos y Java


Hilos
Hilos en Java



PARTE 4: Primeras aproximaciones a la solución de los problemas de la programación concurrente


Introducción
Tipos de sincronización y su solución
Espera-Ocupada para la exclusión mutua (soluciones software)
Espera-Ocupada para la exclusión mutua (soluciones hardware)
Resumen
Preguntas y ejercicios

MÓDULO II: Primitivas de sincronización basadas en memoria compartida

PARTE 5. Semáforos


Introducción
Definición de semáforo
Resolución de problemas usando semáforos
Inconvenientes del mecanismo de los semáforos



PARTE 6. Regiones críticas condicionales


Introducción
Definición de región crítica condicional
Resolución de problemas usando regiones críticas condicionales
Inconvenientes del mecanismo de regiones críticas condicionales



PARTE 7. Monitores


Introducción
Definición de monitor
Condición de sincronización en monitores
Resolución de problemas usando monitores

MÓDULO III: Paso de mensajes

A modo de introducción al tema, se recomeinda ver la sección 8 de los apuntes colgados en la sección de materiales.


PARTE 8. Mecanismo de paso de mensaje


Introducción
Identificación en el proceso de comunicación
Sincronización
Canal de comunicación y mensajes
Condiciones de error en los sistemas de paso de mensajes
Espera selectiva



PARTE 9. Paso de mensaje asíncrono



PARTE 10. Paso de mensaje síncrono con canales



PARTE 11. Invocación remota y llamada a procedimiento remoto (RPC)


Enllaç al programa
http://www.dlsi.ua.es/cgi-bin/wwwadm/assig2.cgi?id=cas&assig=PC-2001&plan=2001
Professor/a responsable
Calera Rubio , Jorge


Metodologia docent (2013-14)
Classes teòriques i pràctiques
Objetivos de las asignatura y competencias
El principal objetivo es introducir al alumno en el paradigma de la programación concurrente y en el uso de las herramientas y técnicas utilizadas en general por los lenguajes concurrentes.

La asignatura está centrada en la descripción de los principios y metodologías de la programación concurrente, en los problemas derivados de la ejecución paralela de procesos y en las técnicas y herramientas existentes para resolver estos problemas.

En primer lugar, se introducirán los conceptos, técnicas y herramientas básicas de esta disciplina informática. Para ello, se abordarán los problemas clásicos de los sistemas concurrentes proponiéndose diversas soluciones. Paralelamente se verán ejemplos basados en los lenguajes concurrentes Pascal-FC y Java.

Al finalizar el curso, el alumno habrá adquirido la destreza y conocimientos necesarios para reconocer una aplicación paralela y resolverla mediante la construcción de algoritmos concurentes.


Objetivos específicos:

Reconocer las aplicaciones concurrentes.
Conocer las técnicas y algoritmos empleados en la programación concurrente.
Construir aplicaciones concurrentes mediante la utilización de los lenguajes Pascal-FC y Java.


Métodos docentes
Se realizarán clases teóricas y prácticas en laboratorios.


Método de aprendizaje
El alumno debe comenzar leyendo el texto base, intentando comprender los conceptos que en él se exponen: problemas típicos de la concurrencia: sincronización condicional, exclusión mutua e interbloqueo (deadlock).

El libro está lleno de ejemplos con los que se explican las distintas posibles soluciones para cada problema, dependiendo del resultado final que se quiera obtener.

Es importante que después de asimilar los problemas y sus soluciones el alumno intente resolverlos por sí mismo aplicando distintas herramientas y enfoques. Se sugiere comenzar por los ejemplos resueltos en el propio libro.


Tipo de exámenes y evaluaciones
Modalidad de asistencia regular: Evaluación continua en clase, parciales y entregas de trabajos prácticos y/o monográficos.

Modalidad libre: Examen final.



Tipus d'activitats: teòriques i pràctiques
Laboratoris
y en algunos casos trabajos monográficos.
Habrá 1 horarios de prácticas (a determinar).
Los teóricos serán los jueves de 16 a 18.


Professorat (2013-14)
Grup Professor
TEORIA DE 92421Calera Rubio, Jorge
PRÁCTICAS CON ORDENADOR DE 92421Calera Rubio, Jorge
Enllaços relacionats
http://ants.inf.um.es/staff/jlaguna/jmp/index.php
http://es.wikipedia.org/wiki/Paso_de_mensajes
http://es.wikipedia.org/wiki/Remote_Procedure_Call
http://www.boost.org/doc/libs/?view=category_Concurrent
http://www.chuidiang.com/


Bibliografia

Programación Concurrente
Autors:Palma, José Tomás
Edició:Madrid : Paraninfo - Thomson Learning, 2003.
ISBN:84-9732-184-7
Recomanat per: CALERA RUBIO, JORGE (*1)
[ Accés al catàleg de la biblioteca universitària ]

UNIX : programación avanzada
Autors:Márquez García, Francisco Manuel
Edició:Madrid : Ra-Ma, 2004.
ISBN:978-84-7897-603-5
Recomanat per: CALERA RUBIO, JORGE (*1)
[ Accés al catàleg de la biblioteca universitària ] [ Accés a les edicions anteriors ]
(*1) Aquest professor ha recomanat el recurs bibliogràfic a tot l'alumnat de l'assignatura.
Dates d'exàmens oficials (2013-14)
ConvocatòriaGrup (*)DataHora d’iniciHora d’fiAules assignadesObservacions:
Proves extraordinarias de finalització d'estudis -1 14/11/2013 -
Període ordinari per a assignatures de primer semestrre -1 10/01/2014 CONTACTEU AMB EL PROFESSOR
Proves extraordinàries de assignatures de grau i màster -1 26/06/2014 -
(*) 1: GRUPO 1 - CAS


Instruments i criteris d'avaluació (2013-14)
Avaluació contínua, examen final
Evaluaciones y criterios de calificación
Evaluación continua.Presentación en clase de teoría

Los alumnos que opten por esta opción realizarán un trabajo sobre algún tema de la parte teórica de la asignatura y será presentado en clase. Se valorará la asistencia a las clases teóricas.

Quienes asistan a menos de un 80% de las prácticas podrán, en casos debidamente justificados, complementar ese déficit mediante un trabajo monográfico o práctico adicional. Será necesario presentar una memoria de prácticas en todos los casos, con los ejercicios propuesto en clase y resueltos en Pascal FC

Evaluación con examen final
Quien no desee asistir a clase tendrá la posibilidad de realizar un examen teórico final y un examen de prácticas final. La memoria de prácticas también será obligatoria para aprobar la asignatura.

Ejercicios puntuables hechos en clase (evaluación contínua)
Se realizarán varios ejercicios puntuables durante las clases teóricas, a modo de evaluación contínua. Estos pueden realizarse a lo largo de todo el curso.

La convocatoria extraordinaria se regirá por estos mismos criterios, según la asistencia y participación del alumno a clase.