Measuring and Improving TLB Performance for Linux GUI Applications

Show full item record

Title: Measuring and Improving TLB Performance for Linux GUI Applications
Author: Konireddygari, Sreekanth
Advisors: Matthias Stallmann, Committee Member
William Cohen, Committee Co-Chair
Edward Gehringer, Committee Chair
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%.
Date: 2009-04-07
Degree: MS
Discipline: Computer Science
URI: http://www.lib.ncsu.edu/resolver/1840.16/2072


Files in this item

Files Size Format View
etd.pdf 299.8Kb PDF View/Open

This item appears in the following Collection(s)

Show full item record