PDA

View Full Version : 4 cpu supportata da quale distro?


ToysLand
15-05-2004, 19:48
Salve ho un vecchio server qui a casa con 4 cpu, e volevo sapere quale distro sfrutta questa caratteristica, oppure se tutte quanto hanno tale supporto.
grazie 1000

Ikitt_Claw
15-05-2004, 19:51
Originariamente inviato da ToysLand
volevo sapere quale distro sfrutta questa caratteristica

Qualunque kernel con supporto SMP, AFAIK.

ToysLand
16-05-2004, 09:24
ti ringrazio ora installo poi vediamo

cdere
16-05-2004, 11:04
aspetta.. c'è da far chiarezza...
in ogni modo la distro sfrutterà 1 solo processore... se il kernel ha supporto SMP le 4 cpu verranno sfruttate SOLO dal kernel...
se vuoi pieno supporto, installa gentoo e ricompilati tutto con pieno supporto per le 4 cpu
:cool:

Ikitt_Claw
16-05-2004, 11:19
Originariamente inviato da cdere
se il kernel ha supporto SMP le 4 cpu verranno sfruttate SOLO dal kernel...
se vuoi pieno supporto, installa gentoo e ricompilati tutto con pieno supporto per le 4 cpu


Puoi spiegarti meglio? Solitamente l'userland non ha coscienza (ne interesse a sapere) quante CPU ha a disposizione il sistema, e` appunto compito del kernel gestirle.

eclissi83
16-05-2004, 11:54
chiedo venia, ma se il kernel ha il supporto per il multiprocessore i programmi lo usano... e se non erro, quando si compila un programma e c'è il supporto per l'smp vengono eseguite istruzioni precise atte a sfruttare questo supporto (cosa che non accade, ovviamente con i precompilati)...

riaw
16-05-2004, 12:18
Originariamente inviato da ToysLand
Salve ho un vecchio server qui a casa con 4 cpu, e volevo sapere quale distro sfrutta questa caratteristica, oppure se tutte quanto hanno tale supporto.
grazie 1000


SCUSA l'ot, ma che server hai a casa con 4 cpu?:D

malanaz
16-05-2004, 12:37
Scusa cdere, così appare che non ci sia giovamento ad avere più cpu... In realtà lo si ha sempre (dopo aver compilato un kernel con smp). Il problema è che il giovamento è presente solo nel multitasking, perchè il kernel ripartisce i singoli processi nelle varie cpus, quindi lanciando contemporaneamente più applicazioni, queste vengono eseguite ognuna su una cpu.
Poi per quello che riguarda la compilazione degli applicativi con l'opzione di parallelizzazione non è detto che ci sia un sostanziale miglioramento. Il codice sorgente, infatti, dovrebbe essere già scritto in forma parallela, altrimenti si devono passare al compilatore le opzioni di autoparallelizzazione (che a quel che so riescono solo a rendere paralleli i cicli do..) che non sempre danno grandi benefici.

Ikitt_Claw
16-05-2004, 12:47
Originariamente inviato da eclissi83
e se non erro, quando si compila un programma e c'è il supporto per l'smp vengono eseguite istruzioni precise atte a sfruttare questo supporto (cosa che non accade, ovviamente con i precompilati)...

Mai visto, che ricordi. Esempio?

Jøhñ Ðøë
16-05-2004, 12:56
basta avere il kernel con SMP... ovviamente. In userland sannò un +++++ di quante cpu ha il sistema.

lovaz
16-05-2004, 12:59
Originariamente inviato da Ikitt_Claw
Mai visto, che ricordi. Esempio?
Penso si riferisca al multithreading (mencoder?)

eclissi83
16-05-2004, 14:23
Originariamente inviato da lovaz
Penso si riferisca al multithreading (mencoder?)
esatto ad applicazioni come il video editing...

Ikitt_Claw
16-05-2004, 15:05
Originariamente inviato da eclissi83
esatto ad applicazioni come il video editing...

