BS-Unterstützung für NVRAM - TU Dortmund · GrundlagenÜberlegungenTechnikenZusammenfassung...

28
Grundlagen Überlegungen Techniken Zusammenfassung BS-Unterstützung für NVRAM Timo Cramer 17. Oktober 2015 Timo Cramer BS-Unterstützung für NVRAM 1 / 21

Transcript of BS-Unterstützung für NVRAM - TU Dortmund · GrundlagenÜberlegungenTechnikenZusammenfassung...

Page 1: BS-Unterstützung für NVRAM - TU Dortmund · GrundlagenÜberlegungenTechnikenZusammenfassung BS-Unterstützung für NVRAM TimoCramer 17.Oktober2015 Timo Cramer BS-Unterstützung

Grundlagen Überlegungen Techniken Zusammenfassung

BS-Unterstützung für NVRAM

Timo Cramer

17. Oktober 2015

Timo CramerBS-Unterstützung für NVRAM 1 / 21

Page 2: BS-Unterstützung für NVRAM - TU Dortmund · GrundlagenÜberlegungenTechnikenZusammenfassung BS-Unterstützung für NVRAM TimoCramer 17.Oktober2015 Timo Cramer BS-Unterstützung

Grundlagen Überlegungen Techniken Zusammenfassung

FRAM

Ferroelectric RAMFerro- als Analogie zumFerro-Magnetismuskein Eisen, kein Magnetismus

Schreiben intuitivLesen durch

1 Schreibversuch2 Bemerken von Änderung3 Zustandswiederherstellung

P

E

[6, 7]Timo CramerBS-Unterstützung für NVRAM 2 / 21

Page 3: BS-Unterstützung für NVRAM - TU Dortmund · GrundlagenÜberlegungenTechnikenZusammenfassung BS-Unterstützung für NVRAM TimoCramer 17.Oktober2015 Timo Cramer BS-Unterstützung

Grundlagen Überlegungen Techniken Zusammenfassung

FRAM

Ferroelectric RAMFerro- als Analogie zumFerro-Magnetismuskein Eisen, kein Magnetismus

Schreiben intuitivLesen durch

1 Schreibversuch2 Bemerken von Änderung3 Zustandswiederherstellung

+ nicht flüchtig+ hohe

Geschwindigkeit+ niedriger

Energieverbrauch− teuer− geringe Dichte

Timo CramerBS-Unterstützung für NVRAM 2 / 21

Page 4: BS-Unterstützung für NVRAM - TU Dortmund · GrundlagenÜberlegungenTechnikenZusammenfassung BS-Unterstützung für NVRAM TimoCramer 17.Oktober2015 Timo Cramer BS-Unterstützung

Grundlagen Überlegungen Techniken Zusammenfassung

Überlegungen

Was könnte sich ändern, wenn wir Systeme mit NVRAMhaben?

schnelle Wiederherstellung des Systemzustandsnach Ausfallnach Reboot

Ersetzen von langsameren, nicht-flüchtigenSpeichermedienweniger „Sicherheitskopien“, die auf Massenspeichergeschrieben werden

Timo CramerBS-Unterstützung für NVRAM 3 / 21

Page 5: BS-Unterstützung für NVRAM - TU Dortmund · GrundlagenÜberlegungenTechnikenZusammenfassung BS-Unterstützung für NVRAM TimoCramer 17.Oktober2015 Timo Cramer BS-Unterstützung

Grundlagen Überlegungen Techniken Zusammenfassung

nur-NVRAM-Systeme

Systeme, die in Zukunft nur mit NVRAM ausgestattet sind,sind denkbar.

Verschmelzung zwischen Arbeits- und Massenspeicherin-place Bearbeitung von Datenim Extrem: Wegfall von Paging und getrenntenAdressräumen[1]

Problem: Medien sind dann nicht mehr einfach wechselbar

Timo CramerBS-Unterstützung für NVRAM 4 / 21

Page 6: BS-Unterstützung für NVRAM - TU Dortmund · GrundlagenÜberlegungenTechnikenZusammenfassung BS-Unterstützung für NVRAM TimoCramer 17.Oktober2015 Timo Cramer BS-Unterstützung

