Toegepaste tegnologieë op die ruïnes van blokkettingkoors of die praktiese voordele van hulpbronverspreiding

In onlangse jare is nuusstrome oorval met boodskappe oor 'n nuwe soort verspreide rekenaarnetwerke wat letterlik uit die niet verskyn, wat 'n wye verskeidenheid probleme oplos (of eerder probeer oplos) - om 'n stad slim te maak, die wêreld van kopiereg te red oortreders of omgekeerd, inligting of hulpbronne in die geheim oordra, ontsnap uit -onder staatsbeheer in een of ander gebied. Ongeag die veld, hulle het almal 'n aantal gemeenskaplike kenmerke as gevolg van die feit dat die brandstof vir hul groei die algoritmes en tegnieke was wat na die publiek gekom het tydens die onlangse oplewing in kripto-geldeenhede en verwante tegnologieë. Waarskynlik elke derde artikel oor gespesialiseerde hulpbronne op daardie tydstip het die woord "blockchain" in die titel gehad - bespreking van nuwe sagteware-oplossings en ekonomiese modelle het vir 'n geruime tyd die dominante tendens geword, teen die agtergrond waarvan ander toepassingsgebiede van verspreide rekenaarstelsels was op die agtergrond geskuif.

Terselfdertyd het visioenêres en professionele persone die belangrikste essensie van die verskynsel gesien: massiewe verspreide rekenaar, wat verband hou met die konstruksie van netwerke van 'n groot aantal uiteenlopende en heterogene deelnemers, het 'n nuwe vlak van ontwikkeling bereik. Dit is genoeg om die hype-onderwerpe uit jou kop te gooi en die onderwerp van die ander kant af te kyk: al hierdie netwerke, saamgestel uit groot poele, wat bestaan ​​uit duisende geïsoleerde heterogene deelnemers, het nie op hul eie verskyn nie. Entoesiaste van die kripto-beweging was in staat om komplekse probleme van datasinchronisasie en verspreiding van hulpbronne en take op 'n nuwe manier op te los, wat dit moontlik gemaak het om 'n soortgelyke massa toerusting saam te stel en 'n nuwe ekosisteem te skep wat ontwerp is om een ​​eng gefokusde probleem op te los.

Dit het natuurlik nie verbygegaan by die spanne en gemeenskappe wat betrokke was by die ontwikkeling van gratis verspreide rekenaars nie, en nuwe projekte het nie lank om te kom nie.
Ten spyte van die aansienlike toename in die volume beskikbare inligting oor ontwikkelings op die gebied van die bou van netwerke en werk met toerusting, sal die skeppers van belowende stelsels ernstige probleme moet oplos.

Die eerste daarvan, hoe vreemd dit ook al mag klink, is die probleem om 'n rigting te kies.

Die rigting kan korrek wees, of dit kan tot 'n doodloopstraat lei - daar is geen ontvlugting hiervan nie; gesentraliseerde voorrade van heldersiende aan die IT-gemeenskap is nog laat. Maar die keuse moet gemaak word om nie in die tradisionele strik te trap dat die span 'n te wye gebied neem en van meet af aan probeer om nog 'n nie-gespesialiseerde algemene verspreide rekenaarprojek te skep. Dit blyk dat die omvang van die werk nie so skrikwekkend is nie, vir die grootste deel hoef ons net bestaande ontwikkelings toe te pas: kombineer nodusse in 'n netwerk, pas algoritmes aan vir die bepaling van topologieë, die uitruil van data en monitering van hul konsekwentheid, stel metodes bekend om nodusse te rangskik en vind konsensus, en skep natuurlik net jou eie navraagtaal en die hele taal- en rekenaaromgewing. Die idee van 'n universele meganisme is baie aanloklik en duik voortdurend in die een of ander gebied op, maar die eindresultaat is steeds een van drie dinge: die geskepde oplossing blyk óf eintlik 'n beperkte prototipe te wees met 'n klomp opgeskorte " ToDos” in die agterstand, of dit word ’n onbruikbare monster wat gereed is om enigiemand weg te sleep wat aan die stinkende “Turing-moeras” raak, of dood eenvoudig veilig van die feit dat die swaan, krewe en snoek, wat die projek in ’n onbegryplike rigting getrek het. , het hulself eenvoudig oorspan.

