Process assignment by nodal affinity in a myultiprocessor system having
non-uniform memory access storage architecture
    1.
    发明授权
    Process assignment by nodal affinity in a myultiprocessor system having non-uniform memory access storage architecture 失效
    在具有非均匀内存访问存储架构的多处理器系统中通过节点亲和度进行过程分配

    公开(公告)号:US5784697A

    公开(公告)日:1998-07-21

    申请号:US622230

    申请日:1996-03-27

    CPC分类号: G06F9/5016

    摘要: According to the present invention, pool allocation and process assignment mechanisms create process nodal affinity in a NUMA multiprocessor system for enhanced performance. The multiprocessor system includes multiple interconnected multiprocessing nodes that each contain one or more processors and a local main memory, the system main storage being distributed among the local main memories of the multiprocessing nodes in a NUMA architecture. A pool reservation mechanism reserves pools of memory space within the logical main storage, and the pool allocation mechanism allocates those pools to real pages in the local main-memory of multiprocessing nodes. Processes to be created on the multiprocessor are given an attribute that indicates an associated pool. Upon creation, the process assignment mechanism will only assign a process to a multiprocessing node that has been allocated the pool indicated by the process' attribute. This process nodal affinity increases accesses by the assigned process to local main storage of that node, thereby enhancing system performance.

    摘要翻译: 根据本发明,池分配和过程分配机制在NUMA多处理器系统中创建过程节点亲和度以提高性能。 多处理器系统包括多个互连的多处理节点,每个节点包含一个或多个处理器和本地主存储器,该系统主存储器分布在NUMA架构中的多处理节点的本地主存储器之间。 池预留机制在逻辑主存储中保留存储空间池,池分配机制将这些池分配给多处理节点的本地主存中的实际页面。 在多处理器上创建的进程被赋予一个指示关联的池的属性。 创建后,进程分配机制将仅将一个进程分配给已分配由进程'属性指定的池的多处理节点。 此过程节点亲和性增加了分配过程对该节点的本地主存储的访问,从而提高系统性能。

    Apparatus and method for providing simultaneous local and global addressing using software to distinguish between local and global addresses

    公开(公告)号:US06574721B1

    公开(公告)日:2003-06-03

    申请号:US09387343

    申请日:1999-08-31

    IPC分类号: G06F1206

    摘要: An apparatus and method provide simultaneous local and global addressing capabilities in a computer system. A global address space is defined that may be accessed by all processes. In addition, each process has a local address space that is local (and therefore available) only to that process. An address space processor is implemented in software to perform system functions that distinguish between local addresses and global addresses. In the preferred embodiments, the local address space has a size that is a multiple of the size of a segment of global address space. When the hardware indicates a page fault, the address space processor determines whether the address being translated is a local address or a global address. If the address is a local address, the address space processor uses a local directory to process the page fault. If the address is a global address, the address space processor uses a global directory to process the page fault. When the hardware indicates an addressing error because a computed address crosses a global segment boundary, the address space processor determines whether the address is a local address or a global address. If the address is a global address, the address space processor indicates an addressing error. If the address is a local address, the address space processor determines whether the address is within the process' local address space, and indicates an addressing error if the address is outside the process' local address space. Instructions are allowed to operate on both local and global addresses because the address space processor handles either type of address whenever software assistance is required, such as for servicing a page fault or checking a segment boundary crossing. In addition, the address space processor dynamically checks the addressing compatibility of called code before passing control to the called code.