Multithreading: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Riga 85:
* [[Sun Microsystems]] [[UltraSPARC T2]]
 
== Ricerca ==
===Implementation specifics===
Attualmente la ricerca nel settore si concentra su tecniche che permettono di scegliere rapidamente il thread da mandare in esecuzione in caso di stallo del thread in esecuzione. Un importante filone di ricerca è lo scheduler dei thread, questo può essere gestito a livello hardware a livello software o con un approccio misto.
 
Un'altra area di ricerca riguarda la tipologia di eventi che devono provocare uno scambio dei thread in esecuzione (cache miss, DMA, comunicazione inter thread, etc).
A major area of research is the thread scheduler which must quickly choose among
the list of ready-to-run threads to execute next as well as maintain the read-to-run and stalled thread lists.
An important sub-topic are the different thread priority schemes that can be used by the scheduler.
The thread scheduler might be implemented totally in software or totally in hardware or as a hw/sw combination.
 
Se il multithreading replica tutti i registri visibili a livello software è possibile utilizzare il multithreading per implementare delle [[macchina virtuale|macchine virtuali]]. Ogni thread si troverebbe a gestire una propria macchina virtuale che è cose se fosse eseguita da un processore separato e quindi potrebbe eseguire il proprio sistema operativo se ritenuto conveniente.
Another area of research is what type of events should cause a thread switch - cache misses, inter-thread communication,
[[Direct memory access|DMA]] completion, etc.
 
If the multithreading scheme replicates '''all''' software visible state, include privileged control registers, TLBs, etc., then it enables [[virtual machine]]s to be created for each thread. This allows each thread to run its own operating system on the same processor. On the other hand, if only user-mode state is saved, less hardware is required which would allow for more threads to be active at one time for the same die-area/cost.
 
===See also===