Kom ons herhaal nie dom foute nie en kies 'n rigting wat 'n duidelike reeks take het en goed geskik is vir die verspreide rekenaarmodel. Jy kan mense verstaan ​​wat alles op een slag probeer doen – daar is natuurlik baie om van te kies. En baie dinge lyk uiters interessant, beide uit die oogpunt van R&D en ontwikkeling, en uit die oogpunt van ekonomie. Met behulp van 'n verspreide netwerk kan jy:

  • Lei neurale netwerke op
  • Verwerk seinstrome
  • Bereken proteïenstruktuur
  • Gee XNUMXD-tonele weer
  • Simuleer hidrodinamika
  • Toets handel strategieë vir aandelebeurse

Om nie meegevoer te raak met die samestelling van 'n lys van interessante dinge wat goed geparalleliseer is nie, sal ons verspreide weergawe as ons verdere onderwerp kies.

Verspreide weergawe self is natuurlik niks nuuts nie. Bestaande lewering-gereedskapstelle het lank lasverspreiding oor verskillende masjiene ondersteun; daarsonder sou die lewe in die een-en-twintigste eeu nogal hartseer wees. U moet egter nie dink dat die onderwerp wyd en syd gedek is nie, en daar is niks om daar te doen nie - ons sal 'n aparte dringende probleem oorweeg: die skep van 'n instrument om 'n weergawe-netwerk te skep.

Ons leweringsnetwerk is 'n kombinasie van nodusse wat leweringstake moet uitvoer met nodusse wat gratis rekenaarhulpbronne het om lewering te verwerk. Hulpbroneienaars sal hul stasies aan die leweringsnetwerk koppel om leweringstake te ontvang en uit te voer deur een van die netwerk se ondersteunde leweringenjins te gebruik. In hierdie geval sal taakverskaffers met die netwerk as 'n wolk werk, hulpbronne onafhanklik versprei, die korrektheid van uitvoering, risikobestuur en ander probleme monitor.

Ons sal dus oorweeg om 'n raamwerk te skep wat integrasie met 'n stel gewilde weergawe-enjins moet ondersteun en komponente bevat wat gereedskap verskaf om 'n netwerk van heterogene nodusse te organiseer en die vloei van take te bestuur.

Die ekonomiese model van die bestaan ​​van so 'n netwerk is nie van fundamentele belang nie, daarom sal ons as die aanvanklike skema 'n skema neem wat soortgelyk is aan dié wat in berekeninge in kriptogeldeenheidnetwerke gebruik word - verbruikers van die hulpbron sal tokens aan verskaffers stuur wat die leweringswerk verrig. Dit is baie meer interessant om te verstaan ​​watter eienskappe 'n raamwerk moet hê, waarvoor ons die hoofscenario van interaksie tussen netwerkdeelnemers sal oorweeg.

Daar is drie kante van interaksie in die netwerk: hulpbronverskaffer, taakverskaffer en netwerkoperateur (ook bekend as beheersentrum, netwerk, ens. in die teks).

Die netwerkoperateur voorsien die hulpbronverskaffer van 'n kliënttoepassing of 'n bedryfstelselbeeld met 'n ontplooide stel sagteware, wat hy sal installeer op die masjien wie se hulpbronne hy wil verskaf, en 'n persoonlike rekening wat deur die webkoppelvlak toeganklik is, wat hom in staat stel om stel toegangsparameters tot die hulpbron en bestuur sy bedienerlandskap op afstand: beheer hardewareparameters, voer afgeleë konfigurasie uit, herlaai.

Wanneer 'n nuwe nodus gekoppel is, ontleed die netwerkbestuurstelsel die toerusting en gespesifiseerde toegangsparameters, rangskik dit, ken 'n sekere gradering toe en plaas dit in die hulpbronregister. In die toekoms, om die risiko te bestuur, sal die nodus se aktiwiteitsparameters ontleed word, en die nodus se gradering sal aangepas word om die stabiliteit van die netwerk te verseker. Niemand sal bly wees as hul toneel gestuur word om te vertoon op kragtige kaarte wat dikwels vries as gevolg van oorverhitting nie?

