160,932 research outputs found

    Bounded Concurrent Timestamp Systems Using Vector Clocks

    Full text link
    Shared registers are basic objects used as communication mediums in asynchronous concurrent computation. A concurrent timestamp system is a higher typed communication object, and has been shown to be a powerful tool to solve many concurrency control problems. It has turned out to be possible to construct such higher typed objects from primitive lower typed ones. The next step is to find efficient constructions. We propose a very efficient wait-free construction of bounded concurrent timestamp systems from 1-writer multireader registers. This finalizes, corrects, and extends, a preliminary bounded multiwriter construction proposed by the second author in 1986. That work partially initiated the current interest in wait-free concurrent objects, and introduced a notion of discrete vector clocks in distributed algorithms.Comment: LaTeX source, 35 pages; To apper in: J. Assoc. Comp. Mac

    A longitudinal study of phonological processing skills and reading in bilingual children

    Get PDF
    French/English bilingual children (N=40) in French language schools participated in an 8-month longitudinal study of the relation between phonological processing skills and reading in French and English. Participants were administered measures of phonological awareness, working memory, naming speed, and reading in both languages. The results of the concurrent analyses show that phonological awareness skills in both French and English were uniquely predictive of reading performance in both languages after accounting for the influences of cognitive ability, reading ability, working memory, and naming speed. These findings support the hypothesis that phonological awareness is strongly related to beginning word reading skill in an alphabetic orthography. The results of the longitudinal analyses also suggest that orthographic depth influences phonological factors related to reading

    Verification of Shared-Reading Synchronisers

    Get PDF
    Synchronisation classes are an important building block for shared memory concurrent programs. Thus to reason about such programs, it is important to be able to verify the implementation of these synchronisation classes, considering atomic operations as the synchronisation primitives on which the implementations are built. For synchronisation classes controlling exclusive access to a shared resource, such as locks, a technique has been proposed to reason about their behaviour. This paper proposes a technique to verify implementations of both exclusive access and shared-reading synchronisers. We use permission-based Separation Logic to describe the behaviour of the main atomic operations, and the basis for our technique is formed by a specification for class AtomicInteger, which is commonly used to implement synchronisation classes in java.util.concurrent. To demonstrate the applicability of our approach, we mechanically verify the implementation of various synchronisation classes like Semaphore, CountDownLatch and Lock.Comment: In Proceedings MeTRiD 2018, arXiv:1806.0933

    A Wait-free Multi-word Atomic (1,N) Register for Large-scale Data Sharing on Multi-core Machines

    Get PDF
    We present a multi-word atomic (1,N) register for multi-core machines exploiting Read-Modify-Write (RMW) instructions to coordinate the writer and the readers in a wait-free manner. Our proposal, called Anonymous Readers Counting (ARC), enables large-scale data sharing by admitting up to 232−22^{32}-2 concurrent readers on off-the-shelf 64-bits machines, as opposed to the most advanced RMW-based approach which is limited to 58 readers. Further, ARC avoids multiple copies of the register content when accessing it---this affects classical register's algorithms based on atomic read/write operations on single words. Thus it allows for higher scalability with respect to the register size. Moreover, ARC explicitly reduces improves performance via a proper limitation of RMW instructions in case of read operations, and by supporting constant time for read operations and amortized constant time for write operations. A proof of correctness of our register algorithm is also provided, together with experimental data for a comparison with literature proposals. Beyond assessing ARC on physical platforms, we carry out as well an experimentation on virtualized infrastructures, which shows the resilience of wait-free synchronization as provided by ARC with respect to CPU-steal times, proper of more modern paradigms such as cloud computing.Comment: non

    Extending Eventually Consistent Cloud Databases for Enforcing Numeric Invariants

    Get PDF
    Geo-replicated databases often operate under the principle of eventual consistency to offer high-availability with low latency on a simple key/value store abstraction. Recently, some have adopted commutative data types to provide seamless reconciliation for special purpose data types, such as counters. Despite this, the inability to enforce numeric invariants across all replicas still remains a key shortcoming of relying on the limited guarantees of eventual consistency storage. We present a new replicated data type, called bounded counter, which adds support for numeric invariants to eventually consistent geo-replicated databases. We describe how this can be implemented on top of existing cloud stores without modifying them, using Riak as an example. Our approach adapts ideas from escrow transactions to devise a solution that is decentralized, fault-tolerant and fast. Our evaluation shows much lower latency and better scalability than the traditional approach of using strong consistency to enforce numeric invariants, thus alleviating the tension between consistency and availability

    The Monte Carlo Program KoralW version 1.51 and The Concurrent Monte Carlo KoralW&YFSWW3 with All Background Graphs and First Order Corrections to W-Pair Production

    Get PDF
    The version 1.51 of the Monte Carlo (MC) program KoralW for all e+e−→f1fˉ2f3fˉ4e^+e^-\to f_1\bar f_2 f_3\bar f_4 processes is presented. The most important change since the previous version 1.42 is the facility for writing MC events on the mass storage device and re-processing them later on. In the re-processing one may modify parameters of the Standard Model in order to fit them to experimental data. Another important new feature is a possibility of including complete O(α){\cal O}(\alpha) corrections to double-resonant W-pair component-processes in addition to all background (non-WW) graphs. The inclusion is done with the help of the YFSWW3 MC event generator for fully exclusive differential distributions (event-per-event). Technically, it is done in such a way that YFSWW3 runs concurrently with KoralW as a separate slave process, reading momenta of the MC event generated by KoralW and returning the correction weight to KoralW. KoralW introduces the O(α){\cal O}(\alpha) correction using this weight, and finishes processing the event (rejection due to total MC weight, hadronization, etc.). The communication between KoralW and YFSWW3 is done with the help of the FIFO facility of the UNIX/Linux operating system. This does not require any modifications of the FORTRAN source codes. The resulting Concurrent MC event generator KoralW&YFSWW3 looks from the user's point of view as a regular single MC event generator with all the standard features.Comment: 8 figures, 5 tables, submitted to Comput. Phys. Commu
    • …
    corecore