Verbesserung des Zeitverhaltens mit SSD-Festplatten
Ausgangslage
Aktionen in COSMAS II, die I/O-lastig sind, also viele Daten von den Festplatten einlesen müssen (und die nicht alle im Hauptspeicher vorgehalten werden können), haben ein Zeitverhalten, das stark von der Lese-Geschwindigkeit der angeschlossenen Festplatten und deren Controller abhängt. Durch den Aufbau von immer größeren COSMAS II-Datenbanken fällt dieses Problem immer mehr ins Gewicht, da die Daten auf verschiedenen Dimensionen zunehmen:
- Anzahl der unterschiedlichen Wort-Tokens zu einer Grundformen;
- Anzahl der unterschiedlichen Wort-Tokens zu einem Suchbegriff mit Platzhaltern;
- Anzahl der Texte, auf die bei der Analyse der Ergebnisse zurückgegriffen wird;
- Anzahl der Texte, auf die beim Blättern im KWIC zugegriffen wird.
Art der Optimierung
Beim Einsatz von SSD-Platten (SSD-Laufwerke, die sich als Festplatten einsetzen lassen) handelt es sich um eine reine hardware-mäßige Optimierungsmaßnahme. SSD-Platten bauen auf der Flash-Speichertechnologie auf und kommen ohne mechanische bzw. sich bewegende Komponenten aus, weshalb sie in der Regel wesentlich schneller als die zur Zeit herkömmlichen Festplatten sind. Allerdings sind SSD-Platten teurer und in der Kapazität eingeschränkter.
Beim Einsatz der SSD-Platten wurden die größeren Datenbanken W - W4 und die mittelgroßen annotierten Archive TAGGED-C/C2/T/T2 so eingerichtet, dass die I/O-lastigen Abläufe auf dem neueren schnelleren Speichermedium ausgeführt werden.
Messreihen und Verbesserungsfaktoren
Um die quantitative Verbesserung zu messen, wurden zentrale Aktionen in COSMAS II durch Messereihen beurteilt. Verglichen wurden die Aktionen in identischen Datenbanken, die sich nur durch den Einsatz von SSD-Platten versus herkömmlichen Festplatten unterscheiden. In der Folge sind die Aktionen aufgelistet, die durch den Einsatz der SSD-Platten zu einem zum Teil deutlich verbesserten Zeitverhalten geführt haben.
Getestet wurden bewusst sowohl kürzere als auch aufwändige Abläufe.
Kategorie | Aktion | Zeit bisher ø 1 | Zeit mit SSDs ø 1 | Verbesser- ung Ø 2 | Datenbank | Öffnen eines Archivs | 7,6s | 3,0s | 3.0x |
---|---|---|---|---|
Wortform- listen | &Hand +Komp +Freq Wortformliste: 28'106 Wfs | 3m33s | 40s | 5,6x |
Hand* +Fi+Rb+Db +Freq Wortformliste: 65'155 Wfs | 38s | 42s | 3 1,2x | |
Suche | warum 1'376'000 Treffer | 4,0s | 0,9s | 4,7x |
&-ung +Komp Liste: 17-32'000 Wfs Treffer: bis 45 Mio. | 83m | 52m | 1,5x | |
*keiten +Fi+Rb+Db Liste: 9-27'000 Wfs Treffer: bis 2,4 Mio. | 1h45m | 34m | 2,9x | |
Kookkurrenz- analyse: Laden des Kontextes | wir 10'000 Treffern (Auswahl) | 35s | 6s | 4 7,3x |
wir 100'000 Treffern (Auswahl) | 2m18s | 34s | 4 3.7x | |
wir 500'000 Treffern (Auswahl) | 3m06s | 2m39s | 4 1,3x | |
Ergebnis- präsenta- tionen | nach Wort-Types wir 500'000 Tr. (Auswahl) | 1m23s | 29s | 5 0.7x - 3,7x |
nach Wort-Endungen ihren 500'000 Tr. (Auswahl) | 1m37s | 30s | 5 1,1x - 4,0x | |
KWIC, alphab. sortiert [+1,+2,+3] dessen 500'000 (Auswahl) | 3m05s | 1m56s | 5 0,8x - 1,9x | |
Blättern im KWIC | Seitengröße 200 Zeilen | 10,0s | 2,3s | 5,2x |
Seitengröße 400 Zeilen | 19,6s | 4,3s | 5,6x | |
Seitengröße 800 Zeilen | 41,6s | 8.0s | 5,2x | |
Seitengröße 1'000 Zeilen | 55,1s | 9,4s | 6,7x |
1 : die Zeiten sind die Durchschnittswerte über alle Archive.
2 : der Verbesserungsfaktor ist der Durchschnittswert der berechneten Faktoren. Er wurde nicht direkt aus den in der Tabelle veröffentlichten Durchschnittszeiten berechnet.
3 : hier waren die Zeiten auf den SSDs in einigen Datenbanken schlechter, der Faktor somit teilweise unter 1.0.
4 : infolge von Cache-Effekten war das Laden des Kontextes ohne SSDs bei wiederholten Messungen teilweise schneller als auf den SSDs, der Verbesserungsfaktor also manchmal unter 1,0. Der hier angegebene Faktor berücksichtigt diese Fälle nicht.
5 : bei den kleineren Archiven (TAGGED-x) lag mit einem Faktor von 0,7x - 1,1x sogar teilweise eine Verschlechterung vor; bei den großen Archiven war eine Verbesserung um 1,9x - 4,0x zu verzeichnen.
Auswertung
Welche Abläufe im COSMAS II-Server profitieren von dem neuen Speichermedium:
Das Öffnen der großen Archive profitiert davon, da in dieser Phase hauptsächlich Daten von den Platten in den Hauptspeicher geladen werden.
Bei der Bildung von Wortformlisten samt Berechnung der Frequenzen wirken sich die SSD bei der Lemmatisierungskomponente besonders stark aus (5,6x). Bei Suchbegriffen mit Platzhaltern tritt wider Erwarten keine Verbesserung ein.
Der Such-Prozess profitierte umso mehr von den SSD-Platten, je kürzer die temporären Wortformlisten waren. So varierte der Verbesserungsfaktor zwischen 4,7x bei sehr kurzer Liste (warum: weniger als 10 Einträge) und 1,5x bei mittellangen Listen (bis 30'000 Einträgen für &-ung). Die CPU-Last bei langen temporären Listen, bei denen von verschienenen Wortformen die Treffer gemischt und sortiert werden müssen, fällt stärker zu Buche als die I/O-Verbesserung durch SSDs.
Bei der Kookkurrenzanalyse war zu erwarten, dass hauptsächlich das Laden des Kontextes einen Zeitgewinn erbringen würde, da hierbei hauptsächlich Texte vom schnelleren Medium eingelesen werden. Für die Berechnung von zunehmend großen Treffermengen (ab 100'000 Treffern) nimmt allerdings der nichtlineare Zeitaufwand für die Analyse gegenüber dem Teil I überproportional zu, so dass der Gewinn im Teil I immer weniger ins Gewicht fällt.
Die Ergebnispräsentationen, die auf den Originaltext zurückgreifen, um den Kontext zu analysieren (Ansicht nach Wort-Types, nach Endungen, alphabetisch sortiertes KWIC) profitieren von der Optimierung erst bei den großen Datenbanken (W - W4). Bei den kleineren TAGGED-Datenbanken sind oft die klassischen Festplatten sogar etwas schneller.
Das Blättern im KWIC profitiert ebenfalls enorm von der Optimierung, da es zum Visualisieren der Treffer auf die Originaltexte zugreift. Der Verbesserungsfaktor liegt zwischen 5,2x und 6,7x.
Schlußfolgerungen
Der gezielte Einsatz von SSD-Festplatten als Ersatz für die herkömmlichen Festplatten in I/O-lastigen Bereichen hat sich in einigen zentralen Fällen bewährt. Dadurch können z.B. Suchanfragen, die Auswertung der Ergebnisse (z.B. Kookkurrenzanalyse) und das interaktive Blättern in den KWICs beschleunigt werden. Der Verbesserungsfaktor schwankt je nach Fall zwischen 1,9x und 7,3x. Gerade bei langen Suchanfragen (eine halbe Stunde und länger) wirkt sich selbst ein Beschleunigungsfaktor von nur 1,5x positiv aus.
In den meisten Fällen ergaben die SSD-Platten konstante und lineare Antwortzeiten. Cache-Effekte waren allerdings kaum feststellbar. Die Antwortzeiten der herkömmlichen Festplatten schwankten hingegen infolge von Cache-Effekten stark und konnten, da wo nicht allzu große Datenmengen eingelesen werden, sogar schnellere Antworten liefern als SSDs.
Eine weitere Optimierung in diesen Bereichen ist zukünftig weiterhin denkbar, da zur Zeit immer schnellere, größere und preiswertere SSD-Festplatten auf den Markt gelangen. Dabei müsste auch darauf geachtet werden, dass zukünftige SSD-Platten-Controller mit hinreichend großem Cache-Speicher angeschlossen werden.
Eine hinreichende Optimierung für aufwändige Suchanfragen ist damit nicht gegeben. In diesem Bereich ist eine Software-Lösung mit parallelisierten Suchabläufen in Bearbeitung.
Diese Optimierung wurde im Februar 2016 eingeführt.