Примењене технологије на рушевинама блокчејн грознице или практичне предности дистрибуције ресурса

Последњих година, вести су преплављене порукама о новом типу дистрибуираних рачунарских мрежа које се појављују буквално ниоткуда, решавајући (или боље речено, покушавајући да реше) широк спектар проблема – чинећи град паметним, спасавајући свет од ауторских права прекршиоци или обрнуто, тајно преносећи информације или ресурсе, бежећи из -под државне контроле у ​​једној или другој области. Без обзира на област, сви они имају низ заједничких карактеристика због чињенице да су погон за њихов раст били алгоритми и технике које су изашле у јавност током недавног процвата криптовалута и сродних технологија. Вероватно је сваки трећи чланак о специјализованим ресурсима у то време имао у наслову реч „блокчејн” – дискусија о новим софтверским решењима и економским моделима је неко време постала доминантан тренд, на чијој позадини су остале области примене дистрибуираних рачунарских система. потиснут у други план.

У исто време, визионари и професионалци су видели главну суштину феномена: масовно дистрибуирано рачунарство, повезано са изградњом мрежа од великог броја различитих и хетерогених учесника, достигло је нови ниво развоја. Довољно је избацити хипе теме из главе и погледати тему са друге стране: све ове мреже, састављене из огромних пулова, које чине хиљаде изолованих хетерогених учесника, нису се саме појавиле. Ентузијасти крипто покрета били су у стању да реше сложене проблеме синхронизације података и дистрибуције ресурса и задатака на нов начин, што је омогућило састављање сличне масе опреме и стварање новог екосистема дизајнираног да реши један уско фокусиран проблем.

Наравно, то није мимоишло тимове и заједнице укључене у развој бесплатног дистрибуираног рачунарства, а нови пројекти се нису дуго чекали.
Међутим, упркос значајном повећању обима доступних информација о развоју у области изградње мрежа и рада са опремом, креатори перспективних система мораће да реше озбиљне проблеме.

Први од њих, колико год то чудно звучало, јесте проблем избора правца.

Правац је можда исправан, или може довести до ћорсокака - од овога нема бежања; централизоване испоруке видовњака ИТ заједници још увек касне. Али избор мора бити направљен тако да се не упадне у традиционалну замку тима који заузима прешироко подручје и покушава да створи још један неспецијализован општи пројекат дистрибуираног рачунарства од самог почетка. Чини се да обим посла није толико застрашујући, углавном само треба да применимо постојеће развоје: комбинујемо чворове у мрежу, прилагодимо алгоритме за одређивање топологија, размену података и праћење њихове доследности, уведемо методе за рангирање чворова и проналажење консензус, и, наравно, само креирајте свој језик упита и читав језик и рачунарско окружење. Идеја о универзалном механизму је веома примамљива и стално се појављује у једној или другој области, али крајњи резултат је и даље једна од три ствари: створено решење или се испоставља као ограничени прототип са гомилом суспендованих „ТоДос-а“ ” у заостатку, или постаје неупотребљиво чудовиште спремно да одвуче свакога ко дирне у смрдљиву „Тјурингову мочвару”, или једноставно умире безбедно од чињенице да су лабуд, рак и штука, који су пројекат вукли у несхватљивом правцу, једноставно пренапрегнути.

Хајде да не понављамо глупе грешке и изаберимо правац који има јасан спектар задатака и који је добро прилагођен моделу дистрибуираног рачунарства. Можете разумети људе који покушавају да ураде све одједном - наравно, има много избора. И много тога изгледа изузетно занимљиво како са становишта истраживања и развоја, тако и са становишта економије. Коришћењем дистрибуиране мреже можете:

  • Обучите неуронске мреже
  • Обради токове сигнала
  • Израчунајте структуру протеина
  • Рендерујте XNUMXД сцене
  • Симулирајте хидродинамику
  • Тестирајте стратегије трговања за берзе

Да се ​​не бисмо заносили састављањем листе занимљивих ствари које су добро паралелне, за даљу тему ћемо изабрати дистрибуирано рендеровање.

Дистрибуирано приказивање, наравно, није ништа ново. Постојећи комплети алата за рендеровање дуго су подржавали расподелу оптерећења на различите машине; без тога би живот у двадесет првом веку био прилично тужан. Међутим, не бисте требали мислити да је тема покривена надалеко и да ту нема шта да се ради - размотрићемо посебан хитан проблем: стварање алата за креирање мреже за рендеровање.

Наша мрежа за рендеровање је комбинација чворова који треба да обављају задатке рендеровања са чворовима који имају слободне рачунарске ресурсе за обраду рендеровања. Власници ресурса ће повезати своје станице са мрежом за рендеровање да би примили и извршили послове рендеровања користећи један од подржаних механизама за рендеровање на мрежи. У овом случају, провајдери задатака ће радити са мрежом као да је облак, независно дистрибуирајући ресурсе, надгледајући исправност извршења, управљајући ризицима и другим проблемима.

