Sovellettuja teknologioita blockchain-kuumeen raunioilla tai resurssien jakelun käytännön hyödyt

Viime vuosina uutissyötteet ovat tulvineet viestejä uudentyyppisistä hajautetuista tietokoneverkoista, jotka ilmestyvät kirjaimellisesti tyhjästä ja jotka ratkaisevat (tai pikemminkin yrittävät ratkaista) monenlaisia ​​ongelmia - tekevät kaupungista älykkään, pelastavat maailman tekijänoikeuksilta. loukkaajat tai päinvastoin, siirtävät salaa tietoa tai resursseja, pakenevat - valtion valvonnasta jollakin alueella. Alasta riippumatta niillä kaikilla on useita yhteisiä piirteitä, koska niiden kasvun polttoaineena olivat algoritmit ja tekniikat, jotka tulivat julkisuuteen viimeaikaisen kryptovaluuttojen ja niihin liittyvien teknologioiden nousukauden aikana. Todennäköisesti joka kolmannen erikoisresursseja käsittelevän artikkelin otsikossa oli tuolloin sana "blockchain" - keskustelu uusista ohjelmistoratkaisuista ja talousmalleista nousi joksikin aikaa hallitsevaksi trendiksi, jonka taustalla hajautettujen laskentajärjestelmien muut sovellusalueet olivat jäänyt taustalle.

Samaan aikaan visionäärit ja ammattilaiset näkivät ilmiön pääolemuksen: massiivinen hajautettu laskenta, joka liittyy verkkojen rakentamiseen suuresta määrästä erilaisia ​​ja heterogeenisia osallistujia, on saavuttanut uuden kehitystason. Riittää, kun heittää hype-aiheet pois päästäsi ja katsoa aihetta toiselta puolelta: kaikki nämä valtavista poolista kootut verkostot, jotka koostuvat tuhansista eristyneistä heterogeenisistä osallistujista, eivät ilmestyneet itsestään. Salausliikkeen harrastajat pystyivät ratkaisemaan monimutkaisia ​​tiedon synkronoinnin ja resurssien ja tehtävien jakautumisen ongelmia uudella tavalla, mikä mahdollisti samanlaisen massamassan koota yhteen ja luoda uuden ekosysteemin, joka on suunniteltu ratkaisemaan yksi kapeasti fokusoitu ongelma.

Tämä ei tietenkään mennyt ohi ilmaiseksi hajautetun laskennan kehittämiseen osallistuneilta tiimeiltä ja yhteisöiltä, ​​eikä uusia projekteja odotettu kauaakaan.
Huolimatta verkkojen rakentamisen ja laitetyöskentelyn kehityksestä saatavilla olevan tiedon määrän merkittävästä kasvusta, lupaavien järjestelmien luojien on ratkaistava vakavia ongelmia.

Ensimmäinen niistä, vaikka se kuulostaa kuinka oudolta, on suunnan valintaongelma.

Suunta voi olla oikea, tai se voi johtaa umpikujaan - tästä ei ole paeta, keskitetyt selvänäkijöiden toimitukset IT-yhteisöön ovat edelleen myöhässä. Mutta valinta on tehtävä niin, ettei jouduta perinteiseen ansaan, jossa tiimi ottaa liian laajan alueen ja yrittää alusta alkaen luoda toisen erikoistumattoman yleisen hajautetun laskentaprojektin. Näyttää siltä, ​​​​että työn laajuus ei ole niin pelottava, suurimmaksi osaksi tarvitsee vain soveltaa olemassa olevia kehityssuuntia: yhdistää solmut verkkoon, mukauttaa algoritmeja topologioiden määrittämiseen, tietojen vaihtoon ja niiden johdonmukaisuuden valvontaan, ottaa käyttöön menetelmiä solmujen luokitteluun ja etsimiseen. konsensus, ja tietysti vain luoda oma kyselykielesi ja koko kieli- ja laskentaympäristö. Ajatus universaalista mekanismista on erittäin houkutteleva ja ponnahtaa esiin jatkuvasti jollakin alueella, mutta lopputulos on silti yksi kolmesta asiasta: luotu ratkaisu joko osoittautuu rajoitetuksi prototyypiksi, jossa on joukko ripustettuja "ToDoja" ” ruuhkassa, tai siitä tulee käyttökelvoton hirviö, joka on valmis raahaamaan pois kaikki, joka koskettaa haisevaa ”Turingin suota”, tai yksinkertaisesti kuolee turvallisesti siihen, että projektia käsittämättömään suuntaan vetäneet joutsen, rapu ja hauki yksinkertaisesti ylikuormittivat itsensä.

