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 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). In this manner, the costs from
remote memory accesses are significantly reduced.