causality based versioning causality based versioning
play

Causality-Based Versioning Causality-Based Versioning Kiran-Kumar - PowerPoint PPT Presentation

Causality-Based Versioning Causality-Based Versioning Kiran-Kumar Muniswamy-Reddy and David A. Holland Harvard School of Engineering and Applied Sciences Consider this scenario Consider this scenario I installed a piece of software I


  1. Causality-Based Versioning Causality-Based Versioning Kiran-Kumar Muniswamy-Reddy and David A. Holland Harvard School of Engineering and Applied Sciences

  2. Consider this scenario Consider this scenario  I installed a piece of software I installed a piece of software  But.. that broke a few other tools! But.. that broke a few other tools!  Uninstall not good enough Uninstall not good enough  The config files were still corrupt The config files were still corrupt 2/25/2009 2 2/25/2009 Causality-Based Versioning - FAST'09 2 Causality-Based Versioning - FAST'09

  3. But which But which Maintains old Maintains old files were files were data to which data to which modified? modified? you can recover you can recover Versioning Versioning 2/25/2009 3 2/25/2009 Causality-Based Versioning - FAST'09 3 Causality-Based Versioning - FAST'09

  4. Tracks propagation Tracks propagation Too bad I don’t Too bad I don’t of data and lets you Causality Causality of data and lets you have those old have those old find which files find which files versions versions were modified were modified 2/25/2009 4 2/25/2009 Causality-Based Versioning - FAST'09 4 Causality-Based Versioning - FAST'09

  5. Causality Causality Versioning Versioning 2/25/2009 5 2/25/2009 Causality-Based Versioning - FAST'09 5 Causality-Based Versioning - FAST'09

  6. Applications of Versioning + Causality Applications of Versioning + Causality  System Configuration Management System Configuration Management  Causal data identifies files modified Causal data identifies files modified  Version data allows you to recover the files Version data allows you to recover the files modified modified  Intrusion Recovery Intrusion Recovery  IP Compliance IP Compliance  Reproduce Research Results Reproduce Research Results 2/25/2009 6 2/25/2009 Causality-Based Versioning - FAST'09 6 Causality-Based Versioning - FAST'09

  7. Apache split-logfile Vulnerability Apache split-logfile Vulnerability  Vulnerability in Apache 1.3 Vulnerability in Apache 1.3  Vulnerability allows attacker to overwrite Vulnerability allows attacker to overwrite any file with a .log extension any file with a .log extension 2/25/2009 7 2/25/2009 Causality-Based Versioning - FAST'09 7 Causality-Based Versioning - FAST'09

  8. Scenario Scenario open DB.log open DB.log 08AM 08AM 09AM Write tx 09AM Write tx 10AM 10AM 11AM Write tx 11AM Write tx Detect Corruption 12PM Detect Corruption 12PM 2/25/2009 8 2/25/2009 Causality-Based Versioning - FAST'09 8 Causality-Based Versioning - FAST'09

  9. Open-close Open-close Can only 08AM Can only 08AM recover to recover to 09AM 09AM 8 AM 8 AM V1;DB.log V1;DB.log 10AM 10AM Detect Corruption 12PM Detect Corruption 12PM 2/25/2009 9 2/25/2009 Causality-Based Versioning - FAST'09 9 Causality-Based Versioning - FAST'09

  10. Version-on-every write Version-on-every write 08AM 08AM 09AM 09AM can recover to can recover to 10 AM, but 10 AM, but V1;DB.log V1;DB.log expensive expensive V2;DB.log V2;DB.log Vn;DB.log Vn;DB.log 10AM 10AM Vn+1;DB.log Vn+1;DB.log Vn+2;DB.log Vn+2;DB.log 2/25/2009 10 2/25/2009 Causality-Based Versioning - FAST'09 10 Causality-Based Versioning - FAST'09

  11. Goal Goal Combine versioning and causality, taking Combine versioning and causality, taking advantage of causality information to advantage of causality information to create versions at just the right time create versions at just the right time 2/25/2009 11 2/25/2009 Causality-Based Versioning - FAST'09 11 Causality-Based Versioning - FAST'09

  12. Contributions Contributions  Two algorithms that create Two algorithms that create useful useful versions versions  Cycle Avoidance Cycle Avoidance  Graph Finesse Graph Finesse  Evaluate efficacy and efficiency of these Evaluate efficacy and efficiency of these two algorithms in the context of versioning two algorithms in the context of versioning 2/25/2009 12 2/25/2009 Causality-Based Versioning - FAST'09 12 Causality-Based Versioning - FAST'09

  13. Outline Outline  Introduction Introduction  Background on PASS Background on PASS  Versioning Algorithms Versioning Algorithms  Implementation Implementation  Evaluation Evaluation  Conclusion Conclusion 2/25/2009 13 2/25/2009 Causality-Based Versioning - FAST'09 13 Causality-Based Versioning - FAST'09

  14. PASS Architecture: P reads A PASS Architecture: P reads A USER Waldo User process P Syscall KERNEL filters filters Interceptor Layer generates generates events events record record Observer ‘P  A’  A’ ‘P Analyzer version? version? Distributor cache cache ‘P   A’ A’ ‘P VFS Layer Lasagna log 2/25/2009 14 2/25/2009 Causality-Based Versioning - FAST'09 14 Causality-Based Versioning - FAST'09

  15. PASS Architecture: P writes B P writes B PASS Architecture: USER Waldo User process P Syscall KERNEL Interceptor Layer generates generates record record Observer ‘B  P’  P’ ‘B Analyzer Version? Version? cache cache ‘P   A’ A’ ‘P ‘B B   P’ P’ Distributor ‘ VFS Layer Lasagna log P   A A P B   P P B 2/25/2009 15 2/25/2009 Causality-Based Versioning - FAST'09 15 Causality-Based Versioning - FAST'09

  16. Outline Outline  Introduction Introduction  Background on PASS Background on PASS  Versioning Algorithms Versioning Algorithms  Implementation Implementation  Evaluation Evaluation  Conclusion Conclusion 2/25/2009 16 2/25/2009 Causality-Based Versioning - FAST'09 16 Causality-Based Versioning - FAST'09

  17. Intuition for new algorithms Intuition for new algorithms  The creation of a cycle is an indicator The creation of a cycle is an indicator that a version created at that instant that a version created at that instant could be useful later could be useful later  Cycles are violations of causality Cycles are violations of causality  Implies that past depends on future! Implies that past depends on future! 2/25/2009 17 2/25/2009 Causality-Based Versioning - FAST'09 17 Causality-Based Versioning - FAST'09

  18. Open-Close Versioning Open-Close Versioning On the last close of a file, issue a “freeze” On the last close of a file, issue a “freeze” 1. 1. operation operation Freeze declares end of a version Freeze declares end of a version  The next open and write triggers a new The next open and write triggers a new 2. 2. version version 2/25/2009 18 2/25/2009 Causality-Based Versioning - FAST'09 18 Causality-Based Versioning - FAST'09

  19. Example scenario Example scenario P Q read A Each read/write is Each read/write is read B enclosed by an enclosed by an Time Time write B open and close open and close write A read A read B 2/25/2009 19 2/25/2009 Causality-Based Versioning - FAST'09 19 Causality-Based Versioning - FAST'09

  20. P Q Open-Close Open-Close read A read B write B write A read A P P read B A1 A1 2/25/2009 20 2/25/2009 Causality-Based Versioning - FAST'09 20 Causality-Based Versioning - FAST'09

  21. P Q Open-Close Open-Close read A read B write B write A Q read A Q P P read B B1 B1 A1 A1 2/25/2009 21 2/25/2009 Causality-Based Versioning - FAST'09 21 Causality-Based Versioning - FAST'09

  22. P Q Open-Close Open-Close read A read B write B write A read A P Q P Q read B B1 B1 B2 B2 A1 A1 2/25/2009 22 2/25/2009 Causality-Based Versioning - FAST'09 22 Causality-Based Versioning - FAST'09

  23. P Q Open-Close Open-Close read A read B write B write A read A P Q P Q read B B1 B1 B2 A2 B2 A2 A1 A1 2/25/2009 23 2/25/2009 Causality-Based Versioning - FAST'09 23 Causality-Based Versioning - FAST'09

  24. P Q Open-Close Open-Close read A read B write B write A P Q read A P Q read B B2 A2 B1 B2 A2 B1 A1 A1 2/25/2009 24 2/25/2009 Causality-Based Versioning - FAST'09 24 Causality-Based Versioning - FAST'09

  25. P Q Open-Close Open-Close read A read B write B write A P Q P Q Open-Close allows cycles to happen. Open-Close allows cycles to happen. read A read B Violates Causality Violates Causality B2 B2 A1 A2 B1 A1 A2 B1 2/25/2009 25 2/25/2009 Causality-Based Versioning - FAST'09 25 Causality-Based Versioning - FAST'09

  26. Version-on-every write Version-on-every write  Pros: Pros:  Preserves causality: there are no cycles Preserves causality: there are no cycles  Every read creates a new version of the process Every read creates a new version of the process  Every write creates a new version of the file Every write creates a new version of the file  There are no duplicates either There are no duplicates either  Disadvantage: most versions are Disadvantage: most versions are unnecessary unnecessary 2/25/2009 26 2/25/2009 Causality-Based Versioning - FAST'09 26 Causality-Based Versioning - FAST'09

Recommend


More recommend