GoJournal - A Verified, Concurrent, Crash-Safe Journaling System

GoJournal - A Verified, Concurrent, Crash-Safe Journaling System

USENIX via YouTube Direct link

Contributions

5 of 25

5 of 25

Contributions

Class Central Classrooms beta

YouTube videos curated by Class Central.

Classroom Contents

GoJournal - A Verified, Concurrent, Crash-Safe Journaling System

Automatically move to the next video in the Classroom when playback concludes

  1. 1 Intro
  2. 2 Suppose we want to write a correct file system
  3. 3 Gojournal gives a storage system efficient, atomic writes
  4. 4 Current approaches cannot handle a system of this complexity
  5. 5 Contributions
  6. 6 Gojournal writes operations atomically to disk
  7. 7 Operations can concurrently manipulate objects within a block
  8. 8 Specification challenge: what do concurrently committed operations do?
  9. 9 Sequential journaling only maintains old and next state
  10. 10 An operation's specification only refers to its disk footprint
  11. 11 Introduce assertion for operation's view of disk
  12. 12 Key idea: operations manipulate an in-memory view of each object
  13. 13 Gojournal has a modular implementation and proof
  14. 14 Write-ahead log implements the core atomicity of the journal
  15. 15 Writes are buffered before being logged
  16. 16 Challenge 1: Reads can observe unstable writes
  17. 17 Object layer implements sub-block object access
  18. 18 Challenge 2: Reads and writes can proceed concurrently
  19. 19 Concurrent writes are unsafe due to read- modify-write sequence
  20. 20 Implementation overview
  21. 21 Experimental setup
  22. 22 GONFS gets comparable performance even with a single client
  23. 23 Gojournal allows GONFS to scale with number of clients
  24. 24 Concurrency in the journal matters
  25. 25 Summary

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.