Ի՞նչ է հաջորդական համահամապատասխանությունը։
sobes.tech AI
Պատասխան AI-ից
Հետևական Համապատասխանություն (Sequential Consistency) — դա տարածված համակարգերում կամ բազմապտույտ ծրագրերում համատեղելիության մոդել է, որը երաշխավորում է, որ ցանկացած պարալել ծրագրի կատարման արդյունքը կլինի այնպիսին, կարծես բոլոր պրոցեսորների (թելերի) բոլոր գործողությունները կատարվել են որոշակի հաջորդական կարգով, և յուրաքանչյուր պրոցեսորի (թել) գործողությունները այդ հաջորդական կարգում հետևում են ծրագրում նշված կարգին:
Այլ կերպ ասած՝
- Պահպանել գործողությունների հերթականությունը թելում: Մի թելով սկսված գործողությունները մյուս թելերի համար նույն հերթականությամբ են տեսանելի, ինչպես դրանք կատարվել են այդ թելով:
- Միակ գլոբալ հերթականություն: Բոլոր թելերի բոլոր գործողությունների միակ, գծային, գլոբալ հերթականությունը գոյություն ունի, որը բոլորն են հարգում:
Այս մոդելը մեկն է ամենաուժեղ և ինտուիտիվ, բայց իր իրականացմանը կարող է ծախսատար լինել կատարողականի տեսանկյունից, քանի որ պահանջում է սինխրոնիզացիա և կանխում է գործողությունների վերա դասավորումը կոմպիլյատոր և հարդվերի կողմից:
Օրինակ՝
// Թել 1
x = 1;
y = 2;
// Թել 2
// Կարդալու գործողություններ x և y
Հետևական համատեղելիությամբ, եթե Թել 1-ը նախ գրի 1-ը x-ին, ապա 2-ը y-ին, ապա Թել 2-ը երբեք չի տեսնի y-ն որպես 2, մինչև չտեսնի x-ը որպես 1: Միջնորդական հնարավոր կատարումներ՝
x = 1; y = 2; read(x); read(y);(read(x) = 1, read(y) = 2)x = 1; read(x); y = 2; read(y);(read(x) = 1, read(y) = 2)read(x); x = 1; read(y); y = 2;(read(x) կարող է լինել 0, read(y) կարող է լինել 0, հետո read(x) = 1, read(y) = 2)
Չի կարելի, որ Թել 2-ը տեսնի y-ն որպես 2, բայց x-ը դեռ 0 է, եթե Թել 1-ը նախ գրի x-ին 1-ը, ապա y-ին 2-ը։