Transparent hugepages zpomalují RAM?

trubicoid2

Transparent hugepages zpomalují RAM?
« kdy: 12. 06. 2012, 11:33:40 »
Kdyz ladim casovani pameti, tak pouzivam ramsmp benchmark (ramspeed/smp http://alasir.com/software/ramspeed). Nu i koukam, ze vysledky maji daleko vetsi rozptyl a jsou o neco nizsi, nez drive. Tak jsem vse prozkoumal a na vine je transparent hugepages, ktery je ted zapnut defaultne asi ve vsech distribucich.

S vypnutym nebo madvise mam v MMX nt vysledky o 7% vyzsi, mam K10 a DDR3. Mohl by nekdo vyzkouset nasledujici skript na nejakem intelu, jestli taky dojde ke zpomaleni? Jenom staci zmenit cpus na pocet jader, u intelu nevim, jestli zapocitat HT nebo ne, jestli se vysledek zlepsi. cycles 10 asi staci, pro presnejsi mereni muzete dat vic. Mezi madvise a never nevidim rozdil, always je pomalejsi, v SSE nt asi o 1.5% v MMX nt asi o 7.3%.

Kód: [Vybrat]
cpus=4
cycles=10
#test=(always madvise never)
test=(always madvise)

for i in /sys/devices/system/cpu/cpu?
        do
        echo "performance" > ${i}/cpufreq/scaling_governor
done

for i in ${test[@]}
do
        echo $i > /sys/kernel/mm/transparent_hugepage/enabled
                date >> log
                cat /sys/kernel/mm/transparent_hugepage/enabled >> log
                ramsmp -b3  -l$cycles -p$cpus     | grep BatchRun | grep AVE >> log
                ramsmp -b6  -l$cycles -p$cpus     | grep BatchRun | grep AVE >> log
                ramsmp -b9  -l$cycles -p$cpus     | grep BatchRun | grep AVE >> log
                ramsmp -b12 -l$cycles -p$cpus     | grep BatchRun | grep AVE >> log
                ramsmp -b15 -l$cycles -p$cpus -t0 | grep BatchRun | grep AVE >> log
                ramsmp -b15 -l$cycles -p$cpus -t1 | grep BatchRun | grep AVE >> log
                ramsmp -b15 -l$cycles -p$cpus -t2 | grep BatchRun | grep AVE >> log
                ramsmp -b18 -l$cycles -p$cpus -t0 | grep BatchRun | grep AVE >> log
                ramsmp -b18 -l$cycles -p$cpus -t1 | grep BatchRun | grep AVE >> log
                ramsmp -b18 -l$cycles -p$cpus -t2 | grep BatchRun | grep AVE >> log
done

for i in /sys/devices/system/cpu/cpu?
        do
        echo "ondemand" > ${i}/cpufreq/scaling_governor
done
« Poslední změna: 18. 06. 2012, 14:20:46 od Petr Krčmář »