Reducing the I/O volume in an out-of-core sparse multifrontal solver
Author :
Agullo, Emmanuel Guermouche, Abdou L'Excellent, Jean-Yves Laboratoire de l'informatique du parallélisme
Abstract :
(eng) High performance sparse direct solvers are often a method of choice
in various simulation problems. However, they require a large
amount of memory compared to iterative methods. In this context,
out-of-core solvers must be employed, where disks are used when
the storage requirements are too large with respect to the physical
memory available. In this paper, we study how to minimize the
I/O requirements in the multifrontal method, a particular direct
method to solve large-scale problems efficiently. From a theoretical
point of view, we show that minimizing the storage requirement
can lead to a huge volume of I/O compared to directly minimizing
the I/O volume. Then experiments on large real-life problems
also show that the volume of I/O obtained when minimizing the
storage requirement can be significantly reduced by applying algorithms
designed to reduce the I/O volume. We finally propose
efficient memory management algorithms that can be applied to all
the variants proposed.
(fre) Les solveurs creux directs sont souvent une méthode de choix pour
traiter divers problèmes de simulation. Néamoins, ils requièrent une
capacité mémoire importante par rapport aux méthodes itératives.
Dans ce contexte, des solveurs out-of-core doivent être employés,
où les disques sont utilisés lorsqu’il devient nécessaire d’utiliser plus
de mémoire que n’en dispose la machine. Dans ce papier, nous
étudions comment minimiser le volume d’entrées/sorties dans la
méthode multifrontale (une méthode directe particulière), afin de
résoudre efficacement des problèmes de grande taille. Nous montrons
d’un point de vue théorique que minimiser le volume d’entrées/sorties ne se ramène justement pas à minimiser les besoins
mémoires. Des expérimentations sur des problèmes académiques et
industriels de grande taille montrent ensuite que le volume d’entrées/sorties obtenu en minimisant les besoins mémoire peut être
réduit de manière significative en appliquant des algorithmes spéci
fiquement conçus pour réduire le volume d’entrées/sorties. Nous
proposons finalement des algorithmes de gestion mémoire efficaces
pour toutes les variantes étudiées.