Grundlagen Überlegungen Techniken Zusammenfassung

Arten der Wiederherstellung

Systemwiederherstellung kann in verschiedenen Ausformungenpassieren

kompletter Rebootwie Suspend & Resumeauf Gerätetreiber-Ebeneauf Applikations-Ebene

Eine komplette Wiederherstellung ist immer noch nicht(einfach) möglich

flüchtige Register, Caches, etc.neu gestartete Peripherie nach Reboot/Ausfall

Timo CramerBS-Unterstützung für NVRAM 5 / 21

Page 7: BS-Unterstützung für NVRAM - TU Dortmund · GrundlagenÜberlegungenTechnikenZusammenfassung BS-Unterstützung für NVRAM TimoCramer 17.Oktober2015 Timo Cramer BS-Unterstützung

Grundlagen Überlegungen Techniken Zusammenfassung

Probleme

Speicherschutz wird wichtigerFortpflanzung und Persistenz von FehlernNeustart löst nicht mehr so viele Probleme ;)

SecurityKryptographie-Schlüssel im SpeicherStichwort „Cold-Boot-Attacke“

Timo CramerBS-Unterstützung für NVRAM 6 / 21

Page 8: BS-Unterstützung für NVRAM - TU Dortmund · GrundlagenÜberlegungenTechnikenZusammenfassung BS-Unterstützung für NVRAM TimoCramer 17.Oktober2015 Timo Cramer BS-Unterstützung

Grundlagen Überlegungen Techniken Zusammenfassung

ACID

Häufigstes Ziel von Datenbanken und verteilten SystemenAtomicy Jede Aktion wird ganz oder gar nicht ausgeführt

Consistency Jede Aktion bringt das System von einemkonsistenten Zustand in den nächsten

Isolation Keine laufende Aktion beeinflusst eine anderelaufende Aktion

Durability Das Ergebnis jeder erfolgreichen Aktion bleibtdauerhaft erhalten

Timo CramerBS-Unterstützung für NVRAM 7 / 21

Page 9: BS-Unterstützung für NVRAM - TU Dortmund · GrundlagenÜberlegungenTechnikenZusammenfassung BS-Unterstützung für NVRAM TimoCramer 17.Oktober2015 Timo Cramer BS-Unterstützung

Grundlagen Überlegungen Techniken Zusammenfassung

Journaling

Einsatz in Dateisystemen und DatenbankenÄnderungen in Form von TransaktionenSpeichern von Änderungsabsichtenbei Systemausfall: schnelle Wiederherstellung eineskonsistenten Zustandsmögliche Operationen:

Undo – rückgängigRedo – wiederholen

Timo CramerBS-Unterstützung für NVRAM 8 / 21

Page 10: BS-Unterstützung für NVRAM - TU Dortmund · GrundlagenÜberlegungenTechnikenZusammenfassung BS-Unterstützung für NVRAM TimoCramer 17.Oktober2015 Timo Cramer BS-Unterstützung

Grundlagen Überlegungen Techniken Zusammenfassung

Journaling: Variationen[3]Writeback Mode

Nur Metadaten werden ins Journal geschriebenDaten werden einfach auf die Platte geschrieben

+ Dateisystem-Struktur bleibt konsistent− Möglichkeit für inkonsistente Daten

Ordered Modewie Writeback ModeMetadaten werden nach den Daten ins Journalgeschrieben

+ keine Möglichkeit mehr für inkonsistente DatenData Mode

Metadaten und Daten werden gejournaled+ noch mehr Schutz− geringe Performance

Timo CramerBS-Unterstützung für NVRAM 9 / 21

Page 11: BS-Unterstützung für NVRAM - TU Dortmund · GrundlagenÜberlegungenTechnikenZusammenfassung BS-Unterstützung für NVRAM TimoCramer 17.Oktober2015 Timo Cramer BS-Unterstützung

Grundlagen Überlegungen Techniken Zusammenfassung

Datenbanken: Shadow Pages[5]

