1,003 research outputs found

    Lock-Free and Practical Deques using Single-Word Compare-And-Swap

    Full text link
    We present an efficient and practical lock-free implementation of a concurrent deque that is disjoint-parallel accessible and uses atomic primitives which are available in modern computer systems. Previously known lock-free algorithms of deques are either based on non-available atomic synchronization primitives, only implement a subset of the functionality, or are not designed for disjoint accesses. Our algorithm is based on a doubly linked list, and only requires single-word compare-and-swap atomic primitives, even for dynamic memory sizes. We have performed an empirical study using full implementations of the most efficient algorithms of lock-free deques known. For systems with low concurrency, the algorithm by Michael shows the best performance. However, as our algorithm is designed for disjoint accesses, it performs significantly better on systems with high concurrency and non-uniform memory architecture

    The Adaptive Priority Queue with Elimination and Combining

    Full text link
    Priority queues are fundamental abstract data structures, often used to manage limited resources in parallel programming. Several proposed parallel priority queue implementations are based on skiplists, harnessing the potential for parallelism of the add() operations. In addition, methods such as Flat Combining have been proposed to reduce contention by batching together multiple operations to be executed by a single thread. While this technique can decrease lock-switching overhead and the number of pointer changes required by the removeMin() operations in the priority queue, it can also create a sequential bottleneck and limit parallelism, especially for non-conflicting add() operations. In this paper, we describe a novel priority queue design, harnessing the scalability of parallel insertions in conjunction with the efficiency of batched removals. Moreover, we present a new elimination algorithm suitable for a priority queue, which further increases concurrency on balanced workloads with similar numbers of add() and removeMin() operations. We implement and evaluate our design using a variety of techniques including locking, atomic operations, hardware transactional memory, as well as employing adaptive heuristics given the workload.Comment: Accepted at DISC'14 - this is the full version with appendices, including more algorithm

    Admit your weakness: Verifying correctness on TSO architectures

    Get PDF
    “The final publication is available at http://link.springer.com/chapter/10.1007%2F978-3-319-15317-9_22 ”.Linearizability has become the standard correctness criterion for fine-grained non-atomic concurrent algorithms, however, most approaches assume a sequentially consistent memory model, which is not always realised in practice. In this paper we study the correctness of concurrent algorithms on a weak memory model: the TSO (Total Store Order) memory model, which is commonly implemented by multicore architectures. Here, linearizability is often too strict, and hence, we prove a weaker criterion, quiescent consistency instead. Like linearizability, quiescent consistency is compositional making it an ideal correctness criterion in a component-based context. We demonstrate how to model a typical concurrent algorithm, seqlock, and prove it quiescent consistent using a simulation-based approach. Previous approaches to proving correctness on TSO architectures have been based on linearizabilty which makes it necessary to modify the algorithm’s high-level requirements. Our approach is the first, to our knowledge, for proving correctness without the need for such a modification

    Studies of ferrite, borosilicate and intercalation materials

    Get PDF
    This thesis is concerned with several aspects of the chemistry of iron compounds. The preparation (with particular emphasis on coprecipitation and sol-gel techniques) and processing of ferrites are discussed. Chapter 2 describes the synthesis of Ni-Zn ferrites with various compositions by three methods. These methods include coprecipitation and sol-gel techniques. The Ni-Zn ferrites were characterised by powder X-ray diffactometry (PXRD), scanning electron microscopy (SEM), vibrating sample magnetometry (VSM), Mössbauer spectroscopy and resistivity measurements. The results for the corresponding ferrites prepared by each method are compared. Chapter 3 reports the sol-gel preparation of a lead borosilicate glass and its addition to Ni-Zn ferrites prepared by the sol-gel method in Chapter 2. The glass-ferrites formed were analysed by the same techniques employed in Chapter 2. Alterations in the microstructure, magnetic and electronic properties of the ferrites due to glass addition are described. Chapter 4 introduces compounds containing Fe-O-B, Fe-O-Si or B-O-Si linkages. The synthesis and characterisation of compounds containing Fe-O-B units are described. The structure of [Fe(SALEN)]2O.CH2Cl2 (17), used in attempts to prepare compounds with Fe-O-Si bonds, was determined by X-ray crystallography. Chapter 4 also details the synthesis of three new borosilicate compounds containing ferrocenyl groups, i.e. [FcBO)2(OSiBut2)2] (19), [(FcBO)2(OSiPh2)2] (20) and [FcBOSiPh3] (21). The structure of (19) was determined by X-ray Crystallographic analysis. Chapter 5 reviews the intercalation properties of the layered host compound iron oxychloride (FeOCI). Intercalation compounds prepared with the microwave dielectric heating technique are also discussed. The syntheses of intercalation compounds by the microwave method with FeOCI as host and ferrocene, ferrocenylboronic acid and 4-aminopyridine as guest species are described. Characterisation of these compounds by powder X-ray diffractometry (PXRD) and M{ssbauer spectroscopy is reported. The attempted synthesis of an intercalation compound with the borosilicate compound (19) as guest species is discussed. Appendices A-E describe the theory and instrumentation involved in powder X-ray diffractometry (PXRD), scanning electron microscopy (SEM0, vibrating sample magnetometry (VSM), Mössbauer spectroscopy and electrical resistivity measurements, respectively. Appendix F details the attempted syntheses of compounds with Fe-O-B and Fe-O-Si linkages

    The effect of exogenous glucose infusion on early embryonic development in lactating dairy cows

    Get PDF
    peer-reviewedThe objective of this study was to examine the effect of intravenous infusion of glucose on early embryonic development in lactating dairy cows. Nonpregnant, lactating dairy cows (n = 12) were enrolled in the study (276 ± 17 d in milk). On d 7 after a synchronized estrus, cows were randomly assigned to receive an intravenous infusion of either 750 g/d of exogenous glucose (GLUC; 78 mL/h of 40% glucose wt/vol) or saline (CTRL; 78 mL/h of 0.9% saline solution). The infusion period lasted 7 d and cows were confined to metabolism stalls for the duration of the study. Coincident with the commencement of the infusion on d 7 after estrus, 15 in vitro-produced grade 1 blastocysts were transferred into the uterine horn ipsilateral to the corpus luteum. All animals were slaughtered on d 14 to recover conceptuses, uterine fluid, and endometrial tissue. Glucose infusion increased circulating glucose concentrations (4.70 ± 0.12 vs. 4.15 ± 0.12 mmol/L) but did not affect milk production or dry matter intake. Circulating β-hydroxybutyrate concentrations were decreased (0.51 ± 0.01 vs. 0.70 ± 0.01 mmol/L for GLUC vs. CTRL, respectively) but plasma fatty acids, progesterone, and insulin concentrations were unaffected by treatment. Treatment did not affect either uterine lumen fluid glucose concentration or the mRNA abundance of specific glucose transporters in the endometrium. Mean conceptus length, width, and area on d 14 were reduced in the GLUC treatment compared with the CTRL treatment. A greater proportion of embryos in the CTRL group had elongated to all length cut-off measurements between 11 and 20 mm (measured in 1-mm increments) compared with the GLUC treatment. In conclusion, infusion of glucose into lactating dairy cows from d 7 to d 14 post-estrus during the critical period of conceptus elongation had an adverse impact on early embryonic development

    COVID-19 and depression and anxiety screening in primary care

    Get PDF
    Introduction: • The COVID-19 pandemic had a severe effect on mental health, heightening the prevalence and severity of anxiety and depression amongst the general population in rural and non-rural areas, particularly youth. • Most reports draw from available data from mental health referrals, hospitalizations, suicides, and other incident data • There is limited longitudinal information from general population samples using standardized mental health assessments.https://knowledgeconnection.mainehealth.org/lambrew-retreat-2023/1027/thumbnail.jp

    An Epistemic Perspective on Consistency of Concurrent Computations

    Full text link
    Consistency properties of concurrent computations, e.g., sequential consistency, linearizability, or eventual consistency, are essential for devising correct concurrent algorithms. In this paper, we present a logical formalization of such consistency properties that is based on a standard logic of knowledge. Our formalization provides a declarative perspective on what is imposed by consistency requirements and provides some interesting unifying insight on differently looking properties

    Verifying linearizability on TSO architectures

    Get PDF
    Linearizability is the standard correctness criterion for fine-grained, non-atomic concurrent algorithms, and a variety of methods for verifying linearizability have been developed. However, most approaches assume a sequentially consistent memory model, which is not always realised in practice. In this paper we define linearizability on a weak memory model: the TSO (Total Store Order) memory model, which is implemented in the x86 multicore architecture. We also show how a simulation-based proof method can be adapted to verify linearizability for algorithms running on TSO architectures. We demonstrate our approach on a typical concurrent algorithm, spinlock, and prove it linearizable using our simulation-based approach. Previous approaches to proving linearizabilty on TSO architectures have required a modification to the algorithm's natural abstract specification. Our proof method is the first, to our knowledge, for proving correctness without the need for such modification

    Open Transactions on Shared Memory

    Full text link
    Transactional memory has arisen as a good way for solving many of the issues of lock-based programming. However, most implementations admit isolated transactions only, which are not adequate when we have to coordinate communicating processes. To this end, in this paper we present OCTM, an Haskell-like language with open transactions over shared transactional memory: processes can join transactions at runtime just by accessing to shared variables. Thus a transaction can co-operate with the environment through shared variables, but if it is rolled-back, also all its effects on the environment are retracted. For proving the expressive power of TCCS we give an implementation of TCCS, a CCS-like calculus with open transactions
    • …
    corecore