|
|
|
@ -213,16 +213,22 @@ represents a unit of checkpointing. New segments are added to the
|
|
|
|
|
tail of the queue. Old segments are removed from the head of the
|
|
|
|
|
queue as described below.
|
|
|
|
|
|
|
|
|
|
A segment consists of a \emph{header} containing metadata about the
|
|
|
|
|
contents of the segment, and of a certain number of pages that may
|
|
|
|
|
have been modified since the previous checkpoint. Again, to make the
|
|
|
|
|
description more concrete, let us imagine that the number of pages in
|
|
|
|
|
a segment is around $250$ or so, for a total of around $1MB$ of page
|
|
|
|
|
data. A segment is written as a unit to the secondary storage device.
|
|
|
|
|
If that device is a disk, then the seek time and rotation delay of the
|
|
|
|
|
disk will not significantly impact the transfer of the segment to the
|
|
|
|
|
disk, because the size of the segment is sufficiently large that the
|
|
|
|
|
data-transfer time will dominate.
|
|
|
|
|
A segment consists of:
|
|
|
|
|
|
|
|
|
|
\begin{itemize}
|
|
|
|
|
\item a \emph{header} containing metadata about the contents of the
|
|
|
|
|
segment, and
|
|
|
|
|
\item a certain number of pages that may have been modified since the
|
|
|
|
|
previous checkpoint.
|
|
|
|
|
\end{itemize}
|
|
|
|
|
|
|
|
|
|
Again, to make the description more concrete, let us imagine that the
|
|
|
|
|
number of pages in a segment is around $250$ or so, for a total of
|
|
|
|
|
around $1MB$ of page data. A segment is written as a unit to the
|
|
|
|
|
secondary storage device. If that device is a disk, then the seek
|
|
|
|
|
time and rotation delay of the disk will not significantly impact the
|
|
|
|
|
transfer of the segment to the disk, because the size of the segment
|
|
|
|
|
is sufficiently large that the data-transfer time will dominate.
|
|
|
|
|
|
|
|
|
|
Furthermore, it is advantageous to keep the secondary storage device
|
|
|
|
|
nearly full, because then (if the device is a disk) the head and the
|
|
|
|
|