Abstract:
A system, method, and computer program product are disclosed for reducing overhead associated with software lock monitoring in a multiple-processor data processing system having a memory that is shared among the multiple processors. Multiple memory locations in the shared-memory are associated with one of multiple locks. Overhead is reduced by generating a trace hook only in response to activity associated with lock misses.
Abstract:
The invention relates to the provision of software with fault tolerant capabilities enabling computer networks to survive or tolerate most individual failures, short of system wide catastrophes such as earthquakes, without loss of data and without loss of access to working data.
Abstract:
Apparatus and process for managing shared, distributed locks in a multiprocessing complex. The manager operates using a partitionable lock space with logical processor connection. Logically connected processors are subject to validation and disconnection due to failure. The locks synchronize data access to identifiable subunits of DASD. Denied lock requests are queued for servicing when the lock becomes available. Lock partitions are used to speed DASD to DASD copying without halting processing on the first DASD. A special partition is assigned to the copy task and the processors writing to the DASD can determine copy status with a single read or test. Operations requiring multilateral agreement of processors, such as rebuilding locks or moving locks, are protected by fencing any nonresponsive processor. A special queue partition is designated for master/slave control point designation. All processors contend for the master lock and losing contenders are queue. Queuing provides automatic fallback in case of a failing processor.
Abstract:
A plurality of shared files (10) are accessible by each of a plurality of host processors (30a, 30b, 30c). Each host processor includes a data base access system (36) for accessing a selected record of the shared files. A journal merge key table (38) stores transaction sequence information, particularly a count of the number of transactions performed by each of the processor and the number of times each processor has been down and restarted. Each time the data base access system starts a transaction to access and modify the selected record, the lock manger communicates with the other processors through a communications unit (40). The lock communication blocks the other processors from accessing the same record and communicates more current transaction count information to the other processors. Acknowledgement signals from the other processors return the most current transaction count information therefrom. The processor undertaking the transaction creates a journal record which includes the transaction and the sequence information, particularly the count information. The journal record is stored in a journal file (50) dedicated to the processor. By comparing the count information that is stored with transaction records in other files, the sequence in which the transactions occurred can be readily determined.
Abstract:
To lock use of shared information to itself in a multiprocessor system (100) having two independently and asynchronously operating processors (101, 111) whose main store units (102, 112) duplicate each other's contents, a processor must cause an atomic read-modify-write (RMW) operation to be executed on a semaphore in the duplicated main store units of both processors. To properly order execution of multiple such RMW operations, arbiters (106, 116) of system buses (105, 115) of the two processors communicate over an interarbiter channel (121). The arbiter of a source processor that wishes to perform an RMW operation notifies the other processor's arbiter over the interarbiter channel. Simultaneous attempts at notification by both arbiters are resolved in favor of one of them that is designated the master. The notifying arbiter prevents its processor from performing another RMW operation until the one RMW operation has completed thereon, but permits other operations to proceed normally. The notified arbiter prevents its processor from performing another RMW operation until the one RMW operation has been transferred via interprocessor links (107, 117) and bus (120) from the source processor to the notified arbiter's processor and has been performed thereon, but permits other operations to proceed normally. Thus multiple RMW operations are performed on both processors in the same order asynchronously and without impacting performance of other operations.
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 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.
Abstract:
Data storage system and method for managing transaction requests to the data storage system utilizes a write ahead log to write transaction requests received at the data storage system during a current checkpoint generation. After the transaction requests in the write ahead log are applied to a copy-on-write (COW) storage data structure stored in a storage system, one of first and second allocation bitmaps is updated to reflect changes in the COW storage data structure with respect to allocation of storage space in the storage system, and one of first and second super blocks is updated with references to central nodes of the COW storage data structure. After the allocation bitmap and the super block have been updated, an end indicator for the current checkpoint generation is written in the write ahead log to indicate that processing of the transaction requests for the current checkpoint generation has been completed.
Abstract:
Autonomous recovery from a transient hardware failure by executing portions of a stream of program instructions as a transaction. A start of a transaction is created in a stream of program instructions executing on a first processor of a multi-processor computer. A snapshot of a system state information is saved when the transaction begins. When the transaction ends, store data of the transaction is committed. If a transient hardware failure occurs, the transaction is aborted without notifying the computer software application that initiated the stream of program instructions. The transaction is re-executed on a second processor of the multi-processors, based on the saved snapshot of the system state information.
Abstract:
A transactional memory system salvages a hardware lock elision (HLE) transaction. A processor of the transactional memory system, based on a detection of a pending point-of-failure in a code region during HLE transactional execution, stops HLE transactional execution prior to the pending point-of-failure in the code region. The processor, based on information about a lock elided, commits a speculative state of the stopped HLE transactional execution that is stored, at least in part, in a gathering store cache. The processor starts non-transactional execution at the point of failure in the code region.