"Чимээгүй байхаас хариулах нь амархан" - гүйлгээний санах ойн эцэг Морис Херлихитэй хийсэн гайхалтай ярилцлага

Морис Херлихи - хоёр эзэн Dijkstra шагналууд. Эхнийх нь ажиллахад зориулагдсан "Хүлээлтгүй синхрончлол" (Браун их сургууль) ба хоёр дахь, хамгийн сүүлийн үеийн, - "Гүйлгээний санах ой: Түгжээгүй мэдээллийн бүтцэд зориулсан архитектурын дэмжлэг" (Виржиниа технологийн их сургууль). Дийкстрагийн шагналыг ач холбогдол, нөлөө нь дор хаяж арав гаруй жилийн турш харагдаж байсан ажилд олгодог бөгөөд Морис бол энэ салбарын хамгийн алдартай мэргэжилтнүүдийн нэг юм. Тэрээр одоо Браун их сургуулийн профессороор ажилладаг бөгөөд догол мөртэй тэнцэх хэмжээний олон ололт амжилтад хүрсэн. Тэрээр одоо сонгодог тархсан тооцооллын хүрээнд блокчейн судалгаа хийж байна.

Өмнө нь Морис аль хэдийн Орост SPTCC-д ирсэн байсан (видео бичлэг хийх) болон Санкт-Петербург дахь JUG.ru Java хөгжүүлэгчдийн нийгэмлэгийн маш сайн уулзалт хийсэн (видео бичлэг хийх).

Энэхүү habrapost бол Морис Херлихитэй хийсэн гайхалтай ярилцлага юм. Энэ нь дараах сэдвүүдийг хэлэлцдэг.

  • Эрдэм болон үйлдвэрлэлийн хоорондын харилцан үйлчлэл;
  • Блокчейн судалгааны сан;
  • Шилдэг санаанууд хаанаас гардаг вэ? алдартай байдлын нөлөө;
  • Барбара Лисковын удирдлаган дор докторын зэрэг хамгаалсан;
  • Дэлхий олон цөмтийг хүлээж байна;
  • Шинэ ертөнц шинэ асуудлуудыг авчирдаг. NVM, NUMA болон архитектурыг хакердах;
  • Хөрвүүлэгч болон процессор, RISC vs CISC, хуваалцсан санах ой, мессеж дамжуулах;
  • Эмзэг олон урсгалт код бичих урлаг;
  • Оюутнуудад нарийн төвөгтэй олон урсгалт код бичихийг хэрхэн заах вэ;
  • "Олон процессор програмчлалын урлаг" номын шинэ хэвлэл;
  • Гүйлгээний санах ойг хэрхэн зохион бүтээсэн;   
  • Яагаад тархсан тооцооллын чиглэлээр судалгаа хийх нь зүйтэй вэ?
  • Алгоритм боловсруулах нь зогссон уу, яаж цаашаа явах вэ;
  • Браун их сургуульд ажиллах;
  • Их сургууль болон корпорацийн доторх судалгааны ялгаа;
  • Гидра ба SPTDC.

Ярилцлагыг дараах хүмүүс явуулна.

Виталий Аксенов - одоогоор IST Austria-д докторын зэрэг хамгаалсан, ITMO их сургуулийн Компьютерийн технологийн тэнхимийн ажилтан. Өрсөлдөөнт мэдээллийн бүтцийн онол практикийн чиглэлээр судалгаа хийдэг. IST-д ажиллахаасаа өмнө тэрээр профессор Петр Кузнецовын удирдлаган дор Парисын Дидро их сургууль, ITMO их сургуульд докторын зэрэг хамгаалсан.

Алексей Федоров - Хөгжүүлэгчдийн хурал зохион байгуулдаг Оросын JUG Ru группын продюсер. Алексей 50 гаруй хурлын бэлтгэл ажилд оролцсон бөгөөд түүний намтар нь Oracle (JCK, Java Platform Group) дахь хөгжүүлэлтийн инженерээс эхлээд Одноклассники дахь хөгжүүлэгчийн албан тушаал хүртэл бүх зүйлийг багтаасан болно.

Владимир Ситников - Netcracker-ийн инженер. Сүлжээний болон сүлжээний тоног төхөөрөмжийн удирдлагын үйл явцыг автоматжуулахад харилцаа холбооны операторуудын ашигладаг NetCracker OS-ийн гүйцэтгэл, өргөтгөх чадвар дээр арван жил ажилласан. Java болон Oracle мэдээллийн сангийн гүйцэтгэлийн асуудлыг сонирхож байна. PostgreSQL JDBC албан ёсны драйверын арав гаруй гүйцэтгэлийн сайжруулалтын зохиогч.

Академи болон үйлдвэрлэлийн хоорондын харилцан үйлчлэл

Алексей: Морис, та эрдэм шинжилгээний орчинд маш удаан ажилласан бөгөөд эхний асуулт бол эрдэм шинжилгээний болон үйлдвэрлэлийн салбарын харилцан үйлчлэл юм. Сүүлийн үед тэдний хоорондын харилцаа хэрхэн өөрчлөгдсөн талаар ярихгүй юу? 20-30 жилийн өмнө юу болсон, одоо юу болж байна вэ? 

Морис: Би арилжааны компаниудад сонирхолтой асуудал тулгардаг тул тэдэнтэй нягт хамтран ажиллахыг үргэлж хичээдэг. Дүрмээр бол тэд үр дүнгээ нийтлэх, дэлхийн хамтын нийгэмлэгт тулгамдсан асуудлынхаа талаар дэлгэрэнгүй тайлбарлах сонирхолгүй байдаг. Тэд зөвхөн эдгээр асуудлыг шийдэх сонирхолтой байдаг. Би ийм компаниудад хэсэг хугацаанд ажилласан. Би компьютерийн томоохон компани байсан Digital Equipment корпорацийн судалгааны лабораторид таван жил бүтэн цагаар ажилласан. Би долоо хоногт нэг өдөр Sun, Microsoft, Oracle дээр ажиллаж, Facebook дээр бага зэрэг ажилласан. Одоо би амралтынхаа амралтаар явах гэж байна (Америкийн их сургуулийн профессор зургаан жилд нэг удаа ийм чөлөө авахыг зөвшөөрдөг) Алгорандын, энэ бол Бостон дахь криптовалютын компани юм. Компаниудтай нягт хамтран ажиллах нь үргэлж таатай байдаг, учир нь та шинэ, сонирхолтой зүйлсийн талаар суралцдаг. Та бусдын аль хэдийн ажиллаж байгаа асуудлын шийдлийг аажмаар сайжруулахын тулд сонгосон сэдвээр нийтлэл нийтлэх эхний эсвэл хоёр дахь хүн байж болно.

Алексей: Энэ нь яаж болдгийг илүү дэлгэрэнгүй хэлж чадах уу?

Морис: Мэдээж. Би Дижитал тоног төхөөрөмжийн корпорацид ажиллаж байхдаа Эллиот Мосс бид хоёр гүйлгээний санах ойг зохион бүтээснийг та мэднэ. Хүн бүр мэдээллийн технологийг сонирхож эхэлсэн маш үр бүтээлтэй үе байсан. Зэрэгцээ байдал, үүнд олон цөмт систем хараахан байгаагүй. Sun болон Oracle-ийн өдрүүдэд би параллель өгөгдлийн бүтэц дээр маш их ажилласан. Фэйсбүүк дээр би тэдний блокчэйн төсөл дээр ажиллаж байсан бөгөөд энэ талаар ярих боломжгүй ч удахгүй олон нийтэд нээлттэй болно гэж найдаж байна. Ирэх жил би Algorand-д ухаалаг гэрээг судлах судалгааны бүлэгт ажиллах болно.

Алексей: Блокчэйн сүүлийн хэдэн жилд маш алдартай сэдэв болсон. Энэ нь таны судалгаанд тус болох уу? Магадгүй энэ нь тус салбарт үйл ажиллагаа явуулж буй компаниудаас буцалтгүй тусламж авах, эсвэл эх үүсвэрийг ашиглах боломжийг олгоход хялбар байх болов уу?

Морис: Би аль хэдийн Ethereum сангаас жижиг тэтгэлэг авсан. Блокчейн түгээмэл болсон нь оюутнуудад энэ чиглэлээр ажиллах урам зориг өгөхөд маш их тустай. Тэд үүнийг маш их сонирхож, оролцохдоо баяртай байдаг ч гаднаас нь харахад сэтгэл хөдөлгөм мэт санагдах судалгаа үнэхээр шаргуу хөдөлмөрлөдөг гэдгийг тэд анзаардаггүй. Гэсэн хэдий ч оюутнуудыг татахад туслахын тулд блокчэйн дээр энэ бүх нууцыг ашиглаж байгаадаа үнэхээр баяртай байна. 

Гэхдээ энэ нь бүгд биш юм. Би хэд хэдэн блокчейн стартапуудын зөвлөх зөвлөлд ажилладаг. Тэдний зарим нь амжилтанд хүрч магадгүй, зарим нь чадахгүй ч тэдний санааг харж, судалж, хүмүүст зөвлөгөө өгөх нь үргэлж маш сонирхолтой байдаг. Хүмүүст ямар нэгэн зүйл хийхгүй байхыг анхааруулах нь хамгийн сэтгэл хөдөлгөм зүйл юм. Олон зүйл эхэндээ сайхан санаа мэт санагдах ч үнэхээр тийм үү?

Блокчейн судалгааны сан

Виталий: Зарим хүмүүс ирээдүй нь блокчэйн болон түүний алгоритмд оршдог гэж боддог. Мөн бусад хүмүүс үүнийг зүгээр л нэг хөөс гэж хэлдэг. Та энэ талаар санал бодлоо хуваалцана уу?

Морис: Блокчэйн ертөнцөд болж буй олон зүйл буруу, зарим нь зүгээр л заль мэх, маш их зүйлийг хэтрүүлэн үнэлдэг. Гэсэн хэдий ч эдгээр судалгааг шинжлэх ухааны үндэслэлтэй үндэслэлтэй гэж бодож байна. Блокчэйн ертөнц үзэл суртлын ялгаагаар дүүрэн байгаа нь сэтгэлийн хөөрөл, хичээл зүтгэлийн түвшинг харуулж байна. Нөгөөтэйгүүр, энэ нь шинжлэх ухааны судалгаанд тийм ч ашигтай биш юм. Одоо, хэрэв та тодорхой алгоритмын дутагдлын талаар өгүүлсэн нийтлэл нийтлэх юм бол үр дүнд нь гарсан хариу үйлдэл нь үргэлж шинжлэх ухааны үндэслэлтэй байдаггүй. Ихэнхдээ хүмүүс сэтгэл хөдлөлөө гадагшлуулдаг. Миний бодлоор энэ талбарт ийм сэтгэл хөдөлгөх нь зарим хүмүүсийн сонирхлыг татахуйц мэт санагдаж болох ч эцсийн эцэст шинжлэх ухаан, инженерийн бодитой асуудлыг шийдвэрлэх шаардлагатай байна. Энд маш их компьютерийн шинжлэх ухаан байдаг.