Konsistenzwahrung durch RedundanzÄnderungen passieren in einer temporären PageBei Erfolg: Ersetzen der alten PageBei Fehler: Entfernen der temporären Page

Beispiel: Änderungen an Page B

Page A Page B Page C

Timo CramerBS-Unterstützung für NVRAM 10 / 21

Page 12: BS-Unterstützung für NVRAM - TU Dortmund · GrundlagenÜberlegungenTechnikenZusammenfassung BS-Unterstützung für NVRAM TimoCramer 17.Oktober2015 Timo Cramer BS-Unterstützung

Grundlagen Überlegungen Techniken Zusammenfassung

Datenbanken: Shadow Pages[5]

Konsistenzwahrung durch RedundanzÄnderungen passieren in einer temporären PageBei Erfolg: Ersetzen der alten PageBei Fehler: Entfernen der temporären Page

Beispiel: Änderungen an Page B

Page A Page B

Page B*

Page C

Timo CramerBS-Unterstützung für NVRAM 10 / 21

Page 13: BS-Unterstützung für NVRAM - TU Dortmund · GrundlagenÜberlegungenTechnikenZusammenfassung BS-Unterstützung für NVRAM TimoCramer 17.Oktober2015 Timo Cramer BS-Unterstützung

Grundlagen Überlegungen Techniken Zusammenfassung

Datenbanken: Shadow Pages[5]

Konsistenzwahrung durch RedundanzÄnderungen passieren in einer temporären PageBei Erfolg: Ersetzen der alten PageBei Fehler: Entfernen der temporären Page

Beispiel: Änderungen an Page B

Page A Page B

Page B*

Page C

Timo CramerBS-Unterstützung für NVRAM 10 / 21

Page 14: BS-Unterstützung für NVRAM - TU Dortmund · GrundlagenÜberlegungenTechnikenZusammenfassung BS-Unterstützung für NVRAM TimoCramer 17.Oktober2015 Timo Cramer BS-Unterstützung

Grundlagen Überlegungen Techniken Zusammenfassung

Datenbanken: Shadow Pages[5]

Konsistenzwahrung durch RedundanzÄnderungen passieren in einer temporären PageBei Erfolg: Ersetzen der alten PageBei Fehler: Entfernen der temporären Page

Beispiel: Änderungen an Page B

Page A

Page B*

Page C

Timo CramerBS-Unterstützung für NVRAM 10 / 21

Page 15: BS-Unterstützung für NVRAM - TU Dortmund · GrundlagenÜberlegungenTechnikenZusammenfassung BS-Unterstützung für NVRAM TimoCramer 17.Oktober2015 Timo Cramer BS-Unterstützung

Grundlagen Überlegungen Techniken Zusammenfassung

Datenbanken: Shadow Pages[5]

Konsistenzwahrung durch RedundanzÄnderungen passieren in einer temporären PageBei Erfolg: Ersetzen der alten PageBei Fehler: Entfernen der temporären Page

+ schnelle Wiederherstellung− schlechte Performance

Timo CramerBS-Unterstützung für NVRAM 10 / 21

Page 16: BS-Unterstützung für NVRAM - TU Dortmund · GrundlagenÜberlegungenTechnikenZusammenfassung BS-Unterstützung für NVRAM TimoCramer 17.Oktober2015 Timo Cramer BS-Unterstützung

Grundlagen Überlegungen Techniken Zusammenfassung

Datenbanken: Checkpointing[5]

hC lC �

Logging (Journaling) von allen Aktionenkein Durchgehen der kompletten HistorieWiederherstellung ab dem letzten CheckpointCheckpoint-Arten

heavyweight Checkpointslightweight Checkpoints („fuzzy Checkpoints“)

Timo CramerBS-Unterstützung für NVRAM 11 / 21

Page 17: BS-Unterstützung für NVRAM - TU Dortmund · GrundlagenÜberlegungenTechnikenZusammenfassung BS-Unterstützung für NVRAM TimoCramer 17.Oktober2015 Timo Cramer BS-Unterstützung

Grundlagen Überlegungen Techniken Zusammenfassung

Datenbanken: Checkpointing[5]

hC lC �

