Agreement Protocols, distributed File Systems, Distributed Shared Memory

27,042 views 91 slides Oct 03, 2019
Slide 1
Slide 1 of 91
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32
Slide 33
33
Slide 34
34
Slide 35
35
Slide 36
36
Slide 37
37
Slide 38
38
Slide 39
39
Slide 40
40
Slide 41
41
Slide 42
42
Slide 43
43
Slide 44
44
Slide 45
45
Slide 46
46
Slide 47
47
Slide 48
48
Slide 49
49
Slide 50
50
Slide 51
51
Slide 52
52
Slide 53
53
Slide 54
54
Slide 55
55
Slide 56
56
Slide 57
57
Slide 58
58
Slide 59
59
Slide 60
60
Slide 61
61
Slide 62
62
Slide 63
63
Slide 64
64
Slide 65
65
Slide 66
66
Slide 67
67
Slide 68
68
Slide 69
69
Slide 70
70
Slide 71
71
Slide 72
72
Slide 73
73
Slide 74
74
Slide 75
75
Slide 76
76
Slide 77
77
Slide 78
78
Slide 79
79
Slide 80
80
Slide 81
81
Slide 82
82
Slide 83
83
Slide 84
84
Slide 85
85
Slide 86
86
Slide 87
87
Slide 88
88
Slide 89
89
Slide 90
90
Slide 91
91

About This Presentation

Agreement Protocols, Distributed Resource Management: Issues in distributed File Systems, Mechanism for building distributed file systems, Design issues in Distributed Shared Memory, Algorithm for Implementation of Distributed Shared Memory.


Slide Content

DISTRIBUTED SYSTEMS
ShikhaGautam
Assistant Professor
KIET, Ghaziabad

UNIT-3
•AgreementProtocols
•DistributedResourceManagement:Issuesin
distributedFileSystems,Mechanismfor
buildingdistributedfilesystems,Designissues
inDistributedSharedMemory,Algorithmfor
ImplementationofDistributedShared
Memory.

Agreement Protocols
•Akindofco-operationorunityoraccordanceamongprocesses.
•Asweknowthatallthenodesinadistributedsystemareworking
togetherinacooperationtoachieveacommongoals.Hence
cooperationamongtheprocessisverynecessary.
•AgreementprotocolisusedtoensurethatDSisabletoachievethe
commongoalevenafteroccurrenceofvariousfailuresinDistributed
system.
•TherearesomestandardagreementprobleminDC.Wewillsee
eachproblemandtrytofindsomeprotocoloralgorithmtosolvethe
agreementproblem.

Why Agreement Protocol
•Agreementisalwaysrequiredtoachieveacommongoalin
distributedsystem.
•Whentherearesometypesoffaultyprocessespresentinthe
distributedsystematthattimeweneedtomakesurethat
performanceofdistributedsystemshouldnotbeaffectedatthat
timeweimplementsomeagreementprotocol(algorithms),sothat
outputofdistributedshouldnotbeincorrectorshouldnotbe
affected.
•ToachievereliabilityofDistributedsystem.So,mainly
agreementprotocolsareusedforfault(failure)toleranceinDS

Problem which require Agreement
• Leader Election
• Distributed Transaction
• Mutual exclusion
• Any many more ….

System Model
AgreementProblemshavebeenstudiedunder
followingSystemModel:
1.‘n’processorsandatmost‘m’oftheprocessors
canbefaulty.
2.Processorscandirectlycommunicatewithother
processorsbymessagepassing.
3.Receiverknowstheidentityofthesender.
4.Communicationmediumisreliable.

Model of processor Failures
ProcessorCanFailinthreemodes:
1.CrashFailure:Processorstopsandneverresumesoperation.
2.Send/ReceiveOmission:ProcessorOmitstosend/receive
messagetosomeprocessors
3.MaliciousFailure:mostdangerousone
(i)AlsoknownasByzantineFailure.
(ii)Processormaysendfictitiousvalues/messagetootherprocessesto
confusethem.
(iii)Toughtodetect/correct.

Classification of Messages in DS
1.AuthenticatedMessages:Alsoknownassigned
Message.Processorcannotforge/changeareceived
message.Processorcanverifytheauthenticityofthe
message.Itiseasiertoreachonanagreementinthis
casebecausefaultyprocessorsarecapableofdoingless
damage.
2.Non-AuthenticatedMessages:Alsoknownas
OralMessage.Processorcanforge/changeareceived
messageandclaimstohavereceiveditfromothers.
Processorcannotverifytheauthenticityofthemessage
inthiscase.

