Summary of "Bryan Cantrill from Joyent on Manta: internet-facing object storage facility that features compute"
Summary of Video: “Bryan Cantrill from Joyent on Manta: internet-facing object storage facility that features compute”
Key Technological Concepts and Product Features
1. Historical Context of File Systems and Storage
- Early file systems (1970s-1980s) were designed for single large disks.
- As disk sizes plateaued, RAID (Redundant Array of Inexpensive Disks) was introduced to combine multiple smaller disks.
- Traditional volume management layers acted as a “lie” to file systems by pretending multiple disks were one, causing manageability, performance, and consistency issues.
- This divide between file systems and volume management led to complexity and reliability problems, especially with logical volume managers (LVMs) like vxvm, IBM LVM, etc.
2. ZFS as a Revolutionary File System
- Developed at Sun Microsystems to bridge the gap between file systems and volume management through tight integration.
- Key features:
- Copy-on-write design.
- Always consistent on disk (no fsck needed).
- Checksumming of all blocks.
- Self-healing of mirrored data.
- Transactional rollbacks.
- Designed with future technologies in mind, such as non-volatile main memory.
- Battle-tested in enterprise storage environments, improving to handle complex failure modes including firmware bugs.
- Adoption limited by licensing and business factors despite its advantages.
3. Virtualization Models
- Hardware virtualization: Traditional method (e.g., IBM 360), creating virtual hardware for legacy software compatibility.
- Platform-level virtualization: High-level and restrictive (e.g., Google App Engine).
- OS-level virtualization (containers/zones): Lightweight, efficient model where multiple isolated environments share a single OS kernel.
- Joyent’s SmartOS uses zones, providing bulletproof OS-level virtualization with flexible resource allocation and resizing.
4. Manta: Object Storage with Compute
- Joyent’s internet-facing object storage service built on ZFS and OS-level virtualization (zones).
- Supports true hierarchical storage, unlike Amazon S3’s flat key-value model.
- Enables users to run compute jobs directly where the data lives (compute-to-data model).
- Jobs run inside zones on the same physical nodes as the data, avoiding expensive data movement.
- Users can log into zones interactively (via
mlogin) to debug or run arbitrary programs on stored objects. - Supports streaming large objects, no hard limits on object size, and efficient handling of big data workloads.
- Enables parallelism by creating multiple zones to process many objects simultaneously.
5. Unix Philosophy and Manta
- Leverages the Unix philosophy of simple tools that do one thing well and can be composed via pipelines.
- Contrasts with heavyweight big data frameworks (e.g., Hadoop) that often violate simplicity.
- Enables running classic Unix-style data processing pipelines (e.g., word count) directly on stored objects in parallel.
- Reduces complexity and infrastructure overhead compared to traditional MapReduce clusters.
6. Billing and Pricing Model
- Storage priced competitively at Amazon S3 rates.
- Compute charged by the second (unlike traditional cloud providers that often bill by the hour).
- Billing implemented using Manta itself, running jobs to process usage logs and generate invoices.
- Pricing is transparent and usage can be inspected via JSON logs.
7. CAP Trade-offs in Manta
- For writes, Manta chooses consistency and partition tolerance (CP): a write is acknowledged only after it is stored in multiple data centers.
- For reads, Manta chooses availability and partition tolerance (AP), allowing reads from any available data center.
- Contrasts with S3, which often returns success before replication completes, causing eventual consistency issues.
8. Use Cases and Applications
- Log processing is a natural fit.
- Video analytics and scientific computing (e.g., bioinformatics, proteomics) are actively supported and growing.
- Enables interactive debugging of large core dumps and crash dumps, stored indefinitely for analysis.
- Encourages creativity by providing a general-purpose compute platform co-located with data.
9. Limitations and Constraints
- Default resource allocation per job includes 1 GB RAM and 8 GB storage, adjustable based on needs and billing.
- Large reducers may require more RAM; parallelism is achieved by splitting data into multiple objects.
- Designed for workloads where compute-to-data is efficient; very long-running compute jobs are better suited for traditional infrastructure-as-a-service (IaaS).
Guides, Tutorials, and Demonstrations
- Live demonstrations of Manta commands such as
mls,mget,mfind, andmjob createshowing:- Listing hierarchical directories and objects.
- Retrieving ancient Unix man pages stored as objects.
- Running parallel jobs on multiple objects (e.g., word frequency count).
- Logging into a zone running on the same machine as the data for interactive debugging.
- Explanation of building data processing pipelines on Manta using Unix-style command-line tools.
- Discussion on interpreting billing logs and usage data stored and processed within Manta itself.
Main Speakers / Sources
- Bryan Cantrill — Former Sun Microsystems engineer, co-creator of DTrace and ZFS, currently at Joyent.
- Mark Cavage — Senior engineer formerly at Amazon AWS, contributed key insights to Manta’s design.
- Other Joyent Engineers — Including Josh PL (creator of
mlogin) and Dave P (lead engineer on Manta).
Summary
The talk covers the evolution of storage technology, architectural innovations behind ZFS, the rationale for OS-level virtualization, and the design and capabilities of Manta as a next-generation object storage system. Manta integrates compute directly with data, enabling new paradigms in big data processing and cloud infrastructure.
Category
Technology
Share this summary
Is the summary off?
If you think the summary is inaccurate, you can reprocess it with the latest model.
Preparing reprocess...