A Neumann Társaság blogja az informatika, robotika legmenőbb témaköreiről – újszerű megközelítésben.

Kvantumugrás

Kvantumugrás

Semmilyen sem lesz az infokommunikáció, ha nem lesz zöld

2021. szeptember 15. - ferenck

Az éghajlatváltozást, a globális felmelegedést emberi tevékenységek idézték elő, és úgy tűnik, hogy inkább csak lassítani tudjuk, mintsem megállítani, visszafordítani a klímakatasztrófához vezető folyamatokat. Ez már nem a jövő, hanem a jelen; fenyegető jeleit egyre gyakrabban érezzük, és szép szólamok mellett, ideje lenne komolyabban cselekednünk is, hogy a fejlődés valóban fenntartható legyen.

Városainkban – ha megengedhetjük magunknak – folyamatosan nő az életminőséget javító lehetőségek száma. Ezzel párhuzamosan a lakosságszám is évről évre emelkedik, és az igények kielégítésére, állami és magánszervek lakókörnyezetünket infokommunikációs és más csúcstechnológiákkal igyekeznek élhetőbbé és intelligensebbé tenni. A mindenhonnan összegyűjtött adatokkal, megfelelő felhasználásukkal újabb megoldások nyílnak javaink és erőforrásaink kezelésére.

Az IT termékek és alkalmazások növekedésével, a gyártásuk iránti igény is állandóan nő. Hosszú távon viszont csak akkor hasznosak ezek a folyamatok, ha a termelés minden szintjén érvényesítjük a természetvédelmi elveket. A zöld informatika, vagy zöld számítások néven is ismert zöld IT ezeknek a termékeknek és alkalmazásoknak környezetbarát módon történő előállítására vonatkozik.

git0.jpg

A koncepció nem új, érvényesítése viszont sokkal sürgősebb, mint volt valaha is. Első megvalósulása az Egyesült Államok Környezetvédelmi Ügynökségének 1992-ben indult, az energiahatékonyságot elismerő, promótáló, a döntéshozásnál ezt figyelembe vevő vállalatokat anyagilag is segítő Energy Star programja volt. Eleinte csak a hardverre összpontosítottak, szerencsére ma már a teljes IT-ökológiaban – gyártásban, fogyasztásban, újrahasznosításban – gondolkozunk. A zöld IT minden infokommunikációs termék és alkalmazás egész életciklusra vonatkozó negatív környezeti hatásainak a minimalizálását célozza. Hatékony alkalmazásával nemcsak az intelligens város, hanem az egész bolygó fejlődése fenntarthatóbb.

git4.jpg

Az intelligens technológiák, például a kriptovaluta-bányászat viszont drágák és sokat fogyasztanak, az erőforrások túlzott használata inkább fenntarthatatlansághoz vezet. Egy számítógép életciklusában elfogyasztott természetes erőforrások 70 százaléka a gyártáshoz kapcsolódik, ráadásul ezek a termékek sokkal hamarabb elavulnak, mint akárcsak egy évtizede – kézenfekvő megoldás a hosszabb életciklusra tervezés, biológiailag lebomló, újrahasznosítható anyagokban gondolkozni. A szoftverek, a hálózati alkalmazások és a megkerülhetetlen adatközpontok szintén széndioxid-kibocsátással járnak.

git1.jpg

De mit tud mindezzel kezdeni a zöld IT? Szerencsére sokat, például virtualizáljuk a számítógépet, szervereket, azaz a rendszeradminisztrátor több komputert egyetlen robusztus rendszeren virtuális géppé kombinál egybe, és az eredeti hardverek kiiktatásával jelentősen csökken az energiafelhasználás.

git2.jpg

A katódsugaras monitorokat (CRT) váltó folyadékkristályosokban (LCD) jóval kevesebb az ólom, a kapcsolódó LED-ek (fénykibocsátó diódák) szintén zöld megoldások, mert nem tartalmaznak a környezet és a Homo sapiens egészségére egyaránt káros higanyt.

A fizikai „ottlétet” kiiktató telekonferenciával, telejelenléttel és a koronavírus-járvánnyal felpörgött távmunkával, vagy az energia számítógépek igényeinek megfelelő kiosztásával, feszültségmentesítéssel csökken a károsanyag-kibocsátás. Leselejtezett számítási eszközeink újrahasznosításával szintén kevesebb ólom és higany kerül a környezetbe, és mivel teljesen új gépet sem kell gyártani, a széndioxid-lábnyom is kisebb.

A felhőszámítások szintén fontos szerepet játszanak a zöld IT-ben. Nagy- és kisvállalatok helyszíni alkalmazásaik felhőbe költöztetésével akár a felére csökkenthetik az energiafogyasztást és a széndioxid-kibocsátást. Tegyük mindezek mellé az infokom nagyvállalatok (Google, Microsoft stb.) folyamatos vállalásait a zéró károsanyag-kibocsátásról, a médiahasználat optimalizálását, a felesleges papírnyomtatás csökkentését (legalábbis a lehetőségét), és máris egy kicsit, de csak nagyon kicsit zöldebbnek látjuk a jövőt.

Frissítve: 2023. december 26.

Adattavak vagy adatmocsarak?

Az adatrobbanással a feldolgozás mellett a tárolás módjai, a tárhelyek jellege is számítástudomány központi problémáivá váltak. 

Az adatok bármihez kapcsolódó, szöveges, numerikus vagy multimédiás formában megjelenített, feldolgozatlan vagy feldolgozott megfigyelések, mérések stb. A nevünk, az életkorunk, a magasságunk, a súlyunk rólunk szóló adatok, de egy kép, egy fájl vagy egy pdf-dokumentum is adat, és a példák a végtelenig sorolhatók.

