Az utĂłbbi Ă©vekben a hĂrekben szĂĄmos olyan bejegyzĂ©s jelent meg, amelyek Ășj tĂpusĂș elosztott szĂĄmĂtĂĄsi hĂĄlĂłzatokrĂłl szĂłlnak, amelyek szĂł szerint a semmibĆl bukkannak fel, Ă©s amelyek kĂŒlönfĂ©le feladatok megoldĂĄsĂĄra prĂłbĂĄlnak megoldĂĄst talĂĄlni â legyĂŒnk okos vĂĄros, megvĂ©djĂŒk a vilĂĄgot a szerzĆi jogok megsĂ©rtĂ©sĂ©tĆl, vagy Ă©ppen ellenkezĆleg, titkos informĂĄciĂłt vagy forrĂĄsokat tovĂĄbbĂtsunk, hogy kiszabaduljunk az ĂĄllam ellenĆrzĂ©se alĂłl egy vagy mĂĄsik terĂŒleten. A szektor fajtĂĄjĂĄtĂłl fĂŒggetlenĂŒl mindegyik közös jellemzĆkkel bĂr, mivel növekedĂ©sĂŒk ĂŒzemanyaga olyan algoritmusok Ă©s mĂłdszerek voltak, amelyeket a közelmĂșlt kriptovaluta- Ă©s kapcsolĂłdĂł technolĂłgiĂĄinak robbanĂĄsa juttatott el szĂ©les tömegekhez. ValĂłszĂnƱleg minden harmadik szakmai cikk cĂmĂ©ben szerepelt a âblokklĂĄncâ szĂł â az Ășj szoftvermegoldĂĄsok Ă©s gazdasĂĄgi modellek megvitatĂĄsa egy idĆben a dominĂĄlĂł trenddĂ© vĂĄlt, amely hĂĄttĂ©rbe szorĂtotta a elosztott szĂĄmĂtĂĄsi rendszerek egyĂ©b alkalmazĂĄsi terĂŒleteit.
Ugyanakkor a lĂĄtnokok Ă©s a szakemberek felfedeztĂ©k a jelensĂ©g lĂ©nyegĂ©t: a tömeges elosztott szĂĄmĂtĂĄsok, amelyek szĂĄmos kĂŒlönbözĆ rĂ©sztvevĆbĆl ĂĄllĂł hĂĄlĂłzatok Ă©pĂtĂ©sĂ©vel jĂĄrnak, Ășj fejlĆdĂ©si szintre lĂ©ptek. ElĂ©g, ha fĂ©lretesszĂŒk a hype-tĂ©mĂĄkat, Ă©s mĂĄs szemszögbĆl nĂ©zĂŒnk a dologra: mindezek a hatalmas medencĂ©kbĆl összegyƱjtött hĂĄlĂłzatok, amelyekben ezer kĂŒlönĂĄllĂł, kĂŒlönbözĆ rĂ©sztvevĆ van, nem keletkeztek önmaguktĂłl. A kripto-mozgalom lelkes hĂvei Ășj megközelĂtĂ©ssel tudtĂĄk megoldani az adatok szinkronizĂĄlĂĄsĂĄval Ă©s az erĆforrĂĄsok Ă©s feladatok elosztĂĄsĂĄval kapcsolatos összetett problĂ©mĂĄkat, ami lehetĆvĂ© tette szĂĄmukra, hogy ilyen tömeget összehozzanak Ă©s lĂ©trehozzanak egy Ășj ökoszisztĂ©mĂĄt, amely egy szƱken meghatĂĄrozott feladat megoldĂĄsĂĄra lett szĂĄnva.
TermĂ©szetesen ez nem kerĂŒlhette el a szabad elosztott szĂĄmĂtĂĄsok fejlesztĂ©sĂ©vel foglalkozĂł csapatok Ă©s közössĂ©gek figyelmĂ©t, Ă©s az Ășj projektek megjelenĂ©se sem vĂĄratott magĂĄra.
Ugyanakkor, a hĂĄlĂłzatok Ă©pĂtĂ©sĂ©vel Ă©s a berendezĂ©sek kezelĂ©sĂ©vel kapcsolatos informĂĄciĂłk mennyisĂ©gĂ©nek komoly növekedĂ©se ellenĂ©re a jövĆbeli rendszerek lĂ©trehozĂłinak komoly problĂ©mĂĄkkal kell szembenĂ©zniĂŒk.
Az elsĆ, bĂĄrmennyire is furcsĂĄn hangzik, az irĂĄnyvĂĄlasztĂĄs problĂ©mĂĄja.
AæčććŻèœæŻæŁçĄźçïŒäčćŻèœćŻŒèŽæ»èĄćââèżäžçčæ æłéżć ïŒIT瀟ćșć éäžćçć ćæćĄèżèżæȘèœè·äžăäœæä»ŹèżæŻèŠććșéæ©ïŒä»„ć é·ć „äŒ ç»çé·é±ïŒćłćąéæ¶ćèżäșćčżæłçéąćïŒćč¶èŻćŸä»äžćŒć§ć°±ćć»șćŠäžäžȘäžçčćźçćčżæłèźĄçźéĄčçźăçäŒŒć·„äœéćč¶äžéŁäčćŻæïŒäž»èŠćȘæŻćșçšç°æçææïŒć°èçčććč¶äžșçœç»ïŒè°æŽææç»æăæ°æźäș€æąćäžèŽæ§æ§ć¶ççźæłïŒćźæœèçčèŻçș§ćć ±èŻæ„æŸçæčæłïŒćœç¶ïŒä» ä» ćć»șèȘć·±çæ„èŻąèŻèšä»„ćææèŻèšćèźĄçźçŻćąăæźéæșć¶çæłæłéćžžèŻ±äșșïŒćč¶äžćšæäžȘéąćäžææ”źç°ïŒäœæç»äș§ççç»ææ éæŻäžç§æ ć”ïŒćć»șçè§ŁćłæčæĄèŠäčéäșäžäžȘæéçććïŒèèŽç性éćŸ ćäșéĄčïŒèŠäčæäžșäžäžȘæ æłäœżçšçæȘç©ïŒéæ¶ćŻèœć°ä»»äœè§Šçą°ć°ćźçćŻčè±Ąæć „ćŻæçâćŸç”æł„æœâïŒäčæćŻèœćȘæŻć äžșćŒćŻŒéĄčçźè”°ćäžææčćçâ怩éč ăèèčćéČ鱌âć ±ćäœçšèćčłæ·Ąæ ć„ć°æ»ć»ă
èź©æä»ŹäžèŠéć€æè ąçéèŻŻïŒéæ©äžäžȘä»»ćĄèćŽæž æ°äžéćžžéćććžćŒèźĄçźæšĄćçæčćăćŻä»„çè§ŁéŁäșèŻćŸäžćŁæ°ććźææäșæ çäșșââæŻç«ćŻäŸéæ©çäžè„żćźćšć€Șć€äșăèäžïŒä»R&DććŒćçè§ćșŠæ„çïŒèźžć€çè”·æ„æć ¶æè¶Łăä»ććžćŒçœç»äžïŒæä»ŹćŻä»„ïŒ
- èźç»ç„ç»çœç»
- ć€çäżĄć·æ”
- èźĄçźèçœèŽšç»æ
- æžČæäžç»ŽćșæŻ
- æšĄææ”äœćšććŠ
- æ”èŻèĄç„šćžćșçäș€æçç„
äžșäșäžé·ć „ććșæè¶Łçăéććč¶èĄć€ççć ćźčïŒæä»Źéæ©ććžćŒæžČæäœäžșæä»Źèżäžæ„èźšèźșçäž»éąă
A elosztott renderelĂ©s önmagĂĄban termĂ©szetesen nem Ășj jelensĂ©g. A lĂ©tezĆ renderelĆ eszközök rĂ©gĂłta tĂĄmogatjĂĄk a terhelĂ©s megosztĂĄsĂĄt kĂŒlönbözĆ gĂ©pek között, anĂ©lkĂŒl, hogy ez a huszonegyedik szĂĄzadban elviselhetĆ lenne. Azonban nem szabad azt gondolni, hogy a tĂ©ma kimerĂŒlt, Ă©s itt nincs semmi keresnivalĂł â egy konkrĂ©t aktuĂĄlis problĂ©mĂĄt fogunk megvizsgĂĄlni: egy eszköz lĂ©trehozĂĄsĂĄt a renderelĆ hĂĄlĂłzat kialakĂtĂĄsĂĄhoz.
A renderĂĄlĂł hĂĄlĂłzatunk csomĂłpontok összessĂ©ge, amelyeknek renderelĂ©si feladatokat kell vĂ©grehajtaniuk, Ă©s olyan csomĂłpontok, amelyek rendelkeznek szabad szĂĄmĂtĂĄsi erĆforrĂĄsokkal a renderelĂ©s feldolgozĂĄsĂĄhoz. Az erĆforrĂĄsok tulajdonosai csatlakoztatjĂĄk ĂĄllomĂĄsaikat a renderĂĄlĂł hĂĄlĂłzathoz, hogy kapjanak Ă©s vĂ©gezzenek el renderelĂ©si feladatokat az egyik tĂĄmogatott renderelĆ motor segĂtsĂ©gĂ©vel. A feladatkĂŒldĆk a hĂĄlĂłzattal mint felhĆvel dolgoznak, amely önĂĄllĂłan vĂ©gzi el az erĆforrĂĄsok elosztĂĄsĂĄt, felĂŒgyeli a vĂ©grehajtĂĄs helyessĂ©gĂ©t, kezeli a kockĂĄzatokat Ă©s egyĂ©b problĂ©mĂĄkat.
EzĂ©rt a cĂ©lunk egy olyan keretrendszer kialakĂtĂĄsa, amely tĂĄmogatja a nĂ©pszerƱ renderelĆ motorokkal valĂł integrĂĄciĂłt, Ă©s magĂĄban foglalja azokat az összetevĆket, amelyek eszközöket biztosĂtanak a sokfĂ©le csomĂłpontbĂłl ĂĄllĂł hĂĄlĂłzat megszervezĂ©sĂ©hez Ă©s a feladatok ĂĄramlĂĄsĂĄnak kezelĂ©sĂ©hez.
Egy ilyen hĂĄlĂłzat gazdasĂĄgi modelljĂ©nek nincs alapvetĆ jelentĆsĂ©ge, Ăgy kiindulĂĄskĂ©nt vesszĂŒk a kriptovaluta hĂĄlĂłzatokban alkalmazott sĂ©mĂĄhoz hasonlĂł modellt â az erĆforrĂĄst fogyasztĂłk tokeneket kĂŒldenek azokat ellĂĄtĂł szolgĂĄltatĂłknak, akik elvĂ©gzik a renderelĆ munkĂĄt. Sokkal Ă©rdekesebb megĂ©rteni, hogy milyen tulajdonsĂĄgokkal kell rendelkeznie a keretrendszernek, ezĂ©rt megvizsgĂĄljuk a hĂĄlĂłzat rĂ©sztvevĆi közötti fĆ interakciĂłs forgatĂłkönyvet.
A hĂĄlĂłzatban hĂĄrom kölcsönhatĂĄs lĂ©tezik: az erĆforrĂĄs szolgĂĄltatĂł, a feladatszolgĂĄltatĂł Ă©s a hĂĄlĂłzat operĂĄtora (ez utĂłbbi az irĂĄnyĂtĂł központ, a hĂĄlĂłzat stb. a szövegben).
A hĂĄlĂłzati ĂŒzemeltetĆ a szolgĂĄltatĂł szĂĄmĂĄra egy kliensalkalmazĂĄst vagy egy operĂĄciĂłs rendszer kĂ©pĂ©t biztosĂt, amely tartalmazza a szĂŒksĂ©ges szoftverek telepĂtett halmazĂĄt, amelyet az a gĂ©pre telepĂt, amelynek erĆforrĂĄsait kĂnĂĄlja, tovĂĄbbĂĄ elĂ©rhetĆ egy webes felĂŒletet biztosĂtĂł szemĂ©lyes fiĂłk, amely lehetĆvĂ© teszi szĂĄmĂĄra az erĆforrĂĄsokhoz valĂł hozzĂĄfĂ©rĂ©si paramĂ©terek beĂĄllĂtĂĄsĂĄt Ă©s a szerverlandscape tĂĄvoli kezelĂ©sĂ©t: hardver paramĂ©terek ellenĆrzĂ©se, tĂĄvoli konfigurĂĄlĂĄs, ĂșjraindĂtĂĄs.
A hĂĄlĂłzatirĂĄnyĂtĂł rendszer az Ășj csomĂłpont csatlakoztatĂĄsakor elemzi a hardvert Ă©s a megadott hozzĂĄfĂ©rĂ©si paramĂ©tereket, rangsorolva azokat, meghatĂĄrozott Ă©rtĂ©ket adva nekik, Ă©s a nyilvĂĄntartĂĄsba helyezve az erĆforrĂĄsokat. A jövĆbeli kockĂĄzatkezelĂ©s cĂ©lja Ă©rdekĂ©ben az aktĂv csomĂłpont paramĂ©tereit elemezni fogjĂĄk, Ă©s a csomĂłpont Ă©rtĂ©kĂ©t korrigĂĄlni fogjĂĄk a hĂĄlĂłzat stabil mƱködĂ©sĂ©nek biztosĂtĂĄsa Ă©rdekĂ©ben. Senkinek sem lenne kellemes, ha a szĂnpadĂĄt olyan erĆs, de gyakran tĂșlmelegedĂ©s miatt leĂĄllĂł kĂĄrtyĂĄkra kĂŒldenĂ©k renderelĂ©sre?
A felhasznĂĄlĂł, akinek szĂŒksĂ©ge van egy szĂnpad renderelĂ©sĂ©re, kĂ©t utat vĂĄlaszthat: feltöltheti a szĂnpadot a hĂĄlĂłzat tĂĄrolĂłjĂĄba a webes felĂŒleten keresztĂŒl, vagy egy plugin segĂtsĂ©gĂ©vel csatlakoztathatja a sajĂĄt modellezĆ csomagjĂĄt vagy telepĂtett renderelĆjĂ©t a hĂĄlĂłzathoz. EzenfelĂŒl a felhasznĂĄlĂł Ă©s a hĂĄlĂłzat között egy intelligens szerzĆdĂ©s jön lĂ©tre, amelynek a szĂnpad szĂĄmĂtĂĄsi eredmĂ©nyĂ©nek generĂĄlĂĄsa a standard befejezĂ©si feltĂ©tele. A felhasznĂĄlĂł a feladat vĂ©grehajtĂĄsĂĄnak folyamatĂĄt Ă©s paramĂ©tereit a szemĂ©lyes fiĂłkjĂĄnak webes felĂŒletĂ©n keresztĂŒl tudja nyomon követni Ă©s kezelni.
A feladat a(z) szerver, ahol a szĂnpad mĂ©retĂ©nek Ă©s a feladatszolgĂĄltatĂł ĂĄltal kĂ©rt erĆforrĂĄsok mennyisĂ©gĂ©nek elemzĂ©sĂ©re kerĂŒl sor, ezt követĆen a teljes kapacitĂĄs rĂ©szfeladatokkĂĄ törtĂ©nĆ dekomponĂĄlĂĄsa törtĂ©nik, amelyek alkalmazkodtak a hĂĄlĂłzat ĂĄltal biztosĂtott erĆforrĂĄsok szĂĄmĂĄhoz Ă©s tĂpusĂĄhoz. Az alapötlet az, hogy a vizualizĂĄciĂł sok kis feladatra bonthatĂł. A motorok ezt a lehetĆsĂ©get kihasznĂĄlva elosztjĂĄk ezeket a feladatokat az erĆforrĂĄs-szolgĂĄltatĂłk között. A legegyszerƱbb mĂłdszer a szĂnpad kis rĂ©szeinek renderelĂ©se, amelyeket szegmenseknek neveznek. Amikor minden szegmens kĂ©sz, a helyi feladat befejezettnek tekinthetĆ, az erĆforrĂĄs ĂĄtkerĂŒl a következĆ, megoldatlan feladat vĂ©grehajtĂĄsĂĄra.
Ăgy a renderelĆ szĂĄmĂĄra nincs lĂ©nyeges kĂŒlönbsĂ©g, hogy a szĂĄmĂtĂĄsok egy gĂ©pen vagy egy sok kĂŒlönĂĄllĂł szĂĄmĂtĂłgĂ©pbĆl ĂĄllĂł rĂĄcson zajlanak. A megosztott renderelĂ©s egyszerƱen több magot ad hozzĂĄ az adott feladathoz hasznĂĄlt erĆforrĂĄsokhoz. A hĂĄlĂłzaton keresztĂŒl megkapja az összes szĂŒksĂ©ges adatot a szegmens renderelĂ©sĂ©hez, kiszĂĄmĂtja azt, visszakĂŒldi ezt a szegmenst, majd tovĂĄbb lĂ©p a következĆ feladatra. MielĆtt a közös hĂĄlĂłzati poolba kerĂŒlne, minden szegmens kap egy metaadat-kĂ©szletet, amely lehetĆvĂ© teszi a vĂ©grehajtĂł csomĂłpontok szĂĄmĂĄra, hogy kivĂĄlasszĂĄk a szĂĄmukra legmegfelelĆbb szĂĄmĂtĂĄsi feladatokat.
A szegmentĂĄlĂĄsi Ă©s szĂĄmĂtĂĄsmegosztĂĄsi feladatokat nemcsak a vĂ©grehajtĂĄsi idĆ optimalizĂĄlĂĄsa szempontjĂĄbĂłl kell megoldani, hanem az erĆforrĂĄsok optimĂĄlis kihasznĂĄlĂĄsa Ă©s energiahatĂ©konysĂĄg szempontjĂĄbĂłl is, mivel ez befolyĂĄsolja a hĂĄlĂłzat gazdasĂĄgi hatĂ©konysĂĄgĂĄt. Sikertelen döntĂ©s esetĂ©n Ă©rdemesebb lehet a csomĂłpontot bĂĄnyĂĄszgĂ©pkĂ©nt ĂŒzemeltetni vagy kikapcsolni, hogy ne zajongjon Ă©s ne pazarolja az ĂĄramot.
VisszatĂ©rve a folyamathoz. A feladat ĂĄtvĂ©telekor a pool Ă©s a csomĂłpont között egy okos szerzĆdĂ©s is lĂ©trejön, amely a feladat eredmĂ©nyĂ©nek helyes kiszĂĄmĂtĂĄsakor lĂ©p Ă©letbe. A szerzĆdĂ©s teljesĂtĂ©se utĂĄn a csomĂłpont jutalomban rĂ©szesĂŒlhet valamilyen formĂĄban.
A vezĂ©rlĆközpont figyelemmel kĂsĂ©ri a feladat vĂ©grehajtĂĄsi folyamatĂĄt, összegyƱjti a szĂĄmĂtĂĄsi eredmĂ©nyeket, ĂșjrafeldolgozĂĄsra elkĂŒldi a hibĂĄsakat, Ă©s rangsorolja a sort, nyomon követve a feladat normĂĄl vĂ©grehajtĂĄsi idejĂ©t (hogy elkerĂŒlje, hogy az utolsĂł szegmenst egyetlen csomĂłpont sem vĂĄllalja).
A szĂĄmĂtĂĄsi eredmĂ©nyek ĂĄtmennek egy kompozĂciĂłs fĂĄzison, ezutĂĄn a felhasznĂĄlĂł megkapja a renderelĂ©si eredmĂ©nyeket, mĂg a hĂĄlĂłzat jutalomban rĂ©szesĂŒlhet.
Ăgy kirajzolĂłdik a tĂĄjkeretrendszer funkcionĂĄlis összetĂ©tele, amely a megosztott renderelĂ©si rendszerek felĂ©pĂtĂ©sĂ©re szolgĂĄl:
- Felhasznålói fiókok webes hozzåféréssel
- Szoftvercsomag a csomĂłpontokra törtĂ©nĆ telepĂtĂ©shez
- A rendszerek kezelése érdekében:
- HozzĂĄfĂ©rĂ©s-vezĂ©rlĆ alrendszer
- A renderelési feladatok lebontåsi alrendszere
- A feladatok elosztĂĄsi alrendszere
- A kompozĂciĂłs alrendszer
- A szerver tĂĄj Ă©s hĂĄlĂłzati topolĂłgia kezelĆ alrendszere
- A naplózåsi és auditålåsi alrendszer
- ĂnkeresĆ szakĂ©rtĆi alrendszer
- Rest API vagy mĂĄs interfĂ©sz kĂŒlsĆ fejlesztĆk szĂĄmĂĄra
Mit gondoltok errĆl? Milyen kĂ©rdĂ©seket vet fel a tĂ©ma, Ă©s milyen vĂĄlaszok Ă©rdekelnek benneteket?
ForrĂĄs: habr.com
