Performance Modeling of Storage Virtualization

Nikolas Huber

In die­ser Arbeit wird ein Modell zur Leis­tungs­be­wer­tung einer Soft­ware-Vir­tua­li­sie­rungs­schicht der IBM erar­bei­tet. An einem rea­len Anwen­dungs­sze­na­rio der IBM wird gezeigt, wie sich solch ein archi­tek­tur­ba­sier­tes Per­for­mance- Modell erstel­len lässt und wie man mit Hil­fe sol­cher Model­le die Leis­tung von Sys­te­men ver­bes­sern kann. Dies ist die ers­te Arbeit, wel­che unter­sucht, inwie­fern auto­ma­tisch erzeug­te Per­for­mance- Model­le zur Bewer­tung von Vir­tua­li­sie­rungs­ar­chi­tek­tu­ren in der Pra­xis ein­ge­setzt wer­den kön­nen. Die Ergeb­nis­se der Arbeit zei­gen, dass sol­che Model­le eine unab­ding­ba­re Unter­stüt­zung bei der inge­nieur­mä­ßi­gen Soft­ware­ent­wick­lung bie­ten.

Ende der 60er Jah­re wur­de die Vir­tua­li­sie­rung ein­ge­führt, eine Soft­ware­schicht, wel­che von der benutz­ten Hard­ware eines Sys­tems abs­tra­hiert und dadurch den Betrieb meh­re­rer „Vir­tu­el­ler Maschi­nen“ auf der glei­chen Hard­ware ermög­licht. Vie­le der wich­ti­gen Vir­tua­li­sie­rungs­kon­zep­te, ein­schlä­gi­ge Ent­wick­lun­gen, und ers­te prak­ti­sche Unter­su­chun­gen kamen von den IBM Main­frames (heu­te Sys­tem z). Weil Hard­ware immer bil­li­ger wur­de, ver­lor sich die­se Idee der Vir­tua­li­sie­rung wie­der und die heu­ti­ge Situa­ti­on ist die, dass nach einer Stu­die der IBM (Mass Dis­tri­bu­t­ed Ser­ver Con­so­li­da­ti­on) die vie­len ver­teil­ten Ser­ver (28 Mio. Ende 2007) nur bei einer durch­schnitt­li­chen Ser­ver- und Soft­ware­aus­las­tung von 5–7% arbei­ten und dadurch die IT Kos­ten ver­sechs­fa­chen ($120 Mil­li­ar­den für Manage­ment, $22 Mil­li­ar­den für Ener­gie, bei­des 2007). Die Vir­tua­li­sie­rung lebt des­halb heu­te wie­der neu auf, weil sie vie­le Vor­tei­le ver­spricht, wie z.B. Ein­spa­run­gen durch effi­zi­en­te­re Res­sour­cen- Nut­zung und Kos­ten­ein­spa­run­gen bei der War­tung. Wich­ti­ger noch ist die Bedeu­tung der Vir­tua­li­sie­rung bei der „Green IT“, da man mit Hil­fe von Vir­tua­li­sie­rung vie­le ein­zel­ne Rech­ner auf einem gro­ßen Ser­ver kon­so­li­die­ren und somit Ener­gie spa­ren kann. In wel­chem Aus­maß Ener­gie gespart wer­den kann, zeigt das IBM Pro­jekt Big Green. Ziel ist es ca. 3900 ver­teil­te Ser­ver auf 33 Sys­tem z Main­frames zu kon­so­li­die­ren. Dadurch sol­len 92% weni­ger Hard­ware benö­tigt, 40% + fünf Jah­re TCO und 80% der Ener­gie (ent­spricht dem Ener­gie­be­darf einer Klein­stadt) ein­ge­spart wer­den.

