❉✐str✐❜✉t❡❞ ❙❤❛r❡❞ ▼❡♠♦r② ❙❡r✈✐❝❡ ❙❤❛♥❦❛r ❏✉♥❡ ✶✱ ✷✵✶✹
❖✈❡r✈✐❡✇✿ ❉✐str✐❜✉t❡❞ s❤❛r❡❞ ♠❡♠♦r② ✕ ✶ ▼❡♠♦r② s❤❛r❡❞ ❜② ♠✉❧t✐♣❧❡ t❤r❡❛❞s ♦♥ ❞✐✛❡r❡♥t ❝♦♠♣✉t❡rs ✐♠♣❧❡♠❡♥t❡❞ ✈✐❛ ♠s❣✲♣❛ss✐♥❣ ♠❛② ❛❧s♦ ✉s❡ ❤❛r❞✇❛r❡ s✉♣♣♦rt ✴✴ ❡❣✱ ✐♥ ❝❛❝❤❡s Pr♦✈✐❞❡s r❡❛❞ ❛♥❞ ✇r✐t❡ ♦♣❡r❛t✐♦♥s ❛t t❤❡ ♠✐♥✐♠✉♠ val ← r❡❛❞✭ addr ✮ ✈♦✐❞ ← ✇r✐t❡✭ addr , val ✮ ❇❛s✐❝ ❛♣♣r♦❛❝❤ t♦ ✐♠♣❧❡♠❡♥t❛t✐♦♥ ❞✐✈✐❞❡ ♠❡♠♦r② ✐♥t♦ ♣❛❣❡s ✏♠♦✈❡✑ ✭❛ ❝♦♣② ♦❢✮ ♣❛❣❡ t♦ t❤❡ ✉s❡r ❝✉rr❡♥t❧② ❛❝❝❡ss✐♥❣ ✐t ❋✉♥❞❛♠❡♥t❛❧ ✐ss✉❡✿ ✇❤❡♥ ❞♦❡s ❛ ✉s❡r✬s ✇r✐t❡ ❜❡❝♦♠❡ ✈✐s✐❜❧❡ t♦ ❛♥♦t❤❡r ✉s❡r tr❛❞✐t✐♦♥❛❧ ♠❡♠♦r②✿ ✇r✐t❡ ❜❡❝♦♠❡s ✈✐s✐❜❧❡ ✐♠♠❡❞✐❛t❡❧② ❞✐str✐❜✉t❡❞ ♠❡♠♦r②✿ tr❛❞❡✲♦✛s
❖✈❡r✈✐❡✇✿ ❉✐str✐❜✉t❡❞ s❤❛r❡❞ ♠❡♠♦r② ✕ ✷ ❚r❛❞✐t✐♦♥❛❧ ✏s❡q✉❡♥t✐❛❧✑ ♠❡♠♦r② ❛t♦♠✐❝ r❡❛❞s ❛♥❞ ✇r✐t❡s r❡❛❞ r❡t✉r♥s ❧❛st ✇r✐t❡✬s ✈❛❧✉❡ ♣♦♦r ♣❡r❢♦r♠❛♥❝❡ ♦♥ ❞✐str✐❜✉t❡❞ ♣❧❛t❢♦r♠ ❉✐str✐❜✉t❡❞ ♠❡♠♦r② ❛❧❧♦✇ r❡❛❞s t♦ r❡t✉r♥ ❡❛r❧✐❡r ✈❛❧✉❡s ✐♠♣r♦✈❡❞ ♣❡r❢♦r♠❛♥❝❡✱ ❜✉t ✇❡❛❦❡r ❝♦rr❡❝t♥❡ss s❡q✉❡♥t✐❛❧✲❝♦♥s✐st❡♥❝②✿ ❡q✉✐✈❛❧❡♥t t♦ s❡q✉❡♥t✐❛❧ ✇rt ❝♦rr❡❝t♥❡ss r❡❧❡❛s❡ ❝♦♥s✐st❡♥❝②✿ ✇❡❛❦❡r t❤❛♥ s❡q✉❡♥t✐❛❧ · · · ❉❡✜♥❡ s❡q✉❡♥t✐❛❧❧②✲❝♦♥s✐st❡♥t ♠❡♠♦r② s❡r✈✐❝❡ DsmSeqConService ( ADDR, PNO, PVAL )
❉s♠❙❡q❈♦♥❙❡r✈✐❝❡ ✕ ✶ P❛r❛♠❡t❡rs ADDR ✿ ❛❞❞r❡ss❡s PNO ✿ ♣❛❣❡ ♥✉♠❜❡rs PVAL ✿ ♣♦ss✐❜❧❡ ✈❛❧✉❡s ♦❢ ❛ ♣❛❣❡ ■♥♣✉t ❢✉♥❝t✐♦♥s ❛t ❛❞❞r j j ✳r❡❛❞ ( ♣♥ ) ❛♥❞ j ✳✇r✐t❡ ( ♣♥✱ ♣✈ ) ▼❛✐♥ ❙❡q α ← [] // s❡q ♦❢ ✏✇r✐t❡✲❝❛❧❧✑ ❛♥❞ ✏r❡❛❞✲r❡t✑ ❡♥tr✐❡s [WCALL ✱ j ✱ ♣♥✱ ♣✈ ] // ✇r✐t❡✲❝❛❧❧ [RRET ✱ j ✱ ♣♥✱ ♣✈ ] // r❡❛❞✲r❡t r❡t✉r♥ { vj ← sid() } // ❛❝❝❡ss s②st❡♠ ❛t j
❉s♠❙❡q❈♦♥❙❡r✈✐❝❡ ✕ ✷ ❇❡❧♦✇ h ✐s ❛ s❡q ♦❢ WCALL ❛♥❞ RRET ❡♥tr✐❡s ❍❡❧♣❡r ❢♥ lastWrite ( h, pn ) // ❧❛st ✈❛❧ ✇r✐tt❡♥ t♦ pn ✐♥ h ①❤ ← [ [ WCALL ✱ · ✱ ♣♥✱ ✳ ] ✐♥ h ] r❡t✉r♥ xh.last.pv ❍❡❧♣❡r ❢♥ s❡q✉❡♥t✐❛❧ ( ❤ ) // tr✉❡ ✐✛ ❡✈❡r② r❡❛❞ r❡t✉r♥s ❧❛st ✇r✐t❡ r❡t✉r♥ ❢♦r❛❧❧ (i ✐♥ h ✳❦❡②s✱ hi = [RRET ✱ ✳ ✱♣♥✱ ♣✈ ] ✿ hi = lastWrite( h0..i − 1 ✱ ♣♥ )) ❍❡❧♣❡r ❢♥ s❡q❈♦♥s✐st❡♥t ( ❤ ) r❡t✉r♥ ❢♦rs♦♠❡ ( ❙❡q ①❤✿ s❡q✉❡♥t✐❛❧ ( ①❤ ) ❛♥❞ ❢♦r❛❧❧ (j ✿ [[., j, ., .] ✐♥ ①❤ ] = [[., j, ., .] ✐♥ ❤ ]) )
❉s♠❙❡q❈♦♥❙❡r✈✐❝❡ ✕ ✸ vj.read(pn) ✐❝ { ♥♦ ♦♥❣♦✐♥❣ vj ✳r❡❛❞ (.) ♦r vj ✳✇r✐t❡ (.) } ♦✉t♣✉t pv ♦❝ { seqconsistent ( α ◦ [[RRET , j ✱ ♣♥✱ ♣✈ ]])} α ✳❛♣♣❡♥❞ ([RRET , j ✱ ♣♥✱ ♣✈ ] r❡t✉r♥ pv vj.write(pn, pv) ✐❝ { ♥♦ ♦♥❣♦✐♥❣ vj ✳r❡❛❞ (.) ♦r vj ✳✇r✐t❡ (.) } α ✳❛♣♣❡♥❞ ([RRET , j ✱ ♣♥✱ ♣✈ ] ♦❝ { tr✉❡ } r❡t✉r♥
❉s♠❙❡q❈♦♥❙❡r✈✐❝❡ ✕ ✹ ❛t♦♠✐❝✐t② ❛ss✉♠♣t✐♦♥✿ ✐♥♣✉t ♣❛rts ❛♥❞ ♦✉t♣✉t ♣❛rts ♣r♦❣r❡ss ❛ss✉♠♣t✐♦♥✿ ♦♥❣♦✐♥❣ j ✳r❡❛❞ (.) ❧❡❛❞s✲t♦ ♥♦ ♦♥❣♦✐♥❣ j ✳r❡❛❞ (.) ♦♥❣♦✐♥❣ j ✳✇r✐t❡ (.) ♥♦ ♦♥❣♦✐♥❣ j ✳✇r✐t❡ (.) ❧❡❛❞s✲t♦
❈♦❤❡r❡♥t s❤❛r❡❞ ♠❡♠♦r② ❘❡♠♦t❡ s❡q✉❡♥t✐❛❧ ♠❡♠♦r② // ❛❝❝❡ss❡❞ ✈✐❛ ✜❢♦ ❝❤❛♥♥❡❧ ❊q✉✐✈❛❧❡♥t t♦ s❡q✲❝♦♥s✐s❡♥t ♠❡♠♦r② ✇✐t❤ ❛❞❞✐t✐♦♥❛❧ ❝♦♥str❛✐♥t ❢♦r ❡✈❡r② r❡❛❞ ♦r ✇r✐t❡ r❡t✉r♥ r ✿ ♣❡r♠✉t❛t✐♦♥ ♠✉st ♥♦t ♠♦✈❡ ❛♥② ♣❛rt ❛❢t❡r r t♦ ❜❡❢♦r❡ r ◆❡❡❞ ❤❛r❞✇❛r❡ s✉♣♣♦rt t♦ ✐♠♣❧❡♠❡♥t s❡q✉❡♥t✐❛❧❧②✲❝♦♥s✐st❡♥t ❜✉t ♥♦t ❝♦❤❡r❡♥t
Recommend
More recommend