• Aucun résultat trouvé

3.6 Modèles parallèles des algorithmes évolutionnaires

3.6.2 Classification des Modèles Parallèles des AEs

Plusieurs recherches ont été élaborées en ce qui concerne la classification des méta- heuristiques, les plus fameuses sont celle de Crainic et Toulouse [24], qui ont considéré les sources de parallélisation dans ces techniques, et celle de Cung et coll.[27] qui se veut indépendante de l’architecture.

Le processus d’évolution artificielle peut être mis en oeuvre sur le matériel parallèle de diverses manières, où l’idée de base est à propos des individus de la population, qui sont indépendants les uns des autres, et seulement quelques étapes de l’algorithme qui nécessitent une interaction entre elles, principalement le croisement et la réduction de la population [124].

Selon Cantu-Paz [14] et Alba et Tomassini [1], Grefenstette [71] est le premier à avoir introduit plusieurs types de parallélisme des AEs, où il a mis en oeuvre un algorithme Maître-Esclave synchrone et un autre asynchrone (coarse-grained model). Ces deux caté- gories sont fondées principalement sur la structuration de la population.

Dans le modèle global, une population est maintenue et tous les processeurs accèdent au même groupe d’individus. Par contre, dans la deuxième catégorie, la population est structurée en sous-ensembles, cette dernière concerne les AEs parallèles distribués.

Les AEs cellulaires représentent une autre catégorie, qui pousse encore la structura- tion de la population, en considérant un individu et son voisinage immédiat comme une sous-population. Il est notable ici que ces catégories ne sont pas strictes, puisqu’il existe également des modèles mixtes, où plusieurs niveaux de parallélisme sont présents

3.6.2.1 AEs parallèles globales ou le modèle Maitre/Esclave Approches standards

L’évaluation d’un individu particulier est en général, le cas le plus commun, et indé- pendamment de l’évaluation des autres individus. Sur une architecture parallèle, il est possible de répartir la population (parents ou descendants) en sous-ensembles et attribuer chaque sous-ensemble à un processeur pour être évalué. Cette parallélisation ne modifie pas le comportement de l’algorithme. Seul le temps d’évaluation est réduit en utilisant plusieurs processeurs pour évaluer la population.

La parallélisation en utilisant le modèle maître/esclave présente l’avantage d’être com- parable à un algorithme séquentiel équivalent (l’évaluation des populations et des indivi- dus se fait d’une façon parallèle). Ce qui simplifie la comparaison entre les algorithmes séquentiels et parallèles, et le calcul de l’accélération en particulier peut être fait à la base d’une seule exécution. En outre, ce modèle n’impose pas une architecture de matériel spécifique, tant il existe des variantes sur de nombreux types de machines, qui sont soit partagées ou à mémoire distribuée (répartie), pour des processeurs MIMD ou SIMD.

Cependant, l’accélération réalisée avec un tel modèle est en fonction de la difficulté du problème et de l’architecture matérielle, puisqu’elle est limitée à la partie parallélisable de l’algorithme.

Cette méthode offre plusieurs avantages. Le premier est évidemment, comme on l’a noté ci-dessus, d’être tout à fait comparable avec les algorithmes séquentiels. Le second est la portabilité de ce modèle, qui peut être implémenté sur un grand nombre d’architectures parallèles. Comme dernier avantage, on peut citer l’absence de paramètres supplémentaires

3.6. MODÈLES PARALLÈLES DES ALGORITHMES ÉVOLUTIONNAIRES

par rapport aux approches séquentielles. En effet, seul le nombre de noeuds doit être spécifié, mais ça ne modifie pas le comportement de l’algorithme.

Toutefois, ce modèle a aussi des désavantages : c’est un modèle synchrone, où les noeuds travaillent pas à pas. Le noeud maître envoie séquentiellement les sous-populations aux noeuds esclaves faisant de son interface avec les noeuds d’esclaves un goulot d’étrangle- ment. Ensuite, le noeud maitre fonctionne au ralenti, car il attend les noeuds esclaves pour calculer les valeurs de le fitness, même s’il est tout à fait possible de lui attribuer un sous-ensemble à évaluer. Encore une fois, l’interface de communication du noeud maître devient un goulot d’étranglement. Enfin, le noeud maître remonte à l’exécution de l’algo- rithme séquentiel standard, ce qui signifie que les noeuds esclaves sont au ralenti. Ainsi, il y a plusieurs synchronisations, opérations d’échange et d’attente dans ce modèle.