Die vor­lie­gen­de Arbeit wur­de im Rah­men einer Koope­ra­ti­on der IBM Deutsch­land Rese­arch & Deve­lop­ment GmbH in Böb­lin­gen und des For­schungs­zen­trums für Infor­ma­tik (FZI) in Karls­ru­he ange­fer­tigt. Ein For­schungs­ziel der IBM als Vor­rei­ter in der Vir­tua­li­sie­rung ist Wei­ter­ent­wick­lung und Ver­bes­se­rung ihrer Vir­tua­li­sie­rungs­konz­pte. Die Fra­ge­stel­lun­gen der IBM, auf wel­che die­se Diplom­ar­beit auf­baut, ist, ob und wie man Sto­ra­ge- Vir­tua­li­sie­rung durch Ein­füh­rung asyn­chro­ner Kom­mu­ni­ka­ti­ons­kon­zep­te wei­ter opti­mie­ren und leis­tungs­fä­hi­ger machen kann. Grün­de im Vor­feld sind u.a. kür­ze­re Ant­wort­zei­ten und eine höhe­re Fle­xi­bi­li­tät. Dar­über hin­aus inter­es­siert die IBM auch, in wel­chem Maß aktu­el­le Werk­zeu­ge zur Leis­tungs­be­wer­tung wie z.B. das Pal­la­dio Com­po­nent Model (PCM) ein­ge­setzt wer­den und die IBM Ent­wick­ler bei der Bewer­tung und Ver­bes­se­rung von Sys­tem-Soft­ware unter­stüt­zen kön­nen.

Das seit 2003 exis­tie­ren­de und am Lehr­stuhl von Pro­fes­sor Dr. Ralf H. Reuss­ner ent­wi­ckel­te Pal­la­dio Com­po­nent Model (PCM) ist eine neue, inno­va­ti­ve Archi­tek­tur­mo­del­lie­rungs­spra­che zur Beschrei­bung der Leis­tungs­fä­hig­keit von kom­po­nen­ten­ba­sier­ter Soft­ware. Die­se Archi­tek­tur­mo­del­le wer­den als Grund­la­ge für eine Simu­la­ti­on ver­wen­det, mit wel­cher die Per­for­mance-Ein­flüs­se von sowohl ver­schie­de­ner Ent­wurfs­ent­schei­dun­gen als auch Nut­zungs­sze­na­ri­en unter­sucht und bewer­tet wer­den kön­nen. Die PCM Kon­zep­te wur­den bis­her aller­dings nur für betrieb­li­che Soft­ware ent­wi­ckelt und vali­diert.

Die Her­aus­for­de­run­gen der Arbeit waren daher a) zu unter­su­chen, wel­che Ent­wurfs­al­ter­na­ti­ve (bestehen­de syn­chro­ne oder neu zu imple­men­tie­ren­de asyn­chro­ne Kom­mu­ni­ka­ti­on) die bes­se­re ist und b) wie gut und in wel­chem Umfang sich das PCM in einem Sze­na­rio der IBM Deutsch­land Rese­arch & Deve­lop­ment GmbH sys­te­ma­tisch ein­set­zen lässt. Ziel war es, die Vir­tua­li­sie­rungs­schicht für die Ein-/Aus­ga­be des IBM Main­frames zu model­lie­ren und mit Mes­sun­gen an der bestehen­den Hard­ware zu kali­brie­ren. Anschlie­ßend soll­te das Modell dazu benutzt wer­den, um die Simu­la­ti­ons- und Ana­ly­se­er­geb­nis­se der Ent­wurfs­ent­schei­dun­gen zu ver­glei­chen und zu bewer­ten. Die Ergeb­nis­se die­ser Arbeit soll­ten Rück­schlüs­se auf die Per­for­mance- Eigen­schaf­ten des model­lier­ten Sys­tems als auch auf die Anwend­bar­keit des PCM in der Pra­xis ermög­li­chen. Nach­dem die Arbeit zunächst die nöti­gen Grund­la­gen der Vir­tua­li­sie­rung und des PCM, sowie die Archi­tek­tur des unter­such­ten Main­frames beschreibt, folgt danach eine detail­lier­te Beschrei­bung zwei­er Ent­wurfs­al­ter­na­ti­ven zur Sto­ra­ge-Vir­tua­li­sie­rung, die von mir mit Hil­fe des Wis­sens der IBM-Ent­wick­ler erstellt wur­de. Der Kern der Arbeit liegt in der Model­lie­rung die­ser Ent­wurfs­al­ter­na­ti­ven. Da das Anwen­dungs­ge­biet von PCM bei der IBM außer­halb der für PCM vor­ge­se­he­nen Domä­ne liegt, waren eini­ge Knif­fe nötig, um das Ver­hal­ten des Sys­tems kor­rekt zu reflek­tie­ren. Anschlie­ßend wur­de die syn­chro­ne Ent­wurfs­al­ter­na­ti­ve, die bereits imple­men­tiert war, anhand von Mes­sun­gen kali­briert. Die Vali­die­rung des so erstell­ten syn­chro­nen Modells erfolg­te anhand neu­er Mes­sun­gen, deren Para­me­ter unab­hän­gig waren von den Para­me­tern der Mes­sun­gen zur Kali­brie­rung. Nach die­sen Schrit­ten konn­ten auf­grund der Fle­xi­bi­li­tät des PCM-Modells die syn­chro­nen Kom­po­nen­ten durch ihre asyn­chro­nen Pen­dants ersetzt und damit die Ana­ly­se- und Simu- lati­ons­er­geb­nis­se benutzt wer­den, um das Per­for­mance- Ver­hal­ten bei­der Ent­wurfs­al­ter­na­ti­ven zu ver­glei­chen und zu bewer­ten.

