Facilitating data coherency using in-memory tag bits and tag test instructions
    1.
    发明授权
    Facilitating data coherency using in-memory tag bits and tag test instructions 失效
    使用内存中标记位和标签测试指令促进数据一致性

    公开(公告)号:US08656121B2

    公开(公告)日:2014-02-18

    申请号:US13109254

    申请日:2011-05-17

    IPC分类号: G06F12/00

    摘要: Fine-grained detection of data modification of original data is provided by associating separate guard bits with granules of memory storing original data from which translated data has been obtained. The guard bits indicating whether the original data stored in the associated granule is protected for data coherency. The guard bits are set and cleared by special-purpose instructions. Responsive to attempting access to translated data obtained from the original data, the guard bit(s) associated with the original data is checked to determine whether the guard bit(s) fail to indicate coherency of the original data, and if so, discarding of the translated data is initiated to facilitate maintaining data coherency between the original data and the translated data.

    摘要翻译: 通过将单独的保护位与存储已经获得翻译数据的原始数据的存储器的颗粒相关联来提供对原始数据的数据修改的细粒度检测。 保护位指示存储在相关联的粒子中的原始数据是否受到数据一致性的保护。 保护位通过专用指令进行设置和清除。 响应于尝试访问从原始数据获得的翻译数据,检查与原始数据相关联的保护位,以确定保护位是否不能指示原始数据的一致性,如果是,则丢弃 启动翻译的数据以便于维持原始数据和翻译数据之间的数据一致性。

    Facilitating data coherency using in-memory tag bits and tag test instructions
    2.
    发明授权
    Facilitating data coherency using in-memory tag bits and tag test instructions 失效
    使用内存中标记位和标签测试指令促进数据一致性

    公开(公告)号:US08645644B2

    公开(公告)日:2014-02-04

    申请号:US13451682

    申请日:2012-04-20

    IPC分类号: G06F12/00

    摘要: A method is provided for fine-grained detection of data modification of original data by associating separate guard bits with granules of memory storing original data from which translated data has been obtained. The guard bits indicating whether the original data stored in the associated granule is protected for data coherency. The guard bits are set and cleared by special-purpose instructions. Responsive to attempting access to translated data obtained from the original data, the guard bit(s) associated with the original data is checked to determine whether the guard bit(s) fail to indicate coherency of the original data, and if so, discarding of the translated data is initiated to facilitate maintaining data coherency between the original data and the translated data.

    摘要翻译: 提供了一种通过将单独的保护位与存储已经获得翻译数据的原始数据的存储器的颗粒相关联的方法来对原始数据的数据修改进行细粒度检测。 保护位指示存储在相关联的粒子中的原始数据是否受到数据一致性的保护。 保护位通过专用指令进行设置和清除。 响应于尝试访问从原始数据获得的翻译数据,检查与原始数据相关联的保护位,以确定保护位是否不能指示原始数据的一致性,如果是,则丢弃 启动翻译的数据以便于维持原始数据和翻译数据之间的数据一致性。

    Facilitating data coherency using in-memory tag bits and faulting stores
    3.
    发明授权
    Facilitating data coherency using in-memory tag bits and faulting stores 有权
    使用内存中标记位和故障存储来促进数据一致性

    公开(公告)号:US08645633B2

    公开(公告)日:2014-02-04

    申请号:US13109249

    申请日:2011-05-17

    IPC分类号: G06F12/00

    摘要: Fine-grained detection of data modification of original data is provided by associating separate guard bits with granules of memory storing the original data from which translated data has been obtained. The guard bits facilitate indicating whether the original data stored in the associated granule is indicated as protected. The guard bits are set and cleared by special-purpose instructions. Responsive to initiating a data store operation to modify the original data, the associated guard bit(s) are checked to determine whether the original data is indicated as protected. Responsive to the checking indicating that a guard bit is set for the associated original data, the data store operation to modify the original data is faulted and the translated data is discarded, thereby facilitating data coherency between the original data and the translated data.

    摘要翻译: 通过将单独的保护位与存储已经获得翻译数据的原始数据的存储器的颗粒相关联来提供原始数据的数据修改的细粒度检测。 保护位有助于指示存储在相关联的颗粒中的原始数据是否被指示为受保护的。 保护位通过专用指令进行设置和清除。 响应于启动数据存储操作以修改原始数据,检查相关联的保护位以确定原始数据是否被指示为受保护的。 响应于指示为相关联的原始数据设置了保护位的检查,修改原始数据的数据存储操作发生故障,并且转换的数据被丢弃,从而促进原始数据和转换的数据之间的数据一致性。

    Check-point based high availability: network packet buffering in hardware
    4.
    发明授权
    Check-point based high availability: network packet buffering in hardware 有权
    基于检测点的高可用性:硬件中的网络数据包缓冲

    公开(公告)号:US08769533B2

    公开(公告)日:2014-07-01

    申请号:US13184740

    申请日:2011-07-18

    申请人: Geraint North

    发明人: Geraint North

    IPC分类号: G06F9/455

    摘要: A method, system, and computer program product enhances resource/process availability by providing hardware based buffering of network packets during checkpointing in a virtualized environment. A High Availability Checkpoint (HAC) utility pre-configures a physical network adapter to buffer outgoing network packets from virtual machines that employ a checkpointing technology. In response to receiving an outgoing network packet from a virtual machine and determining that the virtual machine employs a pre-specified checkpointing technology, the physical network adapter buffers the outgoing network packet. In addition, a primary host performs/facilitates checkpoint operations (associated with the virtual machine) with a secondary host. When checkpoint operations are successfully completed, the HAC utility triggers the transmission of the buffered network packets from the network adapter to a network destination. The physical network adapter minimizes checkpointing network latency by pre-assigning a higher priority to a buffered network packet from a checkpointing virtual machine than to a new network packet that originates from a non-checkpointing virtual machine.

    摘要翻译: 方法,系统和计算机程序产品通过在虚拟化环境中的检查点期间提供网络数据包的基于硬件的缓冲来增强资源/过程可用性。 高可用性检查点(HAC)实用程序预配置物理网络适配器来缓冲来自使用检查点技术的虚拟机的传出网络数据包。 响应于从虚拟机接收到传出的网络分组并确定虚拟机采用预先指定的检查点技术,物理网络适配器缓冲输出网络分组。 此外,主主机执行/促进与辅助主机的检查点操作(与虚拟机相关联)。 当检查点操作成功完成时,HAC实用程序触发缓冲的网络数据包从网络适配器传输到网络目的地。 物理网络适配器通过从检查点虚拟机预先分配更高优先级到缓冲的网络分组而不是从非检查点虚拟机产生的新网络分组来最小化检查点网络延迟。

    RESOURCE RECOVERY FOR CHECKPOINT-BASED HIGH-AVAILABILITY IN A VIRTUALIZED ENVIRONMENT
    5.
    发明申请
    RESOURCE RECOVERY FOR CHECKPOINT-BASED HIGH-AVAILABILITY IN A VIRTUALIZED ENVIRONMENT 有权
    基于检测点的资源恢复在虚拟化环境中的高可用性

    公开(公告)号:US20130091335A1

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

    申请号:US13253519

    申请日:2011-10-05

    IPC分类号: G06F12/14 G06F11/14

    摘要: A computer-implemented method, computer program product and data processing system provide checkpoint high-available for an application in a virtualized environment with reduced network demands. An application executes on a primary host machine comprising a first virtual machine. A virtualization module receives a designation from the application of a portion of the memory of the first virtual machine as purgeable memory, wherein the purgeable memory can be reconstructed by the application when the purgeable memory is unavailable. Changes are tracked to a processor state and to a remaining portion that is not purgeable memory and the changes are periodically forwarded at checkpoints to a secondary host machine. In response to an occurrence of a failure condition on the first virtual machine, the secondary host machine is signaled to continue execution of the application by using the forwarded changes to the remaining portion of the memory and by reconstructing the purgeable memory.

    摘要翻译: 计算机实现的方法,计算机程序产品和数据处理系统为网络需求降低的虚拟化环境中的应用提供高可用的检查点。 应用程序在包含第一虚拟机的主主机上执行。 虚拟化模块从第一虚拟机的存储器的一部分的应用程序接收指定为可清除存储器,其中当可清除存储器不可用时,可清除存储器可被应用程序重建。 更改被跟踪到处理器状态,而对于不可清除内存的剩余部分进行跟踪,并将更改周期性地在检查点转发到辅助主机。 响应于在第一虚拟机上出现故障状况,通过使用对存储器的剩余部分的转发改变并重建可清除存储器来发信号通知辅助主机继续执行应用程序。

    STORAGE WRITES IN A MIRRORED VIRTUAL MACHINE SYSTEM
    6.
    发明申请
    STORAGE WRITES IN A MIRRORED VIRTUAL MACHINE SYSTEM 有权
    镜像虚拟机系统中的存储写入

    公开(公告)号:US20120191908A1

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

    申请号:US13358067

    申请日:2012-01-25

    IPC分类号: G06F12/16

    摘要: Performing storage writes in a mirrored virtual machine system by receiving a state of a primary virtual machine during execution of an application, wherein the primary virtual machine runs on a first physical machine and a secondary virtual machine runs on a second physical machine, wherein the state is captured by checkpointing, and the primary virtual machine is configured to write data to a first block and concurrently write the data to a write buffer on the secondary virtual machine. The method also includes storing a copy of data within a second block to a rollback buffer for the secondary virtual machine, in response to identifying a checkpoint in the application, merging the rollback buffer with the write buffer, in response to detecting a failover, writing a copy of the rollback buffer to the disk storage, and continuing execution on the secondary virtual machine from the last checkpoint.

    摘要翻译: 通过在执行应用程序期间接收主虚拟机的状态来在镜像的虚拟机系统中执行存储写入,其中所述主虚拟机在第一物理机器上运行,并且辅虚拟机在第二物理机器上运行,其中所述状态 通过检查点捕获,并且主虚拟机被配置为将数据写入第一块并且同时将数据写入到辅助虚拟机上的写入缓冲器。 该方法还包括响应于识别应用程序中的检查点,将回滚缓冲器与写缓冲器合并,以响应于检测到故障切换,写入,将第二块内的数据副本存储到辅助虚拟机的回滚缓冲器 将回滚缓冲区的副本存储到磁盘存储器,并从上一个检查点继续在辅助虚拟机上执行。

    Method and apparatus for combined execution of native code and target code during program code conversion
    7.
    发明申请
    Method and apparatus for combined execution of native code and target code during program code conversion 有权
    用于在程序代码转换期间组合执行本地代码和目标代码的方法和装置

    公开(公告)号:US20070006184A1

    公开(公告)日:2007-01-04

    申请号:US11273111

    申请日:2005-11-14

    IPC分类号: G06F9/45

    CPC分类号: G06F9/45516

    摘要: In program code conversion, particularly dynamic binary translation, subject code 17 is translated into target code 21 through a translator 19 for execution on a target processor 13. Selected portions of subject code, such as library functions SFuncA 172, are replaced by instead executing a portion of native code such as a native function NFuncA 282. The native function is native to the target processor 13. The method further includes executing a subject code portion such as a subject function SFuncB 173 in place of a native code portion such library function NFuncB 283. This reverse binding technique substitutes subject code for selected portions of the native code, particularly native library functions in order to keep control within the translator 19. This helps to maintain an accurate subject state in the translator 19, amongst other advantages.

    摘要翻译: 在程序代码转换中,特别是动态二进制转换,主题代码17通过翻译器19被翻译成目标代码21,用于在目标处理器13上执行。主题代码的所选部分(如库函数SFuncA 172)被代替地执行 本地代码的一部分,例如本机函数NFuncA 282.本机函数对于目标处理器13是本地的。该方法还包括执行诸如主题函数SFuncB 173的主题代码部分来代替本地代码部分,例如库函数NFuncB 这种反向绑定技术将主体代码替代本地代码的选定部分,特别是本地库函数,以便在翻译器19内保持控制。这有助于在翻译器19中保持精确的主体状态以及其他优点。

    Condition code flag emulation for program code conversion
    8.
    发明授权
    Condition code flag emulation for program code conversion 有权
    条件代码标志仿真程序代码转换

    公开(公告)号:US07331040B2

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

    申请号:US10361000

    申请日:2003-02-06

    IPC分类号: G06F9/45

    CPC分类号: G06F9/45537

    摘要: An emulator (30) allows subject code (10) written for a subject processor (12) having subject processor registers (14) and condition code flags (16) to run in a non-compatible computing environment (2). The emulator (30) identifies and records parameters of instructions in the subject code (10) that affect status of the subject condition code flags (16). Then, when an instruction in the subject code (10) is encountered, such as a branch or jump, that uses the flag status to make a decision, the flag status is resolved from the recorded instruction parameters. Advantageously, emulation overhead is substantially reduced.

    摘要翻译: 仿真器(30)允许为具有主体处理器寄存器(14)和条件代码标志(16)的主题处理器(12)编写的对象代码(10)在不兼容的计算环境(2)中运行。 仿真器(30)识别并记录影响对象条件码标志(16)的状态的主题代码(10)中的指令的参数。 然后,当遇到使用标志状态作出决定的诸如分支或跳转的主题代码(10)中的指令时,从记录的指令参数中解析标志状态。 有利地,仿真开销显着降低。

    Fast emulation of virtually addressed control flow
    9.
    发明授权
    Fast emulation of virtually addressed control flow 有权
    快速仿真实际寻址的控制流程

    公开(公告)号:US09015027B2

    公开(公告)日:2015-04-21

    申请号:US13440147

    申请日:2012-04-05

    申请人: Geraint North

    发明人: Geraint North

    IPC分类号: G06F9/455 G06F9/30 G06F12/10

    摘要: Two or more processes for executing a source application are emulated using: a virtual trampoline memory in which each emulated process has a respective private trampoline memory; and a shared code heap memory. Each emulated process only sees the shared code heap and its respective private trampoline memory. A respective equivalent target instruction fragment for writing to the code heap is generated for each of multiple source instruction fragments from the application, each target instruction fragment being indexed by its physical address in the code heap. Each of at least one jump instruction in the fragment is replaced with a jump to a corresponding slot in the virtual trampoline memory. A trap is written to each corresponding private trampoline slot, each trap adapted to be replaced by a jump to an address in the code heap corresponding to the jump destination.

    摘要翻译: 用于执行源应用程序的两个或更多个进程使用:虚拟蹦床存储器,其中每个仿真处理具有相应的专用蹦床存储器; 和一个共享代码堆内存。 每个仿真进程只能看到共享代码堆及其各自的私有蹦床内存。 针对来自应用程序的多个源指令片段中的每一个产生用于写入代码堆的相应的等效目标指令片段,每个目标指令片段由代码堆中的物理地址索引。 片段中的至少一个跳转指令中的每一个都被跳转到虚拟蹦床存储器中的相应时隙。 陷阱被写入每个相应的私人蹦床插槽,每个陷阱适于被跳转到对应于跳转目的地的代码堆中的地址。

    Storage writes in a mirrored virtual machine system
    10.
    发明授权
    Storage writes in a mirrored virtual machine system 有权
    存储器写入镜像虚拟机系统

    公开(公告)号:US08954645B2

    公开(公告)日:2015-02-10

    申请号:US13358067

    申请日:2012-01-25

    IPC分类号: G06F21/00 G06F11/20 G06F11/14

    摘要: Performing storage writes in a mirrored virtual machine system by receiving a state of a primary virtual machine during execution of an application, wherein the primary virtual machine runs on a first physical machine and a secondary virtual machine runs on a second physical machine, wherein the state is captured by checkpointing, and the primary virtual machine is configured to write data to a first block and concurrently write the data to a write buffer on the secondary virtual machine. The method also includes storing a copy of data within a second block to a rollback buffer for the secondary virtual machine, in response to identifying a checkpoint in the application, merging the rollback buffer with the write buffer, in response to detecting a failover, writing a copy of the rollback buffer to the disk storage, and continuing execution on the secondary virtual machine from the last checkpoint.

    摘要翻译: 通过在执行应用程序期间接收主虚拟机的状态来在镜像的虚拟机系统中执行存储写入,其中所述主虚拟机在第一物理机器上运行,并且辅虚拟机在第二物理机器上运行,其中所述状态 通过检查点捕获,并且主虚拟机被配置为将数据写入第一块并且同时将数据写入到辅助虚拟机上的写入缓冲器。 该方法还包括响应于识别应用程序中的检查点,将回滚缓冲器与写缓冲器合并,以响应于检测到故障切换,写入,将第二块内的数据副本存储到辅助虚拟机的回滚缓冲器 将回滚缓冲区的副本存储到磁盘存储器,并从上一个检查点继续在辅助虚拟机上执行。