Виталий: Тэгэхээр та блокчейн судалгааны үндэс суурийг тавихыг хичээж байна, тийм үү?

Морис: Би хатуу, шинжлэх ухаан, математикийн үндэслэлтэй сахилга баттай байх үндэс суурийг тавихыг хичээж байна. Асуудлын нэг хэсэг нь заримдаа та бусад хүмүүсийн хэт хатуу байр суурьтай зөрчилдөж, тэдгээрийг үл тоомсорлох явдал юм. Заримдаа хүмүүс намайг яагаад алан хядагчид, хар тамхины наймаачид л сонирхдог газар ажилладаг юм бэ гэж асуудаг. Ийм хариу үйлдэл нь таны үгийг сохроор давтдаг дагалдагчдын зан авиртай адил утгагүй юм. Үнэн дунд нь хаа нэгтээ байгаа гэж би бодож байна. Блокчейн нь нийгэм болон дэлхийн эдийн засагт гүн нөлөө үзүүлнэ. Гэхдээ орчин үеийн технологийн ачаар ийм зүйл болохгүй байх. Орчин үеийн технологиуд хөгжиж, ирээдүйд блокчэйн гэж нэрлэгддэг зүйл маш чухал болно. Энэ нь орчин үеийн блокчейн шиг харагдахгүй байж магадгүй, энэ бол нээлттэй асуулт юм.

Хэрэв хүмүүс шинэ технологи зохион бүтээвэл блокчэйн гэж нэрлэсээр байх болно. Яг л өнөөгийн Фортран хэл нь 1960-аад оны Фортран хэлтэй ямар ч холбоогүй мөртлөө хүн бүр үүнийг Фортран гэж нэрлэсээр байна. UNIX-ийн хувьд ч мөн адил. "Блокчэйн" гэж нэрлэгддэг зүйл нь хувьсгал хийх болно. Гэхдээ энэ шинэ блокчэйн нь өнөөдөр хүн бүрийн ашиглах дуртай зүйлтэй адил байх болно гэдэгт би эргэлзэж байна.

Шилдэг санаанууд хаанаас гардаг вэ? Алдартай байдлын нөлөө

Алексей: Блокчейн түгээмэл болсон нь шинжлэх ухааны үүднээс шинэ үр дүнд хүргэсэн үү? Илүү их харилцан үйлчлэл, илүү олон оюутан, илүү олон компани. Энэ нэр хүнд өссөний үр дүн аль хэдийн гарсан уу?

Морис: Хэн нэгэн надад нэлээд их мөнгө босгосон компанийн албан ёсны хуудас өгөхөд би үүнийг сонирхож эхэлсэн. Энэ тухай бичсэн Византийн генералуудын даалгавар, энэ нь би илүү сайн мэддэг. Ухуулах хуудас дээр бичсэн зүйл нь техникийн хувьд буруу байсан нь илт. Энэ бүхнийг бичсэн хүмүүс асуудлын цаад загварыг үнэхээр ойлгоогүй... гэтэл энэ компани маш их мөнгө босгосон. Үүний дараа компани энэ ухуулах хуудсыг илүү зөв хувилбараар чимээгүйхэн сольсон бөгөөд энэ компаний нэрийг би хэлэхгүй. Тэд эргэн тойронд байгаа бөгөөд маш сайн ажиллаж байна. Энэ үйл явдал намайг нэгдүгээрт, блокчэйн бол зүгээр л тархсан тооцооллын нэг хэлбэр гэдэгт итгүүлсэн. Хоёрдугаарт, элсэлтийн босго (дор хаяж дөрвөн жилийн өмнө) нэлээд доогуур байсан. Энэ салбарт ажиллаж байгаа хүмүүс их эрч хүчтэй, ухаалаг хүмүүс байсан ч шинжлэх ухааны бүтээл уншдаггүй байсан. Тэд мэдэгдэж байсан зүйлийг дахин зохион бүтээх гэж оролдсон бөгөөд үүнийг буруу хийсэн. Өнөөдөр жүжиг багассан.

Алексей: Энэ бол маш сонирхолтой, учир нь хэдэн жилийн өмнө бид өөр хандлагатай байсан. Хөтөч дээр суурилсан урд талын хөгжүүлэгчид арын хэсэгт аль хэдийн алдартай байсан бүх технологийг шинээр зохион бүтээсэн: систем бүтээх, тасралтгүй интеграцчилал гэх мэт зүйлсийг шинээр зохион бүтээсэн нь урд талын хөгжүүлэлттэй адил юм. 

Морис: Би зөвшөөрч байна. Гэхдээ энэ нь гайхах зүйл биш юм, учир нь жинхэнэ нээлтийн санаанууд үргэлж тогтсон нийгэмлэгийн гаднаас ирдэг. Тогтсон судлаачид, ялангуяа эрдэм шинжилгээний ажилтнууд үнэхээр шинэлэг зүйл хийх магадлал багатай. Өмнөх ажлынхаа үр дүнг бага зэрэг сайжруулсан тухай дараагийн чуулганд илтгэл бичихэд амархан. Чуулганд явах, найзуудтайгаа уулзах, ижил зүйлийн талаар ярилц. Мөн шинэлэг санааг гаргаж ирсэн хүмүүс бараг үргэлж гаднаас ирдэг. Тэд дүрэм мэдэхгүй, хэл мэдэхгүй ч гэсэн... Хэрэв та тогтсон нийгэмд байгаа бол шинэ зүйлд, ерөнхий дүр зурагт тохирохгүй зүйлд анхаарлаа хандуулахыг би танд зөвлөж байна. Нэг ёсондоо гадны, илүү шингэн хөгжлийг бидний аль хэдийн ойлгосон аргуудтай хослуулах оролдлого хийж болно. Эхний алхам бол шинжлэх ухааны үндэслэлийг бий болгохыг хичээ, дараа нь үүнийг шинэ нээлтийн санаануудад ашиглах боломжтой болгохыг хичээ. Блокчэйн нь шинэлэг, эвгүй санаа байхын тулд маш сайн гэж би бодож байна.

Алексей: Та яагаад ийм зүйл болсон гэж бодож байна вэ? Учир нь "гадна" хүмүүст нийгэмд байдаг тодорхой саад бэрхшээл байдаггүй гэж үү?

Морис: Энд нэг загвар болж байна. Хэрэв та уран зураг, ерөнхийдөө урлагийн импрессионистуудын түүхийг уншсан бол нэгэн цагт алдартай зураачид импрессионизмыг үгүйсгэдэг байв. Тэд энэ нь жаахан хүүхэд шиг гэж хэлсэн. Нэг үеийн дараа өмнө нь татгалзаж байсан энэ урлагийн төрөл стандарт болсон. Миний салбарт юу харж байна: блокчейн зохион бүтээгчид эрх мэдэл, нийтлэл, ишлэлийн индексийг нэмэгдүүлэх сонирхолгүй, зүгээр л сайн зүйл хийхийг хүсч байсан. Тэгээд тэд суугаад үүнийг хийж эхлэв. Тэдэнд тодорхой хэмжээний техникийн гүн дутмаг байсан ч үүнийг засах боломжтой. Хангалтгүй төлөвшсөн санаануудыг засаж, бэхжүүлэхээс илүү шинэ бүтээлч санаа гаргах нь илүү хэцүү байдаг. Эдгээр зохион бүтээгчдийн ачаар би одоо хийх зүйлтэй боллоо!

Алексей: Энэ нь гарааны бизнес болон хуучин төслүүдийн ялгаатай төстэй юм. Бид сэтгэлгээний олон хязгаарлалт, саад бэрхшээл, тусгай шаардлага гэх мэтийг өвлөн авдаг.

Морис: Сайн зүйрлэл бол тархсан тооцоолол юм. Блокчэйн гэдэг нь стартап, түгээлтийн тооцооллыг том, тогтсон компани мэтээр төсөөлөөд үз дээ. Тархсан тооцоололыг блокчейнтэй нэгтгэх шатандаа явж байна.

Барбара Лисковын удирдлаган дор докторын зэрэг хамгаалсан

Виталий: Бидэнд олон асуулт байна! Бид таны түүхийг судалж байгаад докторын зэрэгтэй холбоотой нэгэн сонирхолтой баримтыг олж мэдсэн. Тийм ээ, энэ нь нэлээд эрт байсан, гэхдээ энэ нь чухал сэдэв байх шиг байна. Та өөрийнхөө удирдлаган дор докторын зэрэг хамгаалсан Барбара Лисков! Барбара бол програмчлалын хэлний нийгэмлэгт маш сайн танигдсан бөгөөд ерөнхийдөө маш сайн мэддэг хүн юм. Таны судалгаа програмчлалын хэлний чиглэлээр хийгдсэн нь логик юм. Та хэрхэн зэрэгцээ тооцоололд шилжсэн бэ? Та яагаад сэдвээ өөрчлөхөөр шийдсэн бэ?

Морис: Тухайн үед Барбара болон түүний бүлэг зүгээр л тархсан тооцоололыг харж байсан нь маш шинэ санаа байсан юм. Түгээмэл тооцоолол нь дэмий зүйл, компьютер хоорондоо харилцах нь утгагүй гэж хэлэх хүмүүс ч байсан. Төвлөрсөн тооцоололоос ялгарах тархсан тооцоололд анхаарал хандуулдаг асуудлын нэг бол алдааг тэсвэрлэх чадвар юм. Маш их судалгаа хийсний дараа бид тархсан тооцооллын програмчлалын хэл нь атомын гүйлгээтэй байх ёстой гэж шийдсэн, учир нь алсын дуудлага амжилттай болно гэдэгт хэзээ ч итгэлтэй байж чадахгүй. Нэгэнт гүйлгээ хийгдэж байгаа бол гүйлгээний менежментийн асуудал үүсдэг. Дараа нь маш зэрэгцээ гүйлгээний өгөгдлийн бүтцийг олж авах талаар маш их ажил хийсэн. Тэгээд сургуулиа төгсөөд очсон Карнеги Меллон Тэгээд ажиллах сэдвээ хайж эхлэв. Тооцоолол нь бие даасан компьютерээс компьютерийн сүлжээ рүү шилжсэн гэж надад санагдав. Олон процессорууд нь дэвшлийн байгалийн үргэлжлэл байх болно - "олон цөмт" гэдэг үг хараахан байгаагүй. Би бодлоо: олон цөмт системийн хувьд атомын гүйлгээтэй тэнцэх хэмжээ юу вэ? Хэт том, хүнд учраас тогтмол гүйлгээ хийхгүй нь лавтай. Тэгээд л би санаагаа олсон юм шугаман байдал тэгээд л би хүлээхгүй синхрончлолыг бүхэлд нь гаргаж ирсэн. Энэ нь дундын санах ойтой олон процессорын системийн атомын гүйлгээний аналог гэж юу вэ гэсэн асуултад хариулах оролдлого байв. Өнгөц харахад энэ бүтээл тэс өөр мэт боловч үнэн хэрэгтээ нэг сэдвийн үргэлжлэл юм.

