GATHERING STATISTICS IN A PROCESS WITHOUT SYNCHRONIZATION
    21.
    发明申请
    GATHERING STATISTICS IN A PROCESS WITHOUT SYNCHRONIZATION 有权
    在没有同步的过程中获取统计信息

    公开(公告)号:US20100275207A1

    公开(公告)日:2010-10-28

    申请号:US12428918

    申请日:2009-04-23

    IPC分类号: G06F9/46

    摘要: Each processing resource in a scheduler of a process executing on a computer system maintains counts of the number of tasks that arrive at the processing resource and the number of tasks that complete on the processing resource. The counts are maintained in storage that is only writeable by the corresponding processing resource. The scheduler collects and sums the counts from each processing resource and provides statistics based on the summed counts and previous summed counts to a resource manager in response to a request from the resource manager. The scheduler does not reset the counts when the counts are collected and stores copies of the summed counts for use with the next request from the resource manager. The counts may be maintained without synchronization and with thread safety to minimize the impact of gathering statistics on the application.

    摘要翻译: 在计算机系统上执行的进程的调度器中的每个处理资源保持到达处理资源的任务的数量以及在处理资源上完成的任务的数量。 计数保存在只能由相应的处理资源写入的存储中。 调度器从每个处理资源收集和总和计数,并且响应于来自资源管理器的请求,将资源管理器的总和计数和先前求和的计数提供统计。 当收集计数时,调度程序不会重置计数,并存储与资源管理器的下一个请求一起使用的总计数的副本。 可以维护计数,无需同步和线程安全性,以最大限度地减少对应用程序采集统计信息的影响。

    DATA FLOW NETWORK
    22.
    发明申请
    DATA FLOW NETWORK 有权
    数据流网络

    公开(公告)号:US20090300650A1

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

    申请号:US12131449

    申请日:2008-06-02

    IPC分类号: G06F9/44

    CPC分类号: G06F9/544

    摘要: A compositional model referred to as a source-target pattern for connecting processes into process networks in a general, flexible, and extensible manner is provided. The model allows common process algebra constructs to be combined with data flow networks to form process networks. Process algebraic operations may be expressed in terms of the compositional model to form data flow networks that provide fully interoperable process algebraic operations between processes.

    摘要翻译: 提供了一种被称为以一般,灵活和可扩展的方式将过程连接到进程网络的源 - 目标模式的组合模型。 该模型允许将通用过程代数结构与数据流网络组合以形成流程网络。 流程代数运算可以用组合模型来表示,以形成在进程之间提供完全可互操作的进程代数运算的数据流网络。

    Cancellation mechanism for cancellable tasks including stolen task and descendent of stolen tasks from the cancellable taskgroup
    23.
    发明授权
    Cancellation mechanism for cancellable tasks including stolen task and descendent of stolen tasks from the cancellable taskgroup 有权
    可取消任务的取消机制,包括被盗任务和来自可撤销任务组的被盗任务的后代

    公开(公告)号:US08959517B2

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

    申请号:US12481770

    申请日:2009-06-10

    IPC分类号: G06F9/46 G06F9/48

    摘要: A scheduler in a process of a computer system schedules tasks of a task group for concurrent execution by multiple execution contexts. The scheduler provides a mechanism that allows the task group to be cancelled by an arbitrary execution context or an asynchronous error state. When a task group is cancelled, the scheduler sets a cancel indicator in each execution context that is executing tasks corresponding to the cancelled task group and performs a cancellation process on each of the execution contexts where a cancel indicator is set. The scheduler also creates local aliases to allow task groups to be used without synchronization by execution contexts that are not directly bound to the task groups.

    摘要翻译: 计算机系统进程中的调度器调度任务组的任务,用于多个执行上下文的并发执行。 调度程序提供了允许任务组被任意执行上下文或异步错误状态取消的机制。 当任务组被取消时,调度器在执行对应于被取消的任务组的任务的执行上下文中设置取消指示符,并且对设置了取消指示符的每个执行上下文执行取消处理。 调度程序还创建本地别名,以允许不直接绑定到任务组的执行上下文同时使用任务组。

    Pattern-based compilation of asynchronous consumption
    24.
    发明授权
    Pattern-based compilation of asynchronous consumption 有权
    基于模式的异步消耗编译

    公开(公告)号:US08918767B2

    公开(公告)日:2014-12-23

    申请号:US13162288

    申请日:2011-06-16

    IPC分类号: G06F9/45 G06F9/44

    CPC分类号: G06F8/456

    摘要: The present invention extends to methods, systems, and computer program products for transforming source code to await execution of asynchronous operations. Embodiments of the invention simplify authoring and use of asynchronous methods, by generating statements that use well-defined awaitable objects to await completion of asynchronous operations. For example, a computer system can transform a statement that requests to await the completion of an asynchronous operation into a plurality of statements that use a predefined pattern of members of an awaitable object corresponding the asynchronous operation. The pattern can include one or more members configured to return a completion status of the asynchronous operation, one or more members configured to resume execution of the asynchronous method at a resumption point when the asynchronous operation completes, and one or more members configured to retrieve completion results. Accordingly, the plurality of statements can use these members to await execution of the asynchronous operation.

    摘要翻译: 本发明扩展到用于转换源代码以等待执行异步操作的方法,系统和计算机程序产品。 本发明的实施例简化了异步方法的编写和使用,通过生成使用明确定义的等待对象等待完成异步操作的语句。 例如,计算机系统可以将请求等待完成异步操作的语句转换为使用对应于异步操作的可等待对象的成员的预定义模式的多个语句。 该模式可以包括被配置为返回异步操作的完成状态的一个或多个成员,被配置成在异步操作完成时在恢复点恢复异步方法的执行的一个或多个成员以及被配置为检索完成的一个或多个成员 结果。 因此,多个语句可以使用这些成员来等待异步操作的执行。

    Persistent local storage for processor resources
    25.
    发明授权
    Persistent local storage for processor resources 有权
    用于处理器资源的持久本地存储

    公开(公告)号:US08887162B2

    公开(公告)日:2014-11-11

    申请号:US12336546

    申请日:2008-12-17

    IPC分类号: G06F12/00 G06F9/50 G06F9/48

    摘要: Local storage may be allocated for each processing resource in a process of a computer system. Each processing resource may be virtualized and may have a one-to-one or a many-to-one correspondence with with physical processors. The contents of each local storage persist across various execution contexts that are executed by a corresponding processing resource. Each local storage may be accessed without synchronization (e.g., locks) by each execution context that is executed on a corresponding processing resource. The local storages provide the ability to segment data and store and access the data without synchronization. The local storages may be used to implement lock-free techniques such as a generalized reduction where a set of values is combined through an associative operator.

    摘要翻译: 可以在计算机系统的过程中为每个处理资源分配本地存储。 每个处理资源可以被虚拟化,并且可以与物理处理器具有一对一或多对一的对应关系。 每个本地存储器的内容在由相应的处理资源执行的各种执行上下文之间保持。 可以通过在相应的处理资源上执行的每个执行上下文来访问每个本地存储器而不进行同步(例如,锁定)。 本地存储提供分段数据并存储和访问数据而无需同步的功能。 本地存储器可以用于实现无锁技术,例如通过关联运算符组合一组值的广义减少。

    Isolation of user-interactive components
    26.
    发明授权
    Isolation of user-interactive components 有权
    隔离用户交互组件

    公开(公告)号:US08220002B2

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

    申请号:US12020344

    申请日:2008-01-25

    IPC分类号: G06F3/00 G06F7/00

    CPC分类号: G06F9/451

    摘要: The isolation of user-interactive components form the logical components of an exemplary computing application environment is provided. In an illustrative implementation, an exemplary computing application environment comprises one or more user interface (UI) elements that run on an exemplary user-interface processing thread and application logic that illustratively operatively runs asynchronously on at least one other processing thread. In an illustrative implementation an isolation boundary is provided between an exemplary user interface and the application logic of the exemplary computing application environment. In the illustrative implementation, the isolation boundary can comprise an asynchronous view contract comprising a channel between an exemplary view layer of an exemplary user interface (e.g., one or more user-interactive components) and application logic.

    摘要翻译: 提供了用户交互组件的隔离构成示例性计算应用环境的逻辑组件。 在说明性实现中,示例性计算应用环境包括一个或多个用户界面(UI)元素,该用户界面(UI)元素在例示性的用户界面处理线程和应用程序逻辑上运行,其示例性地可操作地在至少一个其他处理线程上异步运行。 在说明性实现中,在示例性用户界面和示例性计算应用环境的应用逻辑之间提供隔离边界。 在说明性实现中,隔离边界可以包括异步视图合同,其包括示例性用户界面(例如,一个或多个用户交互组件)的示例性视图层与应用逻辑之间的通道。

    EFFICIENT RESUMPTION OF CO-ROUTINES ON A LINEAR STACK
    27.
    发明申请
    EFFICIENT RESUMPTION OF CO-ROUTINES ON A LINEAR STACK 有权
    在线性堆栈上的有效恢复

    公开(公告)号:US20110167248A1

    公开(公告)日:2011-07-07

    申请号:US12683447

    申请日:2010-01-07

    IPC分类号: G06F9/40 G06F9/44

    摘要: Unsuspended co-routines are handled by the machine call stack mechanism in which the stack grows and shrinks as recursive calls are made and returned from. When a co-routine is suspended, however, additional call stack processing is performed. A suspension message is issued, and the entire resume-able part of the call stack is removed, and is copied to the heap. A frame that returns control to a driver method (a resumer) is copied to the call stack so that resumption of the co-routine does not recursively reactivate the whole call stack. Instead the resumer reactivates only the topmost or most current frame called the leaf frame. When a co-routine is suspended, it does not return to its caller, but instead returns to the resumer that has reactivated it.

    摘要翻译: 未挂起的共同例程由机器调用堆栈机制处理,其中堆栈随着递归调用并从中返回而增长和收缩。 然而,当暂停协同程序时,执行额外的呼叫栈处理。 发出暂停消息,并且删除调用堆栈的整个可恢复部分,并将其复制到堆中。 将控制权返回到驱动程序方法(resumer)的一个框架将被复制到调用堆栈,以便恢复协同程序不会递归地重新激活整个调用堆栈。 相反,resumer仅重新激活称为叶子框架的最前面或最近的帧。 当一个共同程序被暂停时,它不会返回到其调用者,而是返回已重新激活它的resumer。

    META-SCHEDULER WITH META-CONTEXTS
    28.
    发明申请
    META-SCHEDULER WITH META-CONTEXTS 有权
    META-SCHEDULER与META-CONTEXTS

    公开(公告)号:US20100088704A1

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

    申请号:US12244966

    申请日:2008-10-03

    IPC分类号: G06F9/46

    CPC分类号: G06F9/4881 G06F9/45533

    摘要: A process in a computer system creates and uses a meta-scheduler with meta-contexts that execute on meta-virtual processors. The meta-scheduler includes a set of schedulers with scheduler-contexts that execute on virtual processors. The meta-scheduler schedules the scheduler-contexts on the meta-contexts and schedules the meta-contexts on the meta-virtual processors which execute on execution contexts associated with hardware threads.

    摘要翻译: 计算机系统中的一个进程创建并使用元调度器,该元调度器具有在元虚拟处理器上执行的元上下文。 元调度器包括一组具有在虚拟处理器上执行的调度器上下文的调度器。 元调度器调度元上下文上的调度程序上下文,并在与硬件线程相关联的执行上下文上执行的元虚拟处理器上调度元上下文。

    LOCAL COLLECTIONS OF TASKS IN A SCHEDULER
    29.
    发明申请
    LOCAL COLLECTIONS OF TASKS IN A SCHEDULER 有权
    在计划中的本地采集任务

    公开(公告)号:US20090288086A1

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

    申请号:US12121789

    申请日:2008-05-16

    IPC分类号: G06F9/46

    摘要: A scheduler in a process of a computer system includes a local collection of tasks for each processing resource allocated to the scheduler and at least one general collection of tasks. The scheduler assigns each task that becomes unblocked to the local collection corresponding to the processing resource that caused the task to become unblocked. When a processing resource becomes available, the processing resource attempts to execute the most recently added task in the corresponding local collection. If there are no tasks in the corresponding local collection, the available processing resource attempts to execute a task from the general collection.

    摘要翻译: 计算机系统的过程中的调度器包括分配给调度器的每个处理资源的任务的本地集合以及至少一个一般的任务集合。 调度程序将将要解除阻塞的每个任务分配给与导致任务解除阻塞的处理资源相对应的本地集合。 当处理资源变得可用时,处理资源将尝试在相应的本地集合中执行最近添加的任务。 如果对应的本地集合中没有任务,则可用的处理资源将尝试从一般集合执行任务。

    DATA SCHEMATA IN PROGRAMMING LANGUAGE CONTRACTS
    30.
    发明申请
    DATA SCHEMATA IN PROGRAMMING LANGUAGE CONTRACTS 有权
    编程语言合同中的数据方案

    公开(公告)号:US20080147698A1

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

    申请号:US11613046

    申请日:2006-12-19

    IPC分类号: G06F17/30

    CPC分类号: G06F17/30569

    摘要: Systems and methods that integrate data type conversion(s) into a programming language, and describe external formats within a syntax thereof. A mapping component defines a declarative mapping from an external data format to one or more of its internal data types (e.g., expressing external data types in terms of source languages.) Moreover, a rule establishing component can define value-based rules, such as invariants to the external data format, wherein the schema declaration further defines data fields that make up the schema. Accordingly, by expressing rules in form of predicate logic (instead of imperative program logic) the subject innovation increase a likelihood that compilers can reason about the data.

    摘要翻译: 将数据类型转换集成到编程语言中的系统和方法,并在其语法内描述外部格式。 映射组件定义了从外部数据格式到其一个或多个内部数据类型(例如,根据源语言表达外部数据类型)的声明性映射。此外,规则建立组件可以定义基于价值的规则,例如 外部数据格式的不变量,其中模式声明进一步定义构成模式的数据字段。 因此,通过以谓词逻辑(而不是命令式程序逻辑)的形式表达规则,主题创新增加了编译器可以对数据进行推理的可能性。