Лекция 12. Задача сохранения моментального состояния. Алгоритм Чанди-Лампорта_ Лаи-Янги. Применение на практике (1185662), страница 3
Текст из файла (страница 3)
Ïîýòîìó ñîñòîÿíèå S ∗ìåñòî ñîîòíîøåíèå rcvdpqpqîñóùåñòâèìî.Àëãîðèòì ×àíäèËàìïîðòàÏî òåîðåìå 1 äîñòàòî÷íî ñêîîðäèíèðîâàòü ëîêàëüíûåìîìåíòàëüíûå ñîñòîÿíèÿ, ÷òîáû âûïîëíÿëèñü ñëåäóþùèå äâàñâîéñòâà:Àëãîðèòì ×àíäèËàìïîðòàÏî òåîðåìå 1 äîñòàòî÷íî ñêîîðäèíèðîâàòü ëîêàëüíûåìîìåíòàëüíûå ñîñòîÿíèÿ, ÷òîáû âûïîëíÿëèñü ñëåäóþùèå äâàñâîéñòâà:1. âûáðàííûå â êàæäîì ïðîöåññå ëîêàëüíûå ìîìåíòàëüíûåñîñòîÿíèÿ äîëæíû áûòü ðåàëèçîâàíû.Àëãîðèòì ×àíäèËàìïîðòàÏî òåîðåìå 1 äîñòàòî÷íî ñêîîðäèíèðîâàòü ëîêàëüíûåìîìåíòàëüíûå ñîñòîÿíèÿ, ÷òîáû âûïîëíÿëèñü ñëåäóþùèå äâàñâîéñòâà:1. âûáðàííûå â êàæäîì ïðîöåññå ëîêàëüíûå ìîìåíòàëüíûåñîñòîÿíèÿ äîëæíû áûòü ðåàëèçîâàíû.2. ïîëó÷åíèå ïîñòìîìåíòàëüíîãî ñîîáùåíèÿ íå ìîæåòñîñòàâëÿòü ïðåäìîìåíòàëüíîå ñîáûòèå.Àëãîðèòì ×àíäèËàìïîðòàÏî òåîðåìå 1 äîñòàòî÷íî ñêîîðäèíèðîâàòü ëîêàëüíûåìîìåíòàëüíûå ñîñòîÿíèÿ, ÷òîáû âûïîëíÿëèñü ñëåäóþùèå äâàñâîéñòâà:1.
âûáðàííûå â êàæäîì ïðîöåññå ëîêàëüíûå ìîìåíòàëüíûåñîñòîÿíèÿ äîëæíû áûòü ðåàëèçîâàíû.2. ïîëó÷åíèå ïîñòìîìåíòàëüíîãî ñîîáùåíèÿ íå ìîæåòñîñòàâëÿòü ïðåäìîìåíòàëüíîå ñîáûòèå.Âî âñåõ àëãîðèòìàõ ïîñòðîåíèÿ ìîìåíòàëüíîãî ñîñòîÿíèÿâñÿêèé ïðîöåññ çàïå÷àòëåâàåò ñâîå ëîêàëüíîå ìîìåíòàëüíîåñîñòîÿíèå, äî òîãî êàê ïîëó÷èò ïîñòìîìåíòàëüíîå ñîîáùåíèå.×òîáû îòëè÷àòü ñîîáùåíèÿ â àëãîðèòìå ïîñòðîåíèÿìîìåíòàëüíîãî ñîñòîÿíèÿ îò ñîîáùåíèé â ñàìîì âû÷èñëåíèè,ìû áóäåì íàçûâàòü ñîîáùåíèÿ ïåðâîãî âèäà êîíòðîëüíûìèñîîáùåíèÿìè , à ñîîáùåíèÿ âòîðîãî âèäà áàçîâûìèñîîáùåíèÿìè .Àëãîðèòì ×àíäèËàìïîðòàÀëãîðèòì ïðèìåíèì ê ñèëüíî ñâÿçíîé ñåòè ñ ïðîèçâîëüíîéòîïîëîãèåé, îäíîíàïðàâëåííûìè êàíàëàìè, â êîòîðûõïîääåðæèâàåòñÿ î÷åðåäíîñòü ñîîáùåíèé.Àëãîðèòì ×àíäèËàìïîðòàÀëãîðèòì ïðèìåíèì ê ñèëüíî ñâÿçíîé ñåòè ñ ïðîèçâîëüíîéòîïîëîãèåé, îäíîíàïðàâëåííûìè êàíàëàìè, â êîòîðûõïîääåðæèâàåòñÿ î÷åðåäíîñòü ñîîáùåíèé.Èäåÿ àëãîðèòìà. àëãîðèòìå ×åíäèËýìïîðòà ïðîöåññû ñîîáùàþò äðóã äðóãóî ïîñòðîåíèè ìîìåíòàëüíûõ ñîñòîÿíèé ïóòåì îòïðàâëåíèÿñïåöèàëüíûõ ñîîáùåíèé (ìàðêåðîâ) hmkri ïî êàæäîìó êàíàëó.Êàæäûé ïðîöåññ, çàïå÷àòëåâàÿ ñâîå ëîêàëüíîå ñîñòîÿíèå,îòïðàâëÿåò ìàðêåð â òî÷íîñòè îäèí ðàç ïî êàæäîìóïðèìûêàþùåìó ê íåìó êàíàëó; ìàðêåðû ðàññìàòðèâàþòñÿ êàêêîíòðîëüíûå ñîîáùåíèÿ.Ïîëó÷åíèå ñîîáùåíèÿ hmkri êàêèì-ëèáî ïðîöåññîì, êîòîðûéåùå íå çàïå÷àòëåë ñâîå ìîìåíòàëüíîå ñîñòîÿíèå, ïðèâîäèò êòîìó, ÷òî ýòîò ïðîöåññ çàïå÷àòëåâàåò ñâîå ìîìåíòàëüíîåñîñòîÿíèå è òàêæå îòïðàâëÿåò ìàðêåð hmkri , êîòîðûéâûïîëíÿåòñÿ ïàðàëëåëüíî ñ âû÷èñëåíèåì C .Àëãîðèòì ×àíäèËàìïîðòàvartakenp:boolinitfalse ;Äëÿ çàïóñêà àëãîðèòìà:begin çàïîìíèòü ëîêàëüíîå ñîñòîÿíèå ; takenp := true ;forall q ∈ Neighp do send hmkri to qendÅñëè áûë äîñòàâëåí ìàðêåð:begin receive hmkri ;if not takenp thenbegin çàïîìíèòü ëîêàëüíîå ñîñòîÿíèå ; takenp := true ;forall q ∈ Neighp do send hmkri to qendendÀëãîðèòì ×àíäèËàìïîðòàËåììà.Åñëè õîòÿ áû îäèí ïðîöåññ çàïóñòèòàëãîðèòì ×àíäèËàìïîðòà, òî ñïóñòÿ êîíå÷íûé ïðîìåæóòîêâðåìåíè âñå ïðîöåññû çàïå÷àòëåþò ñâîå ëîêàëüíîåìîìåíòàëüíîå ñîñòîÿíèå.Àëãîðèòì ×àíäèËàìïîðòàËåììà.Åñëè õîòÿ áû îäèí ïðîöåññ çàïóñòèòàëãîðèòì ×àíäèËàìïîðòà, òî ñïóñòÿ êîíå÷íûé ïðîìåæóòîêâðåìåíè âñå ïðîöåññû çàïå÷àòëåþò ñâîå ëîêàëüíîåìîìåíòàëüíîå ñîñòîÿíèå.Äîêàçàòåëüñòâî.ÑàìîñòîÿòåëüíîÀëãîðèòì ×àíäèËàìïîðòàÒåîðåìà 2.Àëãîðèòì ×åíäèËýìïîðòà âû÷èñëÿåò çíà÷èìîå ìîìåíòàëüíîåñîñòîÿíèå ñèñòåìû.Àëãîðèòì ×àíäèËàìïîðòàÒåîðåìà 2.Àëãîðèòì ×åíäèËýìïîðòà âû÷èñëÿåò çíà÷èìîå ìîìåíòàëüíîåñîñòîÿíèå ñèñòåìû.Äîêàçàòåëüñòâî.Ñîãëàñíî ëåììå àëãîðèòìó íóæíî êîíå÷íîå âðåìÿ äëÿâû÷èñëåíèÿ ìîìåíòàëüíîãî ñîñòîÿíèÿ ñèñòåìû.
Ïîêàæåì, ÷òîïîñòðîåííîå ìîìåíòàëüíîå ñîñòîÿíèå îñóùåñòâèìî.Àëãîðèòì ×àíäèËàìïîðòàÒåîðåìà 2.Àëãîðèòì ×åíäèËýìïîðòà âû÷èñëÿåò çíà÷èìîå ìîìåíòàëüíîåñîñòîÿíèå ñèñòåìû.Äîêàçàòåëüñòâî.Ñîãëàñíî ëåììå àëãîðèòìó íóæíî êîíå÷íîå âðåìÿ äëÿâû÷èñëåíèÿ ìîìåíòàëüíîãî ñîñòîÿíèÿ ñèñòåìû. Ïîêàæåì, ÷òîïîñòðîåííîå ìîìåíòàëüíîå ñîñòîÿíèå îñóùåñòâèìî.Ðàññìîòðèì ïîñòìîìåíòàëüíîå ñîîáùåíèå m , îòïðàâëåííîåïðîöåññîì p ïðîöåññó q . Ïåðåä îòïðàâëåíèåì m , ïðîöåññ pçàïå÷àòëåë ñâîå ìîìåíòàëüíîå ëîêàëüíîå ñîñòîÿíèå è îòïðàâèëñîîáùåíèå hmkri âñåì ñâîèì ñîñåäÿì, âêëþ÷àÿ ïðîöåññ q . Ò.ê.â êàíàëàõ ïîääåðæèâàåòñÿ î÷åðåäíîñòü ñîîáùåíèé, ïðîöåññ qïîëó÷èë ñîîáùåíèå hmkri , äî òîãî êàê ïîëó÷èë m , è ïîýòîìóçàïå÷àòëåë ñâîå ìîìåíòàëüíîå ñîñòîÿíèå ñðàçó ïî ïîëó÷åíèèýòîãî ñîîáùåíèÿ èëè åùå ðàíåå òîãî. Ñëåäîâàòåëüíî, ïîëó÷åíèåñîîáùåíèÿ m îòíîñèòñÿ ê ÷èñëó ïîñòìîìåíòàëüíûõ ñîáûòèé.Àëãîðèòì ËàèßíãàÀëãîðèòì Ëàÿßíãà íå îïèðàåòñÿ íà ñâîéñòâî ïîääåðæàíèÿî÷åðåäíîñòè ñîîáùåíèé â êàíàëàõ.
Ïîýòîìó îòäåëèòüïðåäìîìåíòàëüíûå ñîáûòèÿ îò ïîñòìîìåíòàëüíûõ ïðè ïîìîùèìàðêåðîâ, êàê ýòî ñäåëàíî â àëãîðèòìå ×åíäèËýìïîðòà, óæåíåâîçìîæíî.Àëãîðèòì ËàèßíãàÀëãîðèòì Ëàÿßíãà íå îïèðàåòñÿ íà ñâîéñòâî ïîääåðæàíèÿî÷åðåäíîñòè ñîîáùåíèé â êàíàëàõ. Ïîýòîìó îòäåëèòüïðåäìîìåíòàëüíûå ñîáûòèÿ îò ïîñòìîìåíòàëüíûõ ïðè ïîìîùèìàðêåðîâ, êàê ýòî ñäåëàíî â àëãîðèòìå ×åíäèËýìïîðòà, óæåíåâîçìîæíî.Èäåÿ àëãîðèòìà.Êàæäîå áàçîâîå ñîîáùåíèå ñíàáæàåòñÿ ïîìåòêîé, êîòîðàÿïîçâîëÿåò ïîíÿòü, ÿâëÿåòñÿ ëè ýòî ñîîáùåíèåïðåäìîìåíòàëüíûì èëè ïîñòìîìåíòàëüíûì.Äëÿ ýòîãî ïðîöåññ p , îòïðàâëÿÿ ñîîáùåíèå ïî õîäóâû÷èñëåíèÿ C , äîáàâëÿåò ê íåìó çíà÷åíèå takenp .
Òàê êàêñîäåðæàíèå ñîîáùåíèé, îòíîñÿùèõñÿ ê âû÷èñëåíèþ C , íåèãðàåò çäåü íèêàêîé ðîëè, ìû áóäåì îáîçíà÷àòü òàêèåñîîáùåíèÿ ïðîñòî hmes, ci , ãäå c ýòî çíà÷åíèå ïåðåìåííîé,âêëþ÷åííîå â ñîñòàâ ñîîáùåíèÿ ïðîöåññîì-îòïðàâèòåëåì.Àëãîðèòì ïîñòðîåíèÿ ìîìåíòàëüíîãî ñîñòîÿíèÿ ïðîâåðÿåòïîñòóïàþùèå ñîîáùåíèÿ è çàïèñûâàåò ìîìåíòàëüíîåÀëãîðèòì Ëàèßíãàvartakenp:boolinitfalse ;Äëÿ çàïóñêà àëãîðèòìà:begin çàïîìíèòü ëîêàëüíîå ñîñòîÿíèå ; takenp := trueendÄëÿ îòïðàâëåíèÿ ñîîáùåíèÿ ïî õîäó âû÷èñëåíèÿ C :send hmes, takenp iÅñëè ïîñòóïèëî ñîîáùåíèå hmes, ci;begin receive hmes, ci ;if c and not takenp thenbegin çàïîìíèòü ëîêàëüíîå ñîñòîÿíèå ; taken := true end;èçìåíèòü ñîñòîÿíèå íà òî, â êîòîðîì ïðåáûâàë ïðîöåññïðè ïîëó÷åíèè ñîîáùåíèÿ â âû÷èñëåíèè CendÀëãîðèòì Ëàèßíãà àëãîðèòìå Ëàèßíãà íåò îáìåíà êîíòðîëüíûìèñîîáùåíèÿìè, è îí íå ìîæåò ãàðàíòèðîâàòü òîãî, ÷òî êàæäûéïðîöåññ ðàíî èëè ïîçäíî çàïèøåò ñâîå ñîñòîÿíèå.
Ðàññìîòðèìïðîöåññ p , íå ÿâëÿþùèéñÿ èíèöèàòîðîì àëãîðèòìà ïîñòðîåíèÿìîìåíòàëüíîãî ñîñòîÿíèÿ, è ïðåäïîëîæèì, ÷òî íè îäèí èçñîñåäåé ïðîöåññà p íå îòïðàâëÿåò ïðîöåññó p ñîîáùåíèé, ïîñëåòîãî êàê ýòîò ñîñåä çàïå÷àòëåë ñâîå ìîìåíòàëüíîå ëîêàëüíîåñîñòîÿíèå.  òàêîì ñëó÷àå p íèêîãäà íå ïðîâåäåò çàïèñü ñâîåãîñîñòîÿíèÿ, è àëãîðèòì ïîñòðîåíèÿ ìîìåíòàëüíîãî ñîñòîÿíèÿçàâåðøèò ðàáîòó, èìåÿ íåïîëíîå ìîìåíòàëüíîå ñîñòîÿíèå.Ðåøåíèå ýòîé ïðîáëåìû çàâèñèò îò òîãî, ÷òî íàì èçâåñòíî îâû÷èñëåíèè C ; åñëè ìû èìååì ãàðàíòèþ, ÷òî ñâÿçü ñ êàæäûìïðîöåññîì ðàíî èëè ïîçäíî îñóùåñòâèòñÿ, òî è ïîëíîåìîìåíòàëüíîå ñîñòîÿíèå âñåãäà ìîæíî áóäåò çàïå÷àòëåòü.
Âïðîòèâíîì ñëó÷àå àëãîðèòì ìîæíî ñíàáäèòü áëîêîì,ïðîâîäÿùèì ïåðâîíà÷àëüíûé îáìåí êîíòðîëüíûìèñîîáùåíèÿìè ìåæäó âñåìè ïðîöåññàìè.Àëãîðèòì ËàèßíãàÒåîðåìà 3.Àëãîðèòì Ëàÿßíãà âû÷èñëÿåò òîëüêî çíà÷èìûåìîìåíòàëüíûå ñîñòîÿíèÿ ñèñòåìû.Àëãîðèòì ËàèßíãàÒåîðåìà 3.Àëãîðèòì Ëàÿßíãà âû÷èñëÿåò òîëüêî çíà÷èìûåìîìåíòàëüíûå ñîñòîÿíèÿ ñèñòåìû.Äîêàçàòåëüñòâî.Ðàññìîòðèì ìîìåíòàëüíîå ñîñòÿíèå, âû÷èñëåííîå àëãîðèòìîì,è ïóñòü m = hmes, ci ýòî ïîñòìîìåíòàëüíîå ñîîáùåíèå,îòïðàâëåííîå ïðîöåññîì p ïðîöåññó q . Ýòî çíà÷èò, ÷òîc = true , è ïîýòîìó q çàïå÷àòëåâàåò ñâîå ñîñòîÿíèå òàêèì,êàêèì îíî áûëî äî ïîëó÷åíèÿ ñîîáùåíèÿ m .Òàêèì îáðàçîì, â ñîñòîÿíèè, êîòîðîå çàïèñàë ïðîöåññ q , íåó÷èòûâàåòñÿ ïîñòóïëåíèå m , è ïðèåì ñîîáùåíèÿ m îòíîñèòñÿê ÷èñëó ïîñòìîìåíòàëüíûõ ñîáûòèé.(Ñóùåñòâåííî çäåñü òî, êàêîå ñîñòîÿíèå çàïèñàòü, à íå òî,êîãäà ïðîâåñòè ýòó çàïèñü; â íàøåì ñëó÷àå çàïèñü ñîñòîÿíèÿïðîâîäèòñÿ îäíîâðåìåííî ñ ïîëó÷åíèåì ïåðâîãîïîñòìîìåíòàëüíîãî ñîáûòèÿ.)Ïðèìåíåíèå àëãîðèòìîâ ñîõðàíåíèÿìîìåíòàëüíîãî ñîñòîÿíèÿÐàññìîòðèì óñòîé÷èâîå ñâîéñòâî P êîíôèãóðàöèé, êîòîðîå âñëó÷àå âûïîëíåíèÿ áóäåò ïðîäîëæàòü âûïîëíÿòüñÿ è äëÿêàæäîé ïîñëåäóþùåé êîíôèãóðàöèè.Ïðèìåíåíèå àëãîðèòìîâ ñîõðàíåíèÿìîìåíòàëüíîãî ñîñòîÿíèÿÐàññìîòðèì óñòîé÷èâîå ñâîéñòâî P êîíôèãóðàöèé, êîòîðîå âñëó÷àå âûïîëíåíèÿ áóäåò ïðîäîëæàòü âûïîëíÿòüñÿ è äëÿêàæäîé ïîñëåäóþùåé êîíôèãóðàöèè.1.
Çàâåðøåíèå âû÷èñëåíèÿ. Åñëè γ ýòî çàêëþ÷èòåëüíàÿêîíôèãóðàöèÿ è γδ , òî γ = δ , è ïîýòîìóêîíôèãóðàöèÿ δ òàêæå ÿâëÿåòñÿ çàêëþ÷èòåëüíîé.Ñëåäîâàòåëüíî, çàäà÷à îáíàðóæåíèÿ çàâåðøåíèÿ ìîæåòáûòü ðåøåíà çà ñ÷åò âû÷èñëåíèÿ ìîìåíòàëüíîãî ñîñòîÿíèÿñèñòåìû è àíàëèçà àêòèâíûõ ïðîöåññîâ è áàçîâûõñîîáùåíèé â ýòîì ìîìåíòàëüíîì ñîñòîÿíèè.Ïðèìåíåíèå àëãîðèòìîâ ñîõðàíåíèÿìîìåíòàëüíîãî ñîñòîÿíèÿÐàññìîòðèì óñòîé÷èâîå ñâîéñòâî P êîíôèãóðàöèé, êîòîðîå âñëó÷àå âûïîëíåíèÿ áóäåò ïðîäîëæàòü âûïîëíÿòüñÿ è äëÿêàæäîé ïîñëåäóþùåé êîíôèãóðàöèè.1.
Çàâåðøåíèå âû÷èñëåíèÿ. Åñëè γ ýòî çàêëþ÷èòåëüíàÿêîíôèãóðàöèÿ è γδ , òî γ = δ , è ïîýòîìóêîíôèãóðàöèÿ δ òàêæå ÿâëÿåòñÿ çàêëþ÷èòåëüíîé.Ñëåäîâàòåëüíî, çàäà÷à îáíàðóæåíèÿ çàâåðøåíèÿ ìîæåòáûòü ðåøåíà çà ñ÷åò âû÷èñëåíèÿ ìîìåíòàëüíîãî ñîñòîÿíèÿñèñòåìû è àíàëèçà àêòèâíûõ ïðîöåññîâ è áàçîâûõñîîáùåíèé â ýòîì ìîìåíòàëüíîì ñîñòîÿíèè.2.
Íàëè÷èå òóïèêîâ. Åñëè â êîíôèãóðàöèè γ íåêîòîðîåìíîæåñòâî ïðîöåññîâ S îêàçûâàåòñÿ çàáëîêèðîâàííûìè,èç-çà òîãî ÷òî âñå ïðîöåññû èç S ïðåáûâàþò â îæèäàíèèïîñòóïëåíèÿ ñîîáùåíèé îò äðóãèõ ïðîöåññîâ èç S , òîòàêàÿ æå ñèòóàöèÿ ïîâòîðèòñÿ è â ïîñëåäóþùèõêîíôèãóðàöèÿõ, õîòÿ ïðîöåññû âíå ìíîæåñòâà S ìîãóòèçìåíÿòü ñâîè ñîñòîÿíèÿ.Ïðèìåíåíèå àëãîðèòìîâ ñîõðàíåíèÿìîìåíòàëüíîãî ñîñòîÿíèÿ3.Ðàññìîòðèì àëãîðèòì, â êîòîðîììàðêåðû öèðêóëèðóþò ìåæäó ïðîöåññàìè, à ñàìèïðîöåññû ìîãóò ïîãëîùàòü ìàðêåðû. Ñâîéñòâî âèäà¾Èìååòñÿ íå áîëåå k ìàðêåðîâ¿ ÿâëÿåòñÿ óñòîé÷èâûì, òàêêàê ìàðêåðû ìîãóò ïîãëîùàòüñÿ, íî íå ìîãóò ïîðîæäàòüñÿ.Ïîòåðÿ ìàðêåðîâ.Ïðèìåíåíèå àëãîðèòìîâ ñîõðàíåíèÿìîìåíòàëüíîãî ñîñòîÿíèÿ3.Ðàññìîòðèì àëãîðèòì, â êîòîðîììàðêåðû öèðêóëèðóþò ìåæäó ïðîöåññàìè, à ñàìèïðîöåññû ìîãóò ïîãëîùàòü ìàðêåðû.
Ñâîéñòâî âèäà¾Èìååòñÿ íå áîëåå k ìàðêåðîâ¿ ÿâëÿåòñÿ óñòîé÷èâûì, òàêêàê ìàðêåðû ìîãóò ïîãëîùàòüñÿ, íî íå ìîãóò ïîðîæäàòüñÿ.4. Íàëè÷èå ¾ìóñîðà¿.  îáúåêòíî-îðèåíòèðîâàííîé ñðåäåïðîãðàììèðîâàíèÿ ñîçäàåòñÿ ñîâîêóïíîñòü îáúåêòîâ,êàæäûé èç êîòîðûõ ìîæåò ñîäåðæàòü ññûëêó íà äðóãèåîáúåêòû. Îáúåêò ñ÷èòàåòñÿ äîñòóïíûì, åñëè ìîæíîîòûñêàòü ïóòü, âåäóùèé ïî ññûëêàì ê äàííîìó îáúåêòó îòíåêîòîðîãî ïðåäïèñàííîãî îáúåêòà; â ïðîòèâíîì ñëó÷àåîáúåêò îáúÿâëÿåòñÿ ¾ìóñîðîì¿. Ññûëêè ìîãóò ïîÿâëÿòüñÿè èñ÷åçàòü, íî ññûëêè, âåäóùèå ê ¾ìóñîðíûì¿ îáúåêòàì,íèêîãäà íå âîçíèêàþò. Ïîýòîìó, êàê òîëüêî îáúåêòñòàíîâèòñÿ ¾ìóñîðîì¿, îí áóäåò âî âåêè âå÷íûåîñòàâàòüñÿ òàêîâûì.Ïîòåðÿ ìàðêåðîâ.ÊÎÍÅÖ ËÅÊÖÈÈ 12..