Дэлхий олон цөмтийг хүлээж байна

Виталий: Тэр үед олон цөмт компьютер маш цөөхөн байсан гэж та хэлсэн биз дээ?

Морис: Тэд зүгээр л тэнд байгаагүй. Нэг автобусанд үндсэндээ холбогдсон тэгш хэмтэй олон процессор гэж нэрлэгддэг хэд хэдэн төхөөрөмж байсан. Энэ нь тийм ч сайн ажилласангүй, учир нь шинэ компани үүнтэй төстэй зүйлийг бүтээх болгонд Intel олон процессороос давсан нэг процессор гаргадаг байсан.

Алексей: Эрт дээр үед энэ нь онолын судалгаа байсан гэсэн үг биш гэж үү?

Морис: Энэ бол онолын судалгаа биш, харин таамагласан судалгаа байсан. Энэ бүхэн нь олон теоремуудтай ажиллах тухай биш, харин бид тухайн үед байгаагүй архитектурын тухай таамаглал дэвшүүлсэн. Энэ бол судалгаа юм! Ямар ч компани ийм зүйл хийхгүй байсан; энэ бүхэн алс ирээдүйтэй холбоотой байсан. Үнэн хэрэгтээ 2004 он хүртэл жинхэнэ олон цөмт процессорууд гарч ирэх хүртэл ийм байсан. Процессорууд хэт халдаг тул та процессорыг бүр жижигрүүлж болох ч хурдан болгох боломжгүй. Үүнээс болж олон цөмт архитектурт шилжсэн. Тэгээд энэ нь бидний өнгөрсөн хугацаанд боловсруулсан бүх ойлголтыг гэнэт ашиглах болсон гэсэн үг юм.

Алексей: Яагаад олон цөмт процессорууд зөвхөн XNUMX-аад онд гарч ирсэн гэж та бодож байна вэ? Тэгвэл яагаад ийм оройтсон юм бэ?

Морис: Энэ нь техник хангамжийн хязгаарлалттай холбоотой. Intel, AMD болон бусад компаниуд процессорын хурдыг нэмэгдүүлэхэд маш сайн байдаг. Хэзээ нэгэн цагт процессорууд хангалттай жижиг болж, цагийн хурдыг нэмэгдүүлэх боломжгүй болсон тул процессорууд шатаж эхлэх болно. Та тэдгээрийг жижиг болгож чадна, гэхдээ илүү хурдан биш. Тэдний хүчин чадал юу вэ - маш жижиг процессорын оронд найм, арван зургаа, гучин хоёр процессорыг өмнө нь зөвхөн нэг нь багтаах боломжтой байсан хайрцагт багтаах боломжтой. Одоо та кэшийг хуваалцдаг тул тэдгээрийн хооронд олон урсгалтай, хурдан харилцах боломжтой болсон. Гэхдээ та тэднийг илүү хурдан ажиллуулахыг албадах боломжгүй - маш тодорхой хурдны хязгаарлалт байдаг. Тэд бага багаар сайжирсаар байгаа ч цаашид тийм ч их биш. Физикийн хуулиуд сайжруулахад саад болж байв.

Шинэ ертөнц шинэ асуудлуудыг авчирдаг. NUMA, NVM болон архитектурыг хакердах

Алексей: Маш үндэслэлтэй сонсогдож байна. Шинэ олон цөмт процессорууд шинэ асуудлууд гарч ирэв. Та болон танай хамт олон эдгээр асуудлуудыг хүлээж байсан уу? Магадгүй та тэдгээрийг урьдчилан судалсан байх? Онолын судалгаанд ийм зүйлийг урьдчилан таамаглах нь ихэвчлэн тийм ч амар байдаггүй. Асуудал гарсан үед таны болон танай хамт олны хүлээлтэд хэрхэн нийцсэн бэ? Эсвэл тэд цоо шинэ байсан бөгөөд та болон танай хамт олон гарч ирэх үед асуудлыг шийдвэрлэхэд маш их цаг зарцуулах шаардлагатай болсон уу?

Виталий: Би Алексейгийн асуултад нэмж хэлье: Та онолыг судалж байхдаа процессорын бүтцийг зөв таамаглаж байсан уу?

Морис: 100% биш. Гэхдээ миний хамт олон бид хоёр хуваалцсан санах ойтой олон цөмийг урьдчилан таамаглах ажлыг сайн хийсэн гэж бодож байна. Бид цоожгүй ажилладаг зэрэгцээ өгөгдлийн бүтцийг хөгжүүлэхэд бэрхшээлийг зөв таамагласан гэж бодож байна. Ийм өгөгдлийн бүтэц нь бүгд биш ч гэсэн олон программуудад чухал ач холбогдолтой байсан ч ихэнхдээ танд түгжигддэггүй өгөгдлийн бүтэц хэрэгтэй байдаг. Биднийг зохион бүтээхэд энэ нь утгагүй зүйл, цоожтой бүх зүйл сайн ажилладаг гэж олон хүн маргаж байв. Програмчлалын олон асуудал, өгөгдлийн бүтцийн асуудалд бэлэн шийдэл гарна гэж бид маш сайн таамаглаж байсан. гэх мэт илүү төвөгтэй асуудлууд бас байсан НУМАА - санах ойд жигд бус нэвтрэх. Үнэн хэрэгтээ, олон цөмт процессоруудыг зохион бүтээх хүртэл тэдгээр нь хэтэрхий тодорхой байсан тул тэдгээрийг тооцдоггүй байв. Судалгааны нийгэмлэг ерөнхийдөө урьдчилан таамаглах боломжтой асуултууд дээр ажиллаж байв. Тодорхой архитектуртай холбоотой зарим техник хангамжийн асуудлууд далавчинд хүлээх хэрэгтэй болсон - үнэндээ эдгээр архитектурын дүр төрх. Жишээлбэл, тэр үед GPU байхгүй байсан тул хэн ч GPU-д зориулсан өгөгдлийн бүтэц дээр ажиллаж байгаагүй. Хэдийгээр маш их ажил хийсэн SIMD, эдгээр алгоритмууд тохиромжтой техник хангамж бэлэн болмогц ашиглахад бэлэн болсон. Гэсэн хэдий ч бүх зүйлийг урьдчилан харах боломжгүй юм.

Алексей: Хэрэв би зөв ойлгож байгаа бол МУИС бол зардал, гүйцэтгэл болон бусад зүйлсийн хооронд буулт хийх нэг хэлбэр юм. NUMA яагаад ийм оройтсон талаар ямар нэгэн санаа байна уу?

Морис: Санах ойг үйлдвэрлэхэд ашигладаг техник хангамжийн асуудлаас болж NUMA байдаг гэж би бодож байна: бүрэлдэхүүн хэсгүүд хол байх тусам тэдгээрт хандах нь удааширдаг. Нөгөө талаас, энэхүү хийсвэрлэлийн хоёр дахь утга нь санах ойн жигд байдал юм. Тиймээс зэрэгцээ тооцооллын нэг онцлог нь бүх хийсвэрлэл бага зэрэг эвдэрсэн байдаг. Хэрэв хандалт бүрэн жигд байсан бол бүх санах ой ижил зайд байх байсан, гэхдээ энэ нь эдийн засгийн хувьд, магадгүй физикийн хувьд боломжгүй юм. Тиймээс энэ зөрчилдөөн үүсдэг. Хэрэв та програмаа санах ой нэгэн жигд байгаа юм шиг бичвэл энэ нь зөв байх болно. Буруу хариулт өгөхгүй гэдэг утгаараа. Гэхдээ түүний үзүүлбэр ч тэнгэрээс оддыг барьж чадахгүй. Үүний нэгэн адил, хэрэв та бичвэл спинлокууд Кэшийн шатлалыг ойлгохгүйгээр блоклох нь өөрөө зөв байх болно, гэхдээ та гүйцэтгэлийн талаар мартаж болно. Нэг ёсондоо та маш энгийн хийсвэрлэл дээр суурилсан программ бичих хэрэгтэй, гэхдээ энэ хийсвэрлэлийг өгсөн хүмүүсийг хуурах хэрэгтэй: чи хийсвэрлэлийн дор санах ойн шатлал байдаг гэдгийг мэдэх ёстой. та болон энэ санах ойн хооронд автобус, гэх мэт. Тиймээс тус тусдаа ашигтай хийсвэрлэлүүдийн хооронд зарим зөрчилдөөн байдаг бөгөөд энэ нь биднийг маш тодорхой, прагматик асуудалд хүргэдэг.

Виталий: Ирээдүйн талаар юу хэлэх вэ? Дараа нь процессорууд хэрхэн хөгжихийг та таамаглаж чадах уу? Үүний нэг хариулт нь гүйлгээний санах ой гэсэн санаа байдаг. Танд өөр зүйл байгаа байх.

Морис: Цаашид хэд хэдэн томоохон сорилт байна. Нэг нь уялдаатай санах ой бол гайхалтай хийсвэрлэл боловч онцгой тохиолдлуудад задарч эхэлдэг. Жишээлбэл, МУИС бол нэг төрлийн санах ой байгаа мэт дүр эсгэж болох зүйлийн амьд жишээ юм. Үнэндээ үгүй, бүтээмж таныг уйлуулна. Хэзээ нэгэн цагт архитекторууд нэг санах ойн архитектурын санаагаа орхих хэрэгтэй болно, та үүрд дүр эсгэж чадахгүй. Хэрэглэхэд хялбар, үндсэн техник хангамжийг үр ашигтай болгох хангалттай хүчирхэг програмчлалын шинэ загварууд хэрэгтэй болно. Энэ бол маш хэцүү буулт юм, учир нь хэрэв та программистуудад техник хангамжид үнэхээр хэрэглэгддэг архитектурыг үзүүлбэл тэд галзуурна. Энэ нь хэтэрхий төвөгтэй бөгөөд зөөврийн биш юм. Хэрэв та хэтэрхий энгийн интерфэйсийг танилцуулбал гүйцэтгэл муу байх болно. Тиймээс үнэхээр том олон цөмт процессоруудад хэрэглэгдэх ашигтай програмчлалын загваруудыг гаргахын тулд маш хэцүү олон хувилбаруудыг хийх шаардлагатай болно. Мэргэжилтнээс өөр хүн 2000 цөмтэй компьютер дээр программчлах чадвартай гэдэгт би итгэлгүй байна. Хэрэв та маш нарийн мэргэшсэн эсвэл шинжлэх ухааны тооцоолол, криптограф эсвэл үүнтэй төстэй зүйл хийхгүй бол үүнийг хэрхэн зөв хийх нь тодорхойгүй хэвээр байна. 

