Under Construction

Verwenden des NX (gzip) Accelerator mit xgzip

Die direkteste Möglichkeit den NX (gzip) Accelerator zu nutzen, ist über die Kommandos xgzip und xgunzip. Diese können über das Fileset xgzip.rte installiert werden. Das Fileset kann von der IBM Website AIX Web Download Pack Programs heruntergeladen werden.

Nach dem Download kann das Fileset ganz einfach mit „installp“ installiert werden:

 

# installp -acXYd xgzip.rte all
+-----------------------------------------------------------------------------+
                    Pre-installation Verification...
+-----------------------------------------------------------------------------+
Verifying selections...done
Verifying requisites...done
Results...
...

Installation Summary
--------------------
Name                        Level           Part        Event       Result
-------------------------------------------------------------------------------
xgzip.rte                   4.0.20.0        USR         APPLY       SUCCESS   
#

Hinweis: Die Option “-Y” ist notwendig, da den Lizenzbestimmungen von IBM zugestimmt werden muss!

Bei der Installation werden automatisch Links unter /bin für die beiden Kommandos xgzip und xgunzip angelegt. Der Suchpfad der Shell muss daher nicht angepasst werden.

Um den Unterschied zwischen Komprimierung und Entkomprimierung mit, als auch ohne, Hardware Beschleunigung durch den NX (gzip) Accelerator zu ermitteln, haben wir eine ca. 1.5 GB große Test-Datei bereit gestellt:

$ ls -l file1.tar
-rw-r--r--    1 user  staff 1535078400 Mar 22 19:25 file1.tar
$

Die Datei wird für jeden Test einmal komprimiert und anschließend entkomprimiert. Dabei wird jeweils die Zeitdauer ermittelt. Es werden verschiedene Kompressionsstufen („-1“, „-5“ und „-9“) getestet. Hier ein Beispiellauf mit xgzip und xgunzip:

$ time xgzip -9 file1.tar

real    0m7.108s
user    0m0.191s
sys     0m1.683s
$ ls -l file1.tar.gz
-rw-r--r--    1 user  staff 1286050485 Mar 22 19:32 file1.tar.gz
$ time xgunzip file1.tar.gz

real    0m6.240s
user    0m0.630s
sys     0m1.338s
$

In der nachfolgenden Tabelle sind die Werte aller Tests aufgeführt:

 

gzip -1

xgzip -1

 

gzip -5

xgzip -5

 

gzip -9

xgzip -9

 

real

0m54.576s

0m5.277s

10.34

1m9.851s

0m5.132s

13.61

1m36.966s

0m5.147s

18.84

user

0m16.692s

0m0.196s

85.16

0m21.483s

0m0.190s

113.07

0m30.153s

0m0.191s

157.87

sys

0m0.979s

0m1.358s

0.72

0m1.009s

0m1.333s

0.76

0m0.990s

0m1.338s

0.74

size

1180456728

1286050485

 

1157685954

1286050485

 

1155742624

1286050485

 

 

gunzip

xgunzip

 

gunzip

xgunzip

 

gunzip

xgunzip

 

real

0m17.745s

0m6.229s

2.85

0m18.763s

0m6.298s

2.98

0m17.403s

0m6.235s

2.79

user

0m4.575s

0m0.630s

7.26

0m4.421s

0m0.629s

7.03

0m4.398s

0m0.630s

6.98

sys

0m1.121s

0m1.337s

0.84

0m1.213s

0m1.346s

0.90

0m1.153s

0m1.336s

0.86

Was an den Werten für xgzip sofort auffällt, ist das die Zeitdauer für die Kompression unabhängig von der Optimierungsoption ist und dass die komprimierte Datei in allen Fällen gleich groß ist. Die Hardware-Kompression unterstützt also ganz offensichtlich nicht verschiedene Optimierungs-Level. Es gibt nur die Möglichkeit Hardware-Kompression zu verwenden oder nicht. Außerdem fällt auf das die Software-Kompression in allen Fällen eine höhere Komprimierung erzielt.

Der Unterschied zwischen xgzip und gzip ist in etwa eine 10 fach kürzere Laufzeit (Werte für Optimierungs-Level „-1“). Die Nutzung der CPU (user Mode) ist bei Software-Komprimierung in etwa 85 Mal so hoch wie mit Hardware-Komprimierung. D.h. die Hardware-Komprimierung ist deutlich schneller und verbraucht deutlich weniger CPU-Zeit. Allerdings geht dies zu Lasten der erreichten Komprimierung, diese ist bei Software-Kompression in etwas 10% höher (d.h. deutlich kleinere komprimierte Datei).