Patent classifications
G06F9/4887
Synchronization in a multi-tile processing arrangement
A processing system comprising multiple tiles and an interconnect between the tiles. The interconnect is used to communicate between a group of some or all of the tiles according to a bulk synchronous parallel scheme, whereby each tile in the group performs an on-tile compute phase followed by an inter-tile exchange phase with the exchange phase being held back until all tiles in the group have completed the compute phase. Each tile in the group has a local exit state upon completion of the compute phase. The instruction set comprises a synchronization instruction for execution by each tile upon completion of its compute phase to signal a sync request to logic in the interconnect. In response to receiving the sync request from all the tiles in the group, the logic releases the next exchange phase and also makes available an aggregated a state of all the tiles in the group.
Accelerated operation of a graph streaming processor
Methods, systems and apparatuses for graph processing are disclosed. One graph streaming processor includes a thread manager, wherein the thread manager is operative to dispatch operation of the plurality of threads of a plurality of thread processors before dependencies of the dependent threads have been resolved, maintain a scorecard of operation of the plurality of threads of the plurality of thread processors, and provide an indication to at least one of the plurality of thread processors when a dependency between the at least one of the plurality of threads that a request has or has not been satisfied. Further, a producer thread provides a response to the dependency when the dependency has been satisfied, and each of the plurality of thread processors is operative to provide processing updates to the thread manager, and provide queries to the thread manager upon reaching a dependency.
Tracking method, apparatus, device, and machine-readable medium
A tracking method, an apparatus, a device, and a machine-readable medium are provided. The method specifically includes: writing a tracking result of an activity of an operating system and/or a running activity of a program into a buffer when an interrupt is disabled; and reading and sending the tracking result from the buffer when the interrupt is enabled. The embodiments of the present disclosure can effectively shorten the maximum time during which interrupts are disabled for an operating system, and thereby can effectively improve the performance of the operating system and/or a program.
Ticketing system for managing computing services
Examples include a ticketing system for managing performance of computer services. The ticketing system includes a ticket database to store a plurality of tickets, each ticket defining a job to be performed on a computing system, and a master to create a ticket, store the ticket in the ticket database, and update the ticket. The ticketing system includes a scheduler to determine whether to create the ticket based at least in part on a set of conditions, and to request the master to create the ticket when the ticket is to be created, and a worker to get the ticket from the master, perform the job defined by the ticket, and request the master to update the ticket with a status of the ticket. The ticketing system includes a supervisor to request the master to find a stale ticket, and, if found, to request the worker to abort performance of the job defined by the stale ticket.
TRANSACTION BASED PROCESSING USING ASYNCHRONOUS MICROSERVICES
An example of communicating transaction data between a first service and a second service includes receiving transactions of first service, and processing the received transactions and storing the results in a database of the first service. For at least some of the received transactions, corresponding transaction messages are produced for processing by the second service, and tracking that each of the transaction messages is provided to a message queue. The transaction messages are received from the message queue and are processed using the second service, and the results are stored in a database of the second service. When there are duplicate transaction messages received from the message queue, the database of the second service only stores the results of one of the duplicate transaction messages.
OPTIMIZATION FUNCTION GENERATION APPARATUS, OPTIMIZATION FUNCTION GENERATION METHOD, AND PROGRAM
Provided is a technology for creating an optimization function for solving a scheduling problem for creating a process execution plan such that execution of all processes will be completed by a predetermined time point under constraint conditions regarding the processes and resources required by the processes, the optimization function relating to a variable that represents a quantum state. The technology includes: an input setting unit that sets a set P of processes, a set R of resources, a maximum time point End, the time p.time it takes to execute a process p, a set p.precede of processes of which execution needs to be completed before execution of the process p is started, and a set r.processes of processes that require a resource r when executed, as input to the scheduling problem for creating a plan of execution start time points of processes such that execution of all processes included in the set P will be completed by the maximum time point End under the predetermined constraint conditions; and an optimization function creation unit that creates the optimization function using the input.
Serialization floors and deadline driven control for performance optimization of asymmetric multiprocessor systems
Closed loop performance controllers of asymmetric multiprocessor systems may be configured and operated to improve performance and power efficiency of such systems by adjusting control effort parameters that determine the dynamic voltage and frequency state of the processors and coprocessors of the system in response to the workload. One example of such an arrangement includes applying hysteresis to the control effort parameter and/or seeding the control effort parameter so that the processor or coprocessor receives a returning workload in a higher performance state. Another example of such an arrangement includes deadline driven control, in which the control effort parameter for one or more processing agents may be increased in response to deadlines not being met for a workload and/or decreased in response to deadlines being met too far in advance. The performance increase/decrease may be determined by comparison of various performance metrics for each of the processing agents.
METHOD FOR ALLOCATING PROCESSOR RESOURCE, COMPUTING UNIT AND VIDEO SURVEILLANCE ARRANGEMENT
Method for allocating processor resource of a processor of a computing unit to at least two functions F, F1, F2, F3, wherein each of the at least two functions F, F1, F2, F3 has a quality-of-function, wherein the allocation of the processor resource to the at least two functions F, F1, F2, F3 is based on the quality-of-function, wherein the allocation of the processor resource is an adaptive allocation under runtime feedback 4.
Distributed scheduling in a virtual machine environment
A scheduling application is used to acquire into memory of a first processing system running on a computer system, a first jobs load for execution by the first processing system, the first jobs load stored in a database's table and having a first load size, the database associated with the computer system. The scheduling application is used to acquire into memory of a second processing system, a second jobs load for execution by a second processing system. The second jobs load being included in the table and having a second load size being balanced with the first load size and including jobs not in the first jobs load. In the first processing system's memory, jobs in the first jobs load are scheduled for execution by the first processing system. In the second processing system's memory, jobs in the second jobs load are scheduled for execution by the second processing system.
DETERMINISTIC REPLAY OF EVENTS BETWEEN SOFTWARE ENTITIES
Deterministic replay of events between software entities. In current frameworks, replays of events (e.g., data communications) between software entities are non-deterministic and unreproducible. In an embodiment, as events are replayed, software entities, stimulated by those events, are queued according to a queuing strategy and executed from the queue. In an alternative embodiment, as software entities are executed, the events, output by those software entities, are queued according to a queuing strategy and played from the queue. Both embodiments ensure determinism and reproducibility across replays.