WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

La tolérance aux pannes des algorithmes de partage de ressources dans les systèmes répartis et les réseaux Ad Hoc (simulation par ns-2)

( Télécharger le fichier original )
par Sami et Abdelmadjid Oubbati et Benarfa
Université Amar Telidji Laghouat - Ingénieur d'état en informatique 2010
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

3.2.3 Principe de fonctionnement

Pour assurer la K-exclusion mutuelle, nous utilisons autant de jetons que de ressources disponibles, initialement, chaque racine détient un jeton libre et les racines peuvent échanger les jetons entre elles, une racine peut détenir jusqu'à K jetons libres à la fois.

Lorsqu'un site demandeur désire entrer en SC, il envoie une requête vers la racine de son arbre, cette racine va satisfaire la requête par l'envoi d'un jeton si elle détient des jetons libres, dans le cas contraire, la requête sera sauvegardée, et la racine va demander un jeton supplémentaire à ses voisins via l'anneau.

Si la racine qui reçoit la demande d'un voisin détient des jetons libres, elle va répondre favorablement à cette demande par l'envoi d'un jeton, sinon elle va propager cette demande vers un autre voisin.

La réception d'un jeton par une racine permet de servir la première requête en attente, le site demandeur qui reçoit un jeton passe donc à la SC, et il envoie le jeton à sa racine après la libération de la SC.

Afin d'éviter l'échange coûteux des jetons entre les racines, nous utilisons une méthode judicieuse qui permet d'envoyer les jetons via le plus court chemin entre le site envoyeur et le site récepteur, cette méthode permet donc de minimiser le nombre de messages échangés pour chaque entrée en SC.

3.2.4 Hypothèses

Pour assurer le bon fonctionnement de notre algorithme, on suppose que :

- Le nombre N des noeuds et le K des racines sont connus.

- Le réseau physique est un réseau complet.

- Les sites du système ne tombent pas en panne.

- Les canaux de communication sont fiables, et il n'y a pas de perte de messages.

3.2.5 Description de l'algorithme

Dans cette partie nous allons décrire les variables et les messages utilisés, et on va détailler les procédures de notre algorithme.

3.2.5.1 Variables locales

Cet algorithme possède deux types de noeud, les sites racines et les sites simples. - Au niveau d'un Site i simple:

Etati : Désigne l'état du site, cet état appartient à {Dehors, Demandeur, En SC}, qui est initialisé à Dehors.

Racinei : L'identité de la racine d'arbre contenant ce site. - Au niveau d'une Racine i :

Etati : Désigne l'état du site, cet état appartient à {Dehors, Demandeur, En SC}, et qui est initialisé à Dehors.

Racinei : au début est initialisée à Nil.

voisin_droiti : l'identité du voisin droit dans l'anneau. voisin_gauchei : l'identité du voisin gauche dans l'anneau.

Jetons_libresi : un entier qui donne le nombre de jetons libres détenus par la racine, qui est initialisé à 1.

Jetons_presentsi : un entier qui donne le nombre de jetons qui se trouvent dans l'arbre, qui est initialisé à 1.

Demandeursi : une file d'attente pour stocker les requêtes, initialement vide.

Longueuri : la longueur de la file d'attente, et puisque la file d'attente est vide initialement, donc il est initialisé à 0.

Distance : une variable permettant de calculer la distance entre deux sites dans l'anneau, qui est initialisé à 0.

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Nous voulons explorer la bonté contrée énorme où tout se tait"   Appolinaire