55 research outputs found

    On Verifying Causal Consistency

    Get PDF
    Causal consistency is one of the most adopted consistency criteria for distributed implementations of data structures. It ensures that operations are executed at all sites according to their causal precedence. We address the issue of verifying automatically whether the executions of an implementation of a data structure are causally consistent. We consider two problems: (1) checking whether one single execution is causally consistent, which is relevant for developing testing and bug finding algorithms, and (2) verifying whether all the executions of an implementation are causally consistent. We show that the first problem is NP-complete. This holds even for the read-write memory abstraction, which is a building block of many modern distributed systems. Indeed, such systems often store data in key-value stores, which are instances of the read-write memory abstraction. Moreover, we prove that, surprisingly, the second problem is undecidable, and again this holds even for the read-write memory abstraction. However, we show that for the read-write memory abstraction, these negative results can be circumvented if the implementations are data independent, i.e., their behaviors do not depend on the data values that are written or read at each moment, which is a realistic assumption.Comment: extended version of POPL 201

    Supply chain risk management and the role of organisation culture : evidence from Libyan ports

    Get PDF
    Seaports are one of the main facilitators of economic growth as they create trade and jobs globally. Particularly in African countries, where they are considered as focal points for oil and gas exportation with both neighbouring and developed countries. As a result, Supply Chain Risk Management or SCRM has become increasingly significant. This research focuses on the context of North African countries, specifically Libya, which is currently suffering from a leadership crisis, violent and political conflict, armed groups and a risky geographical location. All of which relate to and help to build connections within the context of national and organisational culture and the impact of SCRMP on Libyan Ports (LPs). By understanding these connections, these ports could then improve their working conditions, whilst becoming aware of internal and external factors and their impact on survival. This research aims to develop and aid understanding of the impact of SCRM on LPs and how these risk management practices are linked with both national and organisational culture. The focus will be on both internal and external factors, which may influence either positively or negatively. In order to comprehensively understand the topic, this research considers; experience, background, opinions, suggestions, situations, context, culture, and the environment. A pilot study will be conducted with 32 supervisors from four major Libyan ports; Misurata, Khoms, Tripoli, and Benghazi, being interviewed. The main findings highlighting the negative influence of factors such as high-power distance, authority, uncertainty avoidance, political involvement, centralisation, nepotism and low levels of long-term decision making on the SCRMP operations of Libyan Ports (LPs). Ultimately, a conceptual framework will be developed to aid understanding of how the top management of ports in developing countries could be improved using SCRMP

    Algorithmic Verification of Asynchronous Programs

    Full text link
    Asynchronous programming is a ubiquitous systems programming idiom to manage concurrent interactions with the environment. In this style, instead of waiting for time-consuming operations to complete, the programmer makes a non-blocking call to the operation and posts a callback task to a task buffer that is executed later when the time-consuming operation completes. A co-operative scheduler mediates the interaction by picking and executing callback tasks from the task buffer to completion (and these callbacks can post further callbacks to be executed later). Writing correct asynchronous programs is hard because the use of callbacks, while efficient, obscures program control flow. We provide a formal model underlying asynchronous programs and study verification problems for this model. We show that the safety verification problem for finite-data asynchronous programs is expspace-complete. We show that liveness verification for finite-data asynchronous programs is decidable and polynomial-time equivalent to Petri Net reachability. Decidability is not obvious, since even if the data is finite-state, asynchronous programs constitute infinite-state transition systems: both the program stack and the task buffer of pending asynchronous calls can be potentially unbounded. Our main technical construction is a polynomial-time semantics-preserving reduction from asynchronous programs to Petri Nets and conversely. The reduction allows the use of algorithmic techniques on Petri Nets to the verification of asynchronous programs. We also study several extensions to the basic models of asynchronous programs that are inspired by additional capabilities provided by implementations of asynchronous libraries, and classify the decidability and undecidability of verification questions on these extensions.Comment: 46 pages, 9 figure

    Locality and Singularity for Store-Atomic Memory Models

    Full text link
    Robustness is a correctness notion for concurrent programs running under relaxed consistency models. The task is to check that the relaxed behavior coincides (up to traces) with sequential consistency (SC). Although computationally simple on paper (robustness has been shown to be PSPACE-complete for TSO, PGAS, and Power), building a practical robustness checker remains a challenge. The problem is that the various relaxations lead to a dramatic number of computations, only few of which violate robustness. In the present paper, we set out to reduce the search space for robustness checkers. We focus on store-atomic consistency models and establish two completeness results. The first result, called locality, states that a non-robust program always contains a violating computation where only one thread delays commands. The second result, called singularity, is even stronger but restricted to programs without lightweight fences. It states that there is a violating computation where a single store is delayed. As an application of the results, we derive a linear-size source-to-source translation of robustness to SC-reachability. It applies to general programs, regardless of the data domain and potentially with an unbounded number of threads and with unbounded buffers. We have implemented the translation and verified, for the first time, PGAS algorithms in a fully automated fashion. For TSO, our analysis outperforms existing tools

    Finite Automata for the Sub- and Superword Closure of CFLs: Descriptional and Computational Complexity

    Full text link
    We answer two open questions by (Gruber, Holzer, Kutrib, 2009) on the state-complexity of representing sub- or superword closures of context-free grammars (CFGs): (1) We prove a (tight) upper bound of 2O(n)2^{\mathcal{O}(n)} on the size of nondeterministic finite automata (NFAs) representing the subword closure of a CFG of size nn. (2) We present a family of CFGs for which the minimal deterministic finite automata representing their subword closure matches the upper-bound of 22O(n)2^{2^{\mathcal{O}(n)}} following from (1). Furthermore, we prove that the inequivalence problem for NFAs representing sub- or superword-closed languages is only NP-complete as opposed to PSPACE-complete for general NFAs. Finally, we extend our results into an approximation method to attack inequivalence problems for CFGs

    Ogre and Pythia: An Invariance Proof Method for Weak Consistency Models

    Get PDF
    We design an invariance proof method for concurrent programs parameterised by a weak consistency model. The calculational design of the invariance proof method is by abstract interpretation of a truly parallel analytic semantics. This generalises the methods by Lamport and Owicki-Gries for sequential consistency. We use cat as an example of language to write consistency specifications of both concurrent programs and machine architectures

    Decreased glutathione levels and impaired antioxidant enzyme activities in drug-naive first-episode schizophrenic patients

    Get PDF
    <p>Abstract</p> <p>Background</p> <p>The aim of this study was to determine glutathione levels and antioxidant enzyme activities in the drug-naive first-episode patients with schizophrenia in comparison with healthy control subjects.</p> <p>Methods</p> <p>It was a case-controlled study carried on twenty-three patients (20 men and 3 women, mean age = 29.3 ± 7.5 years) recruited in their first-episode of schizophrenia and 40 healthy control subjects (36 men and 9 women, mean age = 29.6 ± 6.2 years). In patients, the blood samples were obtained prior to the initiation of neuroleptic treatments. Glutathione levels: total glutathione (GSHt), reduced glutathione (GSHr) and oxidized glutathione (GSSG) and antioxidant enzyme activities: superoxide dismutase (SOD), glutathione peroxidase (GPx), catalase (CAT) were determined by spectrophotometry.</p> <p>Results</p> <p>GSHt and reduced GSHr were significantly lower in patients than in controls, whereas GSSG was significantly higher in patients. GPx activity was significantly higher in patients compared to control subjects. CAT activity was significantly lower in patients, whereas the SOD activity was comparable to that of controls.</p> <p>Conclusion</p> <p>This is a report of decreased plasma levels of GSHt and GSHr, and impaired antioxidant enzyme activities in drug-naive first-episode patients with schizophrenia. The GSH deficit seems to be implicated in psychosis, and may be an important indirect biomarker of oxidative stress in schizophrenia early in the course of illness. Finally, our results provide support for further studies of the possible role of antioxidants as neuroprotective therapeutic strategies for schizophrenia from early stages.</p
    • …
    corecore