Abstract:
An embodiment of a method of virtualizing a process identifier begins with creation of a child process from a parent process. The parent process creates the child process by making a system call. If the parent process executes before the child process begins to execute, at a kernel level and without interruption the parent process maps a free virtual process identifier to a kernel process identifier for the child process. If the child process executes before the parent process begins to execute, at the kernel level and without interruption the child process determines the kernel process identifier. The child process then maps the free virtual process identifier to the kernel process identifier.
Abstract:
Provided are a method, system, and article of manufacture for providing a process exclusive access to a page including a memory address to which a lock is granted to the process. A request is received for a memory address in a memory device from a requesting process. A lock is granted to the requested memory address to the requesting process. The requesting process is provided exclusive access to a page including the requested memory address for a page access time period. The exclusive access to the page provided to the requesting process is released in response to an expiration of the page access time period.
Abstract:
A method for replicating a program and data storage according to one embodiment comprises sending program replication data from a first program to a second program, the second program having an application program that is a replica of an application program of the first program; sending data storage requests from the first program to a first storage system; and replicating data stored in the first storage system in a second storage system. Additional methods, systems, and computer program products are disclosed.
Abstract:
Provided are a method, system, and program for gathering pages allocated to an application to include in checkpoint information. A call from an application is intercepted to allocate memory pages to cause indication of pages allocated to the application that have modified data. An operation is initiated to create checkpoint information for the application. Pages allocated to the application that have modified data are determined in response to the operation to create the checkpoint information. The determined pages are saved in the checkpoint information.
Abstract:
A method, system and program product for recording a program execution comprising recording processor context for each thread of the program, results of system calls by the program, and memory pages accessed by the program during an execution interval in a checkpoint file. Processor context includes register contents and descriptor entries in a segment descriptor table of the operating system. System calls are recorded for each program thread, tracked by an extension to the operating system kernel and include returned call parameter data. Accessed memory pages are recorded for each program process and include data, libraries and code pages. The program address space, processor context, and program threads are reconstructed from checkpoint data for replaying the program execution in a different operating system environment.
Abstract:
A method for replicating a program and data storage according to one embodiment comprises sending program replication data from a first program to a second program, the second program having an application program that is a replica of an application program of the first program; sending data storage requests from the first program to a first storage system; and replicating data stored in the first storage system in a second storage system. Additional methods, systems, and computer program products are disclosed.
Abstract:
Provided are a method, system, and article of manufacture for varying access parameters for processes to access memory addresses in response to detecting a condition related to a pattern of processes access to memory addresses. A monitored condition is detected during application execution. An instrumentation program is invoked to monitor processes accessing data at addresses in a memory device in response to detecting the monitored condition. Information is logged on processes and the addresses they access in the memory device in response to invoking the instrumentation program. The logged information on the processes and the addresses they access is forwarded to an application analysis system in response to detecting a monitored condition during application execution.
Abstract:
Provided are a method, system, and program for gathering pages allocated to an application to include in checkpoint information. A call from an application is intercepted to allocate memory pages to cause indication of pages allocated to the application that have modified data. An operation is initiated to create checkpoint information for the application. Pages allocated to the application that have modified data are determined in response to the operation to create the checkpoint information. The determined pages are saved in the checkpoint information.
Abstract:
An embodiment of a method of performing a kernel level task upon initial execution of a child process at a user level begins with setting an instruction pointer for an initial child process instruction to an instruction to enter a kernel level. The method continues with beginning the child process which places a return value in a register for the child process and which causes the child process to enter the kernel level. The method concludes with executing a system call having a system call number of the return value. The system call comprises the kernel level task.
Abstract:
Provided are a method, system, and article of manufacture for recovery of application faults in a mirrored application environment. Application events are recorded at a primary system executing an instruction for an application. The recorded events are transferred to a buffer. The recorded events are transferred from the buffer to a secondary system, wherein the secondary system implements processes indicated in the recorded events to execute the instructions indicated in the events. An error is detected at the primary system. A determination is made of a primary order in which the events are executed by processes in the primary system. A determination is made of a modified order of the execution of the events comprising a different order of executing the events than the primary order in response to detecting the error. The secondary system processes execute the instructions indicated in the recorded events according to the modified order.