LIPSZ
Főoldal Vélemények Hogyan nyújt a GPL mentőövet az informatikának?
2012 | 02 | 08
LIPSZ Menü
Események, rendezvények
Tudásbázis
Hogyan nyújt a GPL mentőövet az informatikának? PDF Print E-mail
2008. Március 20, Csütörtök - 08:52
Ideje, hogy komolyan beszéljünk a többmagos processzorokról. Évek óta rettegek attól a naptól, amikor a számítástechnika beleütközik a párhuzamosság „falába”. Ahogy többször is említettem már, a többmagos processzorok megfelelnek a párhuzamos feldolgozásnak, és mint tudjuk, a párhuzamos feldolgozás nehéz, költséges és nem mindig hordozható. Ez a programozási paradigma a komplexitás egy új dimenzióját vezeti be a szoftverfejlesztés során. A probléma megoldására nincs megoldás a láthatáron. A számítástechnikai iparág egy hatalmas kihívással áll szemben, vagyis azzal, hogy hogyan igazítsa a szoftvereket a többmagos platformokhoz.

Ezen a marketing és az ábrándozás sem segít, ez biztos. Már húsz éve foglalkozom a párhuzamos feldolgozással. A párhuzamosság problémája valós és előttünk áll. Mielőtt bárki is megkérdőjelezné ezt, kijelenthetjük, hogy a szakértők is hasonló véleményen vannak.

Persze vannak módszerek arra, hogy hogyan programozzuk párhuzamosan, de egyik módszer sem ad választ a kérdésre magasabb szinten. Ezek a módszerek a programozót gyakran az adatkezelés és ideiglenes kérdések aprólékos részleteibe vonják be, melyek az egymagos paradigma esetén nem is léteznek. Ha nem találunk ki magasabb szintű módszereket a probléma megválaszolására, akkor a párhuzamosan működő szoftverek fejlesztése szörnyen költséges folyamat lesz, ami a számítástechnikai iparág nagy részét megfojtja majd. Valódi megoldás hiányában a nem hordozható és ad hoc megközelítések válnak majd megszokottá. Egy olyan iparágban, ahol a múltbeli döntések hatásai láthatóan sokkal tovább élnek, mint ahogy az várható lenne, ez egy veszélyes probléma.

Mindig is elleneztem a párhuzamos programozásban érintett fő informatikai vállalatok „nem az én problémám” attitűdjét. Mivel a siránkozás nem sokat segít a jelen helyzet sürgőssége miatt, úgy érzem, hogy szükséges, hogy felszólaljak. De először is, az alábbi fontos hasonlat segít elmagyarázni a helyzetet.

Képzeljünk magunk elé egy autógyártót, mely egy vadonatúj, nagyon gyors, de mégis biztonságos autót hozott létre. Ezek az autók a meglévő utakon járnak, de a csúcssebességüknek csak a töredékét használják ki. Ahhoz, hogy nagyobb sebességgel mehessenek, jobb utakra van szükség. Jobb utak nélkül a fogyasztóknak nincs okuk arra, hogy ezeket a szuper gyors autókat megvásárolják. Természetesen ez nem a mi problémánk, mivel ha már létrehoztunk egy ilyen gyors autót, akkor valaki majd csak megépíti az utakat. Az iparág vezetőjeként választhatunk, hogy segítünk-e az utak megépítésében az új autók számára, vagy pedig annyi autót gyártunk, amire reméljük, hogy lesz kereslet. Mit tennénk ebben a helyzetben?

A több milliárdos informatikai iparágban most pontosan ez zajlik: homokba dugjuk a fejünket és csak gyártjuk az autókat. Végül is, ez nem a mi problémánk. Úgy tűnik, hogy ilyen az attitűdje majdnem minden vállalatnak, mely a számítástechnika piacán anyagi érdekeltséggel rendelkezik. Egy nemrégi bejelentés szerint a Microsoft és az Intel 10 millió dollárt fektettek párhuzamos szoftver kutatásába. Ez vicces, ugye? Hallottuk már azt a kifejezést, hogy csepp a tengerben? Nos ez még annál is rosszabb, ez a lépés egyenesen olyan, mintha egy gyufát dobnánk a napba. Ettől sokkal többre van szükségünk.

