TU Darmstadt / ULB / TUprints

Flash-aware Database Management Systems

Hardock, Sergej (2020)
Flash-aware Database Management Systems.
Technische Universität Darmstadt
doi: 10.25534/tuprints-00014476
Ph.D. Thesis, Primary publication, Publisher's Version

[img]
Preview
Text
20200730-Flash-aware-Database-Management-Systems.pdf
Copyright Information: CC BY-SA 4.0 International - Creative Commons, Attribution ShareAlike.

Download (4MB) | Preview
Item Type: Ph.D. Thesis
Type of entry: Primary publication
Title: Flash-aware Database Management Systems
Language: English
Referees: Binnig, Prof. Dr. Carsten ; Petrov, Dr.-Ing. Ilia ; Buchmann, Ph.D. Alejandro
Date: November 2020
Place of Publication: Darmstadt
Collation: xxiv, 188 Seiten
Date of oral examination: 4 November 2020
DOI: 10.25534/tuprints-00014476
Abstract:

Flash SSDs are becoming the primary storage technology for single servers and large data centers. In contrast to conventional magnetic disks, which were dominating the storage market for more than 40 years, Flash offers significantly more performance, consumes less energy and has lower cost per IOPS (I/O Operations Per Second). Besides these advantages, an important role in establishment and quick proliferation of Flash storage was played by the black-box design of SSDs, which guaranteed their backwards compatibility with the traditional hard disk drives. This makes the replacement of HDDs seamless as the software stack, including the application, does not require any adjustment. However, such design of SSDs has multiple disadvantages, which become especially critical for database management systems.

The backwards compatibility of SSDs is encapsulated in the so-called Flash translation layer (FTL). FTL is a set of Flash management tasks that typically run on device and mask the native behavior of Flash memory. In other words, FTL creates a black-box over Flash memory and emulates the behavior of HDDs. The fact that the database system has no knowledge about FTL, and has no control over the physical data placement on Flash, results in high I/O overhead, which is caused by suboptimal realization of Flash management tasks and functional redundancy along the critical I/O path. Thus, write-amplification of conventional SSDs used in traditional ’cooked’ storage architecture (i.e., with file system indirection) can be as high as 15x, i.e., a single 4KB write request submitted by the DBMS can turn into 60KB being physically written on Flash storage. As a result, the effective I/O throughput and longevity expectations of SSDs are significantly lower than those of Flash memory encapsulated in these SSDs.

In this work we describe our approach - the NoFTL storage architecture - that aims to solve the aforementioned disadvantages of modern Flash SSDs. The basic idea behind the NoFTL is to give the full control over the underlying Flash storage to the database management system, which in turn assumes elimination of all intermediate abstraction layers (file system, block device layer and FTL) between the DBMS and physical storage. NoFTL consists of three main elements - (i) native Flash interface; (ii) integration of Flash management into subsystems of the DBMS; and (iii) the concept of configurable Flash storage. The interplay of them allows us to realize the whole performance potential of Flash memory. Native Flash interface allows the DBMS to control physical data placement on Flash storage, and to utilize the computational power of the SSD to perform near-data processing. Integration of typical Flash management tasks (address translation, garbage collection and wear leveling) into different subsystems of the DBMS leads to an optimization of these tasks and of native DBMS algorithms. The concept of configurable Flash storage is a unique approach to organize and manage data on Flash SSDs. With the help of novel storage abstractions, the database system can perform intelligent data placement by clustering objects into different regions. Moreover, for each such region the DBMS can apply a separate set of Flash management algorithms, which would be optimal for data assigned to that region.

All this reduces the write-amplification of SSDs to a minimum (up to 15x reduction for OLTP workloads), improves the overall system performance, and significantly increases the lifetime of Flash SSDs (up to 30x improvement). We have realized the NoFTL prototype on an open-source database engine and evaluated it under various scenarios and on different testbeds.

Alternative Abstract:
Alternative AbstractLanguage

Flash-SSDs werden zur primären Speichertechnologie für einzelne Server und große Rechenzentren. Im Gegensatz zu herkömmlichen Festplatten, die mehr als 40 Jahre lang den Speichermarkt dominierten, bietet Flash deutlich mehr Leistung, verbraucht weniger Energie und hat geringere Kosten pro IOPS (I/O-Operationen pro Sekunde). Eine wichtige Rolle bei der Etablierung und schnellen Verbreitung von Flash-Speichern spielte neben diesen Vorteilen auch das Black-Box-Design von SSDs, wodurch deren Abwärtskompatibilität mit den herkömmlichen Festplatten garantiert wurde. Dies macht den Austausch von Festplatten nahtlos, da der Software-Stack einschließlich der Anwendung keine Anpassung erfordert. Ein solches Design von SSDs weist jedoch mehrere Nachteile auf, die für die Datenbankverwaltungssysteme besonders kritisch werden.

