Measuring and Improving TLB Performance for Linux GUI Applications
No Thumbnail Available
Files
Date
2009-04-07
Authors
Journal Title
Series/Report No.
Journal ISSN
Volume Title
Publisher
Abstract
Modern GUI applications rely on a large number of dynamically linked shared libraries to reduce the applications' memory footprint and to avoid recompilation when newer versions of the shared libraries become available. However, each shared library needs separate memory pages, and the pages are laid out in virtual memory in essentially random fashion. This leads to increased conflict misses in the translation lookaside buffer (TLB) and diminishes the application's performance. Previous work has measured TLB performance using standard benchmarks, which consist of applications with statically-linked libraries. Statically-linked programs tend to use fewer libraries, and don't require separate pages for each library; hence they place much less stress on the TLB.
We added a TLB simulator to Valgrind, a Linux binary instrumentation tool, and used Dogtail, a testing framework for GUI applications, to measure TLB behavior for several dynamically linked GUI applications: the document-viewing application Evince, the word processor Abiword, the image viewer Gthumb, and the calculator Gcalctool. Analysis of TLB miss data from the Valgrind instrumentation showed that some shared library pages repeatedly conflicted with pages from other shared libraries for TLB entries. Moving just a single highly-contended shared library to a different place in the virtual address space reduced TLB conflict misses up to 14.7%. Average reductions across applications were greater in larger TLBs, with the highest average reduction, 7.5%, in the 512-entry TLB, the largest studied. We then investigated a more comprehensive relocation strategy based on call-graph information. Results demonstrated greater improvement in miss ratios for instruction TLBs, the average reduction being 9.6%.
Description
Keywords
shared library, gui, performance, TLB, linux, processor
Citation
Degree
MS
Discipline
Computer Science