Blog

Practical Byte-Granular Memory Blacklisting using Califorms

Califorms provides a low overhead security solution for practical, byte-granular memory safety.

Fast Fine-Grained Global Synchronization on GPUs

The key idea is to transform global synchronization into global communication so that conflicts are serialized at the thread block level.

Scalable Parallel Flash Firmware for Many-core Architectures

DeepFlash extract the maximum performance of the underlying flash memory complex by concurrently executing multiple firmware components across many cores within the device.

Single-Level Key-Value Store with Persistent Memory

SLM-DB exploits persistent memory to maintain a B+-tree index and adopt an LSM-tree approach to stage inserted KV pairs in a PM resident memory buffer. SLM-DB has a single-level organization of KV pairs on disks and performs selective compaction for the KV pairs, collecting garbage and keeping the KV pairs sorted sufficiently for range query operations.

Hybrid Data Reliability for Emerging Key-Value Storage Devices

Key-Value Multi-Device (KVMD), a hybrid data reliability manager that employs a variety of reliability techniques with different trade-offs, for key-value devices. Compared to Linux mdadm-based RAID throughput degradation for block devices, data reliability for KV devices can be achieved at a comparable or lower throughput degradation. In addition, the KV API enables much quicker rebuild and recovery of failed devices, and also allows for both hybrid reliability configuration set automatically based on, say, value sizes, and custom per-object reliability configuration for user data.

GraphSSD Graph Semantics Aware SSD

GraphSSD replaces the conventional logical to physical page mapping mechanism in an SSD with a novel vertex-to-page mapping scheme and exploits the detailed knowledge of the flash properties to minimize page accesses. GraphSSD also supports efficient graph updates (vertex and edge modifications) by minimizing unnecessary page movement overheads.

Translation Ranger Operating System Support for Contiguity-Aware TLBs

Translation Ranger’s approach to generating translation contiguity is to rearrange the system’s physical memory mappings such that each VMA can be covered by as few contiguous regions as possible, with regions that are as large as possible.

Strong and Efficient Consistency with Consistency-Aware Durability

ORCA provides strong consistency while closely matching the performance of weakly consistent ZooKeeper.

An Erasure-coding-supported Version of Raft for Reducing Storage Cost and Network Cost

In CRaft, a leader has two methods to replicate log entries to its followers. If the leader can communicate with enough followers, it will replicate log entries bycoded-fragments for better performance. Otherwise, it will replicate complete log entries for liveness.

MICA A Holistic Approach to Fast In-Memory Key-Value Storage

MICA partitions data and mainly uses exclusive access to the partitions. MICA exploits CPU caches and packet burst I/O to disproportionately speed more loaded partitions, nearly eliminating the penalty from skewed workloads. MICA can fallback to concurrent reads if the load is extremely skewed, but avoids concurrent writes, which are always slower than exclusive writes.

Size-aware Sharding For Improving Tail Latencies in In-memory Key-value Stores

Minos distributes requests for keys to cores according to the size of the item associated with the key. In particular, requests for small and large items are sent to disjoint subsets of cores. Size-aware sharding improves tail latencies by avoiding that a request for a small item gets queued behind a request for a large item.

Transparently Self-Replicating Page-Tables for Large-Memory Machine

Mitosis (OSDI 2018 Poster) mitigate NUMA effects on page-table walks by transparently replicating and migrating page-tables across sockets without application changes.