Die Abwärtskompatibilität von SSDs ist in der sogenannten Flash Translation Layer (FTL) eingekapselt. FTL ist eine Reihe von Flash-Verwaltungsaufgaben, die normalerweise auf dem Gerät ausgeführt werden und das native Verhalten des Flash-Speichers maskieren. Mit anderen Worten, FTL erstellt eine Blackbox über dem Flash-Speicher und emuliert das Verhalten von Festplatten. Die Tatsache, dass das Datenbanksystem keine Kenntnisse über FTL und auch keine Kontrolle über die physische Datenplatzierung auf dem Flash hat, führt zu einem hohen I/O-Overhead, der durch die suboptimale Realisierung von Flash-Verwaltungsaufgaben und funktionale Redundanz entlang des kritischen I/O-Pfades verursacht wird. Somit kann der Schreibfaktor (write amplification) herkömmlicher SSDs, die in der üblichen "cooked" Speicherarchitektur verwendet werden (d.h. mit Dateisystem-Indirektion), bis zu 15x sein. So kann eine einzelne 4KB Schreibanforderung, die vom DBMS gesendet wird, bis zu 60KB werden, die physisch auf dem Flash-Speicher geschrieben sind. Infolgedessen sind der effektive I/O-Durchsatz und die Langlebigkeitserwartungen von SSDs erheblich niedriger als die von in diesen SSDs eingekapselten Flash-Speichern.

In dieser Arbeit beschreiben wir unseren Ansatz - die NoFTL-Speicherarchitektur, der darauf abzielt, die oben genannten Nachteile moderner Flash-SSDs zu lösen. Die Grundidee hinter der NoFTL besteht darin, dem Datenbankverwaltungssystem die vollständige Kontrolle über den zugrunde liegenden Flash-Speicher zu geben, was wiederum die Eliminierung aller zwischengeschalteten Abstraktionsschichten (Dateisystem, Block-Geräteschnittstelle und FTL) zwischen dem DBMS und dem physischen Speicher voraussetzt. NoFTL besteht aus drei Hauptelementen: (i) native Flash-Schnittstelle; (ii) Integration des Flash-Managements in Subsysteme des DBMS; und (iii) das Konzept des konfigurierbaren Flash-Speichers. Das Zusammenspiel ermöglicht es uns, das gesamte Leistungspotential des Flash-Speichers auszuschöpfen. Mit der nativen Flash-Schnittstelle kann das DBMS die Platzierung physischer Daten auf dem Flash-Speicher steuern und die Rechenleistung der SSD für die datennahe Verarbeitung nutzen. Die Integration typischer Flash-Verwaltungsaufgaben (Adressumsetzung, Garbage Collection und Wear-Leveling) in verschiedene Subsysteme des DBMS führt zu einer Optimierung dieser Aufgaben und als auch Optimierung nativer DBMS-Algorithmen. Das Konzept des konfigurierbaren Flash-Speichers ist ein einzigartiger Ansatz zum Organisieren und Verwalten von Daten auf Flash-SSDs. Mithilfe neuartiger Speicherabstraktionen kann das Datenbanksystem eine intelligente Datenplatzierung durchführen, indem Objekte in verschiedenen Regionen gruppiert werden. Darüber hinaus kann das DBMS für jede dieser Regionen einen separaten Satz von Flash-Verwaltungsalgorithmen anwenden, die für Daten, die dieser Region zugewiesen sind, optimal wären.

All dies reduziert den Schreibfaktor von SSDs auf ein Minimum (bis zu 15-fache Reduzierung für OLTP-Workloads), verbessert die Gesamtsystemleistung und verlängert die Lebensdauer von Flash-SSDs erheblich (bis zu 30-fache Verbesserung). Wir haben den NoFTL-Prototyp auf einer Open-Source-Datenbank-Engine realisiert und unter verschiedenen Szenarien und auf verschiedenen Testumgebungen evaluiert.

German
Status: Publisher's Version
URN: urn:nbn:de:tuda-tuprints-144769
Classification DDC: 000 Generalities, computers, information > 004 Computer science
Divisions: 20 Department of Computer Science > Data Management (2022 umbenannt in Data and AI Systems)
20 Department of Computer Science > Databases and Distributed Systems
Date Deposited: 23 Dec 2020 09:31
Last Modified: 23 Dec 2020 10:18
URI: https://tuprints.ulb.tu-darmstadt.de/id/eprint/14476
PPN: 47441745X
Export:
Actions (login required)
View Item View Item