Open Access. Powered by Scholars. Published by Universities.®

Systems Architecture Commons

Open Access. Powered by Scholars. Published by Universities.®

Articles 1 - 2 of 2

Full-Text Articles in Systems Architecture

A Method And Tool For Finding Concurrency Bugs Involving Multiple Variables With Application To Modern Distributed Systems, Zhuo Sun Nov 2018

A Method And Tool For Finding Concurrency Bugs Involving Multiple Variables With Application To Modern Distributed Systems, Zhuo Sun

FIU Electronic Theses and Dissertations

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't 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 …


Rethinking The I/O Stack For Persistent Memory, Mohammad Ataur Rahman Chowdhury Mar 2018

Rethinking The I/O Stack For Persistent Memory, Mohammad Ataur Rahman Chowdhury

FIU Electronic Theses and Dissertations

Modern operating systems have been designed around the hypotheses that (a) memory is both byte-addressable and volatile and (b) storage is block addressable and persistent. The arrival of new Persistent Memory (PM) technologies, has made these assumptions obsolete. Despite much of the recent work in this space, the need for consistently sharing PM data across multiple applications remains an urgent, unsolved problem. Furthermore, the availability of simple yet powerful operating system support remains elusive.

In this dissertation, we propose and build The Region System – a high-performance operating system stack for PM that implements usable consistency and persistence for application …