Стога ћемо размотрити стварање оквира који треба да подржи интеграцију са скупом популарних машина за рендеровање и садржи компоненте које обезбеђују алате за организовање мреже хетерогених чворова и управљање током задатака.

Економски модел постојања такве мреже није од фундаменталног значаја, тако да ћемо као почетну шему узети шему сличну оној која се користи у прорачунима у мрежама криптовалута - потрошачи ресурса ће слати токене добављачима који обављају послове рендеровања. Много је интересантније разумети која својства оквир треба да има, за шта ћемо размотрити главни сценарио интеракције између учесника мреже.

Постоје три стране интеракције у мрежи: добављач ресурса, провајдер задатака и мрежни оператер (у тексту се назива контролни центар, мрежа итд.).

Оператер мреже пружа добављачу ресурса клијентску апликацију или слику оперативног система са постављеним сетом софтвера, који ће инсталирати на машини чије ресурсе жели да обезбеди, и лични налог доступан преко веб интерфејса, што му омогућава да подесити параметре приступа ресурсу и даљински управљати његовим серверским пејзажом: контролисати параметре хардвера, извршити даљинску конфигурацију, поново покренути.

Када се повеже нови чвор, систем за управљање мрежом анализира опрему и наведене параметре приступа, рангира је, додељује одређени рејтинг и смешта у регистар ресурса. У будућности, у циљу управљања ризиком, анализираће се параметри активности чвора, а рејтинг чвора ће бити прилагођен како би се обезбедила стабилност мреже. Нико неће бити задовољан ако се њихова сцена пошаље на рендеровање на моћне картице које се често замрзавају због прегревања?

Корисник који треба да рендерује сцену може да иде на два начина: да отпреми сцену у мрежно складиште преко веб интерфејса или да користи додатак да повеже свој пакет за моделовање или инсталирани рендерер на мрежу. У овом случају, између корисника и мреже се покреће паметни уговор, чији је стандардни услов за завршетак генерисање резултата прорачуна сцене од стране мреже. Корисник може да прати процес извршавања задатка и управља његовим параметрима преко веб интерфејса свог личног налога.

Задатак се шаље на сервер, где се анализира обим сцене и број ресурса које захтева покретач задатка, након чега се укупан обим разлаже на делове прилагођене за израчунавање броја и врсте ресурса које мрежа додељује. . Општа идеја је да се визуализација може разбити на много малих задатака. Мотори користе ово тако што дистрибуирају ове задатке међу више добављача ресурса. Најједноставнији начин је да прикажете мале делове сцене који се називају сегменти. Када је сваки сегмент спреман, локални задатак се сматра завршеним, а ресурс прелази на следећи нерешени задатак.

Дакле, за рендерера нема никакве разлике да ли се прорачуни изводе на једној машини или на мрежи многих појединачних рачунарских станица. Дистрибуирано приказивање једноставно додаје више језгара у скуп ресурса који се користе за задатак. Преко мреже, прима све податке потребне за приказивање сегмента, израчунава их, шаље тај сегмент назад и прелази на следећи задатак. Пре уласка у општи мрежни скуп, сваки сегмент добија скуп метаинформација које омогућавају извршним чворовима да изаберу најприкладније рачунарске задатке за њих.

Проблеми сегментације и дистрибуције прорачуна морају се решавати не само са становишта оптимизације времена извршења, већ и са становишта оптималног коришћења ресурса и уштеде енергије, јер од тога зависи економска ефикасност мреже. . Ако је решење неуспешно, препоручљивије би било инсталирати рудар на чвор или га искључити како не би правио буку и не трошио струју.

Међутим, да се вратимо на процес. Када се прими задатак, између скупа и чвора се формира и паметни уговор, који се извршава када је резултат задатка исправно израчунат. На основу резултата испуњења уговора, чвор може добити награду у једном или другом облику.

Контролни центар контролише процес извршења задатка, прикупљање резултата прорачуна, слање погрешних на поновну обраду и рангирање реда, праћење стандардног рока за извршење задатка (да се не би десило да последњи сегмент не заузме било који чвор).

Резултати прорачуна пролазе кроз фазу састављања, након чега корисник добија резултате рендеровања, а мрежа може добити награду.

Тако се појављује функционална композиција оквира пејзажа дизајнираног за изградњу дистрибуираних система за приказивање:

  1. Лични кориснички налози са приступом вебу
  2. Софтверски комплет за инсталацију на чворовима
  3. По контролном систему:
    • Подсистем контроле приступа
    • Подсистем декомпозиције задатака рендеровања
    • Подсистем дистрибуције задатака
    • Композитни подсистем
    • Подсистем за управљање пејзажом сервера и топологијом мреже
    • Подсистем евидентирања и ревизије
    • Стручни подсистем учења
    • Рест АПИ или други интерфејс за спољне програмере

Шта мислиш? Која питања поставља тема и који одговори вас занимају?

Извор: ввв.хабр.цом

Додај коментар