Өөр нэг ижил төстэй газар бол тусгай архитектур юм. График хурдасгуурууд нь удаан хугацааны туршид бий болсон боловч эдгээр нь тусгай төрлийн компьютерийг авч, тусгай чип дээр ажиллуулах сонгодог жишээ болсон юм. Энэ нь өөрийн гэсэн сорилтуудыг нэмж өгдөг: ийм төхөөрөмжтэй хэрхэн харилцах, түүнийг хэрхэн програмчлах зэрэг. Саяхан би энэ нутагт тулгамдаж буй асуудлууд дээр ажиллаж байна санах ойн тооцооллын ойролцоо. Та жижиг процессор аваад түүнийгээ асар том санах ойд нааснаар санах ой нь L1 кэшийн хурдаар ажиллаж, дараа нь дараах төхөөрөмжтэй холбогдоно. TPU - процессор таны санах ойн цөмд шинэ ажлуудыг ачаалах завгүй байна. Энэ төрлийн өгөгдлийн бүтэц, харилцааны протоколыг зохион бүтээх нь бас нэг сонирхолтой жишээ юм. Тиймээс захиалгат процессорууд болон техник хангамжууд нэлээд удаан хугацаанд сайжирсаар байх болно.

Алексей: Тогтворгүй санах ойн тухай юу (тогтворгүй санах ой)?

Морис: Өө, энэ бол бас нэг гайхалтай жишээ юм! NVM нь өгөгдлийн бүтэц гэх мэт зүйлсийг бидний харах хандлагыг ихээхэн өөрчлөх болно. Тогтворгүй санах ой нь нэг ёсондоо бүх зүйлийг хурдасгана гэж амлаж байна. Гэхдээ ихэнх процессорууд, кэшүүд болон регистрүүд тогтворгүй хэвээр байгаа тул энэ нь амьдралыг хөнгөвчлөхгүй. Та ослын дараа эхлэх үед таны төлөв байдал болон санах ойн байдал нь ослын өмнөхтэй яг ижил биш байх болно. Би NVM дээр ажиллаж байгаа хүмүүст маш их талархаж байна - зөв байдлын нөхцөлийг олохын тулд судлаачид удаан хугацаанд хийх зүйл их байх болно. Кэш болон регистрүүдийн агуулгууд алдагдсан боловч үндсэн санах ой нь бүрэн бүтэн хэвээр байх үед эвдрэлийг даван туулж чадвал тооцоолол зөв болно.

Хөрвүүлэгч болон процессор, RISC vs CISC, хуваалцсан санах ой, мессеж дамжуулах

Владимир: Зааврын багцын үүднээс "компилятор ба процессор" гэсэн хоёрдмол байдлын талаар та юу гэж бодож байна вэ? Мэдэхгүй хүмүүст тайлбарлая: хэрэв бид хазайсан санах ой эсвэл үүнтэй төстэй зүйл рүү очвол бид маш энгийн багц командуудыг ашиглаж, шинэ давуу талыг ашиглах цогц кодыг хөрвүүлэгчээс хүсч болно. Эсвэл бид өөр замаар явж болно: нарийн төвөгтэй зааврыг хэрэгжүүлж, процессороос зааврыг дахин эрэмбэлэх, түүнтэй хамт бусад залруулга хийхийг хүс. Та энэ талаар юу гэж бодож байна вэ?

Морис: Надад энэ асуултын хариулт үнэхээр алга. Энэ мэтгэлцээн дөрвөн арван жилийн турш үргэлжилж байна. Энэ хооронд үе үе байсан товчилсон командын багц ба төвөгтэй иргэний дайныг хэд хэдэн тушаалын дагуу хийдэг байв. Хэсэг хугацаанд RISC-ийн хүмүүс ялсан боловч дараа нь Intel хөдөлгүүрүүдээ дахин бүтээж, бага хэмжээний зааварчилгааг дотооддоо ашиглаж, бүрэн багцыг нь гадагш экспортолжээ. Энэ бол шинэ үеийнхэн бүр өөр өөрийнхөөрөө буулт хийж, шийдвэрээ гаргах ёстой сэдэв байх. Эдгээрийн аль нь илүү дээр болохыг таамаглахад маш хэцүү байдаг. Тиймээс миний хийсэн аливаа таамаглал тодорхой хугацаанд үнэн, дараа нь хэсэг хугацаанд дахин худал, дараа нь дахин үнэн байх болно.

Алексей: Зарим санаанууд хэдэн арван жилийн турш ялж, дараа нь алдах нь салбарын хувьд хэр нийтлэг байдаг вэ? Ийм үечилсэн өөрчлөлтийн өөр жишээ бий юу?

Морис: Түгээмэл тооцоололын тухайд итгэдэг хүмүүс байдаг хуваалцсан санах ой мөн итгэдэг хүмүүс мессеж солилцох. Эхлээд тархсан тооцоололд параллель тооцоолол гэдэг нь мессеж дамжуулах гэсэн үг юм. Дараа нь хэн нэгэн дундын санах ойтой программчлах нь хамаагүй хялбар болохыг олж мэдсэн. Эсрэг тал нь хуваалцсан санах ой нь хэтэрхий төвөгтэй, учир нь түгжигдэх гэх мэт зүйлийг шаарддаг тул мессеж дамжуулахаас өөр зүйл байдаггүй хэл рүү шилжих нь зүйтэй гэж хэлэв. Хэн нэгэн үүнээс гарсан зүйлийг хараад, "Хөөх, энэ мессежийн хэрэгжилт нь хуваалцсан санах ойтой их төстэй харагдаж байна, учир нь та маш олон жижиг модулиудыг бий болгодог, тэд бие бие рүүгээ мессеж илгээдэг. түгжигдэх"Дэлхийн санах ойн мэдээллийн санг илүү сайн болгоцгооё!" Энэ бүхэн дахин дахин давтагдаж, аль нэг талынх нь зөв гэж хэлэх аргагүй. Талуудын аль нэг нь ямагт давамгайлах болно, учир нь тэдний аль нэг нь бараг ялангуут ​​хүмүүс нөгөөг нь сайжруулах арга замыг дахин дахин бодож олдог.

Хэврэг олон урсгалт код бичих урлаг

Алексей: Энэ их сонирхолтой юм. Жишээлбэл, бид код бичихдээ ямар ч програмчлалын хэлээс үл хамааран ихэвчлэн уншиж, бичиж болохуйц нүд гэх мэт хийсвэрлэлүүдийг үүсгэх хэрэгтэй болдог. Гэвч үнэн хэрэгтээ зарим физик түвшинд энэ нь өөр өөр компьютер болон бусад төхөөрөмжүүдийн хооронд техник хангамжийн автобусаар мессеж илгээж байгаа мэт харагдаж болно. Хийсвэрлэлийн хоёр түвшинд зэрэг ажил өрнөж байгаа нь харагдаж байна.

Морис: Хамтын санах ой нь автобус, кэш гэх мэт мессеж дамжуулахад суурилдаг нь үнэхээр үнэн. Гэхдээ мессеж дамжуулах аргыг ашиглан програм бичихэд хэцүү байдаг тул техник хангамж нь таныг ямар нэгэн жигд санах ойтой гэж зориудаар худал хэлдэг. Энэ нь гүйцэтгэл муудаж эхлэхээс өмнө энгийн, зөв ​​програм бичихэд хялбар болгоно. Дараа нь та хэлэх болно: кэштэй найзлах цаг болсон бололтой. Дараа нь та кэшийн байршлын талаар санаа зовж эхлэх бөгөөд тэндээс энэ нь явдаг. Нэг ёсондоо та хийсвэрлэлийг эвдэж байна: энэ нь зүгээр л хавтгай, жигд санах ой биш гэдгийг та мэдэж байгаа бөгөөд энэ мэдлэгээ кэшэд ээлтэй програм бичихэд ашиглах болно. Энэ бол бодит асуудалд та хийх ёстой зүйл юм. Танд өгсөн сайхан, энгийн, сайхан хийсвэр ойлголт болон үндсэн техник хангамжийн аймшигтай төвөгтэй хэрэгжилтийн хоорондох энэхүү зөрчилдөөн нь хүн бүр өөр өөрийнхөөрөө буулт хийх болно. Надад олон процессор ба синхрончлолын тухай ном байгаа бөгөөд нэг удаа би өгөгдлийн бүтцийн тухай бүлэг бичих гэж байсан. java.util.concurrent. Хэрэв та тэдгээрийг харвал, гэх мэт орхигдуулсан жагсаалт Эдгээр нь гайхалтай урлагийн бүтээлүүд юм. (Редакторын тэмдэглэл: Java хэлийг мэддэг хүмүүс ядаж хэрэгжилтийг нь харах хэрэгтэй ConcurrentSkipListMap, линкээс үзэж болно API и эх код). Гэхдээ миний бодлоор ийм өгөгдлийн бүтэц нь циркийн залуу баавгайн нүхэн дээгүүр олсоор гүйж байгаатай адил зүйл учраас оюутнуудад үзүүлэх нь хариуцлагагүй хэрэг болно. Хэрэв та жижиг нарийн ширийн зүйлийг ч өөрчлөх юм бол бүх бүтэц нурах болно. Энэ код нь төгс бичигдсэн учраас маш хурдан бөгөөд гоёмсог боловч өчүүхэн төдий өөрчлөлт нь бүрэн бүтэлгүйтэлд хүргэнэ. Хэрэв би энэ кодыг оюутнуудад жишээ болгон өгвөл тэд шууд: Би ч бас чадна гэж хэлэх болно. Тэгээд ямар нэг онгоц сүйрч, эсвэл цөмийн реактор дэлбэрч, би тэдэнд буруу цагт хэт их мэдээлэл өгсөн буруутан болно.

Алексей: Би бага байхдаа Дуг Лигийн эх кодыг судлах гэж олон удаа оролдсон. java.util.concurrent, энэ нь нээлттэй эх сурвалж учраас тэнд юу болж байгааг олоход маш хялбар бөгөөд ойлгохыг хичээдэг. Энэ нь тийм ч сайн болсонгүй: бусад хүмүүс үүнийг өөрөөр хийж байхад Даг яагаад ийм зүйл хийхээр шийдсэн нь ихэвчлэн ойлгомжгүй байдаг. Та эдгээр зүйлийг оюутнууддаа хэрхэн тайлбарладаг вэ? Жишээлбэл, хатуу алгоритмын нарийн ширийн зүйлийг тайлбарлах зөв арга бий юу? Та үүнийг яаж хийх вэ?

