Differenza tra multithreading a grana fine e a grana grossa

Differenza tra multithreading a grana fine e a grana grossa

In informatica, la differenza principale tra il multithreading a grana fine e quello a grana grossa (in inglese Fine Grained and Coarse Grained Multithreading) è che, nel multithread a grana fine, i thread emettono istruzioni in modo round-robin mentre nel multithreading a grana grossa, i thread emettono istruzioni fino a quando non si verifica uno stallo.

Il multithreading si riferisce all’esecuzione di più thread all’interno di un processo in modo indipendente. Questi thread possono condividere le proprie risorse di processo. Due tipi di multithreading sono il multithreading a grana fine e quello a grana grossa.

Multithreading a grana fine

Nel multithreading a grana fine, i thread vengono eseguiti in modo round-robin in cicli consecutivi. Ad esempio, supponiamo che un computer possa emettere un’istruzione per ciclo di clock.

Multithreading a grana grossa

Nel multithreading a grana grossa, un thread emette istruzioni finché l’emissione del thread non si interrompe. Il processo è anche chiamato stallo . Quando si verifica uno stallo, il thread successivo inizia a emettere istruzioni. A questo punto, un ciclo viene perso a causa di questo cambio di thread.

Differenza tra multithreading a grana fine e a grana grossa

Differenza tra multithreading a grana fine e a grana grossa

Definizione

Il multithreading a grana fine è un meccanismo di multithreading in cui il passaggio tra i thread avviene nonostante la mancanza di cache causata dall’istruzione del thread.  Il multithreading a grana grossa, d’altra parte, è un meccanismo di multithreading in cui lo switch avviene solo quando il thread in esecuzione provoca uno stallo, sprecando così un ciclo di clock. Quindi, questa è la principale differenza tra multithreading a grana fine e grossa.

Efficienza

L’efficienza è un’altra differenza tra il multithreading a grana fine e quello a grana grossa. Il multithreading a grana grossa è meno efficiente del multithread a grana fine perché causa un gap / perdita di ciclo quando si passa da un thread all’altro.

Thread richiesti

Inoltre, la grana grossa richiede meno thread per mantenere la CPU occupata rispetto al multithreading a grana fine.

Conclusioni

Il multithreading a grana fine e quello a grana grossa sono due metodi di multithreading. La differenza principale tra il multithreading a grana fine e quello a grana grossa è che, nel multithread a grana fine, i thread emettono istruzioni in modo round-robin mentre nel multithreading a grana grossa, i thread emettono istruzioni fino a quando non si verifica uno stallo.

Pubblicato da Vito Lavecchia

Lavecchia Vito Ingegnere Informatico (Politecnico di Bari) Email: [email protected] Sito Web: https://vitolavecchia.altervista.org

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *