From: HADDAD MOHAMMED Subject: Algo en message passing To: mourad hakem , Arnaud Giersch , Raphaël Couturier Date: Fri, 6 Apr 2018 13:25:20 +0000 (35 weeks, 5 days, 19 hours ago) 1. (*) text/plain ( ) text/html Bonjour à tous, Je vous propose (ci-dessous) une nouvelle version de l'algo à discuter (courant de la semaine prochaine si vous avez une petite demi heure de dispo). Le mode transaction n'est pas du tout géré et reste complètement libre dans les choix à prendre. Il se pourrait qu'il y est des bugs mais qu'on pourra corriger car maintenant l'idée est plus ou moins stabilisée. Bonne reception et bon week end à tous Mohammed --------- Variables at node i: val : load value, values[] : array of values of neighbors, Center : pointer, Leaves : list. Events: * Init : Center = null, Leaves = \emptyset, Values[] ={0, ...., 0}. Send VAL(i, val) to each neighbor j. * On receive VAL(j, val): values[j] = val. if (j = Center) then Center = null * if Exists a neighbor j such that: values[j] - val > epsilone then Center = i Send Invitation to each neighbor j such that: values[j] - val Set a "small" Timer end_if * On receive Invitation from j if Center != null AND val - values[j] > epsilone then Center = j Send Ack to j end_if * On receive Ack from j Leaves = Leaves union j * On Timer Enter Transaction mode and perform local equilibrium Center = null, Leaves = \emptyset Send VAL(i, val) to each neighbor j.