Page 105 - My FlipBook
P. 105
Brochure 2020
Currently, SSDs are considered mainstream storage devices. We have found that traditionally designed
systems su er from sudden failures and cannot always be guaranteed to recover to a steady state upon being
rebooted. Thus, all written data created after the ush operation can be lost. We illustrate an example of this
scenario in Figure 1. Suppose that eight sectors exist in a device. W1 occurred before the latest ush operation
was triggered, and W2 and W3 occurred after the latest flush operation was triggered, with W2 and W3
writing one and three sectors, respectively. When the system crashed upon completion of W3, all of the write
operations incurred by W2 and W3 may or may not be executed after the system is rebooted, thus resulting
in 16 possible states after the system reboot. To deal with this issue, storage or graph processing systems at
the upper layers incur high overheads to guarantee user-data consistency. The general solution in current le
systems (e.g., ext4) is to maintain a journal and recover the system through journaling techniques after system
crashes.
Figure 1 : SSD behaviors incurred by traditional and deterministic design.
We are using the out-of-place update characteristic of SDD to design algorithms and data structures to ensure
that the storage system will recover to the system state right after the last ush operation following a crash.
We have termed our proposed design crash-deterministic SSD. Intuitively, each flush operation triggered
in the crash-deterministic SSD can be considered as a "state-storing" action. Thus, the design of recovery
mechanisms in upper system layers can be simplified by utilizing this feature. For example, the database
system can trigger the ush operation directly after each transaction has been processed so completion of
the transaction is solely "all or nothing" (atomic) upon recovery from a system crash. We plan to use crash-
deterministic SSD as the foundation for the crash recovery mechanism of GraphStor.
103
Currently, SSDs are considered mainstream storage devices. We have found that traditionally designed
systems su er from sudden failures and cannot always be guaranteed to recover to a steady state upon being
rebooted. Thus, all written data created after the ush operation can be lost. We illustrate an example of this
scenario in Figure 1. Suppose that eight sectors exist in a device. W1 occurred before the latest ush operation
was triggered, and W2 and W3 occurred after the latest flush operation was triggered, with W2 and W3
writing one and three sectors, respectively. When the system crashed upon completion of W3, all of the write
operations incurred by W2 and W3 may or may not be executed after the system is rebooted, thus resulting
in 16 possible states after the system reboot. To deal with this issue, storage or graph processing systems at
the upper layers incur high overheads to guarantee user-data consistency. The general solution in current le
systems (e.g., ext4) is to maintain a journal and recover the system through journaling techniques after system
crashes.
Figure 1 : SSD behaviors incurred by traditional and deterministic design.
We are using the out-of-place update characteristic of SDD to design algorithms and data structures to ensure
that the storage system will recover to the system state right after the last ush operation following a crash.
We have termed our proposed design crash-deterministic SSD. Intuitively, each flush operation triggered
in the crash-deterministic SSD can be considered as a "state-storing" action. Thus, the design of recovery
mechanisms in upper system layers can be simplified by utilizing this feature. For example, the database
system can trigger the ush operation directly after each transaction has been processed so completion of
the transaction is solely "all or nothing" (atomic) upon recovery from a system crash. We plan to use crash-
deterministic SSD as the foundation for the crash recovery mechanism of GraphStor.
103