Distribution de données selon la méthode PBST* sur une grille
informatique
L’insertion peut invoquer des traitements sur les
serveurs données-index en cas d’éclatement du serveur de
données qui a exécuté la requête. Dans ce cas, le
coordinateur local sera sollicité pour l’allocation d’un
nouveau serveur.
L’allocation d’un nouveau serveur se fait comme suit :
Si le cluster local possède un serveur Sh qui a une case
libre, il donne l’adresse de Sh au Sc. Après, on équilibre la
charge entre ces deux serveurs en envoyant un sous arbre
de Sc vers Sh. Dans l’autre cas, le coordinateur envoie une
requête en multicast vers tous les autres chefs de clusters
afin d’allouer un serveur qui contient une case vide.
IV. LES TESTS
Nous présentons dans cette section les tests de
simulation qu’on a effectués sur notre prototype afin de
tester sa validité, d’évaluer ces performances et d’étudier sa
scalabilité.
Notre grille est composée de 5 clusters. Chaque cluster
contient 10 nœuds de calcul et stockage.
Noter qu’on dans nos tests, on s’intéresse au nombre
d’éclatements des serveurs. Noter aussi que les tailles des
cases qu’on va utiliser sont très inférieures de celles
utilisées dans la pratique, mais ce choix nous permet
d’avoir un grand nombre d’éclatements et d’observer ainsi
le comportement de notre prototype.
A. Taux de chargement des cases des serveurs alloués
pour un fichier
Le facteur de chargement est égal à l’espace occupé par
les enregistrements divisé par la taille des cases allouées. Il
reflète la bonne utilisation de l’espace mémoire. La figure3
montre le taux de chargement moyen des cases allouées
pour un fichier.
Figure 3. Taux de chargement moyen des cases.
On peut remarquer que le taux de chargement est
toujours supérieur à 50% ce qui s’explique par le
fonctionnement de PBST*. En effet, lorsqu’une case d’un
serveur atteint sa capacité maximale, une nouvelle case
d’un autre serveur est allouée et la moitié de la charge lui
est transmis.
B. Disponibilité
Dans ce test, nous commençons par créer 4 fichiers
avec un paramètre de partitionnement =100. Le fichier1
(respectivement fichier2, fichier3 et fichier4) est distribué
sur 9 serveurs (respectivement 16 serveurs, 22 serveurs et
31 serveurs). Pour chaque fichier créé, on suppose qu’un
coordinateur tombe en panne. A ce moment, un client se
connecte à la grille avec une image vide et essaie d’accéder
à tous les enregistrements du fichier. Nous mesurons le taux
d’informations que ce client peut trouver. (figure4)
Figure 4. Taux d’informations trouvées et perdues en cas de panne.
On remarque que le taux d’informations perdues
diminue si le fichier est distribué sur plusieurs clusters.
Ceci est justifiable car le faite de distribuer les données sur
plusieurs clusters réduit le pourcentage des données
stockées sur le cluster qui contient le coordinateur
endommagé.
V. CONCLUSION
Nous avons proposé dans cet article un protocole de
distribution de données sur une grille informatique basé sur
PBST*.
Les tests effectués nous ont montré que le croisement
des deux domaines SDDS et "grilles informatiques " peut
être considéré comme un axe de recherche important. Deux
résultats rendent le nouveau système attractif. D’une part, il
assure une répartition équitable des données sur l’ensemble
des serveurs alloués pour un fichier. D’autre part, il assure
la disponibilité de la plupart des données même si un
coordinateur tombe en panne, et ceci sans l’utilisation
d’aucune stratégie de disponibilité des données.
REFERENCES
[1] I.Foster and C.Kesselman, “The Grid: Blueprint for a New
Computing Infrastructure,” Morgan-kaufmann,1999.
[2] R. Buyya and S. Venugopal, “A Gentle Introduction to Grid
Computing and Technologies”, CSI Communications, Vol.29,
Computer Society of India (CSI), Mumbai, India, pp 9-19, 2005.
[3] P. Tadepalli, “Grid-based distributed search structure”, In
Proceedings of the ACM SouthEast Conférnece, Melbourne,
Florida, pp 752-753, 2006.
[4] W. Litwin, M.A. Neimat and D. Schneider, “LH*: Linear Hashing
for Distributed Files”, ACM-SIGMOD International Conference On
management of Data, 1993.
[5] D. Devin, “Design and implementation of DDH: A distributed
dynamic hashing algorithme”, In Proceessing of the 4th Foundation
of Data Ortanization and Algorithms (FODO), 1993.
[6] V. Hilford, F.B. Bastani and B. Cukic, “EH*: Extendible Hashing
distributed”, 1997.
[7] D.E. Zegour and D. Boukhelef, “IH*: Hachage Linéaire
Multidimensionnel Distribué et Scalable”, Conférence Africaine de
Recherche en Informatique, CARI 2002, Yaoundé (Cameroun),
Octobre 2002.
[8] S. Monnet, “Gestion des données dans les grilles de calcul: support
pour la tolérance aux fautes et la cohérence des données”, These de
Doctorat, Université de Rennes1, 2006.
[9] W.Litwin, M.A. Schneider, “RP*: A family of Order-Preserved
Scalable Distributed Data Structure”, 20th International Conference,
On Very Large Data Bases (VLDB), 1994.
[10] B. Kroll and P. Widmayer, “Distributing a Search Tree Among a
Growing”, In ACM-SIGMOD International Conference On
Management of Data, pp 265-276, 1994.
[11] G. Antoniu, L. Bougé and M. Jan. JuxMem : An Adaptive
Supportive Platform for Data Sharing on the Grid, IN Scalable
Computing : Practice and Experience, pp 45-55, September 2005.