"Jim qolishdan ko'ra javob berish osonroq" - tranzaktsion xotiraning otasi Moris Xerlixi bilan ajoyib intervyu

Maurice Herlihy - ikkita egasi Dijkstra mukofotlari. Birinchisi ishlash uchun mo'ljallangan "Kutishsiz sinxronizatsiya" (Braun universiteti) va ikkinchisi, yaqinroq, - "Tranzaksiya xotirasi: blokirovkasiz ma'lumotlar tuzilmalari uchun arxitektura yordami" (Virjiniya texnologiya universiteti). Dijkstra mukofoti ahamiyati va ta'siri kamida o'n yil davomida namoyon bo'lgan ishlar uchun beriladi va Moris bu sohadagi eng mashhur mutaxassislardan biri hisoblanadi. Hozirda u Braun universitetida professor bo'lib ishlaydi va bir paragrafgacha bo'lgan ko'plab yutuqlarga ega. Hozirda u klassik taqsimlangan hisoblash kontekstida blokcheynni tadqiq qilmoqda.

Ilgari, Moris allaqachon SPTCC uchun Rossiyaga kelgan edi (video yozuv) va Sankt-Peterburgda JUG.ru Java dasturchilari hamjamiyatining ajoyib uchrashuvini o'tkazdi (video yozuv).

Bu habrapost Moris Xerlixi bilan ajoyib intervyu. Unda quyidagi mavzular muhokama qilinadi:

  • Akademiya va sanoatning o'zaro ta'siri;
  • Blokcheyn tadqiqotlari fondi;
  • Muvaffaqiyatli g'oyalar qayerdan keladi? Ommaboplikning ta'siri;
  • Barbara Liskov rahbarligida PhD;
  • Dunyo ko'p yadroli bo'lishni kutmoqda;
  • Yangi dunyo yangi muammolarni keltirib chiqaradi. NVM, NUMA va arxitekturani buzish;
  • Kompilyatorlar va protsessorlar, RISC va CISC, umumiy xotira va xabar uzatish;
  • Mo'rt ko'p tarmoqli kod yozish san'ati;
  • Talabalarni murakkab ko'p ipli kod yozishga o'rgatish;
  • "Ko'p protsessorli dasturlash san'ati" kitobining yangi nashri;
  • Tranzaktsion xotira qanday ixtiro qilingan;   
  • Nima uchun taqsimlangan hisoblash sohasida tadqiqot olib borishga arziydi;
  • Algoritmlarni ishlab chiqish to'xtatildi va qanday davom etish kerak;
  • Braun universitetida ishlash;
  • Universitetdagi va korporatsiya ichidagi tadqiqot o'rtasidagi farq;
  • Hydra va SPTDC.

Suhbat quyidagi tomonidan o'tkaziladi:

Vitaliy Aksenov — hozirda IST Avstriyada post-doc va ITMO universiteti kompyuter texnologiyalari kafedrasi xodimi. Raqobatbardosh ma'lumotlar tuzilmalari nazariyasi va amaliyoti sohasida tadqiqotlar olib boradi. ISTda ishlashdan oldin u professor Piter Kuznetsov rahbarligida Parij Didro universiteti va ITMO universitetida PhD darajasini oldi.

Aleksey Fedorov - Ishlab chiquvchilar uchun konferentsiyalar tashkil etuvchi Rossiya kompaniyasi JUG Ru Group prodyuseri. Aleksey 50 dan ortiq konferentsiyalarni tayyorlashda ishtirok etgan va uning rezyumelarida Oracle (JCK, Java Platform Group)dagi ishlab chiqish muhandisi lavozimidan tortib, Odnoklassniki-dagi dasturchi lavozimigacha bo'lgan barcha narsalar mavjud.

Vladimir Sitnikov - Netcracker kompaniyasida muhandis. NetCracker OS, tarmoq va tarmoq uskunalarini boshqarish jarayonlarini avtomatlashtirish uchun aloqa operatorlari tomonidan qo'llaniladigan dasturiy ta'minotning ishlashi va kengaytirilishi bo'yicha o'n yillik ish. Java va Oracle ma'lumotlar bazasi ishlashi bilan bog'liq muammolarga qiziqadi. Rasmiy PostgreSQL JDBC drayverida o'ndan ortiq ish faoliyatini yaxshilash muallifi.

Akademiya va sanoatning o'zaro ta'siri

Aleksey: Moris, siz juda uzoq vaqt akademik muhitda ishladingiz va birinchi savol - akademik va sanoat sohalari o'rtasidagi o'zaro ta'sir. Yaqinda ular o'rtasidagi o'zaro munosabatlar qanday o'zgargani haqida gapira olasizmi? 20-30 yil oldin nima bo'lgan va hozir nima bo'lyapti? 

Moris: Men har doim tijorat kompaniyalari bilan yaqindan ishlashga harakat qilganman, chunki ularda qiziqarli muammolar bor. Ular, qoida tariqasida, o'z natijalarini nashr etishdan ham, dunyo hamjamiyatiga o'z muammolarini batafsil tushuntirishdan ham unchalik qiziqmaydilar. Ular faqat ushbu muammolarni hal qilishdan manfaatdor. Men bir muddat shunday kompaniyalarda ishladim. Men besh yil davomida katta kompyuter kompaniyasi bo'lgan Digital Equipment Corporation tadqiqot laboratoriyasida to'liq vaqt ishladim. Men haftada bir kun Sun’da, Microsoft’da, Oracle’da ishladim va Facebook’da ozgina ishladim. Endi men ta'tilga chiqmoqchiman (Amerika universiteti professoriga har olti yilda bir marta bunday ta'tilga chiqishga ruxsat beriladi) va Algorand, bu Bostondagi kriptovalyuta kompaniyasi. Kompaniyalar bilan yaqindan hamkorlik qilish har doim zavqli bo'lgan, chunki bu orqali siz yangi va qiziqarli narsalarni bilib olasiz. Siz boshqalar ustida ishlayotgan muammolarni bosqichma-bosqich takomillashtirish yechimlari ustida ishlash o'rniga, tanlangan mavzu bo'yicha maqolani nashr etadigan birinchi yoki ikkinchi shaxs bo'lishingiz mumkin.

Aleksey: Bu qanday sodir bo'lishini batafsilroq aytib bera olasizmi?

Moris: Albatta. Bilasizmi, men Digital Equipment Corporationda ishlaganimda, men va Elliot Moss tranzaksiya xotirasini ixtiro qildik. Hamma axborot texnologiyalariga qiziqa boshlagan juda samarali davr edi. Parallelizm, shu jumladan, ko'p yadroli tizimlar hali mavjud emas edi. Sun va Oracle kunlarida men parallel ma'lumotlar tuzilmalari ustida ko'p ishladim. Facebook-da men ularning blokcheyn loyihasi ustida ishladim, bu haqda gapira olmayman, lekin umid qilamanki, u tez orada ommaga chiqadi. Kelgusi yil, Algorandda men aqlli shartnomalarni o'rganuvchi tadqiqot guruhida ishlayman.

Aleksey: So'nggi bir necha yil ichida blokcheyn juda mashhur mavzuga aylandi. Bu sizning tadqiqotingizga yordam beradimi? Ehtimol, bu grantlar olishni osonlashtiradi yoki sohada faoliyat yurituvchi kompaniyalardan resurslarga kirishni ta'minlaydi?

Moris: Men allaqachon Ethereum fondidan kichik grant oldim. Blokcheynning mashhurligi talabalarni ushbu sohada ishlashga ilhomlantirishda juda foydali. Ular bunga juda qiziqishadi va ishtirok etishdan hayajonlanishadi, lekin ba'zida ular tashqaridan hayajonli ko'rinadigan tadqiqot haqiqatan ham mashaqqatli mehnatni talab qilishini anglamaydilar. Biroq, men talabalarni jalb qilishda yordam berish uchun blokcheyn atrofidagi barcha sirlardan foydalanishdan juda xursandman. 

Lekin bu hammasi emas. Men bir nechta blokcheyn startaplarining maslahat kengashidaman. Ulardan ba'zilari muvaffaqiyat qozonishi mumkin, ba'zilari esa yo'q, lekin ularning g'oyalarini ko'rish, ularni o'rganish va odamlarga maslahat berish har doim juda qiziq. Eng hayajonli narsa, odamlarni biror narsa qilmaslik haqida ogohlantirganingizda. Avvaliga ko'p narsalar yaxshi fikrdek tuyuladi, lekin ular haqiqatan ham shundaymi?

Blokcheyn tadqiqotlari fondi

Vitaliy: Ba'zi odamlar kelajak blokcheyn va uning algoritmlari bilan bog'liq deb o'ylashadi. Boshqalar esa bu shunchaki pufakcha, deyishadi. Ushbu masala bo'yicha o'z fikringiz bilan o'rtoqlasha olasizmi?

Moris: Blokcheyn dunyosida sodir bo‘layotgan ko‘p narsa noto‘g‘ri, ba’zilari shunchaki firibgarlik, ko‘p narsa ortiqcha baholangan. Biroq, menimcha, bu tadqiqotlar uchun mustahkam ilmiy asos bor. Blokcheyn olamining mafkuraviy tafovutlar bilan to‘la ekanligi hayajon va fidoyilik darajasini ko‘rsatadi. Boshqa tomondan, bu ilmiy tadqiqotlar uchun ayniqsa foydali emas. Endi, agar siz ma'lum bir algoritmning kamchiliklari haqida gapiradigan maqolani nashr qilsangiz, natijada yuzaga keladigan reaktsiya har doim ham to'liq ilmiy emas. Ko'pincha odamlar o'z his-tuyg'ularini tashlaydilar. O‘ylaymanki, bu sohadagi bunday hayajon kimgadir jozibador bo‘lib tuyulishi mumkin, ammo oxir-oqibatda hal qilinishi kerak bo‘lgan haqiqiy ilmiy va muhandislik masalalari bor. Bu erda kompyuter fanlari juda ko'p.