We will find agreement solution in two mode
of communication under various failure

ClassificationofComputation:
1.Synchronousmode:
•Finitemessagedelay.
•Thismodelspecifythattheprocessinthesystem
executestepbystepi.e.lockupstepmanner.
•Onestepisknownasround.
•Aprocessreceivesmessages(1round),performsa
computation(2round),andsendmessagestoother
processes(3round).
•Ifthereisanydelaybetweenmessagesthen
computationworkwillslowdownanddecreasethe
performanceofthesystem.

2.Asynchronousmode:
•Infinitemessagedelay.
•Nonlockupstepmanner.
•Thecomputationatprocessesdoesnotproceedin
steps.
•Aprocesscansendandreceivemessagesandperform
computationatanytimewithoutanysequenceof
steps.

Agreement Problem Types
1.Byzantine Agreement problem.
The Byzantine Agreement problem is a primitive to
the other two problems. So, The other two
Agreement Problems are:
2.The Consensus Problem.
3.The Interactive Consistency Problem.

Problem
Who Initiates
Value
Final
Agreement
Byzantine
Agreement
One ProcessorSingle Value
ConsensusAll Processors Single Value
Interactive
ConsistencyAll Processors
A Vector of
Values

Byzantine General Problem
(Inspired from Byzantine Empire)
Therewasbyzantineempireinmiddleages….there
weresomearmygeneralswhowereprotectingthe
city.Nowallgeneralhavetomakeanagreementor
somenegotiationtoprotectthecity.Ifanygeneralis
foundtobetraitorstheywillnotbeabletoprotect
thecity.hencetheyhavetoagreeonsomecommon
termsandthenonlytheycanprotectthebyzantine
empire.
PresentpartofByzantineEmpireisknowns
Turkey(Istanbul).

1. Byzantine Problem in DS
Anarbitrarilychosenprocessor,calledthesource
processor,broadcastsitsinitialvaluetoallother
processors.
Agreement:Allnon-faultyprocessorsshould
agreeonthesamevalue.
Validity:Ifthesourceprocessorisnon-faulty,
thenthecommonagreeduponvaluebyallnon-
faultyprocessorsmustbesameastheinitialvalue
ofthesource.

Termination:Eachnon-faultyprocessormust
eventuallydecideonavalue.
•TwoImportantPointstoberemember:
1.Ifsourceisfaultythenallnon-faulty
processescanagreeonanycommonvalue.
2.Valueagreeduponbyfaultyprocessorsis
irrelevant.

Agreement algorithm for No-failure
•Agreement can easily achieved in constant no of
message exchange.
•Both synchronous and asynchronous mode will
always achieveagreement .Because when all
process are working fine then they are eventually
satisfying the property of Distributed system and
with constant no of message exchange we can
achieve i.e. all nodes in a distributed system are
working in a cooperation to achieve some
common goal.

Agreement Protocol in Crash
Failure Process

Solution for Byzantine Agreement
Problem
Lamportet.alproposedanalgorithmfor
byzantineagreementproblemwhichisknown
asLamport-Shostak-PeaseAlgorithm.
•SourceBroadcastsitsinitialvaluetoallotherprocessors.
•Processorssendtheirvaluestootherprocessorsandalso
receivedvaluesfromothers.
•DuringExecutionfaultyprocessorsmayconfusebysending
conflictingvalues.
•Howeveriffaultyprocessorsdominateinnumber,theycan
preventnon-faultyprocessorsfromreachinganagreement.
•So,thenooffaultyprocessorsshouldnotexceedcertain
limit.

Lamport-Shostak-Pease Algorithm
ThisalgorithmisalsoknownasOralMessage
Algorithm(OM).
•Consideringthereare‘n’processorsand‘m’faulty
processors.
•Peaseshowedthatinafullyconnectednetwork,itis
impossibletoreachanagreementifnumberfaulty
processors‘m’exceeds(n-1)/3
•i.e.n>=(3m+1)

Algorithm is Recursively defined as follows:
•Algorithm OM(0), i.e. (m=0)
Step 1: Source processor sends its values to every
processor.
Step 2: Each processor uses the value it receives from
source (If no value is received default value 0 is used).