Nekem egy más javaslatom van. Ennek van arra esélye, hogy elfogadható időn belül eredményeket hoz. Először is, nem vagyok olyan naiv, hogy azt higgyem, létezik egy csodaszer, ami mindenki problémáját megoldja. A megoldásokat valószínűleg különböző területekre szabják majd, és ezek a megoldások lehetővé teszik majd a szakemberek számára, hogy inkább az alkalmazásaikra összpontosítsanak, ne pedig az alapot képező hardverre.

Másodszor, az egész iparágnak együtt kell működnie és részt kell vennie a megoldásban. Mindenkire szükség van a probléma megoldásához. A nagy teljesítményű számítástechnika legnagyobb elméi már egy ideje foglalkoznak a témával, de itt az idő, hogy mindenki beszálljon. Nem elég, ha megemlítjük a K+F-fel foglalkozó fejlesztőknek. Egy hiú ábránd azt hinni, hogy megoldás az, ha az ezen a területen felhalmozott szellemi tulajdonunkat (IP) a kereskedelmi titkokkal és szabadalmakkal együtt egy védőkarámmal próbáljuk körülvenni. Az űrkutatásban résztvevők ezt már régóta felismerték. Nincs időnk arra, hogy a szellemi tulajdon birtokunkat kiterjesszük. Ehelyett el kell azon gondolkodnunk, hogy mi történik akkor, ha a termékek követező generációja egyáltalán nem érdekli majd a vásárlóinkat.

Harmadszor, gyorsan kell cselekednünk. Nincs idő szellemi tulajdon megegyezésekre, pózolásra és a „nem mi találtuk fel” szindrómára. Olyan vezetőkre van szükség, akik felismerik a kihívás nagyságát és cselekednek. Nemsokára nem lesz gazdaságos nem négy vagy nyolcmagos asztali gépet vásárolni. A munkaállomások és a szerverek talán ennek a duplájával rendelkeznek majd. Az lenne a kívánatos, ha a szoftver, amit használok hatékony módon tudná ezeket a magokat használni.

Végül pedig arra van szükség, hogy mindenki pénz áldozzon az ügy érdekében. A megoldás nem fog az égből pottyanni. Az Intel-Microsoft befektetés egy jó kezdet, de sokkal több ilyenre van szükség.

Csak egy módja van annak, hogy a probléma megoldását magunk elé képzeljük, mielőtt túl késő lenne. Létre kell hozni egy az iparág által finanszírozott független alapítványt vagy szervezetet. Ez az alapítvány lenne felelős a megvalósításért, az ellenőrzésért és a vállalatok, oktatási intézmények, különböző csoportok, szervezetek, sőt személyes javaslatainak finanszírozásáért. Mint ahogy az más kutatási programok esetén is fennáll, különböző szintű finanszírozásról, megvalósíthatóságról, implementációról és oktatásról beszélhetünk. Az alapot képező finanszírozást arra lehetne használni, hogy a projektek továbbra is tervszerűen folytatódjanak. Ez az alap. A katalizátor azonban az, hogy mindenki, aki támogatást kap, bele kell, hogy egyezzen, hogy GPL licenc alatt jelentesse meg a munkáit, kimondottan a GPL harmadik verziója alatt.