Vitaliy: Demak, siz blokcheyn tadqiqotlari uchun poydevor qo‘ymoqchisiz, to‘g‘rimi?

Moris: Men mustahkam, ilmiy va matematik jihatdan mustahkam intizom uchun poydevor qo‘yishga harakat qilyapman. Va muammoning bir qismi shundaki, ba'zida siz boshqa odamlarning haddan tashqari qattiq pozitsiyalariga zid bo'lishingiz va ularga e'tibor bermasligingiz kerak. Ba'zida odamlar men nega faqat terrorchilar va giyohvand moddalar savdosi bilan shug'ullanuvchilar qiziqadigan hududda ishlayman, deb so'rashadi. Bunday reaktsiya sizning so'zlaringizni ko'r-ko'rona takrorlaydigan izdoshlarning xatti-harakati kabi ma'nosizdir. Menimcha, haqiqat o'rtada. Blokcheyn jamiyat va jahon iqtisodiyotiga chuqur ta’sir ko‘rsatadi. Ammo zamonaviy texnologiyalar tufayli bu sodir bo'lmaydi. Zamonaviy texnologiyalar rivojlanadi va kelajakda blokcheyn deb ataladigan narsa juda muhim bo'ladi. Bu hatto zamonaviy blokcheynlarga o'xshamasligi mumkin, bu ochiq savol.

Agar odamlar yangi texnologiyalarni ixtiro qilsalar, uni blokcheyn deb atashda davom etadilar. Aytmoqchimanki, xuddi hozirgi Fortranning 1960-yillardagi Fortran tiliga hech qanday aloqasi yo'q, lekin hamma uni Fortran deb ataydi. UNIX uchun ham xuddi shunday. "Blokcheyn" deb ataladigan narsa hali ham o'z inqilobini amalga oshiradi. Ammo men ushbu yangi blokcheyn bugungi kunda hamma yoqtiradigan narsaga o'xshab ketishiga shubha qilaman.

Muvaffaqiyatli g'oyalar qayerdan keladi? Mashhurlikning ta'siri

Aleksey: Blokcheynning mashhurligi ilmiy nuqtai nazardan yangi natijalarga olib keldimi? Ko'proq o'zaro ta'sir, ko'proq talabalar, mintaqada ko'proq kompaniyalar. Mashhurlikning bu o'sishidan allaqachon biron bir natijalar bormi?

Moris: Kimdir menga juda ko'p pul yig'gan kompaniya uchun rasmiy varaqani topshirganida, men bunga qiziqib qoldim. Haqida yozgan Vizantiya generallarining vazifasi, bu bilan men ko'proq tanishman. Varaqada yozilgan narsalar aniq texnik jihatdan noto'g'ri edi. Bularning barchasini yozgan odamlar muammoning orqasida turgan modelni tushunmadilar ... va shunga qaramay, bu kompaniya juda ko'p pul yig'di. Keyinchalik, kompaniya jimgina ushbu varaqani ancha to'g'ri versiyaga almashtirdi - va men bu kompaniyaning nomi nima ekanligini aytmayman. Ular hali ham atrofida va juda yaxshi ishlaydi. Bu voqea meni, birinchidan, blokcheyn oddiygina taqsimlangan hisoblashning bir shakli ekanligiga ishontirdi. Ikkinchidan, kirish chegarasi (kamida to'rt yil oldin) juda past edi. Bu sohada ishlaydigan odamlar juda baquvvat va aqlli edilar, lekin ular ilmiy maqolalarni o'qimadilar. Ular ma'lum narsalarni qayta ixtiro qilishga harakat qilishdi va buni noto'g'ri qilishdi. Bugun drama kamaygan.

Aleksey: Bu juda qiziq, chunki bir necha yil oldin bizda boshqacha tendentsiya bor edi. Brauzerga asoslangan front-end ishlab chiquvchilari back-endda allaqachon mashhur bo'lgan butun texnologiyalarni qayta kashf qilganda, bu front-end ishlab chiqishga o'xshaydi: tizimlarni qurish, uzluksiz integratsiya va shunga o'xshash narsalar. 

Moris: Men roziman. Ammo bu ajablanarli emas, chunki chinakam yutuq g'oyalari har doim tashkil etilgan jamoadan tashqaridan keladi. Tashkil etilgan tadqiqotchilar, ayniqsa, ilmiy bilimdonlar, chinakam yangicha ish qila olishmaydi. Keyingi konferentsiya uchun o'tmishdagi ishingiz natijalarini qanday yaxshilaganingiz haqida maqola yozish oson. Konferentsiyaga boring, do'stlar bilan birga bo'ling, bir xil narsalar haqida gapiring. Va ilg'or g'oyalar bilan yoritilgan odamlar deyarli har doim tashqaridan keladi. Ular qoidalarni bilishmaydi, tilni bilishmaydi, lekin shunga qaramay ... Agar siz o'rnatilgan jamiyat ichida bo'lsangiz, men sizga yangi narsalarga, umumiy rasmga mos kelmaydigan narsaga e'tibor berishingizni maslahat beraman. Qaysidir ma'noda, biz allaqachon tushungan usullar bilan tashqi, yanada suyuq ishlanmalarni birlashtirishga harakat qilish mumkin. Birinchi qadam sifatida, ilmiy asosni yaratishga harakat qiling va keyin uni yangi yutuq g'oyalariga qo'llanilishi uchun o'zgartiring. O'ylaymanki, blokcheyn yangi, buzg'unchi g'oya bo'lish uchun juda yaxshi.

Aleksey: Nima uchun bu sodir bo'ldi deb o'ylaysiz? Chunki "tashqarida" odamlar jamiyatga xos bo'lgan o'ziga xos to'siqlarga ega emasmi?

Moris: Bu erda bir naqsh bor. Agar siz rasm va umuman san'atdagi impressionistlarning tarixini o'qisangiz, bir vaqtlar taniqli rassomlar impressionizmni rad etishgan. Ular bu qandaydir bolalarcha ekanligini aytishdi. Bir avlod o'tgach, bu ilgari rad etilgan san'at turi standartga aylandi. Men o'z sohamda ko'rgan narsam: blokcheyn ixtirochilari kuchga, nashrlar va iqtiboslar ko'rsatkichini oshirishga qiziqmagan, ular shunchaki yaxshi narsa qilishni xohlashgan. Shunday qilib, ular o'tirishdi va buni qilishni boshladilar. Ularda ma'lum miqdorda texnik chuqurlik yo'q edi, ammo bu tuzatilishi mumkin. Etarlicha etuk bo'lmagan g'oyalarni tuzatish va mustahkamlashdan ko'ra, yangi ijodiy g'oyalarni ishlab chiqish ancha qiyin. Ushbu ixtirochilarga rahmat, menda nimadir qilish kerak!

Aleksey: Bu startaplar va eski loyihalar o'rtasidagi farqga o'xshaydi. Biz fikrlashning ko'plab cheklovlarini, to'siqlarni, maxsus talablarni va hokazolarni meros qilib olamiz.

Moris: Yaxshi o'xshashlik - bu taqsimlangan hisoblash. Blokcheynni go'yo boshlang'ich va tarqatilgan hisoblashni yirik, tashkil etilgan kompaniya sifatida tasavvur qiling. Taqsimlangan hisob-kitoblar blokcheyn bilan birlashtirilib, birlashtirilmoqda.

Barbara Liskov rahbarligida PhD

Vitaliy: Bizda hali ko'p savollar bor! Biz sizning ma'lumotingizni o'rganib chiqdik va doktorlik darajasi haqida qiziqarli faktga duch keldik. Ha, bu uzoq vaqt oldin edi, lekin bu muhim mavzuga o'xshaydi. Siz o'zingizning rahbarligingiz ostida PhD darajasini oldingiz Barbara Liskov! Barbara dasturlash tillari hamjamiyatida juda yaxshi tanilgan va umuman olganda juda taniqli shaxs. Sizning tadqiqotingiz dasturlash tillari sohasida bo'lganligi mantiqan to'g'ri. Qanday qilib parallel hisoblashga o'tdingiz? Nega mavzuni o'zgartirishga qaror qildingiz?

Moris: O'sha paytda Barbara va uning guruhi faqat taqsimlangan hisoblashni ko'rib chiqishgan, bu juda yangi g'oya edi. Taqsimlangan hisoblashlar bema'nilik, kompyuterlarning bir-biri bilan aloqa qilishi ma'nosiz, deganlar ham bo'ldi. Taqsimlangan hisoblashda uni markazlashtirilgan hisoblashdan ajratib turadigan masalalardan biri xatoga chidamlilikdir. Ko'p tadqiqotlardan so'ng, biz taqsimlangan hisoblash dasturlash tilida atom tranzaksiyalari kabi narsaga ega bo'lishi kerak degan qarorga keldik, chunki siz uzoqdan qo'ng'iroq muvaffaqiyatli bo'lishiga hech qachon ishonch hosil qila olmaysiz. Tranzaktsiyalarga ega bo'lganingizdan so'ng, parallellikni boshqarish muammosi paydo bo'ladi. Keyin yuqori darajada parallel tranzaksiyaviy ma'lumotlar tuzilmalarini olish bo'yicha ko'p ishlar qilindi. Keyin o'qishni tugatganimdan keyin bordim Karnegi Mellon va ustida ishlash uchun mavzu qidira boshladi. Hisoblash alohida kompyuterlardan kompyuterlar tarmog'iga o'tganligi xayolimga keldi. Ko'p protsessorlar taraqqiyotning tabiiy davomi bo'lar edi - "ko'p yadroli" so'zi hali mavjud emas edi. Men o'yladim: ko'p yadroli tizim uchun atom operatsiyalarining ekvivalenti nima? Albatta, muntazam tranzaktsiyalar emas, chunki ular juda katta va og'ir. Shunday qilib men bu g‘oyani o‘ylab topdim chiziqlilik Shunday qilib, men kutishsiz sinxronizatsiyani o'ylab topdim. Bu umumiy xotiraga ega ko'p protsessorli tizim uchun atom tranzaktsiyalarining analogi nima degan savolga javob berishga urinish edi. Bir qarashda bu asar butunlay boshqacha ko‘rinishi mumkin, lekin aslida u xuddi shu mavzuning davomidir.

