Contribution pour la tolérance aux fautes dans
les systèmes distribués
Dr. AMROUNE Mohamed
MCA Université Larbi Tebessi, Tebessa
Président
Dr. HIOUAL Ouassila
MCA Université Abbes Laghrour, Khenchela Examinateur
Dr. GHERZOULI Mohamed
MCA Université Constantine 2, Constantine
Examinateur
Dr. BRADJI Louardi
MCA Université Larbi Tebessi, Tebessa
Examinateur
Pr. BENDJENNA Hakim
Prof
Université Larbi Tebessi, Tebessa
Directeur de thèse
Dr. HEMMAM Soufiane Mounine MCA Université Abbes Laghrour, Khenchela Co-encadreur
صخلملا
عم
ةمظنأ
ةبسوحلا
ةيعوطلا
،
ابلاغ
ام
نوكت
دراوملا
ةيعوطلا
ءاضعأ
نييداع
وأ
صاخشأ
نوكلمي
مهبيساوح
ةيصخشلا
عم
ةيناكمإ
لاصتلاا
تنرتنلإاب
؛
ىتح
تاسسؤملا
اهنكمي
ا ضيأ
ةمهاسملا
نيعوطتمك
ريفوتو
دراوم
ايجولونكت
تامولعملا
ةصاخلا
مهب
.
تحبصأ
هذه
ةمظنلأا
رثكأ
اج
بذ
ةي
اهنلأ
رفوت
ىلعأ
ةوق
ةبسوح
.
عمو
كلذ
،
دعي
ةيبلت
تاجايتحا
نيمدختسملا
و
احملا
ف
ىلع ةظ
ءادأ
ماظنلا
يف
اذه
عونلا
نم
جذامنلا
ا يدحت
ا مساح
.
،كلذل
حرتقن
ةينب
ةديدج
ةمظنلأ
تاباسحلا
ةيعوطلا
ةنزاومل
لمحلا
نيب
تاعومجملا
ةيعرفلا
لا
ت
ي
ةقيرطب ماظنلا لكشت
يزكرملا
ة
،
نيبو
دراوملا
ةيعوطلا
نم
نيعوطتملا
لكشت يتلا
تاعومجملا
ةيعرفلا
ايزكرم
.
ةفاضلإاب
ىلإ
كلذ
،
نإف
انحارتقا
عتمتي
ايازمب
رثكأ
:
لاوأ
،
رايتخا
دراوملا
بسنلأا
اقفو
تاجايتحلا
نيمدختسملا
لاو
ىلع ةظفاحم
آ
ءاد
ماظنلا
.
ايناث
،
ريدقت
لامتحا
لشف
دراوملا
ةيعوطلا
مادختساب
جذومن
ةلسلس
فوكرام
ةيئاوشعلا
.
متي
ءاشنإ
جئاتنلا
ةيبيرجتلا
مادختساب
يكاحم
ققحتلل
نم
ةيلاعف
ماظنلا
حرتقملا
لوصحلاو
ىلع
جئاتن
ةدعاو
.
تاملك
ثحبلا
ةينمزلا فوكرام لسلاس
بنتلل
ؤ
،
ةيلامتحا
لشفلا
،
ةنزاوم
لمحلا
،
ةداعإ
عيزوتلا
،
حماستلا
عم
أطخلا
،
ةمظنأ
لا
وح
ةبس
ةيعوطتلا
.
❖
❖
•
•
•
•
•
•
•
•
•
✓
✓
✓
✓
✓
▪
▪
▪
▪
•
•
•
•
•
•
•
•
✓
✓
✓
✓
✓
𝑙𝑜𝑔𝑀
P2P Client/ Serveur
✓
✓
✓
Grid DHT Heartbeat Monitor (HBM) Échec de l'hôte Réactif✓
✓
Grid DHT Heartbeat Monitor (HBM) Échec de l'hôte Réactif✓
✓
✓
Système de Calcul volontaires Heartbeat Monitor (HBM) Échec de l'hôte Proactif✓
✓
✓
Cluster Non Non Non
✓
✓
Système de Calcul volontaires
Non Non Non
✓
✓
✓
Mobile Grid Computing Systems Heartbeat Monitor (HBM) Échec de l'hôte Réactif
✓
✓
✓
Heartbeat Monitor (HBM) Réactif✓
✓
Hybrid platform P2P & Cloud Heartbeat Monitor (HBM) Échec de l'hôte Réactif✓
✓
✓
✓
➢
➢
➢
•
•
•
𝑉𝑅
𝑖où
𝑖 ∈ [1. . 𝑀]
𝑉𝐶𝐿
𝑖[1..𝐾]𝑆
𝑉𝑅𝑉𝐶𝐿𝑖𝑉𝐶𝐿
𝑖𝑆
𝑉𝑅𝑉𝐶𝐿1∩ 𝑆
𝑉𝑅 𝑉𝐶𝐿2∩ … ∩ 𝑆
𝑉𝑅 𝑉𝐶𝐿𝑘= ∅
𝑆
𝑉𝑅𝑉𝐶𝐿1∪ 𝑆
𝑉𝑅 𝑉𝐶𝐿2∪ … ∪ 𝑆
𝑉𝑅 𝑉𝐶𝐿𝑘= 𝑆𝑉𝐶𝐿
𝐿𝑉𝑅
𝑖𝑉𝑅
𝑖𝑆𝑒𝑡𝑠
𝑆𝐵𝑄 =
{𝑄
1, 𝑄
2, … , 𝑄
𝑡}
𝑄
𝑖⊆ 𝑆𝑒𝑡𝑠
𝑆𝐵𝑄
𝑖𝑆𝑒𝑡𝑠
𝑆𝐵Q
∀ 𝑖, 𝑗 ∈ {1 … 𝑡}, 𝑄
𝑖∩ 𝑄
𝑗≠ ∅
𝑛 + (𝑛 − 1) + (𝑛 − 2) + ⋯ + (𝑛 − (𝑥 − 1)) = 𝑇𝑜𝑡_𝑆𝐵
…
𝑇𝑜𝑡_𝑆𝐵
=
𝑥
2
(2𝑛 − 𝑥 + 1), 𝑛 ≥ 𝑥 2
⁄
𝑇𝑜𝑡_𝑆𝐵
𝑛
𝑥
•
•
•
o
o
o
o
o
o
o
o
o
ALGORITHM 1: Global load balancing algorithm
Begin
01 while true
02 Arrival Message
03 if (Message = Rq: Request from user) then 04 Algorithm4(Rq)
05 end if
06 if (Message = Rq: Request from another switcher balancer) then 07 Algorithm2(Rq)
08 Update ( ) of this switcher balancer
09 ←
10 end if
11 if (Message = end of Rq execution) then
12 Remove Rq from the set of requests awaiting execution at this
volunteer resource
13 Update ( )
14 Update ( ) of this switcher-balancer
15 L[i] ← 16 end if
17 if (Message = Reply from ( )) then
18 if (getState( )=Connected) then
19 ;
20 StopTime ;
21 end if 22 end if
23 if Message = Connected ( )
24 if (getState( )=Connected) then
25 ; 26 ; 27 ; 28 else 29 ; 30 setState( ,Connected); 31 end if 32 end if 33 if Message=Failure ( ) then 34 ; 35 Algorithm6( ); 36 setState( ) ; 37 end if
38 if event = TimeOut ( ) then
39 ; 40 Algorithm6( ); 41 setState( ,DisConnected); 42 end if 43 end while end algorithm
𝑅𝑆
𝑖𝑆
𝑅𝑆𝑗
𝐿
𝑉𝐶𝐿𝑖𝑉𝐶𝐿
𝑖𝐿
𝑉𝐶𝐿𝑖=
∑ 𝐿𝑉𝑅𝑗 [𝑆 𝑅𝑆𝑗 𝑉𝐶𝐿𝑖] 𝑗=1 [𝑆 𝑅𝑆𝑗𝑉𝐶𝐿𝑖]…
𝐿
𝑉𝑅𝑗= ∑
𝑅𝑆
𝑉𝑅𝑗× 𝑇
𝑖 [𝑁𝑅𝑆𝑉𝑅𝑗] 𝑖=1…
𝑅𝑆
𝑖𝑉𝑅
𝑗𝑅𝑇(𝑅𝑆
𝑖)
𝑉𝑅𝑗= 𝐿
𝑉𝑅𝑗+ 𝑇
𝑅𝑆𝑖…
𝑇
𝑅𝑆𝑖𝑅𝑆
𝑖𝑉𝑅
𝑗•
𝑉𝑅
𝑗•
𝑆𝑅𝑆
𝑉𝑅𝑗𝑉𝑅
𝑗𝑉𝐶𝐿
𝑖•
𝐿
𝑉𝑅𝑗𝑉𝑅
𝑗Algorithm 2: Centralized load balancing algorithm
Begin
01 set of volunteer resources that contain the requested service
02
03 Select from the volunteer resources which their load is less than
the average load of system
04 Call The (SA) algorithm algorithm 3 to find the best solution and Send the request to the selected one
05 Add the request to (set of requests awaiting execution at resource
belonging to the volunteer sub-groups
06 Update ( ) End algorithm
𝑺𝒆𝒕_𝒑𝒐𝒑𝒖𝒍𝒂𝒕𝒊𝒐𝒏
𝐷𝑖𝑠𝑡𝑎𝑛𝑐𝑒𝑉𝑅
𝐷𝑖𝑠𝑡𝑎𝑛𝑐𝑒𝑉𝑅
𝑫𝒊𝒔𝒕𝒂𝒏𝒄𝒆𝑽𝑹
𝑅𝑇𝑉𝑅
𝐼𝐷𝑆𝑒𝑙𝑒𝑐𝑡𝑉𝑅𝐹𝑉𝑅
𝐼𝐷𝑆𝑒𝑙𝑒𝑐𝑡𝑉𝑅𝐷𝑖𝑠𝑡𝑎𝑛𝑐𝑒
𝐼𝐷𝑆𝑒𝑙𝑒𝑐𝑡𝑉𝑅← √(𝑅𝑇𝑉𝑅
𝐼𝐷𝑆𝑒𝑙𝑒𝑐𝑡𝑉𝑅)
2+ (𝐹𝑉𝑅
𝐼𝐷𝑆𝑒𝑙𝑒𝑐𝑡𝑉𝑅)
2;
…
(5)
𝑴𝒊𝒏
γ
α β
𝑹𝒂𝒏𝒅𝒐𝒎_𝒂𝒓𝒓𝒂𝒚
𝑰𝒏𝒅𝒆𝒙_𝑽𝑹
𝐷𝑖𝑠𝑡𝑎𝑛𝑐𝑒𝑉𝑅
𝐷𝑖𝑠𝑡𝑎𝑛𝑐𝑒𝑉𝑅
•
•
Algorithm 3 Selecting Algorithm SA Algorithm SA Function 01 ( ):entier; 02 if ) then 03 ; 04 else 05 ; 06 ; 07 ; 08 if ( ) then 09 if ( ) then 10 if ( ) then 11 ; 12 ; 13 end if 14 else 15 ; 16 ; 17 ; 18 end if 19 ; 20 ; 21 end if 22 ; 23 ( ); 24 end if end Begin 25 ; 26 ; 27 QuickSort ( ); 28 QuickSort ( ); 29 Scale ( ); 30 ; 31 ; 32 ; 33 ( ); End algorithm
𝐿
𝑆𝑦𝑠𝑡𝑒𝑚𝑅𝑆 𝐿𝑜𝑎𝑑 [ ]
𝐴𝑐𝑡𝑖𝑣𝑒
𝑉𝐶𝐿𝑖=
∑ (𝐹𝑉𝑅𝑗) −1 𝑛 𝑗=1 𝑛…
(6)
n
𝑉𝐶𝐿
𝑖𝐹
𝑉𝑅𝑗𝑉𝑅
𝑗Algorithm 4: Decentralized load balancing algorithm
Begin
01 Algorithm 5; // Call the Algorithm 5 in order Calculate the average load of the system 02 For i ← 1 to K do 03 if (( < ) and ( )) then 04 ; 05 j++; 06 end if 07 end for
08 Arrange in increasing order;
09 if then
10 ;
11 else
12 ;
13 of this switcher balancer;
14
15 to the quorum that the switcher balancer belong to it;
16 end if
End algorithm
𝑂(𝐿)
1 ≤ 𝐿 ≤ [𝑄] [𝑄]
𝐿
𝑆𝑦𝑠𝑡𝑒𝑚=
∑(𝑅𝑆)•
•
𝐶
𝑖𝑉𝑅
𝑖𝐷
𝑖𝑉𝑅
𝑖𝐹
𝑖𝑉𝑅
𝑖𝑝
𝑖𝑉𝑅
𝑖𝑟
𝑖𝑉𝑅
𝑖𝑡
𝑖𝑉𝑅
𝑖𝑞
𝑖𝑉𝑅
𝑖1 − 𝑞
𝑖𝑉𝑅
𝑖(𝑉𝑅
𝑖)
𝑇𝑃𝑀(𝑉𝑅
𝑖) = [
𝑝
𝑖𝑟
𝑖𝑡
𝑖0
0
1
1 − 𝑞
𝑖0
𝑞
𝑖]
𝑖
𝑗
𝑛
𝑟
𝑖𝑗(𝑛) = ∑ 𝑟
𝑘 𝑖𝑘(𝑛 − 1)𝑝
𝑘𝑗𝑛 → ∞
{
𝜋
𝑗= ∑ 𝜋
𝑘 𝑘𝑝
𝑘𝑗∑ 𝜋
𝑗 𝑗= 1
𝜆
𝑖𝑉𝑅
𝑖𝜆
𝑖= 𝜋
𝐹𝑖{
𝜋
𝐹𝑖= 𝜋
𝐶𝑖𝑡
𝑖+ 𝜋
𝐹𝑖𝑞
𝑖+ 𝜋
𝐷𝑖𝜋
𝐶𝑖= 𝜋
𝐶𝑖𝑝
𝑖+ 𝜋
𝐹𝑖(1 − 𝑞
𝑖)
𝜋
𝐷𝑖= 𝜋
𝐶𝑖𝑟
𝑖𝜋
𝐹𝑖+ 𝜋
𝐶𝑖+ 𝜋
𝐷𝑖= 1
𝜆
𝑖= 𝜋
𝐹𝑖=
𝑝𝑖−1