Морис: Зургийн багш нар юун түрүүнд санаж явдаг нэгэн хэвшмэл үгтэй байдаг: хэрвээ та Пикассо шиг зурахыг хүсвэл эхлээд энгийн бодит зураг зурж сурах хэрэгтэй, зөвхөн дүрмийг мэдэж байж л тэдгээрийг зөрчиж эхэлнэ. Хэрэв та тэр дороо дүрэм зөрчиж эхэлбэл замбараагүй болно. Эхлээд би оюутнуудад гүйцэтгэлийн талаар санаа зовохгүйгээр энгийн, зөв ​​код бичихийг заадаг. Миний хэлэх гэж байгаа зүйл бол цаг хугацааны нарийн төвөгтэй асуудлууд энд нуугдаж байгаа тул кэшийн талаар санаа зовох хэрэггүй, санах ойн загварт санаа зовох хэрэггүй, зүгээр л бүх зүйл зөв ажиллаж байгаа эсэхийг шалгаарай. Энэ нь аль хэдийн хангалттай хэцүү болсон: орчин үеийн програмчлал нь өөрөө, ялангуяа шинэ оюутнуудын хувьд тийм ч хялбар биш юм. Тэд хэрхэн зөв програм бичих талаар зөн совинтой болоход би: эдгээр хоёр spinlock-ийн хэрэгжилтийг хараарай: нэг нь маш удаан, хоёр дахь нь тийм ч сайн биш, гэхдээ илүү дээр юм. Гэсэн хэдий ч математикийн хувьд хоёр алгоритм ижил байна. Үнэн хэрэгтээ тэдний нэг нь кэшийн байршлыг ашигладаг. Тэдний нэг нь локал кэштэй өгөгдөл дээр ажилладаг бол нөгөө нь автобусаар дахин дахин үйлдлүүдийг гүйцэтгэдэг. Хэрэв та үүнийг юу болохыг ойлгохгүй, хийсвэрлэлийг хэрхэн эвдэж, үндсэн бүтцийг нь харахаа мэдэхгүй бол үр ашигтай код бичиж чадахгүй. Гэхдээ та үүнийг шууд хийж эхлэх боломжгүй. Үүнийг шууд хийж эхэлдэг, өөрсдийнхөө суут ухаанд итгэдэг хүмүүс байдаг, ихэвчлэн зарчмыг ойлгодоггүйгээс болж муугаар төгсдөг. Хэн ч Пикассо шиг зураг зурдаггүй, эсвэл Даг Ли коллежийг дөнгөж төгссөн эхний долоо хоногтоо хөтөлбөр бичдэггүй. Ийм мэдлэгт хүрэхийн тулд олон жил шаардагдана.

Алексей: Та асуудлыг хоёр хэсэгт хуваадаг: эхнийх нь зөв, хоёр дахь нь гүйцэтгэл үү?

Морис: Яг. Тэгээд яг энэ дарааллаар. Асуудлын нэг хэсэг нь шинэ оюутнууд зөв байх нь хэцүү гэдгийг ойлгохгүй байх явдал юм. Эхлээд харахад тэд: энэ нь мэдээжийн хэрэг зөв, үүнийг хурдасгах л үлдлээ. Тиймээс заримдаа би тэдэнд анх буруу байсан алгоритмыг зөв юм шиг хэлдэг.

Оюутнуудад нарийн төвөгтэй олон урсгалт код бичихийг хэрхэн заах вэ

Алексей: Тэд баригдсаныг мэдэрч чадах эсэхийг харахын тулд уу?

Морис: Заримдаа би буруу алгоритм санал болгох болно гэдгийг би үргэлж урьдчилан анхааруулдаг. Та хүмүүсийг хуурах ёсгүй. Би тэдэнд мэдээллийг бага зэрэг авахыг санал болгож байна. Хэрэв би ямар нэгэн зүйл хэлээд: "Хараач, энэ нь мэдээжийн хэрэг зөв" гэж хэлвэл энэ нь хаа нэгтээ тэд таныг хуурахыг оролдож байгаа дохио бөгөөд та асуулт асууж эхлэх хэрэгтэй. Дараа нь би суралцагчдыг байнга асуулт асуухад нь урамшуулахыг хичээж, дараа нь “Хэрэв бид бүх зүйлийг байгаагаар нь үлдээвэл юу болох вэ?” гэж зөвлөдөг. Тэгээд тэд тэр даруй алдаагаа олж хардаг. Гэхдээ оюутнуудад зөв байдлын талаар санаа зовох хэрэгтэй гэдэгт итгүүлэх нь эхлээд харахад хэцүү мэт санагдахаас хамаагүй хэцүү юм. Эдгээр оюутнуудын ихэнх нь ахлах сургуульдаа програмчлалын туршлагатай ирдэг, зарим нь тэнд ажилд орж, программчлал хийсэн байдаг бөгөөд тэд бүгд өөртөө итгэлтэйгээр дүүрэн байдаг. Энэ бол арми шиг зүйл юм: гарч ирж буй асуудлыг шийдвэрлэхэд тэвчээртэй хандахыг итгүүлэхийн тулд эхлээд тэдний сэтгэл санааг өөрчлөх хэрэгтэй. Эсвэл Буддын шашны лам нартай адил байж болох юм: эхлээд тэд зөв байдлын талаар эргэцүүлэн бодож сурдаг бөгөөд зөв байдлын талаар тайлбарлах арга замыг ойлгосны дараа дараагийн түвшинд шилжиж, гүйцэтгэлийн талаар санаа зовж эхэлдэг.

Алексей: Өөрөөр хэлбэл, заримдаа та оюутнуудад ажиллахгүй жишээг үзүүлдэг бөгөөд үүний ачаар тэд асуудлын мөн чанарыг ойлгож байгаа эсэх, буруу код, буруу үр дүнг олж чадах эсэх талаар санал хүсэлт авдаг. Тэгэхээр оюутнууд таныг ихэвчлэн баярлуулдаг уу эсвэл гунигтай болгодог уу?

Морис: Оюутнууд бараг үргэлж алдаагаа олж хардаг. Хэрэв тэд хэтэрхий удаан хайвал би тэргүүлэх асуултуудыг асуудаг бөгөөд хэрэв та тэднийг хэзээ ч хуурч мэхлэхгүй бол тэд таны үгсийг туйлын үнэн гэж ухаалгаар хүлээж авах болно гэдгийг ойлгох нь чухал юм. Дараа нь тэд хичээлийн цагаар зөөврийн компьютер дээрээ фэйсбүүк уншиж байгаад уйдаж, унтаж эхэлнэ. Харин тэднийг хуурч мэхлэнэ гэж урьдчилан хэлэхэд тэд ямар нэгэн арга заль мэдрэхгүй бол тэнэг харагдах болно, тэд илүү сонор сэрэмжтэй болдог. Энэ нь янз бүрийн байдлаар сайн. Оюутнууд зөвхөн асуудлын талаарх ойлголтоо эргэлзэхээс гадна багшийн эрх мэдэлд эргэлзэхийг хүсч байна. Оюутан хүссэн үедээ гараа өргөөд: Би чиний сая хэлсэн зүйлийг буруу гэж бодож байна гэсэн санаа юм. Энэ бол сурах чухал хэрэгсэл юм. Би оюутнуудын хэнийг нь ч чимээгүй суугаад дотроо бодоосой гэж хүсэхгүй байна: энэ бүхэн дэмий хоосон зүйл мэт санагдаж байгаа ч гараа өргөх нь дэндүү аймшигтай, ямар ч байсан тэр профессор учраас түүний хэлсэн бүхэн үнэн. Тиймээс хэрэв хэлсэн бүхэн үнэн байх албагүй гэдгийг урьдчилан анхааруулвал материалд илүү анхаарал хандуулах хүсэл эрмэлзэлтэй байдаг. Гараа өргөөд асуулт асуух нь зөв гэдгийг ойлгуулж байна. Таны асуулт тэнэг эсвэл гэнэн сонсогдож магадгүй ч хамгийн сайн асуултууд ингэж гарч ирдэг.

Алексей: Маш сонирхолтой. Ихэвчлэн хүмүүс профессороос асуулт асуухыг зөвшөөрдөггүй сэтгэлзүйн ямар нэгэн саад тотгортой байдаг. Ялангуяа өрөөнд маш олон хүн байгаа бол таны тэнэг асуултыг хэлэлцэх нь энэ бүх хүмүүсийн цагийг авах болно гэж хүн бүр айдаг. Үүнтэй тэмцэх ямар нэгэн заль мэх байна уу?

Морис: Би байнга зогсоод сонгодог асуулт асуудаг. Мэдэгдэл зөв байх эсэх, эсвэл хэлэлцэж буй асуудлыг хэрхэн шийдвэрлэх талаар. Энэ нь ялангуяа хичээл эхлэхэд хүмүүс өчүүхэн зүйл ч хэлэхээс ичдэг гол үйлдэл юм. Та оюутнуудаас асуулт асуугаад цааш юу ч хэлэхгүй. Чимээгүй байна, хүн бүр бага зэрэг хурцаддаг, хурцадмал байдал нэмэгддэг, дараа нь гэнэт хэн нэгэн үүнийг тэсвэрлэж чадахгүй, эвдэрч, хариултаа хэлдэг. Та ийм байдлаар нөхцөл байдлыг эргүүлж байна: чимээгүй байх нь хариулахаас илүү хэцүү бөгөөд тохиромжгүй болно! Энэ бол сурган хүмүүжүүлэх стандарт заль мэх юм. Үүнийг яаж хийхийг дэлхийн багш бүр мэддэг байх ёстой.

Алексей: Одоо бид энэ ярилцлагын гайхалтай гарчигтай байна: "Чимээгүй байхаас хариулах нь илүү хялбар".

Виталий: Дахин асууя. Та топологийн нотолгоо дээр ажиллаж байна. Түгээмэл тооцоолол, топологи хоёр огт өөр зүйл учраас та яаж үүнд оролцсон юм бэ!

