1 / 9

Prof. Jennifer Welch

Prof. Jennifer Welch. Vector Clock Size Lower Bound. Theorem: Any implementation of vector clocks using vectors of real numbers requires vectors of length n (number of processes). Proof: For any value of n , consider this execution:.

andrewh
Download Presentation

Prof. Jennifer Welch

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Prof. Jennifer Welch

  2. Vector Clock Size Lower Bound Theorem: Any implementation of vector clocks using vectors of real numbers requires vectors of length n (number of processes). Proof: For any value of n, consider this execution: ai : first send event at process pi bi : last receive event at pi

  3. Example Bad Execution For n = 4:

  4. Vector Clock Size Lower Bound Claim 1:ai+1 || bi for all i (with wrap-around) Proof: Since each proc. does all sends before any receives, there is no transitivity. Also pi+1 does not send to pi. Claim 2:ai+1 bj for all j ≠ i. Proof: If j = i+1, obvious. If j ≠ i+1, then pi+1 sends to pj:

  5. Vector Clock Size Lower Bound • Suppose in contradiction, there is a way to implement vector clocks with k-vectors of reals, where k < n. • By Claim 1, ai+1 || bi => V(ai+1) and V(bi) are incomparable => V(ai+1) is larger than V(bi) in some coordinate h(i) => h : {0,…,n-1}  {0,…,k-1}

  6. Vector Clock Size Lower Bound • Since k < n, the function h is not 1-1. So there exist distinct i and j such that h(i) = h(j). Let r be this common value of h. V(a0) V(a1) … V(ai+1) … V(aj+1) … V(an-1) V(b0) … V(bi) … V(bj) … V(bn-2) V(bn-1) > in comp. h(0) > in comp. h(i) two of these components are the same, say h(i) = h(j) = r > in comp. h(j) > in comp. h(n-2) > in comp. h(n-1)

  7. Vector Clock Size Lower Bound V(bi) > in component r > in component r, contradicts aj+1 bi V(ai+1) ≤ in all components, since ai+1 bj V(bj) > in component r V(aj+1)

  8. Vector Clock Size Lower Bound • So V(ai+1) is larger than V(bi) in coordinate r and V(aj+1) is larger than V(bj) in coordinate r also. • V(aj+1)[r] > V(bj)[r] by def. of r ≥ V(ai+1)[r] by Claim 2 (ai+1bj) & correct. ≥ V(bi)[r] by def. of r • Thus V(aj+1) !< V(bi), contradicting Claim 2 (aj+1bi) and assumed correctness of V.

More Related