Introducció al paral·lelisme · 1.2
Models d'execució
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.
Conceptes clau
- Execució seqüencial i en sèrie
- Execució concurrent (time-slicing)
- Execució paral·lela
- Execució multiprocés
Execució seqüencial: una sola CPU executa un únic programa de principi a fi, seguint estrictament l’ordre de les seves instruccions.
Execució en sèrie: una sola CPU executa diversos programes un rere l’altre, sense solapament en el temps.
Execució concurrent: una sola CPU alterna l’execució de diferents processos mitjançant time-slicing (commutació de context). En cada instant només s’executa una tasca, però totes progressen de manera intercalada, donant així una sensació de rendiment (throughput).
Execució paral·lela: un únic procés es divideix en tasques que es poden executar simultàniament en diferents nuclis o CPUs. Això ens permet reduir el temps d’execució d’un sol procés. Tot dividint la càrrega de treball entre diferents CPUs, aconseguint més rendiment per a un únic programa.
Execució multiprocés: diversos processos independents s’executen en paral·lel utilitzant múltiples CPUs, millorant el rendiment global del sistema.
Els quatre models comparats: sèrie (un processador, un únic procés), concurrent (un processador, varis processos), paral·lel (varis processadors, un únic procés) i multiprocés (varis processadors, varis processos). (figura al dossier, p. 5)
Cal garantir que el resultat sempre sigui el mateix independentment del model d’execució.