dab0.jpg

Az adatok többféleképpen (táblázatban, képformában stb.), több szinten gyűjthetők össze, csoportosíthatók, tárolhatók (és dolgozhatók fel). Ezek egyike, az adatsor (vagy adatkészlet, dataset) fogalma a jelenlegi mesterségesintelligencia-fejlesztéseket meghatározó gépi tanulás rivaldafénybe kerülésével vált széles körben ismertté. Általában egyetlen témához, többek között személyek egészségügyi állapotához, állatfajokhoz, időjárási jelenségekhez, művészeti irányzatokhoz, értékesítési tranzakciókhoz, ügyfelekkel folytatott interakciókhoz stb. kapcsolódó adatok szerkesztett gyűjteményét jelenti. A példák megint tetszés szerint, és nagyon sokáig folytathatók.   

A magasabb szintet képviselő adatbázis (database) több adatsorban tárolt adatok rendezett, elektronikus úton, számítógépes rendszerről hozzáférhető, lekérdezhető, szerkeszthető és frissíthető gyűjteménye, rendeltetése a benne lévő adatok szakszerű kezelése. Viszont nem minden komputeren tárolt adathalmaz adatbázis is egyben.

dab2.jpg

Egy adatbázis elemeit több tulajdonság jellemzi: valamilyen jegyük alapján összetársíthatók, elrendezésüket több szempont is meghatározhatja, szabályozott a hozzáférés, az adatok védettek, az adatbázis különféle formátumú adatokat tud kezelni, frissíthetők, a felhasználó interakcióba léphet velük, és az interakciót változatos technikák, szolgáltatások segítik.

Ezeket az interakciókat adatbázis-kezelő szoftverek, rendszerek (Database Management System, DBMS) biztosítják, és teszik lehetővé az adatok elemzését is. Az adatbázis, a szoftver és a kapcsolódó alkalmazások együttese az adatbázis-rendszer. A DBMS-ek az általuk menedzselt adatbázis típusa szerint csoportosíthatók. Az 1980-as évekre a relációs adatbázisok terjedtek el, de a 21. század első és második évtizedében másfajta adatbázisok is egyre népszerűbbek lettek.

Kapcsolati viszony (reláció) úgy alakul ki, ha például minden egyes tárolt névhez tárolt szám is társítható. Ez vagy a nevek és a számok külön, a nevekhez rendelt és a hozzájuk passzoló számokra mutató, és a közvetítő adat, vagy a nevek és a kapcsolódó számok együttes, közvetítő nélküli tárolásával oldható meg.

dab3.jpg

A modern, például mobil-, játék- vagy webes alkalmazások jelentős részéhez ideális a számos adatmodellt kínáló, más lekérdező nyelveket használó, rugalmasabb nem relációs (No Strucrured Queery Language, NoSQL) adatbázisok.

Az adatbázisok sokszínűségét jellemzi, hogy a két főtípus mellett változatos szempontok alapján, számos további fajtájuk alakult ki: elosztott, objektumorientált, központosított, nyílt forrású, felhőalapú, hierarchikus, személyes, multimodális stb.

A döntéstámogatást, a vezetői információs rendszereket, az egész szervezet szintjén történő adatkezelést és az adatbányászatot támogató, egyébként hagyományos relációs adatbázis-rendszerekre épülő adattárház (data warehouse) az egyik legelterjedtebb, egy adott szervezet, vállalat egy vagy inkább több forrásból összegyűjtött történeti adatainak elsődleges tárhelye.

A 2010-es évek második felében megjelent adattavak (data lake) lényege, hogy az összes adatot adatfájlokként tárolják egy gigantikus merevlemezen, ilyen például a zászlóshajónak számító Apache Hadoop. Ha egy adattó állapota romlik, és a nem kezelt adatok vagy hozzáférhetetlenné válnak, vagy minimális értéket tartalmaznak, adatmocsárról (data swamp) beszélünk.

Frissítve: 2023. december 26.

Hogyan lesz a nyers adatból közhasznú információ?

Adatkorban élünk, bármi adattá válik, másodpercenként félelmetes adatmennyiség keletkezik. Ez a big data világa. De hogyan dolgozzuk fel az adatokat, hogyan érjük el, hogy a döntéshozáshoz értékes információ ne vesszen kárba?

Az adat vizuális megjelenítését megelőző elemzés az adatok vizsgálatának, megtisztításának, átalakításának és modellezésének a tudománya, célja a hasznos információ kinyerése, következtetések levonása és a döntéshozás támogatása. Sokféle módszerrel, például a statisztikai modellezésre összpontosítható adatbányászattal, vagy a ma különösen népszerű előrejelző analitikával valósítható meg, változatos területeken alkalmazzák. A számítástudomány hőskorától kezdve, mindig fontos volt, a big datával azonban különösen felértékelődött a szerepe.

Az adatelemzési technikák és folyamatok nagy részét automatizálták, a munkát általában gépitanulás-alapú okos algoritmusok végzik.

Gyártócégek gyakran feljegyzik különböző gépeik munkaidejét, hogy mennyi ideig állnak, meddig kell várakozniuk, majd az adatok alapján hatékonyabban megtervezik a munkaterheket, a kapacitások jobb kihasználását. De adatelemzéssel többet is tehetünk, minthogy megmutatjuk a gyártás szűk keresztmetszetét. Játékfejlesztő vállalatok például jutalomütemezési tervek kidolgozására használják, hogy a gamerek minél tovább aktívak maradjanak. Tartalomszolgáltatók szintén ezekkel a technikákkal próbálnak több kattintást, nagyobb látogatószámot elérni.

