:

Szerző: Bizó Dániel

2009. május 8. 18:13

Elindult a Firefox párhuzamosítását célzó projekt

Régóta várt projekt indult el a Mozillánál: megkezdődik a Firefox hatékony párhuzamosítása, így az végre valóban képes lesz kiaknázni a többmagos processzorokban rejlő potenciált, drasztikusan javítva a válaszképességet és stabilitást. A projekt egyelőre még csak formálódik, eredményének várható idejét még csak becsülni sem lehet, de remélhetőleg még 2010-ben realizálódik.

A kódnév nélküli projekt célja, hogy több folyamatra bontsa a böngésző működését, vagyis a jelek szerint nem a szoftver klasszikus többszálúsításáról van szó. Felhasználói szempontból végeredményben azonban nincs jelentősége, milyen módon párhuzamosítják a fejlesztők a szoftvert, sőt, az önálló folyamatok jelentette izoláció extra stabilitást és biztonságot eredményezhet -- legalábbis ez a projekt egyik célja. A Firefox ugyan elvileg jelenleg is többszálúsított, az implementáció gyatra volta miatt nem képes adekvát módon kihasználni a modern PC-k adta lehetőségeket.

A világ egyik legtöbbet használt szoftvere nem aknázza ki a többmagos processzorokban rejlő erőforrásokat, nem beszélve a magonként két utasításszálat szimultán futtató Core i7 processzorokról, melyek 8 fonalat is képesek kezelni. Mindez az egyidejűleg megnyitott ablakok és fülek számának emelkedésével, valamint jelentősebb terhelést jelenti tartalmi elemek megjelenésével a Firefox válaszképességének drasztikus romlását eredményezi, ami különösen a Flash-sel és JavaScripttel teletömött weblapoknál jelentkezik -- hiába a processzorban megbúvó lóerők, hiába a több gigabájt szabad memória, egy beágyazott HD-video lejátszása és egy AJAX-os weblap egyidejű renderelésekor akadozik a Firefox.

A teljesítmény mellett az egyetlen folyamat stabilitásbeli és biztonsági problémákat is okoz. Egy-egy weblap okozta megakadás más weblapok kezelését, vagy a szoftvert is lelassíthatja, vagy akár magával is ránthatja, így a többi tartalomhoz sem férhetünk hozzá, és a Firefox is válaszképtelenné válhat -- és a gyakorlatban válik is néha. Az osztott folyamat miatt ráadásul egy rosszindulatú weblap átveheti az uralmat a szoftver felett, vagy háttérben futó kódot injektálhat a rendszerbe.

Első lépésben a cél az, hogy tartalmat és a szoftver felhasználói felületét bontsák különálló folyamatokba, majd ezt követően minden egyes tartalmi fül egy önálló folyamatként jelenhet meg a rendszerben, így külön magokon futhatnak akár. A folyamatok a tervek szerint ráadásul a memóriaterhelés csökkentése érdekében osztoznak a közös grafikus elemeken. A hosszútávú, tehát valószínűleg 2010-en túlmutató fejlesztések közé tartozik a tartalmi folyamatok egymástól történő elszigetelése, maximalizálva ezzel a stabilitást és biztonságot. Ez a fajta skálázódás és robusztusság alapvető követelmény volna már a ma webcentrikus világában is.

A Benjamin Smedberg irányítása alatt zajló projektről, melyhez természetesen várják önkéntes programozók csatlakozását, további részletek a Mozilla wikijén olvashatók.

November 25-26-án 6 alkalmas K8s security és 10 alkalmas, a Go és a cloud native szoftverfejlesztés alapjaiba bevezető képzéseket indítunk. Az élő képzések órái utólag is visszanézhetők, és munkaidő végén kezdődnek. November 8-ig early bird kedvezménnyel!

a címlapról