RSSAmplifier

Blog

Noah Watkins

Recent content on Noah Watkins

makedist.comRSS feed ↗59 posts

Latest posts

What's new in Seastar - issue 4

A summary of recent developments in the C++ Seastar project .

What's new in Seastar - issue 3

A summary of recent developments in the C++ Seastar project .

What's new in Seastar - issue 2

A summary of recent developments in the C++ Seastar project .

A virtual machine approach to fuzzing interfaces

Clang’s libfuzzer can design adverserial programs.

What's new in Seastar - issue 1

A summary of recent developments in the C++ Seastar project .

Seastar's semaphore utility

Everyone’s favorite concurency control device.

Seastar's timer utility

Efficiently manage a bunch of scheduled, asynchronous upcalls.

Seastar's gate utility

Synchronize access to resources by tracking active fibers.

Seastar's weak pointer

The non-owning counterpart to Seastar’s shared pointer.

Seastar's temporary buffer

A staple utility for memory management in Seastar.

About

Welcome to makedist.

Seastar's deleter utility

A souped up tool for building RAII objects.

Seastar's shared pointer

A reference counted smart pointer with unique optimizations.

Video of my Cephalocon 2019 Talk

Creating active objects with Lua in the Ceph distributed storage system.

Video of my Cephalocon 2018 Talk

How we built a distributed shared-log on top of Ceph.

Getting started with the smf rpc framework

Learn how to use the fastest RPC in the west

Video of my talk at Lua Workshop 2017

Creating active objects with Lua in the Ceph distributed storage system.

Ceph OSD state machine visualization

Using clang to extract a state machine diagram from Ceph’s C++ implementation.

Management of the CruzDB database catalog

Taking the CruzDB data model beyond a simple, flat key space.

How CruzDB manages transaction afterimages

Increasing transaction throughput by writing database snapshots in parallel.

An overview of transaction management in CruzDB

A shared-log creates interesting challenges for transaction management.

CruzDB is one large copy-on-write tree

Each transaction in CruzDB is stored in a log as a copy-on-write tree delta.

An introduction to the CruzDB database system

CruzDB is an immutable database built on top of a distributed shared-log.

Systems research I'm watching for in 2018

Distributed shared memory systems, language runtimes, and server frameworks.

Sharding the LRU node cache in CruzDB

Improving read performance by sharding the LRU node cache.

Debuting the performance of CruzDB

Hot of the press performance results show plenty of room to improve.

Slow placement group read operations in Ceph

An unsolved mystery involving slow reads and Ceph placement groups.

Adding a new placement group operation in Ceph

Teaching Ceph new tricks on entire groups of objects.

Measuring userfaultfd page-fault latency

How fast can my application service its own page fault?

Building an immutable key-value store on zlog

Persistent data structures are the dopest shit.

ZLog project update (mid-2016 edition)

Project funding, design updates, and improved performance.

RADOS object class development activity

Spoiler alert: object classes are HOT .

Toward dynamic RADOS object class management

Persisting Lua-based RADOS object classes in Ceph.

Load Lua RADOS classes from local file system

Supporting the installation of Lua-based RADOS object classes.

ZLog asynchronous I/O support

Bringing zlog into the future with a new asynchronous interface.

Hadoop on Ceph: usability survey

Hadoop interoperability with Lustre, Quantcast, Gluster, and more.

Hadoop on Ceph: diving in

Using Hadoop to process data stored in the Ceph distributed file system.

Distributed search for Beal's Conjecture counterexamples

Speeding up a brute force search in an enormous state space.

Setting up iSER-enabled TGT RAM disk

Bigger and faster networked RAM disks with RDMA and RAID.

Remote RAM disk with RDMA

Piecing together iSER, iSCSI, and LIO to build a networked RAM disk.

Setting up RoCE on aarch64 Ubuntu

Resolving kernel module dependency issues with RoCE.

Performance of the zlog sequencer service

How fast can an integer be incremented and read over the network?

ZLog: a distributed shared-log on Ceph

Building the CORFU distributed shared-log protocol on top of Ceph.

Ceph OSD request processing latency

How fast can Ceph’s RADOS object store process a request?

Tracing Ceph with LTTng

Collecting execution traces in Ceph with LTTng userspace tooling.

The latency of Ceph placement group splitting

How fast can Ceph split up and redistribute a collection of objects?

OpRequest flow in RADOS OSD server

Tracing the flow of object request handling in Ceph.

Performance of compound object operations in Ceph (part 2)

Reducing contention by striping operations across placement groups.

Performance of compound object operations in Ceph (part 1)

We can combine operations on Ceph objects, but should we?

Fixing a Ceph performance WTF

Tracking down and fixing a poorly performing Ceph application workload.