Tecnulugie applicate nantu à e ruine di a frebba bluccatu o i benefici pratichi di a distribuzione di risorse

Nta l'ultimi anni, i feed di nutizie sò stati inundati di messagi nantu à un novu tipu di rete di computing distribuitu chì appare literalmente da nulla, risolvendu (o piuttostu, circandu di risolve) una larga varietà di prublemi - facenu una cità intelligente, salvendu u mondu da u copyright. infringers o viciversa, sicretu trasfiriri infurmazione o risorsi, scappannu da -sottu cuntrollu statu in una zona o un altru. Indipendentemente da u campu, tutti anu una quantità di funziunalità cumuni per u fattu chì u carburante per a so crescita era l'algoritmi è e tecniche chì sò ghjunti à u publicu durante u recente boom in cripto muniti è tecnulugii rilativi. Probabilmente ogni terzu articulu nantu à risorse specializate in quellu tempu avia a parolla "blockchain" in u titulu - discussione di novi suluzioni di software è mudelli ecunomichi diventenu a tendenza dominante per qualchì tempu, in u sfondate di quale l'altri spazii d'applicazione di sistemi di computing distribuitu sò stati. relegatu à u fondu.

À u listessu tempu, i visionarii è i prufessiunali anu vistu l'essenza principale di u fenomenu: l'informatica distribuita massiva, assuciata à a custruzzione di rete da un gran numaru di participanti disparati è eterogenei, hà righjuntu un novu livellu di sviluppu. Hè abbastanza à scaccià i temi di l'hype da a vostra testa è fighjate u sughjettu da l'altra parte: tutte queste rete, assemblate da piscine enormi, chì sò custituiti da millaie di participanti eterogenei isolati, ùn sò micca apparsu per sè stessu. L'amatori di u muvimentu di criptu sò stati capaci di risolve i prublemi cumplessi di sincronizazione di dati è distribuzione di risorse è compiti in una nova manera, chì hà permessu di mette inseme una massa simili di equipaghji è di creà un novu ecosistema cuncepitu per risolve un prublema strettamente focalizatu.

Di sicuru, questu ùn hè micca passatu da e squadre è e cumunità implicate in u sviluppu di l'informatica distribuita libera, è i novi prughjetti ùn sò micca longu à vene.
In ogni casu, malgradu l'aumentu significativu in u voluminu di l'infurmazioni dispunibili nantu à i sviluppi in u campu di a custruzzione di e rete è u travagliu cù l'equipaggiu, i creatori di sistemi promettenti anu da risolve prublemi seri.

U primu di elli, ùn importa quantu stranu pò sona, hè u prublema di sceglie una direzzione.

A direzzione pò esse currettu, o pò guidà à una strada morta - ùn ci hè micca scappatu da questu pruvisti centralizati di clarividenti à a cumunità IT sò sempre tardi. Ma l'scelta deve esse fatta per ùn cascà in a trappula tradiziunale di a squadra chì piglia una zona troppu larga è prova di creà un altru prughjettu di l'informatica distribuita generale non specializata da u principiu. Sembra chì u scopu di u travagliu ùn hè micca cusì spaventoso, per a maiò parte avemu solu bisognu di applicà i sviluppi esistenti: unisce i nodi in una rete, adatta l'algoritmi per a determinazione di topologie, scambià dati è monitorizà a so coerenza, introduci metudi per classificà i nodi è truvà. cunsensu, è, sicuru, basta à creà a vostra propria lingua di dumanda è tutta a lingua è l'ambiente di l'informatica. L'idea di un mekanismu universale hè assai tentatore è sbocca constantemente in una zona o in l'altru, ma u risultatu finali hè sempre una di trè cose: a suluzione creata sia diventa un prototipu limitatu cù una mansa di "ToDos" sospesi. " in u backlog, o diventa un mostru inutilizabile prontu à trascinà tutti quelli chì toccanu u fetidu "Turing swamp", o simpricimenti mori sicuru da u fattu chì u cignu, l'aragosta è u luccio, chì tiravanu u prugettu in una direzzione incomprensibile, s'hè semplicemente sopraffattu.

