41 research outputs found

    Pre-analysis locking

    Full text link
    Locking is considered as a means to achieve serializable schedules of concurrent transactions. Transactions are assumed to be predeclared such that a pre-analysis for locking becomes feasible to increase concurrency. A condition for safety is introduced which, based on a pre-analysis, allows the design of policies strictly dominating known policies such as 2-phase locking. The static case, in which the complete set of transactions is known in advance, and the online case, in which a transaction is known when it is started, are considered. It is shown that a policy strictly dominating 2-phase locking and some other interesting pre-analysis policies can also be applied in an online environment

    On the complexity of concurrency control by locking in distributed database systems

    Get PDF
    Given a pair of locked transactions, accessing a distributed database, the problem is studied of whether this pair is safe, i.e., guaranteed to produce only serializable schedules. It is shown that an easy-to-test graph condition, which characterizes safety for a pair of locked transactions in a centralized database, also applies when the database has been distributed among at most three sites

    Distributed Search Trees: Fault Tolerance in an Asynchronous Environment

    Get PDF
    We propose a distributed dictionary that allows insert and search operations and that tolerates arbitrary single server crashes. The distinctive feature of our model is that the crash of a server cannot be detected. This is in contrast to all other proposals of distributed fault-tolerant search structures presented thus far. It reflects the real situation in the internet more accurately, and is in general more suitable to complex overall conditions. This makes our solution fundamentally different from all previous ones, but also more complicated. We present in detail the algorithms for searching, insertion, and graceful recovery of crashed server

    Transitive closure algorithm MEMTC and its performance analysis

    Get PDF
    AbstractIn this paper, we present a new algorithm for computing the full transitive closure designed for operation in layered memories. The algorithm is based on strongly connected component detection and on a very compact representation of data. We analyze the average-case performance of the algorithm experimentally in an environment where two layers of memory of different speed are used. In our analysis, we use trace-based simulation of memory operations

    Distributed search trees: Fault tolerance in an asynchronous environment

    Get PDF
    ISSN:1432-4350ISSN:1433-049

    Evaluating linear XPath expressions by pattern-matching automata

    Get PDF
    Abstract: We consider the problem of efficiently evaluating a large number of XPath expressions, especially in the case when they define subscriber profiles for filtering of XML documents. For each document in an XML document stream, the task is to determine those profiles that match the document. In this article we present a new general method for filtering with profiles expressed by linear XPath expressions with child operators (/), descendant operators (//), and wildcards ( * ). This new filtering algorithm is based on a backtracking deterministic finite automaton derived from the classic Aho-Corasick pattern-matching automaton. This automaton has a size linear in the sum of the sizes of the XPath filters, and the worst-case time bound of the algorithm is much less than the time bound of the simulation of linear-size nondeterministic automata. Our new algorithm has a predecessor that can handle child and descendant operators but not wildcards, and has been shown to be extremely efficient when a documenttype definition (DTD) has been used to prune out all the wildcards and most of the descendant operators. But in some cases, such as when the DTD is highly recursive, it may not be possible to prune out all wildcards without producing a too large set of filters. Then it is important to have the full generality of an evaluation algorithm, as presented in this article, that can also handle wildcards

    Relaxed AVL trees : main-memory databases : and concurrency

    No full text
    We consider the use of search trees to represent the dictionary aspects of a main-memory database in a concurrent environment. Efficiency considerations require that the trees be balanced and that operations on a search tree should not block too large a part of the tree for too long a time. We propose a new, elegant solution for this problem based on the notion of relaxed AVL trees and the decoupling of updates and rebalancing. The main advantage of our solution is that the implementation of the dictionary operations in a concurrent environment is as simple as their implementation in a sequential environment, whereas previous concurrent solutions are more descriptively complex
    corecore