'n Gebruiker wat 'n toneel moet weergee, kan twee maniere doen: laai die toneel op na 'n netwerkbewaarplek via die webkoppelvlak, of gebruik 'n inprop om hul modelleringspakket of geïnstalleerde weergawe aan die netwerk te koppel. In hierdie geval word 'n slim kontrak tussen die gebruiker en die netwerk geïnisieer, waarvan die standaardvoorwaarde vir voltooiing die generering van die resultaat van die toneelberekening deur die netwerk is. Die gebruiker kan die proses van die voltooiing van 'n taak monitor en sy parameters bestuur deur die webkoppelvlak van sy persoonlike rekening.

Die taak word na die bediener gestuur, waar die volume van die toneel en die aantal hulpbronne wat deur die taakinisieerder aangevra is ontleed word, waarna die totale volume ontbind word in dele wat aangepas is vir berekening op die aantal en tipe hulpbronne wat deur die netwerk toegewys is. . Die algemene idee is dat visualisering in baie klein take opgebreek kan word. Enjins trek voordeel hiervan deur hierdie take onder verskeie hulpbronverskaffers te versprei. Die eenvoudigste manier is om klein dele van die toneel wat segmente genoem word, weer te gee. Wanneer elke segment gereed is, word die plaaslike taak as voltooi beskou, en die hulpbron beweeg aan na die volgende uitstaande taak.

Dit maak dus geen verskil as sodanig vir die verskaffer of die berekeninge op 'n enkele masjien of op 'n rooster van baie individuele rekenaarstasies uitgevoer word nie. Verspreide weergawe voeg eenvoudig meer kerns by die poel hulpbronne wat vir 'n taak gebruik word. Deur die netwerk ontvang dit al die data wat nodig is om 'n segment weer te gee, bereken dit, stuur daardie segment terug en gaan aan na die volgende taak. Voordat die algemene netwerkpoel betree word, ontvang elke segment 'n stel meta-inligting wat die uitvoering van nodusse toelaat om die mees geskikte rekenaartake vir hulle te kies.

Die probleme van segmentering en verspreiding van berekeninge moet nie net opgelos word vanuit die oogpunt van optimalisering van uitvoeringstyd nie, maar ook vanuit die oogpunt van optimale gebruik van hulpbronne en energiebesparing, aangesien die ekonomiese doeltreffendheid van die netwerk hiervan afhang. . As die oplossing onsuksesvol is, sal dit meer raadsaam wees om 'n mynwerker op die nodus te installeer of dit af te skakel sodat dit nie geraas maak nie en nie elektrisiteit mors nie.

Kom ons keer egter terug na die proses. Wanneer 'n taak ontvang word, word 'n slim kontrak ook tussen die swembad en die nodus gevorm, wat uitgevoer word wanneer die taakresultaat korrek bereken is. Op grond van die resultate van die nakoming van die kontrak, kan die nodus 'n beloning in een of ander vorm ontvang.

Die beheersentrum beheer die proses van taakuitvoering, versamel berekeningsresultate, stuur verkeerde resultate vir herverwerking en rangorde van die tou, monitor die standaard sperdatum vir die voltooiing van die taak (sodat dit nie gebeur dat die laaste segment nie opgeneem word deur enige nodus).

Die resultate van die berekeninge gaan deur die samestellingstadium, waarna die gebruiker die leweringsresultate ontvang, en die netwerk 'n beloning kan ontvang.

Dus kom die funksionele samestelling van 'n landskapraamwerk wat ontwerp is vir die bou van verspreide leweringstelsels na vore:

  1. Persoonlike gebruikersrekeninge met webtoegang
  2. Sagtewarestel vir installasie op nodusse
  3. Deur beheerstelsel:
    • Toegangsbeheer substelsel
    • Weergawe taak ontbinding subsisteem
    • Taakverspreiding substelsel
    • Samestellende substelsel
    • Bedienerlandskap en netwerktopologiebestuursubstelsel
    • Logging en oudit substelsel
    • Leerkundige substelsel
    • Rest API of ander koppelvlak vir eksterne ontwikkelaars

Wat dink jy? Watter vrae bring die onderwerp na vore en in watter antwoorde stel jy belang?

Bron: will.com

Voeg 'n opmerking