Dunyo ko'p yadroli bo'lishni kutmoqda

Vitaliy: O'sha paytda ko'p yadroli kompyuterlar juda kam bo'lganini aytdingiz, to'g'rimi?

Moris: Ular shunchaki u erda yo'q edi. Bir nechta simmetrik multiprotsessorlar mavjud bo'lib, ular asosan bir xil avtobusga ulangan. Bu juda yaxshi ishlamadi, chunki har safar yangi kompaniya shunga o'xshash narsani yaratganida, Intel ko'p protsessordan ustun bo'lgan bitta protsessorni chiqaradi.

Aleksey: Bu o'sha qadimgi davrlarda u ko'proq nazariy o'rganish bo'lganligini anglatmaydimi?

Moris: Bu nazariy tadqiqot emas, balki spekulyativ tadqiqot edi. Bularning barchasi ko'p teoremalar bilan ishlash haqida emas, balki biz o'sha paytda mavjud bo'lmagan arxitektura haqida farazlarni ilgari surdik. Bu tadqiqot uchun! Hech bir kompaniya bunday ishni qilmagan bo'lardi; bularning barchasi uzoq kelajakdagi narsa edi. Aslida, bu 2004 yilgacha haqiqiy ko'p yadroli protsessorlar paydo bo'lgunga qadar shunday edi. Protsessorlar haddan tashqari qizib ketganligi sababli, siz protsessorni yanada kichikroq qilishingiz mumkin, lekin uni tezroq qila olmaysiz. Shu sababli, ko'p yadroli arxitekturaga o'tish sodir bo'ldi. Va bu shuni anglatadiki, birdan biz o'tmishda ishlab chiqqan barcha tushunchalardan foydalanish paydo bo'ldi.

Aleksey: Nima uchun ko'p yadroli protsessorlar faqat XNUMX-yillarda paydo bo'lgan deb o'ylaysiz? Xo'sh, nega juda kech?

Maurice: Bu apparat cheklovlari bilan bog'liq. Intel, AMD va boshqa kompaniyalar protsessor tezligini oshirishda juda yaxshi. Bir nuqtada protsessorlar etarlicha kichik bo'lganida, ular endi soat tezligini oshira olmadilar, chunki protsessorlar yonib keta boshlaydi. Siz ularni kichikroq qilishingiz mumkin, lekin tezroq emas. Ularning kuchiga nima kiradi - juda kichik protsessor o'rniga ular sakkiz, o'n olti yoki o'ttiz ikkita protsessorni bir xil hajmdagi korpusga sig'dira oladi, bu erda ilgari faqat bittasi sig'ishi mumkin edi. Endi siz ular o'rtasida ko'p tarmoqli va tezkor aloqaga egasiz, chunki ular keshlarni ulashadi. Lekin siz ularni tezroq yugurishga majbur qila olmaysiz - juda aniq tezlik chegarasi mavjud. Ular asta-sekin yaxshilanishda davom etmoqdalar, lekin endi unchalik emas. Fizika qonunlari takomillashtirish yo'lida to'sqinlik qildi.

Yangi dunyo yangi muammolarni keltirib chiqaradi. NUMA, NVM va arxitekturani buzish

Aleksey: Juda mantiqiy tuyuladi. Yangi ko'p yadroli protsessorlar bilan yangi muammolar paydo bo'ldi. Siz va sizning hamkasblaringiz bu muammolarni kutganmisiz? Balki siz ularni oldindan o'rgangandirsiz? Nazariy tadqiqotlarda bunday narsalarni bashorat qilish juda oson emas. Muammolar yuzaga kelganda, ular sizning va hamkasblaringizning kutganlariga qanday javob berdi? Yoki ular butunlay yangi edi va siz va sizning hamkasblaringiz paydo bo'lgan muammolarni hal qilish uchun ko'p vaqt sarflashlari kerak edi?

Vitaliy: Alekseyning savoliga qo'shimcha qilaman: siz nazariyani o'rganayotganda protsessor arxitekturasini to'g'ri taxmin qildingizmi?

Moris: 100% emas. Lekin men hamkasblarim va men umumiy xotiraga ega ko'p yadrolilarni bashorat qilishda yaxshi ish qildik deb o'ylayman. O'ylaymanki, biz qulflarsiz ishlaydigan parallel ma'lumotlar tuzilmalarini ishlab chiqishdagi qiyinchiliklarni to'g'ri taxmin qildik. Bunday ma'lumotlar tuzilmalari ko'pgina ilovalar uchun muhim bo'lgan, garchi hammasi bo'lmasa-da, lekin ko'pincha sizga bloklanmaydigan ma'lumotlar strukturasi kerak bo'ladi. Biz ularni ixtiro qilganimizda, ko'pchilik bu bema'nilik ekanligini, qulflar bilan hamma narsa yaxshi ishlayotganini ta'kidladilar. Biz ko'plab dasturlash muammolari va ma'lumotlar tuzilishi muammolari uchun tayyor echimlar bo'lishini juda yaxshi bashorat qilgan edik. kabi murakkabroq muammolar ham bor edi NUMA - xotiraga notekis kirish. Haqiqatan ham, ko'p yadroli protsessorlar ixtiro qilinmaguncha, ular juda aniq bo'lganligi sababli hisobga olinmagan. Tadqiqot hamjamiyati odatda bashorat qilinadigan savollar ustida ishladi. Muayyan arxitekturalar bilan bog'liq ba'zi apparat muammolari qanotlarda kutishga to'g'ri keldi - aslida bu arxitekturalarning ko'rinishi. Misol uchun, hech kim GPU-ga xos ma'lumotlar tuzilmalarida ishlamagan, chunki o'sha paytda GPUlar mavjud emas edi. Garchi ko'p ishlar qilingan bo'lsa-da SIMD, bu algoritmlar mos apparat mavjud bo'lishi bilanoq foydalanishga tayyor edi. Biroq, hamma narsani oldindan ko'rish mumkin emas.

Aleksey: Agar men to'g'ri tushunsam, NUMA - bu xarajat, ishlash va boshqa narsalar o'rtasidagi kelishuv. NUMA nima uchun bu qadar kech chiqdi?

Moris: Menimcha, NUMA xotira ishlab chiqarish uchun ishlatiladigan apparat bilan bog'liq muammolar tufayli mavjud: komponentlar qanchalik uzoq bo'lsa, ularga kirish shunchalik sekinroq bo'ladi. Boshqa tomondan, bu abstraktsiyaning ikkinchi qiymati xotiraning bir xilligidir. Shunday qilib, parallel hisoblashning xususiyatlaridan biri shundaki, barcha abstraktsiyalar biroz buzilgan. Agar kirish mutlaqo bir xil bo'lsa, barcha xotiralar bir xil masofada bo'lar edi, ammo bu iqtisodiy va hatto jismoniy jihatdan imkonsizdir. Shuning uchun bu ziddiyat yuzaga keladi. Agar siz dasturingizni xotira bir xil bo'lgandek yozsangiz, u to'g'ri bo'lishi mumkin. Bu noto'g'ri javoblar bermaydi degan ma'noda. Ammo uning ijrosi osmondagi yulduzlarni ham ushlamaydi. Xuddi shunday, agar siz yozsangiz spinloklar Kesh ierarxiyasini tushunmasdan, blokirovkaning o'zi to'g'ri bo'ladi, lekin siz ishlashni unutishingiz mumkin. Qaysidir ma'noda, siz juda oddiy abstraksiya ustiga yashovchi dasturlarni yozishingiz kerak, lekin sizga bu mavhumlikni bergan odamlardan ayyor bo'lishingiz kerak: mavhumlik ostida xotiraning qandaydir ierarxiyasi borligini bilishingiz kerak. siz va bu xotira o'rtasidagi avtobus va hokazo. Shunday qilib, individual foydali abstraktsiyalar o'rtasida qandaydir ziddiyat mavjud bo'lib, bu bizni juda aniq va pragmatik muammolarga olib keladi.

Vitaliy: Kelajak haqida nima deyish mumkin? Keyingi protsessorlar qanday rivojlanishini bashorat qila olasizmi? Javoblardan biri tranzaksiya xotirasi degan fikr bor. Ehtimol, sizda boshqa narsa bor.

Moris: Oldinda bir nechta katta muammolar bor. Ulardan biri shundaki, izchil xotira ajoyib mavhumlikdir, lekin u alohida holatlarda parchalana boshlaydi. Shunday qilib, masalan, NUMA bir xil xotira borligini ko'rsatishda davom etishingiz mumkin bo'lgan narsaning jonli misolidir. Aslida yo'q, mahsuldorlik sizni yig'laydi. Bir nuqtada, arxitektorlar yagona xotira arxitekturasi g'oyasidan voz kechishga majbur bo'ladilar, siz abadiy da'vo qila olmaysiz. Yangi dasturlash modellari kerak bo'ladi, ulardan foydalanish oson va asosiy uskunani samarali qilish uchun etarlicha kuchli. Bu juda qiyin murosa, chunki agar siz dasturchilarga aslida apparatda ishlatiladigan arxitekturani ko'rsatsangiz, ular aqldan ozadi. Bu juda murakkab va portativ emas. Agar siz juda oddiy interfeysni taqdim qilsangiz, unumdorlik yomon bo'ladi. Shunday qilib, haqiqatan ham katta ko'p yadroli protsessorlar uchun qo'llaniladigan foydali dasturlash modellarini taqdim etish uchun juda ko'p qiyin kelishuvlarni amalga oshirish kerak bo'ladi. Mutaxassisdan boshqa hech kim 2000 yadroli kompyuterda dasturlash qobiliyatiga ega ekanligiga ishonchim komil emas. Va agar siz juda ixtisoslashgan yoki ilmiy hisoblash yoki kriptografiya yoki shunga o'xshash narsalarni qilmasangiz - buni qanday qilib to'g'ri bajarish hali ham aniq emas. 

Yana bir shunga o'xshash soha - ixtisoslashgan arxitektura. Grafik tezlatgichlar uzoq vaqtdan beri mavjud, ammo ular qandaydir ixtisoslashtirilgan hisoblash turini olib, uni maxsus chipda ishga tushirishning klassik namunasiga aylandi. Bu o'ziga xos qiyinchiliklarni qo'shadi: siz bunday qurilma bilan qanday aloqa qilasiz, uni qanday dasturlaysiz. Men yaqinda mintaqadagi muammolar ustida ishlayapman xotira hisoblash yaqinida. Siz kichik protsessorni olib, uni xotiraning katta qismiga yopishtirasiz, shunda xotira L1 kesh tezligida ishlaydi va keyin shunga o'xshash qurilma bilan bog'lanadi. TPU - protsessor xotira yadrosiga yangi vazifalarni yuklash bilan band. Ushbu turdagi narsalar uchun ma'lumotlar tuzilmalari va aloqa protokollarini loyihalash yana bir qiziqarli misoldir. Shunday qilib, maxsus protsessorlar va apparatlar ancha vaqt davomida yaxshilanishlarni ko'rishda davom etadi.

Aleksey: O'zgaruvchan xotira haqida nima deyish mumkin (doimiy xotira)?

Moris: Oh, bu yana bir ajoyib misol! NVM ma'lumotlar tuzilmalari kabi narsalarga qarashimizni tubdan o'zgartiradi. O'zgaruvchan xotira, qaysidir ma'noda, haqiqatan ham ishlarni tezlashtirishni va'da qiladi. Ammo bu hayotni osonlashtirmaydi, chunki aksariyat protsessorlar, keshlar va registrlar hali ham o'zgaruvchan. Halokatdan keyin ishga tushganingizda, sizning holatingiz va xotirangizning holati halokatdan oldingi kabi bo'lmaydi. Men NVM ustida ishlayotgan odamlarga juda minnatdorman - tadqiqotchilar uzoq vaqt davomida to'g'rilik shartlarini aniqlashga harakat qilishlari uchun ko'p ish bo'ladi. Agar ular keshlar va registrlarning mazmuni yo'qolgan, ammo asosiy xotira buzilmagan holda qoladigan avariyadan omon qolsa, hisob-kitoblar to'g'ri bo'ladi.

Kompilyatorlar va protsessorlar, RISC va CISC, umumiy xotira va xabar uzatish

Vladimir: Ko'rsatmalar to'plami nuqtai nazaridan "kompilyatorlar va protsessorlar" dilemmasi haqida qanday fikrdasiz? Bilmaganlar uchun tushuntirib beraman: agar biz noto'g'ri xotiraga yoki shunga o'xshash narsaga o'tsak, biz juda oddiy buyruqlar to'plamidan foydalanishimiz va kompilyatordan yangi afzalliklardan foydalana oladigan murakkab kod yaratishni so'rashimiz mumkin. Yoki biz boshqa yo'l bilan borishimiz mumkin: murakkab ko'rsatmalarni bajaring va protsessordan ko'rsatmalarni qayta tartiblashni va ular bilan boshqa manipulyatsiyalarni bajarishni so'rang. Bu haqda qanday fikrdasiz?

Moris: Bu savolga javobim yo'q. Bu munozara qirq yildan beri davom etmoqda. O'rtada vaqt bor edi qisqartirilgan buyruqlar to'plami va qiyin fuqarolar urushlari bir qator buyruqlar asosida olib borilgan. Bir muncha vaqt RISC odamlari g'alaba qozonishdi, ammo keyin Intel o'z dvigatellarini qayta qurdi, shunda ko'rsatmalarning qisqartirilgan to'plami ichkarida qo'llanildi va to'liq to'plam tashqariga eksport qilindi. Bu, ehtimol, har bir yangi avlod o'z murosalarini topishi va o'zi qaror qabul qilishi kerak bo'lgan mavzudir. Bu narsalardan qaysi biri yaxshiroq bo'lishini oldindan aytish juda qiyin. Shunday qilib, men qilgan har qanday bashorat ma'lum vaqt davomida to'g'ri bo'ladi, keyin esa bir muncha vaqt uchun yana yolg'on va keyin yana to'g'ri bo'ladi.

Aleksey: Sanoat uchun ba'zi g'oyalar bir necha o'n yillar davomida g'alaba qozonib, keyingi yillarda yutqazishi qanchalik odatiy hol? Bunday davriy o'zgarishlarning boshqa misollari bormi?

Moris: Taqsimlangan hisoblash mavzusiga ishonadigan odamlar bor umumiy xotira va ishonadigan odamlar xabarlar. Dastlab, taqsimlangan hisoblashda parallel hisoblash xabarni uzatishni anglatadi. Keyin kimdir umumiy xotira bilan dasturlash ancha oson ekanligini aniqladi. Qarama-qarshi tomonning aytishicha, umumiy xotira juda murakkab, chunki u qulflar va shunga o'xshash narsalarni talab qiladi, shuning uchun xabarlarni uzatishdan boshqa narsa mavjud bo'lmagan tillarga o'tishga arziydi. Kimdir bundan kelib chiqadigan narsaga qaradi va shunday dedi: "Voy, bu xabar almashish ilovasi umumiy xotiraga o'xshaydi, chunki siz juda ko'p va ko'plab kichik modullarni yaratasiz, ular bir-biriga xabarlar yuboradilar va ularning hammasi. blokirovka qilish"Yaxshiroq umumiy xotira ma'lumotlar bazasini yarataylik!" Bularning barchasi qayta-qayta takrorlanadi va tomonlardan biri aniq to'g'ri deb aytish mumkin emas. Tomonlardan biri har doim ustunlik qiladi, chunki ulardan biri deyarli g'alaba qozonishi bilan odamlar boshqasini yaxshilash yo'llarini qayta-qayta o'ylab topishadi.

Mo'rt ko'p tarmoqli kodni yozish san'ati

Aleksey: Bu juda qiziq. Misol uchun, biz kod yozganimizda, qaysi dasturlash tilidan qat'i nazar, biz odatda o'qish va yozish mumkin bo'lgan hujayralar kabi abstraktsiyalarni yaratishimiz kerak. Lekin, aslida, ba'zi jismoniy darajada, bu turli xil kompyuterlar va boshqa qurilmalar o'rtasida apparat avtobusi orqali xabar yuborish kabi ko'rinishi mumkin. Ma'lum bo'lishicha, ish bir vaqtning o'zida abstraktsiyaning ikkala darajasida sodir bo'ladi.

Moris: To'g'ri, umumiy xotira xabarlarni uzatishga asoslangan - avtobuslar, keshlar va boshqalar. Ammo xabarlarni uzatishdan foydalangan holda dasturlar yozish qiyin, shuning uchun apparat ataylab yolg'on gapiradi va go'yo sizda qandaydir bir xil xotira mavjud. Bu unumdorlik yomonlasha boshlaguncha oddiy, to'g'ri dasturlarni yozishni osonlashtiradi. Keyin siz aytasiz: kesh bilan do'stlashish vaqti kelganga o'xshaydi. Va keyin siz keshning joylashuvi haqida tashvishlana boshlaysiz va u erdan ketadi. Qaysidir ma'noda siz abstraksiyani buzyapsiz: bu shunchaki tekis, bir xil xotira emasligini bilasiz va bu bilimingizdan keshga qulay dasturlarni yozish uchun foydalanasiz. Haqiqiy muammolarda buni qilish kerak bo'ladi. Sizga berilgan shirin, sodda va yoqimli mavhumlik va asosiy uskunaning dahshatli murakkab amalga oshirilishi o'rtasidagi ziddiyat har bir kishi o'z murosaga keladi. Menda ko'p protsessorlar va sinxronizatsiya haqida kitobim bor va bir vaqtning o'zida men ma'lumotlar tuzilmalari bo'yicha bob yozmoqchi edim. java.util.concurrent. Agar siz ularga qarasangiz, shunga o'xshash narsalar qoldirilgan ro'yxatlar Bu ajoyib san'at asarlari. (Muharrirning eslatmasi: Java tilini yaxshi biladiganlar hech bo'lmaganda dasturni ko'rib chiqishlari kerak ConcurrentSkipListMap, havolalarini ko'rishingiz mumkin API и manba kodi). Lekin mening nuqtai nazarimga ko'ra, ularni talabalarga ko'rsatish mas'uliyatsizlik bo'lardi, chunki bunday ma'lumotlar tuzilmasi ayiq chuquri ustida arqonda yugurayotgan sirkdagi yigitga o'xshaydi. Agar siz hatto bitta kichik tafsilotni o'zgartirsangiz, butun struktura qulab tushadi. Ushbu kod juda tez va oqlangan, chunki u mukammal yozilgan, ammo eng kichik o'zgarish to'liq muvaffaqiyatsizlikka olib keladi. Agar men ushbu kodni talabalarga misol qilib bersam, ular darhol aytadilar: men ham buni qila olaman! Va keyin qandaydir samolyot halokatga uchraydi yoki yadro reaktori portlaydi va men ularga noto'g'ri vaqtda juda ko'p ma'lumot berganlikda aybdor bo'laman.

Aleksey: Men yoshligimda ko'p marta Dug Lining manba kodini o'rganishga harakat qildim, masalan, java.util.concurrent, chunki u ochiq manba bo'lib, uni topish juda oson va u erda nima bo'layotganini tushunishga harakat qiling. Bu unchalik yaxshi bo'lmadi: ko'pincha, hamma buni boshqacha qilayotganda, nima uchun Dug buni shunday qilishga qaror qilgani noma'lum. Bularni talabalaringizga qanday tushuntirasiz? Masalan, qattiq algoritmning o'ziga xos tafsilotlarini tasvirlashning to'g'ri usuli bormi? Buni qanday qilasiz?

Moris: Chizmachilik o‘qituvchilarining bir klishesi borki, ular birinchi bo‘lib eslab qolishadi: agar siz Pikasso kabi chizmoqchi bo‘lsangiz, avvalo oddiy real suratlarni chizishni o‘rganishingiz kerak va faqat qoidalarni bilganingizdagina ularni buzishni boshlashingiz mumkin. Agar siz darhol qoidalarni buzishdan boshlasangiz, siz tartibsizlikka tushib qolasiz. Birinchidan, men talabalarga ishlash haqida qayg'urmasdan oddiy, to'g'ri kod yozishni o'rgataman. Men aytmoqchi bo'lgan narsa shundaki, bu erda murakkab vaqt muammolari yashiringan, shuning uchun keshlar haqida qayg'urmang, xotira modellari haqida qayg'urmang, shunchaki hamma narsa to'g'ri ishlashiga ishonch hosil qiling. Bu allaqachon etarlicha qiyin: zamonaviy dasturlashning o'zi oson emas, ayniqsa yangi talabalar uchun. Va ularda qanday qilib to'g'ri dasturlarni yozish haqida sezgi bor bo'lsa, men aytaman: bu ikkita spinlock ilovasiga qarang: biri juda sekin, ikkinchisi ham unchalik emas, lekin yaxshiroq. Biroq, matematik jihatdan ikkita algoritm bir xil. Aslida, ulardan biri kesh joylashuvidan foydalanadi. Ulardan biri mahalliy keshlangan ma'lumotlarda ishlaydi, ikkinchisi esa avtobus bo'ylab qayta-qayta operatsiyalarni bajaradi. Agar siz uning nima ekanligini tushunmasangiz va mavhumlikni buzish va asosiy tuzilishga qarashni bilmasangiz, samarali kod yoza olmaysiz. Ammo siz buni darhol boshlay olmaysiz. Buni darhol qila boshlaydigan va o'z dahosiga ishonadigan odamlar bor, odatda bu yomon tugaydi, chunki ular printsiplarni tushunmaydilar. Hech kim Pikasso kabi chizmaydi yoki birinchi haftasida kollejni yangi tugatgan Dug Li kabi dasturlar yozmaydi. Bunday bilim darajasiga erishish uchun yillar kerak bo'ladi.

Aleksey: Ma'lum bo'lishicha, siz muammoni ikki qismga ajratasiz: birinchisi - to'g'rilik, ikkinchisi - ishlash?

Moris: Aynan. Va aynan shu tartibda. Muammoning bir qismi shundaki, yangi talabalar to'g'rilikka erishish qiyinligini tushunmaydilar. Bir qarashda ular shunday deyishadi: bu to'g'ri, faqat uni tezlashtirish qoladi. Shuning uchun ba'zida men ularga dastlab noto'g'ri bo'lgan algoritm haqida go'yo to'g'ri deb aytaman.

Talabalarni murakkab ko'p bosqichli kod yozishni qanday o'rgatish kerak

Aleksey: Ular ovni seza oladilarmi, ko'rish uchunmi?

Moris: Men har doim oldindan ogohlantiraman, ba'zida men noto'g'ri algoritmlarni taklif qilaman. Odamlarni aldamaslik kerak. Men ularga ma'lumotni tuz donasi bilan qabul qilishni taklif qilaman. Agar men biror narsa aytsam va aytsam: "Mana, bu aniq to'g'ri" - bu qaerdadir sizni aldamoqchi bo'lganligidan dalolat beradi va siz savol berishni boshlashingiz kerak. Keyin men o'quvchilarni savol berishda davom etishga undashga harakat qilaman va keyin men: "Agar narsalarni avvalgidek qoldirsak nima bo'ladi?" Va ular darhol xatoni ko'rishadi. Ammo o'quvchilarni to'g'rilik haqida tashvishlanishlari kerakligiga ishontirish birinchi qarashda ko'rinadiganidan ancha qiyin. Bu talabalarning ko'pchiligi o'rta maktabda dasturlash tajribasiga ega, ba'zilari ishga joylashib, u erda dasturlash bilan shug'ullangan va ularning barchasi ishonch bilan to'la. Bu armiyaga o'xshash narsa: ularni yuzaga keladigan muammolarni hal qilishda sabr bilan yondashishga ishontirish uchun avvalo ularning kayfiyatini o'zgartirishingiz kerak. Yoki, ehtimol, bu Buddist rohiblarga o'xshaydi: avval ular to'g'rilik haqida mulohaza yuritishni o'rganadilar va to'g'rilik haqida mulohaza yuritish usullarini tushunganlaridan so'ng, ularga keyingi bosqichga o'tishga va ishlash haqida qayg'urishga ruxsat beriladi.

Aleksey: Ya'ni, ba'zida siz talabalarga ishlamaydigan misollarni ko'rsatasiz, buning yordamida siz ular muammoning mohiyatini tushunadimi yoki yo'qmi, noto'g'ri kod va noto'g'ri natija topa oladimi yoki yo'qligini ko'rsatadigan fikr-mulohazalarni olasiz. Xo'sh, talabalar sizni odatda xursand qiladimi yoki xafa qiladimi?

Moris: Talabalar deyarli har doim xatoni oxirigacha topadilar. Agar ular juda sekin izlanishsa, men etakchi savollarni beraman va bu erda shuni tushunish kerakki, agar siz ularni hech qachon aldamasangiz, ular sizning so'zlaringizni yakuniy haqiqat sifatida beparvolik bilan qabul qila boshlaydilar. Keyin ular dars paytida noutbukda Facebook o'qiyotganda zerikib, uxlab qolishadi. Lekin ular aldanib qolishlarini, nayrangni sezmasalar, ahmoq ko‘rinishlarini oldindan aytsangiz, ular ancha hushyor bo‘lib qoladilar. Bu turli yo'llar bilan yaxshi. Talabalar nafaqat bu masalani tushunishlariga shubha qilishlarini, balki o'qituvchining vakolatiga ham shubha qilishlarini istardim. G‘oya shundan iboratki, talaba istalgan vaqtda qo‘lini ko‘tarib: “Menimcha, siz aytgan so‘z noto‘g‘ri. Bu muhim o'rganish vositasidir. Men talabalarning hech biri o'tirib, jimgina o'ylashlarini xohlamayman: bularning barchasi bema'nilikdek tuyuladi, lekin qo'lingizni ko'tarish juda qo'rqinchli va baribir u professor, shuning uchun u aytgan hamma narsa haqiqatdir. Shuning uchun, agar ular aytilganlarning hammasi ham haqiqat emasligi haqida oldindan ogohlantirilsa, ular materialga ko'proq e'tibor berishga undaydi. Men qo'l ko'tarib savol berishning ma'qul ekanligini aniq aytaman. Sizning savolingiz ahmoq yoki sodda tuyulishi mumkin, lekin ko'pincha eng yaxshi savollar shu tarzda paydo bo'ladi.

Aleksey: Juda qiziq. Odatda odamlarda professorga savol berishga imkon bermaydigan qandaydir psixologik to'siq bor. Ayniqsa, xonada ko'p odam bo'lsa va hamma sizning ahmoqona savolingizni muhokama qilish bu odamlarning vaqtini oladi deb qo'rqsa. Bu bilan shug'ullanish uchun biron bir hiyla bormi?

Moris: Men tez-tez to'xtab, klassik savollarni beraman. Bayonot to'g'ri bo'ladimi yoki ular muhokama qilinayotgan muammoni qanday hal qiladi. Bu, ayniqsa, darsning boshida odamlar hatto eng kichik narsani aytishdan uyaladigan asosiy harakatdir. Siz talabalarga savol berasiz va boshqa hech narsa demaysiz. Sukunat hukm suradi, hamma bir oz taranglashadi, keskinlik kuchayadi, keyin birdaniga kimdir chiday olmaydi, buziladi va javobni aytadi. Vaziyatni shunday aylantirasiz: jim turishni davom ettirish javob berishdan ko'ra qiyinroq va noqulayroq bo'ladi! Bu standart pedagogik hiyla. Dunyodagi har bir o'qituvchi buni qanday qilishni bilishi kerak.

Aleksey: Endi bizda ushbu intervyu uchun ajoyib sarlavha bor: "jim turishdan ko'ra javob berish osonroq".

Vitaliy: Yana so‘rayman. Siz topologik dalillar ustida ishlayapsiz. Qanday qilib siz bunga aralashdingiz, chunki taqsimlangan hisoblash va topologiya butunlay boshqa narsalar!

Moris: U yerda yashirin aloqa bor. Men matematikani o'rganayotgan talaba bo'lganimda, men sof matematikani o'qiganman. O'qishim tugaguniga qadar menda kompyuterga hech qanday qiziqish yo'q edi va men o'zimni ish izlash zarurati bilan to'qnash keldim. Talaba sifatida men algebraik topologiyani o'rganganman. Ko'p yillar o'tib, muammo ustida ishlayotganda, deb nomlangan "K-Set kelishuv muammosi", Men muammoni modellashtirish uchun grafiklardan foydalandim va o'sha paytdagidek, men yechim topdim. Siz shunchaki o'tirib, hisobni aylanib chiqishingiz kerak edi. Ushbu grafikda mos javob topishga harakat qiling. Ammo mening algoritmim ishlamadi: u abadiy aylanalarda yugurishi ma'lum bo'ldi. Afsuski, bularning barchasini barcha kompyuter olimlari biladigan grafik nazariyasining rasmiy tilida tushuntirib bo'lmaydi. Va keyin men ko'p yillar oldin topologiya darslarida biz kontseptsiyadan foydalanganimizni esladim "oddiy kompleks", bu grafiklarni yuqori o'lchamlarga umumlashtirishdir. Keyin men o'zimga savol berdim: agar muammoni oddiy komplekslar nuqtai nazaridan qayta shakllantirsak nima bo'ladi? Bu asosiy daqiqaga aylandi. Kuchliroq formalizmdan foydalanib, muammo birdan ancha soddalashadi. Odamlar grafiklardan foydalangan holda uzoq vaqt davomida unga qarshi kurashdilar, ammo ular hech narsa qila olmadilar. Va hozir ham ular qila olmaydi - to'g'ri javob algoritm emas, balki muammoni hal qilishning iloji yo'qligining isboti bo'lib chiqdi. Ya'ni, bunday algoritm oddiygina mavjud emas. Lekin mumkin emasligining har bir isboti oddiy komplekslarga yoki odamlar oddiy komplekslarni hisobga olmaganday tuyulgan narsalarga asoslangan. Biror narsani yangi nom bilan ataganingiz uchun u o‘z mohiyatini yo‘qotmaydi.

Vitaliy: Aftidan, sizga omad kulib boqdi?

Moris: Omaddan tashqari, bu ham tayyorlik. Bu siz ilgari o'rgangan "foydasiz" narsalarni unutmasligingiz kerakligini anglatadi. Qanchalik ko'p foydasiz narsalarni o'rgansangiz, yangi muammoga duch kelganingizda shunchalik ko'p g'oyalarni olishingiz mumkin. Bunday intuitiv naqsh mosligi muhim, chunki... Keling, shunday qilaylik, bu zanjir: dastlab men grafiklar umuman ishlamayotganini yoki umuman ishlamayotganini aniqladim, bu menga sakkizta voqealardan nimanidir eslatdi. yillar oldin va mening talabalik yillarim, biz bu oddiy komplekslarni o'rganganimizda. Bu, o'z navbatida, menga eski topologiya darsligimni topishga va uni yana boshimga yuklashga imkon berdi. Ammo agar o'sha eski bilim bo'lmaganida, men asl muammoni hal qilishda hech qachon muvaffaqiyatga erishmagan bo'lardim.

"Ko'p protsessorli dasturlash san'ati" kitobining yangi nashri

Aleksey: Siz kitobingiz haqida bir necha so'z aytdingiz. Ko'p qirrali o'qish bo'yicha dunyodagi eng mashhur kitobni yozganingizning siri bo'lmasa kerak. "Ko'p protsessorli dasturlash san'ati". U allaqachon 11 yoshda va o'shandan beri u faqat chiqarilgan  qayta ko'rib chiqilgan qayta nashr. Ikkinchi nashr bo'ladimi?

Moris: So'raganingiz yaxshi! Bu juda tez orada, uch oy ichida bo'ladi. Yana ikkita muallif bor, biz ko'proq materiallar qo'shdik, vilkalar/qo'shilish parallelizmi bo'limini yaxshiladik, MapReduce-da bo'lim yozdik, ko'plab yangi narsalarni qo'shdik va keraksiz narsalarni chiqarib tashladik - bu yozish paytida juda qiziq edi. birinchi nashri, lekin bugungi kunda yo'q. Natijada juda jiddiy qayta ko'rib chiqilgan kitob bo'ldi.

Aleksey: Hammasi allaqachon qilingan, qolgani uni ozod qilishmi?

Moris: Bir nechta boblar hali ham biroz ishlashga muhtoj. Bizning nashriyotimiz (menimcha, bizdan nafratlanadi) hali ham tezroq ishlashimiz kerakligi haqidagi xabarni etkazishga harakat qilmoqda. Biz rejadan ancha orqadamiz. Nazariy jihatdan, biz bu kitobni bir necha yil oldin qilishimiz mumkin edi.

Aleksey: Rojdestvo oldidan kitobning yangi versiyasini olish imkoniyati bormi?

Moris: Bu bizning maqsadimiz! Lekin men g'alabani shunchalik ko'p bashorat qilganmanki, endi hech kim menga ishonmaydi. Bu masalada ham menga ko'p ishonmasligingiz kerak.

Aleksey: Har holda, bu ajoyib yangilik. Kitobning birinchi nashri menga juda yoqdi. Men muxlisman deyishingiz mumkin.

Moris: Umid qilamanki, yangi nashr sizning jo'shqin ishtiyoqingizga loyiq bo'ladi, rahmat!

Transaktsion xotira qanday ixtiro qilingan

Vitaliy: Keyingi savol tranzaktsion xotira haqida. Tushunishimcha, siz bu sohada kashshofsiz, bunday narsalarni hech kim o‘ylamagan bir paytda o‘ylab topgansiz. Nega bu sohaga o'tishga qaror qildingiz? Nima uchun tranzaktsiyalar sizga muhim tuyuldi? Bir kun kelib ular apparatda qo'llaniladi deb o'ylaganmidingiz?

Moris: Men tranzaktsiyalar haqida aspiranturadagi tadqiqot kunlarimdan beri bilaman.

Vitaliy: Ha, lekin bu har xil operatsiyalar!

Moris: Men Elliott Moss bilan bloklanmagan axlat yig'ish ustida ishlaganman. Bizning muammomiz shundaki, biz xotirada bir nechta so'zlarni atomik tarzda o'zgartirishni xohladik va keyin algoritmlar juda oddiy bo'lib qoladi va hech bo'lmaganda ulardan ba'zilari samaraliroq bo'ladi. Foydalanish solishtiring va almashtiring uchun yuklash-bog'lash/do'kon-shartliparallel arxitektura tomonidan taqdim etilgan, biror narsa qilish mumkin, lekin bu juda samarasiz va xunuk, chunki siz bilvosita qatlamlar bilan shug'ullanishingiz kerak edi. Men xotira so'zlarini o'zgartirmoqchiman va o'tishim kerak, chunki men faqat bitta ko'rsatgichni o'zgartira olaman, shuning uchun ular qandaydir katalogga o'xshash tuzilishga ishora qilishlari kerak. Biz bir vaqtning o'zida yozishni amalga oshirish uchun uskunani o'zgartira olsak, qanchalik ajoyib bo'lar edi, deb gaplashdik. Elliott buni payqaganga o'xshaydi: agar siz kesh kogerentlik protokollarini ko'rsangiz, ular allaqachon kerakli funktsiyalarning ko'pini ta'minlaydi. Optimistik tranzaksiyada kesh muvofiqligi protokoli vaqt ziddiyati borligini sezadi va kesh bo'ladi. yaroqsiz. Agar siz keshingizda tranzaktsiyani spekulyativ tarzda bajarsangiz va ziddiyatlarni aniqlash uchun muvofiqlik protokoli mexanizmlaridan foydalansangiz nima bo'ladi? Spekulyativ apparat arxitekturasini loyihalash oson edi. Shunday qilib, biz buni yozdik birinchi nashr tranzaktsion xotira haqida. Shu bilan birga, men ishlagan kompaniya Digital Equipment Corporation Alpha nomli yangi 64 bitli protsessorni yaratayotgan edi. Shunday qilib, men borib, Alpha ishlab chiqish guruhiga bizning ajoyib tranzaksiya xotiramiz haqida taqdimot qildim va ular so'rashdi: Agar bularning barchasini protsessorga qo'shsak, kompaniyamiz qancha qo'shimcha daromad oladi? Va men bunga mutlaqo javob bermadim, chunki men texnologman, men marketing bo'yicha mutaxassis emasman. Menda javob beradigan hech narsa yo'q edi. Ular mening hech narsa bilmasligimga unchalik ta’sir qilishmadi.

Vitaliy: Milliardlar! Faqat milliardlarni ayting!

Moris: Ha, men shuni aytishim kerak edi. Endi, startaplar davrida va hamma narsada men biznes-reja yozishni bilaman. Sizning potentsial daromadingiz hajmi haqida bir oz yolg'on gapirishingiz mumkin. Ammo o'sha kunlarda bu sodda tuyulardi, shuning uchun men shunchaki: "Bilmayman" dedim. Agar siz tranzaktsion xotira bo'yicha nashrning tarixiga nazar tashlasangiz, bir yildan so'ng unga bir nechta havolalar bo'lganini va keyin taxminan o'n yil davomida hech kim bu maqolaga umuman iqtibos keltirmaganini ko'rasiz. Kotirovkalar taxminan 2004 yilda, haqiqiy multi-yadrolar paydo bo'lganida paydo bo'lgan. Odamlar parallel kod yozish pul ishlash mumkinligini aniqlaganlarida, yangi tadqiqotlar boshlandi. Ravi Rajvar maqola yozdi, qaysidir ma'noda tranzaksiya xotirasi tushunchasini asosiy oqimga kiritdi. (Muharrirning eslatmasi: Ushbu maqolaning 2010-yilda chiqarilgan ikkinchi versiyasi mavjud va bepul PDF sifatida). To'satdan odamlar bularning barchasidan qanday foydalanish mumkinligini, qulflar bilan an'anaviy algoritmlarni qanday tezlashtirish mumkinligini aniq tushunishdi. O'tmishda shunchaki qiziqarli akademik muammoga o'xshab ko'ringan narsaning yaxshi namunasi. Ha, agar siz o'sha paytda mendan bularning barchasi kelajakda muhim bo'ladi deb o'ylaysizmi, deb so'raganingizda, men aytgan bo'lardim: albatta, lekin qachon aniq emas. Balki 50 yildan keyin? Amalda, bu faqat o'n yil bo'lib chiqdi. Agar biror narsa qilsangiz va atigi o'n yildan keyin odamlar buni payqashsa, bu juda yoqimli.

Nima uchun taqsimlangan hisoblash sohasida tadqiqot olib borishga arziydi

Vitaliy: Agar yangi tadqiqotlar haqida gapiradigan bo'lsak, siz o'quvchilarga nima maslahat berasiz - taqsimlangan hisoblash yoki ko'p yadroli va nima uchun? 

Maurice: Hozirgi kunda ko'p yadroli protsessorni olish oson, lekin haqiqiy taqsimlangan tizimni o'rnatish qiyinroq. Men ular ustida ishlashni boshladim, chunki men doktorlik dissertatsiyasidan boshqacha ish qilmoqchi edim. Men har doim yangi talabalarga beradigan maslahatim: dissertatsiyangizning davomini yozmang - yangi yo'nalishda harakat qilib ko'ring. Bundan tashqari, multithreading oson. Men yotoqdan turmasdan noutbukda ishlaydigan o'z vilkalarimni sinab ko'rishim mumkin. Ammo agar men to'satdan haqiqiy taqsimlangan tizimni yaratmoqchi bo'lsam, men juda ko'p ishlarni bajarishim, talabalarni jalb qilishim va hokazo. Men dangasa odamman va ko'p yadroda ishlashni afzal ko'raman. Ko'p yadroli tizimlarda tajriba o'tkazish, shuningdek, taqsimlangan tizimlarda tajriba o'tkazishdan ko'ra osonroqdir, chunki hatto ahmoqona taqsimlangan tizimda ham nazorat qilinishi kerak bo'lgan juda ko'p omillar mavjud.

Vitaliy: Hozir nima qilyapsiz, blokcheynni tadqiq qilyapsizmi? Qaysi maqolalarga birinchi navbatda e'tibor berish kerak?

Moris: Yaqinda paydo bo'ldi juda yaxshi maqola, Buni men o'quvchim Vikram Saraf bilan birga yozganman, ayniqsa suhbat uchun Tokenomcs konferentsiyasi Parijda uch hafta oldin. Bu amaliy taqsimlangan tizimlar haqidagi maqola bo'lib, unda biz Ethereum-ni ko'p tarmoqli qilishni taklif qilamiz. Hozirgi vaqtda aqlli shartnomalar (blokcheynda ishlaydigan kod) ketma-ket bajarilmoqda. Biz avvalroq maqola yozgan edik, unda jarayonni tezlashtirish uchun spekulyativ operatsiyalardan foydalanish usullari haqida gapirgan edik. Biz dasturiy ta'minotning tranzaksiya xotirasidan juda ko'p g'oyalarni oldik va agar siz ushbu g'oyalarni Etherium virtual mashinasining bir qismiga aylantirsangiz, unda hamma narsa tezroq ishlashini aytdik. Ammo buning uchun shartnomalarda ma'lumotlar ziddiyatlari bo'lmasligi kerak. Va keyin biz haqiqiy hayotda bunday mojarolar yo'q deb taxmin qildik. Ammo buni aniqlashning iloji yo'q edi. Keyin bizning qo'limizda deyarli o'n yillik haqiqiy shartnoma tarixi borligi xayolimizga keldi, shuning uchun biz Ethereum blokcheynini tashlab, o'zimizga savol berdik: agar bu tarixiy yozuvlar parallel ravishda bajarilsa nima bo'ladi? Tezlikning sezilarli o'sishini aniqladik. Ethereumning dastlabki kunlarida tezlik juda ko'p oshdi, ammo bugungi kunda hamma narsa biroz murakkabroq, chunki shartnomalar kamroq va serializatsiyani talab qiladigan ma'lumotlar bo'yicha nizolar ehtimoli yuqori bo'ldi. Ammo bularning barchasi haqiqiy tarixiy ma'lumotlar bilan eksperimental ishdir. Blokcheynning yaxshi tomoni shundaki, u hamma narsani abadiy eslab qoladi, shuning uchun biz o'tmishga qaytib, kodni ishlatish uchun turli xil algoritmlardan foydalanganimizda nima sodir bo'lishini o'rganishimiz mumkin. Ilgari odamlarga bizning yangi g'oyamiz qanday yoqdi? Bunday tadqiqotni amalga oshirish ancha oson va yoqimli, chunki hamma narsani kuzatib turadigan va hamma narsani yozib oladigan narsa bor. Bu allaqachon algoritmlarni ishlab chiqishdan ko'ra sotsiologiyaga o'xshash narsa.

Algoritmlarni ishlab chiqish to'xtadimi va qanday davom etish kerak?

Vitaliy: Oxirgi nazariy savolning vaqti! Raqobatbardosh ma'lumotlar tuzilmalaridagi taraqqiyot har yili kamayib borayotgandek tuyuladimi? Sizningcha, biz ma'lumotlar tuzilmalarini tushunishda platoga erishdikmi yoki ba'zi katta yaxshilanishlar bo'ladimi? Ehtimol, hamma narsani butunlay o'zgartira oladigan aqlli g'oyalar bormi?

Moris: Biz an'anaviy arxitekturalar uchun ma'lumotlar tuzilmalarida platoga erishgan bo'lishimiz mumkin. Ammo yangi arxitekturalar uchun ma'lumotlar tuzilmalari hali ham juda istiqbolli sohadir. Agar siz, masalan, apparat tezlatgichlari uchun ma'lumotlar tuzilmalarini yaratmoqchi bo'lsangiz, u holda GPU uchun ma'lumotlar tuzilmalari CPU uchun ma'lumotlar tuzilmalaridan juda farq qiladi. Blokcheynlar uchun ma'lumotlar tuzilmalarini ishlab chiqishda siz ma'lumotlar qismlarini xeshlashingiz va keyin ularni shunga o'xshash narsaga qo'yishingiz kerak Merkle daraxti, qalbakilashtirishning oldini olish uchun. So'nggi paytlarda bu sohada faollik kuchaymoqda, ko'pchilik juda yaxshi ishlarni qilmoqda. Ammo menimcha, yangi arxitekturalar va yangi ilovalar yangi ma'lumotlar tuzilmalariga olib keladi. Eski ilovalar va an'anaviy arxitektura - endi tadqiqot uchun ko'p joy qolmasligi mumkin. Ammo agar siz yo'ldan qaytsangiz va chetlarga qarasangiz, asosiy oqim jiddiy qabul qilmaydigan aqldan ozgan narsalarni ko'rasiz - bu erda barcha hayajonli narsalar sodir bo'ladi.

Vitaliy: Shuning uchun, juda mashhur tadqiqotchi bo'lish uchun men o'z arxitekturamni ixtiro qilishim kerak edi :)

Moris: Siz boshqa birovning yangi arxitekturasini "o'g'irlashingiz" mumkin - bu juda oson ko'rinadi!

Braun universitetida ishlash

Vitaliy: Bizga bu haqda ko'proq ma'lumot bera olasizmi? Braun universitetiqayerda ishlaysiz? Axborot texnologiyalari kontekstida u haqida ko'p narsa ma'lum emas. Masalan, MIT haqida kamroq.

Maurice: Braun universiteti Qo'shma Shtatlardagi eng qadimgi universitetlardan biridir. Menimcha, faqat Garvard biroz kattaroq. Jigarrang - bu so'zning bir qismi Ayvi ligasi, bu sakkizta eng qadimgi universitetlarning to'plamidir. Garvard, Braun, Kornell, Yel, Kolumbiya, Dartmut, Pensilvaniya, Prinston. Bu qandaydir eski, kichik va biroz aristokratik universitet. Asosiy e'tibor liberal ta'limga qaratilgan. Bu MIT kabi bo'lishga intilmaydi, MIT juda ixtisoslashgan va texnikdir. Braun rus adabiyoti yoki klassik yunon tilini va, albatta, kompyuter fanini o'rganish uchun ajoyib joy. Bunda asosiy e’tibor keng qamrovli ta’limga qaratilgan. Aksariyat talabalarimiz Facebook, Apple, Google’ga boradilar – shuning uchun o‘quvchilarimiz sohada ish topishda muammoga duch kelmaydi deb o‘ylayman. Men Brownga ishga bordim, chunki avval Bostondagi Digital Equipment Corporation kompaniyasida ishlaganman. Bu ko'plab qiziqarli narsalarni ixtiro qilgan, ammo shaxsiy kompyuterlarning ahamiyatini inkor etgan kompaniya edi. Taqdiri og'ir kompaniya, asoschilari bir paytlar yosh inqilobchilar bo'lgan, ular hech narsani o'rganmaganlar va hech narsani unutmaganlar va shuning uchun ular taxminan o'n yil ichida inqilobchidan reaktsionerga aylanishdi. Ular shaxsiy kompyuterlar garajga - tashlandiq garajga tegishli, deb hazil qilishni yaxshi ko'rishardi. Ular yanada moslashuvchan kompaniyalar tomonidan yo'q qilingani aniq. Kompaniya muammoga duch kelgani ma'lum bo'lgach, men Bostondan bir soatcha tashqarida joylashgan Braun shahridagi do'stimga qo'ng'iroq qildim. O‘shanda men Bostonni tark etishni istamasdim, chunki boshqa universitetlarda ko‘p ochilganlar yo‘q edi. Bu kompyuter fanida hozirgidek ko'p ish o'rinlari bo'lmagan vaqt edi. Va Braunning ochilishi bor edi, men uyimni ko'chirishim shart emas edi, men oilamni ko'chirishim shart emas edi va men Bostonda yashashni juda yaxshi ko'raman! Shunday qilib, men Braunga borishga qaror qildim. Menga yoqdi. Talabalar ajoyib, shuning uchun men hech qachon boshqa joyga borishga harakat qilmaganman. Ta'til paytida men bir yil Microsoftda ishladim, bir yil Hayfadagi Technionga bordim va endi Algorandda bo'laman. Hamma joyda mening hamkasblarim ko'p, shuning uchun sinflarimizning jismoniy joylashuvi unchalik muhim emas. Lekin eng muhimi talabalar, ular bu erda eng zo'r. Men hech qachon boshqa joyga borishga harakat qilmaganman, chunki bu erda juda baxtliman.

