IDENTIFYING DATA 2009_10
Subject (*) Code 175112101
Study programme
Enginyeria Informàtica i de la Seguretat (2007)
Cycle 2nd
Descriptors Credits Type Year Period
4.5 Compulsory First Only annual
Language
Català
Department Enginyeria Informàtica i Matemàtiques
Coordinator
ALIAGAS CASTELL, CARLES
E-mail carles.aliagas@urv.cat
Lecturers
ALIAGAS CASTELL, CARLES
Web http://deim.urv.net/~aliagas/ap/welcome.htm
General description and relevant information Estudi de les arquitectures multiprocessador de memòria compartida (MMC), aprofundint en les tècniques específiques per a la seva programació eficient. Identificació dels factors que intervenen en el rendiment dels sistemes MMC. Desenvolupament d'aplicacions paral·leles eficients per a sistemes MMC (paral·lelització de programes seqüencials i paral·lelització de bucles). Estudi i utilització pràctica del model estàndard de programació de memòria compartida OpenMP per al desenvolupament d'aplicacions paral·leles sobre sistemes MMC.

Competences
Type A Code Competences Specific
  Research
  AR2 Aplicar els coneixements de matemàtiques a l’enginyeria informàtica.
  AR6 Aplicar metodologies per a l'enginyeria del software
  AR8 Analitzar, dissenyar i desenvolupar arquitectures de computadors.
Type B Code Competences Transversal
  Common
Type C Code Competences Nuclear
  Common

Learning aims
Objectives Competences
Conèixer les arquitectures dels multiprocessadors de propòsit general. AR2
AR6
AR8
Comprendre el funcionament de les tècniques de sincronització als Multiprocessadors de Memòria Compartida (MMC). AR2
AR6
AR8
Comprendre el procés general de paral·lelització d'algorismes i els seus principis de disseny. AR2
AR6
Comprendre el procés específic de paral·lelització d'algorismes als MMC i els seus principis de disseny. AR2
AR6
Comprendre el funcionament dels algorismes de coherència de caché als MMC. AR8
Conèixer el model estàndard de programació OpenMP. AR6
Dissenyar i implementar programes paral·lels sobre MMC utilitzant OpenMP. AR6

Contents
Topic Sub-topic
Introducció Arquitectures paral·leles de propòsit general: motivació i conceptes bàsics. Estructures de multiprocessador. Arquitectura dels multiprocessadors de memòria compartida. Xarxes d'interconnexió.
Paral·lelització de bucles als MMC Bucles paral·lels DOALL. Planificació temporal de bucles paral·lels. Anàlisi de dependències. Generació de bucles DOALL. Transformacions per suportar paral·lelització. Normalització de bucles. Substitució i expansió escalar. Copiat de variables. Intercanvi de bucles. Alineació de bucles.
Paral·lelització de programes als MMC Introducció. Tècniques de sincronització. Primitives atòmiques. Semàfors. Barreres. Procés general de paral·lelització. Balanceig de càrrega i temps d'espera. Identificació de concurrència i paral·lelisme. Assignació estàtica i dinàmica. Granularitat de tasques. Reducció de comunicació i serialització. Explotació de localitat temporal i espacial. Reducció de sobrecàrrega, retard i contenció. Tècniques d'optimització.
Coherència de caché als MMC Introducció. Coherència de memòria. Protocols de “snooping” de bus. Protocol MESI.
OpenMP Introducció. Conceptes bàsics. Model de programació. Directives de programació. Exemples.

Planning
Methodologies  ::  Tests
  Competences (*) Class hours Hours outside the classroom (**) Total hours
Introductory activities
1 0 1
 
Lecture
19 19 38
Problem solving, classroom exercises
10 10 20
Practicals using information and communication technologies (ICTs) in computer rooms
15 15 30
Assignments
0 10 10
Problem solving, exercises
0 10 10
 
Personal tuition
1 0 1
 
Objective short-answer tests
1 0 1
Practical tests
3 0 3
 
(*) On e-learning, hours of virtual attendance of the teacher.
(**) The information in the planning table is for guidance only and does not take into account the heterogeneity of the students.

Methodologies
Methodologies
  Description
Introductory activities Presentació de l’assignatura: motivació, objectius, metodologia docent i avaluació.
Lecture Exposició dels continguts de l’assignatura.
Problem solving, classroom exercises Resolució de problemes simples relacionats amb els conceptes teòrics. Resolució de problemes i exercicis de la col·lecció d’exàmens.
Practicals using information and communication technologies (ICTs) in computer rooms Utilització pràctica del model de programació OpenMP.
Assignments Realització autònoma en grups de dos estudiants d’un treball pràctic de paral·lelització d’un algorisme seqüencial mitjançant OpenMP. Elaboració d’un informe escrit. Avaluació final pel professor.
Problem solving, exercises Resolució autònoma individual de problemes i exercicis de la col·lecció d’exàmens. Correcció personalitzada pel professor en horari de consultes.

Personalized attention
 
Problem solving, exercises
Practicals using information and communication technologies (ICTs) in computer rooms
Assignments
Description
Resolució de dubtes teòrics i pràctics.

Assessment
  Description Weight
Assignments Treballs pràctics de paral·lelització d'algorismes seqüencials en grups de dos estudiants. 30
Practical tests Resolució d’un problema de paral·lelització d’un algorisme seqüencial mitjançant OpenMP. 30
Objective short-answer tests Resolució de problemes curts relacionats amb els conceptes teòrics. 40
 
Other comments and second exam session

Els treballs pràctics i les proves s'han d'aprovar per separat.


Sources of information

Basic D.E. Culler, Parallel Computer Architecture, Morgan Kaufmann, 1999
Chandra, Rohit, Parallel programming in OpenMP, Morgan Kaufmann, 2001

Complementary

Recommendations

Subjects that continue the syllabus
SPECIALISED ARCHITECTURES/17012006


(*)The teaching guide is the document in which the URV publishes the information about all its courses. It is a public document and cannot be modified. Only in exceptional cases can it be revised by the competent agent or duly revised so that it is in line with current legislation.