• Aucun résultat trouvé

3.8 R´ esultats exp´ erimentaux

Dans cette section nous pr´esentons des r´esultats exp´erimentaux pour les algo-rithmes3.3 et3.4.

Pour nos tests, nous avons utilis´e le logiciel MUMPS. Nous avons impl´ement´e l’algo-rithme ainsi que les diff´erentes heuristiques dans la phase d’analyse de MUMPS et nous calculons statiquement l’occupation m´emoire pour chacun des parcours de l’arbre d’as-semblage. Dans ce simulateur, l’arbre est parcouru en remont´ee d’abord (ce parcours est celui utilis´e `a la factorisation) en g´en´erant les informations correspondant `a chacun des algorithmes/heuristiques de mani`ere `a avoir en sortie le pic m´emoire. Ceci nous permet d’analyser les r´esultats de chacun des algorithmes sans avoir `a impl´ementer le nouveau processus multifrontal dans la factorisation num´erique elle-mˆeme qui est tr`es li´ee au lo-giciel utilis´e. Il est important de signaler que pour nos exp´eriences, nous avons consid´er´e un stockage non-sym´etrique des matrices frontales mˆeme pour les matrices sym´etriques.

Nous avons utilis´e des arbres d’assemblages g´en´er´es par diff´erentes techniques de re-num´erotation : AMD (Approximate Minimum Degre) [6], AMF (approximate Minimum Fill) tel qu’impl´ement´e dans MUMPS, PORD [52] et METIS [37]. Les probl`emes utilis´es sont list´es dans le tableau 3.1 et sont num´erot´es de 1 `a 45. Une description d´etaill´ee de ces probl`emes est donn´ee dans l’annexe C. Enfin, les exp´erimentations ont ´et´e faites sur un nœud de la machine IBM SP de l’IDRIS1 qui offre suffisamment de m´emoire pour effectuer la phase d’analyse de toutes ces matrices (voir l’annexe Cpour plus de d´etails).

3.8.1 M´ emoire Active

Les r´esultats des mesures effectu´ees pour chacune des matrices avec les quatre tech-niques de renum´erotation sont donn´es dans la figure 3.5. Signalons tout d’abord que les r´esultats correspondant aux matrices 8, 9, et 10 ne sont pas donn´es dans les figures mais dans les l´egendes (voir les l´egendes de la figure 3.5) pour des raisons d’´echelle. Comme pr´evu, nous pouvons observer que l’approche optimale d´ecrite par l’algorithme 3.3 (nor-malis´ee `a 1) est toujours la meilleure. Les gains obtenus sont bons en comparaison des pics obtenus par la variante de l’algorithme de Liu (algorithme 3.1) et l’activation syst´ema-tique du p`ere apr`es le traitement du premier fils (section3.4.1.2). Nous pouvons constater que les gains les plus significatifs par rapport `a la variante de l’algorithme de Liu ont ´et´e obtenus sur des arbres tr`es larges (les matrices GUPTA) pour lesquels le stockage de tous les blocs de contribution des fils avant l’activation du p`ere est tr`es coˆuteux. De plus, nous pouvons constater que suivant la technique de renum´erotation utilis´ee, les gains peuvent ˆetre plus ou moins importants. Par exemple, l’algorithme 3.3 semble ˆetre relativement plus performant avec les arbres g´en´er´es par AMD. Ceci peut ˆetre expliqu´e par le fait qu’AMD produit des arbres plutˆot profonds avec des nœuds de taille importante ayant de gros blocs de contribution sur le haut de l’arbre (voir le chapitre 2). De plus, dans le cas d’AMD, le pic m´emoire est souvent atteint dans une op´eration d’assemblage. Ainsi,

1Institut du D´eveloppement et des Ressources en Informatique Scientifique

probl`emes sym´etriques

1. 3DTUBE 9. GUPTA2 17. S3DKQ4M2

2. AUDIKW 1 10. GUPTA3 18. S3DKT3M2

3. BCSSTK34 11. MSDOOR 19. SHIP 003

4. BCSSTK38 12. M T1 20. STRUCT4

5. BMWCRA 1 13. NASA1824 21. THREAD

6. CFD2 14. NASA2910 22. VIBROBOX

7. CRANKSG2 15. NASA4704

8. GUPTA1 16. OILPAN

probl`emes non-sym´etriques

23. AF23560 31. LI 39. TWOTONE

24. BIG 32. MCHLNF 40. ULTRASOUND3

25. CIRCUIT 4 33. MIXING TANK 41. VENKAT50

26. EPB3 34. ONETONE1 42. WANG1

27. GARON02 35. PRE2 43. WANG3

28. GRAHAM1 36. RMA10 44. XENON2

39. GRID48 37. SAYLR1

30. INVEXTR1 38. THERMAL

Tab. 3.1 – Matrices de test.