Die Ergeb­nis­se, wel­che die Arbeit ent­hält, sind über­ra­schend. Auf tech­ni­scher Ebe­ne hat sich gezeigt, dass sich für die betrach­te­ten Nut­zungs­sze­na­ri­en bei der IBM die Leis­tung der syn­chro­nen Ent­wurfs­al­ter­na­ti­ve nicht signi­fi­kant von der asyn­chro­nen unter­schei­det. Das bedeu­tet, man kann sich bei der Aus­wahl der rich­ti­gen Alter­na­ti­ve auf die beson­de­ren Eigen­schaf­ten der jewei­li­gen Imple­men­tie­rung kon­zen­trie­ren. So haben bei­spiels­wei­se die Simu­la­ti­ons­er­geb­nis­se deut­lich gemacht, dass bei kurz­zei­tig hohem Anfra­ge­auf­kom­men an das Sys­tem die asyn­chro­ne Ent­wurfs­al­ter­na­ti­ve fle­xi­bler reagiert und bes­se­re Ant­wort­zei­ten lie­fert. Des Wei­te­ren war es mit Hil­fe des Modells mög­lich, fest­zu­stel­len, wo die Eng­päs­se bei der Sto­ra­ge-Vir­tua­li­sie­rung lie­gen. Um z.B. den Durch­satz unter hoher Sys­tem­last wei­ter ver­bes­sern zu kön­nen, wäre schnel­le­re Sto­ra­ge Hard­ware nötig, wäh­rend mehr Rechen­ka­pa­zi­tät den Durch­satz bei wenig Last ver­bes­sern wür­de. Außer­dem kann mit Hil­fe eines Modells das Ver­ständ­nis gera­de bei kom­ple­xen Sys­te­men geför­dert wer­den. So hat sich bei­spiels­wei­se bei der Ent­wick­lung des Modells durch Wider­sprü­che zwi­schen Vor­her­sa­ge­er­geb­nis­sen und Mes­sun­gen gezeigt, dass das Sys­tem für die Mes­sun­gen nicht opti­mal kon­fi­gu­riert war.

