blob: 59713b3af7ca71e699755d0e752781f401f81bea (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
% Registration Examining Linux 2.6 Page-Cache Performance
% [2]Register/Submit Proposal Sonny Rao (raosanth@us.ibm.com)
Given the current trends towards ubiquitous
64-bit server/desktop computing with large
amounts of cheap system memory, the
performance and structure of the Linux
page-cache will undoubtedly become more
important in the future, and we believe an
analytical and empirical examination of
performance will be valuable in guiding future
development.
The current 2.6 radix-tree based design
represents a huge leap forward from the old
global hash-table design, but we also beleive
there may be some issues with the current
radix-tree structure itself.
We have three main concerns about the current
implementation:
\begin{enumerate}
\item Radix tree keys are unnecessarily long
especially on LP64 systems which can cause
radix trees to perform poorly
\item The common case of in-order insertion of
pages into the radix tree could most-likely be
improved
\item Parallel access to the radix-tree structure
\end{enumerate}
We will cover our analysis of the current
implementation and discuss potential
improvements for these issues using a
combination of analytical models and our
measurements of improvement using
proof-of-concept implementations of ideas such
as: extendible hashing techniques, trading
space for time by altering the \ident{MAP_SHIFT}
setup, using smaller radix keys combined with
larger logical page sizes, and possibly
others.
|