l’anticipation de l’allocation du p`ere peut potentiellement diminuer le pic. `A l’oppos´e, avec les arbres g´en´er´es par METIS, l’algorithme3.3 donne pour beaucoup de cas tests le mˆeme pic m´emoire que celui de la variante de l’algorithme de Liu. Ceci est principalement du `a la r´egularit´e et le bon ´equilibre des arbres produits par METIS (voir le chapitre 2).

De plus, dans le cas de METIS, le pic est souvent atteint dans le haut de l’arbre o`u g´en´eralement la somme des tailles des blocs de contribution des fils est plus petite que la taille du p`ere.

Enfin, en ce qui concerne AMF et PORD, l’algorithme3.3donne souvent un pic proche de celui donn´e par la variante de l’algorithme de Liu. Ceci peut ˆetre expliqu´e par le fait que ces algorithmes de renum´erotation produisent des arbres tr`es d´es´equilibr´es avec de petits nœuds et de petits blocs de contribution, dans lesquels l’anticipation du p`ere ne va pas diminuer le pic.

Il est important de signaler que pour les tous cas de test, l’algorithme 3.3 est meilleur que les deux autres approches. Ceci illustre que la souplesse concernant l’activation du p`ere introduite par l’algorithme peut ˆetre b´en´efique.

3.8.2 M´ emoire totale

Les r´esultats des mesures effectu´ees pour chacune des matrices avec les quarres tech-niques de renum´erotation sont donn´es dans la figure 3.6. Nous comparons dans cette figure les trois algorithmes suivants :

3.8. R ´ESULTATS EXP ´ERIMENTAUX 49

(a) AMD. Les gains de l’algorithme3.3 par rapport `a l’algorithme 3.1 sont ´egaux `a 14.5, 10.1 et 14.5 pour les matrices 8, 9, et 10, respectivement.

1

(b) AMF. Les gains de l’algorithme3.3 par rapport `a l’algorithme3.1 sont ´egaux `a 10.9, 9.4 et 1.2 pour les matrices 8, 9, et 10, respectivement.

1

(c) PORD. Les gains de l’algorithme3.3par rapport `a l’algorithme 3.1 sont ´egaux `a 86.7, 18.1, et 19.0 pour les matrices 8, 9, et 10, respectivement.

1

(d) METIS. Les gains de l’algorithme 3.3par rapport

`a l’algorithme3.1sont ´egaux `a 27.2, 17.5, et 19.6 pour les matrices 8, 9, et 10, respectivement.

Fig. 3.5 – Comparaison des pics de m´emoire active mesur´es entre l’algorithme 3.3 (nor-malis´e `a 1), la variante de l’algorithme de Liu, l’activation anticip´ee du p`ere.

– L’algorithme 3.2, c’est `a dire l’algorithme optimal pour la minimisation de la m´e-moire totale dans le sch´ema standard de la m´ethode multifrontale.

– L’algorithme dans lequel le p`ere est syst´ematiquement allou´e apr`es le traitement du premier fils. Ces derniers sont class´es dans l’ordre d´ecroissant de leur Tei,j −f ei,j. Nous appellerons cet algorithme : algorithme d’allocation anticip´ee du p`ere.

– L’algorithme 3.4

Signalons tout d’abord que tout comme pour le cas de la minimisation de la m´emoire active les r´esultats correspondant aux matrices 8, 9, et 10 ne sont pas donn´es dans les figures mais dans les l´egendes de la figure 3.6. De plus, il est `a noter que dans le cas o`u le graphe de la matrice est constitu´e de plusieurs arbres, nous mesurons le pic m´emoire sur l’arbre le plus coˆuteux. En effet, la minimisation de la m´emoire totale dans ce cas passe par une minimisation intra-arbre (en appliquant l’heuristique voulue) suivie d’un classement des arbres dans l’ordre d´ecroissant de leurT −f (voir la section 3.4.2).

Nous pouvons constater que l’algorithme 3.4 donne toujours les meilleurs r´esultats.

De plus, nous pouvons constater que l’algorithme d’allocation anticip´ee du p`ere a sur un grand nombre de cas une performance ´equivalente `a celle de l’algorithme 3.4. Ceci peut ˆetre expliqu´e par le fait que l’accumulation des facteurs pendant le parcours de l’arbre ne laisse pas beaucoup de libert´e `a l’algorithme 3.4. Ainsi, l’algorithme d’alloca-tion anticip´ee du p`ere produit un ordre optimal dans le haut de l’arbre pour un certain nombre de couples matrice, algorithme de renum´erotation. Enfin, nous observons que l’algorithme3.2 (sans pr´e-allocation du p`ere) donne des performances moins bonnes que celles de l’algorithme3.4. Ceci est principalement dˆu au fait que le p`ere est assembl´e, pour l’algorithme 3.2, apr`es que tous ses fils aient ´et´e trait´es. De ce fait, `a chaque niveau de l’arbre, les blocs de contributions s’accumulent avant l’activation du p`ere, ce peut avoir un effet n´egatif sur le pic de m´emoire totale. L’illustration de ce ph´enom`ene peut ˆetre observ´ee dans le cas des matrices 8, 9 et 10 pour lesquelles les arbres correspondant sont tr`es larges ce qui implique le stockage d’un nombre important de blocs de contribution.