31,102 research outputs found

    Saturation Effects and the Concurrency Hypothesis: Insights from an Analytic Model

    Full text link
    Sexual partnerships that overlap in time (concurrent relationships) may play a significant role in the HIV epidemic, but the precise effect is unclear. We derive edge-based compartmental models of disease spread in idealized dynamic populations with and without concurrency to allow for an investigation of its effects. Our models assume that partnerships change in time and individuals enter and leave the at-risk population. Infected individuals transmit at a constant per-partnership rate to their susceptible partners. In our idealized populations we find regions of parameter space where the existence of concurrent partnerships leads to substantially faster growth and higher equilibrium levels, but also regions in which the existence of concurrent partnerships has very little impact on the growth or the equilibrium. Additionally we find mixed regimes in which concurrency significantly increases the early growth, but has little effect on the ultimate equilibrium level. Guided by model predictions, we discuss general conditions under which concurrent relationships would be expected to have large or small effects in real-world settings. Our observation that the impact of concurrency saturates suggests that concurrency-reducing interventions may be most effective in populations with low to moderate concurrency

    A Concurrent Perspective on Smart Contracts

    Get PDF
    In this paper, we explore remarkable similarities between multi-transactional behaviors of smart contracts in cryptocurrencies such as Ethereum and classical problems of shared-memory concurrency. We examine two real-world examples from the Ethereum blockchain and analyzing how they are vulnerable to bugs that are closely reminiscent to those that often occur in traditional concurrent programs. We then elaborate on the relation between observable contract behaviors and well-studied concurrency topics, such as atomicity, interference, synchronization, and resource ownership. The described contracts-as-concurrent-objects analogy provides deeper understanding of potential threats for smart contracts, indicate better engineering practices, and enable applications of existing state-of-the-art formal verification techniques.Comment: 15 page

    The structured phase of concurrency

    Get PDF
    This extended abstract summarizes the state-of-the-art solution to the structuring problem for models that describe existing real world or envisioned processes. Special attention is devoted to models that allow for the true concurrency semantics. Given a model of a process, the structuring problem deals with answering the question of whether there exists another model that describes the process and is solely composed of structured patterns, such as sequence, selection, option for simultaneous execution, and iteration. Methods and techniques for structuring developed by academia as well as products and standards proposed by industry are discussed. Expectations and recommendations on the future advancements of the structuring problem are suggested

    A Method and Tool for Finding Concurrency Bugs Involving Multiple Variables with Application to Modern Distributed Systems

    Get PDF
    Concurrency bugs are extremely hard to detect due to huge interleaving space. They are happening in the real world more often because of the prevalence of multi-threaded programs taking advantage of multi-core hardware, and microservice based distributed systems moving more and more applications to the cloud. As the most common non-deadlock concurrency bugs, atomicity violations are studied in many recent works, however, those methods are applicable only to single-variable atomicity violation, and don\u27t consider the specific challenge in distributed systems that have both pessimistic and optimistic concurrency control. This dissertation presents a tool using model checking to predict atomicity violation concurrency bugs involving two shared variables or shared resources. We developed a unique method inferring correlation between shared variables in multi-threaded programs and shared resources in microservice based distributed systems, that is based on dynamic analysis and is able to detect the correlation that would be missed by static analysis. For multi-threaded programs, we use a binary instrumentation tool to capture runtime information about shared variables and synchronization events, and for microservice based distributed systems, we use a web proxy to capture HTTP based traffic about API calls and the shared resources they access including distributed locks. Based on the detected correlation and runtime trace, the tool is powerful and can explore a vast interleaving space of a multi-threaded program or a microservice based distributed system given a small set of captured test runs. It is applicable to large real-world systems and can predict atomicity violations missed by other related works for multi-threaded programs and a couple of previous unknown atomicity violation in real world open source microservice based systems. A limitation is that redundant model checking may be performed if two recorded interleaved traces yield the same partial order model

    Dynamic real-time hierarchical heuristic search for pathfinding.

    Get PDF
    Movement of Units in Real-Time Strategy (RTS) Games is a non-trivial and challenging task mainly due to three factors which are constraints on CPU and memory usage, dynamicity of the game world, and concurrency. In this paper, we are focusing on finding a novel solution for solving the pathfinding problem in RTS Games for the units which are controlled by the computer. The novel solution combines two AI Planning approaches: Hierarchical Task Network (HTN) and Real-Time Heuristic Search (RHS). In the proposed solution, HTNs are used as a dynamic abstraction of the game map while RHS works as planning engine with interleaving of plan making and action executions. The article provides algorithmic details of the model while the empirical details of the model are obtained by using a real-time strategy game engine called ORTS (Open Real-time Strategy). The implementation of the model and its evaluation methods are in progress however the results of the automatic HTN creation are obtained for a small scale game map

    Shirakami: A Hybrid Concurrency Control Protocol for Tsurugi Relational Database System

    Full text link
    Modern real-world transactional workloads such as bills of materials or telecommunication billing need to process both short transactions and long transactions. Recent concurrency control protocols do not cope with such workloads since they assume only classical workloads (i.e., YCSB and TPC-C) that have relatively short transactions. To this end, we proposed a new concurrency control protocol Shirakami. Shirakami has two sub-protocols. Shirakami-LTX protocol is for long transactions based on multiversion concurrency control and Shirakami-OCC protocol is for short transactions based on Silo. Shirakami naturally integrates them with write preservation method and epoch-based synchronization. Shirakami is a module in Tsurugi system, which is a production-purpose relational database system

    Living City, A Collaborative Browser-Based Massively Multiplayer Online Game

    Get PDF
    This work presents the design and implementation of our Browser-based Massively Multiplayer Online Game, Living City, a simulation game fully developed at the University of Messina. Living City is a persistent and real-time digital world, running in the Web browser environment and accessible from users without any client-side installation. Today Massively Multiplayer Online Games attract the attention of Computer Scientists both for their architectural peculiarity and the close interconnection with the social network phenomenon. We will cover these two aspects paying particular attention to some aspects of the project: game balancing (e.g. algorithms behind time and money balancing); business logic (e.g., handling concurrency, cheating avoidance and availability) and, finally, social and psychological aspects involved in the collaboration of players, analyzing their activities and interconnections
    • …
    corecore