Random-Access Disjoint Concurrent Sparse Writes to Heterogeneous Buffers

    公开(公告)号:US20170206035A1

    公开(公告)日:2017-07-20

    申请号:US15000667

    申请日:2016-01-19

    Abstract: Methods, devices, and non-transitory processor-readable storage media for a computing device to merge concurrent writes from a plurality of processing units to a buffer associated with an application. An embodiment method executed by a processor may include identifying a plurality of concurrent requests to access the buffer that are sparse, disjoint, and write-only, configuring a write-set for each of the plurality of processing units, executing the plurality of concurrent requests to access the buffer using the write-sets, determining whether each of the plurality of concurrent requests to access the buffer is complete, obtaining a buffer index and data via the write-set of each of the plurality of processing units, and writing to the buffer using the received buffer index and data via the write-set of each of the plurality of processing units in response to determining that each of the plurality of concurrent requests to access the buffer is complete.

    Proactive Resource Management for Parallel Work-Stealing Processing Systems

    公开(公告)号:US20170083364A1

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

    申请号:US14862373

    申请日:2015-09-23

    Abstract: Various embodiments proactively balance workloads between a plurality of processing units of a multi-processor computing device by making work-stealing determinations based on operating state data. An embodiment method includes obtaining static characteristics data associated with each of a victim processor and one or more of a plurality of processing units that are ready to steal work items from the victim processor (work-ready processors), obtaining dynamic characteristics data for each of the processors, calculating priority values for each of the processors based on the obtained data, and transferring a number of work items assigned to the victim processor to a winning work-ready processor based on the calculated priority values. In some embodiments, the method may include acquiring control over a probabilistic lock for a shared data structure and updating the shared data structure to indicate the number of work items transferred to the winning work-ready processor.

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

    Proactive resource management for parallel work-stealing processing systems

    公开(公告)号:US10360063B2

    公开(公告)日:2019-07-23

    申请号:US14862373

    申请日:2015-09-23

    Abstract: Various embodiments proactively balance workloads between a plurality of processing units of a multi-processor computing device by making work-stealing determinations based on operating state data. An embodiment method includes obtaining static characteristics data associated with each of a victim processor and one or more of a plurality of processing units that are ready to steal work items from the victim processor (work-ready processors), obtaining dynamic characteristics data for each of the processors, calculating priority values for each of the processors based on the obtained data, and transferring a number of work items assigned to the victim processor to a winning work-ready processor based on the calculated priority values. In some embodiments, the method may include acquiring control over a probabilistic lock for a shared data structure and updating the shared data structure to indicate the number of work items transferred to the winning work-ready processor.

    Geometric work scheduling with dynamic and probabilistic work trimming

    公开(公告)号:US10325390B2

    公开(公告)日:2019-06-18

    申请号:US15192051

    申请日:2016-06-24

    Abstract: Various embodiments may include methods executed by processors of computing devices for geometry based work execution prioritization. The processor may receive events, such as images. The processor may overlay a boundary shape on the event to identify discard regions of the event lying outside the boundary shape. The processor may identify work regions of the events lying within the working boundary shape. The devices may determine a cancellation likelihood for each of the identified work regions of the events. The processor may assign a trimming weight to each of the identified work regions based on the determined cancellation likelihoods. The processor may then add each of the identified work regions as a work item to an execution work list in an order based on the assigned trimming weights. The work items may be processed in order of trimming weight priority.

    Identifying Enhanced Synchronization Operation Outcomes to Improve Runtime Operations

    公开(公告)号:US20170286182A1

    公开(公告)日:2017-10-05

    申请号:US15085108

    申请日:2016-03-30

    CPC classification number: G06F9/52 G06F9/46

    Abstract: Embodiments include computing devices, systems, and methods identifying enhanced synchronization operation outcomes. A computing device may receive a first resource access request for a first resource of a computing device including a first requester identifier from a first computing element of the computing device. The computing device may also receive a second resource access request for the first resource including a second requester identifier from a second computing element of the computing device. The computing device may grant the first computing element access to the first resource based on the first resource access request, and return a response to the second computing element including the first requester identifier as a winner computing element identifier.

    Notification of blocking tasks
    19.
    发明授权

    公开(公告)号:US09710315B2

    公开(公告)日:2017-07-18

    申请号: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.

    Accelerating Task Subgraphs By Remapping Synchronization

    公开(公告)号:US20170109214A1

    公开(公告)日:2017-04-20

    申请号:US14885226

    申请日:2015-10-16

    CPC classification number: G06F9/52 G06F9/4881 G06F16/245 G06F16/9024

    Abstract: Embodiments include computing devices, apparatus, and methods implemented by a computing device for accelerating execution of a plurality of tasks belonging to a common property task graph. The computing device may identify a first successor task dependent upon a bundled task such that an available synchronization mechanism is a common property for the bundled task and the first successor task, and such that the first successor task only depends upon predecessor tasks for which the available synchronization mechanism is a common property. The computing device may add the first successor task to a common property task graph and add the plurality of tasks belonging to the common property task graph to a ready queue. The computing device may recursively identify successor tasks. The synchronization mechanism may include a synchronization mechanism for control logic flow or a synchronization mechanism for data access.

Patent Agency Ranking