dan5.jpg

Az adatelemzés segít a teljesítmény optimalizálásában, üzleti modellbe integrálásával, nagymennyiségű adat tárolásával, eredményesebb megoldások azonosításával csökkenthetők a költségek, növelhető a haszon.

dan3.jpg

A tényleges adatelemzést több lépés előzi meg. Az elsőben meghatározzuk az adatok változatos szempontok (például kor, demográfia, bevétel stb.) alapján történő csoportosítását. A második a különféle eszközökkel (számítógép, kamera stb.) kivitelezhető és az első lépésben megfogalmazott irányelvek szerinti adatgyűjtés. Ha ezzel végeztünk, az adatokat elemzésre kész formába, például táblázatokba kell szerveznünk. Utána jön a megtisztításuk, a másolatok, hibák és a nem teljes adatok eltávolítása, méretek csökkentése stb.

Az adatelemzés egymásra épülő, időben egymást követő négy alaptípusát különböztetjük meg.

dan0.jpg

A leíró elemzésből kiderül, hogy mi történik most, vagy történt egy megadott időintervallumban. A diagnosztikai elemzés az okokra összpontosít, ezért több és változatosabb bemeneti adatra van szükség hozzá, és részben feltételezés. Például hiába nőttek egy termék eladási mutatói, valószínűsíthető, de nem biztos, hogy a marketingkampány szerepet játszott benne. Az előrejelző analitika a közeljövőre következtet – mi fog valószínűleg történni? Az előíró elemzés meghatározza a teendőket, hogy mik legyenek a következő lépések. Például, ha öt időjárásmodell alapján, 65 százalék esély van meleg nyárra, célszerű éjszakai műszakkal és újabb tartályokkal bővíteni a sörfőzdét.

dan.jpg

Az adatelemzést széles körben alkalmazzák. Az utazási és a vendéglátó szektorban például hamar megtérülhet, mert a fogyasztók adataiból egyszerű kideríteni az utána gyorsan megszüntethető problémaforrásokat. Az egészségügyben, nagymennyiségű strukturált és strukturálatlan adat összekombinálásával, gyors döntéshozásra, a kereskedelemben a fogyasztók folyamatosan változó igényeinek feltérképezésére használják. A technológia egyik korai elfogadója, a pénzügyi szektor adatelemzéssel prognosztizál üzleti trendeket, becsüli fel a kockázatokat, például, hogy mennyire veszélyes hitelt folyósítani valakinek.

Az adatelemzés azonban túlmutat a profit maximalizálásán. Többek között az egészségügyben, a bűnmegelőzésben vagy a környezetvédelemben szolgáltat a világunk jobbá, élhetőbbé tételéhez nélkülözhetetlen, máshogy kideríthetetlen információkat.

Frissítve: 2023. december 26.

Big data: az adat mindenhatósága

2020-ban napi 306,4 milliárd e-mailt küldtünk el, 500 ezer tweetet posztoltunk, közel 6 milliárd Google-keresést jegyeztünk, másodpercenként 1,7 megabájtnyi adatot generáltunk, a Facebook napi 4 petabájtot. Elképesztő, felfoghatatlan számok, és az azóta eltelt években még felfoghatatlanabbakká váltak. 

Az a tény, hogy a meteorológiától a genetikáig, az államigazgatástól az üzleti életig, minden területen meghatározó jelentőségű big data kifejezéssel naponta találkozunk, egyértelműen jelzi a folyamatosan ránk zúduló adat mennyiségét, és értelemszerűen azt is, hogy a jelenlegi társadalmakban mennyire kitüntetett jelentőségű az adattudomány, milyen fontos az adatok kezelése, az információ szisztematikus kinyerése a zajból. Ezeket a munkákat ma már főként mesterségesintelligencia-alapú programok végzik, egyben pont a big data "ágyazott meg" napjaink MI-forradalmának.

Nem az általunk birtokolt, esetleg bődületes adatmennyiség, hanem az számít, hogy mit kezdünk ezekkel az adatokkal. Gondos elemzésükkel (előrejelző analitikával) MI-vel támogatott, adatvezérelt „okos” döntéseket hozhatunk: csökkenthetünk árakat, termékek gyártási idejét rövidíthetjük le, a fogyasztói elvárásokhoz optimalizált új termékeket találhatunk ki. Az adatsorokban kimutatott, korábbi módszerekkel észrevehetetlen új kapcsolatok, mintázatok alapján például üzleti folyamatok prognosztizálhatók, járványok és bűntények előzhetők meg.

Maga a big data az elképesztő mennyisége, komplexitása miatt hagyományos feldolgozó szoftverekkel értelmezhetetlen, nagyon gyorsan mozgó és mozgatható adatokra vonatkozik. Az adatfeldolgozás cseppet sem újkeletű diszciplína, a 2000-es évek elején számítástudományi fősodorrá vált big data viszont teljesen megváltoztatta.

Három tulajdonság határozza meg: tömege, gyorsasága és változatossága. Ezekből következik, hogy hagyományos programok sem időben, sem tartalmilag nem tudják kezelni a kapacitásaikat meghaladó méretet. (Innen ered az angol 3V elnevezés – volume, velocity, variety.)

Mit jelent mindez?

bigd3.jpg