• Algorithm OM(m), i.e. (m>0)
Step 1: The source processor sends its value to
every processor.
Step 2: If a processor does not receive value it uses
a default value of zero.
Step 3: For each processor Pi, let vi be the value
processor receives from source, then it behaves like
source processor.
Step 4: If for a processor Pi, Vj(j!=i) is the value
received from Pj, the Pi uses the majority value as
agreement value.

Byzantine Agreement can not have solution when
among three processors if one processor is faulty.

2. The Consensus Problem
Hereallprocesshavesomeinitialvaluethey
broadcasttheirinitialvaluestoallothersprocess
andsatisfythefollowingcondition:
Agreement:Allnon-faultyprocessesmustagreeon
samesinglevalues.
Validity:ifallnonfaultyprocesseshavethesame
initialvalue,thentheagreedvaluebyallthenon-
faultyprocessesmustbethatsamevalue.

Termination: Each non-faulty process must
eventually decide on a value.
•Two Important Points to be remember:
1.If initial value of non-faulty processors are
different then all non-faulty then processors
can agree on any common value.
2.Value agreed upon by faulty processors is
irrelevant.

3. The Interactive Consistency Problem
Every processor broadcasts its initial value to all other processors.
The initial values of the processors may be different . A protocol for
the interactive consistency problem should meet the following
conditions:
Agreement: All non-faulty processes must agree on the same array of
values A[v1 : : : vn].
Validity: If processor Pi is non-faulty and its initial value is vi , then all
non-faulty processes agree on vi as the ithelement of the array A. If
process j is faulty, then the non-faulty processes can agree on any
value for A[j].
Termination: Each non-faulty process must eventually decide on the
array A.

Metrics to measure performance of
Agreement Protocol
•Time: Time taken to reach an agreement under a
protocol. The time is usually expressed as the
number of rounds needed to reach an agreement.
•Message Traffic: Number of messages exchanged
to reach an agreement.
•Storage Overhead: Amount of information that
need to be stored at processors during execution
of the protocol.

• There are some solution that solve agreement problems by
satisfying all condition of agreement problem in case of
synchronous system.
• But in case of asynchronous models , agreement problem are
not solvable. However we can solve agreement problem in
asynchronous System after converting agreement problem in its
weaker version. That means agreement problem are reduce to
some weaker version :
Weaker version of agreement problem are:
1.k-set consensus
2.Approximate consensus
3.Renaming problem
4.Terminating reliable broadcast ( it is a kind of problem which
require consensus.)

Applications of AgreementProtocol
1.Clock Synchronization in Distributed Systems:
•Distributed Systems require physical clocks to synchronized
but physical clocks have drift problem. So, they must
periodically resynchronized.
•Such periodically synchronization becomes extremely difficult
if the Byzantine failures are allowed.
•This is due to the fact that faulty processors can report different
clock value to different processors.
•Agreement Protocols may help to reach a common clock value.

2.Atomic Commit in Distributed Database:
•DDBS sites must agree whether to commit or abort the
transaction.
•In first Phase, sites execute their part of a distributed
transaction and broadcast their decisions to all other
sites.
•In Second Phase, each site based on what is received
from other sites in the first phase, decides whether to
commit or abort.

Two-phase commit in Distributed
Systems
Motivation: sending money

Single-server: ACID

Distributed transactions?

Two-Phase Commit (2PC)

Safety versus liveness

A correct atomic commit protocol

A correct atomic commit protocol

A correct atomic commit protocol

A correct atomic commit protocol

Distributed Resource
Management
Issues in distributed File Systems,
Mechanism for building distributed file
systems, Design issues in Distributed Shared
Memory, Algorithm for Implementation of
Distributed Shared Memory.

•FileSystemworkastheresourcemanagementcomponent,
whichmanagestheavailabilityoffilesindistributed
system.
•Acommonfilesystemthatcanbesharedbyallthe
autonomouscomputersinthesystem.i.e.filescanbestored
atanymachineandthecomputationcanbeperformedatany
machine.
Twoimportantgoals:
1.Networktransparency–toaccessfilesdistributedoveranetwork.
Ideally,usersdonothavetobeawareofthelocationoffilestoaccess
them.
2.HighAvailability-toprovidehighavailability.Usersshouldhavethe
sameeasyaccesstofiles,irrespectiveoftheirphysicallocation.
Distributed File Systems

