strt r r r - - PowerPoint PPT Presentation

str t r
SMART_READER_LITE
LIVE PREVIEW

strt r r r - - PowerPoint PPT Presentation

strt r r r r strt r v .acq() i address v .rel() 1 i n i


slide-1
SLIDE 1

❉✐str✐❜✉t❡❞ ▲♦❝❦ ❙❡r✈✐❝❡

❙❤❛♥❦❛r ❆♣r✐❧ ✶✽✱ ✷✵✶✹

slide-2
SLIDE 2

❖✈❡r✈✐❡✇✿ ❉✐str✐❜✉t❡❞ ▲♦❝❦ ❙❡r✈✐❝❡

address access system (e.g., mac, ip, url, ...) v 1 n i DistLockService( ... ) v .acq() v .rel() 1 vi vn i i

P❛r❛♠❡t❡r✿ s❡t ♦❢ ❛❞❞r❡ss❡s ❆❝❝❡ss s②st❡♠ ❛t ❡❛❝❤ ❛❞❞r❡ss s✐❞ r❡t✉r♥❡❞ ❛t ✐♥st❛♥t✐❛t✐♦♥ ❋✉♥❝t✐♦♥s ❛t ❛❞❞r❡ss j✱ ❛ss✉♠✐♥❣ ❛❝❝❡ss s②st❡♠ vj ✐♥♣✉t vj.acq()✿ ❛❝q✉✐r❡ ❧♦❝❦ ✐♥♣✉t vj.rel()✿ r❡❧❡❛s❡ ❧♦❝❦ ❚❡r♠✐♥❛t✐♦♥ ❢✉♥❝t✐♦♥✭s✮✿ ❝❛♥ ❜❡ ❛❞❞❡❞

slide-3
SLIDE 3

❙❡r✈✐❝❡ DistLockService(ADDR) ✕ ✶

▼❛✐♥ ✐❝ {ADDR ♥♦t ❡♠♣t② }

eating ← null

✴✴ ✉s❡r ✇✐t❤ ❧♦❝❦ ✐❢ ♥♦t ♥✉❧❧

usersj ← []

✴✴ ✉s❡rs ❛t ❛❞❞r j

vj ← sid()

✴✴ s✐❞ ♦❢ ❛❝❝❡ss s②st❡♠ ❛t j r❡t✉r♥ {vj} ✴✴ ♠❛♣ ♦❢ s✐❞s ❛t♦♠✐❝✐t② ❛ss✉♠♣t✐♦♥✿ ✐♥♣✉t ❛♥❞ ♦✉t♣✉t ♣❛rts ♣r♦❣r❡ss ❛ss✉♠♣t✐♦♥s

thread u in vj.rel

❧❡❛❞s✲t♦

not u in vj.rel (eating = null

❧❡❛❞s✲t♦

eating = null) ⇒ (u in usersj

❧❡❛❞s✲t♦

u = eating)

slide-4
SLIDE 4

❙❡r✈✐❝❡ DistLockService(ADDR) ✕ ✷

v[j].acq()

✐❝ {eating = mytid} ❛❞❞ mytid t♦ usersj ♦❝ {eating = null}

eating ← mytid

✐♥♣✉t v[j].rel() ✐❝ {eating = mytid

and mytid in usersj}

✴✴ ❝❛❧❧❡r ❛❝q✉✐r❡❞ ❧♦❝❦ ❛t j r❡♠♦✈❡ mytid ❢r♦♠ usersj ♦❝ {true}

slide-5
SLIDE 5

■♥✈❡rs❡ ♦❢ ❞✐str✐❜✉t❡❞ ❧♦❝❦ s❡r✈✐❝❡

DistLockServiceInverse(ADDR, v)

♠❛✐♥✿ ... vj ... ♦✉t♣✉t doAcq(j) ✐♥♣✉t vj.acq() ✐❝ ♦❝ {...}

... vj.acq()

♦❝ ✐❝ {...}

...

♦✉t♣✉t doRel(j) ✐♥♣✉t vj.rel() ✐❝ ♦❝ {...}

... vj.rel()

♦❝ ✐❝ {...}

...

❛t♦♠✐❝✐t② ❛ss✉♠♣t✐♦♥✿ ... ♣r♦❣r❡ss ❛ss✉♠♣t✐♦♥ ❝♦♥❞✐t✐♦♥ {...}

slide-6
SLIDE 6

❙♦♠❡ ♥❛✐✈❡ ✐♠♣❧❡♠❡♥t❛t✐♦♥s ♦✈❡r ✜❢♦ ❝❤❛♥♥❡❧

❈❡♥tr❛❧✐③❡❞ s♦❧✉t✐♦♥ ✜①❡❞ ❛❝❝❡ss s②st❡♠✱ s❛② v0 ❝♦♥tr♦❧s ❧♦❝❦

acq ❛♥❞ rel ❝❛❧❧s s❡♥❞ ♠s❣s t♦ v0 v0 s❡r✈❡s acq✲❝❛❧❧ ♠s❣s ✐♥ ✜❢♦ ♦r❞❡r

❚♦❦❡♥✲❝✐r❝✉❧❛t✐♥❣ s♦❧✉t✐♦♥ ✏t♦❦❡♥✑ ♠s❣ ❝②❝❧❡s t❤r♦✉❣❤ ❛❝❝❡ss s②st❡♠s ✇❤❡♥ ❛♥ ❛❝❝❡ss s②st❡♠ ❣❡ts t♦❦❡♥ ✐❢ ❧♦❝❛❧ ❤✉♥❣r② ✉s❡r r❡t✉r♥ ❛♥ acq ❝❛❧❧❀ ✇❛✐t ❢♦r rel ❝❛❧❧ ❢♦r✇❛r❞ t♦❦❡♥ t♦ ♥❡①t ❛❝❝❡ss s②st❡♠ ■❞❡❛❧ s♦❧✉t✐♦♥ r❡q✉❡st ❞✐st✉r❜s ♦♥❧② ♥♦♥✲t❤✐♥❦✐♥❣ ❛❝❝❡ss s②st❡♠s ❞✐str✐❜✉t❡❞ ♣❛t❤✲r❡✈❡rs❛❧ s♦❧✉t✐♦♥ ✴✴ ❝❤❛♣t❡r ✶✻