A method for a user process to specify a policy for allocating pages of
physical memory on the nodes of a multinode multiprocessor computer
system. Through means such as a system call, an application program can
specify to the operating system that physical pages of memory for an
application-specified portion of virtual address space are to be
physically allocated upon a specified set of nodes, subject to the
additional selection criteria that the pages are to be allocated at first
reference upon: 1) the node upon which the reference first occurs; 2) the
node which has the most free memory, or 3) that the pages should be evenly
distributed across the indicated set of nodes. In effect, the operating
system remembers the specified allocation policy and node set from which
the physical pages can be subsequently allocated, as established by a
system call. Subsequent use of the virtual address space for which the
allocation policy is defined results in the memory being allocated
accordingly. In this way, an application program can use memory with the
memory-locality most advantageous to it. The preferred embodiments of the
invention include extensions to the mmap and shmget functions of
UNIX-based operating systems.
Um método para que um processo do usuário especifique uma política para alocar páginas da memória física nos nós de um sistema computatorizado do multiprocessor do multinode. Com os meios tais como uma chamada do sistema, um programa de aplicação pode especificar ao sistema operando-se que as páginas físicas da memória para uma parcela aplicação-especificada do espaço de endereço virtual devem ser alocado fisicamente em cima de um jogo especificado dos nós, assunto aos critérios de seleção adicionais que as páginas devem ser alocado upon na primeira referência: 1) o nó em cima de que a referência ocorre primeiramente; 2) o nó que tem a memória a mais livre, ou 3) que as páginas devem uniformente ser distribuídas através do jogo indicado dos nós. De fato, o sistema operando-se recorda a política e o nó especificados do alocamento ajustados de que as páginas físicas podem subseqüentemente ser alocadas, como estabelecido por uma chamada do sistema. O uso subseqüente do espaço de endereço virtual para que a política do alocamento é definida resulta na memória que está sendo alocada conformemente. Nesta maneira, um programa de aplicação pode usar a memória com o memória-memory-locality o mais vantajoso a ele. As incorporações preferidas da invenção incluem extensões às funções do mmap e do shmget de sistemas operando-se UNIX-baseados.