Check out the new USENIX Web site. next up previous
Next: It's OK to Say Up: Discussion Previous: Eliminate Coupling

Make Parts Interchangeable

For a write in SSM, any given brick is as good as any other in terms of correctness. For a read, a candidate set of size $R$ is provided, and any brick in the candidate set can function in the place of any other brick. The introduction of a new brick does not adversely disrupt the existing order; it only serves to increase availability, performance, and throughput.

In many systems, certain nodes are required to fulfill certain fixed functions. This inflexibility often causes performance, throughput or availability issues, as evidenced in DDS [17], which uses the buddy system.

In SSM, bricks are all equivalent. Because complete copies of data are written to multiple bricks, bricks can operate independently, and do not require any sort of coordination. Furthermore, as long as one brick from the write quota of size $WQ$ remains, the data is available, unlike in erasure coding systems such as Palimpsest [35], where a certain number of chunks is required to reconstruct data.



Benjamin Chan-Bin Ling 2004-03-04