Everyone Loves File - File Storage Service in Oracle Cloud Infrastructure
Offered By: USENIX via YouTube
Course Description
Overview
Explore the architecture and implementation of Oracle Cloud Infrastructure's File Storage Service (FSS) in this USENIX ATC '19 conference talk. Dive into the scalable block store built using pipelined Paxos, the linearizable multikey transaction-supporting B-tree, and the nonblocking lock-free programming style employed. Learn about the system's use of self-validating B-tree nodes, versioned key-value pairs for snapshots, and a non-scalable Paxos-replicated hash table for configuration storage. Understand how FSS achieves scalability, fault tolerance, and predictable performance through distributed data structures, atomic operations across servers, and a simple throughput model. Compare FSS latency to traditional Linux NFS servers and gain insights into the challenges and solutions in designing a cloud-based elastic filesystem.
Syllabus
Intro
What is File Storage Service
Architecture of File Storage Service
Problems with Standard File Servers
Scale Up: FSS Distributes Data Structures Across Servers
Represent Inodes as Tabular Data instead of implementing the inodes directly
Store the Tabular Data in a Distributed B-tree
Updating the B-tree Requires Atomic Operations Across Servers
The Problem with 2PC
Paxos Doesn't Get Stuck
FSS Uses Paxos to Implement two-phase commit
How Big is an Extent?
Multipage Store Conditional (MPSC) On top of 2PC, We program FSS using an
A Simple Throughput Model
Looks Like a Speedup Curve
Taught by
USENIX
Related Courses
Amazon DynamoDB - A Scalable, Predictably Performant, and Fully Managed NoSQL Database ServiceUSENIX via YouTube Faasm - Lightweight Isolation for Efficient Stateful Serverless Computing
USENIX via YouTube AC-Key - Adaptive Caching for LSM-based Key-Value Stores
USENIX via YouTube The Future of the Past - Challenges in Archival Storage
USENIX via YouTube A Decentralized Blockchain with High Throughput and Fast Confirmation
USENIX via YouTube