Logging (Journaling) von allen Aktionenkein Durchgehen der kompletten HistorieWiederherstellung ab dem letzten CheckpointCheckpoint-Arten

heavyweight Checkpointslightweight Checkpoints („fuzzy Checkpoints“)

Timo CramerBS-Unterstützung für NVRAM 11 / 21

Page 18: BS-Unterstützung für NVRAM - TU Dortmund · GrundlagenÜberlegungenTechnikenZusammenfassung BS-Unterstützung für NVRAM TimoCramer 17.Oktober2015 Timo Cramer BS-Unterstützung

Grundlagen Überlegungen Techniken Zusammenfassung

Datenbanken: Checkpointing[5]

hC lC �

Logging (Journaling) von allen Aktionenkein Durchgehen der kompletten HistorieWiederherstellung ab dem letzten CheckpointCheckpoint-Arten

heavyweight Checkpointslightweight Checkpoints („fuzzy Checkpoints“)

Timo CramerBS-Unterstützung für NVRAM 11 / 21

Page 19: BS-Unterstützung für NVRAM - TU Dortmund · GrundlagenÜberlegungenTechnikenZusammenfassung BS-Unterstützung für NVRAM TimoCramer 17.Oktober2015 Timo Cramer BS-Unterstützung

Grundlagen Überlegungen Techniken Zusammenfassung

Fine-Grained Fault Tolerance[2]

. . . bietet feinere Wiederherstellung von Linux-GerätetreibernNeustart dauert zu langTechniken:

IsolationCheckpoints

Anforderungen:SchnelligkeitAllgemeinheitEinsetzbarkeit bei Multithreading

Timo CramerBS-Unterstützung für NVRAM 12 / 21

Page 20: BS-Unterstützung für NVRAM - TU Dortmund · GrundlagenÜberlegungenTechnikenZusammenfassung BS-Unterstützung für NVRAM TimoCramer 17.Oktober2015 Timo Cramer BS-Unterstützung

Grundlagen Überlegungen Techniken Zusammenfassung

Fine-Grained Fault Tolerance[2]

IsolationTransactional ExecutionMemory safety and fault detectionSynchronization

. . . durch Code-Analyse und -Generierung zur Übersetzungszeit

minimale Kopie der benutzten DatenErstellung der Kopien an entry pointsZurückschreiben bei Erfolg

Timo CramerBS-Unterstützung für NVRAM 13 / 21

Page 21: BS-Unterstützung für NVRAM - TU Dortmund · GrundlagenÜberlegungenTechnikenZusammenfassung BS-Unterstützung für NVRAM TimoCramer 17.Oktober2015 Timo Cramer BS-Unterstützung

Grundlagen Überlegungen Techniken Zusammenfassung

Fine-Grained Fault Tolerance[2]

CheckpointsSpeicher-basierter Ansatz nicht sinnvoll

Doppelbelegung von AdressenSeiteneffekte

Wiederverwendung von Power ManagementSuspend & Resumez. B. Speichern von PCI-Zustand

Kein komplettes Zustandsabbild des Geräteskein einfacher Memory-DumpSpeichern von Konfiguration und Registerinhaltengeteilte Buffer werden bei Wiederherstellung z. B. neuinitialisiert

Timo CramerBS-Unterstützung für NVRAM 14 / 21

Page 22: BS-Unterstützung für NVRAM - TU Dortmund · GrundlagenÜberlegungenTechnikenZusammenfassung BS-Unterstützung für NVRAM TimoCramer 17.Oktober2015 Timo Cramer BS-Unterstützung

Grundlagen Überlegungen Techniken Zusammenfassung

Whole System Persistence[4]

. . . ist ein Ansatz z. B. für Hauptspeicherdatenbankenmehrere 100GB Hauptspeicherlangwierige Wiederherstellung aus dem MassenspeicherHauptspeicher ist komplett nicht-flüchtig

Idee:Betriebssystem speichert bei Stromausfall den gesamtenZustandSpeichern dauert etwa 5ms, Stromversorgung liefert noch10–300ms Strom

Timo CramerBS-Unterstützung für NVRAM 15 / 21