Was die Prak­ti­ka­bi­li­tät des PCM angeht, so ver­deut­licht die­se Arbeit, dass das PCM schon jetzt ein sehr aus­ge­reif­tes Werk­zeug ist, wel­ches mit weni­gen Ein­schrän­kun­gen in aktu­el­len Anwen­dungs­ge­bie­ten und For­schungs­be­rei­chen ein­setz­bar ist. Des Wei­te­ren macht die­se Arbeit deut­lich, dass archi­tek­tur­ba­sier­te Per­for­mance-Model­le im All­ge­mei­nen ein effek­ti­ves und kos­ten­güns­ti­ges Mit­tel sind, um schnell und effi­zi­ent die Leis­tungs­fä­hig­keit von Sys­te­men zu bewer­ten und auch um bestehen­de Sys­te­me zu hin­ter­fra­gen. Auf­bau­end auf dem in die­ser Arbeit erstell­ten Modell könn­te die IBM noch vie­le wei­te­re Fra­ge­stel­lun­gen mit Hil­fe der Simu­la­ti­ons­er­geb­nis­se beant­wor­ten, ange­fan­gen bei „Wel­che Kom­po­nen­ten müs­sen ver­bes­sert wer­den, um die Leis­tungs­fä­hig­keit des Sys­tems zu stei­gern?“ bis hin zu „Wie muss man die Sto­ra­ge-Vir­tua­li­sie­rung bei Kun­de X kon­fi­gu­rie­ren, wenn er ein Nut­zungs­pro­fil Y und Z hat, damit das Sys­tem so effi­zi­ent wie mög­lich arbei­tet?“.

Der inno­va­ti­ve Bei­trag die­ser Arbeit besteht in der erfolg­rei­chen Model­lie­rung und Kali­brie­rung einer Vir­tua­li­sie­rungs­schicht in einem prak­ti­schen Anwen­dungs­sze­na­rio der IBM. Die Ergeb­nis­se der Arbeit wur­den von der IBM erfolg­reich zu einer Ent­schei­dungs­fin­dung über ein Per­for­mance­op­ti­mier­tes Design einer Sys­tem-Soft­ware im Rah­men einer Mach­bar­keits­stu­die her­an­ge­zo­gen. Im Ver­gleich mit der par­al­lel durch­ge­führ­ten pro­to­ty­pi­schen Imple­men­tie­rung der zur Aus­wahl ste­hen­den Design-Vari­an­ten, über­zeug­te die in der Arbeit ange­wand­te Simu­la­ti­on mit PCM vor allem durch ihre Fle­xi­bi­li­tät und Effek­ti­vi­tät. Bele­ge dafür sind der deut­lich gerin­ge­re Zeit- und Per­so­nal­auf­wand und die kurz­fris­ti­ge Umset­zung von Ände­run­gen in den Design-Anfor­de­run­gen. Die­se Ergeb­nis­se ver­deut­li­chen außer­dem, dass mit die­sem inno­va­ti­ven Werk­zeug zur inge­nieur­mä­ßi­gen Soft­ware­ent­wick­lung effek­tiv und effi­zi­ent Ver­glei­che und auch Bewer­tung ver­schie­de­ner Ent­wurfs­al­ter­na­ti­ven in Bezug auf die Per­for­mance von Sys­te­men mög­lich sind. Des Wei­te­ren hat sich gezeigt, dass ein Modell die Ent­wick­ler beim Ver­ständ­nis eines so kom­ple­xen Sys­tems unter­stützt. Ohne die­ses Modell ist eine Leis­tungs­be­ur­tei­lung des Sys­tems nicht ohne wei­te­res mög­lich, da das Wis­sen über das Sys­tem über Abtei­lungs­gren­zen hin­weg ver­teilt ist. Bis­her konn­te in der Regel die Leis­tungs­be­wer­tung von Sys­te­men nur von erfah­re­nen Ent­wick­lern oder über­haupt nicht durch­ge­führt wer­den. Der eigent­li­che inno­va­ti­ve Bei­trag die­ser Arbeit macht deut­lich, wie und mit wel­chen Mit­teln die Leis­tungs­be­wer­tung von Sys­te­men unab­hän­gig von Erfah­rungs­wis­sen und Anwen­dungs­kon­text erfolg­reich durch­ge­führt wer­den kann.