Anar al contingut (clic a Intro)
UdG Home UdG Home
Tancar
Menú

Estudia

Dades generals

Curs acadèmic:
2010
Descripció:
Blocatges, inanició i exclusió mútua. Sincronització i comunicació. Programació multi-threading en Java.
Crèdits:
6
Idioma principal de les classes:
Castellà
S’utilitza oralment la llengua anglesa en l'assignatura:
Poc (25%)
S’utilitzen documents en llengua anglesa:
Indistintament (50%)

Grups

Grup A

Durada:
Semestral, 2n semestre
Professorat:
ROEL ELFEGO MARTINEZ RAMIREZ

Competències

  • Ser capaç d'analitzar, dissenyar i implementar un algorisme i la seva estructura de dades.

Altres Competències

  • En aquesta assignatura es pretén dotar a l'estudiant d'uns hàbits de disseny i desenvolupament d'algorismes que li facilitin la implementació de solucions concurrents utilizant qualsevol del models i llenguatges especializats existents. Tot i que es fa una important incursió en el llenguatge java i la seva metodologia de programació concurrent. També es pretén inculcar a l'alumne les dificultats intrínsiques que comporta qualsevol tipus de paralel.lisme.

Continguts

1. 1.- Introducció. (Temporalització: 1 h.)

2. 2.- Conceptes bàsics. (Temporalització: 6 h.)

3. 2.1 Problemes específics de la concurrencia

4. 2.2 Gestió de l'exclusió mútua.

5. 2.3 Evolució del paral.lelisme.

6. 3.- Tipologia dels processos concurrents. (Temporalització: 4 h.)

7. 3.1 Metodologia de programació paral.lela.

8. 3.2 Esquemes de competència, cooperació i comunicació.

9. 3.3 Abraçades mortals.

10. 4.- Gestió de la concurrència en sistemes monoprocessador. (Temporalització: 10 h.)

11. 4.1 Semàfors

12. 4.2 Regions crítiques i regions crítiques condicionals.

13. 4.3 Monitors.

14. 5.- Programació orientada a objectes concurrent amb Java.. (Temporalització: 14 h.)

15. 5.1 Objectes i concurrència.

16. 5.1.1 Disseny i patrons.

17. 5.2 Exclusió.

18. 5.2.1 Immutabilitat.

19. 5.2.2 Sincronització.

20. 5.2.3 Confinament.

21. 5.2.4 Estructuració de classes

22. 6.- Gestió de la concurrència en sistemes multiprocessador. (Temporalització: 4 h.)

23. 6.1 Mètode dels missatges.

24. 6.2 Notació.

25. 6.3 Exemple pas de missatges.

26. 7.- Programació paral.lela. (Temporalització: 6 h.)

27. 7.1 Introducció.

28. 7.2 Paral.lelisme massiu.

29. 7.3 Programació en clusters.

Activitats

Tipus d’activitat Hores amb professor Hores sense professor Total
Anàlisi / estudi de casos 0,50 0 0,50
Elaboració individual de treballs 0 30,00 30,00
Lectura / comentari de textos 0 13,00 13,00
Prova d'avaluació 3,00 0 3,00
Sessió expositiva 26,00 0 26,00
Sessió pràctica 24,00 0 24,00
Treball en equip 0 10,00 10,00
Tutories de grup 22,00 0 22,00
Total 75,50 53,00 128,5

Bibliografia

  • Doug Lea (2000). Concurrent Programming in Java. Design principles and patterns (Second Edition). Addison Wesley.
  • Gregory R. Andrews (2000). Foundations of multithreaded, parallel and distributed programming. Addison Wesley.
  • Gregory R. Andrews (1991). Concurrent Programming: principles and practice. Benjamin/Cummings.
  • Paul Hyde (1999). Java Thread Programming. SAMS.

Avaluació i qualificació

Activitats d'avaluació:

Descripció de l'activitat Avaluació de l'activitat %
Containers en Java
Threads en Java
Threads en Java
Prioridades en Threads
Demonis amb Threads
Prioritats i demonis en Threads
Lectors-Escriptors
Sincronitazció
Abraçada mortal
Confinament amb objectes
Confinament amb grups
Confinament
Estructuració de classes
Estructuració de classes
Paral.lelisme en clusters
Examen final

Qualificació

Mètodes docents:
Classes de teoria i problemes: 4 hores setmanals
Pràctiques: 2 hores setmanals
Tipus d'exàmens:
La nota de l'assignatura s'obtindrà a partir de l'examen sobre els continguts de l'assignatura així com l'avaluació de les diferents pràctiques desenvolupades. Les pràctiques i exercicis de laboratori representen el 50% de la nota, tascas diverses 10% i l'examen el 40%.

Observacions

Durant el curs es desenvoluparan diferents treballs pràctics utilitzant el llenguatge JAVA. Es important una bona base de disseny/programació orientada a objectes.

Escull quins tipus de galetes acceptes que el web de la Universitat de Girona pugui guardar en el teu navegador.

Les imprescindibles per facilitar la vostra connexió. No hi ha opció d'inhabilitar-les, atès que són les necessàries pel funcionament del lloc web.

Permeten recordar les vostres opcions (per exemple llengua o regió des de la qual accediu), per tal de proporcionar-vos serveis avançats.

Proporcionen informació estadística i permeten millorar els serveis. Utilitzem cookies de Google Analytics que podeu desactivar instal·lant-vos aquest plugin.

Per a oferir continguts publicitaris relacionats amb els interessos de l'usuari, bé directament, bé per mitjà de tercers (“adservers”). Cal activar-les si vols veure els vídeos de Youtube incrustats en el web de la Universitat de Girona.