Page 23: BS-Unterstützung für NVRAM - TU Dortmund · GrundlagenÜberlegungenTechnikenZusammenfassung BS-Unterstützung für NVRAM TimoCramer 17.Oktober2015 Timo Cramer BS-Unterstützung

Grundlagen Überlegungen Techniken Zusammenfassung

Whole System Persistence[4]Überwachung der Stromversorgung durch einen ArduinoInterrupt-Signal über serielle Schnittstelle

Timo CramerBS-Unterstützung für NVRAM 16 / 21

Page 24: BS-Unterstützung für NVRAM - TU Dortmund · GrundlagenÜberlegungenTechnikenZusammenfassung BS-Unterstützung für NVRAM TimoCramer 17.Oktober2015 Timo Cramer BS-Unterstützung

Grundlagen Überlegungen Techniken Zusammenfassung

Zusammenfassung

NVRAM hilft uns, persistente Systeme zu erstellenkomplette Wiederherstellung ist immer noch nicht einfachmöglichzustandsbasierte vs. speicherbasierte Sichtweise

Timo CramerBS-Unterstützung für NVRAM 17 / 21

Page 25: BS-Unterstützung für NVRAM - TU Dortmund · GrundlagenÜberlegungenTechnikenZusammenfassung BS-Unterstützung für NVRAM TimoCramer 17.Oktober2015 Timo Cramer BS-Unterstützung

Grundlagen Überlegungen Techniken Zusammenfassung

Empfehlungen

Whole System Persistencebeeinflusst den Rest der Programmierung nichtHardware/Energiemodell muss vorhanden sein

„Sicherheitskopien“ mit Shadow Objectswir haben ein System mit flüchtigem undnicht-flüchtigem RAMArbeitskopie im SRAM, dauerhafte Kopie im FRAM

Timo CramerBS-Unterstützung für NVRAM 18 / 21

Page 26: BS-Unterstützung für NVRAM - TU Dortmund · GrundlagenÜberlegungenTechnikenZusammenfassung BS-Unterstützung für NVRAM TimoCramer 17.Oktober2015 Timo Cramer BS-Unterstützung

Grundlagen Überlegungen Techniken Zusammenfassung

Quellen I

Katelin Bailey, Luis Ceze, Steven D. Gribble, andHenry M. Levy.Operating System Implications of Fast, Cheap,Non-Volatile Memory.2011.Asim Kadav, Matthew J. Renzelmann, and Michael M.Swift.Fine-Grained Fault Tolerance using Device Checkpoints.2013.

Timo CramerBS-Unterstützung für NVRAM 19 / 21

Page 27: BS-Unterstützung für NVRAM - TU Dortmund · GrundlagenÜberlegungenTechnikenZusammenfassung BS-Unterstützung für NVRAM TimoCramer 17.Oktober2015 Timo Cramer BS-Unterstützung

Grundlagen Überlegungen Techniken Zusammenfassung

Quellen II

M. Tim Jones.Anatomy of Linux journaling file systems.http://www.ibm.com/developerworks/library/l-journaling-filesystems/, 2008-06-04.

Dushyanth Narayanan and Orion Hodson.Whole-System Persistence.2012.Jens Teubner.Vorlesungsfolien zu AIDB, WS 14/15.

Timo CramerBS-Unterstützung für NVRAM 20 / 21

Page 28: BS-Unterstützung für NVRAM - TU Dortmund · GrundlagenÜberlegungenTechnikenZusammenfassung BS-Unterstützung für NVRAM TimoCramer 17.Oktober2015 Timo Cramer BS-Unterstützung

Grundlagen Überlegungen Techniken Zusammenfassung

Quellen III

Wikipedia User Bigly.Ferroelectric polarisation.svg.https://de.wikipedia.org/wiki/Datei:Ferroelectric_polarisation.svg, 2007-12-03.

Wikipedia User Cyferz.1T FeRAM cell structure.svg.https://en.wikipedia.org/wiki/File:1T_FeRAM_cell_structure.svg, 2007-07-09.

Timo CramerBS-Unterstützung für NVRAM 21 / 21