erlug
[Top] [All Lists]

Re: [Erlug] aumentare la memoria allocata ad un processo

To: erlug@xxxxxxxxxxxxxx
Subject: Re: [Erlug] aumentare la memoria allocata ad un processo
From: Davide Bolcioni <db_erlug@xxxxxxxx>
Date: Wed, 02 Mar 2005 22:10:07 +0100
Federico Calboli ha scritto:
On Wed, 2005-03-02 at 12:41 +0100, Davide Alberani wrote:

dal punto di vista del calcolo, fa operazioni algebriche (anche
abbastanza complesse) su un matricione 23000 x 23000 (circa) che e`
quadrato e simmetrico, per cui li fa solo su mezza (e richiede quindi
2.3 Gig di memoria di qualche tipo).

Ok, se la matrice è simmetrica effettivamente adattando opportunamente il programma che svolge il calcolo la memoria dovrebbe bastare: resta la considerazione che sforare la RAM fisica e passare in swap generalmente uccide la performance. Usando hardware Intel anche di fascia server, non mi stupirebbe che tra il calcolo di una matrice 20000 x 20000, che sta in RAM, e una 23000 x 23000 che non ci sta, si pagasse un fattore 1000 a moltiplicare il costo della dimensione addizionale (molti algoritmi matriciali sono O(n^3) se la memoria non mi inganna: pagato questo scotto si moltiplichi per 1000 causa trashing da e per il disco).

Non sono uno specialista di analisi numerica: mi risulta che questi problemi vengano affrontati in apposite librerie, controllerei ad esempio LAPACK, utilizzando algoritmi che fanno sforzi inumani per usare al meglio la cache, la memoria e il disco gestendoli esplicitamente invece di lasciare che il S.O. tiri a indovinare senza sapere se il programma si sta occupando di calcolare determinanti o mostrare i cartoni animati.

Davide Bolcioni
--
There is no place like /home.


<Prev in Thread] Current Thread [Next in Thread>