Pages: [1]   Go Down
Print
Author Topic: Hyperthreading  (Read 2000 times)
0 Members e 1 Utente non registrato stanno visualizzando questa discussione.
wasp46
Matricola
*
Offline Offline

Posts: 14



« on: 22-04-2014, 09:53:48 »

Ciao, vi pongo questo quesito presente anche nel libro:

avendo tre processi P0 P1 P2 rispettivamente avviati in 5, 10 e 20 ms, in un sistema con due CPU e ogni CPU con due thread se tutti e tre i processi occupano la CPU al 100% non si bloccano durante l'esecuzione e non cambiano CPU una volta assegnata, quanto tempo impiegherà l' esecuzione di questi tre programmi?

Io ho ragionato in questo modo, dato che come dice il libro "il multithreading non offre un parallelismo reale" e dalle ipotesi dell' esercizio ogni processo occupa al 100% la CPU la mia risposta è 35 ms. Che dite?
« Last Edit: 22-04-2014, 15:24:18 by wasp46 » Logged
ɹǝǝuıƃuǝsɹǝʌǝɹ
Administrator
God of the Forum
*****
Offline Offline

Gender: Male
Posts: 4.474


Più grande è la lotta, e più è glorioso il trionfo


WWW
« Reply #1 on: 22-04-2014, 11:31:37 »

Ciao, vi pongo questo quesito presente anche nel libro:

avendo due processi P0 P1 P2
I processi sono due o tre?

rispettivamente avviati in 5, 10 e 20 ms [...] 35 ms. Che dite?
Il tempo di avvio è anche la durata di tempo per cui dovrebbero bloccare il processore per loro?
Logged

La grande marcia della distruzione mentale proseguirà. Tutto verrà negato. Tutto diventerà un credo. È un atteggiamento ragionevole negare l'esistenza delle pietre sulla strada; sarà un dogma religioso affermarla. È una tesi razionale pensare di vivere tutti in un sogno; sarà un esempio di saggezza mistica affermare che siamo tutti svegli. Accenderemo fuochi per testimoniare che due più due fa quattro. Sguaineremo spade per dimostrare che le foglie sono verdi in estate. Non ci resterà quindi che difendere non solo le incredibili virtù e saggezze della vita umana, ma qualcosa di ancora più incredibile: questo immenso, impossibile universo che ci guarda dritto negli occhi. Combatteremo per i prodigi visibili come se fossero invisibili. Guarderemo l'erba e i cieli impossibili con uno strano coraggio. Saremo tra coloro che hanno visto eppure hanno creduto.

In tutto, amare e servire.

  
                            ن                           
I can deal with ads,
I can deal with buffer,
but when ads buffer
I suffer...

...nutrimi, o Signore, "con il pane delle lacrime; dammi, nelle lacrime, copiosa bevanda...

   YouTube 9GAG    anobii  S  Steam T.B.o.I. Wiki [univ] Lezioni private  ʼ  Albo d'Ateneo Unicode 3.0.1
Usa "Search" prima di aprire un post - Scrivi sempre nella sezione giusta - Non spammare - Rispetta gli altri utenti - E ricorda di seguire il Regolamento
wasp46
Matricola
*
Offline Offline

Posts: 14



« Reply #2 on: 22-04-2014, 15:23:24 »

Ciao, vi pongo questo quesito presente anche nel libro:

avendo due processi P0 P1 P2
I processi sono due o tre?

I processi sono 3 sorry

rispettivamente avviati in 5, 10 e 20 ms [...] 35 ms. Che dite?
Il tempo di avvio è anche la durata di tempo per cui dovrebbero bloccare il processore per loro?

eh guarda credo di si perchè il problema non fornisce altri dati Wink
Logged
ɹǝǝuıƃuǝsɹǝʌǝɹ
Administrator
God of the Forum
*****
Offline Offline

Gender: Male
Posts: 4.474


Più grande è la lotta, e più è glorioso il trionfo


WWW
« Reply #3 on: 22-04-2014, 16:14:21 »

Allora, dovrò fare anche la seguente assunzione:
"i processi vengono avviati allo stesso istante, ma hanno un ordine di priorità nella scelta dei processori: prima P0, poi P1 e poi P2"

In questo caso, considerato che il "multithreading" non offre parallelismo reale (ok), e che non stiamo parlando di "core" ma di semplici processori (e, dunque, non so, a questo punto, che significhi una scrittura come "ogni CPU con due thread" ), direi che il tempo di esecuzione totale (overhead del sistema operativo che switcha l'uso delle varie CPU escluso) è di 25 ms.

Infatti, secondo la priorità assegnata, i primi due processi a cui viene assegnato un processore sono P0 e P1 (diciamo alla CPU1 e alla CPU2); dopo 5 ms, la CPU1 è di nuovo libera (la 2 no), quindi potrà accogliere il (ed essere assegnata al) processo P2, che impiega altri 20 ms. Nel frattempo, la CPU2 avrà già concluso il lavoro in soli 10 ms, quindi ben prima dei 5+20=25 ms, dunque il tempo totale sarà il tempo per cui sarà usata per più tempo una CPU, e cioè la CPU1, per globali 25 ms.

Questa sarebbe la risposta con tutti gli assunti fatti .
Logged

La grande marcia della distruzione mentale proseguirà. Tutto verrà negato. Tutto diventerà un credo. È un atteggiamento ragionevole negare l'esistenza delle pietre sulla strada; sarà un dogma religioso affermarla. È una tesi razionale pensare di vivere tutti in un sogno; sarà un esempio di saggezza mistica affermare che siamo tutti svegli. Accenderemo fuochi per testimoniare che due più due fa quattro. Sguaineremo spade per dimostrare che le foglie sono verdi in estate. Non ci resterà quindi che difendere non solo le incredibili virtù e saggezze della vita umana, ma qualcosa di ancora più incredibile: questo immenso, impossibile universo che ci guarda dritto negli occhi. Combatteremo per i prodigi visibili come se fossero invisibili. Guarderemo l'erba e i cieli impossibili con uno strano coraggio. Saremo tra coloro che hanno visto eppure hanno creduto.

In tutto, amare e servire.

  
                            ن                           
I can deal with ads,
I can deal with buffer,
but when ads buffer
I suffer...

...nutrimi, o Signore, "con il pane delle lacrime; dammi, nelle lacrime, copiosa bevanda...

   YouTube 9GAG    anobii  S  Steam T.B.o.I. Wiki [univ] Lezioni private  ʼ  Albo d'Ateneo Unicode 3.0.1
Usa "Search" prima di aprire un post - Scrivi sempre nella sezione giusta - Non spammare - Rispetta gli altri utenti - E ricorda di seguire il Regolamento
wasp46
Matricola
*
Offline Offline

Posts: 14



« Reply #4 on: 22-04-2014, 16:18:36 »

Ti ringrazio, con la tua risposta mi è adesso più chiaro il concetto anche perchè non mi era chiara l' ipotesi "considerate un sistema con due CPU e ogni CPU con due thread ( hyperthreading)" in quanto l' architettura core della intel non dispone di hyperthreading (fonte: il libro ), quindi credevo di aver fatto confusione
« Last Edit: 22-04-2014, 16:24:03 by wasp46 » Logged
Pages: [1]   Go Up
Print
Jump to: