Maintaining coherency of derived data in a computer system
    1.
    发明授权
    Maintaining coherency of derived data in a computer system 有权
    维护计算机系统中派生数据的一致性

    公开(公告)号:US07222221B1

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

    申请号:US10774095

    申请日:2004-02-06

    IPC分类号: G06F12/00

    摘要: A computer system has secondary data that is derived from primary data, such as entries in a TLB being derived from entries in a page table. When an actor changes the primary data, a producer indicates the change in a set data structure, such as a data array, in memory that is shared by the producer and a consumer. There may be multiple producers and multiple consumers and each producer/consumer pair has a separate channel. At coherency events, at which incoherencies between the primary data and the secondary data should be removed, consumers read the channels to determine the changes, and update the secondary data accordingly. The system may be a multiprocessor virtual computer system, the actor may be a guest operating system, and the producers and consumers may be subsystems within a virtual machine monitor, wherein each subsystem exports a separate virtual central processing unit.

    摘要翻译: 计算机系统具有从主数据导出的辅助数据,诸如从页表中的条目导出的TLB中的条目。 当演员改变主要数据时,制片人指示在生产者和消费者共享的存储器中的设置数据结构(例如数据阵列)中的改变。 可能有多个生产者和多个消费者,每个生产者/消费者对都有一个单独的渠道。 在一致性事件中,应删除主数据和辅助数据之间的货币,消费者读取通道以确定更改,并相应地更新次要数据。 该系统可以是多处理器虚拟计算机系统,该演员可以是客户操作系统,并且生产者和消费者可以是虚拟机监视器内的子系统,其中每个子系统导出单独的虚拟中央处理单元。

    Maintaining coherency of derived data in a computer system
    2.
    发明授权
    Maintaining coherency of derived data in a computer system 有权
    维护计算机系统中派生数据的一致性

    公开(公告)号:US07783838B1

    公开(公告)日:2010-08-24

    申请号:US11752193

    申请日:2007-05-22

    摘要: A computer system has secondary data that is derived from primary data, such as entries in a TLB being derived from entries in a page table. When an actor changes the primary data, a producer indicates the change in a set data structure, such as a data array, in memory that is shared by the producer and a consumer. There may be multiple producers and multiple consumers and each producer/consumer pair has a separate channel. At coherency events, at which incoherencies between the primary data and the secondary data should be removed, consumers read the channels to determine the changes, and update the secondary data accordingly. The system may be a multiprocessor virtual computer system, the actor may be a guest operating system, and the producers and consumers may be subsystems within a virtual machine monitor, wherein each subsystem exports a separate virtual central processing unit.

    摘要翻译: 计算机系统具有从主数据导出的辅助数据,诸如从页表中的条目导出的TLB中的条目。 当演员改变主要数据时,制片人指示在生产者和消费者共享的存储器中的设置数据结构(例如数据阵列)中的改变。 可能有多个生产者和多个消费者,每个生产者/消费者对都有一个单独的渠道。 在一致性事件中,应删除主数据和辅助数据之间的货币,消费者读取通道以确定更改,并相应地更新次要数据。 该系统可以是多处理器虚拟计算机系统,该演员可以是客户操作系统,并且生产者和消费者可以是虚拟机监视器内的子系统,其中每个子系统导出单独的虚拟中央处理单元。

    Program concurrency control using condition variables
    3.
    发明授权
    Program concurrency control using condition variables 有权
    程序并发控制使用条件变量

    公开(公告)号:US08578380B1

    公开(公告)日:2013-11-05

    申请号:US10929045

    申请日:2004-08-27

    IPC分类号: G06F9/46

    CPC分类号: G06F9/526 G06F2209/521

    摘要: A condition variable for controlling access to a critical section of computer code by a plurality of concurrently running execution threads comprises a data structure with a head list linking threads in an arrival order and a tail list linking threads in a reverse arrival order. Together, the head and tail lists together indicate which threads are currently blocked on the condition variable. A wait counter indicates how many threads are currently linked in the data structure and a signal counter indicates how many times the condition variable has been signaled for waiting threads that are currently linked in the data structure. The head and tail pointers, as well as the wait and signal counters, may be implemented as fields of a single, atomically updatable data word.

    摘要翻译: 用于通过多个同时运行的执行线程来控制对计算机代码的关键部分的访问的条件变量包括具有以到达顺序链接线程的头列表和以相反到达顺序链接线程的尾列表的数据结构。 一起,头尾列表一起表示当前在条件变量上阻塞哪些线程。 等待计数器指示当前在数据结构中链接多少个线程,并且信号计数器指示条件变量已经被信号通知给当前在数据结构中链接的等待线程的次数。 头和尾指针以及等待和信号计数器可被实现为单个可原子更新的数据字的字段。

    Composite lock for computer systems with multiple domains
    4.
    发明授权
    Composite lock for computer systems with multiple domains 有权
    具有多个域的计算机系统的复合锁

    公开(公告)号:US07117481B1

    公开(公告)日:2006-10-03

    申请号:US10289728

    申请日:2002-11-06

    IPC分类号: G06F9/45

    CPC分类号: G06F9/526

    摘要: In a multi-domain computer system in which several processes are running, a composite lock provides mutually exclusive access to a resource. The composite lock has a back-end component and a front-end component. The back-end component is platform-dependent and operates as a semaphore, with Wait and Signal functions. The front-end component conditionally calls the Wait and Signal functions depending on whether the lock is currently contested when a new process wishes to acquire the lock, and on whether any process is currently suspended, waiting to acquire the lock. The front-end and back-end components may execute in different domains. In the uncontested case, the invention avoids costly domain crossings. The front-end component may also include a spinning feature to further reduce the need to invoke the back-end component and cause a domain crossing. The composite lock is particularly advantageous in computer systems that include a virtual machine.

    摘要翻译: 在其中运行多个进程的多域计算机系统中,复合锁为资源提供互斥访问。 复合锁具有后端组件和前端组件。 后端组件与平台相关,并作为信号量运行,具有等待和信号功能。 前端组件有条件地调用等待和信号功能,具体取决于当新进程希望获取锁定时当前是否有争议,以及当前是否暂停任何进程,等待获取锁定。 前端和后端组件可以在不同的域中执行。 在无争议的情况下,本发明避免了昂贵的域交叉。 前端组件还可以包括旋转特征,以进一步减少调用后端组件并引起域跨越的需要。 复合锁在包括虚拟机的计算机系统中是特别有利的。

    Dynamic Selection and Application of Multiple Virtualization Techniques
    5.
    发明申请
    Dynamic Selection and Application of Multiple Virtualization Techniques 有权
    多虚拟化技术的动态选择与应用

    公开(公告)号:US20080288940A1

    公开(公告)日:2008-11-20

    申请号:US12057191

    申请日:2008-03-27

    IPC分类号: G06F9/46

    摘要: Autonomous selection between multiple virtualization techniques implemented in a virtualization layer of a virtualized computer system. The virtual machine monitor implements multiple virtualization support subsystems that each provide for the comprehensive handling of potential virtualization exceptions. A virtual machine monitor resident performance monitor computes relative virtualization overhead costs that are and would be incurred in using different virtualization support subsystems for virtualization exceptions that occur in executing a guest operating system within a defined interval. Dependent on the relative virtualization overhead costs determined, the virtual machine monitor resident virtualization selection control switches the virtual machine monitor to use the optimal virtualization support subsystem for handling virtualization exceptions that occur over a second defined interval.

    摘要翻译: 在虚拟化计算机系统的虚拟化层中实现的多个虚拟化技术之间的自主选择。 虚拟机监视器实现多个虚拟化支持子系统,每个虚拟化支持子系统都可以全面处理潜在的虚拟化异常。 虚拟机监视器驻留性能监视器计算在使用不同的虚拟化支持子系统以在定义的间隔内执行客户机操作系统时发生的虚拟化异常所引起并将会引起的相对虚拟化开销成本。 依赖于确定的相对虚拟化开销成本,虚拟机监视器驻留虚拟化选择控制切换虚拟机监视器以使用最佳虚拟化支持子系统来处理在第二个定义的间隔内发生的虚拟化异常。

    Adaptive dynamic selection and application of multiple virtualization techniques
    6.
    发明授权
    Adaptive dynamic selection and application of multiple virtualization techniques 有权
    自适应动态选择和应用多种虚拟化技术

    公开(公告)号:US08561061B2

    公开(公告)日:2013-10-15

    申请号:US12152517

    申请日:2008-05-14

    IPC分类号: G06F9/455

    摘要: Autonomous selection between multiple virtualization techniques implemented in a virtualization layer of a virtualized computer system. The virtual machine monitor implements multiple virtualization support processors that each provide for the comprehensive handling of potential virtualization exceptions. A virtual machine monitor resident virtualization selection control is operable to select between use of first and second virtualization support processors dependent on identifying a predetermined pattern of temporally local privilege dependent instructions within a portion of an instruction stream as encountered in the execution of a guest operating system.

    摘要翻译: 在虚拟化计算机系统的虚拟化层中实现的多个虚拟化技术之间的自主选择。 虚拟机监视器实现多个虚拟化支持处理器,每个虚拟化支持处理器都可以全面处理潜在的虚拟化异常。 虚拟机监视器驻留虚拟化选择控制可操作以在使用第一和第二虚拟化支持处理器之间进行选择,这取决于在客户机操作系统的执行中遇到的指令流的一部分内识别时间上依赖于本地特权依赖指令的预定模式 。

    Dynamic selection and application of multiple virtualization techniques
    7.
    发明授权
    Dynamic selection and application of multiple virtualization techniques 有权
    动态选择和应用多种虚拟化技术

    公开(公告)号:US08479195B2

    公开(公告)日:2013-07-02

    申请号:US12057191

    申请日:2008-03-27

    IPC分类号: G06F9/455

    摘要: Autonomous selection between multiple virtualization techniques implemented in a virtualization layer of a virtualized computer system. The virtual machine monitor implements multiple virtualization support subsystems that each provide for the comprehensive handling of potential virtualization exceptions. A virtual machine monitor resident performance monitor computes relative virtualization overhead costs that are and would be incurred in using different virtualization support subsystems for virtualization exceptions that occur in executing a guest operating system within a defined interval. Dependent on the relative virtualization overhead costs determined, the virtual machine monitor resident virtualization selection control switches the virtual machine monitor to use the optimal virtualization support subsystem for handling virtualization exceptions that occur over a second defined interval.

    摘要翻译: 在虚拟化计算机系统的虚拟化层中实现的多个虚拟化技术之间的自主选择。 虚拟机监视器实现多个虚拟化支持子系统,每个虚拟化支持子系统都可以全面处理潜在的虚拟化异常。 虚拟机监视器驻留性能监视器计算在使用不同的虚拟化支持子系统以在定义的间隔内执行客户机操作系统时发生的虚拟化异常所引起并将会引起的相对虚拟化开销成本。 依赖于确定的相对虚拟化开销成本,虚拟机监视器驻留虚拟化选择控制切换虚拟机监视器以使用最佳虚拟化支持子系统来处理在第二个定义的间隔内发生的虚拟化异常。

    Adaptive dynamic selection and application of multiple virtualization techniques
    8.
    发明申请
    Adaptive dynamic selection and application of multiple virtualization techniques 有权
    自适应动态选择和应用多种虚拟化技术

    公开(公告)号:US20080288941A1

    公开(公告)日:2008-11-20

    申请号:US12152517

    申请日:2008-05-14

    IPC分类号: G06F9/455

    摘要: Autonomous selection between multiple virtualization techniques implemented in a virtualization layer of a virtualized computer system. The virtual machine monitor implements multiple virtualization support processors that each provide for the comprehensive handling of potential virtualization exceptions. A virtual machine monitor resident virtualization selection control is operable to select between use of first and second virtualization support processors dependent on identifying a predetermined pattern of temporally local privilege dependent instructions within a portion of an instruction stream as encountered in the execution of a guest operating system.

    摘要翻译: 在虚拟化计算机系统的虚拟化层中实现的多个虚拟化技术之间的自主选择。 虚拟机监视器实现多个虚拟化支持处理器,每个虚拟化支持处理器都可以全面处理潜在的虚拟化异常。 虚拟机监视器驻留虚拟化选择控制可操作以在使用第一和第二虚拟化支持处理器之间进行选择,这取决于在客户机操作系统的执行中遇到的指令流的一部分内识别时间上依赖于本地特权依赖指令的预定模式 。