31 research outputs found

    Library abstraction for C/C++ concurrency

    Get PDF
    When constructing complex concurrent systems, abstraction is vital: programmers should be able to reason about concurrent libraries in terms of abstract specifications that hide the implementation details. Relaxed memory models present substantial challenges in this respect, as libraries need not provide sequentially consistent abstractions: to avoid unnecessary synchronisation, they may allow clients to observe relaxed memory effects, and library specifications must capture these. In this paper, we propose a criterion for sound library abstraction in the new C11 and C++11 concurrency model, generalising the standard sequentially consistent notion of linearizability. We prove that our criterion soundly captures all client-library interactions, both through call and return values, and through the subtle synchronisation effects arising from the memory model. To illustrate our approach, we verify implementations against specifications for the lock-free Treiber stack and a producer-consumer queue. Ours is the first approach to compositional reasoning for concurrent C11/C++11 programs. 1

    Exascale Agent-Based Modelling for Policy Evaluation in Real-Time (ExAMPLER)

    Get PDF
    Exascale computing can potentially revolutionise the way in which we design and build agent-based models (ABM) through, for example, enabling scaling up, as well as robust calibration and validation. At present, there is no exascale computing operating with ABM (that we are aware of), but pockets of work using High Performance Computing (HPC). While exascale computing is expected to become more widely available towards the latter half of this decade, the ABM community is largely unaware of the requirements for exascale computing for agent-based modelling to support policy evaluation. This project will engage with the ABM community to understand what computing resources are currently used, what we need (both in terms of hardware and software) and to set out a roadmap by which to make it happen

    Revealing the Changing Spatial Structure of Cities from Human Activity Patterns

    Get PDF
    Identifying changes in the spatial structure of cities is a prerequisite for the development and validation of adequate planning strategies. Nevertheless, current methods of measurement are becoming ever more challenged by the highly diverse and intertwined ways of how people actually make use of urban space. Here, we propose a new quantitative measure for the centrality of locations, taking into account not only the numbers of people attracted to different locations, but also the diversity of the activities they are engaged in. This ‘centrality index’ allows for the identification of functional urban centres and for a systematic tracking of their relative importance over time, thus contributing to our understanding of polycentricity. We demonstrate the proposed index using travel survey data in Singapore for different years between 1997 and 2012. It is shown that, on the one hand, the city-state has been developing rapidly towards a polycentric urban form that compares rather closely with the official urban development plan. On the other hand, however, the downtown core has strongly gained in its importance, and this can be partly attributed to the recent extension of the public transit system

    Exascale Agent-Based Modelling for Policy Evaluation in Real-Time (ExAMPLER)

    Get PDF
    Exascale computing can potentially revolutionise the way in which we design and build agent-based models (ABM) through, for example, enabling scaling up, as well as robust calibration and validation. At present, there is no exascale computing operating with ABM (that we are aware of), but pockets of work using High Performance Computing (HPC). While exascale computing is expected to become more widely available towards the latter half of this decade, the ABM community is largely unaware of the requirements for exascale computing for agent-based modelling to support policy evaluation. This project will engage with the ABM community to understand what computing resources are currently used, what we need (both in terms of hardware and software) and to set out a roadmap by which to make it happen

    'Getting By', Coping and Resilience in Difficult Times: Final Report

    Get PDF
    corecore