Figure:
Architecture of a Distributed File System

Architecture
•FileserversandFileclientsinterconnectedby
acommunicationnetwork.
•Twomostimportantcomponents:
1.NameServer:maplogicalnamestostored
object’s(files,directories)physicallocation.
2.CacheManager:performfilecaching.Can
presentonbothserversandclients.
1.Cacheontheclientdealswithnetworklatency
2.Cacheontheserverdealswithdisklatency

•Typicalstepstoaccessdata:
1.checkclientcache,ifpresent,returndata.
2.Checklocaldisk,ifpresent,loadintolocalcache,
returndata.
3.Sendrequesttofileserver
4....
5.servercheckscache,ifpresent,loadintoclient
cache,returndata
6.diskread
7.loadintoservercache
8.loadintoclientcache
9.returndata

1.NamingandTransparency
2.RemotefileaccessandCaching
3.ReplicationandConcurrentfileupdates
4.Availability
5.Scalability
6.Semantics
Issues in distributed File Systems

1. Naming and Transparency

•Transparencyshouldalsobeachievedatvarious
levels:
1.StructureTransparency
2.AccessTransparency
3.NamingTransparency
4.ReplicationTransparency
5.LocationTransparency
6.MobilityTransparency
7.PerformanceTransparency
8.ScalingTransparency

2. Remote file access and Caching

3. Concurrent file updates
•Serverdataisreplicatedacrossmultiple
machines.
•Needtoensureconsistencyoffileswhenafile
isupdatedbymultipleclients.
•Changestoafilebyoneclientshouldnot
interferewiththeoperationsofotherclients.

4. Availability
•howtokeepreplicasconsistent.
•howtodetectinconsistenciesamongreplicas.
•consistencyproblemmaydecreasethe
availability.
•ReplicaManagement:votingmechanismto
readandwritetoreplica.

5. Scalability
•Howtomeetthedemandofagrowing
system?
•Thebiggesthurdle:consistencyissue

6. Semantics
•Whatauserwants?strictconsistency.
•Userscanusuallytolerateacertaindegreeof
errorsinfilehandling--noneedtoenforce
strictconsistency.

Mechanism for building Distributed
File Systems
1.Mounting:
Amountmechanismallowsthebinding
togetherofdifferentfilenamespacestoform
asinglehierarchicallystructuredname
space.

2. Caching
•Cachingiscommonlyemployedindistributedfiles
systemstoreducedelaysintheaccessingofdata.
•Infilecaching,acopyofdatastoredataremotefile
serverisbroughttotheclientwhenreferencedby
theclient.
•Subsequentaccesstothedataisperformedlocally
attheclient,therebyreducingaccessdelaysdueto
networklatency.
•Cachingexploitsthetemporallocalityofreference
exhibitedbyprograms.
•Thetemporallocalityofreferencereferstothefact
thatafilerecentlyaccessedislikelytobeaccessed
againinthenearfuture.

3. Hint
•Analternativeapproachisusedwhencacheddataarenot
expectedtobecompletelyaccurate.
•However,validcacheentriesimproveperformance
substantiallywithoutincurringthecostofmaintainingcost
consistency.
•Theclassofapplicationsthatcanutilizehintsarethosewhich
canrecoverafterdiscoveringthatthecacheddataareinvalid.
•Forexample,afterthenameofafileordirectoryismappedto
thephysicalobject,theaddressoftheobjectcanbestoredas
ahintinthecache.
•Iftheaddressfailstomaptotheobjectinthefollowing
attempt,thecachedaddressispurgedfromthecache.
•Thefileserverconsultsthenameservertodeterminethe
actuallocationofthefileordirectoryandupdatesthecache.

4. Bulk Data Transfer
•Transferringdatainbulkreducestheprotocol
processingoverheadatbothserversandclients.
•Inbulkdatatransfer,multipleconsecutivedata
blocksaretransferredfromserverstoclientsinstead
ofjusttheblockreferencedbyclients.
•Bulktransfersreducefileaccessoverheadthrough
obtainingamultiplenumberofblockswithasingle
seek;byformattingandtransmittingamultiple
numberoflargepacketsinasinglecontextswitch;
andbyreducingthenumberofacknowledgements
thatneedtobesent.

