A valósidejűségről manapság sokat hallhatunk, azonban gyakran nem jól értelmezik a fogalmat, illetve az igazi előnyeit. A valósidejűség számos alkalmazás során nagyszerű megoldás, de nem nyújt gyógyírt minden teljesítményi problémára. Minél pontosabb információk birtokában van az ügyfél, annál inkább kész arra, hogy a megfelelő utat válassza teljesítményi céljainak eléréséhez.
A valósidejűséggel kapcsolatban az alábbi fontos témákat fejtjük ki:
- A Red Hat Enterprise Linux az iparág vezető teljesítményét nyújtja számos ipari szabványon alapuló összehasonlító tanulmány alapján
- A valósidejűség szélesebb körű meghatározása
- A rendszer finomhangolása a magas teljesítmény elérésének egy kritikus lépése
- Az új valósidejű rendszermag legfontosabb jellemzői
- Az új nagy teljesítményű köztesréteg legfontosabb újdonságai
A Red Hat Enterprise Linux az iparág vezető teljesítményét nyújtja számos ipari szabványon alapuló összehasonlító tanulmány alapján
Számos olyan iparági vezető teljesítményi eredményről beszélhetünk, melyek a Red Hat Enterprise Linux teljesítményéről nyújtanak összehasonlítást. Ezek alapján a Red Hat vezető pozíciója biztosított:
- Red Hat Enterprise Linux világrekord TPC-H teljesítmény 300 GB mellett
- Friss SPECweb2005 világrekord Intel-alapú négymagos gépen
- A Securities Technology Analysis Center új rekord teljesítményi eredményeket mutatott RMDS (Reuters Market Data System) futtatásával Intel négymagos gépen
A valósidejűség szélesebbkörű meghatározása
A valósidejűség fogalma több dolgot is jelenthet. A Red Hat számára a valósidejűség egyenlő a determinisztikus viselkedéssel, ami konzisztens, megjósolható időlefolyású eredményt jelent. Számos ügyfél esetén a legfontosabb dolog az, hogy a műveletek befejezésére számíthassanak egy előjelezhető időkereten belül. A reprezentatív esetek közé tartoznak a következők:
- Pénzügyi, kereskedelmi alkalmazások: ha a kereskedelmi vagy a pénzügyi modell számítása túl hosszú időt vesz igénybe, az üzlet meghiúsulása lehet az eredmény
- Katonai elhárítás: ide tartozik a Red Hat együttműködése az IBM-mel és a Raytheonnal a valósidejűséggel kapcsolatos funkcionalitás kifejlesztésében a következő generációs hadihajókra
- Telekommunikáció: a hálózati switch gyártóknak a hálózati forgalomra kis, véges időablakokban kell valaszolniuk
Ha a valósidejűségről beszélünk, általában csak a rendszermagra gondolunk. A Red Hat ügyfelekkel történő kommunikációja során világossá vált, hogy a követelmények ennél szélesebbkörűek. Például a Red Hat által megcélzott felhasználási esetekben a számítógépek rendszerint hálózatba vannak kapcsolva, ahol a válaszidőt a teljes kommunikációs kör (round-trip) alapján mérjük a rendszerek között. Sőt, sok célalkalmazás a valósidejű Java rendszerekkel kapcsolatban is megfogalmaz követelményeket. Ezért a Red Hat valósidejűséggel kapcsolatos kezdeményezése szélesebbkörű, és a következőket foglalja magában:
- Új valósidejű rendszermag
- Nagy sebességű üzenetküldési köztesréteg
- Szoros együttműködés és közös fejlesztés az IBM-mel, annak érdekében, hogy a WebSphere valósidejű Java tanúsítva legyen ezen a megoldási készleten
A rendszer finomhangolása a magas teljesítmény elérésének egy kritikus lépése
Ez a teljesítményi grafikon a kliens/szerver Tibco EMS üzenteküldési munkaterhelésének válaszidő eredményeit ábrázolja, és elsősorban a teljes kommunikációs kör (round-trip) üzenetküldési válaszidőit méri. A grafikon azt mutatja, hogy amikor hagyományos, alapértelmezett telepítésű Red Hat Enterprise Linux 5-ön futtatunk munkaterhelést, finomhangolás nélkül, az eredmények meglehetősen változóak: a legalacsonyabb 1,5 ezredmásodperctől egészen a 150 ezredmásodpercig terjednek, vagyis akár tízszeres különbség is lehet. Ahogy fent említettük, a valósidejű szoftver célja az, hogy determinisztikus viselkedést nyújtson, és az nyilvánvaló, hogy a tízszeres különbség egyáltalán nem determinisztikus.
Ez a grafikon annak az üzenetküldési összehasonlításnak is tartalmazza az eredményeit, amikor ugyanazt a szoftvert használjuk, azzal a különbséggel, hogy ebben az esetben a rendszer finomhangolása megtörtént. A finomhangolás az eredményeken lényegesen javított: a válaszidő az 1400 és 1575 ezredmásodperc között változott. A determinizmus szempontjából ez egy hatalmas különbséget jelent, mivel a válaszidők szórása a tízszeresről kb. 10%-ra csökkent.
A grafikonon továbbá a Red Hat következő valósidejű rendszermagjának az ábárzolását is láthatjuk. Ez a rendszermag ugyanazon a hardveren és Red Hat Enterprise Linux 5 disztribúción fut. A valósidejű eredmények konzisztens teljesítményt mutattak 1455 és 1475 ezredmásodperc között, ami kb. 1,4%-os szórást jelent.
A legtöbb ügyfél esetén a hagyományos Red Hat Enterprise Linux 4 vagy Red Hat Enterprise Linux 5 rendszer megfelelő finomhangolása során elért determinisztikus viselkedés mértéke megfelel a követelményeknek. Azonban a legnagyobb igényekkel rendelkező ügyfelek számára fontos versenyelőnyt jelent a Red Hat valósidejű rendszermagján keresztül megvalósuló determinizmus.
Egy megfelelően tájékozott ügyfél szempontjából a következők a fontosak:
- A hagyományos Red Hat Enterprise Linux megfelelő hangolása a determinizmus olyan szintjét nyújtja, ami a legtöbb ügyfél igényeit kielégíti
- A valósidejű rendszermagok, melyek bármely gyártótól származhatnak, nem jelentenek csodaszert. Vagyis, míg nem hajtjuk végre a rendszer hangolását, ami a determinizmus előnyeinek legnagyobb részét nyújtja, nem valószínű, hogy a valósidejű rendszermag előnyeit élvezhetjük. Ezért ez nem olyan egyszerű, hogy amint elkezdünk egy új rendszermagot használni, minden teljesítménybeli problémánk megoldódik. Sőt, nagyon is óvatosnak kell lennünk minden olyan valósidejű marketing ajánlattal kapcsolatban, ami csodaszert kínál.
- Csak azután válasszunk a valósidejű ajánlatok közül, amint maximalizáltuk a rendszer determinizmusát a rendszer hangolásán keresztül, mert a valósidejűség ezután a teljesítménybeli növekedés fennmaradó 10 százalékát nyújtja majd
Az új valósidejű rendszermag legfontosabb jellemzői
A Red Hat a Linux közösségen belül vezető pozícióban van a valósidejű rendszermag fejlesztésekkel kapcsolatban. A valósidejű rendszermagban eszközölt változtatások legfőbb célja a hosszan futó, nem megszakítható (nem preemptív) rendszermag kódútvonalak kiküszöbölése. Vagyis, alapvetően a szűk keresztmetszet eltávolítása, ami megállítja a magas prioritású alkalmazási feladatok futását. Azáltal, hogy az ilyen megakadások forrását kiküszöböljük, a teljes megfigyelt determinizmus növekszik.
A Red Hat Enterprise Linuxszal kapcsolatos tapasztalatok meggyőzőek, és azt mutatják, hogy az új jellemzők kifejlesztésének leghatékonyabb módja teljesen nyitott és mindent magában foglaló kell legyen. A Red Hat hasonló, bevált megközelítést alkalmaz a valósidejűséggel kapcsolatos fejlesztések során.
Az új nagy teljesítményű köztesréteg legfontosabb újdonságai
Természetesen a valósidejűség determinizmusa nem az egyetlen teljesítménnyel kapcsolatos technológia, mely a pénzügyi szolgáltatások piacán szükséges. Egy másik kritikus szoftverkomponens az üzenetküldési köztesréteg. Történelmileg ez kizárólag a tulajdonosi szoftverek hatáskörébe esett, ami azt eredményezte, hogy gyártófüggőség és interoperabilitással kapcsolatos problémák alkultak ki.
Az elmúlt évben intenzív, fejlesztési kezdeményezésekkel kapcsolatos együttműködést figyelhettünk meg, melyben a Red Hat is részt vesz, valamint több pénzügyi intézmény és hálózati switch gyártó, akik együttműködnek mind a specifikációk mind a referencia implementációk kifejlesztésében az üzenetküldési köztesréteg számára. Ennek az együttműködésnek az eredménye az AMQP (Advanced Message Queuing Protocol).
A nyílt specifikációk meghatározása több interoperábilis implementáció kifejlesztését tette lehetővé. Például a Red Hatnek van egy olyan implementációja, melyet nyílt forráskódú projekt formájában fejleszt, míg más vállalatok tulajdonosi implementációkat hoznak létre. Ezek mind megfelelnek a specifikációknak interoperábilis módon, több programnyelven keresztül, beleértve a Microsoft .net keretrendszerét is.
Az AMQP funkcionalitás egy rugalmas gyártó/fogyasztó üzenetcsere modellt is magában foglal. Ez a megbízható, tranzakció-alapú üzenetküldést segíti elő többféle konfigurációban a pont-pont konfigurációtól a multicast stílusig.
Jövőbeli fejlesztések
A valósidejű rendszermag, az AMQP üzenetküldési és a valósidejű Java ötvözése nemsokára elérhető lesz a Red Hat IBM-mel történő együttműködésén keresztül.