Abstract:
Recovery of inflowed transactions are provided by any instance in a cluster, along with peer recovery of transactions in a cluster, and administrative functionality related to these aspects. A method of managing transaction processing comprises performing transaction processing using a first process, wherein the first process logs the transaction processing that it performs, detecting failure of the first process, wherein the transaction logs of the first process are locked, taking ownership of the locked transaction logs of the first process at a second process, unlocking the locked transaction logs of the first process for use by the second process, and recovering at least one transaction using the transaction logs.
Abstract:
A method for tracking transactions performed on a non-volatile storage medium. The medium consists of a plurality of storage ranges. The method includes assigning respective local counters to the plurality of storage ranges, the local counters having respective local counter values, and storing the local counter values together in a selected region of the non-volatile storage medium. The method further includes updating the respective local counter values stored in the selected region responsively to the transactions performed on the storage ranges to which the local counters are respectively assigned. The method also includes reading and combining the local counter values from the selected region in order to determine a global counter value with respect to the non-volatile storage medium.
Abstract:
A system and method for monitoring software locks is presented. Metric data collection is invoked only when thin lock contention arises in a computer system's application layer. Instrumentation in a computer system's middleware layer tracks time-based metric information such as a waiting time for an application to acquire a lock. Instrumentation tracks garbage collection events and removes garbage collection time durations from time-based metric data as to not distort time-based metric data. Instrumentation also tracks quantity-based events such as the number of applications that request a particular lock. An instrumentation user may retrieve metric data for computer system performance analysis.
Abstract:
A method and system is presented for controlling spin lock instrumentation for a spin lock in a data processing system that has a cache. A lock flag represents a busy state for the spin lock; a first instrumentation flag is a global variable that represents an enablement state for the spin lock instrumentation. A second instrumentation flag, stored within the same cache line as the lock flag, is also maintained as an updateable indication of the first instrumentation flag. Prior to each acquirement of the spin lock, the second instrumentation flag is checked to see if it indicates that spin lock instrumentation is enabled. Although a reading of the lock flag may generate a cache miss, the lock flag is necessarily checked upon attempting to acquire the lock; the check of the second instrumentation flag cannot generate a superfluous cache miss because the second instrumentation flag is in the same cache line as the lock flag. At some point, the second instrumentation flag must be updated to reflect the enablement state that is stored within the first instrumentation flag; the update is delayed until it can be determined that the spin lock is in a busy state, thereby inducing entry into a spin loop that necessarily wastes execution cycles. Therefore, prior to entering the spin loop, the first instrumentation flag can be read without regard to a cache miss, and the second instrumentation flag is then updated to reflect the value of the first instrumentation flag.
Abstract:
Each of a plurality of hosts requests one of system coupling apparatuses to lock one of an inter-host shared resources, and stores lock information notified by the system coupling apparatus; each of the plurality of system coupling apparatuses locks an inter-host shared resource whose locking has been requested by one of the hosts, holds lock information indicating the locking, and notifies the requesting host of the lock information; one of the plurality of hosts, when one of the plurality of system coupling apparatuses fails, causes lock information held by other normal system coupling apparatuses to be deleted; and one of the other normal system coupling apparatuses is requested to lock said inter-host shared resource on the basis of lock information stored in the requesting host.
Abstract:
One or more Central Processing Complexes (CPC), each with one or more programs being executed, become command initiators by issuing commands requesting an action to be performed by a command responder. The responder is a Structured Electronic Storage (SES) which comprises a coupling facility. The SES receives commands to be executed over a plurality of links interconnecting the CPC's and SES, and returns a response to the program that issued the command. The SES is the focal point for the CPC's to share data, control locks, and manipulate lists or queues. This couples the autonomous CPC's into a System Complex (Sysplex) displaying a single system image. An indicator associated with each of the links is set by SES when it appears to a initiator that problems on the link exist. The set state of any indicator prevents SES from starting execution of any subsequent commands. This preserves the orderly, sequential execution of commands to insure consistent states of data in SES, and allows the program that issued the command to determine exactly how the command ended at SES. Data associated with execution of the command is stored in a status save area of SES for subsequent access by the program.
Abstract:
A system that implements a data storage service may store data on behalf of storage service clients. The system may maintain data in multiple replicas of various partitions that are stored on respective computing nodes in the system. The system may employ a single master failover protocol, usable when a replica attempts to become the master replica for a replica group of which it is a member. Attempting to become the master replica may include acquiring a lock associated with the replica group, and gathering state information from the other replicas in the group. The state information may indicate whether another replica supports the attempt (in which case it is included in a failover quorum) or stores more recent data or metadata than the replica attempting to become the master (in which case synchronization may be required). If the failover quorum includes enough replicas, the replica may become the master.
Abstract:
In one embodiment, a system for managing a virtualization environment includes a plurality of host machines, wherein each of the host machines comprises a hypervisor and one or more user virtual machines (user VMs), and a virtual machine controller, one or more virtual disks comprising a plurality of storage devices, a virtualized file server (VFS) comprising a plurality of file server virtual machines (FSVMs), wherein each of the FSVMs is running on one of the host machines. The VFS may be configured to receive a request for storage system information from a user and generate and send a response to the request, wherein the response is customized according to configuration information of the VFS that is specific to the user. The storage system information requested may include a total size of storage available to the user, and the user may have an associated storage quota limit.
Abstract:
In one embodiment, a system for managing a virtualization environment includes a set of host machines, each of which includes a hypervisor, virtual machines, and a virtual machine controller, and a virtualized file server backup system configured to identify backup data, wherein the backup data comprises data stored on the virtual disks and VFS configuration information, and the first data is identified in accordance with a backup policy, send the backup data to one or more remote sites for storage, and, in response to detection of changes in the backup data, send the changes to the remote sites in accordance with a replication policy. The backup data may be identified based on a protection domain associated with the backup policy. The data stored on the VFS may include one or more storage objects. The storage objects may include shares, groups of shares, files, or directories.
Abstract:
In one embodiment, a system for managing a virtualization environment comprises a plurality of host machines, one or more virtual disks comprising a plurality of storage devices, a virtualized file server (VFS) comprising a plurality of file server virtual machines (FSVMs), wherein each of the FSVMs is running on one of the host machines and conducts I/O transactions with the one or more virtual disks, and a virtualized file server self-healing system configured to identify one or more corrupt units of stored data at one or more levels of a storage hierarchy associated with the storage devices, wherein the levels comprise one or more of file level, filesystem level, and storage level, and when data corruption is detected, cause each FSVM on which at least a portion of the unit of stored data is located to recover the unit of stored data.