Browse Prior Art Database

A Method for Directing Memory Allocations to Specific Nodes on Numa Systems

IP.com Disclosure Number: IPCOM000013863D
Original Publication Date: 1999-Oct-01
Included in the Prior Art Database: 2003-Jun-18
Document File: 1 page(s) / 42K

Publishing Venue

IBM

Related People

Ron Rockhold: AUTHOR

Abstract

Optimal performance on Numa systems is achieved when application's references to system (real) memory map to the same Node on which the application is executing. This ensures the lowest memory latency possible. Although most operating systems allow applications to "bind" their execution to specific processors, most operating systems (those which do not support Numa systems as other that large SMPs) export no interface for directing memory allocations to specific real memory ranges. By providing a mechanism at the user (and/or device driver) level without modification to the operating system itself, applications can derive better performance on Numa systems than they would otherwise. This invention is embodied in a set of library services which allow an application to specify its execution and memory binding requests. Requests for memory binding are managed as follows, and are the specifics of the invention:

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 56% of the total text.

Page 1 of 1

A Method for Directing Memory Allocations to Specific Nodes on Numa Systems

    Optimal performance on Numa systems is achieved when application's references to system (real) memory map to the same Node on which the application is executing. This ensures the lowest memory latency possible. Although most operating systems allow applications to "bind" their execution to specific processors, most operating systems (those which do not support Numa systems as other that large SMPs) export no interface for directing memory allocations to specific real memory ranges. By providing a mechanism at the user (and/or device driver) level -- without modification to the operating system itself, applications can derive better performance on Numa systems than they would otherwise. This invention is embodied in a set of library services which allow an application to specify its execution and memory binding requests. Requests for memory binding are managed as follows, and are the specifics of the invention:

1) Operating system services are used to allocate virtual memory, and lock in memory (pin) the amount of memory the user is requesting.
2) For each page of virtual memory allocated:

a. Determine the physical address of the real memory backing the page.

b. Determine the Node that "owns" this real address.

c. If the owning Node is among those which the user requested (success),

- then go on to the next page.

d. If the owning Node is NOT among those the user requested (failure for this...