[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: come disabilitare parzialmente la cache L2?



ho una matrice di 3.628.800 byte che viene elaborata da un programma
(che non sto qui a dirvi che fa, visto che non centra con la domanda).
ma che mette in ginocchio la cpu, vista la mole di calcoli da eseguire.

la cosa mi interessa... (sono, in fin dei conti, un numerico...)

Ora, la cache L2 del mio pc e' di 1024k e non ce la fa ovviamente
contenere tutta la matrice, per cui ho un miss (mediamente) ogni 3
interrogazioni della matrice.

Ora, vorrei verificare quali sono le prestazioni date in piu' dalla
quantita' di cache L2.
In altre parole, vorrei disabilitare meta' e poi 3/4 della cache per
comparare i tempi (e le differenti prestazioni) i funzione della
quantita' di cache disponibile.

Domanda:
si puo', via software, (e se si come) impostare la quantita' massima di
memoria cache usabile? Un equivalente del "mem=xxxM" che si da' per
forzare la ram ad un determinato valore quando si fa il boot con lilo...

mi sembra di ricordare ci fosse la possibilita' di abilitare o meno la
cache quando compili il kernel, ma questo vuol dire che tutto il so no
utilizzera la cache e vuol dire _uccidere_ la macchina!

la mia domanda, quindi, e': perche' vuoi disabilitare la cache?
Secondo me, a parita' di cache disponibile sul sistema (e cmq sia, un
motivo ci sara' perche' l'itanum ha 6mb di ram...), devi tenere
presente come vengono acceduti i dati della matrice.

Ma l'algoritmo lo stai sviluppando tu oppure e' una black box che puoi
solo utilizzare? Se e' vera la prima, puoi provare ad ottimizzare
l'accesso alla matrice. Nel secondo caso... beh, fai girare il
programma di notte o in pausa pranzo... :))

Ciao, e tienimi informato

--
Sandro Tosi (aka Morpheus, matrixhasu)
My (little) site: http://matrixhasu.altervista.org/



Reply to: