Блокчейн қызбасының қирандылары бойынша қолданбалы технологиялар немесе ресурстарды бөлудің практикалық артықшылықтары

Соңғы жылдары жаңалықтар таспаларында қаланы ақылды ету, әлемді авторлық құқықтан құтқару сияқты көптеген мәселелерді шешетін (дәлірек айтсақ, шешуге тырысатын) сөзбе-сөз пайда болатын таратылған есептеу желілерінің жаңа түрі туралы хабарламалар толып кетті. құқық бұзушылар немесе керісінше, ақпаратты немесе ресурстарды жасырын тасымалдайтын, сол немесе басқа аумақта мемлекеттің бақылауынан қашып кеткен. Қай салаға қарамастан, олардың барлығының бірқатар ортақ ерекшеліктері бар, себебі олардың өсуіне жанармай криптовалюталардың және соған байланысты технологиялардың соңғы бумында көпшілікке келген алгоритмдер мен әдістер болды. Бәлкім, сол кездегі мамандандырылған ресурстарға арналған әрбір үшінші мақаланың атауында «блокчейн» сөзі болған шығар - жаңа бағдарламалық шешімдер мен экономикалық модельдерді талқылау біраз уақыт бойы басым тренд болды, оның аясында бөлінген есептеу жүйелерін қолданудың басқа салалары болды. фонға ысырылды.

Сонымен бірге, көрегендер мен кәсіпқойлар құбылыстың негізгі мәнін көрді: әртүрлі және біркелкі емес қатысушылардың үлкен санының желілерін құрумен байланысты массивті үлестірілген есептеулер дамудың жаңа деңгейіне көтерілді. Басыңыздағы хайп тақырыптарын лақтырып тастап, тақырыпқа екінші жағынан қарау жеткілікті: мыңдаған оқшауланған гетерогенді қатысушылардан тұратын үлкен бассейндерден жиналған бұл желілердің барлығы өздігінен пайда болған жоқ. Криптовалюта қозғалысының энтузиастары деректерді синхрондау және ресурстар мен тапсырмаларды таратудың күрделі мәселелерін жаңа жолмен шеше алды, бұл жабдықтың ұқсас массасын біріктіруге және бір тар бағытталған мәселені шешуге арналған жаңа экожүйені құруға мүмкіндік берді.

Әрине, бұл тегін таратылған есептеулерді дамытумен айналысатын командалар мен қауымдастықтарды айналып өтпеді және жаңа жобалар көп күттірмеді.
Дегенмен, желілерді құру және жабдықпен жұмыс жасау саласындағы әзірлемелер туралы қолжетімді ақпарат көлемінің айтарлықтай өсуіне қарамастан, перспективалық жүйелерді жасаушылар күрделі мәселелерді шешуге мәжбүр болады.

Оның біріншісі, қаншалықты оғаш естілсе де, бағыт таңдау мәселесі.

Бағыт дұрыс болуы мүмкін немесе бұл тұйыққа апаруы мүмкін - бұдан құтылу мүмкін емес, IT қауымдастығына орталықтандырылған көріпкелдерді жеткізу әлі де кеш. Бірақ таңдау тым кең аумақты алып, басынан бастап басқа мамандандырылған емес жалпы бөлінген есептеу жобасын жасауға тырысатын топтың дәстүрлі тұзағына түспеу үшін жасалуы керек. Жұмыс ауқымы соншалықты қорқынышты емес сияқты, біз көп жағдайда бар әзірлемелерді қолдануымыз керек: түйіндерді желіге біріктіру, топологияларды анықтау алгоритмдерін бейімдеу, деректермен алмасу және олардың бірізділігін бақылау, түйіндерді рейтингтеу және табу әдістерін енгізу консенсус және, әрине, өзіңіздің сұрау тіліңізді және бүкіл тіл мен есептеу ортасын жасаңыз. Әмбебап механизм идеясы өте тартымды және үнемі бір немесе басқа салада пайда болады, бірақ түпкілікті нәтиже әлі де үш нәрсенің бірі болып табылады: жасалған шешім тоқтатылған «ToDos» жиынтығы бар шектеулі прототип болып шығады. » артта қалды, немесе ол «Тюринг батпағына» қол тиген кез келген адамды сүйреп апаруға дайын жарамсыз құбыжыққа айналады немесе жобаны түсініксіз бағытта сүйреп бара жатқан аққу, шаян мен шортаннан аман-есен өледі. жай ғана өздерін шектен тыс қалдырған.

Ақымақ қателерді қайталамайық және тапсырмалардың нақты ауқымы бар және бөлінген есептеу моделіне жақсы сәйкес келетін бағытты таңдайық. Барлығын бірден жасауға тырысатын адамдарды түсінуге болады - әрине, таңдау көп. Көп нәрсе ҒЗТКЖ және даму тұрғысынан да, экономика тұрғысынан да өте қызықты болып көрінеді. Бөлінген желіні пайдалану арқылы сіз:

  • Нейрондық желілерді жаттықтыру
  • Сигнал ағындарын өңдеу
  • Белок құрылымын есептеңіз
  • XNUMXD көріністерін көрсету
  • Гидродинамикаға еліктеу
  • Қор биржалары үшін сынақ сауда стратегиялары

Жақсы параллельді қызықты нәрселердің тізімін жасаумен айналыспау үшін біз келесі тақырыбымыз ретінде бөлінген рендерингті таңдаймыз.

Бөлінген рендерингтің өзі, әрине, жаңалық емес. Қолданыстағы рендеринг құралдары әртүрлі машиналарда жүктемені бөлуді бұрыннан қолдады; онсыз жиырма бірінші ғасырда өмір сүру өте өкінішті болар еді. Дегенмен, сіз тақырып алыс және кең көлемде қамтылған деп ойламауыңыз керек және бұл жерде ештеңе жоқ - біз жеке өзекті мәселені қарастырамыз: рендерлік желіні құру құралын құру.

Біздің рендеринг желісі — көрсетуді өңдеу үшін тегін есептеу ресурстары бар түйіндермен көрсету тапсырмаларын орындау қажет түйіндердің тіркесімі. Ресурс иелері желідегі қолдау көрсететін көрсету қозғалтқыштарының бірін пайдаланып көрсету тапсырмаларын қабылдау және орындау үшін өз станцияларын көрсету желісіне қосады. Бұл жағдайда тапсырма провайдерлері желімен бұлт сияқты жұмыс істейді, ресурстарды дербес таратады, орындалу дұрыстығын бақылайды, тәуекелдерді және басқа мәселелерді басқарады.

Осылайша, біз танымал рендерлік қозғалтқыштар жиынтығымен интеграцияны қолдауы керек және гетерогенді түйіндер желісін ұйымдастыру және тапсырмалар ағынын басқару құралдарын қамтамасыз ететін құрамдас бөліктерден тұратын құрылымды құруды қарастырамыз.

Мұндай желінің болуының экономикалық моделінің принципті маңызы жоқ, сондықтан біз бастапқы схема ретінде криптовалюта желілеріндегі есептеулерде қолданылатын схемаға ұқсас схеманы аламыз - ресурс тұтынушылары рендеринг жұмысын орындайтын жеткізушілерге токендерді жібереді. Фреймворк қандай қасиеттерге ие болуы керек екенін түсіну әлдеқайда қызықты, ол үшін желі қатысушыларының өзара әрекеттесуінің негізгі сценарийін қарастырамыз.

Желіде өзара әрекеттесудің үш жағы бар: ресурс провайдері, тапсырма провайдері және желі операторы (мәтіндегі басқа да орталық, желі және т.б.).

Желі операторы ресурс провайдеріне клиенттік қосымшаны немесе ол ресурстарын ұсынғысы келетін құрылғыға орнататын бағдарламалық қамтамасыз етудің орналастырылған жиынтығы бар операциялық жүйе кескінін және веб-интерфейс арқылы қол жеткізуге мүмкіндік беретін жеке есептік жазбаны ұсынады. ресурсқа кіру параметрлерін орнату және оның сервер ландшафтын қашықтан басқару: аппараттық құралдар параметрлерін басқару, қашықтан конфигурациялауды орындау, қайта жүктеу.

Жаңа түйін қосылған кезде желіні басқару жүйесі жабдықты және көрсетілген рұқсат параметрлерін талдайды, белгілі бір рейтингті тағайындай отырып, оны ранжирлейді және ресурс регистріне орналастырады. Болашақта тәуекелді басқару үшін түйіннің белсенділік параметрлері талданады, желі тұрақтылығын қамтамасыз ету үшін түйіннің рейтингі түзетіледі. Егер олардың сахнасы қызып кету салдарынан жиі қатып қалатын қуатты карталарда көрсетуге жіберілсе, ешкім риза болмайды ма?

Көріністі көрсету қажет пайдаланушы екі жолмен жүре алады: көріністі веб-интерфейс арқылы желілік репозиторийге жүктеп салу немесе желіге модельдеу бумасын немесе орнатылған рендерерді қосу үшін плагинді пайдалану. Бұл жағдайда пайдаланушы мен желі арасында смарт-келісімшарт басталады, оны аяқтаудың стандартты шарты желі арқылы сахнаны есептеу нәтижесін құру болып табылады. Пайдаланушы жеке кабинетінің веб-интерфейсі арқылы тапсырманы орындау процесін бақылай алады және оның параметрлерін басқара алады.

Тапсырма серверге жіберіледі, онда сахна көлемі мен тапсырманы бастаушы сұраған ресурстардың саны талданады, содан кейін жалпы көлем желі бөлген ресурстардың саны мен түрі бойынша есептеуге бейімделген бөліктерге бөлінеді. . Жалпы идея визуализацияны көптеген шағын тапсырмаларға бөлуге болады. Қозғалтқыштар осы тапсырмаларды бірнеше ресурс провайдерлері арасында тарату арқылы осы мүмкіндікті пайдаланады. Ең қарапайым әдіс - сегменттер деп аталатын көріністің шағын бөліктерін көрсету. Әрбір сегмент дайын болғанда, жергілікті тапсырма орындалды деп есептеледі және ресурс келесі орындалмаған тапсырмаға көшеді.

Осылайша, рендерер үшін есептеулердің бір машинада немесе көптеген жеке есептеу станцияларының торында орындалуының айырмашылығы жоқ. Бөлінген көрсету тапсырма үшін пайдаланылатын ресурстар пулына көбірек өзектерді қосады. Желі арқылы ол сегментті көрсетуге қажетті барлық деректерді алады, оны есептейді, сол сегментті кері жібереді және келесі тапсырмаға көшеді. Жалпы желі пулына кірер алдында әрбір сегмент орындалатын түйіндерге олар үшін ең қолайлы есептеу тапсырмаларын таңдауға мүмкіндік беретін метаақпарат жиынтығын алады.

Есептеулерді сегменттеу және бөлу мәселелері тек орындау уақытын оңтайландыру тұрғысынан ғана емес, ресурстарды оңтайлы пайдалану және энергияны үнемдеу тұрғысынан да шешілуі керек, өйткені желінің экономикалық тиімділігі осыған байланысты. . Егер шешім сәтсіз болса, шу жасамайтын және электр қуатын ысырап етпеуі үшін түйінге шахтер орнатқан немесе оны өшірген жөн.

Дегенмен, процеске қайта оралайық. Тапсырма алынған кезде пул мен түйін арасында смарт келісім-шарт жасалады, ол тапсырма нәтижесі дұрыс есептелген кезде орындалады. Келісімшартты орындау нәтижелері бойынша түйін бір немесе басқа нысанда сыйақы ала алады.

Басқару орталығы тапсырманы орындау процесін бақылайды, есептеу нәтижелерін жинақтайды, қателерді қайта өңдеуге жібереді және кезекті ретке келтіреді, тапсырманы орындаудың стандартты мерзімін қадағалайды (соңғы сегмент қабылданбауы үшін). кез келген түйін).

Есептеулердің нәтижелері құрастыру кезеңінен өтеді, содан кейін пайдаланушы көрсету нәтижелерін алады, ал желі сыйақы ала алады.

Осылайша, бөлінген рендеринг жүйелерін құруға арналған ландшафттық негіздің функционалдық құрамы пайда болады:

  1. Веб қатынасы бар жеке пайдаланушы тіркелгілері
  2. Түйіндерге орнатуға арналған бағдарламалық құрал
  3. Басқару жүйесі бойынша:
    • Қол жеткізуді басқарудың ішкі жүйесі
    • Тапсырманың декомпозициясының ішкі жүйесін көрсету
    • Тапсырмаларды бөлу ішкі жүйесі
    • Композиттік ішкі жүйе
    • Сервер ландшафты және желі топологиясын басқару ішкі жүйесі
    • Журнал жүргізу және аудиттің ішкі жүйесі
    • Оқытудың сараптамалық ішкі жүйесі
    • Rest API немесе сыртқы әзірлеушілерге арналған басқа интерфейс

Сен не ойлайсың? Тақырып қандай сұрақтар тудырады және сізді қандай жауаптар қызықтырады?

Ақпарат көзі: www.habr.com

пікір қалдыру