A GPL használata azonnal kiküszöböli azokat a problémákat, melyek normális esetben egy ilyen fontos vállalkozást elfojtanának. Először is félre kell tenni a szellemi tulajdon korlátait, hogy mindenki nyíltan hozzá tudjon járulni. Nincs szükség olyan vállalatokra, melyek hónapokat, sőt éveket töltenek azzal, hogy szellemi tulajdonnal kapcsolatos megegyezéseket hozzanak létre. A GPL használatával mindenki ugyanazt osztja meg. Szerintem ott a probléma, hogy mire szabadalmaztatjuk a kifejlesztett szoftver, és létrejön egy megegyezés arra vonatkozóan, hogy az emberek is használhassák azt, már késő lesz. Másodszor, a GPL egy megosztható keretrendszert hoz létre, melyben a lehetséges megoldások használhatók, tesztelhetők, módosíthatók mindenki által, azonnal. Engedjük meg azoknak, akik a kódot fejlesztik, hogy megszavazzák melyik megoldás működik a legjobban. A programozók tömege egy kiaknázatlan bölcsességgel rendelkezik. A nyílt hozzáférés azt jelenti, hogy nincsenek béta teszt megegyezések, kódok eltitkolása, a használat korlátozása. Minél többen gondolkodnak a megoldásokról, és próbálják ki őket, annál jobb. Harmadszor, a jövőbeli fejlesztések olyan tehermentesített alappal rendelkeznek, melyekre mások építhetnek. Ezzel a módszerrel megakadályozzuk, hogy bárki is gépeltérítőt játsszon egy sokat ígérő technológiával szemben. Végül, a GPL egy olyan megalapozott keretrendszert is nyújt, mely az együttműködést is szabályozza (azaz ha a GPL már működik, akkor nem kell azon gondolkodnunk, hogy hogyan osszuk meg egymással a hozzájárulásainkat).

Természetesen lesznek olyanok, akikre jellemző lesz a „nem mi találtuk fel” szindróma, azaz ha az adott programot nem náluk fejlesztették ki, nem foglalkoznak majd a témával. Tőlük azt kérdezem, hogy mi a legfőbb aggodalmuk? A részvényesek? Ha ezt a nyilvánvaló problémát nem tudjuk kezelni, vagy ha minden időnket együttműködési IP megegyezésekkel töltjük, akkor ennek a jövőbeli termékek értékesítése látja majd kárát. Az én értelmezésem szerint a részvényesek olyan termékeket szeretnek, melyekre van kereslet.

Ha tényleg belegondolunk, akkor egy megosztott nyílt megközelítés a leginkább költséghatékony és legidőkímélőbb módja a probléma megoldásának, mivel ez mindenki problémája.

Apropó, ez az ötlet nem éppen új. A GNU/Linux operációs rendszer és a hozzá kapcsolódó szoftver kitűnő példái annak, hogy a nemzetközi együttműködés hogyan eredményez szilárd termékeket, és nagyobb értékesítési volument. Valószínűleg manapság csak nagyon kevés olyan vállalat van, ha van egyáltalán, mely megengedheti magának egy ipari minőségű operációs rendszer tervezését és fejlesztését az alapjaitól kezdve. A GNU/Linux rendszermag és a hozzá kapcsolódó szoftverek alapjában véve együttműködéseken keresztül kifejlesztett termékek, melyek mindenki javát szolgálják. Mindenki részt vehet a fejlesztésében és mindenki használhatja. Ez a költségek megosztásának legjobb példája. Emellett, ha nem vettük volna észre, a nyílt, szabadon elérhető szoftver lehetővé teszi a hardverekre, a szoftvertámogatásra és a szolgáltatásokra irányuló kereslet növekedését. Ez nem egy rossz gazdasági modell. Ahelyett, hogy mindenki kis „szoftver kütyüket” hoz létre a hardver eladásokat elősegítendő, dolgozzunk együtt, hogy megosszuk a költségeket, és a megfelelő megoldásokat fejlesszük ki. A párhuzamos szoftver kihívása ugyanilyen módon megoldható. Ami ehhez szükséges az az, hogy az informatikai iparág néhány nagyobb szereplője rájöjjön arra, hogy a termékkereslet biztosításának leggyorsabb és leggazdaságosabb módja a költségmegosztó fejlesztési modell alkalmazása, ami egyébként már működik. A probléma megoldásának legalább ez a része nem ördöngösség.

Douglas Eadline véleménye, az alábbi cikk alapján: http://www.linux-mag.com/id/5379