Information Technology Reference
In-Depth Information
Figure 7. The memory performance of two LU programs in their concurrent execution.
•
When the memory demand of a process
frequency, are similar, false LRU pages
can be easily generated for both processes,
which can trigger the system thrashing. The
interactions between two
vortex
processes
in Figure 6 and between two
LU
processes
in Figure 7 are examples of this condition.
When the available memory space is sig-
has a sudden jump for additional memory
allocation, its RSS can be easily increased
accordingly at the beginning because ad-
dition of new pages do not need I/O op-
erations to access data on the disk (zero-
filled pages instead of disk-read pages).
If the process cannot establish its work-
ing set before many false LRU pages are
produced, the number of lost pages on the
false LRU condition can exceed the num-
ber of obtained pages through page fault-
ing, causing its RSS to drop. In addition,
the increased memory demand of this pro-
cess causes other processes in the system
to generate more false LRU pages. In this
way thrashing is triggered. The examples
of this condition include: the starting ex-
ecution stage of
gzip
in the left figure of
Figure 3, the second spike of
gcc
in the
bit-r
/
gcc
interaction in Figure 4, the first
spike of
gcc
in the
gcc
/
vortex
interaction
in Figure 5, and all the RSS jumps of both
LU
processes in Figure 7.
If memory access patterns of concurrently
•
nificantly less than the aggregate memory
demand of the processes, all the processes
compete for the limited memory alloca-
tions. A small number of page faults may
trigger a large number of false LRU pages.
This condition will be shown in Figure 8
before the token is taken by a process.
deSign and implementationS
of Swap toKen
We choose the Linux OS as a base to evaluate the
design and implementation of swap token. The
swap token has been implemented in Linux Ker-
nel 2.2 by Song Jiang and in Linux kernel 2.6 by
Rik van Riel. As a more thorough evaluation has
been conducted for the implementation in Kernel
2.2, the discussions on the topic in the chapter are
based on this implementation.
•
running programs, in terms of working set
size, memory usage behavior, and access
Search WWH ::
Custom Search