Nagyban zajlik a Red Hat Enterprise Linux valósidejű verziójának fejlesztése. A valósidejű kezdeményezés legfőbb céljait a következő kulcsfontosságú pontokban fogalmazhatjuk meg: Determinizmus: konzisztens, ismételhető válaszidőt nyújt. Prioritás: biztosítja, hogy a legmagasabb prioritású folyamatok futnak először.
Nagyban zajlik a Red Hat Enterprise Linux valósidejű verziójának fejlesztése. A valósidejű kezdeményezés legfőbb céljait a következő kulcsfontosságú pontokban fogalmazhatjuk meg:
- Determinizmus konzisztens, ismételhető válaszidőt nyújt.
- Prioritás: biztosítja, hogy a legmagasabb prioritású folyamatok futnak először.
A legtöbb terhelés esetén, egy megfelelően beállított Red Hat Enterprise Linux rendszermag (a RHEL 2.1, 3, 4, 5-ben) kielégíti az ügyfelek igényeit. A megfelelő időbeli követelmények az ezredmásodperces válaszidő szintjén vannak. Azonban a legnagyobb igényű terhelések a mikroszekundum szintjén mozognak. Milyen területeken játszik ez fontos szerepet?
- Pénzügyi szolgáltatások iparága: itt az idő pénz. Ezt a piacot a szoros verseny jellemzi, és itt akár egy másodperc töredéke alatt elvégzett piacelemzés is hozhat nagy előnyt.
- Központi irányító és ellenőrző rendszerek: itt nem elég, ha valami csak közelít a tökéleteshez. Itt fontos azt tudni, hogy a legnagyobb prioritást élvező alkalmazási szál fut, illetve megjósolható időn belül lefut.
A legfőbb oka annak, hogy a szabványos Red Hat Enterprise Linux termékek nem tudnak teljes mértékben megfelelni a legmagasabb igényekkel rendelkező válaszidőknek, az, hogy számos hosszú rendszermag kódútvonalról beszélhetünk, melyek nem megszakíthatóak (nem preemptívek). Anélkül, hogy belemennénk a technikai részletekbe, ez azt jelenti, hogy amíg ezek a nem megszakítható (nem preemptív) rendszermag kódútvonalak futnak, a magas prioritású alkalmazásszálak várakoznak. Ezért ezek a hosszú futású rendszermag kódútvonalak az alkalmazás futásának késését eredményezik, ami a nem konzisztens válaszidő fő oka (ezt úgy is szokták nevezni, hogy non-determinisztikus futásmód).
Persze meg kell jegyeznünk, hogy a valósidejűség nem minden ügyfél számára hasznos. Így a Red Hat terve az, hogy folytatja a megszokott Red Hat Enterprise Linux rendszermag fejlesztését, mialatt valósidejű rendszermagot is nyújt. A létező, nem megszakítható (nem preemptív) rendszermag kódútvonalak megbontása teljesítménnyel kapcsolatos költségeket eredményez majd, ami nem valószínű, hogy a legtöbb ügyfélnek kifizetődő. A szabványos Red Hat Enterprise Linux rendszermagok a legjobb áteresztőképesség nyújtására összpontosítanak. De ezen áteresztőképességnek az a költsége, hogy a specifikus alkalmazások késést szenvedhetnek (ütemezés, I/O stb.). A valósidő esetén a cél az, hogy az alkalmazások konzisztens (determinisztikus) teljesítményi szintet nyújtsanak az idő 100 százalékában. A nem valósidejű viselkedés célja az, hogy a rendszer egészének maximális teljesítményt nyújtson (ez az áteresztőképességet jelenti), és az alkalmazások esetenkénti késése elfogadható. Ezért ez egy terheléstől függő alkuhelyzet.
Több, mint két éve, egy Red Hat mérnök, a magyar Ingo Molnar elkezdte a valósidejű funkcionalitás központi Linux rendszermagba integrálását. Míg más vállalatok a rendszer egészébe nagy mértékben beavatkozó valósidejű rendszermag funkcionalitással próbálkoztak a múltban, és nem jutottak ebben sikerre, addig Ingo egy alapjában véve más oldalról közelítette meg a témát. Egy lassú, módszeres megközelítést alkalmazott, vagyis járulékos módon fejlesztette a teljesítménybeli bővítéseket, ami előnyösnek tűnt az általános célú terhelések számára. Ingo kezdeti sikere által inspirálva, a rendszermag fejlesztésének egy egyre növekvő közössége gyűlt össze a most „-rt”-nek nevezett projekt körül.
Ingo ma is vezeti a központi Linux rendszermag valósidejű kezdeményezését. Az -rt projekt további Red Hat rendszermag fejlesztőket is magában foglal, valamint résztvevőket más vállalatok részéről, mint például az IBM-től. Más vállalatok a hagyományos beágyazott világban az x86/x86-64 architektúráról való elmozdulásban vesznek részt, ami előnyös, hiszen az architekturális sokszínűség a teljes robusztusságot növeli. Ezek a fejlesztők már évek óta együtt dolgoznak, ami azt eredményezte, hogy a valósidejű rendszermag jellemzők kerültek be a központi rendszermagba. Nemrég rekordot döntött a Red Hat Enterprise Linux 5 a teljesítmény mérések alapján, és ez ennek a fejlesztő csapatnak köszönhető. Ez a nyílt közösségi fejlesztés filozófiájának nagyon jó példája.
Amíg a Red Hat Enterprise Linux 5 számos valósidejűséggel kapcsolatos bővítést tartalmaz, addig maradt még olyan további jellemző, amit még ki kell fejleszteni annak érdekében, hogy a determinisztikus viselkedésre vonatkozó legmagasabb ügyféligényeket is kielégítsék. Ez még tehát nincs befejezve. Annak érdekében, hogy a Red Hat kielégítse ezt a kibővített valósidejű funkcionalitással kapcsolatos nagy igényt, a Red Hat egy termékesítési kezdeményezést hozott létre. Ez a modell hasonló a Red Hat Enterprise Linux esetén használt stratégiához. Vagyis, a fő fejlesztési erőfeszítések fejlődése a fő közösségi fejlesztési fában folytatódik. Onnan kiválasztják a stabilizációs pontot és leágaztatják a termékeket, ahol pedig a megerősítés, a tesztelés (mind belső mind külső ügyfelekkel és partnerekkel) és a folyamatos támogatás fenntartása történik.
Ekkor már elérhetők a Red Hat Enterprise Linux 5 valósidejű tesztverziói, amit a legnagyobb igénnyel rendelkező ügyfelek tesztelhetnek és validálhatnak. Amint a tesztelés a valós forgatókönyvek esetén sikeresen lezajlik, több részletet is megtudhatunk majd az időkeretről és költségekről.
A Red Hat Enterprise Linux valósidejű verziójának kifejlesztése során az ügyfelek alkalmazási követelményeinek szélesebbkörű értelmezését vesszük. Például az IBM egy partner a fejlesztésben, annak érdekében, hogy csak ő kínálhasson valósidejű-tanúsított Java futásidőt Linuxon. Emellett a Red Hat felismerte azt, hogy a vállalatok valósidejű alkalmazásai nagy sebességű üzenetküldési követelményeket is felállítanak. Ezt a követelményt a magas fokon kiegészítő AMQP (Advanced Message Queue Protocol) elégíti ki, ami egy gyors üzenetküldési köztesréteg, amit majd a Red Hat Enterprise Linux valósidejű verziójára optimalizálnak.