Egyrészt, szervezetek változatos forrásokból, többek között üzleti tranzakciókból, a dolgok internetének (IoT) okos eszközeiből, ipari berendezésekből, infokommunikációs készülékeinkből, videókból, a közösségi médiából gyűjtik az óriási mennyiségűre duzzadó adatokat. Tárolásukat a múltban nehezebben lehetett volna megoldani, a mostani olcsóbb platformokkal, például az adattavakkal vagy az Apache adatintenzív elosztott Hadoop fájlrendszerével viszont egyszerűbb a feladat.

Másrészt, a dolgok internetének felpörgése, az adattovábbítás döbbenetes sebessége miatt kezelni kell – és lényegében valósidőben kell kezelni – ezt a gyors tempót. Az automatizáció komoly szerepet játszik benne, elég csak a serényen dolgozó szenzorhálózatokra, okos mérőeszközökre vagy a rádiófrekvenciás azonosító (RFID) címkékre gondolni.

Harmadrészt, az adatok változatos formátumokban érkeznek. Lehetnek a hagyományos adatbázisok strukturált, numerikus adatai, de lehetnek – feldolgozásuk szempontjából – szerkesztetlen szöveges dokumentumok, e-mailek, kép-, mozgókép- és hanganyagok, üzleti tranzakciók is.

bigd1.jpg

Az egyre sokfélébb és egyre gyorsabb adatfolyamokat nem lehet előrejelezni, mert olyan gyakran és olyan tempóban változnak. Ez azért komoly kihívás, mert a nagyvállalatoknak tudnia kell, hogy a közösségi médiában mikor lesz trendi valami, és hogy hogyan kezeljék a napi, szezonális vagy egy-egy esemény által előidézett „adatcsúcsot.”

Mivel az adatok rengetegfajta forrásból jönnek, különböző rendszereken keresztüli összekapcsolásuk, csoportosításuk, megtisztításuk és átalakításuk szintén nehéz, de kötelező munka. Vállalatoknak többszintű kapcsolatokat, hierarchiákat kell kidolgozniuk közöttük, mert ha nem, akkor hamar elveszítik az adatok feletti kontrollt.

A 21. században márpedig az adat az új olaj.

Frissítve: 2023. december 26.

Ezért asszociálunk a felhő szóról gépekre az égbolt helyett

A felhő szót hallva elsősorban a kék égboltra és persze az időjárásra asszociálunk: ezeknek a gondolatoknak és képeknek értelemszerűen semmi közük nincs az informatikához. Legalábbis sokáig nem volt, aztán a 2010-es évektől a számítástudomány egyik meghatározó ágazatát a köznyelvben is összekapcsolták az égen lebegő különös alakzatokkal. Népszerűségét korábban, az Amazon 2006-os számítási felhője alapozta meg.

Ha valaki azt mondja, hogy „felhő”, ma már komputerekre, adatközpontokra is gondolhatunk. Közben olyan kifejezések is meghonosodtak a köznyelvben, mint a bárhol, bármikor, bárkivel való online kapcsolatteremtésre, a folyamatos hálózati jelenlétre vonatkozó, helyfüggetlen „felhőélmény.”

cl4.jpg

De mi az a számítási felhő, miért annyira fontosak a felhőszámítások? (A kifejezést egyébként 1996-ban használták először.)    

Elsősorban azért, mert a felhőszámítások lehetővé teszik információtechnológiai szolgáltatások és erőforrások hálózaton belüli igény szerinti használatát. A számítási felhő a felhasználót megszabadítja e források közvetlen menedzselésének és karbantartásának gondjaitól; az adattárolástól a bonyolult alkalmazásokig, rengeteg lehetőséget kínál. A meghatározott hardver helyett a szolgáltató különböző hardverein – nyilvános adatközpontokban, helyi magán adatközpontokban – működtetett szolgáltatások nyilvános felhőnél interneten, magán- és hibrid felhőnél interneten vagy helyi hálózaton keresztül érhetők el.

cl1.jpg

A források felhő általi gyors elérhetőségével, vállalkozásunk eredményesebben reagál a változó üzleti környezetre, nő az innovációs kedvünk, termékeinket hamarabb juttatjuk piacra. Számítási erőforrásainkat „felhőfüggően”, mindig az adott körülményekre reagálva növeljük, vagy éppen csökkentjük. A méretezhetőség szintén komoly előny, mert vállalkozásunk növekedésével párhuzamosan, folyamatosan több infokommunikációs megoldásra van szükségünk. Mivel a felhőszolgáltató megteszi helyettünk, nem kell olyan idő- és pénzigényes feladatokkal bíbelődnünk, mint például a karbantartás vagy a frissítés, több időnk marad kreatívabb feladatokra, nagyobb értéket teremtő tevékenységekre. Ha pedig beüt a mennykő, a használt szolgáltatásokat, alkalmazásokat és adatokat a szolgáltató úgy állítja helyre, hogy vállalkozásunk minimális ideig, vagy egyáltalán nem kényszer-szünetelt.       

A felhőszolgáltatások három fő csoportba sorolhatók, a csoportok száma persze folyamatosan bővül, és ma már a mesterségesintelligencia-szolgáltatások (AI-as-a-Service) is egyre fontosabbak. 

Az infrastruktúraszolgáltatás (IaaS) a szoftverek telepítéséhez és működéséhez alapvető infrastrukturális forrásokhoz, például operációs rendszerekhez, alkalmazásokhoz való hozzáférés. A számítások, a tárolás, a hálózatiság és a virtualizáció tartoznak ide, de egyes szolgáltatók adatbázist stb. is kínálnak. Nagyjából olyan, mintha alkalmazásprogramozási (API) vagy online adminisztratív felületről (dashboard) hozzáférhető virtualizált adatközpontunk lenne a felhőben.

