Devices and Methods Implementing Operations for Selective Enforcement of Task Dependencies
    2.
    发明申请
    Devices and Methods Implementing Operations for Selective Enforcement of Task Dependencies 有权
    设备和方法实施选择性执行任务依赖性的操作

    公开(公告)号:US20160196162A1

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

    申请号:US14792740

    申请日:2015-07-07

    CPC classification number: G06F9/4843 G06F9/4881 G06F2209/484 Y02D10/24

    Abstract: A method and computing device, for enabling selective enforcement of complex task dependencies. The method and allows a computing device to determine whether to enforce task-dependencies based on programmer or end-user goals concerning efficiency and quality of runtime experience. A computing device may be configured to schedule executing a first task, identify an operation (e.g., a “+>” operation) of the first task as being selectively dependent on a second task finishing execution, and determining whether to enforce the dependency of the first task on the second task based on an evaluation of one or more enforcement conditions. If the enforcement conditions are not met, enforcing the dependency, executing the second task, and withholding execution of the first task until execution of the second task has finished. If the enforcement conditions are met, commencing execution of the first task prior to, or parallel to the second task finishing execution.

    Abstract translation: 一种方法和计算设备,用于使得能够选择性地执行复杂的任务依赖性。 该方法并允许计算设备基于关于运行时体验的效率和质量的程序员或最终用户目标来确定是否强制执行任务依赖性。 计算设备可以被配置为调度执行第一任务,将第一任务的操作(例如,“+”操作)识别为选择性地依赖于第二任务完成执行,并且确定是否强制执行第 基于评估一个或多个执行条件的第二个任务的第一个任务。 如果不满足执行条件,执行依赖关系,执行第二个任务,并执行第一个任务,直到第二个任务的执行完成。 如果执行条件得到满足,则在第二个任务完成执行之前或之后开始执行第一个任务。

    Notification of Blocking Tasks
    3.
    发明申请
    Notification of Blocking Tasks 有权
    阻止任务通知

    公开(公告)号:US20160078246A1

    公开(公告)日:2016-03-17

    申请号:US14599609

    申请日:2015-01-19

    Abstract: A computing device may be configured to generate and execute a task that includes one or more blocking constructs that each encapsulate a blocking activity and a notification handler corresponding to each blocking activity. The computing device may launch the task, execute one or more of the blocking constructs, register the corresponding notification handler for the blocking activity that will be executed next with the runtime system, perform the blocking activity encapsulated by the blocking construct to request information from an external resource, cause the task to enter a blocked state while it waits for a response from the external resource, receive an unblocking notification from an external entity, and invoke the registered notification handler to cause the task to exit the blocked state and/or perform clean up operations to exit/terminate the task gracefully.

    Abstract translation: 计算设备可以被配置为生成和执行包括一个或多个阻塞结构的任务,每个阻塞结构每个封装阻塞活动和对应于每个阻塞活动的通知处理器。 计算设备可以启动任务,执行一个或多个阻塞结构,为随后运行时系统执行的阻塞活动注册相应的通知处理程序,执行由阻塞结构封装的阻塞活动以从 外部资源,导致任务在等待来自外部资源的响应时进入阻塞状态,从外部实体接收解除阻止的通知,并调用注册的通知处理程序以使任务退出阻止状态和/或执行 清理操作以优雅地退出/终止任务。

    Devices and methods implementing operations for selective enforcement of task dependencies

    公开(公告)号:US09678790B2

    公开(公告)日:2017-06-13

    申请号:US14792740

    申请日:2015-07-07

    CPC classification number: G06F9/4843 G06F9/4881 G06F2209/484 Y02D10/24

    Abstract: A method and computing device, for enabling selective enforcement of complex task dependencies. The method and allows a computing device to determine whether to enforce task-dependencies based on programmer or end-user goals concerning efficiency and quality of runtime experience. A computing device may be configured to schedule executing a first task, identify an operation (e.g., a “+>” operation) of the first task as being selectively dependent on a second task finishing execution, and determining whether to enforce the dependency of the first task on the second task based on an evaluation of one or more enforcement conditions. If the enforcement conditions are not met, enforcing the dependency, executing the second task, and withholding execution of the first task until execution of the second task has finished. If the enforcement conditions are met, commencing execution of the first task prior to, or parallel to the second task finishing execution.

    Adaptive Chunk Size Tuning for Data Parallel Processing on Multi-core Architecture

    公开(公告)号:US20170083365A1

    公开(公告)日:2017-03-23

    申请号:US14862398

    申请日:2015-09-23

    CPC classification number: G06F9/4881 G06F9/465 G06F9/4843

    Abstract: Methods, devices, and non-transitory process-readable storage media for dynamically adapting a frequency for detecting work-stealing operations in a multi-processor computing device. A method according to various embodiments and performed by a processor includes determining whether any work items of a cooperative task have been reassigned from a first processing unit to a second processing unit, calculating a chunk size using a default equation in response to determining that no work items of the cooperative task have been reassigned from the first processing unit, calculating the chunk size using a victim equation in response to determining that one or more work items of the cooperative task have been reassigned from the first processing unit, and executing a set of work items of the cooperative task that correspond to the calculated chunk size.

    Method for exploiting parallelism in task-based systems using an iteration space splitter
    6.
    发明授权
    Method for exploiting parallelism in task-based systems using an iteration space splitter 有权
    使用迭代空间分离器在基于任务的系统中利用并行性的方法

    公开(公告)号:US09501328B2

    公开(公告)日:2016-11-22

    申请号:US14673857

    申请日:2015-03-30

    CPC classification number: G06F9/5066 G06F9/5027

    Abstract: Embodiments include computing devices, systems, and methods for task-based handling of repetitive processes in parallel. At least one processor of the computing device, or a specialized hardware controller, may be configured to partition iterations of a repetitive process and assign the partitions to initialized tasks to be executed in parallel by a plurality of processor cores. Upon completing a task, remaining divisible partitions of the repetitive process of ongoing tasks may be subpartitioned and assigned to the ongoing task, and the completed task or a newly initialized task. Information about the iteration space for a repetitive process may be stored in a descriptor table, and status information for all partitions of a repetitive process stored in a status table. Each processor core may have an associated local table that tracks iteration execution of each task, and is synchronized with the status table.

    Abstract translation: 实施例包括用于并行地重复处理的基于任务的处理的计算设备,系统和方法。 计算设备的至少一个处理器或专用硬件控制器可以被配置为分区重复过程的迭代,并且将分区分配给由多个处理器核并行执行的初始化任务。 完成任务后,正在执行的任务的重复进程的剩余可分区可以被分分区并分配给正在进行的任务,以及完成的任务或新初始化的任务。 关于重复过程的迭代空间的信息可以存储在描述符表中,以及存储在状态表中的重复进程的所有分区的状态信息。 每个处理器核心可以具有跟踪每个任务的迭代执行的相关联的本地表,并且与状态表同步。

    PREDICTING THE USAGE OF DOCUMENT RESOURCES
    7.
    发明申请
    PREDICTING THE USAGE OF DOCUMENT RESOURCES 审中-公开
    预测文件资源的使用

    公开(公告)号:US20140053064A1

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

    申请号:US13722048

    申请日:2012-12-20

    CPC classification number: G06F17/2247 G06F16/9574 G06F17/211

    Abstract: Browser systems and methods of loading/rendering a webpage include preprocessing the web document (HTML page) using speculation/prediction techniques to identify the resources that are likely to be required from an incomplete set of information, and requesting/pre-fetching the resources that are determined to have a high probability of being required for proper rending of the web document. The speculation/prediction techniques may include the use of heuristics to improve the efficiency and speed of document loads and network communications.

    Abstract translation: 浏览器系统和加载/呈现网页的方法包括使用投机/预测技术对网络文档(HTML页面)进行预处理,以从不完整的信息集合中识别可能需要的资源,并且请求/预取资源 被确定为正确重放网络文档所需的可能性很高。 推测/预测技术可能包括使用启发式方法来提高文档负载和网络通信的效率和速度。

    Method for simplified task-based runtime for efficient parallel computing

    公开(公告)号:US10169105B2

    公开(公告)日:2019-01-01

    申请号:US14992268

    申请日:2016-01-11

    Abstract: Aspects include computing devices, systems, and methods for implementing scheduling and execution of lightweight kernels as simple tasks directly by a thread without setting up a task structure. A computing device may determine whether a task pointer in a task queue is a simple task pointer for the lightweight kernel. The computing device may schedule a first simple task for the lightweight kernel for execution by the thread. The computing device may retrieve, from an entry of a simple task table, a kernel pointer for the lightweight kernel. The entry in the simple task table may be associated with the simple task pointer. The computing device may directly execute the lightweight kernel as the simple task.

    Method For Simplified Task-based Runtime For Efficient Parallel Computing
    9.
    发明申请
    Method For Simplified Task-based Runtime For Efficient Parallel Computing 审中-公开
    用于简化的基于任务的运行时间进行高效并行计算的方法

    公开(公告)号:US20170031728A1

    公开(公告)日:2017-02-02

    申请号:US14992268

    申请日:2016-01-11

    CPC classification number: G06F9/52 G06F9/4843

    Abstract: Aspects include computing devices, systems, and methods for implementing scheduling and execution of lightweight kernels as simple tasks directly by a thread without setting up a task structure. A computing device may determine whether a task pointer in a task queue is a simple task pointer for the lightweight kernel. The computing device may schedule a first simple task for the lightweight kernel for execution by the thread. The computing device may retrieve, from an entry of a simple task table, a kernel pointer for the lightweight kernel. The entry in the simple task table may be associated with the simple task pointer. The computing device may directly execute the lightweight kernel as the simple task.

    Abstract translation: 方面包括计算设备,系统和方法,用于直接通过线程实现轻量级内核的调度和执行,而无需设置任务结构。 计算设备可以确定任务队列中的任务指针是否是轻量级内核的简单任务指针。 计算设备可以安排轻量级内核的第一简单任务以供线程执行。 计算设备可以从简单任务表的条目中检索轻量级内核的内核指针。 简单任务表中的条目可能与简单任务指针相关联。 计算设备可以直接执行轻量级内核作为简单任务。

    Programmatic Decoupling of Task Execution from Task Finish in Parallel Programs
    10.
    发明申请
    Programmatic Decoupling of Task Execution from Task Finish in Parallel Programs 审中-公开
    任务执行与并行程序任务完成的程序化解耦

    公开(公告)号:US20160055029A1

    公开(公告)日:2016-02-25

    申请号:US14604821

    申请日:2015-01-26

    Abstract: A computing device may be configured to commence or begin executing a first task via a first thread (e.g., in a first processor or core), begin executing a second task via a second thread (e.g., in a second processor or core), identify an operation of the second task as being dependent on the first task finishing execution, and change an operating state of the second task to “executed” prior to the first task finishing execution so as to allow the computing device to enforce task-dependencies while the second thread continues to process additional tasks. The computing device may begin executing a third task via the second thread (e.g., in a second processing core) prior to the first task finishing execution, and change the operating state of the second task to “finished” after the first task finishes.

    Abstract translation: 计算设备可以被配置为经由第一线程(例如,在第一处理器或核心)中开始或开始执行第一任务,经由第二线程(例如,在第二处理器或核心)中开始执行第二任务,识别 第二任务的操作取决于第一任务完成执行,并且在第一任务完成执行之前将第二任务的操作状态改变为“执行”,以便允许计算设备强制执行任务依赖性,同时 第二个线程继续处理其他任务。 计算设备可以在第一任务完成执行之前经由第二线程(例如,在第二处理核心)中开始执行第三任务,并且在第一任务完成之后将第二任务的操作状态改变为“完成”。

Patent Agency Ranking