Braunning Qo'shma Shtatlardagi shon-shuhratiga qaramay, u chet elda hayratlanarli darajada noma'lum. Ko'rib turganingizdek, men hozir bu holatni tuzatish uchun hamma narsani qilyapman.

Universitet va korporatsiya ichidagi tadqiqotlar o'rtasidagi farq

Vitaliy: Yaxshi, keyingi savol Raqamli uskunalar haqida. Siz u yerda tadqiqotchi sifatida edingiz. Katta kompaniyaning ilmiy-tadqiqot bo'limida ishlash va universitetda ishlash o'rtasidagi farq nima? Qanday afzalliklari va kamchiliklari bor?

Moris: Yigirma yil davomida men Microsoftda ishladim, Sun Microsystems, Oracle, Facebook va hozir Algorand xodimlari bilan yaqindan ishladim. Bularning barchasiga asoslanib, shuni aytmoqchimanki, kompaniyalarda ham, universitetlarda ham birinchi darajali tadqiqotlar olib borish mumkin. Muhim farq shundaki, kompaniyada siz hamkasblar bilan ishlaysiz. Agar to'satdan menda hali mavjud bo'lmagan loyiha g'oyasi paydo bo'lsa, men tengdoshlarimni bu yaxshi g'oya ekanligiga ishontirishim kerak. Agar men Braunda bo'lsam, o'quvchilarimga ayta olaman: keling, antigravitatsiya ustida ishlaylik! Ular yo boshqa birovga ketishadi yoki loyihani amalga oshirishadi. Ha, men moliya topishim kerak, grant arizasini yozishim kerak va hokazo. Har holda, har doim ko'p talabalar bo'ladi va siz bir tomonlama qaror qabul qilishingiz mumkin bo'ladi. Ammo universitetda siz o'z darajangizdagi odamlar bilan ishlamaysiz. Sanoat tadqiqotlari olamida siz avvalo barchani loyihangiz qabul qilishga arziydiganligiga ishontirishingiz kerak. Men hech kimga hech narsa buyurtma qila olmayman. Va bu ish usullarining ikkalasi ham qimmatlidir, chunki agar siz aqldan ozgan narsa ustida ishlayotgan bo'lsangiz va hamkasblaringizni ishontirish qiyin bo'lsa, aspirantlarni ishontirish osonroq bo'ladi - ayniqsa siz ularga pul to'layotgan bo'lsangiz. Agar siz katta tajriba va chuqur tajribani talab qiladigan ish ustida ishlayotgan bo‘lsangiz, unda sizga “yo‘q, men bu sohani tushunaman va sizning fikringiz yomon, bu ishlamaydi” deb ayta oladigan hamkasblar kerak. Bu vaqtni behuda sarflash nuqtai nazaridan juda foydali. Bundan tashqari, sanoat laboratoriyalarida hisobot yozish uchun ko'p vaqt sarflasangiz, universitetda bu vaqtni pul topishga sarflaysiz. Agar talabalar biror joyga borishlarini istasam, buning uchun pulni boshqa joydan topishim kerak. Va sizning universitetdagi mavqeingiz qanchalik muhim bo'lsa, pul yig'ish uchun ko'proq vaqt sarflashingiz kerak bo'ladi. Xo'sh, endi men nima uchun ishlayotganimni bilasiz - professional tilanchi! Nazr likopchalari bilan aylanib yurgan rohiblardan biri kabi. Umuman olganda, bu ikki faoliyat bir-birini to'ldiradi. Shuning uchun men har ikki dunyoda ham yashashga, oyoqlarimni erga tegizishga harakat qilaman.

Vitaliy: Aftidan, kompaniyani ishontirish boshqa olimlarni ishontirishdan ko'ra qiyinroq.

Maurice: Qiyinroq va yana ko'p. Bundan tashqari, turli sohalarda bu boshqacha: ba'zilari to'liq miqyosli tadqiqotlar olib boradilar, boshqalari esa o'z mavzulariga e'tibor berishadi. Agar men Microsoft yoki Facebook-ga borib: antigravitatsiya qilaylik, desam, ular buni qadrlashmaydi. Ammo agar men aspirantlarimga xuddi shu narsani aytsam, ular bir zumda ishga kirishishlari mumkin edi, garchi hozir menda muammolar bo'lsa ham - buning uchun pul topishim kerak. Ammo kompaniya maqsadlariga mos keladigan biror narsa qilishni xohlasangiz, u kompaniya tadqiqot qilish uchun juda yaxshi joy bo'lishi mumkin.

Hydra va SPTDC

Vitaliy: Mening savollarim tugayapti, keling, Rossiyaga bo'lajak sayohat haqida bir oz gaplashaylik.

Moris: Ha, men Sankt-Peterburgga qaytishni intiqlik bilan kutyapman.

Aleksey: Bu yil siz bilan birga bo'lganingizdan hursandman. Sankt-Peterburgga ikkinchi marta kelyapsiz, shunday emasmi?

Moris: Allaqachon uchinchi!

Aleksey: Tushundim, lekin SPTDC - albatta ikkinchisi. Oxirgi marta maktabga qo'ng'iroq qilishdi SPTCC, biz hozir bitta harfni o'zgartirdik (C dan D ga, Concurrent to Distributed) bu yil taqsimlangan hisoblash bilan bog'liq ko'proq sohalar borligini ta'kidlash uchun. Maktabdagi hisobotlaringiz haqida bir necha so'z ayta olasizmi va Gidra konferentsiyasi?

Moris: Maktabda men blokcheyn asoslari va u bilan nima qilishingiz mumkinligi haqida gaplashmoqchiman. Men shuni ko'rsatmoqchimanki, blokcheynlar bizga tanish bo'lgan ko'p tarmoqli dasturlarga juda o'xshash, ammo o'zlarining nuanslari bilan va bu farqlarni tushunish muhimdir. Agar siz oddiy veb-ilovada xatoga yo'l qo'ysangiz, bu shunchaki bezovta qiladi. Agar siz moliyaviy dasturga xato kodini yozsangiz, kimdir sizning barcha pullaringizni o'g'irlaydi. Bu mas'uliyat va oqibatlarning butunlay boshqacha darajalari. Men ish isboti, aqlli shartnomalar, turli blokcheynlar o'rtasidagi tranzaktsiyalar haqida bir oz gaplashaman.

Yonimda boshqa ma'ruzachilar ishlaydi, ular ham blokcheyn haqida aytadigan gaplari bor va biz hikoyalarimiz bir-biriga mos kelishi uchun bir-birimizni muvofiqlashtirishga kelishib oldik. Ammo muhandislik hisoboti uchun men keng auditoriyaga nima uchun blokcheynlar haqida eshitgan hamma narsaga ishonmaslik kerakligi, nima uchun blokcheynlar ajoyib soha ekanligi, u boshqa ma'lum g'oyalar bilan qanchalik mos kelishi va nima uchun biz jasorat bilan qarashimiz kerakligi haqida tushunarli tushuntirishni aytmoqchiman. kelajakka.

Aleksey: Bundan tashqari, shuni aytmoqchimanki, bu ikki yil oldin bo'lgani kabi, uchrashuv yoki foydalanuvchilar guruhi formatida bo'lmaydi. Biz maktab yaqinida kichik konferentsiya o'tkazishga qaror qildik. Sababi, Pyotr Kuznetsov bilan suhbatlashganimizdan so'ng, maktabda bor-yo'g'i yuz, balki 120 kishi bilan cheklanganligini angladik. Shu bilan birga, siz bilan muloqot qilishni, taqdimotlarda qatnashishni xohlaydigan va umuman mavzuga qiziqqan ko'plab muhandislar mavjud. Shuning uchun biz yangi konferentsiya tuzdik Gidra deb ataladi. Aytgancha, Hydra nima uchun har qanday fikr?

Moris: Chunki ettita ma'ruzachi bo'ladimi? Va ularning boshlari kesilishi mumkin va ularning o'rnida yangi dinamiklar o'sadimi?

Aleksey: Yangi ma'ruzachilarni etishtirish uchun ajoyib g'oya. Lekin, aslida, bu erda bir hikoya bor. Odissey haqidagi afsonani eslang, u o'rtasida suzib yurish kerak edi Scylla va Charybdis? Gidra Charybdisga o'xshaydi. Gap shundaki, men bir marta konferentsiyada nutq so'zladim va multithreading haqida gapirdim. Ushbu konferentsiyada faqat ikkita trek bor edi. Hisobotning boshida men zaldagi tomoshabinlarga endi Scylla va Charybdis o'rtasida tanlov borligini aytdim. Mening ruhiy hayvonim Charybdis, chunki Charybdisning boshlari ko'p va mening mavzuim ko'p tarmoqli. Konferentsiyalarning nomlari shunday paydo bo'ladi.

Har holda, bizda savollar va vaqt tugadi. Shunday qilib, do'stlar, ajoyib intervyu uchun rahmat va SPTDC School va Hydra 2019 da ko'rishguncha!

Moris bilan suhbatingizni 2019-yil 11-12-iyul kunlari Sankt-Peterburgda bo‘lib o‘tadigan Hydra 2019 konferensiyasida davom ettirishingiz mumkin. U hisobot bilan keladi "Blokcheynlar va taqsimlangan hisoblash kelajagi". Chiptalarni sotib olish mumkin rasmiy saytida.

Manba: www.habr.com

a Izoh qo'shish