A platformszolgáltatás (PaaS) szoftverek fejlesztéséhez, teszteléséhez, futtatásához és karbantartásához szükséges infrastruktúra, operációs rendszer, köztes szoftver (middleware) és futtatókörnyezet weben keresztüli biztosítása a felhasználók számára, akik gyakran fejlesztők is egyben, és így erőforrások kezelése helyett alkalmazásokra összpontosíthatnak.

cl0.jpg

A három közül a szoftverszolgáltatás (SaaS) a legkevésbé rugalmas, a programot problémás lehet meglévő rendszerekbe integrálni, és egyedire alakíthatósága is korlátozott.

Frissítve: 2023. december 23.

Időjárás-mintázatoktól az energiahálózatokig – mire jó a grid?

A számítástudomány fejlődése folyamatosan új módszereket, paradigmákat, számítási és hálózati technológiákat eredményez.

Mi a közös pont például a hálózatba rendezett, szerteágazó helyszíneken elhelyezett független számítógép-füzérek, a közműszerű számítások és a főként tudományos célokra használt, földrajzilag elosztott virtuális számítógépek között?

Az elosztott számítások egyik változata, a grid computing, azaz rácsszámítások (leginkább egyszerűen csak grid) ez a közös nevező. Lényege több, gyakran különböző helyszíneken lévő számítógép főként helyi hálótati, esetleg internetkapcsolaton keresztüli hálózatba rendezése, hogy együtt oldjanak meg feladatokat. Legismertebb példája a nagymennyiségű adatot elosztó és kezelő, egymással közvetlenül kommunikáló, a munkát koordináló gépekből álló adatgrid, de léteznek nagy számítási kapacitásokat és időt igénylő feladatokat végző számítási, valamint speciális erőforrásokat, például teleszkópot tartalmazó, az általuk szolgáltatott adatokat feldolgozó gridek is. Utóbbiakat leginkább tudományos problémák megoldására használják.

gr0.jpg

A gridszámítás azokban az esetekben különösen előnyös, amikor különböző területek szakértői dolgoznak egy projektben, viszont egyetlen gépen, oldalon nem tudják azonnal megosztani egymással az adatokat és a számítási kapacitásokat. A földrajzi távolság ellenére, közösen viszont még akkor is sikerül nekik, ha az összes kapacitással nem kell ugyanazon a speciális feladaton dolgozniuk.

gr5.jpg

Ha például egy kutatócsoport az észak-atlanti, egy másik pedig a dél-atlanti térség időjárás-mintázatait elemzi, az eredmények összekombinálhatók, és megkapjuk az egész Atlanti-óceán meteorológiai trendjeit.

A grid azonban nemcsak nagyléptékű elosztott számítási feladatok végrehajtására, hanem kisebb munkák helyi szintű elvégzésére szintén tökéletesen alkalmas. Ezeket a munkákat egyetlen gép vagy nem, vagy csak nagy nehézség árán tudná elvégezni.

A rácsba kapcsolt összes komputeren speciális, a rendszert irányító és a változatos munkákat összehangoló szoftver fut. A szoftver jelöli ki minden egyes gépnek a részfeladatokat, és így egyszerre tudnak dolgozni, információkat megosztani egymással. A részmunkák elvégzése után az összegyűjtött és összesített outputokat a feladat egészének a megoldására használják. Ez a program elsősorban köztes, az operációs rendszer számára elérhetetlen alkalmazásokat biztosító, egyfajta „ragasztóként” funkcionáló szoftver (middleware).

Egy gridhálózat általában három géptípusból tevődik össze: az egész rendszert kezelő, az erőforrásokat felügyelő, szerverből vagy szervercsoportból álló irányító csomópontból, az erőforrásait rendelkezésre bocsátó szolgáltató és a hálózati erőforrásokkal dolgozó felhasználó gépekből.

Ha egy gép erőforrást kér a csomóponttól, az megadja neki a hozzáférést. Amennyiben a másik gép nincs használatban, ideális esetben erőforrásaival járul hozzá a hálózati tevékenységhez. Így lehet egy átlagos komputer szolgáltató és felhasználó is. A grid egyik sajátossága, hogy a csomópontok állhatnak hasonló platformokon, ugyanazzal az operációs rendszert használó gépekből (homogén hálózatok), míg más gépek különböző platformokon, különböző operációs rendszerekkel futhatnak (heterogén hálózatok).

A grid alkalmazásai azonban itt még nem érnek véget.

gr.jpg

Az infokommunikációs technológiák fejlődése és a megújuló energiák iránti igény növekedése nagyjából a 21. század elejétől egyre inkább összekapcsolódó, az elektromos hálózatok átalakítását szükségszerűvé tevő, az úgynevezett okos hálózathoz – smart grid – vezető párhuzamos folyamatok. Ez a decentralizáltabb hálózat, a szolgáltatók és a fogyasztók szokásaitól információt gyűjtve, azokat feldolgozva optimalizálja önmagát – hatékonyabbá, gazdaságosabbá, biztonságosabbá és „zöldebbé” válik.

Frissítve 2023. december 23.

Az internettel egyidősek az elosztott számítások

Az adatrobbanással, a folyamatosan és drámai mértékben növekvő adatmennyiséggel nemcsak a felhasználók navigálnak egyre nehezebben on- és offline terekben, de az adatokat kezelni hivatott rendszerek, programok, alkalmazások teljesítményét is állandóan növelni kell, új megoldásokat kell kitalálni.

