[linux-mm-cc] Some testings using ccache pre-alpha 003 for i386

Anderson Briglia briglia.anderson at gmail.com
Tue Aug 22 14:09:58 EDT 2006


Hi all,

I did some tests using the latest ccache code posted by Nitin Gupta. I
divided the tests in two types: Memory behavior and time performance.
All tests had this scenario:

- linus kernel 2.6.18-rc4 with ccache pre-alpha 003 applied
- qemu with ubuntu-dapper image
- 128MB of RAM
- No Swap devices
- After every test, the machine was rebooted

Memory Behavior
-----------------------------------------------------------
This test intends to evaluate what happens on the system when it has a
high memory load. What is the ccache impact? Is it stable even the
free memory is critical low?
To do this test I used memtest 0.0.4 [1], that is a suite of tests
developed to evaluate the stability and consistency of the Linux
memory management system. It is composed of some testing programs but
I used just one test, called fillmem. Fillmem tests the memory
allocation system. It is useful to check the virtual memory system
face allocation memory, pagination and swap usage. As its parameter,
fillmem receives the size of the memory that will be allocated.

fillmem50-ccache1000.gif (graph01) attached file represents the memory
when executed fillmem with 50MB of parameter and ccache with 1000
pages of size.
fillmem50-no-ccache.gif (graph02) attached file represents the memory
when executed fillmem with 50MB as well, but without ccache.
The x axis represents the time in seconds and the y axis the memory in
kilobytes. Make a comparison between the two graphs, we can see that
the ccache adds a overhead because the test spends more time to
allocate and free the same memory size. And we have also the number of
AnonPages increased. Maybe due the metadata needed for the ccache
control.
One more thing is, 1000 pages as ccache size are not enough to improve
the memory allocation. I didn't use a bigger ccache size because it's
not stable yet and the system just freezes if the ccache is bigger (>
10MB for example). Discussing with Nitin, he said me that it's
something related to the LRU active list handling. He is investigating
this problem.

Time Performance
--------------------------------------------------------
This test intends to evaluate the ccache overhead when executing the
memory test and an application. I selected the Firefox startup to
measure. Just called firefox at the command line with 'time' to do the
measurements. The same way was used to measure the time when executing
the fillmem test.

fillmem-test-time.gif attached file represents the time measurement
when executing the fillmem test discussed above. As you can see, the
test is much more faster (almost 3 times) without ccache. I believe it
is expected once we naturally have an overhead to use the ccache
system: all those chunk's operations, vswap control, etc...

firefox-startup[01-02].gif attached files represent the time spent to
load firefox. On this test, I executed firefox two times without
reboot the machine. I was expecting a gain on the speed when using
ccache, once we should have more 'firefox anonpages' in the memory
when using ccache. But as we can see, we don't have a big difference
when using and not using the ccache. But the startup was faster when
ccache was used.

Conclusion
------------------------------------------------------
I believe that it's early to take some conclusion of the ccache
benefits. More use cases must be developed and tested to check the
impact and improvements of it. We just have a pre-alpha version and we
have to focus on fix the bugs to have a 'real workable' ccache
version.

References
-----------------------------------------------------
[1] Memtest Suite. <http://carpanta.dc.fi.udc.es/~quintela/memtest/>


Best regards,

Anderson Briglia
Open Source Mobile Research Center - Embedded Linux Lab
Instituto Nokia de Tecnologia - INdT - Manaus/Brazil
-------------- next part --------------
A non-text attachment was scrubbed...
Name: fillmem50-ccache1000.gif
Type: image/gif
Size: 68719 bytes
Desc: not available
Url : http://mailman.laptop.org/pipermail/linux-mm-cc/attachments/20060822/834b17d7/fillmem50-ccache1000-0001.gif
-------------- next part --------------
A non-text attachment was scrubbed...
Name: fillmem50-no-ccache.gif
Type: image/gif
Size: 68737 bytes
Desc: not available
Url : http://mailman.laptop.org/pipermail/linux-mm-cc/attachments/20060822/834b17d7/fillmem50-no-ccache-0001.gif
-------------- next part --------------
A non-text attachment was scrubbed...
Name: fillmem-test-time.gif
Type: image/gif
Size: 8679 bytes
Desc: not available
Url : http://mailman.laptop.org/pipermail/linux-mm-cc/attachments/20060822/834b17d7/fillmem-test-time-0001.gif
-------------- next part --------------
A non-text attachment was scrubbed...
Name: firefox-startup01.gif
Type: image/gif
Size: 12484 bytes
Desc: not available
Url : http://mailman.laptop.org/pipermail/linux-mm-cc/attachments/20060822/834b17d7/firefox-startup01-0001.gif
-------------- next part --------------
A non-text attachment was scrubbed...
Name: firefox-startup02.gif
Type: image/gif
Size: 12630 bytes
Desc: not available
Url : http://mailman.laptop.org/pipermail/linux-mm-cc/attachments/20060822/834b17d7/firefox-startup02-0001.gif


More information about the linux-mm-cc mailing list