transaction support in a log structured file system
play

Transaction Support in a Log- Structured File System V E R I T A - PDF document

Transaction Support in a Log- Structured File System V E R I T A S Margo I. Seltzer Harvard University Division of Applied Sciences Data Engineering 1993 Outline Introduction Implementation Performance Conclusions


  1. Transaction Support in a Log- Structured File System V E R I T A S Margo I. Seltzer Harvard University Division of Applied Sciences Data Engineering 1993

  2. Outline • Introduction • Implementation • Performance • Conclusions Transactions in LFS

  3. Introduction • Technology ⇒ I/O Bottleneck • Caching ⇒ Write Performance Critical • Write Performance ⇒ Write-optimizing file system. Transactions in LFS

  4. Log-Structured File Systems Mendel Rosenblum, John Ousterhout “The Design and Implementation of a Log-Structured File System” Transactions on Computer Systems, February 1992 • All writes are sequential. • Append-only writes. ⇒ No-overwrite policy. • Uses database logging techniques for recovery. Transactions in LFS

  5. LFS Disk Layout (1) Segments ... Create file 1 (3 blocks) Data Block Meta-data Block Transactions in LFS

  6. LFS Disk Layout (2) Create file 2 (2 blocks) Update block 2, file 1 Data Block Meta-data Block File Map Summary Block

  7. Why LFS for Transactions Traditionally Using LFS Update files in place Update by sequential write Use a separate log file Use LFS’s logging Use segments to impose Force log for commit atomicity It’s basically free! Transactions in LFS

  8. Implementation Goals • Compare transaction performance on LFS to transaction performance on a traditional file system. • Compare user-level transaction performance to LFS-embedded performance. Can we provide transactions as a file system primitive with little or no overhead? Transactions in LFS

  9. Application Structure Application begin Access Methods open_file commit close_file get_record put_record abort Transactions in LFS

  10. Architecture Txn Manager Access Methods Access Methods Application Lock Log Buffer Manager Manager Manager begin commit abort Process Manager Application Txn Manager Lock Manager Process Process Log Log Buffer Buffer Manager Manager Structured Structured Cache Cache File File System System Operating System Operating System Transactions in LFS

  11. Implementation Techniques • Commit: Force policy • Abort: No-Steal • Abort: Shadow Files In-Memory On disk Transactions in LFS

  12. Performance • DECstation 5000 (15 Mips), 300 MB SCSI drive, 32 MB memory, Sprite Operating System. • Modified TPCB Benchmark 10 TPS Scaling Single-user (worst case) No replicated log No think time between transactions Measure throughput only Transactions in LFS

  13. Single-User TP Throughput 20 Transactions per second 15 10 5 OFS LFS OS

  14. Sequential Performance 4000 Elapsed Time (in seconds) 3000 2000 1000 OFS LFS Transactions in LFS

  15. Conclusions • LFS attractive for transactions. • Embedded support is feasible. • Sequential performance is not terrific. • Need to experiment with alternative cleaning strategies to improve sequential write performance. Transactions in LFS

Recommend


More recommend