IBM 000-8697 User Manual

Page of 702
System Architecture
2-77
Write Types Describe Flushing Activity
If OnLine is configured for more than one page-cleaner daemon process, the
LRU
queues are divided among the page-cleaner daemons for more efficient
flushing.
Foreground Write
If a database server process searches through the
FLRU
 queues and cannot
locate an empty or unmodified buffer, the server process itself marks a page
for flushing. If the server process must perform buffer flushing just to acquire
a shared-memory buffer, performance can suffer. Writes that the server
process performs are called foreground writes. Foreground writes should be
avoided. If you find that foreground writes are occurring, increase the
number of page cleaners or decrease the value of
LRU_MAX_DIRTY
. (Refer to
 for more information about tuning the values of the page-cleaner
parameters.)
LRU Write
Foreground writes alert the master daemon, tbinit, that page cleaning is
needed. Once alerted, the tbinit daemon wakes the page cleaners or, if none
have been allocated in this OnLine configuration, the tbinit daemon begins
page cleaning. An
LRU
write occurs as a result of tbinit prompting, instead of
as a result of the page cleaners waking by themselves.
Chunk Write
Chunk writes are performed by page cleaners during a checkpoint or when
every page in the shared-memory buffer pool is modified. Chunk writes,
which are performed as sorted writes, are the most efficient writes available
to OnLine.
During a chunk write, each page cleaner is assigned to one or more chunks.
Each page cleaner reads through the buffer headers and creates an array of
pointers to pages that are associated with its specific chunk. (The page
cleaners have access to this information because the chunk number is
contained within the physical page number address, which is part of the page
header.) This sorting minimizes head movement (disk seek time) on the disk
and enables the page cleaners to use the big buffers during the write, if
possible. (Refer to
.)