• Nenhum resultado encontrado

Dimensionamento de componentes do sistema

No documento Conversor DC/DC de elevada eficiência (páginas 61-64)

R´epartir ´equitablement la charge de calcul entre les sous-domaines tout en minimisant les

interfaces peut, dans certaines configurations, ˆetre une probl´ematique complexe. Nous trouvons

dans la litt´erature des outils de partitionnement de maillage optimis´e permettant de r´esoudre cette

probl´ematique. Nous pouvons citerMeTiS[17],Scotch [18] etPampa[19]. Ces outils s’appuient

sur des heuristiques de r´esolution. La plupart des ces heuristiques repose sur une mod´elisation du

probl`eme initial sous forme de graphe [20]. Nous proposons de pr´esenter les graphes [21] dans

la sous-section 2.3.1. Nous pr´esenterons ensuite les techniques de partitionnement de graphe en

CHAPITRE 2. CONTEXTE 23

sous-section 2.3.2. Le partitionnement multi-crit`eres sera ´etudi´e en sous-section 2.3.3. Enfin, en

sous-section 2.3.4 nous introduirons les techniques de repartitionnement.

2.3.1 Le graphe : un mod`ele abstrait

Les graphes sont des mod`eles abstraits tr`es utilis´es dans de nombreux domaines. Leur g´en´ericit´e

permet de les adapter `a des probl´ematiques tr`es diff´erentes. Les graphes pr´esentent l’avantage d’ˆetre

`a la fois concis et exhaustifs. En effet, un graphe est un ensemble de sommets et d’arˆetes. Un lien

peut ˆetre orient´ee, c’est-`a-dire unidirectionnel, nous parlons alors d’arc. Les sommets comme les

arˆetes permettent de repr´esenter des objets et leurs interactions. Par exemple, en informatique, un

graphe peut repr´esenter le flot d’instructions d’une application o`u chaque sommet repr´esente une

instruction et chaque arˆete repr´esente une d´ependance. Il est commun´ement appel´e graphe de flot

de contrˆole.

Les concepts de sommets et d’arˆetes, orient´ees ou non, permettent de mod´eliser des donn´ees

de simulation, des instructions, des processus, etc. Cette mod´elisation peut ˆetre affin´ee `a l’aide des

pond´erations des sommets et des arˆetes. En effet, la pond´eration des graphes permet de diff´erencier

deux sommets entre eux ou deux arˆetes entre elles, en leurs attribuant des poids diff´erents. `A titre

d’exemple, nous pourrions diff´erencier des sommets du graphe de flot de contrˆole en fonction du

coˆut en temps d’une instruction.

Dans le contexte du calcul haute performance, les graphes peuvent ˆetre utilis´es pour mod´eliser

des charges de calcul et des donn´ees. La r´epartition de ces charges de calcul et de ces donn´ees peut

ˆetre obtenue `a l’aide d’algorithmes de partitionnement de graphe.

2.3.2 Algorithmes de partitionnement de graphe

Le partitionnement de graphe est un probl`eme NP-Difficile [22]. En effet, le nombre de

parti-tionnements possibles pour un graphe donn´e est exponentiel. Le partitionnement peut ˆetre soumis

`a des contraintes initiales. En calcul haute performance, la difficult´e d’un partitionnement r´eside

dans deux probl´ematiques antagonistes. La premi`ere consiste `a trouver un partitionnement le plus

´equilibr´e possible. La seconde consiste `a minimiser le temps de restitution du partitionnement.

Parmi les contraintes initiales, nous avons, la plupart du temps, l’´equilibre en nombre de sommets

par partie.

Plusieurs heuristiques de partitionnement peuvent ˆetre trouv´ees dans la litt´erature.

Globale-ment, les algorithmes propos´es cherchent `a minimiser la coupe (la taille des interfaces) dans

le respect des contraintes initiales. Nous pouvons par exemple citer la m´etaheuristique

multi-niveau [23][24][25]. Des approches parall`eles de cette heuristique ont ´et´e propos´ees [26] pour

r´eduire le temps de restitution.

Les heuristiques sont nombreuses et quelques unes ont ´et´e impl´ement´ees dans des outils de

partitionnement de graphe. Parmi ces outils, nous pouvons citer MeTiS [17] etScotch [18]. Ces

deux outils sont dot´es d’une version parall`ele, respectivement ParMeTiS [27] etPT-Scotch[28],

l’objectif ´etant de r´eduire le temps de partitionnement.

La figure 2.13 donne un exemple de partitionnement ´equilibr´e en nombre de sommets obtenu

avec MeTiS [17]. Le partitionnement est une probl´ematique complexe. Lorsque les contraintes

initiales sont multiples, les algorithmes de partitionnements doivent consid´erer plusieurs crit`eres.

