Deallocation of computer data in a multithreaded computer
    1.
    发明授权
    Deallocation of computer data in a multithreaded computer 失效
    多线程计算机中计算机数据的分配

    公开(公告)号:US08209692B2

    公开(公告)日:2012-06-26

    申请号:US11926967

    申请日:2007-10-29

    IPC分类号: G06F9/46

    摘要: An apparatus, program product and method support the deallocation of a data structure in a multithreaded computer without requiring the use of computationally expensive semaphores or spin locks. Specifically, access to a data structure is governed by a shared pointer that, when a request is received to deallocate the data structure, is initially set to a value that indicates to any thread that later accesses the pointer that the data structure is not available. In addition, to address any thread that already holds a copy of the shared pointer, and thus is capable of accessing the data structure via the shared pointer after the initiation of the request, all such threads are monitored to determine whether any thread is still using the shared pointer by determining whether any thread is executing program code that is capable of using the shared pointer to access the data structure. Once this condition is met, it is ensured that no thread can potentially access the data structure via the shared pointer, and as such, the data structure may then be deallocated.

    摘要翻译: 一种装置,程序产品和方法支持多线程计算机中数据结构的释放,而不需要使用计算上昂贵的信号量或旋转锁。 具体来说,访问数据结构由共享指针控制,当接收到请求以解除分配数据结构时,共享指针最初被设置为指示稍后访问指针的任何线程数据结构不可用的值。 此外,为了解决已经拥有共享指针的副本的任何线程,并且因此能够在请求启动之后通过共享指针访问数据结构,所有这些线程被监视以确定是否有任何线程仍在使用 该共享指针通过确定任何线程是否正在执行能够使用共享指针来访问数据结构的程序代码。 一旦满足此条件,就确保没有线程可以通过共享指针潜在地访问数据结构,因此可以解除分配数据结构。

    DEALLOCATION OF COMPUTER DATA IN A MULTITHREADED COMPUTER

    公开(公告)号:US20080134188A1

    公开(公告)日:2008-06-05

    申请号:US11970816

    申请日:2008-01-08

    IPC分类号: G06F9/46

    摘要: An apparatus, program product and method support the deallocation of a data structure in a multithreaded computer without requiring the use of computationally expensive semaphores or spin locks. Specifically, access to a data structure is governed by a shared pointer that, when a request is received to deallocate the data structure, is initially set to a value that indicates to any thread that later accesses the pointer that the data structure is not available. In addition, to address any thread that already holds a copy of the shared pointer, and thus is capable of accessing the data structure via the shared pointer after the initiation of the request, all such threads are monitored to determine whether any thread is still using the shared pointer by determining whether any thread is executing program code that is capable of using the shared pointer to access the data structure. Once this condition is met, it is ensured that no thread can potentially access the data structure via the shared pointer, and as such, the data structure may then be deallocated.

    Deallocation of computer data in a multithreaded computer

    公开(公告)号:US08234645B2

    公开(公告)日:2012-07-31

    申请号:US11970816

    申请日:2008-01-08

    IPC分类号: G06F9/46

    摘要: An apparatus, program product and method support the deallocation of a data structure in a multithreaded computer without requiring the use of computationally expensive semaphores or spin locks. Specifically, access to a data structure is governed by a shared pointer that, when a request is received to deallocate the data structure, is initially set to a value that indicates to any thread that later accesses the pointer that the data structure is not available. In addition, to address any thread that already holds a copy of the shared pointer, and thus is capable of accessing the data structure via the shared pointer after the initiation of the request, all such threads are monitored to determine whether any thread is still using the shared pointer by determining whether any thread is executing program code that is capable of using the shared pointer to access the data structure. Once this condition is met, it is ensured that no thread can potentially access the data structure via the shared pointer, and as such, the data structure may then be deallocated.

    Partition Transparent Correctable Error Handling in a Logically Partitioned Computer System
    4.
    发明申请
    Partition Transparent Correctable Error Handling in a Logically Partitioned Computer System 失效
    在逻辑分区计算机系统中的分区透明可纠正错误处理

    公开(公告)号:US20090282210A1

    公开(公告)日:2009-11-12

    申请号:US12115613

    申请日:2008-05-06

    IPC分类号: G06F12/00

    CPC分类号: G06F13/28

    摘要: A method and apparatus for transparently handling recurring correctable errors to prevent costly system shutdowns for correctable memory errors or system failures from uncorrectable memory errors. When a high number of correctable errors are detected for a given memory location, the hypervisor moves the data associated with the memory location to an alternate physical memory location transparently to the partition such that the partition has no knowledge that the physical memory actualizing the memory location has been changed. Similarly, the hypervisor can move direct memory access (DMA) memory locations using an I/O translation table.

    摘要翻译: 一种用于透明地处理重复的可纠正错误以防止由于不可校正的存储器错误而导致的可校正的存储器错误或系统故障的昂贵的系统关闭的方法和装置。 当对于给定的存储器位置检测到大量可校正错误时,管理程序将与存储器位置相关联的数据透明地移动到备用物理存储器位置到分区,使得分区不知道物理存储器实现存储器位置 已经变了。 类似地,管理程序可以使用I / O转换表移动直接存储器访问(DMA)存储器位置。

    Partition Transparent Memory Error Handling in a Logically Partitioned Computer System With Mirrored Memory
    5.
    发明申请
    Partition Transparent Memory Error Handling in a Logically Partitioned Computer System With Mirrored Memory 有权
    在具有镜像内存的逻辑分区计算机系统中分区透明内存错误处理

    公开(公告)号:US20090282300A1

    公开(公告)日:2009-11-12

    申请号:US12115625

    申请日:2008-05-06

    IPC分类号: G06F11/07

    CPC分类号: G06F11/2082 G06F11/2094

    摘要: A method and apparatus for transparently handling recurring correctable errors and uncorrectable errors in a mirrored memory system prevents costly system shutdowns for correctable memory errors or system failures from uncorrectable memory errors. When a high number of correctable errors are detected for a given memory location, a memory relocation mechanism in the hypervisor moves the data associated with the memory location to an alternate physical memory location transparently to the partition such that the partition has no knowledge that the physical memory actualizing the memory location has been changed. When a correctable error occurs, the memory relocation mechanism uses data from a partner mirrored memory block as a data source for the memory block with the uncorrectable error and then relocates the data to a newly allocated memory block to replace the memory block with the uncorrectable error.

    摘要翻译: 用于透明地处理镜像存储器系统中的可重复校正错误和不可校正错误的方法和装置防止由于不可校正的存储器错误而导致的可校正存储器错误或系统故障的昂贵的系统关闭。 当对于给定的存储器位置检测到大量的可校正错误时,管理程序中的存储器重定位机制将与存储器位置相关联的数据透明地移动到备用物理存储器位置到分区,使得分区不知道物理 内存实现内存位置已更改。 当发生可纠正错误时,内存重定位机制使用来自伙伴镜像内存块的数据作为具有不可校正错误的存储器块的数据源,然后将数据重新定位到新分配的存储器块以用不可校正的错误来替换存储器块 。

    Partition transparent memory error handling in a logically partitioned computer system with mirrored memory
    6.
    发明授权
    Partition transparent memory error handling in a logically partitioned computer system with mirrored memory 有权
    在具有镜像内存的逻辑分区计算机系统中分区透明内存错误处理

    公开(公告)号:US08407515B2

    公开(公告)日:2013-03-26

    申请号:US12115625

    申请日:2008-05-06

    IPC分类号: G06F11/00

    CPC分类号: G06F11/2082 G06F11/2094

    摘要: A method and apparatus for transparently handling recurring correctable errors and uncorrectable errors in a mirrored memory system prevents costly system shutdowns for correctable memory errors or system failures from uncorrectable memory errors. When a high number of correctable errors are detected for a given memory location, a memory relocation mechanism in the hypervisor moves the data associated with the memory location to an alternate physical memory location transparently to the partition such that the partition has no knowledge that the physical memory actualizing the memory location has been changed. When a correctable error occurs, the memory relocation mechanism uses data from a partner mirrored memory block as a data source for the memory block with the uncorrectable error and then relocates the data to a newly allocated memory block to replace the memory block with the uncorrectable error.

    摘要翻译: 用于透明地处理镜像存储器系统中的可重复校正错误和不可校正错误的方法和装置防止由于不可校正的存储器错误而导致的可校正存储器错误或系统故障的昂贵的系统关闭。 当对于给定的存储器位置检测到大量的可校正错误时,管理程序中的存储器重定位机制将与存储器位置相关联的数据透明地移动到备用物理存储器位置到分区,使得分区不知道物理 内存实现内存位置已更改。 当发生可纠正错误时,内存重定位机制使用来自伙伴镜像内存块的数据作为具有不可校正错误的存储器块的数据源,然后将数据重新定位到新分配的存储器块以用不可校正的错误来替换存储器块 。

    Partition transparent correctable error handling in a logically partitioned computer system
    7.
    发明授权
    Partition transparent correctable error handling in a logically partitioned computer system 失效
    逻辑分区计算机系统中的分区透明可校正错误处理

    公开(公告)号:US08255639B2

    公开(公告)日:2012-08-28

    申请号:US12115613

    申请日:2008-05-06

    IPC分类号: G06F12/16 G06F12/06

    CPC分类号: G06F13/28

    摘要: A method and apparatus for transparently handling recurring correctable errors to prevent costly system shutdowns for correctable memory errors or system failures from uncorrectable memory errors. When a high number of correctable errors are detected for a given memory location, the hypervisor moves the data associated with the memory location to an alternate physical memory location transparently to the partition such that the partition has no knowledge that the physical memory actualizing the memory location has been changed. Similarly, the hypervisor can move direct memory access (DMA) memory locations using an I/O translation table.

    摘要翻译: 一种用于透明地处理重复的可纠正错误以防止由于不可校正的存储器错误而导致的可校正的存储器错误或系统故障的昂贵的系统关闭的方法和装置。 当对于给定的存储器位置检测到大量可校正错误时,管理程序将与存储器位置相关联的数据透明地移动到备用物理存储器位置到分区,使得分区不知道物理存储器实现存储器位置 已经变了。 类似地,管理程序可以使用I / O转换表移动直接存储器访问(DMA)存储器位置。

    Deallocation of computer data in a multithreaded computer
    8.
    发明授权
    Deallocation of computer data in a multithreaded computer 有权
    多线程计算机中计算机数据的分配

    公开(公告)号:US07328438B2

    公开(公告)日:2008-02-05

    申请号:US10400702

    申请日:2003-03-27

    IPC分类号: G06F9/46

    摘要: An apparatus, program product and method support the deallocation of a data structure in a multithreaded computer without requiring the use of computationally expensive semaphores or spin locks. Specifically, access to a data structure is governed by a shared pointer that, when a request is received to deallocate the data structure, is initially set to a value that indicates to any thread that later accesses the pointer that the data structure is not available. In addition, to address any thread that already holds a copy of the shared pointer, and thus is capable of accessing the data structure via the shared pointer after the initiation of the request, all such threads are monitored to determine whether any thread is still using the shared pointer by determining whether any thread is executing program code that is capable of using the shared pointer to access the data structure. Once this condition is met, it is ensured that no thread can potentially access the data structure via the shared pointer, and as such, the data structure may then be deallocated.

    摘要翻译: 一种装置,程序产品和方法支持多线程计算机中数据结构的释放,而不需要使用计算上昂贵的信号量或旋转锁。 具体来说,访问数据结构由共享指针控制,当接收到请求以解除分配数据结构时,共享指针最初被设置为指示稍后访问指针的任何线程数据结构不可用的值。 此外,为了解决已经拥有共享指针的副本的任何线程,并且因此能够在请求启动之后通过共享指针访问数据结构,所有这些线程被监视以确定是否有任何线程仍在使用 该共享指针通过确定任何线程是否正在执行能够使用共享指针来访问数据结构的程序代码。 一旦满足此条件,就确保没有线程可以通过共享指针潜在地访问数据结构,因此可以解除分配数据结构。

    VIRTUAL MACHINE DISPATCHING TO MAINTAIN MEMORY AFFINITY
    9.
    发明申请
    VIRTUAL MACHINE DISPATCHING TO MAINTAIN MEMORY AFFINITY 有权
    虚拟机分配维护记忆体

    公开(公告)号:US20080163203A1

    公开(公告)日:2008-07-03

    申请号:US11617206

    申请日:2006-12-28

    IPC分类号: G06F9/455

    摘要: A computer implemented method, data processing system, and computer usable program code are provided for dispatching virtual processors. A determination is made as to whether a physical processor in a set of physical processors is idle, and, if so, a determination is made as to whether an affinity map for the idle physical processor exists. Responsive to an existence of the affinity map, a determination is made as to whether a virtual processor last mapped to the idle physical processor is ready to run using the affinity map and a dispatch algorithm. Responsive to identifying a ready-to-run virtual processor whose affinity map indicates that the idle physical processor is mapped to this virtual processor in its preceding dispatch, the ready-to-run virtual processor is dispatched to the idle physical processor. Thus, memory affinity is maintained between physical and virtual processors when the memory affinity is not expired.

    摘要翻译: 提供计算机实现的方法,数据处理系统和计算机可用程序代码来调度虚拟处理器。 确定一组物理处理器中的物理处理器是否空闲,并且如果是,则确定存在空闲物理处理器的亲和度映射是否存在。 响应于亲和力映射的存在,确定最后映射到空闲物理处理器的虚拟处理器是否准备好使用亲和度映射和调度算法运行。 响应于识别其亲和力映射表示空闲物理处理器在其之前的分派中被映射到该虚拟处理器的可运行虚拟处理器,则准备运行的虚拟处理器被调度到空闲物理处理器。 因此,当存储器相关性未过期时,在物理和虚拟处理器之间保持存储器亲和性。

    Dynamic allocation of computer resources based on thread type
    10.
    发明授权
    Dynamic allocation of computer resources based on thread type 有权
    基于线程类型的计算机资源的动态分配

    公开(公告)号:US07222343B2

    公开(公告)日:2007-05-22

    申请号:US10346147

    申请日:2003-01-16

    IPC分类号: G06F9/46

    CPC分类号: G06F9/5044 G06F2209/503

    摘要: An apparatus, program product and method dynamically assign threads to computer resources in a multithreaded computer including a plurality of physical subsystems based upon specific “types” associated with such threads. In particular, thread types are allocated resources that are resident within the same physical subsystem in a computer, such that newly created threads and/or reactivated threads of those particular thread types are dynamically assigned to the resources allocated to their respective thread types. As such, those threads sharing the same type are generally assigned to computer resources that are resident within the same physical subsystem of a computer, which often reduces cross traffic between multiple physical subsystems resident in a computer, and thus improves overall system performance.

    摘要翻译: 装置,程序产品和方法根据与这种线程相关联的特定“类型”动态地将线程分配给包括多个物理子系统的多线程计算机中的计算机资源。 特别地,线程类型被分配驻留在计算机中的相同物理子系统中的资源,使得这些特定线程类型的新创建的线程和/或重新激活的线程被动态地分配给分配给它们各自的线程类型的资源。 因此,共享相同类型的线程通常被分配给驻留在计算机的相同物理子系统内的计算机资源,这通常减少驻留在计算机中的多个物理子系统之间的交叉流量,并因此提高整体系统性能。