Älkäämme toistako tyhmiä virheitä ja valitsemme suunta, jolla on selkeä tehtäväalue ja joka sopii hyvin hajautettuun laskentamalliin. Ymmärrät ihmisiä, jotka yrittävät tehdä kaiken kerralla - tietysti valinnanvaraa riittää. Ja moni asia näyttää äärimmäisen mielenkiintoiselta sekä t&k:n ja kehityksen että talouden näkökulmasta katsottuna. Hajautetun verkon avulla voit:

  • Harjoittele neuroverkkoja
  • Käsittele signaalivirtoja
  • Laske proteiinin rakenne
  • Renderöi XNUMXD-kohtauksia
  • Simuloi hydrodynamiikkaa
  • Testaa pörssien kaupankäyntistrategioita

Jotta emme innostuisi laatimaan listaa mielenkiintoisista ja hyvin rinnakkaisista asioista, valitsemme jatkoaiheeksi hajautetun renderöinnin.

Hajautettu renderöinti itsessään ei tietenkään ole mitään uutta. Nykyiset renderöintityökalusarjat ovat pitkään tukeneet kuormituksen jakautumista eri koneille; ilman tätä XNUMX-luvulla eläminen olisi melko surullista. Ei kuitenkaan pidä ajatella, että aihetta on käsitelty laajasti, eikä siellä ole mitään tehtävissä - pohditaan erillistä kiireellistä ongelmaa: työkalun luominen renderöintiverkon luomiseen.

Renderöintiverkkomme on yhdistelmä solmuja, joiden on suoritettava renderöintitehtäviä solmuilla, joilla on vapaita laskentaresursseja renderöinnin käsittelemiseksi. Resurssien omistajat yhdistävät asemansa renderöintiverkkoon vastaanottaakseen ja suorittaakseen renderöintitöitä jollakin verkon tuetuista renderöimiskoneista. Tässä tapauksessa tehtävien tarjoajat työskentelevät verkon kanssa kuin se olisi pilvi, jakaen itsenäisesti resursseja, valvovat suorituksen oikeellisuutta, hallitsevat riskejä ja muita ongelmia.

Siksi harkitsemme sellaisen kehyksen luomista, jonka pitäisi tukea integraatiota suosittujen renderöintikoneiden kanssa ja sisältää komponentteja, jotka tarjoavat työkaluja heterogeenisten solmujen verkoston järjestämiseen ja tehtävien kulun hallintaan.

Tällaisen verkon olemassaolon taloudellisella mallilla ei ole perustavanlaatuista merkitystä, joten otamme lähtökaavioksi samanlaisen mallin kuin kryptovaluuttaverkkojen laskelmissa käytetään - resurssin kuluttajat lähettävät tokeneita renderöintityötä suorittaville toimittajille. On paljon mielenkiintoisempaa ymmärtää, mitä ominaisuuksia viitekehyksellä tulisi olla, jolle tarkastelemme verkon osallistujien välisen vuorovaikutuksen pääskenaariota.

Verkossa vuorovaikutuksessa on kolme puolta: resurssien tarjoaja, tehtävien tarjoaja ja verkko-operaattori (tekstissä alias ohjauskeskus, verkko jne.).

Verkko-operaattori toimittaa resurssien tarjoajalle asiakassovelluksen tai käyttöjärjestelmäkuvan käyttöönotetun ohjelmistosarjan kanssa, jonka hän asentaa koneelle, jonka resursseja hän haluaa tarjota, sekä henkilökohtaisen tilin, johon pääsee verkkokäyttöliittymän kautta ja jonka avulla hän voi asettaa pääsyparametrit resurssille ja etähallita palvelinympäristöä: hallitse laitteistoparametreja, suorita etämääritykset, käynnistä uudelleen.

Kun uusi solmu kytketään, verkonhallintajärjestelmä analysoi laitteiston ja määritellyt pääsyparametrit, luokittelee ne antamalla tietyn luokituksen ja sijoittaa sen resurssirekisteriin. Jatkossa riskin hallitsemiseksi solmun aktiivisuusparametrit analysoidaan ja solmun luokitusta säädetään verkon vakauden varmistamiseksi. Kukaan ei ole tyytyväinen, jos hänen kohtauksensa lähetetään renderöimään tehokkaille korteille, jotka usein jäätyvät ylikuumenemisen vuoksi?