Les points critiques sont la vitesse de l’interface de communication du noeud maître, et le rapport de temps entre l’évaluation de la population et le reste de l’algorithme (moteur d’évolution).

Enfin, la parallélisation utilisant ce modèle permet de partager les ressources de calculs, mais ne prend pas en compte l’avantage de la taille de la mémoire distribuée parce que la population est toujours stockée sur le noeud maître. Cependant, elle permet d’utiliser une architecture asymétrique, où le noeud principal est une machine puissante avec un grand espace mémoire, et les noeuds esclaves sont plus petits avec moins de possibilités d’accès mémoire.

3.6. MODÈLES PARALLÈLES DES ALGORITHMES ÉVOLUTIONNAIRES

Figure 3.11 – Algorithme de l’évaluation au sein d’un modèle Maitre/Esclave.

Approches non standard :

Il existe des implémentations dites panmictiques. Dans ce cas, elles perdent leur com- parabilité avec les algorithmes séquentiels, mais le principe sous-jacent reste toujours le même [82]. On peut distinguer :

– Les AEs panmictiques distribués : cet algorithme effectue un grand nombre d’échanges individuels entre les noeuds, avant les étapes globales de l’algorithme ; – Les AEs panmictiques asynchrones : ce type d’algorithmes est effectivement

très approprié pour une architecture à mémoire partagée, avec un nombre restreint de processeurs (threads). L’absence de synchronisation et de communication entre les cores permet une accélération linéaire par rapport au nombre de coeurs, au moins en termes de nombre d’évaluations.

Les AEs parallèles sont développés en tenant compte des architectures matérielles disponibles. Partant de cette constatation, Golub et coll. ont proposé [65], [67], [66] un algorithme qui se concentre sur l’utilisation de la mémoire partagée des machines parallèles des années 2000. Durant ces années, un PC parallèle fusionne 2 ou 4 coeurs. En utilisant un modèle maître/esclave, ont obtient une vitesse utile dans certains cas, mais présentant des restrictions pour certains types d’algorithmes.

3.6.2.2 AEs parallèles distribués (En îlots)

L’utilisation d’une seule population, où tous les individus peuvent potentiellement s’accoupler pour produire un descendant est évidemment loin d’un modèle de la nature. En outre, nous avons vu que cela nécessite soit l’utilisation du modèle classique maître-

3.6. MODÈLES PARALLÈLES DES ALGORITHMES ÉVOLUTIONNAIRES

esclave centralisé, ou des échanges très fréquents entre les sous-populations. Ceci impose des contraintes sur le matériel, qui ne peuvent être remplies par l’architecture utilisée.

Ce modèle qui est plus proche de la notion naturelle de DEME, est adapté pour les architectures à mémoire distribuée, qui sont largement utilisées dans le calcul à haute performance. Ce modèle de parallélisation est dit ’Algorihmes évolutionnaires distribués’ (distributed evolutionary algorithm, dEA).

Chaque noeud exécute un AE classique, avec un échange de temps en temps des meilleurs individus avec les autres noeuds du réseau.

Figure 3.12 – Algorithme de l’évaluation au sein d’un modèle en ilôt.

Ces modifications permettent un parallélisme avec peu ou pas de synchronisation entre les noeuds et quelques transferts entre eux. En outre, la sous-population peut être consi- dérée comme une population unique répartie entre plusieurs noeuds, donc présentant une structure. Cette distribution peut avoir comme effet d’augmenter la mémoire disponible pour stocker la population.

Il y a beaucoup de choix de conception qui influent sur le comportement d’un modèle en Îlot, parmi les plus importants : la politique d’émigration, la politique d’immigration, l’intervalle de migration, le nombre de migrants et la topologie de la migration.

3.6.2.3 Algorithmes évolutionnaires parallèles hybrides

Il est également possible de combiner plusieurs des approches précitées. Par exemple, on peut imaginer un modèle en îlots où chaque île exécute un AE cellulaire afin de pro- mouvoir davantage la diversité. On peut penser à des modèles hiérarchiques de l’îlot où les îles sont eux-mêmes des modèles insulaires. Les modèles parallèles insulaires (en îlots) et cellulaires peuvent également être mis en oeuvre en tant que modèles maître-esclave pour obtenir une meilleure accélération [124].