Podcast
Questions and Answers
Quale tecnica permette ai core di un processore multi-core di eseguire in parallelo fino a 4 o 5 istruzioni?
Quale tecnica permette ai core di un processore multi-core di eseguire in parallelo fino a 4 o 5 istruzioni?
Un processore dual-core può gestire più task multi-threaded di quanti sono i core disponibili.
Un processore dual-core può gestire più task multi-threaded di quanti sono i core disponibili.
True
Cosa si intende per 'context switch' e quali sono le sue implicazioni nelle prestazioni?
Cosa si intende per 'context switch' e quali sono le sue implicazioni nelle prestazioni?
Il 'context switch' è il passaggio di controllo da un processo a un altro, che comporta un sovraccarico e può degradare le prestazioni a causa dei miss cache.
Le architetture multi-core sono particolarmente adatte a gestire task __________.
Le architetture multi-core sono particolarmente adatte a gestire task __________.
Signup and view all the answers
Abbina le seguenti caratteristiche ai loro significati corretti:
Abbina le seguenti caratteristiche ai loro significati corretti:
Signup and view all the answers
Quale delle seguenti affermazioni è vera riguardo ai processi e i thread?
Quale delle seguenti affermazioni è vera riguardo ai processi e i thread?
Signup and view all the answers
I processi possono accedere ai dati in una memoria condivisa senza utilizzare file.
I processi possono accedere ai dati in una memoria condivisa senza utilizzare file.
Signup and view all the answers
Qual è uno dei vantaggi della condivisione di dati tra thread rispetto ai processi?
Qual è uno dei vantaggi della condivisione di dati tra thread rispetto ai processi?
Signup and view all the answers
Due processi possono comunicare scambiandosi dati usando __________.
Due processi possono comunicare scambiandosi dati usando __________.
Signup and view all the answers
Abbina i seguenti concetti con le loro descrizioni:
Abbina i seguenti concetti con le loro descrizioni:
Signup and view all the answers
Qual è una delle situazioni in cui i thread sono vantaggiosi?
Qual è una delle situazioni in cui i thread sono vantaggiosi?
Signup and view all the answers
Il passaggio da un thread a un altro comporta sempre un alto costo di risorse.
Il passaggio da un thread a un altro comporta sempre un alto costo di risorse.
Signup and view all the answers
Che cosa richiede il context switch tra peer thread?
Che cosa richiede il context switch tra peer thread?
Signup and view all the answers
Il codice e i dati sono diversi per ogni peer thread di un processo.
Il codice e i dati sono diversi per ogni peer thread di un processo.
Signup and view all the answers
Qual è la principale differenza tra context switch tra processi e context switch tra peer thread?
Qual è la principale differenza tra context switch tra processi e context switch tra peer thread?
Signup and view all the answers
I processi normali sono chiamati __________.
I processi normali sono chiamati __________.
Signup and view all the answers
Qual è il termine usato per i peer-thread?
Qual è il termine usato per i peer-thread?
Signup and view all the answers
Il context switch tra processi genera meno cache miss rispetto al context switch tra peer thread.
Il context switch tra processi genera meno cache miss rispetto al context switch tra peer thread.
Signup and view all the answers
Quali componenti devono essere salvati durante un context switch tra peer thread?
Quali componenti devono essere salvati durante un context switch tra peer thread?
Signup and view all the answers
Il context switch tra peer thread non richiede di cambiare la __________ del processo.
Il context switch tra peer thread non richiede di cambiare la __________ del processo.
Signup and view all the answers
Abbina i seguenti termini alle loro descrizioni:
Abbina i seguenti termini alle loro descrizioni:
Signup and view all the answers
Quale affermazione descrive correttamente un processo P?
Quale affermazione descrive correttamente un processo P?
Signup and view all the answers
Un processo multi-threaded non può avere accesso al codice di altri processi.
Un processo multi-threaded non può avere accesso al codice di altri processi.
Signup and view all the answers
Che cosa rappresenta un peer thread in un processo multi-threaded?
Che cosa rappresenta un peer thread in un processo multi-threaded?
Signup and view all the answers
Un processo multi-threaded è composto da più ________ di computazione.
Un processo multi-threaded è composto da più ________ di computazione.
Signup and view all the answers
Abbina i seguenti termini ai loro significati:
Abbina i seguenti termini ai loro significati:
Signup and view all the answers
Quale delle seguenti affermazioni è falsa riguardo ai processi?
Quale delle seguenti affermazioni è falsa riguardo ai processi?
Signup and view all the answers
I peer thread condividono le aree dati ma non il codice in esecuzione.
I peer thread condividono le aree dati ma non il codice in esecuzione.
Signup and view all the answers
Qual è la funzione del Program Counter in un thread?
Qual è la funzione del Program Counter in un thread?
Signup and view all the answers
Ogni thread ha un suo stato di computazione composto da Program Counter, ________ e stack.
Ogni thread ha un suo stato di computazione composto da Program Counter, ________ e stack.
Signup and view all the answers
Quale sistema di chiamata viene utilizzato per creare un nuovo thread in Linux?
Quale sistema di chiamata viene utilizzato per creare un nuovo thread in Linux?
Signup and view all the answers
I peer-thread non possono condividere dati e risorse fra di loro.
I peer-thread non possono condividere dati e risorse fra di loro.
Signup and view all the answers
Qual è il vantaggio principale dell'uso dei thread sulle architetture multi-core?
Qual è il vantaggio principale dell'uso dei thread sulle architetture multi-core?
Signup and view all the answers
Il passaggio di contesto tra peer thread richiede circa ___ volte meno tempo rispetto al passaggio di contesto tra processi.
Il passaggio di contesto tra peer thread richiede circa ___ volte meno tempo rispetto al passaggio di contesto tra processi.
Signup and view all the answers
Quale delle seguenti affermazioni è vera riguardo allo scheduling dei thread?
Quale delle seguenti affermazioni è vera riguardo allo scheduling dei thread?
Signup and view all the answers
Creare un nuovo HWP richiede meno tempo rispetto a creare un nuovo LWP.
Creare un nuovo HWP richiede meno tempo rispetto a creare un nuovo LWP.
Signup and view all the answers
Qual è una chiamata di sistema usata per creare un thread in Windows?
Qual è una chiamata di sistema usata per creare un thread in Windows?
Signup and view all the answers
Il _____ threading implica l'esecuzione simultanea di più thread all'interno dello stesso processo.
Il _____ threading implica l'esecuzione simultanea di più thread all'interno dello stesso processo.
Signup and view all the answers
Quale vantaggio fornisce l'uso dei thread nella condivisione dei dati?
Quale vantaggio fornisce l'uso dei thread nella condivisione dei dati?
Signup and view all the answers
Study Notes
4.I Thread: Motivazioni
- Questo capitolo va studiato dopo il capitolo 9 sulla memoria centrale.
- Il suo contenuto è semplificato rispetto al capitolo 4 del libro di testo.
- Si considerano due processi che lavorano sugli stessi dati.
- I problemi sorgono quando ogni processo ha la propria area dati.
- Le soluzioni sono:
- Richiedere al sistema operativo una memoria condivisa.
- Utilizzare messaggi per scambiare dati.
- Utilizzare un file a cui i processi accedono a turno.
4. I Thread: Motivazioni (continua)
- È utile poter avere processi che lavorano sugli stessi dati, senza meccanismi espliciti di condivisione e senza utilizzare file (perché lenti).
- Esempio: un editor di testo.
- Un processo gestisce l'input e i comandi di formattazione dell'utente.
- Un altro processo esegue il controllo automatico di errore.
- I due processi dovrebbero lavorare sullo stesso testo, ma ogni processo ha un diverso spazio di indirizzamento.
4. I Thread: Motivazioni (continua 2)
- Nel context switch tra processi, è necessario disattivare le aree dati del processo uscente e attivare quelle del processo entrante.
- Le cache della CPU contengono i dati del processo uscente, e il processo entrante genera inizialmente molti miss cache.
- Condividendo codice e dati, il context switch è meno oneroso.
Definizione di Thread
- Un thread è un gruppo di peer thread, che condividono spazio di indirizzamento (codice e dati).
- Un processo è contraddistinto da un unico thread di computazione (sequenza di istruzioni).
- La sequenza può cambiare da un'esecuzione all'altra.
- Nessun altro processo ha accesso allo spazio di indirizzamento del processo.
4.1 Thread (continua)
- Un processo multi-thread è composto da più thread di computazione (peer thread).
- Ad ogni peer thread è assegnata l'esecuzione di codice.
- Ogni thread ha il proprio stato di computazione (Program Counter, registri CPU e stack).
- I peer thread condividono il codice in esecuzione e le aree dati.
4. Scheduling dei Thread
- I sistemi operativi moderni implementano lo scheduling dei thread a livello kernel.
- Il SO gestisce sia i processi normali che i thread.
- Quando un thread si blocca o termina il suo tempo, il SO assegna la CPU ad un altro thread dello stesso task o ad un altro task o ad un processo normale.
Vantaggi nell'uso dei thread
- Efficienza: creare un thread (Lightweight Process, LWP) è più veloce che creare un processo (Heavyweight Process, HWP).
- Condivisione di dati e risorse: più thread possono lavorare su dati condivisi.
- Architetture multi-core: i thread sono adatti ai processori multi-core.
Thread e Architetture Multi-Core
- In un processore single-core, i thread si alternano nell'esecuzione.
- Il context switch tra peer thread è meno pesante del context switch tra processi.
- Il context switch con un altro processo è comunque oneroso, a causa dei miss cache.
- Le architetture multi-core sono particolarmente adatte a sistemi multi-thread.
CPU/CORE multithreaded
- SMT (Simultaneous Multi-Threading): ogni core può eseguire, simultaneamente, istruzioni di thread diversi.
- Aumenta la produttività di ciascun core.
- Nei processori moderni ogni core supporta SMT e può eseguire istruzioni da due o più peer thread.
- "Dual-threaded" indica un core che può eseguire contemporaneamente istruzioni di due thread distinti.
- "Dual-core" indica due core separati, ognuno dei quali può eseguire istruzioni di un diverso processo.
Ma l'SMT conviene?
- Sì, se lo speedup è maggiore il tempo di esecuzione, a fronte dei consumi, è minore.
CPU/CORE multithreaded (continua)
- Processori come quelli Intel i3 – i9 sono multi-core e dual-threaded.
- Altri processori, come il SUN SPARC T3, supportano un maggior numero di peer thread per core.
Per chi vuole approfondire
- Capitolo 4: Thread e Concorrenza.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Related Documents
Description
Scopri le motivazioni per l'utilizzo dei thread in questo capitolo. Analizza due processi che operano sugli stessi dati e le soluzioni per gestire le aree di dati separate. È fondamentale per applicazioni come editor di testo, dove la condivisione di dati è essenziale.