A method and system for improving memory access patterns of software
systems on NUMA systems discovers NUMA system resources where the NUMA
system resources comprises a plurality of NUMA nodes; determines a
plurality of database threads, processes, and objects for a database
configuration; and generates a policy which assigns the plurality of
database threads, processes, and objects to the plurality of NUMA nodes,
wherein the generating of the policy is performed prior to initialization
of the plurality of database threads, processes, and objects. The
assignment of the database threads, processes, or objects to NUMA nodes
is such that the amount of remote memory accesses is reduced. When the
database thread, process, or object initializes, the database server
queries the policy for its assigned NUMA node(s). The database thread,
process, or object is then bound to the assigned NUMA node(s).