arXiv ScienceSearch

arXiv subjects

Gal Assa

Publications and source records attributed to Gal Assa.

3 recordsLinked to original sources

A Programming Model for Disaggregated Memory over CXL

CXL (Compute Express Link) is an emerging open industry-standard interconnect between processing and memory devices that is expected to revolutionize the way systems are designed. It enables cache-coherent, shared memory pools in a disaggregated fashion at unprecedented scales, allowing algorithms to interact with various storage devices using simple loads and stores. While CXL unleashes unique opportunities, it also introduces challenges of data management and crash consistency. For example, CXL currently lacks an adequate programming model, making it impossible to reason about the correctness and behavior of systems on top. In this work, we present CXL0, the first programming model for concurrent programs over CXL. We propose a high-level abstraction for memory accesses and formally define operational semantics. We demonstrate that CXL0 captures a wide range of current and future CXL setups and perform initial measurements on real hardware. To illustrate the usefulness of CXL0, we present a general transformation that enhances any linearizable concurrent algorithm with durability in a distributed partial-crash setting. We believe that this work will serve as a stepping stone for systems design and programming on top of CXL.

cs.DC

Redacting Transactions from Execute-Order-Validate Blockchains

As user privacy gains popularity and attention, and starts to shape relations between users and service providers, blockchain based solutions thrive for ways to relax immutability without sacrificing consistency. This work answers that need and presents the first design for a redactable execute-order-validate blockchain, that grants users with the \emph{right to be forgotten}. The design is easy to adopt, as we exemplify by implementing it on top of Hyperledger Fabric. It modifies the block structure and extracts user data from the hash-chain without loosening any correctness or liveness criteria. We evaluate our design and show that it provides compliance with only a minimal performance overhead, making it a feasible add-on to any execute-order-validate blockchain system.

cs.CR

Using Nesting to Push the Limits of Transactional Data Structure Libraries

Transactional data structure libraries (TDSL) combine the ease-of-programming of transactions with the high performance and scalability of custom-tailored concurrent data structures. They can be very efficient thanks to their ability to exploit data structure semantics in order to reduce overhead, aborts, and wasted work compared to general-purpose software transactional memory. However, TDSLs were not previously used for complex use-cases involving long transactions and a variety of data structures. In this paper, we boost the performance and usability of a TDSL, towards allowing it to support complex applications. A key idea is nesting. Nested transactions create checkpoints within a longer transaction, so as to limit the scope of abort, without changing the semantics of the original transaction. We build a Java TDSL with built-in support for nested transactions over a number of data structures. We conduct a case study of a complex network intrusion detection system that invests a significant amount of work to process each packet. Our study shows that our library outperforms publicly available STMs twofold without nesting, and by up to 16x when nesting is used.

cs.DC