Морис: Тэнд далд холбоо бий. Оюутан байхдаа математикт суралцаж байхдаа цэвэр математикт суралцдаг байсан. Сургуулиа төгсөх хүртэл би компьютерийг огт сонирхдоггүй байсан бөгөөд ажил хайх зайлшгүй шаардлагатай тулгарсан. Оюутан байхдаа би алгебрийн топологи судалсан. гэдэг асуудал дээр ажиллаж байхдаа олон жилийн дараа "k-Set гэрээний асуудал", Би асуудлыг загварчлахын тулд график ашигласан бөгөөд тэр үед би шийдлийг олсон мэт санагдаж байсан. Та зүгээр суугаад тооллогыг тойрох хэрэгтэй байсан. Энэ графикаас тохирох хариултыг олохыг хичээгээрэй. Гэхдээ миний алгоритм ажиллахгүй байсан: тэр үүрд тойрог хэлбэрээр гүйх болно. Харамсалтай нь энэ бүхнийг бүх компьютерийн эрдэмтдийн мэддэг графикийн онолын албан ёсны хэлээр тайлбарлах боломжгүй байв. Тэгээд дараа нь би олон жилийн өмнө топологийн хичээл дээр бид энэ ойлголтыг ашиглаж байсныг санаж байна "энгийн цогцолбор", энэ нь графикуудыг илүү өндөр хэмжээстүүдэд нэгтгэсэн ерөнхий дүгнэлт юм. Дараа нь би өөрөөсөө асуув: Хэрэв бид асуудлыг энгийн цогцолбороор дахин томъёолвол юу болох вэ? Энэ бол гол мөч болсон. Илүү хүчирхэг формализм ашигласнаар асуудал гэнэт илүү хялбар болно. Хүмүүс үүний эсрэг график ашиглан удаан хугацаанд тэмцсэн боловч юу ч хийж чадаагүй. Одоо ч тэд чадахгүй - зөв хариулт нь алгоритм биш, харин асуудлыг шийдэх боломжгүй гэдгийг нотлох баримт болж хувирав. Өөрөөр хэлбэл, ийм алгоритм зүгээр л байдаггүй. Гэхдээ боломжгүй байдлын нотолгоо бүр энгийн цогцолборууд дээр эсвэл хүмүүсийн энгийн цогцолборыг авч үздэггүй мэт дүр эсгэсэн зүйлс дээр үндэслэсэн. Аливаа зүйлийг шинэ нэрээр нэрлэснээрээ тэр мөн чанараа алддаггүй.

Виталий: Та зүгээр л азтай байсан гэж үү?

Морис: Азаас гадна бас хүсэл эрмэлзэл. Энэ нь та өмнө нь сурсан "хэрэггүй" зүйлээ мартаж болохгүй гэсэн үг юм. Илүү их хэрэггүй зүйл сурах тусам шинэ асуудалтай тулгарах үед та илүү олон санаа гаргаж чадна. Энэ төрлийн зөн совингийн хэв маягийг тааруулах нь чухал, учир нь... Үүнийг хийцгээе, энэ бол гинжин хэлхээ юм: эхлээд би графикууд огт ажиллахгүй эсвэл огт ажиллахгүй байгааг олж мэдсэн, энэ нь найм дахь үйл явдлуудаас нэг зүйлийг санагдуулсан. олон жилийн өмнө болон миний оюутны жилүүд, бид эдгээр бүх энгийн цогцолборуудыг судалж байсан үе. Энэ нь эргээд хуучин топологийн сурах бичгээ олж толгойдоо ачаалах боломжийг олгосон. Гэхдээ тэр хуучин мэдлэг байгаагүй бол би анхны асуудлыг шийдэхэд хэзээ ч ахиц гарахгүй байсан.

“Олон процессорын програмчлалын урлаг” номын шинэ хэвлэл

Алексей: Та номынхоо талаар хэдэн үг хэллээ. Та олон урсгалын тухай дэлхийн хамгийн алдартай номыг бичсэн нь хамгийн нууц биш байх. "Олон процессор програмчлалын урлаг". Энэ нь аль хэдийн 11 жилийн настай бөгөөд тэр цагаас хойш дөнгөж худалдаанд гарсан байна  шинэчилсэн дахин хэвлэх. Хоёр дахь хэвлэл гарах уу?

Морис: Чи асуусан чинь сайн хэрэг! Энэ нь тун удахгүй, гурван сарын дараа болно. Өөр хоёр зохиолч байна, бид илүү их материал нэмж, салаа/нэгдэх параллелизмын хэсгийг сайжруулж, MapReduce дээр хэсэг бичиж, олон шинэ зүйл нэмж, шаардлагагүй зүйлсийг хаясан - бичих үед маш сонирхолтой зүйл байсан. анхны хэвлэл, гэхдээ одоо байхгүй байна. Үр дүн нь маш нухацтай шинэчлэгдсэн ном байв.

Алексей: Бүх зүйл аль хэдийн хийгдсэн, үүнийг суллах л үлдсэн үү?

Морис: Хэдэн бүлэгт бага зэрэг ажил хэрэгтэй хэвээр байна. Манай нийтлэгч (миний бодлоор биднийг аль хэдийн үзэн яддаг) бид илүү хурдан ажиллах ёстой гэсэн мессежийг хүргэхийг хичээсээр байна. Бид хуваарь ёсоороо нэлээд хоцорч байна. Онолын хувьд бид энэ номыг хэдэн жилийн өмнө хийж болох байсан.

Алексей: Зул сарын баяраас өмнө номын шинэ хувилбарыг авах боломж байна уу?

Морис: Энэ бол бидний зорилго! Гэхдээ би ялалтыг маш олон удаа зөгнөсөн болохоор хэн ч надад итгэхээ больсон. Та ч бас энэ асуудалд надад нэг их итгэх хэрэггүй байх.

Алексей: Ямар ч байсан энэ бол гайхалтай мэдээ. Номын анхны хэвлэл нь надад маш их таалагдсан. Та намайг шүтэн бишрэгч гэж хэлж болно.

Морис: Шинэ хэвлэл та бүхний халуун сэтгэлд нийцнэ гэж найдаж байна, баярлалаа!

Гүйлгээний санах ойг хэрхэн зохион бүтээсэн бэ?

Виталий: Дараагийн асуулт бол гүйлгээний санах ойн тухай юм. Миний ойлгож байгаагаар та энэ салбарт анхдагч хүн, ийм юм бодохгүй байгаа тэр үед та үүнийг зохион бүтээсэн. Та яагаад энэ салбарт шилжихээр шийдсэн бэ? Гүйлгээ яагаад танд чухал санагдсан бэ? Хэзээ нэгэн цагт тэдгээрийг техник хангамжид хэрэгжүүлнэ гэж та бодож байсан уу?

Морис: Би гүйлгээний талаар сургуулиа төгссөн цагаасаа л мэддэг болсон.

Виталий: Тийм ээ, гэхдээ эдгээр нь өөр өөр гүйлгээ юм!

Морис: Би Эллиотт Мосстой хамт хог хаягдлыг хаахгүйгээр цуглуулж байсан. Бидний асуудал бол санах ойн хэдэн үгийг атомаар солихыг хүсч байсан бөгөөд дараа нь алгоритмууд маш энгийн болж, ядаж зарим нь илүү үр дүнтэй болох болно. Ашиглаж байна харьцуулж, солих нь ачаалах холбоос/дэлгүүрийн нөхцөлтЗэрэгцээ архитектураар хангагдсан бол ямар нэг зүйл хийх боломжтой, гэхдээ энэ нь маш үр ашиггүй, муухай юм, учир нь та шууд бус давхаргын асуудлыг шийдэх хэрэгтэй болно. Би санах ойн үгсийг өөрчлөхийг хүсч байгаа бөгөөд би зөвхөн нэг заагчийг сольж чадах тул солих хэрэгтэй, тиймээс тэд лавлахтай төстэй бүтэц рүү чиглүүлэх хэрэгтэй. Техник хангамжийг нь нэгэн зэрэг бичлэг хийх боломжтой болгож өөрчилвөл ямар сайхан байх бол гэж бид ярилцсан. Эллиотт үүнийг анзаарсан бололтой: хэрэв та кэшийн уялдаа холбоотой протоколуудыг харвал тэдгээр нь шаардлагатай ихэнх функцийг аль хэдийн хангасан байдаг. Өөдрөг гүйлгээнд кэш уялдаа холбоотой протокол нь цаг хугацааны зөрчилтэй байгааг анзаарч, кэш нь хүчингүй. Хэрэв та кэш дээрээ гүйлгээ хийж, зөрчилдөөнийг илрүүлэхийн тулд уялдаа холбоотой протоколын механизмыг ашиглавал юу болох вэ? Техник хангамжийн архитектурыг төлөвлөхөд хялбар байсан. Тиймээс бид үүнийг бичсэн хамгийн анхны хэвлэл гүйлгээний санах ойн тухай. Яг тэр үед миний ажиллаж байсан Digital Equipment Corporation компани Альфа хэмээх 64 битийн шинэ процессор бүтээж байсан. Тэгээд би очиж, Альфа хөгжүүлэлтийн группт бидний гайхалтай гүйлгээний санах ойн талаар илтгэл тавьсан бөгөөд тэд асуув: Хэрэв бид энэ бүгдийг процессорт шууд нэмбэл манай компани хэр их орлого олох вэ? Би үүнд ямар ч хариулт өгсөнгүй, учир нь би технологич, маркетингийн мэргэжилтэн биш. Надад хариулах зүйл үнэхээр байсангүй. Тэд намайг юу ч мэдэхгүй байна гэж нэг их гайхсангүй.

Виталий: Олон тэрбум! Зүгээр л хэдэн тэрбумыг хэлээрэй!

Морис: Тийм ээ, би үүнийг хэлэх ёстой байсан. Одоо гарааны бизнес болон бүх зүйлийн эрин үед би бизнес төлөвлөгөө хэрхэн бичихээ мэддэг болсон. Та боломжит ашгийнхаа талаар бага зэрэг худлаа хэлж болно. Гэхдээ тэр үед энэ нь гэнэн санагдаж байсан болохоор би зүгээр л "Мэдэхгүй" гэж хэлсэн. Хэрэв та гүйлгээний санах ойн тухай нийтлэлийн түүхийг харвал жилийн дараа хэд хэдэн лавлагаа гарч ирснийг анзаарах болно, дараа нь арав орчим жилийн турш хэн ч энэ нийтлэлийг огт иш татаагүй болно. 2004 онд жинхэнэ олон цөм гарч ирэх үед ишлэлүүд гарч ирэв. Хүмүүс зэрэгцээ код бичих нь мөнгө олох боломжтойг олж мэдээд шинэ судалгаа эхэлсэн. Рави Ражвар нийтлэл бичсэн, энэ нь ямар нэгэн байдлаар гүйлгээний санах ой гэсэн ойлголтыг үндсэн урсгалд нэвтрүүлсэн. (Редакторын тэмдэглэл: Энэ нийтлэлийн хоёр дахь хувилбар нь 2010 онд гарсан бөгөөд үнэ төлбөргүй байдаг PDF хэлбэрээр). Гэнэт хүмүүс энэ бүгдийг хэрхэн ашиглаж болохыг, цоожтой уламжлалт алгоритмуудыг хэрхэн хурдасгаж болохыг ойлгов. Өмнө нь зүгээр л нэг сонирхолтой эрдэм шинжилгээний асуудал мэт санагдаж байсан сайн жишээ. Тийм ээ, хэрэв та тэр үед надаас энэ бүхэн ирээдүйд чухал байх болов уу гэж асуусан бол би: мэдээжийн хэрэг, гэхдээ яг хэзээ нь тодорхойгүй байна гэж хэлэх байсан. Магадгүй 50 жилийн дараа? Практикт энэ нь ердөө арван жил болж хувирсан. Ямар нэг юм хийчихээд арван жилийн дараа хүмүүс анзаарах нь маш сайхан байдаг.

