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: determining memory access costs for said NUMA multi-processor architecture by minimizing a memory access cost function for said NUMA multi-processor architecture; dividing said first plurality of interconnected processor cores into one or more zones based on said memory access costs for said NUMA multi-processor architecture, wherein each zone is assigned at least one of said second plurality of memory controllers, and each processor core of each zone accesses memory from a memory controller assigned to said zone; for each zone, allocating at least one task queue to said zone, wherein each task queue allocated to said zone is mapped to at least one processor core of said zone; and for at least one zone, dynamically adjusting at least one of a queue arrangement and a queue granularity of one or more task queues allocated to said zone based on runtime queue pressure for said one or more task queues; wherein said memory access cost function is based on a distance between said first plurality of interconnected processor cores, one or more link costs associated with said communication links and a number of memory access instructions executed on said first plurality of interconnected processor cores.