Salta al contingut

    ↑ ↓ per moure't↵ per obrir

    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ó.