Яагаад тархсан тооцооллын чиглэлээр судалгаа хийх нь зүйтэй вэ?

Виталий: Хэрэв бид шинэ судалгааны талаар ярих юм бол уншигчдад юу гэж зөвлөх вэ - тархсан тооцоолол эсвэл олон цөмт, яагаад? 

Морис: Өнөө үед олон цөмт процессор авахад хялбар байдаг ч жинхэнэ тархсан системийг бий болгоход хэцүү байна. Би докторын ажлаас өөр зүйл хийхийг хүссэн учраас тэдэн дээр ажиллаж эхэлсэн. Энэ бол миний шинэ оюутнуудад өгдөг зөвлөгөө юм: диссертацийнхаа үргэлжлэлийг бүү бич, шинэ чиглэл рүү явж үзээрэй. Мөн түүнчлэн, олон урсгалтай нь хялбар байдаг. Би орноосоо босохгүйгээр зөөврийн компьютер дээрээ өөрийн сэрээгээ ажиллуулж туршиж болно. Гэхдээ би гэнэт жинхэнэ хуваарилагдсан системийг бий болгоё гэвэл маш их ажил хийх, оюутнуудыг татах гэх мэт. Би залхуу хүн тул олон цөм дээр ажиллахыг илүүд үздэг. Олон цөмт систем дээр туршилт хийх нь тархсан систем дээр туршилт хийхээс илүү хялбар байдаг, учир нь тэнэг тархсан системд ч хяналт тавих шаардлагатай олон хүчин зүйл байдаг.

Виталий: Та одоо юу хийж байна, блокчэйн судалж байна уу? Та аль нийтлэлд хамгийн түрүүнд анхаарах ёстой вэ?

Морис: Саяхан гарч ирсэн маш сайн нийтлэл, Би өөрийн шавь Викрам Сарафтай, ялангуяа ярилцлага хийх зорилгоор бичсэн Tokenomcs бага хурал Гурван долоо хоногийн өмнө Парист. Энэ бол Ethereum-ийг олон урсгалтай болгохыг санал болгож буй практик тархсан системийн тухай нийтлэл юм. Одоогоор ухаалаг гэрээнүүд (блокчэйн дээр ажилладаг код) дараалсан байдлаар хийгдэж байна. Үйл явцыг хурдасгахын тулд таамаглалын гүйлгээг ашиглах арга замын талаар бид өмнө нь нийтлэл бичсэн. Бид програм хангамжийн гүйлгээний санах ойноос олон санаа авч, хэрэв та эдгээр санааг Etherium виртуал машины нэг хэсэг болговол бүх зүйл илүү хурдан ажиллах болно гэж хэлсэн. Гэхдээ үүний тулд гэрээнд өгөгдлийн зөрчил байхгүй байх шаардлагатай. Тэгээд бид бодит амьдрал дээр ийм зөрчилдөөн байдаггүй гэж таамагласан. Гэвч бидэнд үүнийг олж мэдэх арга байгаагүй. Дараа нь бидний гарт бараг арав гаруй жилийн бодит гэрээний түүх байгаа юм шиг санагдав, тиймээс бид Ethereum blockchain-ийг хаяж, өөрөөсөө асуув: Хэрэв эдгээр түүхэн бичлэгүүдийг зэрэгцүүлэн гүйцэтгэвэл юу болох вэ? Бид хурдны мэдэгдэхүйц өсөлтийг олж мэдсэн. Ethereum-ийн эхний өдрүүдэд хурд нь маш их өссөн боловч өнөөдөр бүх зүйл арай илүү төвөгтэй болсон, учир нь гэрээнүүд цөөхөн, цуваа үүсгэх шаардлагатай өгөгдөлтэй холбоотой зөрчилдөөн үүсэх магадлал өндөр болсон. Гэхдээ энэ бүхэн бодит түүхийн тоо баримттай туршилтын ажил юм. Блокчэйний сайхан тал нь бүх зүйлийг үүрд санаж байдаг тул бид цаг хугацааг буцааж, кодыг ажиллуулахдаа өөр өөр алгоритм ашигласан бол юу болох байсныг судлах боломжтой. Бидний шинэ санаа урьд нь хүмүүст хэр таалагдах байсан бол? Бүх зүйлийг хянаж, бүртгэдэг зүйл байдаг тул ийм судалгаа хийхэд илүү хялбар, илүү тааламжтай байдаг. Энэ нь аль хэдийн алгоритм боловсруулахаас илүү социологитой төстэй зүйл юм.

Алгоритм боловсруулах ажил зогссон уу, яаж цаашаа явах вэ?

Виталий: Сүүлийн онолын асуултын цаг боллоо! Өрсөлдөх чадвартай мэдээллийн бүтцэд ахиц дэвшил жил бүр буурч байгаа мэт санагдаж байна уу? Та бид өгөгдлийн бүтцийн талаарх ойлголтдоо өндөрлөгт хүрсэн гэж бодож байна уу эсвэл томоохон сайжруулалт хийх болов уу? Магадгүй бүх зүйлийг бүрэн өөрчилж чадах ухаалаг санаанууд байдаг болов уу?

Морис: Бид уламжлалт архитектурын өгөгдлийн бүтцийн өндөрлөгт хүрсэн байж магадгүй. Гэхдээ шинэ архитектурт зориулсан өгөгдлийн бүтэц нь маш ирээдүйтэй салбар хэвээр байна. Хэрэв та техник хангамжийн хурдасгуурын өгөгдлийн бүтцийг бий болгохыг хүсч байвал GPU-ийн өгөгдлийн бүтэц нь CPU-ийн өгөгдлийн бүтцээс тэс өөр байна. Блокчейн өгөгдлийн бүтцийг боловсруулахдаа өгөгдлийн хэсгүүдийг хэш болгож, дараа нь үүнтэй төстэй зүйлд оруулах хэрэгтэй Мерклийн мод, хуурамчаар үйлдэхээс урьдчилан сэргийлэх. Сүүлийн үед энэ чиглэлээр үйл ажиллагаа идэвхжиж, олон хүн маш сайн ажил хийж байна. Гэхдээ шинэ архитектур, шинэ програмууд нь шинэ өгөгдлийн бүтцийг бий болгоно гэж би бодож байна. Өвгөн хэрэглээний программууд ба уламжлалт архитектур - хайгуул хийхэд тийм ч их зай байхгүй байж магадгүй юм. Гэхдээ хэрвээ та замаасаа салж, захаас цааш харвал гол урсгал нь тийм ч их ач холбогдол өгдөггүй галзуу зүйлсийг олж харах болно - тэнд бүх сэтгэл хөдөлгөм зүйл тохиолддог.

Виталий: Тиймээс маш алдартай судлаач болохын тулд би өөрийн архитектурыг зохион бүтээх хэрэгтэй болсон :)

Морис: Та хэн нэгний шинэ архитектурыг "хулгайлж" чадна - энэ нь илүү хялбар юм шиг санагдаж байна!

Браун их сургуульд ажилладаг

Виталий: Та бидэнд энэ талаар дэлгэрэнгүй ярьж өгөхгүй юу? Браун их сургуульчи хаана ажилладаг вэ? Мэдээллийн технологийн хүрээнд түүний талаар тийм ч их мэдээлэл байдаггүй. Жишээлбэл, MIT-ээс бага.

Морис: Браун их сургууль нь АНУ-ын хамгийн эртний их сургуулиудын нэг юм. Миний бодлоор зөвхөн Харвард л арай хөгшин. Браун бол нэг хэсэг юм Ivy League, энэ нь хамгийн эртний найман их сургуулийн цуглуулга юм. Харвард, Браун, Корнелл, Йел, Колумб, Дартмут, Пенсильвани, Принстон. Энэ бол хуучин, жижиг, арай язгууртны их сургууль юм. Гол анхаарал нь либерал урлагийн боловсрол юм. Энэ нь MIT шиг байхыг хичээдэггүй, MIT бол маш нарийн мэргэшсэн, техник юм. Браун бол Оросын уран зохиол эсвэл сонгодог грек хэл, мэдээж компьютерийн шинжлэх ухааныг судлахад тохиромжтой газар юм. Энэ нь цогц боловсролд анхаарлаа хандуулдаг. Манай оюутнуудын ихэнх нь Facebook, Apple, Google-д очдог тул манай оюутнууд энэ салбарт ажил олоход асуудалгүй гэж бодож байна. Би өмнө нь Бостон дахь Digital Equipment Corporation-д ажиллаж байсан тул Браун руу ажиллахаар явсан. Энэ бол олон сонирхолтой зүйлийг зохион бүтээсэн компани байсан ч хувийн компьютерийн ач холбогдлыг үгүйсгэдэг. Хүнд хувь заяатай компани, үүсгэн байгуулагчид нь нэгэн цагт залуу хувьсгалчид байсан бөгөөд тэд юу ч сураагүй, юу ч мартаагүй тул арав орчим жилийн дотор хувьсгалчдаас реакц болж хувирав. Тэд гаражид хувийн компьютерууд байдаг гэж хошигнох дуртай байсан - мэдээжийн хэрэг орхигдсон гаражид. Тэднийг илүү уян хатан компаниуд устгасан нь илт харагдаж байна. Компани асуудалтай байгаа нь тодорхой болоход би Бостоноос нэг цагийн зайтай байдаг Браун дахь найз руугаа залгасан. Би тэр үед Бостоноос явахыг хүсээгүй, учир нь бусад их дээд сургуулиудад нээх их сургууль байдаггүй байсан. Компьютерийн шинжлэх ухаанд одоогийнх шиг тийм олон ажлын байр байдаггүй байсан үе. Тэгээд Браун нээлттэй байсан, би гэр орноо нүүлгэх шаардлагагүй, гэр бүлээ нүүлгэх шаардлагагүй, би Бостонд амьдрах үнэхээр дуртай! Ингээд л би Браун руу явахаар шийдсэн. Би үүнд дуртай. Оюутнууд бол гайхалтай, тиймээс би өөр газар очиж үзээгүй. Амралтынхаа хугацаанд би Майкрософтод нэг жил ажилласан, Хайфа дахь Technion-д нэг жил явсан, одоо би Алгоранд байх болно. Би хаа сайгүй олон хамт ажиллагсадтай тул манай ангиудын физик байршил тийм ч чухал биш юм. Гэхдээ хамгийн гол нь оюутнууд, тэд энд хамгийн шилдэг нь. Би энд үнэхээр аз жаргалтай байгаа болохоор өөр газар очиж үзээгүй.

