Parallélisation de P.D. utilisant la technique de la dominance pour le sac à dos 0-1 Journées franciliennes 2006 Moussa ELKIHEL (LAAS-CNRS;UPS Toulouse ) Didier EL BAZ ( LAAS-CNRS ; Toulouse) Journées franciliennes 2006
Journées franciliennes 2006 Plan Sac à dos 0-1 :formulation Programmation dynamique :listes Algorithme parallèle Équilibrage Résultats numériques Conclusion Journées franciliennes 2006 Journées franciliennes 2006
Sac à dos 0-1: Formulation (K) Journées franciliennes 2006 Avec les conditions classiques : Journées franciliennes 2006
Programmation Dynamique (PD) : Méthode des listes La programmation dynamique est une méthode récursive composée de n étapes. Soit l’étape (k-1) k=1,…n Liste Propriétés des couples Journées franciliennes 2006 Réalisables : Non dominés : Journées franciliennes 2006
Journées franciliennes 2006 Étape (k) k=1,…n : construction de à partir de : Nouveaux couples :Couples dominés þ î ý ü í ì ³ ¢ £ È Î $ = - , ) ( 1 p w avec N L D k Journées franciliennes 2006 Complexité temporelle Journées franciliennes 2006
Journées franciliennes 2006 Exemple: ; ) 51 , 16 ( ), 47 15 46 14 43 13 39 12 38 11 34 10 32 9 29 8 25 7 24 6 20 5 4 3 2 1 = L ) 52 , 16 )( 51 15 ( ), 47 14 39 13 36 12 32 11 31 10 27 9 6 = N ) 51 , 16 )( 47 15 ( ), 46 14 39 13 36 12 32 11 31 10 27 9 6 = D Journées franciliennes 2006 ) 52 , 16 ( ), 51 15 47 14 43 13 39 12 38 11 34 10 32 9 29 8 25 7 24 6 20 5 4 3 2 1 = L Solution optimale Le couple optimal Journées franciliennes 2006
Journées franciliennes 2006 Algorithme parallèle Architecture utilisée: Model (SPMD):Single Program Multiple Data Machine à mémoire partagée Processeurs (NUMA):NonUniform Memory Access Machine Origine 3800 : Environnement Open MP Journées franciliennes 2006 Les processeurs communiquent par échange de données Journées franciliennes 2006
Journées franciliennes 2006 Coopération des processeurs Soit processeurs Liste Journées franciliennes 2006 Liste Liste Journées franciliennes 2006
{ } Les données partagées par les processeurs w w Le plus petit poids , 1 i k w - , 1 + - i k w Le plus petit poids Le plus petit poids Journées franciliennes 2006 { } , 1 ) ( + - < £ Î = i k j w L p N Journées franciliennes 2006
Journées franciliennes 2006 Exemple: ; k=4 (0,0)(1,4)(2,5)(3,9)(4,12) (5,20)(6,24)(7,25) (8,29)(9,32)(10,33)(11,37) k=5 (13,43)(14,46)(15,47) (16,51) (5,14)(6,18)(7,19) (8,23)(9,26)(10,34) (11,38)(12,39) (8,23)(9,26)(10,33) (11,37) (5,20)(6,24) (7,25) (8,29)(9,32)(10,34)(11,38)(12,39)(13,43)(14,46) (15,47)(16,51) Nouveaux Envoyés Journées franciliennes 2006 Dominés Journées franciliennes 2006
Alors il faut équilibrer Équilibrage de charge Dynamique = Le nombre total des couples sur tous les processeurs = La taille de la liste la plus longue = le temps moyen pour calculer un couple = le temps moyen pour écrire un couple = le temps moyen pour lire un couple = Surcoût du travail Journées franciliennes 2006 = Le coût de l’équilibrage Si Alors il faut équilibrer Journées franciliennes 2006
Journées franciliennes 2006 Résultats 4.1 Sans équilibrage q 1 2 4 8 16 32 n Secondes eff 1000 15.09 47 23 12 6 3 2000 528.19 40 20 10 5000 2125.38 42 5 Journées franciliennes 2006
Journées franciliennes 2006 Résultats 4.2 Avec équilibrage q 1 2 4 8 16 32 n Secondes eff 1000 15.09 65 64 62 57 42 2000 528.19 73 81 82 77 5000 2125.38 67 76 83 80 Journées franciliennes 2006 q 1 2 4 8 16 32 n Secondes eff 1000 7.9 63 60 52 2000 463.5 77 84 85 80 5000 2109.3 64 82 87 91 86 Journées franciliennes 2006
Conclusion La parallélisation de la P.D. permet de résoudre des Problèmes de grande taille. Autres stratégies d’équilibrage. Journal of Parallel and Distributed Computing 65 (2005) pp 74-84 Journées franciliennes 2006