G06F2209/485

Data structure execution framework using virtual computing domains
11294708 · 2022-04-05 · ·

Techniques and solutions are described for implementing virtual domains. Computing resources in a computing environment are determined and assigned to one or more virtual domains. One or more data structures can be located in a given virtual domain. The computing resources assigned to a virtual domain can be dynamically reconfigured without affecting processes that submit tasks to be performed on data structures in the virtual domains. Tasks can be submitted to a dispatcher, which can determine the appropriate virtual domain for the task and forward the task to the determined virtual domain. Tasks are received by virtual domains and assigned to worker threads, which can access a data structure specified for a given task.

Triggered queue transformation

Methods and systems disclosed herein relate generally to evaluating resource loads to determine when to transform queues and to specific techniques for transforming at least part of queues so as to correspond to alternative resources.

Systems, methods, and apparatuses for implementing a scheduler and workload manager that identifies and consumes global virtual resources

In accordance with disclosed embodiments, there are provided systems, methods, and apparatuses for implementing a stateless, deterministic scheduler and work discovery system with interruption recovery. For instance, according to one embodiment, there is disclosed a system to implement a stateless scheduler service, in which the system includes: a processor and a memory to execute instructions at the system; a compute resource discovery engine to identify one or more computing resources available to execute workload tasks; a workload discovery engine to identify a plurality of workload tasks to be scheduled for execution; a cache to store information on behalf of the compute resource discovery engine and the workload discovery engine; a scheduler to request information from the cache specifying the one or more computing resources available to execute workload tasks and the plurality of workload tasks to be scheduled for execution; and further in which the scheduler is to schedule at least a portion of the plurality of workload tasks for execution via the one or more computing resources based on the information requested. Other related embodiments are disclosed.

METHOD AND DEVICE FOR CONTROLLING AN APPLICATION, AND STORAGE MEDIUM
20220046400 · 2022-02-10 ·

A method for controlling an application includes: triggering reading information of a second device included in a near-field communication (NFC) sensor in response to a distance between a first device and the NFC sensor reaching an NFC effective communication distance, and determining the second device based on the information of the second device; determining a function currently executed by the first device, and determining a capability of the second device; and switching to the second device to continue to execute the function in response to the capability of the second device matching the function.

Mitigating resource scheduling conflicts in a cloud platform

Various approaches are described to manage the execution of operations. Such operations may be performed without human intervention and may help maintain functionality of a cloud platform or client instances. In one aspect of the present approach, the number and/or type of automations starting in a given time frame may be limited to maintain an even or consistent distribution of resource usage. In a further aspect, the number and/or type of concurrent automations may be limited to a defined threshold to maintain an even or consistent distribution of resource usage.

Minimizing memory reads and increasing performance by leveraging aligned blob data in a processing unit of a neural network environment

The performance of a neural network (NN) and/or deep neural network (DNN) can be limited by the number of operations being performed as well as management of data among the various memory components of the NN/DNN. By inserting a selected padding in the input data to align the input data in memory, data read/writes can be optimized for processing by the NN/DNN thereby enhancing the overall performance of a NN/DNN. Operatively, an operations controller/iterator can generate one or more instructions that inserts the selected padding into the data. The data padding can be calculated using various characteristics of the input data as well as the NN/DNN as well as characteristics of the cooperating memory components. Padding on the output data can be utilized to support the data alignment at the memory components and the cooperating processing units of the NN/DNN.

FLEXIBLE HARDWARE FOR HIGH THROUGHPUT VECTOR DEQUANTIZATION WITH DYNAMIC VECTOR LENGTH AND CODEBOOK SIZE

The performance of a neural network (NN) and/or deep neural network (DNN) can limited by the number of operations being performed as well as memory data management of a NN/DNN. Using vector quantization of neuron weight values, the processing of data by neurons can be optimize the number of operations as well as memory utilization to enhance the overall performance of a NN/DNN. Operatively, one or more contiguous segments of weight values can be converted into one or more vectors of arbitrary length and each of the one or more vectors can be assigned an index. The generated indexes can be stored in an exemplary vector quantization lookup table and retrieved by exemplary fast weight lookup hardware at run time on the fly as part of an exemplary data processing function of the NN as part of an inline de-quantization operation to obtain needed one or more neuron weight values.

Power-efficient deep neural network module configured for layer and operation fencing and dependency management

A deep neural network (DNN) processor is configured to execute layer descriptors in layer descriptor lists. The descriptors define instructions for performing a forward pass of a DNN by the DNN processor. The layer descriptors can also be utilized to manage the flow of descriptors through the DNN module. For example, layer descriptors can define dependencies upon other descriptors. Descriptors defining a dependency will not execute until the descriptors upon which they are dependent have completed. Layer descriptors can also define a “fence,” or barrier, function that can be used to prevent the processing of upstream layer descriptors until the processing of all downstream layer descriptors is complete. The fence bit guarantees that there are no other layer descriptors in the DNN processing pipeline before the layer descriptor that has the fence to be asserted is processed.

Power-efficient deep neural network module configured for executing a layer descriptor list

A deep neural network (DNN) processor is configured to execute descriptors in layer descriptor lists. The descriptors define instructions for performing a pass of a DNN by the DNN processor. Several types of descriptors can be utilized: memory-to-memory move (M2M) descriptors; operation descriptors; host communication descriptors; configuration descriptors; branch descriptors; and synchronization descriptors. A DMA engine uses M2M descriptors to perform multi-dimensional strided DMA operations. Operation descriptors define the type of operation to be performed by neurons in the DNN processor and the activation function to be used by the neurons. M2M descriptors are buffered separately from operation descriptors and can be executed at soon as possible, subject to explicitly set dependencies. As a result, latency can be reduced and, consequently, the neurons can complete their processing faster. The DNN module can then be powered down earlier than it otherwise would have, thereby saving power.

SYSTEMS AND METHODS FOR ADJUSTING APPLICATION FUNCTIONALITY TO RESOURCE CONSTRAINTS

The disclosed computer-implemented method may include identifying an application, on an electronic device, with a minimum requirement for a resource of the electronic device. The method may also include determining that an available amount of the resource of the electronic device does not meet the minimum requirement of the application. Additionally, the method may include selecting, based on the determination, an alternative user-interface mode of the application with a lower minimum requirement for the resource. Furthermore, the method may include instantiating the alternative user-interface mode of the application. Various other methods, systems, and computer-readable media are also disclosed.