A persistent transactional memory (PTM) library provides an easy-to-use interface to programmers for using byte-addressable non-volatile memory (NVM). Previously proposed PTMs have, so far, been blocking. We present OneFile, the first wait-free PTM with integrated wait-free memory reclamation. We have designed and implemented two variants of the OneFile, one with lock-free progress and the other with bounded wait-free progress. We additionally present software transactional memory (STM) implementations of the lock-free and wait-free algorithms targeting volatile memory. Each of our PTMs and STMs is implemented as a single C++ file with ∼1,000 lines of code, making them versatile to use. Equipped with these PTMs and STMs, non-expert developers can design and implement their own lock-free and wait-free data structures on NVM, thus making lock-free programming accessible to common software developers.
Non-Volatile Main Memory (NVMM) has brought forth the need for data structures that are not only concurrent but also resilient to non-corrupting failures. Until now, persistent transactional memory libraries (PTMs) have focused on providing correct recovery from non-corrupting failures without memory leaks. Most PTMs that provide concurrent access do so with blocking progress.The main focus of this paper is to design practical PTMs with wait-free progress based on universal constructions. We first present CX-PUC, the first bounded wait-free persistent universal construction requiring no annotation of the underlying sequential data structure. CX-PUC is an adaptation to persistence of CX, a recently proposed universal construction. We next introduce CX-PTM, a PTM that achieves better throughput and supports transactions over multiple data structure instances, at the price of requiring annotation of the loads and stores in the data structure-as is commonplace in software transactional memory. Finally, we propose a new generic construction based on a finite number of replicas and Herlihy's wait-free consensus, which uses physical instead of logical logging. This PTM, which we named Redo-PTM, records all the store instructions executed on each operation and considerably improves throughput for update transactions. These generic constructions enable the creation of wait-free, failure resilient and durable linearizable data structures for NVMM, with integrated wait-free memory allocation and deallocation. By exploiting its capability of providing wait-free ACID transactions, we have used Redo-PTM to implement the world's first persistent key-value store with bounded wait-free progress.
Byte addressable persistent memory eliminates the need for serialization and deserialization of data, to and from persistent storage, allowing applications to interact with it through common store and load instructions. In the event of a process or system failure, applications rely on persistent techniques to provide consistent storage of data in non-volatile memory (NVM). For most of these techniques, consistency is ensured through logging of updates, with consequent intensive cache line flushing and persistent fences necessary to guarantee correctness. Undo log based approaches require store interposition and persistence fences before each in-place modification. Redo log based techniques can execute transactions using just two persistence fences, although they require store and load interposition which may incur a performance penalty for large transactions. So far, these techniques have been difficult to integrate with known memory allocators, requiring allocators or garbage collectors specifically designed for NVM.We present Romulus, a user-level library persistent transactional memory (PTM) which provides durable transactions through the usage of twin copies of the data. A transaction in Romulus requires at most four persistence fences, regardless of the transaction size. Romulus uses only store interposition. Any sequential implementation of a memory allocator can be adapted to work with Romulus. Thanks to its lightweight design and low synchronization overhead, Romulus achieves twice the throughput of current state of the art PTMs in update-only workloads, and more than one order of magnitude in read-mostly scenarios.
Improving potencies through concomitant blockage of multiple epitopes and avid binding by fusing multiple (different) monovalent Nanobody building blocks via linker sequences into one multivalent polypeptide chain is an elegant alternative to affinity maturation. We explored a large and random formatting library of bivalent (combinations of two identical) and biparatopic (combinations of two different) Nanobodies for functional blockade of Pseudomonas aeruginosa PcrV. PcrV is an essential part of the P. aeruginosa type III secretion system (T3SS), and its oligomeric nature allows for multiple complex binding and blocking options. The library screening yielded a large number of promising biparatopic lead candidates, revealing significant (and non-trivial) preferences in terms of Nanobody building block and epitope bin combinations and orientations. Excellent potencies were confirmed upon further characterization in two different P. aeruginosa T3SS-mediated cytotoxicity assays. Three biparatopic Nanobodies were evaluated in a lethal mouse P. aeruginosa challenge pneumonia model, conferring 100% survival upon prophylactic administration and reducing lung P. aeruginosa burden by up to 2 logs. At very low doses, they protected the mice from P. aeruginosa infection-related changes in lung histology, myeloperoxidase production, and lung weight. Importantly, the most potent Nanobody still conferred protection after therapeutic administration up to 24 h post-infection. The concept of screening such formatting libraries for potency improvement is applicable to other targets and biological therapeutic platforms.
No abstract
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.
customersupport@researchsolutions.com
10624 S. Eastern Ave., Ste. A-614
Henderson, NV 89052, USA
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
Copyright © 2024 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.