1
Thierry Moisan, M.Sc., PhD Candidate, Université Laval Directeur: ClaudeGuy Quimper, professeur, Université Laval Codirecteur; Jonathan Gaudreault, professeur, Université Laval Parallel Discrepancybased Search: une stratégie de recherche efficace pour superordinateurs massivement parallèles Objec?f Limited Discrepancy Search (LDS) Modifier la stratégie de recherche Limited Discrepancy Search (LDS) afin d’uJliser un très grand nombre de processeurs durant son exécuJon tout en ayant les propriétés suivantes: Préserva?on de la stratégie de recherche: nous souhaitons que les soluJons potenJels de l’espace de recherche soient visitées dans le même ordre que l’algorithme centralisé Équilibre de la charge de travail: nous voulons que la quanJté de travail assignée à chaque processeur soit uniformément réparJe. Robustesse: il doit être possible d’idenJfier les parJes de l’espace de recherche qui doivent être réassignées à un autre processeur en cas de panne. Minimisa?on des communica?ons: la communicaJon devrait être limitée à la diffusion d’une soluJon. Les propriétés de PLDS en font un algorithme qui peut être déployé sur des superordinateurs massivement parallèles comprenant plusieurs milliers de processeurs, tel que Colosse de l'Université Laval. Analyse Applica?on à l’industrie du bois Parallel Discrepancybased Search (PDS) 0 0 1 1 1 2 1 0 0 1 1 2 2 2 3 0 0 1 1 1 2 1 0 0 1 1 2 2 2 3 0 0 1 1 1 2 1 0 0 1 1 2 2 2 3 0 0 1 1 1 2 1 0 0 1 1 2 2 2 3 0 0 1 1 1 2 1 0 0 1 1 2 2 2 3 0 0 1 1 1 2 1 0 0 1 1 2 2 2 3 0 0 1 1 1 2 1 0 0 1 1 2 2 2 3 0 0 1 1 1 2 1 0 0 1 1 2 2 2 3 Processeur 1 Processeur 2 Étape 1 L’espace de recherche d’un problème peut être représenté par un arbre où chaque nœud correspond à une affecJon parJelle des variables. La racine est une affecJon vide et les feuilles sont des assignaJons complètes (aussi appelées soluJons). La stratégie de recherche LDS, définie par Harvey et Ginsberg puis améliorée par Korf, suit une heurisJque de choix de valeur. Une heurisJque de choix de valeur est une foncJon qui ordonne les enfants d’un nœud du plus probable de mener à une soluJon au moins probable. Lorsque représenté graphiquement, l’enfant de gauche est le plus probable de mener à une soluJon. Une déviaJon est une déviaJon du premier choix de l’heurisJque. Nous disons que le premier choix de l’heurisJque n’a aucune déviaJon, le deuxième choix a une déviaJon, et ainsi de suite. Une heurisJque donne une probabilité p qu’une soluJon soit dans le sousarbre gauche et une probabilité q qu’une soluJon soit dans le sousarbre droit. La qualité a[endue d’une feuille décroît à mesure que le nombre de déviaJons augmente. Pour ce[e raison, LDS visite les feuilles avec le moins de déviaJons en premier. Un arbre binaire indiquant le nombre de déviaJons de chaque nœud et la probabilité associée à chaque feuille. AccéléraJon en foncJon de l’espace de recherche couvert. Temps moyen pour obtenir une soluJon en foncJon du nombre de variables. Nous avons appliqué cet algorithme à des problèmes industriels de rabotage du bois grâce à des jeux de données provenant de compagnies foresJères québécoises. Une excellente heurisJque est connue pour ce problème. Notre approche nous a permis d’obtenir des soluJons plus rapidement et de meilleures qualités que les meilleures connues jusqu'à maintenant. Étape 2 Étape 3 Étape 4 0 0 1 1 1 2 1 0 0 1 1 2 2 2 3 0 0 1 1 1 2 1 0 0 1 1 2 2 2 3 0 0 1 1 1 2 1 0 0 1 1 2 2 2 3 0 0 1 1 1 2 1 0 0 1 1 2 2 2 3 0 0 1 1 1 2 1 0 0 1 1 2 2 2 3 0 0 1 1 1 2 1 0 0 1 1 2 2 2 3 0 0 1 1 1 2 1 0 0 1 1 2 2 2 3 0 0 1 1 1 2 1 0 0 1 1 2 2 2 3 Étape 1 Étape 2 Étape 3 Étape 4 Étape 5 Étape 6 Étape 7 Étape 8 AccéléraJon en foncJon du nombre de processeurs uJlisés. 0 1 1 2 1 2 2 3 0 1 1 2 0 1 0 p p p p p p p q q q q p 2 q pq 2 q pq 2 q q p 2 q pq 2 p 2 q p 3 q 3 Téléchargez l’ar?cle complet: Chaque feuille de l’arbre de recherche est assignée à un seul processeur. Chaque processeur a un idenJfiant unique et connaît le nombre total de processeurs. Cela permet de remplacer un processeur précis en cas de bris (robustesse). Durant la recherche, chaque processeur peut tester s’il existe une feuille lui étant assignée sous lui. Le processeur peut ainsi choisir d’aller plus profondément dans l’arbre ou de revenir sur ses pas pour conJnuer la recherche ailleurs. Ce[e implémentaJon permet un équilibre naturel de la charge de travail: il existe une borne théorique sur les changements de la charge de travail entre les processeurs lorsqu’une parJe de l’arbre est reJré. De plus, aucune communica?on n’existe entre les processeurs durant la recherche.

Parallel&Discrepancybased&Search ...tmoisan.net/publications/poster_journee_recherche_2014.pdf · Thierry’Moisan,M.Sc.,’ PhD’Candidate,’Université’Laval’ Directeur:’Claude=Guy’Quimper,’professeur,’Université’Laval’

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Parallel&Discrepancybased&Search ...tmoisan.net/publications/poster_journee_recherche_2014.pdf · Thierry’Moisan,M.Sc.,’ PhD’Candidate,’Université’Laval’ Directeur:’Claude=Guy’Quimper,’professeur,’Université’Laval’

Thierry  Moisan,  M.Sc.,  PhD  Candidate,  Université  Laval  Directeur:  Claude-­‐Guy  Quimper,  professeur,  Université  Laval  Co-­‐directeur;    Jonathan  Gaudreault,  professeur,  Université  Laval  

Parallel  Discrepancy-­‐based  Search:  une  stratégie  de  recherche  efficace  pour  superordinateurs  massivement  parallèles  

Objec?f  

Limited  Discrepancy  Search  (LDS)  

Modifier   la   stratégie   de   recherche   Limited   Discrepancy   Search   (LDS)   afin   d’uJliser   un   très   grand   nombre   de  processeurs  durant  son  exécuJon  tout  en  ayant  les  propriétés  suivantes:  

•    Préserva?on   de   la   stratégie   de   recherche:   nous   souhaitons   que   les   soluJons   potenJels   de   l’espace   de  recherche  soient  visitées  dans  le  même  ordre  que  l’algorithme  centralisé  •   Équilibre  de  la  charge  de  travail:  nous  voulons  que  la  quanJté  de  travail  assignée  à  chaque  processeur  soit  uniformément  réparJe.  •   Robustesse:  il  doit  être  possible  d’idenJfier  les  parJes  de  l’espace  de  recherche  qui  doivent  être  réassignées  à  un  autre  processeur  en  cas  de  panne.      •   Minimisa?on  des  communica?ons:  la  communicaJon  devrait  être  limitée  à  la  diffusion  d’une  soluJon.  

Les   propriétés   de   PLDS   en   font   un   algorithme   qui   peut   être   déployé   sur   des   superordinateurs  massivement  parallèles  comprenant  plusieurs  milliers  de  processeurs,  tel  que  Colosse  de  l'Université  Laval.  

Analyse  

Applica?on  à  l’industrie  du  bois  

Parallel  Discrepancy-­‐based  Search  (PDS)  

0

0

1

1

1

21

0

0

1 1 2 2 2 3

0

0

1

1

1

21

0

0

1 1 2 2 2 3

0

0

1

1

1

21

0

0

1 1 2 2 2 3

0

0

1

1

1

21

0

0

1 1 2 2 2 3

0

0

1

1

1

21

0

0

1 1 2 2 2 3

0

0

1

1

1

21

0

0

1 1 2 2 2 3

0

0

1

1

1

21

0

0

1 1 2 2 2 3

0

0

1

1

1

21

0

0

1 1 2 2 2 3

Processeur  1   Processeur  2  

Étape  1  

L’espace   de   recherche   d’un   problème   peut   être  représenté   par   un   arbre   où   chaque   nœud   correspond   à  une   affecJon   parJelle   des   variables.   La   racine   est   une  affecJon   vide   et   les   feuilles   sont   des   assignaJons  complètes  (aussi  appelées  soluJons).  

La   stratégie   de   recherche   LDS,   définie   par   Harvey   et  Ginsberg  puis  améliorée  par  Korf,  suit  une  heurisJque  de  choix   de   valeur.   Une   heurisJque   de   choix   de   valeur   est  une  foncJon  qui  ordonne  les  enfants  d’un  nœud  du  plus  probable   de   mener   à   une   soluJon   au   moins   probable.  Lorsque   représenté   graphiquement,   l’enfant   de   gauche  est  le  plus  probable  de  mener  à  une  soluJon.  

Une   déviaJon   est   une   déviaJon   du   premier   choix   de  l’heurisJque.   Nous   disons   que   le   premier   choix   de  l’heurisJque   n’a   aucune   déviaJon,   le   deuxième   choix   a  une  déviaJon,  et  ainsi  de  suite.  

Une   heur isJque   donne   une  probabilité   p   qu’une   soluJon   soit  dans   le   sous-­‐arbre   gauche   et   une  probabilité   q   qu’une   soluJon   soit  dans  le  sous-­‐arbre  droit.  

La   qualité   a[endue   d’une   feuille  décroît  à  mesure  que  le  nombre  de  déviaJons   augmente.   Pour   ce[e  raison,  LDS  visite  les  feuilles  avec  le  moins  de  déviaJons  en  premier.    

Un  arbre  binaire  indiquant  le  nombre  de  déviaJons  de  chaque  nœud  et  la  probabilité  associée  à  chaque  feuille.  

AccéléraJon  en  foncJon  de  l’espace  de  recherche  couvert.  

Temps  moyen  pour  obtenir  une  soluJon  en  foncJon  du  nombre  de  variables.  

Nous   avons   appliqué   cet   algorithme   à   des   problèmes  industriels   de   rabotage   du   bois   grâce   à   des   jeux   de  données   provenant   de   compagnies   foresJères  québécoises.  Une  excellente  heurisJque  est  connue  pour  ce   problème.   Notre   approche   nous   a   permis   d’obtenir  des  soluJons  plus  rapidement  et  de  meilleures  qualités  que  les  meilleures  connues  jusqu'à  maintenant.    

Étape  2  

Étape  3  

Étape  4  

0

0

1

1

1

21

0

0

1 1 2 2 2 3

0

0

1

1

1

21

0

0

1 1 2 2 2 3

0

0

1

1

1

21

0

0

1 1 2 2 2 3

0

0

1

1

1

21

0

0

1 1 2 2 2 3

0

0

1

1

1

21

0

0

1 1 2 2 2 3

0

0

1

1

1

21

0

0

1 1 2 2 2 3

0

0

1

1

1

21

0

0

1 1 2 2 2 3

0

0

1

1

1

21

0

0

1 1 2 2 2 3

Étape  1   Étape  2   Étape  3   Étape  4  

Étape  5   Étape  6   Étape  7   Étape  8  

AccéléraJon  en  foncJon  du  nombre  de  processeurs  uJlisés.  

0 1 1 2 1 2 2 3

0 1 1 2

0 1

0p

p

p p pp

p

q

q

q

q

p2q pq2

q

pq2

q q

p2q pq2p2qp3 q3

Téléchargez  l’ar?cle  complet:  

Chaque   feuille   de   l’arbre   de   recherche   est  assignée  à  un  seul  processeur.  Chaque   processeur   a   un   idenJfiant   unique   et  connaît   le   nombre   total   de   processeurs.   Cela  permet   de   remplacer   un   processeur   précis   en  cas  de  bris  (robustesse).    Durant   la   recherche,   chaque   processeur   peut  tester   s’il   existe   une   feuille   lui   étant   assignée  sous  lui.  Le  processeur  peut  ainsi  choisir  d’aller  plus   profondément   dans   l’arbre   ou   de   revenir  sur  ses  pas  pour  conJnuer  la  recherche  ailleurs.  

Ce[e   implémentaJon   permet   un   équilibre  naturel   de   la   charge   de   travail:   il   existe   une  borne   théorique   sur   les   changements   de   la  charge   de   travail   entre   les   processeurs  lorsqu’une  parJe  de  l’arbre  est  reJré.  

De  plus,  aucune  communica?on  n’existe  entre  les  processeurs  durant  la  recherche.