Managing resources in a configurable computing environment

    公开(公告)号:US10061621B1

    公开(公告)日:2018-08-28

    申请号:US15952819

    申请日:2018-04-13

    IPC分类号: G06F9/46 G06F9/50 G06F9/48

    摘要: In one example, a system can receive configuration data indicating how resources can be combined, identify availability data indicating the total number of various resources that are available, and determine maximum-capacity data using the availability data and the configuration data. The system can also receive distribution data having probability distributions for jobs to be implemented using the resources, determine capacity valuations using the distribution data and the availability data, and determine a configuration of resources using the capacity valuations and the maximum-capacity data. Thereafter, the system can receive a job and determine that a valuation for the job exceeds a predefined threshold associated with using the configuration of resources. In response to determining that the valuation exceeds the predefined threshold, the system can assign the resources to the job in the configuration. The system can then cause the job to be performed using the configuration of resources assigned to the job.

    TECHNIQUES FOR ASYNCHRONOUS EXECUTION OF COMPUTATIONALLY EXPENSIVE LOCAL SPREADSHEET TASKS

    公开(公告)号:US20180239749A1

    公开(公告)日:2018-08-23

    申请号:US15439341

    申请日:2017-02-22

    IPC分类号: G06F17/24 G06F3/0481 G06F9/48

    CPC分类号: G06F17/246 G06F9/4843

    摘要: The techniques described herein facilitate asynchronous execution of computationally expensive spreadsheet tasks and. In some embodiments, asynchronous calls to remote services for handling complex processing tasks such as, for example, complex calculations involving large data sets from one or more spreadsheets of a workbook are described. The handling can include generating a job including a data set from one or more spreadsheets and an instruction directing a remote service to asynchronously execute a computationally expensive spreadsheet task. Responsive to sending the remote service a request to perform the job, a persistent job identifier (ID) associated with the job is received by the spreadsheet application and embedded in (and/or otherwise associated with) at least one or more of the spreadsheets of the workbook. The job is then asynchronously executed by the remote service and the results are accessible from any client device having access to the workbook using the embedded or associated job ID.

    Instruction set architecture and software support for register state migration

    公开(公告)号:US10037267B2

    公开(公告)日:2018-07-31

    申请号:US15299990

    申请日:2016-10-21

    摘要: Systems, apparatuses, and methods for migrating execution contexts are disclosed. A system includes a plurality of processing units and memory devices. The system is configured to execute any number of software applications. The system is configured to detect, within a first software application, a primitive for migrating at least a portion of the execution context of a source processing unit to a target processing unit, wherein the primitive includes one or more instructions. The execution context includes a plurality of registers. A first processing unit is configured to execute the one or more instructions of the primitive to cause a portion of an execution context of the first processing unit to be migrated to a second processing unit. In one embodiment, executing the primitive instruction(s) causes an instruction pointer value, with an optional offset value, to be sent to the second processing unit.

    FAST TASK DISPATCHING USING A DISPATCHING PROCESSOR

    公开(公告)号:US20180203724A1

    公开(公告)日:2018-07-19

    申请号:US15407490

    申请日:2017-01-17

    发明人: Peter D. Driever

    IPC分类号: G06F9/48 G06F9/50

    CPC分类号: G06F9/4843

    摘要: Examples of techniques for fast task dispatching using a dispatching processor are disclosed. In one example implementation according to aspects of the present disclosure, a computer-implemented method may include: analyzing, based on a list of resources maintained by a dispatcher processor, a task from a suspended queue to determine whether the task is waiting for a resource in order to execute; determining whether the task is waiting for a resource in order to execute; responsive to determining that the task is not waiting for the resource in order to execute, placing the task on a ready queue and adding an address of the resource to the list of resources maintained by the dispatcher processor; and dispatching the task to one of a plurality of execution processors for execution.