From Fedora Project Wiki
(Created page with "<!-- All fields on this form are required to be accepted by FESCo. We also request that you maintain the same order of sections so that all of the feature pages are uniform. --...")
 
(Moved this page to FeaturePageIncomplete as it looks to be a duplicate of Features/numad)
 
Line 64: Line 64:




[[Category:FeatureReadyForWrangler]]
[[Category:FeaturePageIncomplete]]
<!-- When your feature page is completed and ready for review -->
<!-- When your feature page is completed and ready for review -->
<!-- remove Category:FeaturePageIncomplete and change it to Category:FeatureReadyForWrangler -->
<!-- remove Category:FeaturePageIncomplete and change it to Category:FeatureReadyForWrangler -->
<!-- After review, the feature wrangler will move your page to Category:FeatureReadyForFesco... if it still needs more work it will move back to Category:FeaturePageIncomplete-->
<!-- After review, the feature wrangler will move your page to Category:FeatureReadyForFesco... if it still needs more work it will move back to Category:FeaturePageIncomplete-->
<!-- A pretty picture of the page category usage is at: https://fedoraproject.org/wiki/Features/Policy/Process -->
<!-- A pretty picture of the page category usage is at: https://fedoraproject.org/wiki/Features/Policy/Process -->

Latest revision as of 13:13, 23 January 2012


numad - Non-Uniform Memory Alignment Daemon

Summary

A user-level daemon that monitors NUMA topology and process resource consumption to facilitate good NUMA resource alignment of applications/virtual machines to improve performance and minimize cost of remote memory latencies.

Owner

  • Name: [[User:billburnseh| Bill Burns]

Current status

  • Targeted release: Fedora 17
  • Last updated: 2012-01-13
  • Percentage of completion: 25%

Detailed Description

The daemon will attempt to match significant resource consumers with available memory and CPU resources in order to reduce cross node traffic. It will attempt to do some load balancing across NUMA nodes, and will provide a pre-placement advisory interface (to entities like libvirt), so significant processes can be pre-bound to nodes with sufficient available resources.

Benefit to Fedora

Fedora users will accrue performance benefits from automatic NUMA affinity grouping, without needing to explicitly place and bind processes themselves. This should improve the out-of-the-box performance experience on NUMA systems. With more and more systems, even at the low end, presenting NUMA topologies there is a real need to address the performance vagarities that such systems present.

Scope

The tool will be supplied in a new package, and will be a new, stand-alone daemon perhaps with an associated library. Wide spread system effects are unexpected. The daemon will discover the system NUMA topology and provide access to NUMA advice via command line and/or API to query for pre-placement, as well as do some load balancing of significant resource consuming processes directly via existing system interfaces. Some mechanisms for process participation election or exclusion will be provided.

How To Test

Basic function: Start significant workloads with long-running processes on a system with NUMA topology using no bindings and compare to the same when using binding indicated or automated by the daemon. Performance: Utilize the above with measurable workloads and compare the performance of the workloads.

Dependencies

None.

Contingency Plan

The daemon can be disabled and manual determination of optimal NUMA assignement can be performed.

Documentation

Documentation will be included as part of the package. A man page will describe the daemon and it's interfaces.

Release Notes

TBS.

Comments and Discussion