Patent classifications
G06F9/52
Rate limiting actions with a message queue
Systems and methods for processing email messages are described. A method may include obtaining, from a database associated with the database system, data identifying a plurality of email messages for a plurality of email senders, the email messages associated with one or more sales cadences and an email service; enqueuing, by the server computing system, data identifying one or more email messages of the plurality of email messages into a queue provided that no data identifying two email messages associated with a first email sender are in the queue concurrently; and dequeuing, by the server computing system, the data identifying the one or more email messages from the queue, each dequeued data identifying an email message to be processed by the email service, wherein said enqueuing is performed provided that no dequeued data identifying two email messages associated with a second email sender are concurrently waiting to be processed by the email service.
Rate limiting actions with a message queue
Systems and methods for processing email messages are described. A method may include obtaining, from a database associated with the database system, data identifying a plurality of email messages for a plurality of email senders, the email messages associated with one or more sales cadences and an email service; enqueuing, by the server computing system, data identifying one or more email messages of the plurality of email messages into a queue provided that no data identifying two email messages associated with a first email sender are in the queue concurrently; and dequeuing, by the server computing system, the data identifying the one or more email messages from the queue, each dequeued data identifying an email message to be processed by the email service, wherein said enqueuing is performed provided that no dequeued data identifying two email messages associated with a second email sender are concurrently waiting to be processed by the email service.
Inter-environment communication with environment isolation
Described techniques enable inter-environment communication, including isolating two runtime environments from one another as needed to ensure that operations of one runtime environment do not negatively affect operations of the other runtime environment during the inter-environment communication. Such isolation may be maintained when the two runtime environments use different addressing schemes, and when the two runtime environments use different call linkage techniques for identifying, locating, and passing stored parameters or other data.
On-Chip Hardware Semaphore Array Supporting Multiple Conditionals
Hardware semaphores are utilized to increase the speed with which preconditions are evaluated. On an individual basis, each hardware semaphore can implement a binary semaphore or a counting semaphore. Collections of hardware semaphores can be chained together to implement a chain semaphore that can support multiple conditionals. In addition, hardware semaphores can have the capability, not only of generating an interrupt, but, in addition, being able to generate commands, such as to other semaphores. The implementation of a chain semaphore spanning multiple hardware semaphores can be performed by a compiler at compile time or at run time. An integrated circuit chip can comprise multiple execution units, such as processing cores, and individual ones of the execution units can be associated with multiple hardware semaphores, such as in the form of hardware semaphore arrays. A dedicated network-on-chip enables hardware semaphore communication.
On-Chip Hardware Semaphore Array Supporting Multiple Conditionals
Hardware semaphores are utilized to increase the speed with which preconditions are evaluated. On an individual basis, each hardware semaphore can implement a binary semaphore or a counting semaphore. Collections of hardware semaphores can be chained together to implement a chain semaphore that can support multiple conditionals. In addition, hardware semaphores can have the capability, not only of generating an interrupt, but, in addition, being able to generate commands, such as to other semaphores. The implementation of a chain semaphore spanning multiple hardware semaphores can be performed by a compiler at compile time or at run time. An integrated circuit chip can comprise multiple execution units, such as processing cores, and individual ones of the execution units can be associated with multiple hardware semaphores, such as in the form of hardware semaphore arrays. A dedicated network-on-chip enables hardware semaphore communication.
HOST REQUEST PACING TO BALANCE RESOURCES AND THROUGHPUT
Methods, computer program products, and/or systems are provided that perform the following operations: determining a pacing requirement for host requests based on one or more thresholds; setting a pacing delay level based on the one or more thresholds in response to the determination of the pacing requirement; and implementing a memory request flow for a host request based on the pacing requirement and the pacing delay level.
HOST REQUEST PACING TO BALANCE RESOURCES AND THROUGHPUT
Methods, computer program products, and/or systems are provided that perform the following operations: determining a pacing requirement for host requests based on one or more thresholds; setting a pacing delay level based on the one or more thresholds in response to the determination of the pacing requirement; and implementing a memory request flow for a host request based on the pacing requirement and the pacing delay level.
Scheduling tasks using swap flags
A method of activating scheduling instructions within a parallel processing unit is described. The method comprises decoding, in an instruction decoder, an instruction in a scheduled task in an active state and checking, by an instruction controller, if a swap flag is set in the decoded instruction. If the swap flag in the decoded instruction is set, a scheduler is triggered to de-activate the scheduled task by changing the scheduled task from the active state to a non-active state.
Techniques to generate execution schedules from neural network computation graphs
Techniques are described for a compiler scheduling algorithm/routine that utilizes backtracking to generate an execution schedule for a neural network computation graph using a neural network compiler intermediate representation of hardware synchronization counters. The hardware synchronization counters may be referred to as physical barriers, hardware (HW) barriers, or barriers and their intermediate representations may be referred to as barrier tasks or barriers. Backtracking is utilized to prevent an available number of hardware barriers from being exceeded during performance of an execution schedule. An execution schedule may be a computation workload schedule for neural network inference applications. An execution schedule may also be a first in first out (FIFO) schedule.
AUTO SCALE BACKUP ORCHESTRATION FOR NETWORK ATTACHED STORAGE WORKLOADS
In general, embodiments of the invention relate to a method and system for backing up data. More specifically, embodiments of the invention are directed to using a scalable backup infrastructure that enables portions of the backup process to be performed in parallel. The amount of parallelism that may be implemented in the backup process may be dynamically adjusted based on customer requirements and/or limitations on the computing devices, backup storage, and/or production storage that are used to perform the backup process.