NUMA (non-uniform memory access) architectures are used increasingly in
commodity systems in order to allow for higher application performance.
Contrary to the "free lunch" software developers had with increasing
processor clock rates, where software performance improved without
programmer intervention, harnessing the full power of a NUMA architecture
requires knowledge about the system's topology and more sophisticated
thread and memory placement algorithms.
Memory and Thread Management on NUMA Systems
This talk presents the state of my work of making the L4/Fiasco.OC
environment NUMA aware. I explain chosen design details and
implementation issues of a component that handles thread and memory
placement on a NUMA system in order to alleviate remote memory access
penalties and shared resource contention. Using L4Re mechanisms, the
component is able to dynamically migrate threads and allocated memory
regions between different NUMA nodes without modification of the target