V četrti domači nalogi boste naredili osnovne mehanizme verižne replikacije. Rešitev lahko nadgradite:
- dodate podporo za streženje bralnih zahtev iz poljubnih vozlišč v verigi (verzije zapisov in umazani bit)
- dodate nadzorno ravnino z enim procesom
- zaznavanje odpovedi procesov s srčnim utripom
- spreminjanje verige ob odpovedi ali dodajanju procesov
- nemoteno streženje odjemalcev po spremembi verige
- nadzorno ravnino naredite odporno na napake
- dodate še sodo število procesov
- uporabite algoritem soglasja za določitev stanja verige (replikacija z voditeljem); procesi se morajo strinjati glede odpovedi procesov in sprememb v verigi
- za algoritem soglasja lahko uporabite obstoječo kodo ali knjižnico
Seveda najprej zato, da mehanizme bolje razumete in da se še bolje spoznate z jezikom go.
Potem pa tudi zato, da se z dobro lastno rešitvijo delno ali v celoti izognete ustnemu izpitu. Če boste podprli samo kakšen del, boste v naprej lahko izbrali področje, iz katerega želite vprašanje (sistemi s skupnim pomnilnikom, sistemi s porazdeljenim pomnilnikom, grafični pospeševalniki).
Do želenega termina za ustni izpit vendar najkasneje do konca zimskega izpitnega obdobja.
Rešitev naložite na učilnico in jo predstavite profesorju.