8 research outputs found

    Explicit Identifiers and Contexts in Reversible Concurrent Calculus

    Get PDF
    International audienceExisting formalisms for the algebraic specification and representation of networks of reversible agents suffer some shortcomings. Despite multiple attempts, reversible declensions of the Calculus of Communicating Systems (CCS) do not offer satisfactory adaptation of notions usual in "forward-only" process algebras, such as replication or context. Existing formalisms disallow the "hot-plugging" of processes during their execution in contexts with their own past. They also assume the existence of "eternally fresh" keys or identifiers that, if implemented poorly, could result in unnecessary bottlenecks and look-ups involving all the threads. In this paper, we begin investigating those issues, by first designing a process algebra endowed with a mechanism to generate identifiers without the need to consult with the other threads. We use this calculus to recast the possible representations of non-determinism in CCS, and as a byproduct establish a simple and straightforward definition of concurrency. Our reversible calculus is then proven to satisfy expected properties. We also observe that none of the reversible bisimulations defined thus far are congruences under our notion of "reversible" contexts

    Enabling Replications and Contexts in Reversible Concurrent Calculus

    Get PDF
    Existing formalisms for the algebraic specification and representation of networks of reversible agents suffer some shortcomings. Despite multiple attempts, reversible declensions of the Calculus of Communicating Systems (CCS) do not offer satisfactory adaptation of notions that are usual in "forward-only" process algebras, such as replication or context. They also seem to fail to leverage possible new features stemming from reversibility, such as the capacity of distinguishing between multiple replications, based on how they replicate the memory mechanism allowing to reverse the computation. Existing formalisms disallow the "hot-plugging" of processes during their execution in contexts that also have a past. Finally, they assume the existence of "eternally fresh" keys or identifiers that, if implemented poorly, could result in unnecessary bottlenecks and look-ups involving all the threads. In this paper, we begin investigating those issues, by first designing a process algebra endowed with a mechanism to generate identifiers without the need to consult with the other threads. We use this calculus to recast the possible representations of non-determinism in CCS, and as a by-product establish a simple and straightforward definition of concurrency. Our reversible calculus is then proven to satisfy expected properties, and allows to lay out precisely different representations of the replication of a process with a memory. We also observe that none of the reversible bisimulations defined thus far are congruences under our notion of "reversible" contexts

    Static versus Dynamic Reversibility in CCS

    Get PDF
    International audienceThe notion of reversible computing is attracting interest because of its applications in diverse fields, in particular the study of programming abstractions for fault tolerant systems. Most computational models are not naturally reversible since computation causes loss of information, and history information must be stored to enable reversibility. In the literature, two approaches to reverse the CCS process calculus exist, differing on how history information is kept. Reversible CCS (RCCS), proposed by Danos and Krivine, exploits dedicated stacks of memories attached to each thread. CCS with Keys (CCSK), proposed by Phillips and Ulidowski, makes CCS operators static so that computation does not cause information loss. In this paper we show that RCCS and CCSK are equivalent in terms of LTS isomorphism

    Experimenting with Emerging ARM and RISC-V Systems for Decentralised Machine Learning

    Full text link
    Decentralised Machine Learning (DML) enables collaborative machine learning without centralised input data. Federated Learning (FL) and Edge Inference are examples of DML. While tools for DML (especially FL) are starting to flourish, many are not flexible and portable enough to experiment with novel systems (e.g., RISC-V), non-fully connected topologies, and asynchronous collaboration schemes. We overcome these limitations via a domain-specific language allowing to map DML schemes to an underlying middleware, i.e. the \ff parallel programming library. We experiment with it by generating different working DML schemes on two emerging architectures (ARM-v8, RISC-V) and the x86-64 platform. We characterise the performance and energy efficiency of the presented schemes and systems. As a byproduct, we introduce a RISC-V porting of the PyTorch framework, the first publicly available to our knowledge

    Relative expressiveness of calculi for reversible concurrency

    Get PDF
    The main motivations for studying reversible computing comes from the promise that reversible computation (and circuits) would lead to more energy efficient computers. Besides circuits, nowadays, reversibility is studied in many other domains. This thesis studies the expressiveness of the causalconsistent reversibility (a well-known notion of reversibility for concurrent systems) in CCS and π-calculus. First, we show that by means of encodings, LTSs of Reversible CCS (introduced by Danos and Krivine) and CCS with Communications Keys (introduced by Phillips and Ulidowski) are isomorphic up to some structural transformations of processes. An explanation of this result is the existence of one causality notion in CCS. In π-calculus, two forms of dependences between the actions give rise to different causal semantics. The main difference is how the parallel extrusion of the same name is treated. We consider three approaches to parallel extrusion problem represented with causal semantics introduced by Boreale et al; Crafa et al; and Cristescu et al. To study them, we devise a framework for reversible π-calculi, parametric with respect to the data structure used to keep track of information about a name extrusions. We show that reversibility induced by our framework is causally-consistent and prove causal correspondence between the semantics given by Boreale et al, and the corresponding instance of the framework

    Enabling Replications and Contexts in Reversible Concurrent Calculus

    No full text
    Existing formalisms for the algebraic specification and representation of networks of reversible agents suffer some shortcomings. Despite multiple attempts, reversible declensions of the Calculus of Communicating Systems (CCS) do not offer satisfactory adaptation of notions that are usual in "forward-only" process algebras, such as replication or context. They also seem to fail to leverage possible new features stemming from reversibility, such as the capacity of distinguishing between multiple replications, based on how they replicate the memory mechanism allowing to reverse the computation. Existing formalisms disallow the "hot-plugging" of processes during their execution in contexts that also have a past. Finally, they assume the existence of "eternally fresh" keys or identifiers that, if implemented poorly, could result in unnecessary bottlenecks and look-ups involving all the threads. In this paper, we begin investigating those issues, by first designing a process algebra endowed with a mechanism to generate identifiers without the need to consult with the other threads. We use this calculus to recast the possible representations of non-determinism in CCS, and as a by-product establish a simple and straightforward definition of concurrency. Our reversible calculus is then proven to satisfy expected properties, and allows to lay out precisely different representations of the replication of a process with a memory. We also observe that none of the reversible bisimulations defined thus far are congruences under our notion of "reversible" contexts
    corecore