1. In a Non-Uniform Memory Access (NUMA) multi-processor architecture having a first plurality of interconnected processor cores and a second plurality of memory controllers coupled by communication links, a method of task management, comprising: assigning processor cores to memory controllers for task management to take into account memory access costs in the underlying NUMA topology for each processor core to access memory from a memory controller assigned to the processor core.