Exemple de conception d’un algorithme parallèle: Système planétaire

Slides:



Advertisements
Présentations similaires
Bratec Martin ..
Advertisements

NOTIFICATION ÉLECTRONIQUE
Fragilité : une notion fragile ?
SEMINAIRE DU 10 AVRIL 2010 programmation du futur Hôtel de Ville
Phono-sémantique différentielle des monosyllabes italiens
MAGGIO 1967 BOLOGNA - CERVIA ANOMALIES DU SOMMEIL CHEZ L'HOMME
droit + pub = ? vincent gautrais professeur agrégé – avocat
Transcription de la présentation:

Exemple de conception d’un algorithme parallèle: Système planétaire Professeur: Nilo STOLTE Chargé de Cours: Mohammed ELKANOUNI Département de génie logiciel et des TI

Énoncé du problème Étant donne un groupe de planètes qui se trouvent sur le même plan dans l’espace (2 dimension). Au départ, chaque planètes a une position et une vitesse initiale Les planètes subissent une force d’attraction entre eux. Cette force affecte leur déplacement au cours du temps. À tous les intervalles réguliers, calculer leurs positions. On néglige le phénomène de rebondissement quand 2 planètes rentrent en collision.

Définition des variables T: pas de calcul Pour la ième planète à l’instant n: xi,n, yj,n position vxi,n, vyj,n vitesses en direction x et y axi,n, ayj,n accélération en x et y mi masse Interaction entre 2 planètes a l’instant n: dij,n distance entre planètes i et j fij,n force attraction entre planètes i et j

Équations La distance entre 2 planètes est basée sur leurs positions: Force d’attraction entre 2 planètes : est ajouté pour éviter la division par 0

Équations Force totale agissant sur une planètes: Accélération: L’accélération est dans la même direction que la force, elle peut être décomposée en ax (accélération dans la direction de x), et ay (accélération dans la direction de y)

Équations La vitesse au prochain pas de calcul (pas no n+1) sera: vxi, n+1 = vxi n + axi,n T vyi, n+1 = vyi n + ayi,n T Coordonnées de la planètes i a l’instant n+1 xi, n+1 = xi n + vxi n T + axi,n T2 yi, n+1 = yi n + vyi n T + ayi,n T2 À chaque pas de calcul, on détermine une nouvelle position de chaque planète. En répétant ces calculs pour plusieurs pas de calcul, on détermine une trajectoire pour chaque planète.

Questions Identifier les tâches concurrentes. Proposer un partitionnement De quel type de décomposition s’agit-il ? Étudier la communication. Quelle est la structure de la communication ? Proposer une stratégie d’agglomération et expliquer le principe. Étudier la communication entre les tâches agglomérées.

Partitionnement Chaque planète forme une tâche élémentaire. Communication: à chaque pas de calcul, chaque tâche élémentaire a besoin de la nouvelle position de tous les autres planètes. Ex: pour 100 planètes, chaque tâche doit recevoir 99 position des autres => nombre de communications total = 100*99 = 9900

Agglomération: Pour diminuer la quantité d’informations à communiquer, on regroupe plusieurs planètes par tâche Communication: chaque tâche aura besoin des positions des planètes qui ne font pas partie de la tâche courante Ex: 100 planètes calculées par 4 tâches (25 planètes chacune) Chaque tâche doit recevoir 75 positions des autres planètes => nombre de communications = 4 * 75 = 300 (comparer à 9900 => 33 fois moins)

Algorithme Pour toutes les tâches Obtenir la position des autres planètes (dans les autres tâches) Pour toutes les planètes de la tâche Calculer la nouvelle position Fin Pour Afficher les positions Fin pour