Assignment 2

 

Preliminaries

 

a. If you haven’t picked a project (C# or Java) and partner, please do it now.

 

b. Visit www.tpc.org and spend 10 minutes browsing the site to get a feel for how the Transaction Processing Council describes the TPC-C benchmark and how it presents benchmark results. Spend another 10-15 minutes looking over the new TPC-E benchmark; read Clause 0 (3 pages), and quickly skim the beginning of each of the other sections to get a feeling for what’s covered.

 

c. Think about applying shadowing to the course project. Read Section 6 of Chapter 7.

 

d. Since this week’s homework is not very time-consuming, this a great time to start working on your project. If you want to get a head start on next week’s reading, read Sections 1-3 of Chapter 6.

 

Problems

 

For each of the following histories, answer the following:

  1. List all serial histories that are equivalent to it
  2. Is it recoverable? Does it avoid cascading aborts? Is it strict?
    For each, if not, why?

 

1.      w0[x,y,z] c0 r1[x] r2[y,z] r3[x,y] w2[z] c2 r3[z] w3[y,z] c3 w1[x] c1

2.      w0[x,y,z] c0 r1[x] r2[y,z] r3[y] w2[z] r3[z] c2 w3[y,z] c3 w1[x] c1
(same as (1), except that x is omitted from the first r3 and c2 moved after r3[z])

3.      w0[x,y,z] c0 r1[x] r2[y,z] r3[z] w2[z] r3[y] w3[y] c2 c3 w1[x] c1
(same as (2), except that r3[z] and r3[y] are swapped, z is omitted from w3[y,z], and
c2 is moved after w3[y])

4.      w0[x,y,z] c0 r1[x] r2[y,z] r3[y] w2[z] c2 w3[y,z] c3 w1[x] r3[z] c1
(same as (2), except that r3[z] follows w1[x])

5.      w0[x,y,z] c0 r1[x] r2[y,z] r3[y] w2[z] r3[z] w3[x,y] c3 c2 w1[x] c1
(same as (1), except that x is omitted from r3, z is replaced by x in w3, and c2 moved after c3)