Abstract:
Various embodiments for facilitating search, list and retrieval operations on a persistent data set using a distributed shared memory (DSM) by a processor device are provided. In one exemplary embodiment, a DSM is used to store the data structures in a cluster shared memory, such that updates, deletions and insertions are applied to both the persistent data set and the DSM, and search, list and retrieval operations are processed directly from the DSM. A data structure in the persistent data set is stored in two separate DSM pages: a first page includes an identifying search key of the data structure, the search key also pointing to a location of the data structure in the storage. A second page includes the updatable properties of the data structure. A DSM storing the data structures' pages is organized as a two-row matrix.
Abstract:
A system and method for managing shared resources is disclosed. The system includes a primary coherency processing unit which processes lock requests from a plurality of data processing hosts, the primary coherency processing unit also storing a first current lock state information for the plurality of data processing hosts, the first current lock state information including a plurality of locks held by the plurality of data processing hosts. The system further includes a standby coherency processing unit storing fewer locks than the primary coherency processing unit, the locks stored by the standby coherency processing unit being a subset of locks included in the first current lock state information, the standby coherency unit configured to perform a plurality of activities of the primary coherency processing unit using the subset of locks in response to a failure of the primary coherency processing unit.
Abstract:
A serverless distributed file system manages the storage of files and directories using one or more directory groups. The directories may be managed using Byzantine-fault-tolerant groups, whereas files are managed without using Byzantine-fault-tolerant groups. Additionally, the file system may employ a hierarchical namespace to store files. Furthermore, the directory group may employ a plurality of locks to control access to objects (e.g., files and directories) in each directory.
Abstract:
Techniques are provided for responding to the termination of a node executing one or more transactions by selecting another node to complete the transactions, and assigning to the selected node the affinity relationships that existed between the terminated node and the objects being accessed by said transactions.
Abstract:
A serverless distributed file system manages the storage of files and directories using one or more directory groups. The directories may be managed using Byzantine-fault-tolerant groups, whereas files are managed without using Byzantine-fault-tolerant groups. Additionally, the file system may employ a hierarchical namespace to store files. Furthermore, the directory group may employ a plurality of locks to control access to objects (e.g., files and directories) in each directory.
Abstract:
A method and apparatus is presented for controlling spin lock instrumentation for a spin lock in a system with a cache. A lock flag represents a busy state for the spin lock; a first instrumentation flag is a global variable representing 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 for an indication 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.
Abstract:
A serverless distributed file system manages the storage of files and directories using one or more directory groups. The directories may be managed using Byzantine-fault-tolerant groups, whereas files are managed without using Byzantine-fault-tolerant groups. Additionally, the file system may employ a hierarchical namespace to store files. Furthermore, the directory group may employ a plurality of locks to control access to objects (e.g., files and directories) in each directory.
Abstract:
An apparatus and method, using an inter-processor lock to control access to inter-process relationship data structures in the memory of each processor in a multiprocessor system. The apparatus and method insure that each inter-process relationship is modified in the same sequence on each processor. The apparatus and method also insure that an inter-process relationship is maintained in a consistent state in the face of failure of any of the processors.
Abstract:
A data management system, which is equipped with a data file and a journal file and adapted to reserve the exclusive occupation for data and then update the data, is characterized by releasing the exclusive occupation of data prior to writing of a journal to the journal file and of corresponding updated data to the data file. When data on a data base is updated, the exclusive occupation states of data to be updated are reserved first and then updating of the data is executed on a data buffer placed on a main memory and journals on the updating of the data are collected. The collected journals are entered into a first-in first-out journal queue in units of transactions. The exclusive occupation states of data on a corresponding transaction is released after corresponding journals have been stored in the journal queue. The journals stored in the journal queue are written to the journal file in units of transactions in the order in which they are entered into the queue. Subsequently updated data is written to the data file. The data in the data file is restored using the journal file when a system failure occurs in the data base.
Abstract:
Apparatus and method for reading data pages in a transaction processing system without locking the pages are disclosed. The system maintains a Global.sub.-- Committed.sub.-- LSN identifying the oldest uncommitted transaction accessing any of the data, and Object.sub.-- Committed.sub.-- LSNs identifying the oldest uncommitted transactions accessing particular files, tables and indexes. Each data page includes a Page.sub.-- LSN identifying the last transaction to have updated the page. To read a page, a transaction first latches the pages, and compares the page's Page.sub.-- LSN with the Global.sub.-- Committed.sub.-- LSN, or with the page's respective Object.sub.-- Committed.sub.-- LSN. If the Page.sub.-- LSN is older than the Committed.sub.-- LSN with which it was compared, then the transaction reads the page without locking it, since there can be no uncommitted transaction in process which might have updated the page's data. However if the Page.sub.-- LSN is younger than the Committed.sub.-- LSN, the page is locked before being read.