G06F2209/484

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.

MANAGING THROUGHPUT FAIRNESS AND QUALITY OF SERVICE IN FILE SYSTEMS

Embodiments are directed to managing file systems over a network. Jobs may be provided to a storage computer in a file system. Control models may be associated with the jobs. Scores may be generated based on the control models. Each job may be associated with a score provided by its associated control model. And, each job that may be behind its corresponding schedule may be associated with a higher score value than each other job that may be either on its corresponding other schedule or ahead of its corresponding other schedule. Commands may be selected for execution based on the commands being associated with a job that may be associated with the higher score value that may be greater than score values associated with other jobs. The jobs may be ranked based on the updated scores. Subsequent commands may be selected and executed based on the ranking of the jobs.

Message-based coordination of container-supported many task computing

An apparatus includes processor(s) to: receive a request to perform a job flow; retrieve a job flow definition from federated area(s); store, within a job queue, a job performance request message comprising the job flow definition; within a first performance container, execute a performance routine causing the processor(s) to, in response to the storage of the job performance request message within the job queue, derive an order of performance of tasks specifying a first task based on dependencies among the tasks, and store, within a task queue, a first task routine execution request message comprising an identifier associated with the first task; and within a first task container, in response to the storage of the first task routine execution request message within the task queue, use the identifier to retrieve a first task routine from the federated area(s), and execute the first task routine to perform the first task.

Automated message-based job flow cancellation in container-supported many task computing

An apparatus includes processor(s) to: within a kill container, monitor a task kill queue for execution failure message(s) indicating failure of a task routine to perform a task of a job flow, and in response to a quantity of execution failure messages reaching a threshold, store, within the task kill queue, a kill tasks request message; within a task container, in response to the kill tasks request message, cease execution of the task routine to cease performance of the task, and store, within the task queue, a task cancelation message indicating cancelation of the task routine; within a performance container, in response to the task canceled message, store, within a job queue, a job cancelation message indicating cancelation of the job flow; and in response to the job cancelation message, transmit an indication of cancelation of the job flow to a requesting device.

Commanded message-based job flow cancellation in container-supported many task computing

An apparatus includes processor(s) to: receive, a request to cancel a performance of a job flow; store, within a task kill queue, a kill tasks request message; within a task container, in response to the storage of the kill tasks request message, cease execution of instructions of a task routine to cease performance of a task of a set of tasks of the job flow, and store, within a task queue, a task cancelation message indicating cancelation of execution of the task routine; within a performance container, execute instructions of a performance routine to cause the at least one processor to, in response to the storage of the task canceled message, store, within a job queue, a job cancelation message indicating cancelation of the job flow; and in response to the storage of the job cancelation message, transmit an indication of cancelation of the job flow to the requesting device.

Information processing apparatus and non-transitory computer readable medium for acquiring and storing additional processing program

An information processing apparatus includes a processor configured to acquire an additional processing program for performing additional processing in response to a connection of an additional processing apparatus configured to perform the additional processing for a function of the information processing apparatus, and store the acquired additional processing program in the information processing apparatus.

Dynamic Designation of Instructions as Sensitive
20210173651 · 2021-06-10 ·

Described herein are systems and methods for dynamic designation of instructions as sensitive. For example, some methods include detecting that a first instruction of a first process has been designated as a sensitive instruction; checking whether a sensitive handling enable indicator in a process state register storing a state of the first process is enabled; responsive to detection of the sensitive instruction and enablement of the sensitive handling enable indicator, invoking a constraint for execution of the first instruction; executing the first instruction subject to the constraint; and executing a second instruction of the first process without the constraint.

COGNITIVE SCHEDULING ENGINE
20210173706 · 2021-06-10 ·

Systems and methods are provided for cognitive scheduling. A computer-implemented cognitive scheduling method includes receiving a plurality of computer executable tasks. The cognitive scheduling method also determines environmental parameters for executing each of the plurality of computer executable tasks. Additionally, the cognitive scheduling method generates a risk assessment for the plurality of computer executable tasks based on the environmental parameters of the respective computer executable tasks compared against a set of annotation criteria. A time slot in a scheduling list is assigning to each of the plurality of computer executable tasks based on the risk assessment. Based on the scheduling list, each of the plurality of computer executable tasks is executed in chronological order.