7 research outputs found

    ECROs: Building global scale systems from sequential code

    Get PDF
    Funding Information: We would like to thank Matteo Marra, Jim Bauwens, and the anonymous reviewers for their comments which helped improve the paper. Kevin De Porre is funded by an SB Fellowship of the Research Foundation - Flanders. Project number: 1S98519N. This work was partially supported by Fundação para a Ciência e a Tecnologia - Portugal (FCT/MCTES) under grants UIDB/04516/2020, PTDC/CCI-INF/32081/2017, and LISBOA-01-0145-FEDER-032662/PTDC/CCI-INF/32662/2017.To ease the development of geo-distributed applications, replicated data types (RDTs) offer a familiar programming interface while ensuring state convergence, low latency, and high availability. However, RDTs are still designed exclusively by experts using ad-hoc solutions that are error-prone and result in brittle systems. Recent works statically detect conflicting operations on existing data types and coordinate those at runtime to guarantee convergence and preserve application invariants. However, these approaches are too conservative, imposing coordination on a large number of operations. In this work, we propose a principled approach to design and implement efficient RDTs taking into account application invariants. Developers extend sequential data types with a distributed specification, which together form an RDT. We statically analyze the specification to detect conflicts and unravel their cause. This information is then used at runtime to serialize concurrent operations safely and efficiently. Our approach derives a correct RDT from any sequential data type without changes to the data type's implementation and with minimal coordination. We implement our approach in Scala and develop an extensive portfolio of RDTs. The evaluation shows that our approach provides performance similar to conflict-free replicated data types for commutative operations, and considerably improves the performance of non-commutative operations, compared to existing solutions.publishersversionpublishe

    Automated Experiments for Deriving Performance-relevant Properties of Software Execution Environments

    Get PDF
    The execution environment can play a crucial role when analyzing the performance of a software system. However, detecting execution environment properties and integrating such properties into performance analyses is a manual, error-prone task. In this thesis, a novel approach for detecting performance-relevant properties of the software execution environment is presented. These properties are automatically detected using predefined experiments and integrated into performance prediction tools

    Automated Experiments for Deriving Performance-relevant Properties of Software Execution Environments

    Get PDF
    The software execution environment can play a crucial role when analyzing the performance of a software system. In this book, a novel approach for the automated detection of performance-relevant properties of the execution environment is presented. The properties are detected using predefined experiments and integrated into performance prediction tools. The approach is applied to experiments for detecting different CPU, OS, and virtualization properties, and validated in different case studies

    RAPID APPLICATION PROTO’IYPING THE PROQUEL LANGUAGE Jean-Yves LINGAT

    No full text
    This paper presents PROQUEL, an executable specification language designed for the RUBIS system, an information system development tool. PROQUEL is at the same time a specification language, data manipulation language, and programming language, making it particularly well suited for prototyping database applications. After a brief introduction to the RUBIS system, the functionality and the various advantages of the PROQUEL language are detailed.
    corecore