Гэсэн хэдий ч Браун АНУ-д алдар нэрд гарсан ч түүнийг гадаадад танихгүй нь гайхмаар юм. Таны харж байгаагаар би энэ байдлыг засахын тулд боломжтой бүх зүйлийг хийж байна.

Их сургууль болон корпорацийн доторх судалгааны ялгаа

Виталий: За, дараагийн асуулт бол Дижитал тоног төхөөрөмжийн тухай юм. Та тэнд судлаачаар ажиллаж байсан. Томоохон компанийн R&D хэлтэст ажиллах, их сургуульд ажиллах хоёр юугаараа ялгаатай вэ? Ямар давуу болон сул талуудтай вэ?

Морис: Би хорин жилийн турш Майкрософтод ажиллаж, Sun Microsystems, Oracle, Facebook, одоо Algorand зэрэг компанийн ажилтнуудтай нягт хамтран ажилласан. Энэ бүхний үндсэн дээр компанид ч, их дээд сургуулиудад ч нэгдүгээр зэрэглэлийн судалгаа явуулах боломжтой гэдгийг хэлмээр байна. Хамгийн чухал ялгаа нь компанид та хамт ажиллагсадтайгаа ажилладаг. Хэрэв надад хараахан байхгүй байгаа төслийн санаа гэнэт гарч ирвэл би үе тэнгийнхэндээ үүнийг сайн санаа гэж итгүүлэх ёстой. Хэрэв би Браун сургуульд байгаа бол оюутнууддаа: таталцлын эсрэг ажиллацгаая! Тэд өөр хэн нэгний төлөө явах эсвэл төсөл хэрэгжүүлэх болно. Тийм ээ, би санхүүжилт олох хэрэгтэй болно, би тэтгэлэгт өргөдөл бичих хэрэгтэй болно, гэх мэт. Ямар ч тохиолдолд олон оюутан байх болно, та нэг талын шийдвэр гаргах боломжтой болно. Гэхдээ их сургуульд та өөрийнхөө түвшний хүмүүстэй ажиллахгүй байх магадлалтай. Аж үйлдвэрийн судалгааны ертөнцөд та эхлээд таны төслийг хэрэгжүүлэх нь зүйтэй гэж хүн бүрт итгүүлэх хэрэгтэй. Би хэнд ч юу ч захиалж чадахгүй. Эдгээр ажлын хоёр арга хоёулаа үнэ цэнэтэй, учир нь хэрэв та үнэхээр галзуу зүйл дээр ажиллаж байгаа бол хамт ажиллагсад тань итгүүлэхэд хэцүү бол төгсөх ангийн оюутнуудыг итгүүлэх нь илүү хялбар байдаг, ялангуяа та тэдэнд мөнгө төлж байгаа бол. Хэрэв та маш их туршлага, гүнзгий мэдлэг шаардсан зүйл дээр ажиллаж байгаа бол "үгүй ээ, би энэ тал дээр ойлгосон, таны санаа муу байна, энэ нь ажиллахгүй" гэж хэлж чадах хамт олон хэрэгтэй. Энэ нь цаг хугацаа алдах тал дээр маш ашигтай. Түүнчлэн, хэрэв та үйлдвэрлэлийн лабораторид тайлан бичихэд их цаг зарцуулдаг бол их сургуульд мөнгө олох гэж энэ цагийг өнгөрөөдөг. Оюутнууд хаа нэгтээ явъя гэвэл би өөр газраас мөнгө олох хэрэгтэй. Их сургуульд таны байр суурь хэдий чинээ чухал байна төдий чинээ мөнгө босгоход илүү их цаг зарцуулах болно. Тэгэхээр та одоо миний юунд ажилладагийг мэдэж байгаа - мэргэжлийн гуйлгачин! Өргөлийн таваг бариад алхдаг лам нарын нэг шиг. Ерөнхийдөө эдгээр хоёр үйл ажиллагаа нь бие биенээ нөхөж байдаг. Тиймдээ ч хоёр ертөнцөд хөлөө дарж, амьдрахыг хичээдэг.

Виталий: Компанийг итгүүлэх нь бусад эрдэмтдийг итгүүлэхээс хэцүү юм шиг санагддаг.

Морис: Илүү хэцүү, илүү их. Түүнээс гадна өөр өөр чиглэлээр энэ нь өөр өөр байдаг: зарим нь бүрэн хэмжээний судалгаа хийдэг бол зарим нь сэдэв дээрээ анхаарлаа хандуулдаг. Хэрэв би Майкрософт эсвэл Facebook дээр очоод: таталцлын эсрэг хийцгээе гэвэл тэд үүнийг бараг үнэлэхгүй байх болно. Гэхдээ би төгсөх ангийн оюутнууддаа яг ижил зүйлийг хэлвэл тэд шууд ажилд орох магадлалтай, гэхдээ одоо надад асуудал гарах болно - эцэст нь би үүнд мөнгө олох хэрэгтэй байна. Гэхдээ та компанийн зорилгод нийцсэн ямар нэг зүйл хийхийг хүсч байвал тэр компани судалгаа хийхэд маш сайн газар байж чадна.

Гидра ба SPTDC

Виталий: Миний асуултууд дуусч байгаа тул удахгүй Орос руу хийх аяллын талаар жаахан ярилцъя.

Морис: Тийм ээ, би Санкт-Петербургт буцаж ирэхийг тэсэн ядан хүлээж байна.

Алексей: Энэ жил тантай хамт байгаадаа баяртай байна. Та хоёр дахь удаагаа Санкт-Петербургт ирж байна, тийм ээ?

Морис: Аль хэдийн гурав дахь нь!

Алексей: Би ойлгож байна, гэхдээ SPTDC - мэдээж хоёр дахь нь. Сүүлд сургууль руу залгасан SPTCC, бид одоо нэг үсгийг (C-ээс D, Concurrent to Distributed) өөрчилсөн бөгөөд энэ жил тархсан тооцоололтой холбоотой илүү олон салбар байгааг онцлон тэмдэглэв. Сургууль дээр хийсэн тайлангийнхаа талаар хэдэн үг хэлнэ үү Гидрагийн хурал?

Морис: Сургууль дээр би блокчэйний үндсүүд болон түүгээр юу хийж болох талаар ярихыг хүсч байна. Блокчейн нь бидний сайн мэддэг олон урсгалт програмчлалтай маш төстэй боловч өөрийн гэсэн онцлог шинж чанартай бөгөөд эдгээр ялгааг ойлгоход чухал гэдгийг харуулахыг хүсч байна. Хэрэв та ердийн вэб програм дээр алдаа гаргасан бол энэ нь зүгээр л залхаах болно. Хэрэв та санхүүгийн программ дээр алдаатай код бичвэл хэн нэгэн таны бүх мөнгийг хулгайлах нь гарцаагүй. Эдгээр нь огт өөр түвшний хариуцлага, үр дагавар юм. Би ажлын баталгааны тухай, ухаалаг гэрээний тухай, янз бүрийн блокчейн хоорондын гүйлгээний талаар бага зэрэг ярих болно.

Миний хажууд блокчэйний талаар хэлэх үгтэй бусад илтгэгчид ажиллах бөгөөд бидний түүхүүд хоорондоо сайн зохицож байхын тулд бид хоорондоо уялдаа холбоотой ажиллахаар тохиролцсон. Гэхдээ инженерийн тайлангийн хувьд би блокчейн талаар сонссон болгондоо яагаад итгэх ёсгүй, блокчейн бол яагаад агуу талбар юм, энэ нь бусад мэдэгдэж буй санаатай хэрхэн нийцдэг, яагаад бид зоригтойгоор хайх ёстой талаар ойлгомжтой тайлбарлахыг хүсч байна. ирээдүй рүү.

Алексей: Үүнээс гадна, энэ нь хоёр жилийн өмнөх шиг уулзалт эсвэл хэрэглэгчийн бүлгийн хэлбэрээр явагдахгүй гэдгийг хэлмээр байна. Сургуулийн ойролцоо жижиг хурал хийхээр болсон. Учир нь бид Петр Кузнецовтой харилцсаны дараа сургууль ердөө зуу, магадгүй 120 хүнээр хязгаарлагддаг гэдгийг ойлгосон. Үүний зэрэгцээ тантай харилцах, илтгэлд оролцох, ерөнхийдөө сэдвийг сонирхож буй инженерүүд маш олон байдаг. Энэ шалтгааны улмаас бид шинэ хурал зохион байгууллаа Гидра гэж нэрлэдэг. Дашрамд хэлэхэд, Hydra яагаад ямар нэгэн санаа байна уу?

Морис: Яагаад гэвэл долоон илтгэгч байх юм уу? Тэдний толгойг тайрч, оронд нь шинэ чанга яригч өсөх үү?

Алексей: Шинэ чанга яригчдыг өсгөх сайхан санаа. Гэхдээ үнэндээ энд нэг түүх бий. Одиссейгийн тухай домог санаж, тэр хооронд завиар явах ёстой байсан Скилла ба Чарибдис? Гидра бол Чарибдис шиг зүйл юм. Түүх нь нэг удаа би хурал дээр үг хэлж, олон урсгалын талаар ярьж байсан. Энэ чуулганд хоёрхон зам байсан. Мэдээллийн эхэнд би танхимд цугларсан хүмүүст Скилла, Чарибдис хоёрын аль нэгийг сонгох боломжтой гэж хэлсэн. Чарибдис олон толгойтой, миний сэдэв олон урсгалтай учраас миний сүнс Чарибдис юм. Чуулгануудын нэр ингэж гарч ирдэг.

Ямар ч байсан бидний асуулт, цаг хугацаа дууссан. Сайхан ярилцлага өгсөнд баярлалаа найзуудаа, SPTDC сургууль болон Hydra 2019 дээр уулзацгаая!

Та 2019 оны 11-р сарын 12-2019-ны өдрүүдэд Санкт-Петербургт болох Hydra XNUMX бага хурлын үеэр Мористэй яриагаа үргэлжлүүлж болно. Тэр тайлантай ирнэ "Блокчейн ба тархсан тооцооллын ирээдүй". Тасалбар худалдаж авах боломжтой албан ёсны вэбсайт дээр.

Эх сурвалж: www.habr.com

сэтгэгдэл нэмэх