13.05.2014 Views

these doctorat une architecture de securité

these doctorat une architecture de securité

these doctorat une architecture de securité

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Section 7.2. Les itérations <strong>de</strong> Jacobi<br />

Les évaluations <strong>de</strong> performances suivantes ont été réalisées sur l’infrastructure proposée par<br />

le projet Grid 5000. Ce projet, financé par l’ACI GRID, a pour but <strong>de</strong> fournir <strong>une</strong> plate-forme<br />

<strong>de</strong> grilles regroupant 8 sites géographiquement distribués en France et regroupant 5000 processeurs.<br />

Les grappes sont interconnectées via Renater avec <strong>une</strong> ban<strong>de</strong> passante <strong>de</strong> 2,5 Gb/s.<br />

L’application a été déployée sur la grappe <strong>de</strong> Nice regroupant <strong>de</strong>s ordinateurs bi-AMD Opteron<br />

64 bits à 2 Ghz, 2 Go <strong>de</strong> RAM. Le système d’exploitation est Red Hat 9 doté d’un kernel 2.4.21.<br />

Les machines sont interconnectées par un réseau Ethernet 1 Gb/s. Nous utilisons la JVM <strong>de</strong> Sun<br />

version 1.5.0 ainsi que la bibliothèque <strong>de</strong> sécurité Bouncycastle 1.20.<br />

7.2.1 Algorithme<br />

tel-00239252, version 1 - 5 Feb 2008<br />

... ...<br />

... ... ... ...<br />

FIG. 7.2 – Algorithme distribué<br />

La matrice initiale est découpée en x sous-matrices <strong>de</strong> taille n ′ ∗ m ′ . Chaque sous-matrice est<br />

représentée par un objet actif. À chaque itération <strong>de</strong> l’algorithme, la valeur d’un point d’<strong>une</strong> sousmatrice<br />

est remplacée par la moyenne <strong>de</strong> ses voisins du nord, sud, est et ouest (figure 7.2). Les<br />

points sur les frontières <strong>de</strong>s sous-matrices sont échangés avec la sous-matrice voisine. La valeur<br />

<strong>de</strong>s données sur les frontières <strong>de</strong> la matrice initiale ne change pas au cours du temps.<br />

Nous présentons la boucle principale <strong>de</strong> l’algorithme. neighbors représente le groupe <strong>de</strong><br />

sous-matrices.<br />

me = ProActive.getStubOnThis();<br />

public void jacobiIteration() {<br />

internal_compute(); //updates converged<br />

neighbors.send(boundariesGroup);<br />

ProSPMD.barrier({"send", ... ,"send"});<br />

me.boundaries_compute(); //updates converged<br />

me.exchange();<br />

if (!converged) me.jacobiIteration();<br />

}<br />

L’algorithme utilisé pour les mesures <strong>de</strong> performances et son implémentation ont fait l’objet d’<strong>une</strong><br />

publication [6].<br />

7.2.2 Architecture abstraite<br />

L’<strong>architecture</strong> <strong>de</strong> déploiement est <strong>de</strong>s plus simples. On retrouve le nœud local qui sert au<br />

déploiement <strong>de</strong> l’application. Ce nœud appartient à un nœud virtuel Launcher. Le second nœud<br />

127

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!