View Full Version : [discussione generale]
nuovoUtente86
17-11-2007, 13:49
Leggevo che per sfruttare al meglio i processori dual core o in generale multicore il software deve essere ottimizzato al multitread e questo è vero,però si diceva anche che in caso di non ottimizzazione si rischia di lasciare un core inutilizzato.Questa ultima affermazione mi fa un po strano in quanto comunqye il sistema operativo dovrebbe essere in grado di sfruttare al meglio la cpu sottostante ance nel caso un programma non utilizzi la multiprogrammazione.Cosa ne pensate?
Sono tutte cagate, per sfruttare due cpu bastano due thread distinti, e ormai quale software non usa almeno due thread?
nuovoUtente86
17-11-2007, 19:59
quello che voglio dire è che ammesso che un programma utilizzasse anche un solo thread(o processo) il sistema operativo dovrebbe essere in grado di sfruttare l' altro core eseguendo qualche altra cosa.
Non è detto che debba essere un unico programma ad eseguire sulla cpu o sbaglio.
Bhe quello è ovvio... se hai due core e fai due cose, una lo fa uno e una lo fa altro.
Ma se esegui un unico programma che ha un solo thread, e magari questo programma ti fa dei calcoli con un ciclo, il tempo ad eseguire i calcoli è determinato solo da un core, se esegui due istanze dello stesso programma entrambi ci impiegano lo stesso tempo(come se ne eseguissi solo uno), xkè uno va su un core e uno sull'altro.
però si diceva anche che in caso di non ottimizzazione si rischia di lasciare un core inutilizzato. si rischia. significa, giustamente, che non si possono fare assunzioni sul core sul quale il sistema operativo deciderà di schedulare un processo monothread.
quello che voglio dire è che ammesso che un programma utilizzasse anche un solo thread(o processo) il sistema operativo dovrebbe essere in grado di sfruttare l' altro core eseguendo qualche altra cosa.
Non è detto che debba essere un unico programma ad eseguire sulla cpu o sbaglio. non solo: lo stesso thread in momenti diversi potrebbe anche andare su core diversi.
Il core non sarà utilizzato da quel preciso processo/applicazione(essendo monothread) ma stai tranquillo che sull'altro core qualcosa ci viene messo visto che c'è sempre qualche processo che gira in background.
nuovoUtente86
18-11-2007, 00:09
Il core non sarà utilizzato da quel preciso processo/applicazione(essendo monothread) ma stai tranquillo che sull'altro core qualcosa ci viene messo visto che c'è sempre qualche processo che gira in background.
esatto,propri quest dicevo.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.