next up previous
Next: Protocol 3: Asynchronous Client Up: Duplication Protocols Previous: Protocol 1: Asynchronous Server

Protocol 2: Synchronous Server Duplication

Figure 3: The steps of duplication process for Protocol 2.
\begin{figure}\centering \centerline{\hbox{\epsfig{figure=NewFigures/epvfsp2.eps, width=3in}}} \end{figure}

Protocol 2 is shown in Figure 3. As in Protocol 1, the duplication operation is performed by the primary servers. The difference is that the primary servers postpone the acknowledgment to the client until their corresponding backup servers signal the completion of duplication. In addition, the duplication process is pipelined on each data server to speedup the write performance, i.e., as soon as a block of striped data from any client arrives at the memory of the primary server, this data will be immediately duplicated to the backup server without waiting for the whole data from that client to reduce disk accesses. This protocol can always guarantee that the data is duplicated to both servers before the client finishes writing. However, this guarantee, and thus an enhanced reliability, comes at the expense of write performance, as to be analyzed and discussed later in the paper.



Yifeng Zhu 2003-10-16