Zusammenfassung

Prozessoren gehören zu den zentralen Elementen in einem Computersystem, wenn es um die Datenverarbeitung geht. Aus diesem Grund ist eine effiziente Konstruktion der Prozessorarchitektur genauso wichtig für die Verarbeitungsleistung, wie die effiziente Nutzung der, durch die Architektur gegebenen Möglichkeiten. In der Vergangenheit wurde die Beschleunigung vor allem durch die kontinuierliche Steigerung der Taktfrequenz erreicht. Aufgrund von physikalischen Aspekten sind diesem Wachstum jedoch zunehmend Grenzen gesetzt. Eine weitere Leistungssteigerung kann jedoch auch durch eine spezifische, an die jeweilige Aufgabe angepasste, Prozessorarchitektur erreicht werden.
Ein besonders exponiertes Gebiet für kontinuierlich notwendige Leitungssteigerungen stellen die Datenbanksysteme dar. Aufgrund der weltweit wachsenden digitalen Datenmenge steigt auch die Notwendigkeit für Datenbanken, immer mehr zu speichern und zu verarbeiten. Für den effizienten Betrieb ist hierbei ein hoher Datensatz genauso wichtig wie geringe Latenzen und eine gute Gesamtperformance, auch in Hinblick auf den Energieverbrauch. Das Potential der Anpassung von Hard- und Software aufeinander wurde in der Vergangenheit bereits in unterschiedlichen Veröffentlichungen beschrieben. Auf dieser Grundlage wird in der vorliegenden Arbeit der Xtensa LX4 als konfigurierbarer Basisprozessor durch die Tensilica Instruction Extension mit aufgabenspezifischen Instruktionen erweitert. Bitmap Indizes stellen in Datenbanksystemen einen Weg zur Beschleunigung der Verarbeitung großer Datenmengen dar. Um hierbei die Menge der zusätzlich notwendigen Daten so gering wie möglich zu halten, werden unterschiedliche Kompressionsalgorithmen eingesetzt, die in der letzten Dekade weiter verbessert wurden, um die Kompressionsleistung zu erhöhen. Untersuchungen der Algorithmenbeschleunigung durch Hardwareanpassungen existieren jedoch bisher nicht. Diese Arbeit dient dem Schließen der Forschungslücke in diesem Bereich. Hierfür wurden, nach der Implementierung unterschiedlicher Algorithmen in C, Möglichkeiten der Beschleunigung identifiziert und durch neu entworfene Instruktionen realisiert. Im Ergebnis werden bei einem Bruchteil des üblichen Verbrauches von Energie und Fläche bei Standardprozessoren Beschleunigungen von bis zu Faktor 108 erreicht.

Abstract

Processors belong to the central elements in computer systems regarding data processing. Due to this fact, an efficient design of the processor architecture is as critical for the processing performance as the proper utilization of possibilities is. The acceleration of performance was mainly in the past mainly achieved by an increasing clock frequency. However, because of physical issues, the frequency enhancement becomes more difficult. But beside this possibility a speed optimization can be reached by designing the architecture tailored to the problems. One of the most critical domains for continuously needed performance enhancements are database systems. Due to the increasing amount of data worldwide, the need for databases for storing and processing more data increases. To ensure an efficient database system, a high data bandwidth is as critical as low latencies and a good overall performance with respect to energy consumption. The potential for adjusting hard- and software to each other has already been proven by different publications in history. In the view of that fact, this diploma thesis will use the Xtensa LX4 as a configurable processor basis and extend it with tailor-made instructions using the Tensilica Instruction Extension. Bitmap Indices are used to accelerate database systems for processing large amounts of data. To minimize the additionally needed data, different algorithms for compression are used. While there have been releases of different compression algorithms with enhanced compression rates in the last decade, there are no investigations on optimizing their performance with specialized hardware. Due to that fact, this thesis will help to close the research gap. To reach this goal, different compressions algorithms were implemented in C and after the identification of bottlenecks, they were replaced by special instructions which were created during the present thesis. This results in a custom processor which needs a fraction of the energy and space normal processors need while accelerating some of the operations by factor 108.

Mehr