Patent classifications
G06F9/52
OBJECT-ORIENTED INFRASTRUCTURE-AS-CODE PLATFORM (OOIACP)
Novel tools and techniques are provided for implementing object-oriented infrastructure-as-code platform (“OOIACP”) and its functionalities. In various embodiments, an OOIACP may receive a request to perform a function from a requesting device. The OOIACP includes a declarative configuration language (“DCL”)-based infrastructure-as-code (“IAC”) software tool that provides structure and data functionalities and a wrapper tool that provides algorithm and sequence functionalities to the IAC software tool to convert the IAC software tool into an object-oriented programming (“OOP”)-based IAC system. The OOIACP uses a run command to perform the requested function, by identifying classes within a class hierarchy associated with the requested function, and initiating a set of procedures in each identified class. Each class and subclass within the class hierarchy has one or more predefined class behaviors, and each subclass inherits class behaviors of classes to which it belongs and of any intermediate subclasses.
High-Throughput Algorithm For Multiversion Concurrency Control With Globally Synchronized Time
Throughput is preserved in a distributed system while maintaining concurrency by pushing a commit wait period to client commit paths and to future readers. As opposed to servers performing commit waits, the servers assign timestamps, which are used to ensure that causality is preserved. When a server executes a transaction that writes data to a distributed database, the server acquires a user-level lock, and assigns the transaction a timestamp equal to a current time plus an interval corresponding to bounds of uncertainty of clocks in the distributed system. After assigning the timestamp, the server releases the user-level lock. Any client devices, before performing a read of the written data, must wait until the assigned timestamp is in the past.
METHOD AND APPARATUS FOR ONLINE MIGRATION OF MULTI-DISK VIRTUAL MACHINE INTO DIFFERENT STORAGE POOLS
A method and apparatus for online migration of a multi-disk virtual machine into different storage pools are provided. The method includes: constructing disk trees by using each active disk to be migrated of a virtual machine and a plurality of snapshot disks that are correspondingly generated based on each active disk to be migrated, so as to record a generation time sequence of a plurality of disks in the disk tree; migrating a memory snapshot file; and determining a target storage pool corresponding to each active disk to be migrated, and migrating a plurality of disk trees into corresponding target storage pools respectively according to the generation time sequence of the disk to be migrated in the disk tree.
METHOD AND APPARATUS FOR ONLINE MIGRATION OF MULTI-DISK VIRTUAL MACHINE INTO DIFFERENT STORAGE POOLS
A method and apparatus for online migration of a multi-disk virtual machine into different storage pools are provided. The method includes: constructing disk trees by using each active disk to be migrated of a virtual machine and a plurality of snapshot disks that are correspondingly generated based on each active disk to be migrated, so as to record a generation time sequence of a plurality of disks in the disk tree; migrating a memory snapshot file; and determining a target storage pool corresponding to each active disk to be migrated, and migrating a plurality of disk trees into corresponding target storage pools respectively according to the generation time sequence of the disk to be migrated in the disk tree.
PROGRAMMABLE ATOMIC OPERATOR RESOURCE LOCKING
Devices and techniques for programmable atomic operator resource locking are described herein. A request for a programmable atomic operator (PAO) can be received at a memory controller that includes a programmable atomic unit (PAU). Here, the request includes an identifier for the PAO and a memory address. The memory addressed is processed to identify a lock value. A verification can be performed to determine that the lock value indicates that there is no lock corresponding to the memory address. Then, the lock value is set to indicate that there is now a lock corresponding to the memory address and the PAO is invoked based on the identifier for the PAO. In response to completion of the PAO, the lock value is set to indicate that there is no longer a lock corresponding to the memory address.
Sync groupings
A work accelerator is connected to a gateway. The gateway enables the transfer of data to the work accelerator from an external storage at pre-compiled data synchronisation points attained by the work accelerator. The work accelerator is configured to send to a register of the gateway an indication of a sync group comprising the gateway. The work accelerator then sends to the gateway, a synchronisation request for a synchronisation to be performed at an upcoming pre-compiled data exchange synchronisation point. The sync propagation circuits are each configured to receive at least one synchronisation request and propagate or acknowledge the synchronisation request in dependence upon the indication of the sync group received from the work accelerator.
Sync groupings
A work accelerator is connected to a gateway. The gateway enables the transfer of data to the work accelerator from an external storage at pre-compiled data synchronisation points attained by the work accelerator. The work accelerator is configured to send to a register of the gateway an indication of a sync group comprising the gateway. The work accelerator then sends to the gateway, a synchronisation request for a synchronisation to be performed at an upcoming pre-compiled data exchange synchronisation point. The sync propagation circuits are each configured to receive at least one synchronisation request and propagate or acknowledge the synchronisation request in dependence upon the indication of the sync group received from the work accelerator.
Computer-implemented methods and nodes implementing performance estimation of algorithms during evaluation of data sets using multiparty computation based random forest
According to an aspect, there is provided a computer-implemented method of operating a first node. The first node has an algorithm for evaluating input data from another node, with the input data having a plurality of different attributes. The method comprises receiving, from a second node, a proposal for the evaluation of a first set of input data by the algorithm; estimating the performance of the algorithm in evaluating the first set of input data based on the proposal; and outputting, to the second node, an indication of the estimated performance of the algorithm. A corresponding first node is also provided.
Processing apparatus, processing method, and computer program product for controlling timing of data accessing to a memory
According to an embodiment, a processing apparatus includes a memory and a processor coupled to the memory. The processor is configured to: execute data access that is at least one of data writing to the memory and data reading from the memory; receive access control information for controlling timing of the data access to be executed; and control the timing of the data access based on the received access control information.
Method of completing a programmable atomic transaction by ensuring memory locks are cleared
Disclosed is an instruction for a programmable atomic transaction that is executed as the last instruction and that terminates the executing thread, waits for all outstanding store operations to finish, clears the programmable atomic lock, and sends a completion response back to the issuing process. This guarantees that the programmable atomic lock is cleared when the transaction completes. By coupling thread termination with clearing the lock bit, this guarantees that the thread cannot terminate without clearing the lock.