Käyttäjä, jonka on renderöitävä kohtaus, voi toimia kahdella tavalla: ladata kohtauksen verkkovarastoon verkkokäyttöliittymän kautta tai liittää mallinnuspakettinsa tai asennetun renderöijansa verkkoon laajennuksen avulla. Tällöin käyttäjän ja verkon välille käynnistetään älysopimus, jonka suorittamisen vakioehtona on, että verkko tuottaa kohtauslaskennan tuloksen. Käyttäjä voi seurata tehtävän suorittamisprosessia ja hallita sen parametreja henkilökohtaisen tilinsä verkkoliittymän kautta.

Tehtävä lähetetään palvelimelle, jossa analysoidaan kohtauksen volyymi ja tehtävän aloittajan pyytämien resurssien määrä, minkä jälkeen kokonaisvolyymi jaetaan osiin, jotka on sovitettu laskemaan verkon allokoimien resurssien lukumäärää ja tyyppiä. . Yleisidea on, että visualisointi voidaan jakaa useisiin pieniin tehtäviin. Moottorit hyödyntävät tätä jakamalla nämä tehtävät useiden resurssien tarjoajien kesken. Yksinkertaisin tapa on renderoida pieniä osia kohtauksesta, joita kutsutaan segmenteiksi. Kun jokainen segmentti on valmis, paikallinen tehtävä katsotaan suoritetuksi ja resurssi siirtyy seuraavaan jäljellä olevaan tehtävään.

Siten renderöijän kannalta ei sinänsä ole väliä, suoritetaanko laskelmat yhdellä koneella vai useiden yksittäisten laskenta-asemien ruudukolla. Hajautettu renderöinti lisää yksinkertaisesti enemmän ytimiä tehtävään käytettyjen resurssien joukkoon. Verkon kautta se vastaanottaa kaikki segmentin hahmontamiseen tarvittavat tiedot, laskee sen, lähettää segmentin takaisin ja siirtyy seuraavaan tehtävään. Ennen yleiseen verkkopankkiin siirtymistä jokainen segmentti saa joukon metainformaatiota, jonka avulla suorittavat solmut voivat valita heille sopivimmat laskentatehtävät.

Laskelmien segmentointi- ja jakautumisongelmat on ratkaistava paitsi suoritusajan optimoinnin, myös resurssien optimaalisen käytön ja energiansäästön kannalta, koska verkon taloudellinen tehokkuus riippuu tästä. . Jos ratkaisu epäonnistuu, olisi parempi asentaa solmuun kaivosmies tai sammuttaa se, jotta se ei aiheuta melua eikä tuhlaa sähköä.

Palataan kuitenkin prosessiin. Kun tehtävä vastaanotetaan, poolin ja solmun välille muodostuu myös älykäs sopimus, joka suoritetaan, kun tehtävän tulos on laskettu oikein. Sopimuksen täyttämisen tulosten perusteella solmu voi saada palkkion muodossa tai toisessa.

Ohjauskeskus ohjaa tehtävien suorittamisprosessia, laskentatulosten keräämistä, virheellisten lähettämistä uudelleenkäsittelyyn ja jonon järjestystä, tarkkailee tehtävän suorittamisen normaalia määräaikaa (jotta ei tapahdu, että viimeinen segmentti jää käyttämättä mikä tahansa solmu).

Laskelmien tulokset käyvät läpi kompositiovaiheen, jonka jälkeen käyttäjä saa renderöintitulokset ja verkko voi saada palkkion.

Siten hajautettujen renderöintijärjestelmien rakentamiseen suunnitellun maisemakehyksen toiminnallinen koostumus ilmenee:

  1. Henkilökohtaiset käyttäjätilit, joilla on pääsy verkkoon
  2. Ohjelmistosarja solmuihin asentamista varten
  3. Ohjausjärjestelmän mukaan:
    • Kulunvalvonta-alijärjestelmä
    • Renderöintitehtävän hajotusalijärjestelmä
    • Tehtävien jakelun alajärjestelmä
    • Osajärjestelmän muodostaminen
    • Palvelimen maiseman ja verkkotopologian hallintaalijärjestelmä
    • Kirjaus- ja auditointialijärjestelmä
    • Oppimisen asiantuntija-alijärjestelmä
    • Rest API tai muu käyttöliittymä ulkoisille kehittäjille

Mitä mieltä sinä olet? Mitä kysymyksiä aihe herättää ja mistä vastauksista olet kiinnostunut?

Lähde: will.com

Lisää kommentti