Ùn ripetemu micca errori stupidi è sceglite una direzzione chì hà una gamma clara di compiti è hè bè adattatu à u mudellu di computing distribuitu. Pudete capisce e persone chì pruvate à fà tuttu in una volta - di sicuru, ci hè assai di sceglie. E assai cose parenu estremamente interessanti sia da u puntu di vista di R&D è di u sviluppu, sia da u puntu di vista di l'ecunumia. Utilizendu una rete distribuita pudete:

  • Furmà e rete neurali
  • Flussi di signali di prucessu
  • Calculate a struttura di a proteina
  • Renderà scene 3D
  • Simula l'idrodinamica
  • Pruvate strategie di cummerciale per i borse

Per ùn esse micca purtatu cù a compilazione di una lista di cose interessanti chì sò bè ​​parallelizate, scegliemu u rendering distribuitu cum'è u nostru tema ulteriore.

U rendering distribuitu stessu ùn hè, sicuru, nunda di novu. I toolkits di rendering esistenti anu supportatu longu a distribuzione di carica in diverse macchine senza questu, vive in u XXI seculu seria abbastanza triste. In ogni casu, ùn devi micca pensà chì u tema hè statu cupertu assai è largu, è ùn ci hè nunda di fà quì - cunsideremu un prublema di pressa separata: creà un strumentu per creà una rete di rende.

A nostra rete di rendering hè una cumminazione di nodi chì anu bisognu di fà e funzioni di rendering cù nodi chì anu risorse di calculu gratuiti per processà a rendering. I pruprietarii di risorse cunnettaranu e so stazioni à a rete di rendering per riceve è eseguisce travaglii di rendering utilizendu unu di i motori di rendering supportati da a rete. In questu casu, i fornituri di u travagliu travaglianu cù a reta cum'è s'ellu era un nuvulu, distribuendu indipindentamente risorse, monitorendu a correttezza di l'esekzione, gestione risichi è altri prublemi.

Cusì, cunsideremu a creazione di un quadru chì deve sustene l'integrazione cù un inseme di mutori di rendering populari è cuntenenu cumpunenti chì furniscenu strumenti per urganizà una reta di nodi eterogenei è gestisce u flussu di e attività.

U mudellu ecunomicu di l'esistenza di una tale rete ùn hè micca d'impurtanza fundamentale, cusì avemu da piglià cum'è u schema iniziale un schema simile à quellu utilizatu in i calculi in e rete di criptu di munita - i cunsumatori di a risorsa mandaranu tokens à i fornituri chì facenu u travagliu di rende. Hè assai più interessante per capiscenu quale proprietà deve avè un framework, per quale avemu da cunsiderà u scenariu principale di interazzione trà i participanti di a rete.

Ci hè trè lati di l'interazzione in a reta: fornitore di risorse, fornitore di attività è operatore di rete (aka centru di cuntrollu, rete, etc. in u testu).

L'operatore di a rete furnisce u fornitore di risorse cù una applicazione cliente o una maghjina di u sistema operatore cù un set di software implementatu, chì installerà nantu à a macchina chì e risorse vole furnisce, è un contu persunale accessibile attraversu l'interfaccia web, chì li permette di furnisce. stabilisce i paràmetri d'accessu à a risorsa è gestisce remotamente u so paisaghju di u servitore: cuntrolla i paràmetri di hardware, eseguisce a cunfigurazione remota, riavvia.

Quandu un novu node hè cunnessu, u sistema di gestione di a rete analizà l'equipaggiu è i paràmetri d'accessu specificati, u classifica, assignendu una certa valutazione, è u mette in u registru di risorse. In u futuru, per gestisce u risicu, i paràmetri di l'attività di u node seranu analizati, è a qualificazione di u node serà aghjustatu per assicurà a stabilità di a reta. Nimu ùn serà cuntentu se a so scena hè mandata à rende nantu à carte putenti chì spessu si congelanu per via di u surriscaldamentu?

