1 Un résultat de convergence des algorithmes parallèles asynchrones Application aux opérateurs maximaux fortement monotones Abdenasser BENAHMED Université Mohamed 1er Faculté des Sciences Département de Mathématiques et Informatique
2Plan Problème Méthodes directes / itératives pour le calcul numérique Algorithmes itératifs synchrones Algorithmes itératifs asynchrones L’algorithme général Résultats de convergence Notre résultat Application aux opérateurs monotones Cas spéciaux Conclusion
3Problème La modélisation de beaucoup de phénomènes conduit à la résolution d’une équation du type f(x) = 0, x E (1) E espace vectoriel Équation qu’on peut écrire sous la forme x = F(x), x E (2) Les solutions de (2) sont appelés points fixes de F E = R n
4 Méthodes directes / itératives pour le calcul numérique Méthodes directes : calculent la solution exacte en un nombre fini d’étapes gourmandes en mémoire (dimension n => stockage n 3 ) Méthodes itératives (séquentielles) : évaluent la solution par approximations successives : x p+1 = F(x p ) moins gourmandes en mémoire plus facilement parallélisable Exemple de 2 processeurs expliquant le déroulement des algorithmes parallèles synchrones et asynchrones
5 Algorithmes itératifs synchrones Les processeurs commencent la même itération au même moment Les échanges de données sont réalisées à la fin d'une itération Beaucoup de temps morts entre les itérations (périodes d’inactivité) Dégrade considérablement les performances des algorithmes parallèles x i p+1 = F i (x 1 p, x 2 p ) i=1,2 1 1 Processeur 1 Processeur 2 temps x1x1 x2x2 phases de calcul phases de communication et d'attente
6 Algorithmes itératifs asynchrones Les processeurs ne calculent pas forcément la même itération à un instant t (pas de synchronisation) Ils effectuent leurs itérations sans tenir compte de l'avancement des autres (pas d'ordre de calcul) Il n'y a plus d'attente des données venant d'autres processeurs pour commencer une itération Il n'y a plus de temps morts entre les itérations x i p+1 = F i (x 1 s 1 (p), x 2 s 2 (p) ) i=1,2 1 1 temps x1x1 x2x2 Processeur 1 Processeur 2
7 L’algorithme général : L’algorithme général : Décomposition de R n processeurs chaque processeur communique avec les autres processeurs de façon asynchrone pour envoyer et recevoir des données R n = R n 1 x R n 2 x … x R n , n 1 + n 2 + … + n = n x Rnx Rn x = (x 1,…, x ), x i R n i
8 L’algorithme général : L’algorithme général : Produit scalaire et normes x = (x 1,…, x ) et y = (y 1,…, y ) Chaque R n i est muni du produit scalaire euclidien (.,.) i de la norme associée ||..|| i = (.,.) i 1/2 L'espace R n sera muni du produit scalaire (x,y) = ∑ (x i,y i ) i i=1 de la norme associée ||x|| = (x, x) 1/2 et de la norme uniforme ||x|| = max{ ||x i || i, 1 ≤ i ≤ }
9 L’algorithme général : L’algorithme général : Définition (3) F est une application de R n vers R n L’algorithme parallèle asynchrone associé à l’application F est défini par J(p) est une suite de sous-ensembles non vides de {1,…, } s i (p) sont des entiers inférieurs à p indexant des itérations antérieures à p
10 Cet algorithme décrit le comportement d'un processus itératif exécuté de façon asynchrone sur une machine parallèle comportant processeurs. A chaque itération p + 1, le i ème processeur calcule x i p+1 en utilisant (3) J(p) est l'ensemble des composantes mises à jour à l'itération p (stratégie de composantes) r i (p) = p s i (p) représente le retard éventuel dû au i ème processeur lors du calcul du i ème bloc à l'itération p (3) L’algorithme général : L’algorithme général : Définition
11 Comment s'est développé cet algorithme au cours des années passées? L’algorithme général : L’algorithme général : Définition (3)
12 Résultats de convergence: Résultats de convergence: Chazan & Miranker (1969) Pour résoudre le système linéaire Ax = b où A est une matrice symétrique définie positive sur R n Problème linéaire de point fixe Mise à jour d’une seule composante Retards bornés Application contractive
13 Résultats de convergence: Résultats de convergence: Miellou J.C. (1975) Généralise le résultat de Chazan & Miranker sur deux niveaux Problème non linéaire de point fixe Mise à jour de plusieurs composantes Retards bornés Application contractive en norme vectorielle
14 Résultats de convergence: Résultats de convergence: Baudet G. (1978) Généralise le résultat de Miellou Problème non linéaire de point fixe Mise à jour de plusieurs composantes Retards non bornés Application contractive en norme vectorielle
15 Résultats de convergence: Résultats de convergence: El Tarazi M.N. (1982) Plus simple dans la pratique Problème non linéaire de point fixe Mise à jour de plusieurs composantes Retards non bornés Application contractive en norme scalaire
16 Résultats de convergence: Résultats de convergence: Bahi J.M. (2000) Systèmes singuliers Problème linéaire de point fixe Mise à jour de plusieurs composantes Retards bornés Application non-expansive
17 Problème non linéaire de point fixe Mise à jour de plusieurs composantes Retards bornés Application non-expansive Notre résultat
18 Notre résultat Théorème 1 Théorème 1: (Résultat principal) Supposons : (h 0 ) une sous-suite {p k } k N telle que J(p k ) = {1,…, } et s i (p k ) = p k i {1,…, } (h 1 ) s N tel que i {1,…, }, p N, p s ≤ s i (p) ≤ p (h 2 ) u R n, F(u) = u (h 3 ) x,x’ R n, ||F(x) F(x’)|| ≤ || x x’|| (h 4 ) x,x’ R n, ||F(x) F(x’)|| 2 ≤ (F(x) F(x’),x x’) Alors pour tout x 0 R n, l’algorithme parallèle asynchrone associé à F converge vers x* point fixe de F
19 La preuve Elle se fait en trois étapes: i.La suite (|| x p u || ) p N est convergente grâce à (h 2 ), (h 3 ) et (h 1 ) Donc la suite (x p ) p N est bornée ii.La suite (x p k ) k N ((p k ) k N est définie par (h 0 )), étant bornée, elle admet une sous-suite notée aussi (x p k ) k N qui converge vers x* de R n. Alors x* est un point fixe de F grâce à (h 4 ), (h 2 ) et (h 0 ) et (i) iii.x p x* pour la norme ||..|| quand p tend vers grâce à (i) et (ii) (h 0 ) une sous-suite {p k } k N telle que J(p k ) = {1,…, } et s i (p k ) = p k i {1,…, } (h 1 ) s N tel que i {1,…, }, p N, p s ≤ s i (p) ≤ p (h 2 ) u R n, F(u) = u (h 3 ) x,x’ R n, ||F(x) F(x’)|| ≤ || x x’|| (h 4 ) x,x’ R n, ||F(x) F(x’)|| 2 ≤ (F(x) F(x’),x x’)
20Commentaires (h 0 ) une sous-suite {p k } k N telle que J(p k ) = {1,…, } et s i (p k ) = p k i {1,…, } (h 1 ) s N tel que i {1,…, }, p N, p s ≤ s i (p) ≤ p (h 2 ) u R n, F(u) = u (h 3 ) x,x’ R n, ||F(x) F(x’)|| ≤ || x x’|| (h 4 ) x,x’ R n, ||F(x) F(x’)|| 2 ≤ (F(x) F(x’),x x’) L'hypothèse (h 0 ) signifie que de temps à autre (après quelques itérations) les processeurs se synchronisent et mettent à jours leurs données en les échangeant Cette sous-suite peut être programmée par l'utilisateur
21Commentaires L'hypothèse (h 1 ) signifie que les retards dus aux communications entre processeurs et aux différents temps de calcul sont bornés, ce qui revient à supposer qu'au bout d'au plus (s+1) itérations, tous les processeurs finissent par mettre à jour leurs données. (h 0 ) une sous-suite {p k } k N telle que J(p k ) = {1,…, } et s i (p k ) = p k i {1,…, } (h 1 ) s N tel que i {1,…, }, p N, p s ≤ s i (p) ≤ p (h 2 ) u R n, F(u) = u (h 3 ) x,x’ R n, ||F(x) F(x’)|| ≤ || x x’|| (h 4 ) x,x’ R n, ||F(x) F(x’)|| 2 ≤ (F(x) F(x’),x x’)
22Commentaires L'hypothèse (h 2 ) affirme que F admet un point fixe L'hypothèse (h 3 ) signifie que F est non-expansive par rapport à la norme uniforme ||..|| sur R n (h 0 ) une sous-suite {p k } k N telle que J(p k ) = {1,…, } et s i (p k ) = p k i {1,…, } (h 1 ) s N tel que i {1,…, }, p N, p s ≤ s i (p) ≤ p (h 2 ) u R n, F(u) = u (h 3 ) x,x’ R n, ||F(x) F(x’)|| ≤ || x x’|| (h 4 ) x,x’ R n, ||F(x) F(x’)|| 2 ≤ (F(x) F(x’),x x’)
23Commentaires L'hypothèse (h 4 ) est vérifiée par une large classe d'opérateurs: la résolvante F = (I + cT ) -1 (c > 0) associée à un opérateur T maximal monotone la projection p c d'un espace de Hilbert réel H sur un convexe fermé non vide C les opérateurs linéaires symétriques positifs et non-expansifs (h 0 ) une sous-suite {p k } k N telle que J(p k ) = {1,…, } et s i (p k ) = p k i {1,…, } (h 1 ) s N tel que i {1,…, }, p N, p s ≤ s i (p) ≤ p (h 2 ) u R n, F(u) = u (h 3 ) x,x’ R n, ||F(x) F(x’)|| ≤ || x x’|| (h 4 ) x,x’ R n, ||F(x) F(x’)|| 2 ≤ (F(x) F(x’),x x’)
24 L’algorithme de Jacobi (4) Caractérisé par : s i (p) = p i {1,…, } (tous les retards sont nuls) J(p) = {1,…, } (toutes les composantes sont réactualisée) (4) décrit un algorithme parallèle synchrone (sans retards) On peut se passer de l’hypothèse (h 3 )
25 L’algorithme de Jacobi Théorème 2 Théorème 2: Si F admet un point fixe u et si elle vérifie l’hypothèse (h 4 ) alors l’algorithme parallèle de Jacobi converge dans R n vers x* point fixe de F La preuve (i) La suite (|| x p -u || ) p N est convergente grâce à (h 2 ), (h 4 ) (ii) et (iii) sont similaires au théorème 1
26 H est un espace de Hilbert réel ( (.,.) et ||..|| euclidien ) Un opérateur multivoque T de H à domaine D(T) est dit monotone si x,x’ D(T), ( y y’, x x’ ) ≥ 0 y Tx et y’ Tx’ a-fortement monotone (a > 0) si x,x’ D(T), ( y y’, x x’ ) ≥ a||x x’|| 2 y Tx et y’ Tx’ Les éléments x de D(T) vérifiant 0 Tx sont appelés solutions ou zéros de l’opérateur T Application aux opérateurs maximaux fortement monotones: Application aux opérateurs maximaux fortement monotones: Définitions H = R n
27 Théorème 3 Théorème 3: Soit T un opérateur multivoque maximal a-fortement monotone sur R n (a > 0). Alors T admet une solution unique x* Tout algorithme parallèle asynchrone à retards bornés associé à l'application univoque F = (I + cT ) -1 où c ≥ converge dans R n vers la solution x* de T Application aux opérateurs maximaux fortement monotones: Application aux opérateurs maximaux fortement monotones: Le théorème
28 C’est une application du théorème 1 On démontre que l’application F vérifie les hypothèses (h 2 ), (h 3 ) et (h 4 ) Application aux opérateurs maximaux fortement monotones: Application aux opérateurs maximaux fortement monotones: La preuve (h 0 ) une sous-suite {p k } k N telle que J(p k ) = {1,…, } et s i (p k ) = p k i {1,…, } (h 1 ) s N tel que i {1,…, }, p N, p s ≤ s i (p) ≤ p (h 2 ) u R n, F(u) = u (h 3 ) x,x’ R n, ||F(x) F(x’)|| ≤ || x x’|| (h 4 ) x,x’ R n, ||F(x) F(x’)|| 2 ≤ (F(x) F(x’),x x’)
29 Méthode parallèle pour le calcul des solutions des opérateurs multivoques maximaux fortement monotones On peut se passer de la forte monotonie dans le cas de Jacobi Application aux opérateurs maximaux fortement monotones: Application aux opérateurs maximaux fortement monotones: Remarque
30 Application aux opérateurs maximaux monotones Théorème 4 Théorème 4: Soit T un opérateur multivoque maximal monotone sur R n admettant une solution. Alors, tout algorithme parallèle synchrone de Jacobi associé à l'application univoque F = (I + cT ) -1 où c > 0 quelconque converge dans R n vers x* solution de T C’est une application directe du théorème 2 Si F admet un point fixe u et si elle vérifie l’hypothèse (h 4 ) alors l’algorithme parallèle de Jacobi converge dans R n vers x* point fixe de F
31 Cas spéciaux On va construire des opérateurs maximaux monotones pour le : calcul du minimum de fonctionnelles calcul du point selle de fonctions selles calcul de solutions des programmes convexes calcul de solutions des problèmes de l’inégalité variationnelle
32 Cas spéciaux : Cas spéciaux : Minimum de fonctionnelles f fonctionnelle de R n vers R {+ } convexe propre et s.c.i. f est un opérateur maximal monotone sur R n
33 Cas spéciaux : Cas spéciaux : Minimum de fonctionnelles f fonctionnelle de R n vers R {+ } convexe propre et s.c.i. Les zéros du sous-différentiel f sont les points de minimum de f 0 f(x 0 ) f(x 0 ) = min f(x) x R n
34 Cas spéciaux : Cas spéciaux : Minimum de fonctionnelles f fonctionnelle de R n vers R {+ } convexe propre et s.c.i. f est a-fortement convexe (a > 0) f est un opérateur a-fortement monotone
35 Cas spéciaux : Cas spéciaux : Minimum de fonctionnelles Corollaire 1 Corollaire 1: (cas asynchrone) f de R n vers R {+ } a-fortement convexe propre et s.c.i. (a > 0). Alors f admet un minimum unique x* Tout algorithme parallèle asynchrone à retards bornés associé à l'application univoque F = (I + c f ) -1 où c ≥ converge dans R n vers x* le point de minimum de f sur R n Application du théorème 3 à l’opérateur T = f
36 Corollaire 2 Corollaire 2: (cas synchrone) f de R n vers R {+ } convexe propre et s.c.i. telle que le problème de minimisation min f(x) admette une solution. x R n Alors Tout algorithme parallèle synchrone de Jacobi associé à l'application univoque F = (I + c f ) -1 où c > 0 quelconque converge dans R n vers un point de minimum de f sur R n Application du théorème 4 à l’opérateur T = f Cas spéciaux : Cas spéciaux : Minimum de fonctionnelles
37 Cas spéciaux : Cas spéciaux : Points selle L fonctionnelle de R n x R m vers [ ,+ ] Un point (x*,y*) de R n x R m vérifiant L(x*,y) ≤ L(x*,y*) ≤ L(x,y*), (x,y) R n x R m est appelé point selle de L L(x*,y*) = min L(x,y*) = max L(x*,y) x R n y R m
38 Cas spéciaux : Cas spéciaux : Points selle L fonctionnelle de R n x R m vers [ ,+ ] L est convexe-concave si x L(x,y) est convexe y R m y L(x,y) est concave x R n L est fonction selle (Rockafellar) L est a-fortement convexe-concave (a > 0) si x L(x,y) est a-fortement convexe y R m y L(x,y) est a-fortement concave x R n
39 Cas spéciaux : Cas spéciaux : Points selle L de R n x R m vers [ ,+ ] fonction selle et propre Si x L(x,y) est s.c.i. sur R n y R m y L(x,y) est s.c.s. sur R m x R n Alors L est fermée (Rockafellar)
40 Cas spéciaux : Cas spéciaux : Points selle L fonctionnelle de R n x R m vers [ ,+ ] L(x 0,y 0 ) = le sous-différentiel de L au point (x 0,y 0 ) R n x R m C’est l’ensemble des (x,y) de R n x R m vérifiant L(x 0,y’) (y,y’ y 0 ) ≤ L(x 0,y 0 ) ≤ L(x’,y 0 ) (x,x’ x 0 ) (x’,y’) R n x R m
41 Cas spéciaux : Cas spéciaux : Points selle L fonctionnelle de R n x R m vers [ ,+ ] Nous associons à la fonctionnelle L l'opérateur multivoque T L défini sur R n x R m par T L (x,y) = {(z,t) R n x R m : (z, t) L(x,y) } (x,y) R n x R m (0,0) T L (x,y) (x,y) est point selle de L Les points selle de L sont les solutions de l’opérateur T L T L est maximal monotone? fortement maximal monotone?
42 Proposition Proposition (Rockafellar) Si L une fonction selle propre fermée sur R n x R m Alors T L est un opérateur maximal monotone sur R n x R m Cas spéciaux : Cas spéciaux : Points selle
43 Lemme: Si L est une fonction a-fortement convexe-concave Alors T L est un opérateur a-fortement monotone Cas spéciaux : Cas spéciaux : Points selle
44 Corollaire 3 Corollaire 3: (cas asynchrone) L a-fortement convexe-concave propre et fermée de R n x R m vers [ ,+ ]. Alors L admet un point selle unique (x*,y*) Tout algorithme parallèle asynchrone à retards bornés associé à l'application univoque F = (I + c T L ) -1 de R n x R m vers R n x R m où c ≥ converge vers le point selle (x*,y*) de L Application du théorème 3 à l’opérateur T = T L Cas spéciaux : Cas spéciaux : Points selle
45 Corollaire 4 Corollaire 4: (cas synchrone) L fonction selle fermée et propre de R n x R m vers [ ,+ ] admettant un point selle. Alors Tout algorithme parallèle synchrone de Jacobi associé à l'application univoque F = (I + c T L ) -1 de R n x R m vers R n x R m où c > 0 quelconque converge vers un point selle de L Application du théorème 4 à l’opérateur T = T L Cas spéciaux : Cas spéciaux : Points selle
46 Cas spéciaux : Cas spéciaux : Programme convexe Considérons le programme convexe Min f 0 (x) x C(P) f i (x) ≤ 0, (1 ≤ i ≤ m) C convexe fermé non vide de R n f i : C R sont des fonctions (finies) convexes et s.c.i. pour (0 ≤ i ≤ m) Contraintes qualifiées x 0 C tel que f i (x 0 ) < 0, i {1,…, m}
47 Cas spéciaux : Cas spéciaux : Programme convexe Le Lagrangien associe au problème (P) dans sa forme étendue est la fonctionnelle L définie sur R n x R m par m f 0 (x) + ∑ y i f i (x)si x C et y (R + ) m i=1 L(x,y) = si x C et y (R + ) m + si x C
48 Cas spéciaux : Cas spéciaux : Programme convexe Le problème dual associé à (P) Max g 0 (y) (D) y (R + ) m g 0 : R m R { } définie par g 0 (y) = Inf L(x,y) x C
49 Cas spéciaux : Cas spéciaux : Programme convexe Si (x*,y*) est un point selle du lagrangien L sur R n x R m, alors x* est une solution optimale du problème primal (P) et y* est une solution optimale du problème dual (D). Inversement Si le problème (P) admet une solution x* et si les contraintes sont qualifiées alors il existe y (R + ) m tel que (x*,y*) soit point selle de la fonctionnelle L Nous pouvons alors énoncer :
50 Corollaire 5 Corollaire 5: (cas synchrone) Supposons que le programme convexe (P) soit à contraintes qualifiées et admette une solution. Alors Tout algorithme parallèle synchrone de Jacobi associé à l'application univoque F = (I + c T L ) -1 de R n x R m vers R n x R m où c > 0 quelconque converge vers (x*,y*) point selle de L, et donc x* est une solution du primal (P) et y* solution du dual (D). Application du corollaire 4 au lagrangien L Cas spéciaux : Cas spéciaux : Programme convexe
51 Cas spéciaux : Cas spéciaux : Inégalité variationnelle C convexe fermé non vide de R n A opérateur maximal monotone sur R n à domaine C Chercher x* de C tel que y* A x*, (y*, x x*) ≥ 0, x C Le cône normal de C en x est Nc(x) = { y R n, (y, x z) ≥ 0, z C }
52 Cas spéciaux : Cas spéciaux : Inégalité variationnelle L’opérateur multivoque T défini sur R n par Ax + Nc(x)si x C Tx = si x C est un opérateur maximal monotone (Rockafellar) Cet opérateur vérifie-t-il les conditions du théorème 3 ?
53 Cas spéciaux : Cas spéciaux : Inégalité variationnelle Lemme 1 Lemme 1: Si A est a-fortement monotone alors T est un opérateur a-fortement monotone
54 Cas spéciaux : Cas spéciaux : Inégalité variationnelle Lemme 2 Lemme 2: Le solutions de l’opérateur T sont exactement les solutions du problème de Inégalité variationnelle
55 Cas spéciaux : Cas spéciaux : Inégalité variationnelle Corollaire 6 Corollaire 6: (cas asynchrone) C convexe fermé non vide de R n et A un opérateur multivoque maximal a-fortement monotone défini sur C (a > 0). Alors Le problème de l’inégalité variationnelle admet une unique solution x* Tout algorithme parallèle asynchrone à retards bornés associé à l'application univoque F = (I + cT ) -1 où c ≥ converge dans R n vers la solution x* du problème de l’inégalité variationnelle Appliquer lemme 1, lemme 2 et théorème 3 à l’opérateur T
56 Cas spéciaux : Cas spéciaux : Inégalité variationnelle Corollaire 7 Corollaire 7: (cas synchrone) C convexe fermé non vide de R n et A un opérateur multivoque maximal monotone défini sur C tel que le problème de l’inégalité variationnelle admette une solution Alors Tout algorithme parallèle synchrone de Jacobi associé à l'application univoque F = (I + cT ) -1 où c > 0 quelconque converge vers x* solution du problème de l’inégalité variationnelle Appliquer théorème 4 à l’opérateur T
57Conclusion Notre travail Un algorithme parallèle asynchrone convergeant vers un point fixe Concerne le cas non linéaire non-expansif L’hypothèse (h 4 ) est largement vérifiée Applications aux problèmes d’optimisation (non linaire) au problème de l'inégalité variationnelle
58 Merci de votre attention
59Questions Algorithme Implémentable Communications Détection de convergence Procédure d’arrêt Jace
60 Algorithme : Algorithme : Implémentation Difficile dans le cas général Implémentable dans le cas où T = f Nouvelle méthode (Solodov et Svaiter 2000) Choisir x 0 R n et prendre k = 0 Ayant x k, choisir k > 0 et k [0,1[ et trouver y k R n et v k Ty k tel que 0 = v k + k (y k x k ) + r k où || r k || ≤ k max {|| v k ||, k ||y k x k ||} Stop si v k = 0 ou y k = x k Sinon, prendre x k+1 = x k (v k, x k y k ) || v k || -2 v k prendre k = k+1 et repeter Hybrid Proximal Point algorithm HPPA
61 Algorithme : Algorithme : Communications Threads ( en anglais) veut dire processus légers ou tâches utilise RMI (Remote Method Invocation ) pour communiquer Threads d’envois : Créés à la demande Appellent la fonction correspondante d’empaquetage des données à envoyer Threads de réceptions: Activées l’arrivée d’un message Appellent la fonction de dépaquetage correspondante lorsqu’un message arrive Lors d’une réception, on réactualise x i p+1
62 Algorithme : Algorithme : Détection de convergence Un processeur centralise les convergences locales de tous les processeurs Ce processeur se comporte de la même manière que tous les autres, mais doit juste effectuer une opération en plus Chaque processeur détermine sa convergence locale : On calcule la différence d’évolution entre 2 itérations On compte le nombre de fois consécutives où cette différence est inférieure à un seuil fixé Si le compteur dépasse un seuil, on considère qu’il y a convergence locale Envoie d’un message de convergence au processeur centralisateur S’il y a divergence après une convergence, envoie d’un message d’annulation de convergence Convergence globale détectée lorsque toutes les convergences locales sont reçues
63 Algorithme : Algorithme : Procédure d’arrêt Lorsqu’il détecte la convergence globale, le processeur centralisateur envoie un message d’arrêt général Quand les processeurs reçoivent le message d’arrêt, ils quittent la boucle d’itération L’arrêt nécessite la fin de tous les messages en cours
64 Jace : ) Jace : (J. BAHI et son équipe) Présentation Java Asynchronous Computation Environment Environnement de calcul asynchrone Java Conçu et optimisé pour le calcul itératif asynchrone (calcul, communication) Architecture de Jace (trois entités principales) les Tâches le Démon le Spawner (Distributeur de tâches)
65 Jace : Jace : Architecture Les Tâches héritent d'une classe Jace nommée Task proposant les méthodes de communications et de synchronisations
66 Le Démon présent sur chaque machine participant au calcul contient tous les objets nécessaires pour : configurer la machine parallèle router les messages gérer les taches responsable de la synchronisation et de la communication entre les nœuds de calculs (réception et envoie de message) utilise RMI (Remote Method Invocation ) pour communiquer Jace : Jace : Architecture
67 Le Spawner (Distributeur de tâches) se charge de distribuer les tâches sur l'ensemble des processeurs suivant un certain protocole de distribution de tâches instancie à distance une tâche de calcul s'intégrant au démon Jace : Jace : Architecture