Conference Paper

Cache conflict resolution through detection, analysis and dynamic remapping of active pages

Authors:
Conference Paper

Cache conflict resolution through detection, analysis and dynamic remapping of active pages

If you want to read the PDF, try requesting it from the authors.

Abstract

Reducing cache conflict misses by improving the placement of page frames in the cache has been shown to increase overall system performance. Research efforts have focused on improving the distribution of page frames across cache bins with the goal of obtaining an even distribution of physical page frames in each bin. The problem with attempting to increase performance through even distribution of pages into cache bins is that these approaches do not consider accesses to the pages in the bins. In this paper, we propose an approach that considers page activity together with page placement in tuning system performance. We design and implement a data collection tool to allow us to analyze page activity in cache bins. Our analysis indicates that page placement techniques that provide for an even distribution of pages to bins can result in a disproportionate number of long lived, active pages being mapped to the same bin. We refer to these active bins as hot bins. We then design and implement a technique using standard paging hardware and software techniques to reduce activity in hot bins by remapping long lived active pages to bins with less active pages. Our experiments indicate that the remapping of active, long lived pages can increase system performance.

No full-text available

Request Full-text Paper PDF

To read the full-text of this research,
you can request a copy directly from the authors.

... Bin hopping [12] was used in Digital UNIX [15]. Later research in the area of cache-aware page allocation focused on directing the allocation performed in the operating system by an advice from applications running in user space [15], and on dynamic changes of the virtual-to-physical mapping according to run-time changes in application behavior ([17, 18] and many oth- ers). Going even further in customization for special applications , some researches argued that the virtual memory management should be fully implemented in user space, especially in the case of applications with nontypical memory usage, such as databases [19, 20]. ...
Article
Performance testing and particularly performance tracking of software under development is complicated by nondeter-ministic behavior of current operating systems. Especially displeasing is the nondeterminism in execution: even re-peated executions of a simple application differ in execution time. One of the causes of the problem is nondeterministic al-location of physical pages in combination with limited asso-ciativity of real-indexed memory caches. Most of the current operating systems therefore implement a cache-aware allo-cation strategy, typically page coloring or bin hopping. The Linux operating system does not implement any such strategy. Numerous attempts to incorporate a form of page coloring into now historical versions of Linux were rejected, mostly on the grounds of limited gains in mean performance. The impact on nondeterminism was however not studied. We have implemented an extension for page allocator of current Linux kernel, allowing inclusion of cache-aware al-location strategies as kernel modules, and we created mod-ules for page coloring and bin hopping. On a diverse set of benchmarks, we have measured and statistically evaluated the impact of the strategies on nonde-terminism and on mean performance. Our results suggest that the default kernel provides in general the same or even better mean performance compared to page coloring or bin hopping. However, page coloring is in general better than the default kernel at reducing the nondeterminism.
Article
When a computer system supports both paged virtual memory and large real-indexed caches, cache performance depends in part on the main memory page placement. To date, most operating systems place pages by selecting an arbitrary page frame from a pool of page frames that have been made available by the page replacement algorithm. We give a simple model that shows that this naive (arbitrary) page placement leads to up to 30% unnecessary cache conflicts. We develop several page placement algorithms, called careful-mapping algorithms, that try to select a page frame (from the pool of available page frames) that is likely to reduce cache contention. Using trace-driven simulation, we find that careful mapping results in 10–20% fewer (dynamic) cache misses than naive mapping (for a direct-mapped real-indexed multimegabyte cache). Thus, our results suggest that careful mapping by the operating system can get about half the cache miss reduction that a cache size (or associativity) doubling can.