A többek közt az adatbázis-kezelésben és az alkalmazástervezésben elterjedt elosztott számítások ezt a problémahalmazt igyekeznek orvosolni. Az adatmennyiség megsokszorozódásával a méretezhetőség (skálázhatóság) kitüntetett jelentőségűvé vált, ami úgy oldható meg, hogy a rendszert új és újabb hardverrel bővítjük. Ezzel szemben, hagyományos rendszereknél vagy frissítik, vagy lecserélik a hardvert.

A koncepció legáltalánosabb értelemben arra vonatkozik, amikor több számítógép, rendszer dolgozik ugyanazon a feladaton. Egyetlen problémát sok részre osztanak, a részproblémákat más komputerek oldják meg. A programot külön futtatható részekre bontják, és a programrészeknek figyelembe kell venni, hogy a többi rész különféle környezetekben, például más hardvereken fut.

dcu.jpg

Mivel a gépek hálózatban kapcsolódnak egymáshoz, kapacitásaik koordinálása mellett, kommunikálnak is egymással – hálózati kommunikáció nélkül nincsenek elosztott számítások. A hálózattal valósul meg, hogy lényegében egyetlen számítógépként működnek, kis túlzással itt is érvényesül „a hálózat maga a számítógép” elv. Ha minden gördülékenyen megy, a rendszer egyetlen entitásként funkcionál, és a részeredményekből áll össze a végleges megoldás.

Felhasználók és infokommunikációs erőforrások költséghatékony, átlátható és biztonságos összekapcsolásával, az elosztott számítások maximalizálják a teljesítményt. Akkor sincs gond, ha a hálózat egyik eleme meghibásodik és esetleg kiesik, mert egy jól működő rendszer van annyira hibatűrő, hogy kezelni tudja a problémát, és biztosítsa minden komponensének a hozzáférést.

dcu3.jpg

A skálázhatóság mellett az elosztott számítások több más előnnyel is rendelkeznek. Mivel a klaszteren belüli összes komputer egyszerre, egymással párhuzamosan oldja meg a feladat egy részét, komoly teljesítményre képesek együtt. Ezzel a számítási módszerrel a klaszterek szervereken keresztül másolják az adatokat, és így minimálisra csökken a hibalehetőség. Tehát ha egy számítógép „kidől”, a rajta lévő adatmásolatok nem vesznek el, mert azokat máshol is tárolják. A költséghatékonyság a negyedik előny: elosztott számításokhoz tipikusan olcsó hardvert használnak, és így az első telepítések, majd a bővítések sem drágák.

dcu4.jpg

Az elosztott számítások gyökereit az 1960-as évek végén, az internet-előd ARPANET környékén kell keresnünk. A hálózat legsikeresebb alkalmazásának az elektronikus levelezése bizonyult, az ARPANET e-mail technikája volt a legkorábbi széles körben használt elosztott alkalmazás. A többi korai hálózat (Usenet, FidoNet stb.) szintén támogatta az elosztott rendszereket. Ezeknek a rendszereknek a kutatása és fejlesztése az 1970-es évek végén vált a számítástudomány egyik szakterületévé.

Jelenleg több területen alkalmazzák őket: például telekommunikációs hálózatokban, sokszereplős online játékokban, virtuális valóságokban, valósidejű folyamatvezérlésben, párhuzamos számításokban.

Frissítve: 2023. december 22.

Versenyfutás a szuperszámítógépes hegemóniáért

Desktop, laptop, tablet, okostelefon, és még folytathatnánk – a mindennapokban mindenki által használt (személyi) számítógépek mellett működnek méretes tereket betöltő, általában kormányintézmények, nagyvállalatok és nagybankok munkáját segítő úgynevezett nagygépek (mainframe) is. A határok ugyan képlékenyek, és vannak árfedések, de ezek a komputerek nem azonosak a főként tudományos és katonai alkalmazásokban jeleskedő és állandó média-rivaldafényben lubickoló szuperszámítógépekkel. Utóbbiakat bonyolult, sok memóriát igénylő speciális, gyakran elméleti, ezzel szemben a nagygépeket napi feladatokra, egyszerű számításokra és rengeteg adatbázis elérésére optimalizálják.

scu0.jpg

A szuperszámítógépek teljesítményét a másodpercenkénti millió utasítás (MIPS) helyett másodpercenkénti lebegőpontos műveletek (FLOPS) számában mérik – ezek a számok elképesztőek, kvázi felfoghatatlanok. 2017 óta a leggyorsabbak sebessége meghaladja a tíz a tizenhetediken FLOPS-t. A teraflop és a petaflop után már az exaflophoz (tíz a tizennyolcadikon) közelítenek, és valószínűleg hamarosan megtanulhatjuk a zettaflop (tíz a huszonegyediken) és a yottaflop (tíz a huszonnegyediken) szavakat is.

Az exaflop tartományba lépve, folyamatosak a fejlesztések, az USA, Kína, Japán és az Európai Unió között egyre élesebb a verseny.

Szélvészgyors számítógép-rendszerekre a presztízs mellett azonban sokkal inkább gyakorlati okok miatt mutatkozik már-már napról napra erősödő igény. Az időjárástól a DNS-kutatásokig, a kvantummechanikától a molekuláris szintű modellezésig és nem utolsósorban a klímakatasztrófáig, állandóan bővülő skálán kell nagyon komoly és komplex számításokat végezni, amelyekre csak szuperszámítógépek, és azokból is a leggyorsabbak képesek. Ezek a gépek az átlagember életére is kihatnak, mert mindannyian tudni szeretnénk, hogy például mekkora egy földrengés stb. valószínűsége. Az ilyen kérdéseket a szuperszámítógépek válaszolják meg legjobban.

