these doctorat une architecture de securité
these doctorat une architecture de securité
these doctorat une architecture de securité
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