Nous parlons de partitionnement multi-crit`eres.

CHAPITRE 2. CONTEXTE 24

FIGURE2.13 – Exemple d’un partitionnement en 16 parties, ´equilibr´e en nombre de sommets.

2.3.3 Partitionnement multi-crit`eres

Une partition est dite valide lorsque celle-ci respecte la totalit´e des crit`eres. Une partition de tr`es

bonne qualit´e sur pratiquement tous les crit`eres mais ne respectant pas la contrainte fix´ee pour un

seul et unique crit`ere ne sera pas jug´ee valide. En revanche, une partition de qualit´e passable sur tous

les crit`eres mais respectant toutes les contraintes sera jug´ee valide. Les contraintes fix´ees d´ependent

du probl`eme `a r´esoudre. Un non-respect de l’une de ces contraintes peut avoir des cons´equences

dramatiques. Par exemple, si l’une de ces contraintes concerne la consommation m´emoire d’une

application, une violation de la contrainte pourrait entraˆıner l’interruption de l’application.

La figure 2.14 pr´esente des exemples de partitionnements d’un graphe pond´er´e aux propri´et´es

tr`es diff´erentes. Le poids de chaque sommet est inscrit au centre du sommet. Dans notre cas, les

arˆetes ont toutes le mˆeme poids. Nous souhaitons obtenir une partition ´equilibr´ee `a la fois en

nombre de sommets et en poids. La partition de la sous-figure 2.14a est ´equilibr´ee en nombre de

sommets (4 par partie). Nous observons une coupe relativement peu ´elev´ee avec 5 arˆetes coup´ees.

En revanche, l’´equilibre en poids n’est pas du tout respect´e, avec 30 d’un cˆot´e et seulement 8 de

l’autre. La sous-figure 2.14b pr´esente un partitionnement ´equilibr´e en poids (19 par partie). Nous

observons une coupe encore meilleure avec seulement 4 arˆetes coup´ees. Cependant, l’´equilibre en

nombre de sommets n’est absolument pas respect´e puisque nous avons 2 sommets d’un cˆot´e et 6 de

l’autre. Enfin, l’´equilibre en nombre de sommets et en poids est obtenu avec le partitionnement de

la sous-figure 2.14c. En revanche, la coupe est plus ´elev´ee que les partitionnements pr´ec´edents avec

8 arˆetes coup´ees, soit 2 fois plus que le partitionnement pr´ec´edent. De plus, l’un des sous-graphes

n’est pas connexe. Cet exemple illustre la difficult´e de partitionner selon plusieurs crit`eres tout en

minimisant la coupe.

Le partitionnement multi-crit`eres n´ecessite d’autres heuristiques que le partitionnement

mono-crit`ere [29][30][31][32]. Par ailleurs, le partitionnement multi-mono-crit`eres n’est pas support´e par tous

les outils de partitionnement. En effet, contrairement `a MeTiS [17], Scotch [18] ne g`ere pas le

partitionnement multi-crit`eres.

Lorsque la r´epartition de la charge de calcul ´evolue au cours du temps, la validit´e de la

parti-tion peut ˆetre remise en cause et le calcul d’une nouvelle partiparti-tion peut alors ˆetre envisag´e. Nous

CHAPITRE 2. CONTEXTE 25

10 9 3

4 1 2

7 2

(4, 30)

(4, 8)

(a) Exemple d’un

partitionne-ment ´equilibr´e en nombre de

sommets.

10 9 3

4 1 2

7 2

(2, 19)

(6, 19)

(b) Exemple d’un

partitionne-ment ´equilibr´e en poids.

10 9 3

4 1 2

7 2

(4, 19)

(4, 19)

(c) Exemple d’un

partitionne-ment ´equilibr´e en nombre de

sommets et en poids.

FIGURE2.14 – Exemples de partitionnements.

proposons donc maintenant d’introduire les algorithmes de repartitionnement.

2.3.4 Algorithmes de repartitionnement

Le calcul d’une nouvelle partition pose une probl´ematique de coˆut de migration dans le

cas o`u le partitionnement influe sur la r´epartition des donn´ees de simulation. En effet,

lors-qu’un sommet change de partie, les donn´ees de simulation correspondant `a ce sommet doivent

ˆetre transf´er´ees. Cette probl´ematique de coˆut de migration de donn´ee a ´et´e ´etudi´ee dans la

litt´erature [33][34][35][36][37]. Cette contrainte suppl´ementaire complique s´erieusement le

par-titionnement d’un graphe lorsque ce dernier est tr`es d´es´equilibr´e. Nous devons dans certains cas

faire un compromis entre un partitionnement de moins bonne qualit´e et un coˆut de migration plus

important.

Les outils de partitionnement de grapheParMeTiS[27] etScotch[18] proposent une m´ethode

de repartitionnement en prenant comme param`etre la partition pr´ec´edente.

No documento Conversor DC/DC de elevada eficiência (páginas 61-64)

Documentos relacionados