Az 1960-as években tűntek fel, versenyüket évtizedekig a Seymour Cray (1925-1996) által tervezett, vagy az ő nevét, monogramját viselők voltak a leggyorsabbak. Részben neki köszönhető, hogy az Egyesült Államok sokáig uralta a területet. Az 1970-es évektől az 1990-esek második feléig a teljesítmény bizonyos feladattípusok esetében nagymértékű növelésére képes úgynevezett vektor- vagy tömbprocesszorok határozták meg a szuperszámítógépeket. Az elnevezés arra utal, hogy ezeknek a processzoroknak az utasításkészlete egydimenziós tömbökben (vektorokban) tárolható utasításokat tartalmaz.

A mikroprocesszorok minőségjavulása, csökkenő áruk és jobb teljesítményük a vektoros szuperszámítógépek hanyatlásához, a masszívan párhuzamos rendszerek megjelenéséhez és diadalmenetéhez vezetett. Ma már a több tízezer processzor a norma.

A 20. század végétől a szuperszámítógépek operációs rendszerei szintén komoly változásokon mentek keresztül. A változásokat a gépek architektúrájában történt átalakítások tették szükségszerűvé. Korábban minden egyes rendszerre „házon belüli” saját operációs rendszert dolgoztak ki, az ezredfordulótól viszont „általánosabb” megoldásokat, leginkább Linuxot használnak.

scu2.jpg

A Cray nevéhez kapcsolódó intézmények mellett más amerikai nagyvállalatok, például az IBM is meghatározó szereplőkké váltak. Az 1980-as években Japán, a 2000-esekben és különösen az elmúlt évtizedben pedig Kína fejlesztései jelezték az amerikai hegemónia végét. A versenyfutás akkor vált sprintté, amikor az internetes óriáscégek (Amazon, Facebook, Google, Alibaba, Baidu, Tencent) fontos technológiákban is átvették a vezető szerepet.

Napjainkban a fejlesztések egyik legnagyobb kihívása a költséghatékony energiaellátás kivitelezése, mert az exaszintű komputerek elektromosáram-fogyasztása kb. kétszázezer háztartásénak felel meg.

Frissítve: 2023. december 22.

Ma már a földönkívülieket is párhuzamos számításokkal keressük

A párhuzamos számítások egyre fontosabbak a tudomány és a technológia világában. A hagyományos – szekvenciális – számítások mégis sokáig elterjedtebbek voltak, és annak ellenére jobban megszoktuk, és véljük érteni őket, hogy a természetben minden párhuzamosan létezik, funkcionál.

De mi a különbség?

pcu.jpg

A szoftvereket eredetileg a szekvenciális számításokhoz írták. Az adott problémát utasítások sorára szedték szét, az utasítások végrehajtása egymás utáni, azaz a program elvégzi az egyiket, egyszerre csak egyet, és utána jön a másik, ráadásul minden egyetlen processzoron történik.

pcu0.jpg

A párhuzamos számítások különféle számítási erőforrások egyidőben történő használata egy probléma megoldására. A problémát ez esetben is részekre szedik, de ezek a részproblémák szimultán oldhatók meg. A részeket utasítássorokra bontják, a feladat végrehajtása egyszerre, több processzoron történik. A rendszer mindent átfogó kontroll-/koordinációs mechanizmussal kezeli az egészet, az alfeladatok közötti – az optimális teljesítményhez nélkülözhetetlen – gördülékeny kommunikáció, hibátlan szinkronizálásuk a jelenlegi legnagyobb akadály.

A számítási problémának több feltételt kell kielégítenie: legyen szimultán kezelhető, diszkrét részekre lehessen osztani, bármikor lehessen többféle programutasítást használni hozzá, hamarabb lehessen megoldani több számítási erőforrással, mint eggyel. A kivitelezéshez többmagos/több processzorral rendelkező számítógépet, vagy tetszőleges számú számítógépből álló hálózatot használnak. Hardveroldalról nézve, szinte minden mai komputer (asztali, laptop, okostelefon stb.) párhuzamos végrehajtással működik. A világ legnagyobb párhuzamos számítógépei, a szuperszámítógépek hardver-klaszterekből állnak össze. A párhuzamos szoftvereket ezekhez a gépekhez fejlesztik. Ha szekvenciális programokat használnánk hozzájuk, rengeteg számítási kapacitás menne kárba. Az egyidejűség elve alapján működő, párhuzamos algoritmusokat viszont nehezebb írni, mint szekvenciálisakat.

pcu3.jpg

Párhuzamos számításokat azért használunk, mert a természetben sok komplex, egymással összefüggő esemény szimultán (ugyanakkor időbeli sorrendben) megy végbe. Másrészt, a való világ jelenségei párhuzamos számításokkal jobban modellezhetők, szimulálhatók és érthetők. Ezek a gépek és rendszerek olcsó alkatrészekből is felépíthetők, lényegesen több erőforrással dolgoznak, a számításokat gyorsabban kivitelezik, időt és pénzt takarítunk meg velük.

Egyes problémák ráadásul annyira bonyolultak, hogy szekvenciális programozással vagy nem praktikus, vagy lehetetlen nekik ugrani. Az úgynevezett nagy kihívásokhoz (Grand Challenge Problems) például petaflop/petabájt kapacitások kellenek, de a webes keresők és adatbázisok is többmilliónyi műveletet dolgoznak fel másodpercenként.

