PAR · Tema 1
Introducció al paral·lelisme
Per què els ordinadors d'avui tenen molts nuclis i què vol dir fer-los treballar alhora. Veuràs els models d'execució, els elements que hi intervenen i els dos grans problemes: les dependències i la concurrència.
Capítols
- 1.1Inici del paral·lelismeEsborranyLlegit
Després de molts anys seguint la llei de Moore, millorar el hardware ja no donava prou benefici. Per això cal buscar alternatives en el model d'execució.
- 1.2Models d'execucióEsborranyLlegit
Un programa es pot executar de maneres molt diferents: seqüencial, en sèrie, concurrent, paral·lela o multiprocés. Aquí veuràs què les distingeix i per què el resultat ha de ser sempre el mateix.
- 1.3Elements de l'execució paral·lelaEsborranyLlegit
Abans de paral·lelitzar cal tenir clar el vocabulari: què és un programa, un procés, un thread i un processador, i què comparteixen entre ells.
- 1.4Execució seqüencial vs paral·lelaEsborranyLlegit
En execució seqüencial hi ha un sol thread; en paral·lela, el procés es divideix en threads que s'executen alhora en diferents CPUs. En el cas ideal, el temps es divideix pel nombre de processadors.
- 1.5Problemes del paral·lelismeEsborranyLlegit
La majoria de programes estan pensats per executar-se de forma seqüencial, i en paral·lelitzar-los el resultat s'ha de mantenir. Els dos grans problemes són les dependències i la concurrència: data races, starvation, deadlock i livelock.
- 1.6Abstracció del codi en tasquesEsborranyLlegit
Per paral·lelitzar cal entendre el codi i identificar què es pot fer alhora. Per això abstraiem el programa en tasques, unitats lògiques de treball que analitzarem per temps, dependències i conflictes.
- 1.7ConsolidacióEsborranyLlegit
Tot el que hauries de saber del tema 1: d'on surt el paral·lelisme, els models d'execució, els problemes principals i la diferència entre procés, thread, processador i tasca.