next up previous
Next: Sémantiques et protocoles de Up: Conception du système DOSMOS Previous: Modèle de partage

Gestion de tableaux distribués

DOSMOS permet de manipuler des variables de type simple (entier, réel, caractère ...) mais aussi des tableaux. La gestion de tableaux partagés pose un certain nombre de problèmes liés à l'accès et à la cohérence des cellules. En effet, si l'on considère un tableau comme un objet partagé unique, un accès exclusif à une cellule du tableau nécessite de bloquer la totalité du tableau, empêchant par là-même de pouvoir accéder (de manière exclusive) aux autres cellules du tableau. On est donc confronté à une problématique de faux-partage ! Autre conséquence d'une gestion ``monolithique'' des tableaux partagés : l'ensemble des demandes d'accès exclusifs aux cellules d'un même tableau sont centralisées sur le gestionnaire du tableau, au risque de former un goulot d'étranglement.

Pour pallier ce problème, le système DOSMOS permet de découper les tableaux en sous-objets système. Dans ce cadre, DOSMOS propose à l'utilisateur plusieurs directives de découpage : par ligne, par colonne, par bloc, et à court terme, par bloc cyclique. L'utilisateur maîtrise ainsi parfaitement le découpage des tableaux. Cependant, il suffit, pour accéder à un élément d'un tableau, de préciser (l'indice de) l'élément concerné sans qu'il soit nécessaire de spécifier le sous-objet système effectivement manipulé. L'avantage du découpage d'un tableau est d'éviter (au moins de diminuer) le faux-partage et les goulots d'étranglement.

En suivant cette démarche à l'extrême, il pourrait sembler judicieux de découper les tableaux en blocs d'une cellule. Le danger d'une telle approche est double : le nombre de sous-objets à gérer risque d'exploser ; la manipulation de tableaux risque de coûter très cher. En effet, gérer des objets de grain moyen permet de ``bloquer'' en un accès plusieurs cellules (e.g. une ligne ou une colonne entière)gif. A l'inverse, des sous-objets mono-cellulaires nécessiteraient autant de demandes d'accès que de cellules-cibles, induisant de ce fait un surcoût important.



Laurent Lefevre
Fri Jan 31 19:11:08 MET 1997