Intelligent network streaming and execution system for conventionally coded applications
    1.
    发明申请
    Intelligent network streaming and execution system for conventionally coded applications 有权
    用于常规编码应用的智能网络流和执行系统

    公开(公告)号:US20080178298A1

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

    申请号:US11453301

    申请日:2006-06-13

    IPC分类号: G06F21/22

    摘要: An intelligent network streaming and execution system for conventionally coded applications provides a system that partitions an application program into page segments by observing the manner in which the application program is conventionally installed. A minimal portion of the application program is installed on a client system and the user launches the application in the same ways that applications on other client file systems are started. An application program server streams the page segments to the client as the application program executes on the client and the client stores the page segments in a cache. Page segments are requested by the client from the application server whenever a page fault occurs from the cache for the application program. The client prefetches page segments from the application server or the application server pushes additional page segments to the client based on the pattern of page segment requests for that particular application. The user subscribes and unsubscribes to application programs, whenever the user accesses an application program a securely encrypted access token is obtained from a license server if the user has a valid subscription to the application program. The application server begins streaming the requested page segments to the client when it receives a valid access token from the client. The client performs server load balancing across a plurality of application servers. If the client observes a non-response or slow response condition from an application server or license server, it switches to another application or license server.

    摘要翻译: 用于常规编码应用的智能网络流和执行系统提供通过观察常规安装应用程序的方式来将应用程序分割成页片段的系统。 应用程序的最小部分安装在客户端系统上,用户以与其他客户端文件系统上的应用程序启动相同的方式启动应用程序。 当应用程序在客户机上执行时,应用程序服务器将页面段流传送到客户端,并且客户端将页面段存储在高速缓存中。 每当从应用程序的缓存发生页面错误时,客户端从应用程序服务器请求页面段。 客户端从应用程序服务器预取页面片段,或者应用程序服务器根据该特定应用程序的页面段请求模式将其他页面片段推送到客户端。 用户订阅并取消订阅应用程序,只要用户访问应用程序,如果用户具有对应用程序的有效订阅,则从许可证服务器获得安全加密的访问令牌。 当应用服务器从客户端接收到有效的访问令牌时,开始将请求的页面段流式传输到客户端。 客户端在多个应用服务器之间执行服务器负载平衡。 如果客户端从应用程序服务器或许可证服务器观察到无响应或缓慢的响应条件,则切换到另一个应用程序或许可证服务器。

    Supporting speculative modification in a data cache
    2.
    发明授权
    Supporting speculative modification in a data cache 有权
    支持数据缓存中的推测性修改

    公开(公告)号:US07873793B1

    公开(公告)日:2011-01-18

    申请号:US11807629

    申请日:2007-05-29

    IPC分类号: G06F12/08

    摘要: Method and system for supporting speculative modification in a data cache are provided and described. A data cache comprises a plurality of cache lines. Each cache line includes a state indicator for indicating anyone of a plurality of states, wherein the plurality of states includes a speculative state to enable keeping track of speculative modification to data in the respective cache line. The speculative state enables a speculative modification to the data in the respective cache line to be made permanent in response to a first operation performed upon reaching a particular instruction boundary during speculative execution of instructions. Further, the speculative state enables the speculative modification to the data in the respective cache line to be undone in response to a second operation performed upon failing to reach the particular instruction boundary during speculative execution of instructions.

    摘要翻译: 提供和描述了用于支持数据高速缓存中的推测性修改的方法和系统。 数据高速缓存包括多条高速缓存行。 每个高速缓存线包括用于指示多个状态中的任何一个的状态指示符,其中,所述多个状态包括能够跟踪对相应高速缓存线中的数据的推测性修改的推测状态。 响应于在推测性执行指令期间到达特定指令边界时执行的第一操作,推测状态使得对相应高速缓存行中的数据进行推测性修改是永久性的。 此外,推测状态使得能够响应于在推测性执行指令期间不能达到特定指令边界时执行的第二操作来撤消对相应高速缓存行中的数据的推测性修改。

    Supporting speculative modification in a data cache
    4.
    发明授权
    Supporting speculative modification in a data cache 有权
    支持数据缓存中的推测性修改

    公开(公告)号:US07225299B1

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

    申请号:US10622028

    申请日:2003-07-16

    IPC分类号: G06F12/08

    摘要: Method and system for supporting speculative modification in a data cache are provided and described. A data cache comprises a plurality of cache lines. Each cache line includes a state indicator for indicating anyone of a plurality of states, wherein the plurality of states includes a speculative state to enable keeping track of speculative modification to data in the respective cache line. The speculative state enables a speculative modification to the data in the respective cache line to be made permanent in response to a first operation performed upon reaching a particular instruction boundary during speculative execution of instructions. Further, the speculative state enables the speculative modification to the data in the respective cache line to be undone in response to a second operation performed upon failing to reach the particular instruction boundary during speculative execution of instructions.

    摘要翻译: 提供和描述了用于支持数据高速缓存中的推测性修改的方法和系统。 数据高速缓存包括多条高速缓存行。 每个高速缓存线包括用于指示多个状态中的任何一个的状态指示符,其中,所述多个状态包括能够跟踪对相应高速缓存线中的数据的推测性修改的推测状态。 响应于在推测性执行指令期间到达特定指令边界时执行的第一操作,推测状态使得对相应高速缓存行中的数据进行推测性修改是永久性的。 此外,推测状态使得能够响应于在推测性执行指令期间不能达到特定指令边界时执行的第二操作来撤消对相应高速缓存行中的数据的推测性修改。

    SUPPORTING SPECULATIVE MODIFICATION IN A DATA CACHE
    5.
    发明申请
    SUPPORTING SPECULATIVE MODIFICATION IN A DATA CACHE 审中-公开
    在数据缓存中支持调制修改

    公开(公告)号:US20150149733A1

    公开(公告)日:2015-05-28

    申请号:US13007015

    申请日:2011-01-14

    IPC分类号: G06F12/08

    摘要: Method and system for supporting speculative modification in a data cache are provided and described. In one embodiment, a speculative cache buffer includes a plurality of cache lines and a plurality of state indicators. At least one of the cache lines is operable to receive an evicted cache line from a cache. The at least one of the cache lines is operable to return the evicted cache line to the cache if the cache requests the evicted cache line. Further, the plurality of state indicators is operable to indicate a state of a corresponding cache line of the cache lines.

    摘要翻译: 提供和描述了用于支持数据高速缓存中的推测性修改的方法和系统。 在一个实施例中,推测性缓存缓冲器包括多个高速缓存行和多个状态指示符。 高速缓存行中的至少一个可操作以从高速缓存接收逐出的高速缓存行。 如果高速缓存请求被驱逐的高速缓存行,则至少一个高速缓存行可操作以将被驱逐的高速缓存行返回到高速缓存。 此外,多个状态指示符可操作以指示高速缓存行的相应高速缓存行的状态。

    Method and apparatus for trace based adaptive run time compiler
    6.
    发明授权
    Method and apparatus for trace based adaptive run time compiler 失效
    基于跟踪的自适应运行时编译器的方法和装置

    公开(公告)号:US07725885B1

    公开(公告)日:2010-05-25

    申请号:US09567312

    申请日:2000-05-09

    IPC分类号: G06F9/45

    CPC分类号: G06F9/45516

    摘要: The present invention relates to a mechanism for adaptive run time compilation of traces of program code to achieve efficiency in compilation and overall execution. The mechanism uses a combination of interpretation and compilation in executing byte code. The mechanism selects code segments for compilation based upon frequency of execution and ease of compilation. The inventive mechanism is able to compile small code segments, which can be a subset of a method or subroutine, and comprising only single path execution. The mechanism thereby achieves efficiency in compilation by having less total code as well as having only straight line, or single path execution, code to compile.

    摘要翻译: 本发明涉及一种用于自适应运行时编译程序代码的机制,以实现编译和整体执行的效率。 该机制使用解释和编译的组合来执行字节码。 该机制根据执行频率和易于编译选择代码段进行编译。 本发明的机制能够编译小代码段,其可以是方法或子例程的子集,并且仅包括单个路径执行。 该机制通过具有较少的总代码以及仅具有直线或单路径执行代码来编译来实现编译的效率。

    System and method for efficiently blocking event signals associated with an operating system
    7.
    发明申请
    System and method for efficiently blocking event signals associated with an operating system 失效
    用于有效地阻止与操作系统相关联的事件信号的系统和方法

    公开(公告)号:US20050102533A1

    公开(公告)日:2005-05-12

    申请号:US10625790

    申请日:2003-07-23

    IPC分类号: G06F9/46 G06F11/00 H04L9/00

    CPC分类号: G06F9/542 G06F11/004

    摘要: A blocking system intercepts communications between a software program and an operating system in order to handle blocking and unblocking of event signals. The blocking system intercepts system calls to the operating system requesting the blocking and unblocking of event signals and keeps track of which event signals are blocked and unblocked without delivering the system calls to the operating system. The blocking system also intercepts event signals from the operating system and only allows unblocked event signals to pass to the software program. Blocked event signals received by the blocking system are discarded until the program unblocks the blocked event signals. After unblocking an event signal, the blocking system determines whether a corresponding event signal was previously received and blocked. If so, the blocking system transmits a signal indicating that the event corresponding to the event signal occurred.

    摘要翻译: 阻塞系统拦截软件程序和操作系统之间的通信,以便处理事件信号的阻塞和解除阻塞。 阻塞系统拦截对操作系统的系统调用,请求阻塞和解除事件信号的阻塞,并跟踪哪些事件信号被阻塞和解除阻塞,而无需将系统调用传送到操作系统。 阻塞系统还拦截来自操作系统的事件信号,并且只允许未阻塞的事件信号传递给软件程序。 阻塞系统接收到的阻塞事件信号被丢弃,直到程序解除阻塞事件信号。 在解除阻塞事件信号之后,阻塞系统确定是否先前接收和阻止了相应的事件信号。 如果是这样,则阻塞系统发送指示与事件信号相对应的事件发生的信号。

    Intelligent loop unrolling
    8.
    发明授权
    Intelligent loop unrolling 失效
    智能循环展开

    公开(公告)号:US5797013A

    公开(公告)日:1998-08-18

    申请号:US564514

    申请日:1995-11-29

    IPC分类号: G06F9/45

    CPC分类号: G06F8/443

    摘要: A compiler facilitates efficient unrolling of loops and enables the elimination of extra branches from the loops, including the elimination of conditional branches from unrolled loops with early exits. Unrolling also enhances other optimizations, such as prefetch, scalar replacement, and instruction scheduling. The unroll factor is calculated to determine the amount of loop expansion and the optimum location to place compensation code to complete the original loop count, i.e. before or after the unrolled loop. The compiler is applicable, for example, to modern RISC architectures, where the latency of memory references and branches is higher than that of integer and floating point arithmetic instructions.

    摘要翻译: 编译器有助于循环的有效展开,并能够从循环中消除额外的分支,包括从早期退出的非滚动循环中消除条件分支。 展开还可以增强其他优化,如预取,标量替换和指令调度。 计算展开因子以确定循环展开量和放置补偿代码以完成原始循环计数的最佳位置,即在展开循环之前或之后。 编译器适用于例如现代RISC架构,其中存储器引用和分支的延迟高于整数和浮点运算指令的延迟。

    Intelligent network streaming and execution system for conventionally coded applications

    公开(公告)号:US08438298B2

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

    申请号:US11453301

    申请日:2006-06-13

    摘要: An intelligent network streaming and execution system for conventionally coded applications provides a system that partitions an application program into page segments by observing the manner in which the application program is conventionally installed. A minimal portion of the application program is installed on a client system and the user launches the application in the same ways that applications on other client file systems are started. An application program server streams the page segments to the client as the application program executes on the client and the client stores the page segments in a cache. Page segments are requested by the client from the application server whenever a page fault occurs from the cache for the application program. The client prefetches page segments from the application server or the application server pushes additional page segments to the client based on the pattern of page segment requests for that particular application. The user subscribes and unsubscribes to application programs, whenever the user accesses an application program a securely encrypted access token is obtained from a license server if the user has a valid subscription to the application program. The application server begins streaming the requested page segments to the client when it receives a valid access token from the client. The client performs server load balancing across a plurality of application servers. If the client observes a non-response or slow response condition from an application server or license server, it switches to another application or license server.