View Full Version : Linux e hypertreading
Ho una curiosità: Linux trae qualche vantaggio dall'utilizzo di un processore Pentium 4 con hypertreading ?
A me sembra di no, sia con ht abilitato che disabilitato mi sembra che vada uguale, ma magari non me ne accorgo...come dentro windows ;)
Un'altra domanda l'hypertreading in pratica "fa vedere" al sistema 2 CPU quando invece ce n'è una sola, non è che per farlo andare devo ricompilare il kernel abilitando il supporto al multiprocessore ?
E per utilizzare le meorie dual channel c'è qualcosa da fare ?
Vorrei spremere al massimo il mio sistema:
MSI 865PE - P4-2600C - 2x512 MB DDR PC3200
AnonimoVeneziano
19-06-2003, 21:46
Mmmh, a quanto ho capito neccessiti di un kernel SMP , mi posti cosa ti dice "cat /proc/cpuinfo" ?
Grazie
Ciao
Il P4-2600C lo metto su domani. Al momento nel mio PC c'è un P4-2400.
Siccome posso cambiarlo senza aggiungerci sopra un € volevo sapere se devo usare o meno un kernel particolare.
Con il 2400 che ho su al momento la risposta al comando che mi ha dato è questa:
processor : 0
vendor_id : GenuineIntel
cpu family : 15
model : 2
model name : Intel(R) Pentium(R) 4 CPU 2.40GHz
stepping : 4
cpu MHz : 2410.556
cache size : 512 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 2
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm
bogomips : 4810.34
Domani posto il risultato con l'altra CPU.
Secondo te allora con una CPU che supporta HT bisogna usare un kernel SMP ?
Per il dual channel non bisogna fare niente vero ?
ilsensine
20-06-2003, 07:15
Originally posted by "Daniele"
Secondo te allora con una CPU che supporta HT bisogna usare un kernel SMP ?
Sì. L'HT è come avere due processori, che condividono diverse risorse e quindi sono meno potenti di due processori "puri".
Ma in termini di prestazioni c'è differenza ?
Ve lo potrei dire io se solo sapessi come fare un benchmark sotto linux ... :D
Originally posted by "Daniele"
... non è che per farlo andare devo ricompilare il kernel abilitando il supporto al multiprocessore ?...
Non serve, la mandrake dovrebbe avere il kernel smp precompilato, basta che installi l'rpm
Originally posted by "lovaz"
Non serve, la mandrake dovrebbe avere il kernel smp precompilato, basta che installi l'rpm
lo so, ma di solito me lo ricompilo togliendo un bel po' di robaccia
AnonimoVeneziano
20-06-2003, 10:27
Infatti ti serve il kernel SMP , come vedi "cat /proc/cpuinfo" riporta solo una CPU
CIao
Ho installato un kernel smp e montato la cpu col supporto all' HT
il sistema vede comunque una sola CPU
[daniele@localhost daniele]$ uname -r
2.4.21-0.18mdksmp
[daniele@localhost daniele]$ cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 15
model : 2
model name : Intel(R) Pentium(R) 4 CPU 2.60GHz
stepping : 9
cpu MHz : 2611.744
cache size : 512 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 2
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm
bogomips : 5216.66
Strano...
dovresti vedere una riga
siblings: 2
Ho trovato questo:
http://lists.insecure.org/lists/linux-kernel/2002/Dec/3248.html
Sei sicuro che sul tuo proc sia attivato l'ht?
potrebbe avere il core di un p4 3.04 ht, e quindi segnalare il flag ht
inoltre alcuni hanno segnalato l'ht funzionante nei k. 2.5, ma non nei 2.4
boh?
non e' che per caso hai "noapic" nel lilo.conf?
La CPU e HT
ha il bus a 800 mhz e nel bios HT è abilitato. Addirittura Hypertreading è scitto sia sulla scatola della CPu che della MoBo
noapic non c'è nel lilo.conf.
Ora funziona.
non so se c'entra qualcosa, ma ho rimosso la riga acpi=off nel lilo.conf.
Adesso sapete consigliarmi un benchmark per vedere se c'è differenza tra l'utilizzo di un kernel normale e un kernel-smp
Questo è il risultato di cat /proc/cpuinfo
[daniele@localhost daniele]$ cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 15
model : 2
model name : Intel(R) Pentium(R) 4 CPU 2.60GHz
stepping : 9
cpu MHz : 2611.787
cache size : 512 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 2
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm
bogomips : 5216.66
processor : 1
vendor_id : GenuineIntel
cpu family : 15
model : 2
model name : Intel(R) Pentium(R) 4 CPU 2.60GHz
stepping : 9
cpu MHz : 2611.787
cache size : 512 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 2
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm
bogomips : 5216.66
DaRkBoDoM
21-06-2003, 00:52
Mhhh... ma l'Ht è in tutti i P4 o da una certa versione in poi?
Che io sappia, solo in quelli con il bus a 800 mhz
#!/bin/sh
21-06-2003, 07:52
Prova a vedere se migliorano le prestazioni nella compilazione. vedi quanto ci mette a compilare il kernel senza ht e poi abiliti l'ht e per compilare dai il comando:
make -j2 bzImage
In pratica lancia due make alla volta.
Ho provato a compilare lo stesso kernel utilizzando o meno l'hypertreading. E devo dire che la differenza si vede eccome...
Giudicate voi:
2min56" make -j2 con HT abilitato
3min27" make con HT abilitato
3min27" make con HT disabilitato
3min29" make -j2 con HT disabilitato
:eek: :eek: :eek:
#!/bin/sh
21-06-2003, 15:57
bouno a sapersi. :)
Originally posted by "Daniele"
Ho una curiosità: Linux trae qualche vantaggio dall'utilizzo di un processore Pentium 4 con hypertreading ?
A me sembra di no, sia con ht abilitato che disabilitato mi sembra che vada uguale, ma magari non me ne accorgo...come dentro windows ;)
il software deve supportare HT (se no ti puo andare anche piu lento :eek: )
AnonimoVeneziano
21-06-2003, 18:24
Originally posted by "Krakz"
il software deve supportare HT (se no ti puo andare anche piu lento :eek: )
Stai scambiando Linux con Windows mi sa :D
Comunque per sfruttarlo (cioè per avere un aumento prestazionale senza rallentamenti ) ci vogliono applicazioni MultiThreading che creino processi da far migrare (come make -j2 ad esempio) , infatti make normale non accusa alcun effetto
Ciao
Non è che qualcuno mi sa dire come fare per far andare in multithreading le applicazioni + diffuse ?
Se non me lo dicevate io continuavo ad usare il make senza il -j2 e la spesa per il processore HT non sarebbe servita a niente...
AnonimoVeneziano
21-06-2003, 20:00
Purtroppo è l'applicazione chedeve essere predisposta per il MultiThread
Ciao
come ti ha gia detto anonimo applicazioni come mplayer che sono state progettate per essere esclusivamente singlethread non riuscirai mai a farle andare con piu processi. l'unico rimedio sarebbe mettere mano nei sorgenti ma a volte è davvero proibitivo.
se ti puo essere di consolazione Matrix sul tuo P4 andrebbe molto bene. qui c'è il codice che gestisce l'agente smith :D
do
fork agent ( smith );
repeat;
ciao ;)
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.