5. Encryption
•Encryptionisusedforenforcingsecurityin
distributedsystems.
•Inthisscheme,twoentitieswishingto
communicatewitheachotherestablishakeyfor
conversationwiththehelpofanauthentication
server.
•Itisimportanttonotethattheconversationkey
isdeterminedbytheauthenticationserver,butis
neverspentinplain(unencrypted)texttoeither
oftheentities.

Distributed Shared Memory
•Ideaofdistributedsharedmemoryistoprovideanenvironment
wherecomputerssupportasharedaddressspacethatismadeby
physicallydispersedmemories.
•Itreferstosharedmemoryparadigmappliedtolooselycoupled
distributedmemorysystems.Itgivesthesystemsillusionof
physicallysharedmemory.
•Memorymappingmanagerisresponsibleformappingbetween
localmemoriesandthesharedmemoryaddressspace.
•Anyprocessorcanaccessanymemorylocationintheaddress
spacedirectly.
•Chiefresponsibilityistokeeptheaddressspacecoherentatthe
times.

Architecture
•EachnodeofthesystemconsistofoneormoreCPUs
andmemoryunit.
•Nodesareconnectedbyhighspeedcommunication
network.
•Simplemessagepassingsystemfornodestoexchange
information.
•Mainmemoryofindividualnodesisusedtocachepieces
ofsharedmemoryspace.
•Sharedmemoryexistonlyvirtually.
•Memorymappingmanagerroutinemapslocalmemory
tosharedvirtualmemory.

•Thesharedmemorymodelprovidesavirtual
addressspacewhichissharedbyallnodesina
distributedsystem.
•Thebasicunitofcachingisamemoryblock.
•Sharedmemoryspaceispartitionedintoblocks.
•Datacachingisusedtoreducenetworklatency.
•Themissingblockismigratefromtheremote
nodetotheclientprocess’snodeandoperating
systemmapsintotheapplication’saddressspace.
•Datablockkeepmigratingfromonenodeto
anotherondemandbutnocommunicationis
visibletotheuserprocesses.

Advantages of DSM(or DSVM)
1.SimplerAbstraction:shieldstheapplication
programmersfromlowlevelconcern.
2.Betterportabilityofdistributedapplication
programs:Theaccessprotocolusedincase
ofDSMisconsistentwiththewaysequential
applicationaccessdatathisallowsforamore
naturaltransitionfromsequentialto
distributedapplication.

3.Betterperformance:duetoLocalityofdata,
Ondemanddatamoment,Largememory
spaceastotalmemorysizeisthesumofthe
memorysizeofallthenodesinthesystem.
4.Flexiblecommunicationenvironment
5.Ondemandmigrationofdatabetween
processors.

Design issues in Distributed Shared
Memory
1.Granularity
2.StructureofSharedmemory
3.Memory coherence and access
synchronization
4.Datalocationandaccess
5.Replacementstrategy
6.Thrashing
7.Heterogeneity

1. Granularity:
•Computationgranularityreferstothesizeofthe
sharingunit.Itcanbeabyte,aword,apageor
othertypeofunit.
•Choosingtherightgranularityisamajorissuein
distributedsharedmemorybecauseitdeals
withtheamountofcomputationdonebetween
synchronizationorcommunicationpoints.
•Otherissueis,movingaroundcodeanddatain
thenetworksinvolveslatencyandoverheadfrom
networkprotocols.

2. Structure of Shared memory
•Structurereferstothelayoutoftheshared
datainmemory.
•Dependentonthetypeofapplicationsthat
thedistributedsharedmemorysystemis
intendedtosupport.

3. Memory coherence and access
synchronization
•InaDSMsystemthatallowsreplicationofshareddata
item,copiesofshareddataitemmaysimultaneously
beavailableinthemainmemoriesofanumberof
nodes.
•Tosolvethememorycoherenceproblemthatdealwith
theconsistencyofapieceofshareddatalyinginthe
mainmemoriesoftwoormorenodes.
•Theremightbesomepotentialconsistencyproblems
whendifferentprocessorsaccess,cacheandupdate
thesharedsinglememoryspace.

4. Data location and access
•TosharedatainaDSM,shouldbepossibleto
locateandretrievethedataaccessedbya
userprocess.

5. Replacement strategy
•Ifthelocalmemoryofanodeisfull,acache
missatthatnodeimpliesnotonlyafetchof
accesseddatablockfromaremotenodebut
alsoareplacement.
•Datablockmustbereplacedbythenewdata
block.