Le applicazioni multithreaded/multiprocesso sono tali indipendentemente da come sono compilate e dal numero di CPU su cui girano;
Il discorso editing video mi pare completamente ortogonale a questo
(inoltre il citato ,player/mencoder e` completamente monoprocesso/monothread, almeno sino alla 1.0pre3)

eclissi83
16-05-2004, 15:51
Originariamente inviato da Ikitt_Claw
Le applicazioni multithreaded/multiprocesso sono tali indipendentemente da come sono compilate e dal numero di CPU su cui girano;
Il discorso editing video mi pare completamente ortogonale a questo
(inoltre il citato ,player/mencoder e` completamente monoprocesso/monothread, almeno sino alla 1.0pre3)
non so l'applicazione in questione, ma un programma multithread (almeno secondo logica) funziona meglio se con più processori e quindi sono (sempre secondo logica) le più indicate per testare l'efficienza di sistemi multiprocessore...

se non è così, me ne scuso

Ikitt_Claw
16-05-2004, 16:52
Originariamente inviato da eclissi83
multithread (almeno secondo logica) funziona meglio se con più processori

Non sono sicuro che sia ottimale avere thread su CPU diverse, per via di trashing della cache e altre cose, apparte questo...

e quindi sono (sempre secondo logica) le più indicate per testare l'efficienza di sistemi multiprocessore...
... d'accordissimo, ma questo non e` quanto detto in precedenza nel thread...

Nella fattispecie, un'applicazione che usa i thread sara` tale sia compilata su un monoCPU sia su un multiCPU, e non e` certo gcc con -O2 che fa nascere le fork() nel codice ;)

NA01
16-05-2004, 16:56
scusate se mi intrometto, ma già che ci sono chiedo qui ;)
se io uso pthread_create non basta?
sto facendo un programmino da far girare su due processori, e se non funzia così allora sarà il caso di darci una sistematina e mettere tutto su fork (anche se la vedo piuttosto grigia :( )

ciao

Ikitt_Claw
16-05-2004, 16:57
Originariamente inviato da NA01
scusate se mi intrometto, ma già che ci sono chiedo qui ;)
se io uso pthread_create non basta?
sto facendo un programmino da far girare su due processori, e se non funzia così allora sarà il caso di darci una sistematina e mettere tutto su fork (anche se la vedo piuttosto grigia :( )


Discorso complesso, penso ti convenga aprire un'altro thread, magari in programmazione (occhio al rumore di fondo :rolleyes: ).
E penso ti convenga anche fare un po` di prove pratiche ;)

lovaz
18-05-2004, 09:00
Originariamente inviato da Ikitt_Claw
(inoltre il citato ,player/mencoder e` completamente monoprocesso/monothread, almeno sino alla 1.0pre3)
None, usa pthreads ;)

ilsensine
18-05-2004, 09:08
Originariamente inviato da NA01
scusate se mi intrometto, ma già che ci sono chiedo qui ;)
se io uso pthread_create non basta?

Sì basta, ma occhio alle cacheline ;)
Come ti ha suggerito Ikitt_Claw, è un discorso che non si affronta in 5 min.

Ikitt_Claw
18-05-2004, 09:26
Originariamente inviato da lovaz
None, usa pthreads ;)

Mi risulta di no: ricordo discussioni in merito sulla ML di mplayer, e l'esistenza del (defunto) mplayer-xp e` dovuta proprio al rifiuto di introdurre i thread in mplayer, ma non ho modo di verificare adesso.

Stasera posto la mia riga ./configure e il mio ldd ;)

lovaz
18-05-2004, 09:39
Originariamente inviato da Ikitt_Claw
Mi risulta di no: ricordo discussioni in merito sulla ML di mplayer, e l'esistenza del (defunto) mplayer-xp e` dovuta proprio al rifiuto di introdurre i thread in mplayer, ma non ho modo di verificare adesso.

Stasera posto la mia riga ./configure e il mio ldd ;)
Ehm... prova un grep sui sorgenti, qualcosa c'e' ;)