G06F9/461

Application recovery using a memory image

A memory image can be captured by generating metadata indicative of a state of volatile memory and/or byte-addressable PMEM at a particular time during execution of a process by an application. This memory image can be persisted without copying the in-memory data into a separate persistent storage by storing the metadata and safekeeping the in-memory data in the volatile memory and/or PMEM. Metadata associated with multiple time-evolved memory images captured can be stored and managed using a linked index scheme. A linked index scheme can be configured in various ways including a full index and a difference-only index. The memory images can be used for various purposes including suspending and later resuming execution of the application process, restoring a failed application to a previous point in time, cloning an application, and recovering an application process to a most recent state in an application log.

Implementing state-based frame barriers to process colorless roots during concurrent execution

An application thread executes concurrently with a garbage collection (GC) thread traversing a call stack of the application thread. Frames of the call stack that have been processed by the GC thread assume a global state associated with the GC thread. The application thread may attempt to return to a target frame that has not yet assumed the global state. The application thread hits a frame barrier, preventing return to the target frame. The application thread determines a frame state of the target frame. The application thread selects appropriate operations for bringing the target frame to the global state based on the frame state. The selected operations are performed to bring the target frame to the global state. The application thread returns to the target frame.

System and method for generating and using a context block based on system parameters
11573822 · 2023-02-07 · ·

A system and method for generating a context block using system parameters. The system parameters include objective parameters, functionality parameters, and interface definitions. Context field definitions are received. The system parameters and context fields definitions may be used to determine context fields and context entries. The system parameters may be used to determine context fields and number of context entries. The context module hardware description may be created using context fields, number of context entries, and context field definitions.

MEMORY MIGRATION WITHIN A MULTI-HOST DATA PROCESSING ENVIRONMENT

A destination host includes a processor core, a system fabric, a memory system, and a link controller communicatively coupled to the system fabric and configured to be communicatively coupled, via a communication link, to a source host with which the destination host is non-coherent. The destination host migrates, via the communication link, a state of a logical partition from the source host to the destination host and page table entries for translating addresses of a dataset of the logical partition from the source host to the destination host. After migrating the state and page table entries, the destination host initiates execution of the logical partition on the processor core while at least a portion of the dataset of the logical partition resides in the memory system of the source host and migrates, via the communication link, the dataset of the logical partition to the memory system of the destination host.

Incremental restore of a virtual machine

Techniques are provided for incrementally restoring a virtual machine hosted by a computing environment. In response to receiving an indication that the virtual machine is to be incrementally restored, a snapshot of the virtual machine may be created while the virtual machine is shut down into an off state. The snapshot is transmitted to a storage environment as a common snapshot. The snapshot and the common snapshot are common snapshots comprising a same representation of the virtual machine. The common snapshot and a prior snapshot of the virtual machine are evaluated to identify a data difference of the virtual machine between the common snapshot and the prior snapshot. An incremental restore is performed of the virtual machine by transmitting the data difference from the storage environment to the computing environment to restore the virtual machine to a state represented by the prior snapshot.

DATA BACKUP AND RECOVERY MANAGEMENT USING ALLOCATED DATA BLOCKS
20230035929 · 2023-02-02 ·

A data backup and recovery method and system using allocated data blocks include identifying a first snapshot associated with a virtual machine; accessing changed block tracking data associated with data changes occurred in the virtual machine, the data changes corresponding to a set of changed data blocks; accessing block allocation status data associated with the set of changed data blocks; identifying one or more allocated data blocks from the set of changed data blocks that are associated with allocated status based on the block allocation status data; and storing the one or more allocated data blocks to a storage device.

MIGRATING APPLICATIONS BETWEEN CONTAINERS DURING MODERN STANDBY

Applications can be migrated between containers during Modern Standby on a computing device. This migration may be performed to prolong the battery life of the computing device or to otherwise enhance performance. When a change in sensor state information is detected, a migration policy can be applied to application information to generate migration instructions. The migration instructions can then be used to migrate applications between containers.

DATA PROCESSING SYSTEM, DATA TRANSFER DEVICE, AND CONTEXT SWITCHING METHOD
20230090585 · 2023-03-23 · ·

A processing section executes processes concerning a plurality of applications in a time division manner. A CSDMA engine detects a switching timing of an application to be executed in the processing section. When detecting the switching timing, the CSDMA engine saves a context of an application that is being executed in the processing section 46, to a main memory from the processing section, and installs a context of an application to be subsequently executed in the processing section, from the main memory to the processing section, not through a process by software managing the plurality of applications.

Flexible Update Mechanism for Stateful Applications

A computer-implemented update management method for managing transfer of an application state from a source node to at least one target node of a distributed control system, includes identifying a first part of the application state which can be transferred independently of a second part of the application state; determining that the first part can be transferred from the source node to the at least one target node during one execution cycle of the application; performing a first partial update by transferring the first part of the application state from the source node to the at least one target node during a first execution cycle of the application; and performing a second partial update by transferring the second part of the application state from the source node to the at least one target node during a second, subsequent execution cycle of the application.

Dynamically Switching A Software Service Between Stateful Mode And Stateless Mode
20230088364 · 2023-03-23 ·

A software service can be dynamically switched between a stateless mode and a stateful mode in accordance with some examples described herein. For example, a system can detect an event associated with transitioning a software service from a stateless mode to a stateful mode. In response to detecting the event, the system can execute an allocation module for causing a persistent volume to be allocated to the software service. In response to detecting the event, the system can also execute a switching module for causing the software service to switch from (i) the stateless mode in which state information is not stored in the persistent volume to (ii) the stateful mode in which the state information is stored in the persistent volume.