Un utilizatore chì hà bisognu di rende una scena pò andà in duie manere: caricate a scena in un repository di a rete via l'interfaccia web, o utilizate un plugin per cunnette u so pacchettu di modellu o un renderer installatu à a reta. In questu casu, un cuntrattu intelligente hè iniziatu trà l'utilizatore è a reta, a cundizione standard per a cumpiimentu di quale hè a generazione di u risultatu di u calculu di scena da a reta. L'utilizatore pò monitorà u prucessu di compie un compitu è ​​gestisce i so paràmetri attraversu l'interfaccia web di u so contu persunale.

U compitu hè mandatu à u servitore, induve u voluminu di a scena è u numeru di risorse dumandate da l'iniziatore di u compitu sò analizati, dopu chì u voluminu tutale hè scompostu in parti adattate per u calculu nantu à u numeru è u tipu di risorse attribuite da a reta. . L'idea generale hè chì a visualizazione pò esse divisa in parechji picculi travaglii. I motori prufittà di questu distribuendu questi compiti trà parechji fornituri di risorse. U modu più simplice hè di rende picculi parti di a scena chjamati segmenti. Quandu ogni segmentu hè prontu, u compitu lucale hè cunsideratu cumpiitu, è a risorsa passa à u prossimu compitu eccezziunale.

Cusì, ùn face micca differenza cum'è tali per u renderer chì i calculi sò realizati nantu à una sola macchina o in una griglia di parechje stazioni di computer individuali. A rendering distribuitu aghjusta solu più core à u pool di risorse utilizati per un compitu. Per mezu di a reta, riceve tutte e dati necessarii per rende un segmentu, u calcule, rinvia quellu segmentu, è passa à u prossimu compitu. Prima di entra in a piscina generale di a rete, ogni segmentu riceve un inseme di metainformazioni chì permette di eseguisce i nodi per selezziunà i travaglii di computing più adattati per elli.

I prublemi di segmentazione è di distribuzione di i calculi deve esse risolti micca solu da u puntu di vista di l'ottimisazione di u tempu d'esekzione, ma ancu da u puntu di vista di l'usu ottimali di risorse è di risparmiu energeticu, postu chì l'efficienza ecunomica di a reta dipende da questu. . Se a suluzione ùn hè micca successu, saria più cunsigliu per installà un minatore nantu à u node o disattivallu per ùn fà micca u rumore è ùn perdi l'electricità.

Tuttavia, turnemu à u prucessu. Quandu un compitu hè ricevutu, un cuntrattu intelligente hè ancu furmatu trà u pool è u node, chì hè eseguitu quandu u risultatu di u compitu hè calculatu currettamente. Basatu nantu à i risultati di cumpiendu u cuntrattu, u node pò riceve una ricumpensa in una forma o l'altru.

U centru di cuntrollu cuntrolla u prucessu di l'esekzione di u compitu, raccoglie risultati di calculu, inviendu quelli sbagliati per riprocessà è classificà a fila, monitorizza u termini standard per cumpiendu u compitu (perchè ùn succede micca chì l'ultimu segmentu ùn hè micca pigliatu da ogni nodu).

I risultati di i calculi passanu per a tappa di cumpusizioni, dopu chì l'utilizatore riceve i risultati di rende, è a reta pò riceve una ricumpensa.

Cusì, a cumpusizioni funziunali di un quadru di paisaghju pensatu per custruisce sistemi di rendering distribuiti emerge:

  1. Conti d'utilizatore persunale cù accessu web
  2. Kit software per a stallazione nantu à i nodi
  3. Per u sistema di cuntrollu:
    • Subsistema di cuntrollu di accessu
    • Sottosistema di decomposizione di u travagliu di rende
    • Sottusistema di distribuzione di u travagliu
    • Subsistema di cumpusizioni
    • Sottusistema di gestione di u paisaghju di u servitore è a topologia di a rete
    • Sottosistema di registrazione è auditu
    • Sottosistema espertu di apprendimentu
    • Rest API o altra interfaccia per sviluppatori esterni

Chi pensi? Chì dumande suscita u tema è chì risposte vi interessa ?

Source: www.habr.com

Add a comment