74 research outputs found

    Correctness and Progress Verification of Non-Blocking Programs

    Get PDF
    The progression of multi-core processors has inspired the development of concurrency libraries that guarantee safety and liveness properties of multiprocessor applications. The difficulty of reasoning about safety and liveness properties in a concurrent environment has led to the development of tools to verify that a concurrent data structure meets a correctness condition or progress guarantee. However, these tools possess shortcomings regarding the ability to verify a composition of data structure operations. Additionally, verification techniques for transactional memory evaluate correctness based on low-level read/write histories, which is not applicable to transactional data structures that use a high-level semantic conflict detection. In my dissertation, I present tools for checking the correctness of multiprocessor programs that overcome the limitations of previous correctness verification techniques. Correctness Condition Specification (CCSpec) is the first tool that automatically checks the correctness of a composition of concurrent multi-container operations performed in a non-atomic manner. Transactional Correctness tool for Abstract Data Types (TxC-ADT) is the first tool that can check the correctness of transactional data structures. TxC-ADT elevates the standard definitions of transactional correctness to be in terms of an abstract data type, an essential aspect for checking correctness of transactions that synchronize only for high-level semantic conflicts. Many practical concurrent data structures, transactional data structures, and algorithms to facilitate non-blocking programming all incorporate helping schemes to ensure that an operation comprising multiple atomic steps is completed according to the progress guarantee. The helping scheme introduces additional interference by the active threads in the system to achieve the designed progress guarantee. Previous progress verification techniques do not accommodate loops whose termination is dependent on complex behaviors of the interfering threads, making these approaches unsuitable. My dissertation presents the first progress verification technique for non-blocking algorithms that are dependent on descriptor-based helping mechanisms

    Scheduling strategies for optimistic parallel execution of irregular programs

    Full text link

    Executing requests concurrently in state machine replication

    Get PDF
    State machine replication is one of the most popular ways to achieve fault tolerance. In a nutshell, the state machine replication approach maintains multiple replicas that both store a copy of the system’s data and execute operations on that data. When requests to execute operations arrive, an “agree-execute” protocol keeps replicas synchronized: they first agree on an order to execute the incoming operations, and then execute the operations one at a time in the agreed upon order, so that every replica reaches the same final state. Multi-core processors are the norm, but taking advantage of the available processor cores to execute operations simultaneously is at odds with the “agree-execute” protocol: simultaneous execution is inherently unpredictable, so in the end replicas may arrive at different final states and the system becomes inconsistent. On one hand, we want to take advantage of the available processor cores to execute operations simultaneously and improve performance. But on the other hand, replicas must abide by the operation order that they agreed upon for the system to remain consistent. This dissertation proposes a solution to this dilemma. At a high level, we propose to use speculative execution techniques to execute operations simultaneously while nonetheless ensuring that their execution is equivalent to having executed the operations sequentially in the order the replicas agreed upon. To achieve this, we: (1) propose to execute operations as serializable transactions, and (2) develop a new concurrency control protocol that ensures that the concurrent execution of a set of transactions respects the serialization order the replicas agreed upon. Since speculation is only effective if it is successful, we also (3) propose a modification to the typical API to declare transactions, which allows transactions to execute their logic over an abstract replica state, resulting in fewer conflicts between transactions and thus improving the effectiveness of the speculative executions. An experimental evaluation shows that the contributions in this dissertation can improve the performance of a state-machine-replicated server up to 4 , reaching up to 75% the performance of a concurrent fault-prone server

    Symbolic Partial-Order Execution for Testing Multi-Threaded Programs

    Full text link
    We describe a technique for systematic testing of multi-threaded programs. We combine Quasi-Optimal Partial-Order Reduction, a state-of-the-art technique that tackles path explosion due to interleaving non-determinism, with symbolic execution to handle data non-determinism. Our technique iteratively and exhaustively finds all executions of the program. It represents program executions using partial orders and finds the next execution using an underlying unfolding semantics. We avoid the exploration of redundant program traces using cutoff events. We implemented our technique as an extension of KLEE and evaluated it on a set of large multi-threaded C programs. Our experiments found several previously undiscovered bugs and undefined behaviors in memcached and GNU sort, showing that the new method is capable of finding bugs in industrial-size benchmarks.Comment: Extended version of a paper presented at CAV'2

    Proceedings, MSVSCC 2018

    Get PDF
    Proceedings of the 12th Annual Modeling, Simulation & Visualization Student Capstone Conference held on April 19, 2018 at VMASC in Suffolk, Virginia. 155 pp

    Syntax with oscillators and energy levels

    Get PDF
    This book presents a new approach to studying the syntax of human language, one which emphasizes how we think about time. Tilsen argues that many current theories are unsatisfactory because those theories conceptualize syntactic patterns with spatially arranged structures of objects. These object-structures are atemporal and do not lend well to reasoning about time. The book develops an alternative conceptual model in which oscillatory systems of various types interact with each other through coupling forces, and in which the relative energies of those systems are organized in particular ways. Tilsen emphasizes that the two primary mechanisms of the approach – oscillators and energy levels – require alternative ways of thinking about time. Furthermore, his theory leads to a new way of thinking about grammaticality and the recursive nature of language. The theory is applied to a variety of syntactic phenomena: word order, phrase structure, morphosyntax, constituency, case systems, ellipsis, anaphora, and islands. The book also presents a general program for the study of language in which the construction of linguistic theories is itself an object of theoretical analysis

    Syntax with oscillators and energy levels

    Get PDF
    This book presents a new approach to studying the syntax of human language, one which emphasizes how we think about time. Tilsen argues that many current theories are unsatisfactory because those theories conceptualize syntactic patterns with spatially arranged structures of objects. These object-structures are atemporal and do not lend well to reasoning about time. The book develops an alternative conceptual model in which oscillatory systems of various types interact with each other through coupling forces, and in which the relative energies of those systems are organized in particular ways. Tilsen emphasizes that the two primary mechanisms of the approach â€“ oscillators and energy levels â€“ require alternative ways of thinking about time. Furthermore, his theory leads to a new way of thinking about grammaticality and the recursive nature of language. The theory is applied to a variety of syntactic phenomena: word order, phrase structure, morphosyntax, constituency, case systems, ellipsis, anaphora, and islands. The book also presents a general program for the study of language in which the construction of linguistic theories is itself an object of theoretical analysis. Reviewed by John Goldsmith, Mark Gibson and an anonymous reviewer. Signed reports are openly available in the downloads session

    States and sequences of paired subspace ideals and their relationship to patterned brain function

    Full text link
    It is found here that the state of a network of coupled ordinary differential equations is partially localizable through a pair of contractive ideal subspaces, chosen from dual complete lattices related to the synchrony and synchronization of cells within the network. The first lattice is comprised of polydiagonal subspaces, corresponding to synchronous activity patterns that arise from functional equivalences of cell receptive fields. This lattice is dual to a transdiagonal subspace lattice ordering subspaces transverse to these network-compatible synchronies. Combinatorial consideration of contracting polydiagonal and transdiagonal subspace pairs yields a rich array of dynamical possibilities for structured networks. After proving that contraction commutes with the lattice ordering, it is shown that subpopulations of cells are left at fixed potentials when pairs of contracting subspaces span the cells' local coordinates - a phenomenon named glyph formation here. Treatment of mappings between paired states then leads to a theory of network-compatible sequence generation. The theory's utility is illustrated with examples ranging from the construction of a minimal circuit for encoding a simple phoneme to a model of the primary visual cortex including high-dimensional environmental inputs, laminar speficicity, spiking discontinuities, and time delays. In this model, glyph formation and dissolution provide one account for an unexplained anomaly in electroencephalographic recordings under periodic flicker, where stimulus frequencies differing by as little as 1 Hz generate responses varying by an order of magnitude in alpha-band spectral power. Further links between coupled-cell systems and neural dynamics are drawn through a review of synchronization in the brain and its relationship to aggregate observables, focusing again on electroencephalography. Given previous theoretical work relating the geometry of visual hallucinations to symmetries in visual cortex, periodic perturbation of the visual system along a putative symmetry axis is hypothesized to lead to a greater concentration of harmonic spectral energy than asymmetric perturbations; preliminary experimental evidence affirms this hypothesis. To conclude, connections drawn between dynamics, sensation, and behavior are distilled to seven hypotheses, and the potential medical uses of the theory are illustrated with a lattice depiction of ketamine xylazine anaesthesia and a reinterpretation of hemifield neglect

    Syntax with oscillators and energy levels

    Get PDF
    This book presents a new approach to studying the syntax of human language, one which emphasizes how we think about time. Tilsen argues that many current theories are unsatisfactory because those theories conceptualize syntactic patterns with spatially arranged structures of objects. These object-structures are atemporal and do not lend well to reasoning about time. The book develops an alternative conceptual model in which oscillatory systems of various types interact with each other through coupling forces, and in which the relative energies of those systems are organized in particular ways. Tilsen emphasizes that the two primary mechanisms of the approach â€“ oscillators and energy levels â€“ require alternative ways of thinking about time. Furthermore, his theory leads to a new way of thinking about grammaticality and the recursive nature of language. The theory is applied to a variety of syntactic phenomena: word order, phrase structure, morphosyntax, constituency, case systems, ellipsis, anaphora, and islands. The book also presents a general program for the study of language in which the construction of linguistic theories is itself an object of theoretical analysis. Reviewed by John Goldsmith, Mark Gibson and an anonymous reviewer. Signed reports are openly available in the downloads session

    Syntax with oscillators and energy levels

    Get PDF
    This book presents a new approach to studying the syntax of human language, one which emphasizes how we think about time. Tilsen argues that many current theories are unsatisfactory because those theories conceptualize syntactic patterns with spatially arranged structures of objects. These object-structures are atemporal and do not lend well to reasoning about time. The book develops an alternative conceptual model in which oscillatory systems of various types interact with each other through coupling forces, and in which the relative energies of those systems are organized in particular ways. Tilsen emphasizes that the two primary mechanisms of the approach â€“ oscillators and energy levels â€“ require alternative ways of thinking about time. Furthermore, his theory leads to a new way of thinking about grammaticality and the recursive nature of language. The theory is applied to a variety of syntactic phenomena: word order, phrase structure, morphosyntax, constituency, case systems, ellipsis, anaphora, and islands. The book also presents a general program for the study of language in which the construction of linguistic theories is itself an object of theoretical analysis. Reviewed by John Goldsmith, Mark Gibson and an anonymous reviewer. Signed reports are openly available in the downloads session
    • …
    corecore