6. Thrashing
•Thrashingoccurswhenacomputer'svirtualmemory
resourcesareoverused,thiscausestheperformanceof
thecomputertodegradeorcollapse.
•Theproblemofthrashingmayoccurwhendataitemin
thesamedatablockarebeingupdatedbymultiple
nodeatthesametime.
•Problemmayoccurwithanyblocksize,itismorelikely
withlargerblocksize.

7. Heterogeneity
•TheDSMsystembuiltforhomogeneous
systemneednotaddresstheheterogeneity
issue.

•Somosttheimportantissuesare:
-Howtokeeptrackofthelocationofremote
data
-Howtominimizecommunicationoverhead
whenaccessingremotedata
-Howtoaccessconcurrentlyremotedataat
severalnodes

Algorithm for Implementation of
Distributed Shared Memory
1.TheCentralServerAlgorithm
2.TheMigrationAlgorithm
3.TheRead-ReplicationAlgorithm
4.TheFull–ReplicationAlgorithm

1. The Central Server Algorithm
•Centralservermaintainsallshareddata:
–Readrequest:returnsdataitem.
–Writerequest:updatesdataandreturnsacknowledgement
message.

•Implementation:
–Atimeoutisusedtoresendarequestifacknowledgment
fails.
–Associatedsequencenumberscanbeusedtodetect
duplicatewriterequests
–Ifanapplication’srequesttoaccessshareddatafails
repeatedly,afailureconditionissenttotheapplication
–Itissimplertoimplementbutthecentralservercanbecome
bottleneckandtoovercomethisshareddatacanbe
distributedamongseveralservers.
•Issues:performanceandreliability.
•Possiblesolutions:
–Partitionshareddatabetweenseveralservers
–Useamappingfunctiontodistribute/locatedata

2. The Migration Algorithm
•Everydataaccessrequestisforwardedtolocationofdata
whileinthisdataisshippedtolocationofdataaccessrequest
whichallowssubsequentaccesstobeperformedlocally.
•Itallowsonlyonenodetoaccessashareddataatatime.
•Thewholeblockcontainingdataitemmigratesinsteadof
individualitemrequested.
•ThisalgorithmprovidesanopportunitytointegrateDSMwith
virtualmemoryprovidedbyoperatingsystematindividual
nodes.

•Advantages:Takesadvantageofthelocalityof
reference.
•Tolocatearemotedataobject:
–Usealocationserver
–Maintainhintsateachnode
–Broadcastquery
•Issues
–Onlyonenodecanaccessadataobjectatatime
–Thrashingcanoccur:tominimizeit,setminimum
timedataobjectresidesatanode

•Thisextendsthemigrationalgorithmbyreplicatingdata
blockstomultiplenodesandallowingmultiplenodesto
havereadaccessoronenodetohavebothreadwrite
access.
•Afterawrite,allcopiesareinvalidatedorupdated.
•DSMhastokeeptrackoflocationsofallcopiesofdata
objects.
•Advantage:
Theread-replicationcanleadtosubstantial
performanceimprovementsiftheratioofreadsto
writesislarge.
Itimprovessystemperformancebyallowing
multiplenodestoaccessdataconcurrently.
3. The Read-Replication Algorithm

Thewriteoperationinthisisexpensiveasallcopiesofashared
blockatvariousnodeswilleitherhavetoinvalidatedorupdated
withthecurrentvaluetomaintainconsistencyofshareddata
block.

•Itisanextensionofreadreplicationalgorithmwhich
allowsmultiplenodestohavebothreadandwrite
accesstoshareddatablocks.
•Issue:Sincemanynodescanwriteshareddata
concurrently,theaccesstoshareddatamustbe
controlledtomaintainit’sconsistency.
4. The Full–Replication Algorithm

•Solution:useofgap-freesequencer
Allwritessenttosequencer.
allnodeswishingtomodifyshareddatawillsend
themodificationtosequencerwhichwillthen
assignasequencenumberandmulticastthe
modificationwithsequencenumbertoallnodes
thathaveacopyofshareddataitem.
Eachnodeperformswritesaccordingto
sequencenumbers.
Agapinsequencenumbersindicatesamissing
writerequest:nodeasksforretransmissionof
missingwriterequests.