Paper Accepted at EDBT 2017

2017-01-05 20:08 von Administrator

S. Hardock, I. Petrov, R. Gottstein, A. Buchmann. In-Place Appends for Real: DBMS Overwrites on Flash without Erase. In Proc. EDBT 2017 [PDF]

Abstract: Flash SSD is THE second tier storage for DBMS nowadays. Compared to HDDs, it is faster, consumes less power, produces less heat, and it is cheaper in terms of $/IOPS. Furthermore, the replacement of HDDs with SSDs is typically trivial since both kinds of storage devices utilize the same block-device interface and not seldom the same physical interfaces.

The recent research has shown that masking the management and the properties of native Flash memory using the black-box abstraction realized by the on-device Flash Translation Layer (FTL) significantly lowers the performance and endurance characteristics of Flash. The alternative is the utilization of open Flash interfaces. In this paper we follow this idea and propose an extension to it - the approach of In-Place Appends.

In the present paper we demonstrate a novel approach to handling small updates on Flash called In-Place Appends (IPA). It allows the DBMS to revisit the traditional write behavior on Flash. Instead of writing whole database pages upon an update in an out-of-place manner on Flash, we transform those small updates into update deltas and append them to a reserved area on the very same physical Flash page. In doing so we utilize the commonly ignored fact, that under certain conditions Flash memories can support in-place updates to Flash pages without a preceding erase operation.

The approach was implemented under Shore-MT and evaluated on real hardware. Under standard update-intensive workloads we observed 67% less page invalidations resulting in 80% lower garbage collection overhead, which yields a 45% increase in transactional throughput, while doubling Flash longevity at the same time. The IPA outperforms In-Page Logging (IPL) by more than 50%.

We showcase a Shore-MT based prototype of the above approach, operating on real Flash hardware -- the OpenSSD Flash research platform. During the demonstration we allow the users to interact with the system and gain hands-on experience of its performance under different demonstration scenarios. These involve various workloads such as TPC-B, TPC-C or TATP.