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 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 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.