Párhuzamos számításokkal nagy kiterjedésű hálózatok vagy az internet olyan területeken is megoldják a problémákat, ahol alig áll rendelkezésre számítási kapacitás. A földönkívüli lényekkel való kapcsolatot kereső, velük foglalkozó SETI@home-ot is a világ szinte minden országában, összesen kb. 1,7 millióan használják.

Az utóbbi két évtized trendjeiből, a töretlen fejlődésből kiderült, hogy az egyre gyorsabb hálózatokkal, elosztott rendszerekkel, az asztali gépek szintjén is többprocesszoros architektúrákkal, az informatika jövője egyértelműen a párhuzamosság. A szuperszámítógépek teljesítménye 500 ezerszeresére nőtt, és a növekedésnek nincs potenciális korlátja. Az exaflop/exabájt korszakába léptünk.

Egy exaflop másodpercenkénti tíz a tizennyolcadikon számítást jelent.

Frissítve: 2023. december 22.

Beágyazott rendszerek: mi a közös a mikrohullámú sütőben és egy ultrahang berendezésben?

Az okosórától a mikrohullámú sütők vezérléséig, naponta használunk csupán pár előre meghatározott feladatot végrehajtani képes beágyazott rendszerekkel: hálózati routerrel, digitális fényképezőgéppel, GPS-szel, háztartási gépekkel, riasztókkal, orvosi műszerekkel, komputer perifériákkal.

Ezek a rendszerek gyakran tartalmaznak olyan, a csak az adott – speciális – feladat kivitelezésére használt alkatrészeket, amelyeket a normál számítógépeink nem. Processzor, memória és input/output perifériaeszközök kombinációi, sokszor nagyobb mechanikus vagy elektronikus rendszereken belül funkcionálnak. Komplett eszközök beágyazott, a gép tipikusan fizikai műveleteit vezérlő részei. Leegyszerűsítve: a számítógép ezúttal teljes egészében az általa vezérelt eszközben található.

esy2.jpg

Tervezőik tudják, milyen feladatok elvégzéséhez fejlesztik őket, annak függvényében optimalizálják például az ultrahang berendezést vagy a légkondicionálót. Méretük változatos, lehetnek magunkon viselhető, hordozható, kicsi (okostelefon), de lehetnek nagyméretű, helyhez kötött berendezések (közlekedési lámpa, bankautomata, atomerőmű irányítórendszere) is. A ma gyártott mikroprocesszorok nagy többségét beágyazott rendszerekbe szerelik.

esy4.jpg

Általában mikrokontrollereken, például integrált memóriával és periferikus interfészekkel rendelkező mikroprocesszorokon alapulnak, de – különösen bonyolult rendszerekben – a külső memóriachipekkel dolgozó, közönséges mikroprocesszorok sem ritkák.

A területben két tényező összekombinálása miatt rejlik komoly potenciál: egyrészt a tervező teljes ellenőrzése alatt tartja mind a hardver, mind a szoftver fejlesztését. Másrészt, a beágyazott rendszerek a számítástudomány több részterületét hozzák közös nevezőre: számítógépes architektúrát, operációs rendszereket, valósidejű rendszereket. A két tényező egybeintegrálásával átjárhatók a diszciplínák közötti határok, létrejön és a rendszerek optimalizálásában szépen tetten érhető a területek szinergiája.

Az előrejelezhető jó teljesítmény megvalósítása komoly kihívást jelent. Mivel sok beágyazott rendszernek főként valósidőben kell teljesítenie, ha a számítások nincsenek kész időre, összeomlik az egész. Sajnos pont a személyi számítógépeket felgyorsító, teljesítményüket növelő képességek nehezítik meg a teljesítmény pontos előrejelzését. A fejlesztőknek ezért kell új megközelítéseket kidolgozniuk, vagy a már meglévőket kell pontosabbá tenniük.

Az Apollo 1965 körül az MIT-n (Massachusetts Institute of Technology) fejlesztett irányító számítógépe volt a leghíresebb korai beágyazott rendszer. Mivel az akkor legújabb, monolitikus integrált áramkörökkel dolgozott, a gépet tartották a program legkockázatosabb részének. Ezek az áramkörök tették lehetővé a komputer méret- és tömegcsökkentését.

Még korábbi példa a Minuteman rakéta 1961-ben bemutatott Autonetics D-17 irányító számítógépe, egy tömegtermeléssel gyártott beágyazott rendszer. Az 1966-ben debütált Minuteman II-ben a D-17-et az integrált áramkörök nagymennyiségű alkalmazását elsőként szemléltető, új komputerrel helyettesítették.

Az 1960-as évek óta drasztikusan esett a beágyazott rendszerek ára, nőtt a feldolgozókapacitás és a funkcionalitás. Az Intel 1971-ben bemutatott (külső memóriával működő) mikroprocesszorát számológépekhez és más kisebb gépekhez tervezték. A memória, az input- és outputrészek ugyanazon chipbe integrálását a korai 1980-as évekre érték el, a processzor ekkor már mikrokontrollerként működött – elsősorban általános rendeltetésű számítógépek számára költséges alkalmazásokban.

A mikroprocesszorok és a mikrokontrollerek árának csökkenésével, egyre fontosabbá váltak a beágyazott rendszerek. Egy viszonylag olcsó mai mikrokontroller ugyanazokra a szerepekre programozható, mint sok különálló alkatrész, fogyasztói cikkek helyettesíthetők velük, bár ezek a rendszerek bonyolultabbak, mint a hagyományos beágyazott rendszerek.

Frissítve: 2023. december 21.

süti beállítások módosítása