"Bersivdan ji bêdeng mayî hêsantir e" - Hevpeyvînek mezin bi bavê bîranîna danûstendinê, Maurice Herlihy re

Maurice Herlihy - xwediyê du Xelatên Dijkstra. Ya yekem ji bo xebatê ye "Senkronîzasyona Bê-Li bendê" (Zanîngeha Brown) û duyemîn, nûtirîn, - "Bîra Veguheztinê: Piştgiriya Mîmarî Ji Bo Strukturên Daneyên Bê Qefle" (Zanîngeha Teknîkî ya Virginia). Xelata Dijkstra ji bo karên ku girîngî û bandora wan bi kêmî ve deh sal e ku li ber çavan e tê dayîn û eşkere ye ku Maurice yek ji pisporên herî navdar ên vî warî ye. Ew niha li Zanîngeha Brown profesor e û xwedan destkeftiyên paragrafî ye. Naha ew bi lêkolîna zincîra blokê di çarçoweya komputera dabeşkirî ya klasîk de mijûl e.

Berê, Maurice ji bo SPTCC berê hatibû Rûsyayê (kasêta vîdyoyê) û civînek hêja ya civata pêşdebirker Java JUG.ru li St.kasêta vîdyoyê).

Ev habrapost bi Maurice Herlihy re hevpeyvînek mezin e. Ew mijarên jêrîn nîqaş dike:

  • Têkiliya di navbera akademî û pîşesaziyê de;
  • Weqfa ji bo lêkolîna blockchain;
  • Fikrên serketinê ji ku têne? Bandora populerbûnê;
  • PhD di bin rêberiya Barbara Liskov;
  • Dinya li benda pir-core ye;
  • Cîhana nû, pirsgirêkên nû. NVM, NUMA û hakkirina mîmarî;
  • Berhevkar li hember CPU, RISC li hember CISC, bîranîna hevbeş li hember derbaskirina peyamê;
  • Hunera nivîsandina koda pir-tehlî ya nazik;
  • Meriv çawa fêrî xwendekaran dike ka meriv çawa koda pir-mijalek tevlihev binivîse;
  • Çapa nû ya pirtûka "Hûnera Bernamesaziya Pir Prosesor";
  • Bîra danûstendinê çawa hate afirandin?   
  • Çima hêja ye ku di warê komputera belavbûyî de lêkolîn were kirin;
  • Ma pêşkeftina algorîtmayan rawestiyaye, û meriv çawa bijî;
  • Kar li Zanîngeha Brown;
  • Cûdahiya di navbera lêkolîna zanîngehê û pargîdanî de;
  • Hydra û SPTDC.

Hevpeyvîn ji hêla:

Vitaly Aksenov - niha li IST Avusturya post-doc û karmendek Beşa Teknolojiyên Computer li Zanîngeha ITMO ye. Ew di warê teorî û pratîka strukturên daneya pêşbaziyê de bi lêkolînê re mijûl e. Beriya ku tev li IST bibe, doktoraya xwe ji Zanîngeha Parîs Diderot û Zanîngeha ITMO li pêş Prof. Petr Kuznetsov wergirt.

Alexey Fedorov Li JUG Ru Group, pargîdaniyek rûsî ku konferansan ji bo pêşdebiran organîze dike, hilberîner e. Alexey beşdarî amadekirina zêdetirî 50 konferansan bû, û rezûma wî ji pozîsyona endezyarek pêşkeftinê li Oracle (JCK, Koma Platforma Java) heya pozîsyona pêşdebirkerek li Odnoklassniki her tiştî vedihewîne.

Vladimir Sitnikov li Netcracker endezyar e. Bi deh salan ew li ser performans û mezinbûna NetCracker OS-ê dixebite, nermalava ku ji hêla operatorên telekomê ve tê bikar anîn da ku pêvajoyên rêveberiya torgilok û torê otomatîk bike. Bi pirsgirêkên performansa Java û Oracle Database re eleqedar e. Nivîskarê zêdetirî bi dehan çêtirkirinên performansê di ajokera fermî ya PostgreSQL JDBC de.

Têkiliya di navbera akademî û pîşesaziyê de

Alexey: Maurice, hûn ji bo demek pir dirêj di akademiyê de dixebitin û pirsa yekem li ser têkiliya di navbera akademî û pîşesaziyê de ye. Hûn dikarin ji me re vebêjin ka têkiliyên di navbera wan de çawa hatine guhertin? 20-30 sal berê çi bû û niha çi diqewime? 

Maurice: Min her gav hewl da ku ji nêz ve bi pargîdaniyên bazirganî re bixebitim ji ber ku pirsgirêkên wan ên balkêş hene. Wekî qaîde, ew ne pir eleqedar in ku ne encamên xwe biweşînin û ne jî bi hûrgulî ravekirina pirsgirêkên xwe ji civaka cîhanî re. Tenê bi çareserkirina van pirsgirêkan re eleqedar in. Ez ji bo hinek ji van şîrketan ji bo demekê xebitîm. Min pênc sal di laboratûvarek lêkolînê de li Digital Equipment Corporation, ku berê pargîdaniyek mezin a komputerê bû, bi tevahî-dem xebitî. Ez hefteyê rojekê li Sun, li Microsoft, li Oracle dixebitim, hinekî li Facebookê dixebitim. Naha ez ê biçim betlaneya betlaneyê (profesorek li zanîngehek Amerîkî destûr heye ku salek şeş salan carekê betlaneyek weha bigire) û li wir bixebitim. Algorand, ev wisa şîrketa cryptocurrency li Boston e. Karkirina ji nêz ve bi pargîdaniyan re her gav dilxweşiyek bû, ji ber ku bi vî rengî hûn fêrî tiştên nû û balkêş dibin. Hûn dikarin bi gelemperî bibin kesê yekem an duyemîn ku gotarek li ser mijarek bijartî diweşîne, li şûna ku hêdî hêdî çareseriyên pirsgirêkên ku her kesê din berê li ser dixebitîne baştir bike.

Alexey: Hûn dikarin ji me re bêtir bibêjin ka ev çawa dibe?

Maurice: Bê guman. Hûn dizanin, dema ku ez li Pargîdaniya Amûrên Dîjîtal bûm, ez û Elliot Moss, me bîranîna danûstendinê îcad kir. Ew serdemek pir bikêr bû ku her kes dest bi eleqedariya teknolojiya agahdariyê kir. Hevdemî tê de, her çend pergalên pir-bingeh hîn nebûne. Di rojên Sun û Oracle de, min gelek kar li ser strukturên daneya paralel kir. Li Facebookê, ez beşdarî projeya wan a blokê bûm, ku ez nikarim li ser biaxivim lê hêvîdarim ku di demek nêzîk de gelemperî derkeve. Sala bê, li Algorand, ez ê li ser tîmek lêkolînê ya ku peymanên jîr dixwîne bixebitim.

Alexey: Di van çend salên dawî de, blokcheyn bûye mijarek pir populer. Ma ew ê alîkariya lêkolîna we bike? Dibe ku ew ê hêsantir bike ku dravdanê werbigire an bigihîje çavkaniyên pargîdaniyên ku di pîşesaziyê de dixebitin?

Maurice: Jixwe min ji Weqfa Ethereum bernameyek piçûk wergirtiye. Popularîteya blokê ji bo teşwîqkirina xwendekaran ku di vî warî de bixebitin pir bikêr e. Ew bi wê re pir eleqedar in û ji tevlêbûna wan kêfxweş in, lê carinan ew nizanin ku lêkolîna ku li derveyî ceribandinê xuya dike bi rastî xebata dijwar vedigire. Lêbelê, ez pir kêfxweş im ku hemî vê mîstîkê li dora blokê bikar tînim, ew ji bo kişandina xwendekaran dibe alîkar. 

Lê ev ne hemû ye. Ez lijneya şêwirmendiyê ya gelek destpêkek blokê me. Dibe ku hin ji wan biserkevin, hin ji wan nebin, lê dîtina ramanên wan, lêkolîna wan û şîretkirina mirovan her gav pir balkêş e. Tişta herî balkêş ew e ku hûn mirovan hişyar dikin ku tiştek nekin. Gelek tişt di destpêkê de wekî ramanek baş xuya dikin, lê ew bi rastî ne?

Weqfa ji bo lêkolîna blockchain

Vitaly: Hin kes difikirin ku blok û algorîtmayên wê pêşeroj in. Û kesên din jî dibêjin ku ew tenê pêlekek din e. Hûn dikarin nêrîna xwe li ser vê mijarê parve bikin?

Maurice: Pir tiştên ku di cîhana blokê de diqewimin bi rêkûpêk naxebitin, hin tenê xapandin in, gelek tişt zêde têne nirxandin. Lêbelê, ez difikirim ku ji bo van lêkolînan bingehek zanistî ya zexm heye. Rastiya ku cîhana blokek tijî dabeşên îdeolojîk e asta heyecan û dilsoziyê nîşan dide. Ji hêla din ve, ew bi taybetî ji bo lêkolîna zanistî ne bikêr e. Naha, heke hûn gotarek diweşînin ku li ser kêmasiyên algorîtmayek taybetî diaxive, reaksiyona hatî wergirtin her gav ne bi tevahî zanistî ye. Gelek caran mirov hestên xwe tînin ziman. Ez difikirim ku dibe ku di vî warî de hîleyek wusa ji hin kesan re balkêş xuya bike, lê di dawiyê de, pirsgirêkên zanistî û endezyariyê yên rastîn hene ku hêj nehatine çareser kirin. Li vir gelek Zanistên Komputerê hene.

Vitaliy: Ji ber vê yekê hûn hewl didin ku bingehê lêkolîna zincîra blokê deynin, rast?

Maurice: Ez hewl didim ku bingehek ji bo dîsîplînek zexm, zanistî û matematîkî vekim. Û beşek ji pirsgirêkê ev e ku carinan hûn neçar in ku hin helwestên pir tund ên mirovên din berevajî bikin, wan paşguh bikin. Carinan mirov dipirsin çima ez li qada ku tenê terorîst û bazirganên narkotîkê jê re eleqedar dibin de dixebitim. Reaksîyoneke wiha bi qasî reftarên şagirtan ku bi koranî gotinên te dubare dikin bêwate ye. Ez difikirim ku rastî li cîhek navîn e. Blockchain hîna bandorek kûr li ser civak û aboriya gerdûnî nekiriye. Lê, dibe ku, ev ê bi saya teknolojiya nûjen pêk neyê. Teknolojiyên nûjen dê pêş bikevin û ya ku dê di pêşerojê de jê re blokchein were gotin dê pir girîng bibe. Dibe ku ew ê ne mîna blokên nûjen jî xuya bike, ew pirsek vekirî ye.

Ger mirov teknolojiyên nû îcad bikin, ew ê berdewam bikin ku jê re dibêjin blokchein. Yanî mîna Fortran-a îroyîn ti têkiliya wî bi zimanê Fortran-ê ya salên 1960-an re tune ye, lê her kes jê re dibêje Fortran. Heman tişt ji bo UNIX. Tiştê ku jê re "blockchain" tê gotin, hêj şoreşa xwe çênekiriye. Lê ez guman dikim ku ev bloka nû dê mîna ya ku îro her kes jê hez dike bikar bîne.

Fikrên serketinê ji ku têne? Bandora populerbûnê

Alexey: Ma populerbûna zincîra blokê ji hêla zanistî ve rê li ber encamên nû vekir? Zêdetir danûstendin, bêtir xwendekar, bêtir pargîdaniyên li herêmê. Jixwe encamên vê mezinbûna populerbûnê hene?

Maurice: Ez bi vê yekê re eleqedar bûm dema ku yekî ji bo pargîdaniyek ku nû gelek drav berhev kiribû belavokek fermî da min. Wê li ser nivîsand erka generalên Bîzansîku ez jê bêtir nas dikim. Di belavokê de nivîsandî bi zelalî ji hêla teknîkî ve xelet bû. Kesên ku ev nivîsand bi rastî modela li pişt pirsgirêkê fêm nekir... û dîsa jî vê pargîdaniyê gelek drav berhev kir. Dûv re, pargîdanî bi bêdengî ev belavok bi guhertoyek pir rasttir veguhezand - û ez ê nebêjim navê vê pargîdaniyê çi bû. Ew hîn jî hene û pir baş dikin. Vê dozê min qanih kir ku, yekem, blokcheyn tenê formek hesabkirina belavbûyî ye. Ya duyemîn, sînorê têketinê (wê demê, çar sal berê) pir kêm bû. Kesên ku di vî warî de dixebitîn, pir bi enerjî û jîr bûn, lê wan gotarên zanistî nedixwendin. Wan hewl da ku tiştên naskirî ji nû ve îcad bikin û wan ew xelet kir. Îro drama kêm bûye.

Alexey: Pir balkêş e, ji ber ku çend sal berê me trendek cûda hebû. Ew hinekî mîna pêşkeftina pêş-endê ye, ku pêşdebirên navbeynkariya gerokê tevahî teknolojiyên ku di wê demê de jixwe di paşiya paşîn de populer bûn ji nû ve îcad kirin: pergalên avakirin, entegrasyona domdar, û tiştên weha. 

Maurice: Ez qebûl dikim. Lê ev ne ecêb e, ji ber ku bi rastî ramanên serketinê her gav ji derveyî civaka sazkirî têne. Lekolînwanên damezrandî, nemaze rayedarên akademiyê, ne mimkûn e ku tiştek bi rastî pêşkeftî bikin. Hêsan e ku meriv ji bo konferansa din raporek binivîsîne ka we çawa encamên xebata xweya paşîn hinekî çêtir kiriye. Biçe konferansekê, bi hevalan re li hev bicive, li ser heman tiştan biaxive. Û kesên ku bi ramanên serketinê dikevin hundur hema hema her gav ji derve têne. Ew bi qaîdeyan nizanin, bi ziman nizanin, lê dîsa jî... Ger hûn di nav civatek sazkirî de ne, ez ji we re şîret dikim ku hûn bala xwe bidin tiştên nû, li tiştê ku di nav tiştên mezin de negunce. sûret. Di wateyekê de, hewldanek dikare were kirin ku pêşkeftinên derveyî, bêtir şil bi teknîkên ku em berê jê fam dikin re were hevber kirin. Wekî gava yekem, hewl bidin ku bingehek zanistî biafirînin, û dûv re wê biguhezînin da ku ew li ser ramanên nû yên serketî were sepandin. Ez difikirim ku zincîra blokê ji bo rola ramanek nû ya nûvek mezin e.

Alexei: Çima hûn difikirin ku ev diqewime? Ji ber ku mirovên "derve" di nav civakê de xwedan astengên taybetî nînin?

Maurice: Li vir nimûneyek heye. Ger hûn dîroka Impressionîstan di wênekêşî û hunerê de bi gelemperî bixwînin, wê hingê di demekê de hunermendên navdar impressionism red kirin. Wan got ku ew celebek zaroktî ye. Nifşek şûnda, ev forma hunerî ya ku berê hatibû red kirin bû standard. Tiştê ku ez di warê xwe de dibînim: dahênerên zincîra blokê ji hêzê re eleqedar nebûn, bi qutkirina weşan û navnîşana navgîniyê, wan tenê dixwest ku tiştek baş bikin. Û ji ber vê yekê ew rûniştin û dest pê kirin. Wan hindek kûrahiya teknîkî tune bû, lê ew rast e. Çêkirina ramanên nû yên afirîner ji rastkirin û zêdekirina yên têra xwe gihîştî pir dijwartir e. Bi saya van dahêneran, ez niha tiştek heye ku bikim!

Alexey: Ev dişibihe cûdahiya di navbera destpêk û projeyên mîras de. Em gelek sînorên ramanê, asteng, pêdiviyên taybetî, û hwd mîras digirin.

Maurice: Analojiyek baş tê berhevkirin. Blockchain-ê wekî ku ew destpêkek be û wekî pargîdaniyek mezin a damezrandî berhevkar belav kiriye bifikirin. Hesabkirina belavbûyî di pêvajoya kirîn û yekbûna bi blokcheynê de ye.

PhD di bin Barbara Liskov

Vitaliy: Hîn jî gelek pirsên me hene! Me li biyografiya we lêkolîn kir û di derbarê doktoraya we de rastî rastiyek balkêş hat. Erê, ew demek dirêj berê bû, lê mijar girîng xuya dike. Te doktoraya xwe di bin çavdêriya Dr Barbara Liskov! Barbara di civata pêşkeftina zimanê bernamenûsê de pir baş tê zanîn, û bi gelemperî kesek pir navdar e. Mantiqî ye ku lêkolîna we di warê zimanên bernamesaziyê de bû. Hûn çawa derbasî komputera paralel bûn? Çima we biryar da ku mijarê biguherînin?

Maurice: Di wê demê de, Barbara û koma wê tenê li komputera belavbûyî dinihêrîn, ku ev ramanek pir nû bû. Di heman demê de yên ku digotin hesabkirina belavkirî bêaqil e, danûstandina di navbera komputeran de bê wate ye jî hebûn. Yek ji mijarên ku di hesabkirina belavbûyî de têne hesibandin, ku wan ji hesabkirina navendî vediqetîne, tolerasyona xeletiyê ye. Piştî gelek lêkolînan, me biryar da ku di zimanek bernamesaziyê de ji bo hesabkirina belavkirî, hûn hewce ne ku tiştek mîna danûstendinên atomî hebin, ji ber ku hûn çu carî nikanin piştrast bin ku bangek ji dûr ve dê biserkeve. Dema ku we danûstendin hebe, pirsgirêkek kontrola hevdemiyê heye. Dûv re li ser bidestxistina strukturên daneya danûstendinê yên pir paralel pir kar hebû. Paşê dema min mezûn bû ez çûm Carnegie Mellon û dest bi lêgerîna mijarek ji bo xebatê kir. Bi min re hat ku komputer ji komputerên kesane derbasî torên komputeran bû. Berdewamek xwezayî ya pêşkeftinê dê pirprosesor bin - wê demê peyva "pir-core" tune bû. Ez fikirîm: ji bo pergalek pir-bingehîn hevbera danûstendinên atomî çi ye? Bê guman ne danûstandinên asayî ne, ji ber ku ew pir mezin û giran in. Û bi vî awayî fikra min hat linearization û bi vî rengî ez gihîştim tevahiya hevdemkirina bê-bendê. Ew hewildanek bû ku bersiva pirsê bide ka gelo analoga danûstendinên atomî ji bo pergalek pirprosesor bi bîranîna hevpar çi ye. Di nihêrîna pêşîn de, dibe ku ev kar pir cûda xuya bike, lê bi rastî ew berdewamiya heman mijarê ye.

Cîhan li benda pir-core ye

Vitaly: We behs kir ku di wê demê de pir kêm komputerên pir-core hebûn, rast?

Maurice: Ew tenê tune bûn. Gelek pêvajoyên bi navê sîmetrîk hebûn, ku bi bingehîn bi heman otobusê ve girêdayî bûn. Ew pir baş nexebitî, ji ber ku her carê ku pargîdaniyek nû tiştek wusa diafirand, Intel pêvajoyek yekane derxist ku ji pirprosesorê çêtir bû.

Alexey: Ma ev nayê wê wateyê ku di wan demên kevnar de, ew bêtir lêkolînek teorîkî bû?

Maurice: Ew ne lêkolînek teorîkî, lê bêtir lêkolînek spekulatîf bû. Hemî ev ne li ser xebata bi gelek teoreman re bû, belkî, me hîpotezên li ser mîmariya ku di wê demê de tunebû derxist pêş. Lêkolîn ji bo vê yekê ye! Tu pargîdanî dê vê yekê nekira, ew hemî tiştek ji paşeroja dûr bû. Di rastiyê de, ev heya 2004-an bû, dema ku pêvajoyên pir-core rastîn xuya bûn. Ji ber ku pêvajo zêde germ dibin, hûn dikarin pêvajoyê piçûktir bikin, lê hûn nekarin wê zûtir bikin. Ji ber vê yekê, veguherînek mîmariya pir-core hebû. Û dûv re ev tê vê wateyê ku ji nişka ve ji bo hemî têgehên ku me di paşerojê de pêşxistibûn bikar anîn.

Alexey: Çima hûn difikirin ku pêvajoyên pir-core tenê di salên XNUMX-an de xuya bûn? Îcar çima ewqas dereng?

Maurice: Ew ji ber sînorên hardware ye. Intel, AMD, û pargîdaniyên din di zêdekirina leza pêvajoyê de pir baş in. Dema ku di demekê de pêvajo pir piçûk bûn ku êdî nekarîn leza demjimêrê zêde bikin ji ber ku pêvajo dê dest bi şewitandinê bikin. Hûn dikarin wan piçûktir bikin, lê ne zûtir. Tiştê ku di hêza wan de ye - li şûna pêvajoyek pir piçûk, heşt, şazdeh an sî û du pêvajoyan di heman cildê dozê de bicîh bikin, ku tenê yek tê bikar anîn. Naha we di navbera wan de pêwendiyek pirzimanî û bilez heye ji ber ku ew cache parve dikin. Lê hûn nekarin wan zûtir bimeşînin - sînorek bilezek pir taybetî heye. Ew hêdî hêdî pêşve diçin, lê ne ew qas. Zagonên fizîkê ketin rê.

Cîhana nû, pirsgirêkên nû. Hakkirina NUMA, NVM û mîmarî

Alexei: Pir maqûl xuya dike. Bi pêvajoyên nû yên pir-core pirsgirêkên nû derketin. Hûn û hevalên we li hêviya van pirsgirêkan bûn? Dibe ku we ji berê ve wan lêkolîn kiribe? Di lêkolînên teorîk de gelek caran ne pir hêsan e ku meriv tiştên weha pêşbîn bike. Dema pirsgirêk derketin, heta çi radeyê hêviyên we û hevkarên we bi cih anîn? An jî ew nû bûn û hûn û hevkarên we neçar bûn ku gelek wext derbas bikin ji bo çareserkirina pirsgirêkan gava ku ew derketin?

Vitaliy: Ez ê li pirsa Alexey zêde bikim: dema ku we teoriyê dixwend, we bi rast mîmariya pêvajoyan pêşbîn kir?

Maurice: Ne hemî 100%. Lê ez difikirim ku hevkarên xwe û min karekî baş kir ku pêşbîniya pir-core-bîra hevbeş kir. Ez difikirim ku me di sêwirana strukturên daneya paralel ên ku bêyî kilît dixebitin de dijwariyên rast pêşbînî kir. Strukturên daneyê yên weha ji bo gelek serlêdanan girîng bûne, her çend ne ji bo hemîyan, lê pir caran hûn bi rastî hewceyê avahiyek daneya bê kilît in. Dema ku me ew îcad kirin, gelekan nîqaş kirin ku ev bêaqil e, ku her tişt bi qefleyan re baş dixebite. Me pir baş pêşbîn kir ku dê ji gelek pirsgirêkên bernamekirinê û pirsgirêkên avahiya daneyê re çareseriyên amade hebin. Pirsgirêkên tevlihevtir jî hebûn, wek LI - Gihîştina bîranînê ya bêhempa. Di rastiyê de, ew heta vedîtina pêvajoyên pir-core jî nehatin hesibandin ji ber ku ew pir taybetî bûn. Civaka lêkolînê li ser pirsên ku bi gelemperî pêşbîn bûn xebitîn. Hin pirsgirêkên hardware yên ku bi mîmariyên taybetî ve girêdayî ne neçar bûn ku li benda bendavê bin - bi rastî, xuyangiya van mîmariyan. Mînakî, kes bi rastî li ser strukturên daneya GPU-taybetî nexebitî ji ber ku GPU wê gavê tune bû. Tevî ku gelek xebat li ser hatine kirin SIMD, van algorîtmayan ji bo bikaranînê amade bûn gava ku hardware rast xuya bû. Lêbelê, ne gengaz e ku meriv her tiştî pêşbîn bike.

Alexey: Ger ez rast fêm bikim, NUMA celebek lihevhatinê ye di navbera lêçûn, performans û hin tiştên din de. Ma hûn difikirin ka çima NUMA ew qas dereng hat?

Maurice: Ez difikirim ku NUMA ji ber pirsgirêkek bi hardware ku ji bo çêkirina bîranînê tê bikar anîn heye: her ku ji pêkhateyan dûr bin, hêdî hêdî têne gihîştin. Ji aliyê din ve nirxa duyemîn a vê abstrakasyonê yekrengiya bîrê ye. Ji ber vê yekê, yek ji taybetmendiyên hesabkirina paralel ev e ku hemî abstractions hinekî şikestî ne. Ger gihîştin bi tevahî yekreng bûya, dê hemî bîranîn yeksan be, lê ev ji hêla aborî ve, û dibe ku ji hêla fizîkî ve jî ne gengaz be. Lewma ev nakokî derdikeve holê. Ger hûn bernameya xwe wekî ku bîranîn yekgirtî bin binivîsin, wê hingê bi îhtîmalek mezin ew ê rast be. Di wateya ku wê bersivên şaş nede. Lê performansa stêrkên wê yên ji ezmên nayê girtin. Bi heman awayî, heke hûn binivîsin spinlocks bêyî têgihîştina hiyerarşiya cache, kilît bixwe dê rast be, lê hûn dikarin performansê ji bîr bikin. Di wateyek de, divê hûn bernameyên ku li ser abstrakasyonek pir hêsan dijîn binivisînin, lê divê hûn mirovên ku ew abstrakasyon dane we bihizirin: divê hûn zanibin ku di binê abstractionê de hin hiyerarşiya bîranînê heye, ku heye. otobusek di navbera we û vê bîranînê de, û hwd. Ji ber vê yekê, di navbera abstraksyonên ku bi serê xwe bikêrhatî ne de nakokî heye, ku me berbi pirsgirêkên pir taybetî û pragmatîk ve dibe.

Vitaliy: Çi li ser pêşerojê? Hûn dikarin pêşbînî bikin ka dê çawa pêvajo pêşde biçin? Fikirek heye ku yek ji bersivan bîranîna danûstendinê ye. Dibe ku we tiştek din di stokê de heye.

Maurice: Li pêş çend pirsgirêkên mezin hene. Yek ev e ku bîranîna hevgirtî abstrakasyonek ecêb e, lê ew di rewşên taybetî de dest pê dike. Ji ber vê yekê, mînakî, NUMA mînakek zindî ya tiştek e ku hûn dikarin îdia bikin ku bîranîna yekgirtî heye. Bi rastî - na, performans dê we bike girî. Di hin xalan de, mîmar dê neçar bimînin ku dev ji ramana mîmariya bîranîna yekbûyî berdin, hûn nekarin herheyî îdia bikin. Dê modelên bernamesaziyê yên nû hewce bibin ku karanîna wan hêsan e û têra xwe bi hêz in da ku amûra bingehîn bikêrhatî bikin. Ev lihevkirinek pir dijwar e, ji ber ku heke hûn mîmariya ku bi rastî di hardware de tê bikar anîn nîşanî bernamenûsan bidin, ew ê dîn bibin. Ew pir tevlihev e û ne portable e. Ger hûn navgînek pir hêsan pêşkêşî bikin, dê performans xirab be. Bi vî rengî, pêdivî ye ku gelek lihevkirinên pir dijwar bêne çêkirin da ku modelên bernamekirinê yên bikêrhatî yên ku ji bo pêvajoyên pir-bingehîn ên bi rastî mezin têne bicîh kirin peyda bikin. Ez ne bawer im ku ji bilî pisporek teng kesek din karibe li ser komputerek 2000-core bername bike. Û heya ku hûn hesabkirinek pir pispor an zanistî, krîptografî an her tiştê din nekin, hîn jî ne diyar e ka meriv wê çawa rast bike. 

Rêzikek din a wekhev mîmariyên pispor e. Lezkerên grafîkê ji demek dirêj ve li dora xwe ne, lê jixwe bûne mînakek klasîk a ka meriv çawa dikare celebek hesabek pispor bistînin û wê li ser çîpek taybetî bimeşîne. Ev kêşeyên xwe zêde dike: hûn çawa bi amûrek wusa re danûstandinê dikin, hûn çawa bername dikin. Min herî dawî li ser karên li qadê xebitî jimartina bîrê ya nêzîkî. Hûn pêvajoyek piçûk hildigirin û wê bi perçeyek mezin a bîranînê ve zeliqînin da ku bîranîn bi leza cache L1 bimeşe, û dûv re ew bi amûrek mîna TPU - pêvajo bi barkirina karên nû di bingeha bîra we de mijûl e. Pêşxistina strukturên daneyê û protokolên ragihandinê yên ji bo vî rengî mînakek din a balkêş e. Ji ber vê yekê, pêvajoyên pispor û hardware dê ji bo demek pir baş bibin.

Alexey: Çi li ser bîranîna nehêle (bîra non-volatile)?

Maurice: Oh, ew mînakek din a mezin e! NVM dê awayê ku em li tiştên mîna strukturên daneyê dinêrin pir biguhezîne. Bîra ne-hilweşîn, di wateyekê de, soz dide ku bi rastî tiştan bilezîne. Lê ew ê jiyanê hêsantir neke, ji ber ku pir pêvajoker, kaş û tomar hîn jî bêhêz in. Dema ku hûn piştî qezayek dest pê bikin, rewşa we û hafizeya we dê tam ne wekî berê qezayê be. Ez ji kesên ku di NVM-ê de beşdar bûne pir spasdar im - ji bo demek dirêj ve, lêkolîner dê tiştek bikin ku bikin, hewl bidin ku şert û mercên rastdariyê fam bikin. Hesabkirin rast in heke ew karibin ji têkçûnek ku tê de naveroka kaş û qeydan wenda dibin xilas bibin, lê bîranîna sereke saxlem dimîne.

Berhevkar li hember CPU, RISC li hember CISC, bîranîna hevbeş li hember derbasbûna peyamê

Vladîmîr: Hûn li ser dubendiya berhevker û pêvajoker di warê koma rêwerzan de çi difikirin? Ji bo kesên ku di mijarê de ne rave bikin: ger em biçin bîra nehevseng an tiştek wusa, em dikarin komek rêwerzan pir hêsan bicîh bikin û ji berhevkerê bipirsin ku kodek tevlihev biafirîne ku dikare ji feydeyên kifşkirî sûd werbigire. An jî em dikarin rêyek din biçin: rêwerzên tevlihev bicîh bînin û ji pêvajoyê bipirsin ku rêwerzan ji nû ve rêz bike û bi wan re manîpulasyonên din bike. Hûn li ser wê çi difikirin?

Maurice: Ez bi rastî bersiva wê pirsê tune. Ev nîqaş ev çar sal in didome. Di navberê de demek hebû kurtkirin set ferman û asteng şerên navxweyî ji aliyê komek tîman ve hatin kirin. Demek, mirovên RISC bi ser ketin, lê dûv re Intel motorên xwe ji nû ve ava kir da ku komek rêwerzek kêmkirî li hundur were bikar anîn, û ya tevahî li derve hate şandin. Belkî ev mijarek e ku divê her nifşek nû lihevhatinên xwe bibîne û biryarên xwe bi xwe bide. Pir zehmet e ku meriv pêşbînî bike ku ji van tiştan dê kîjan çêtir derkeve. Ji ber vê yekê her pêşbîniya ku ez bikim dê ji bo demek diyar rast be, û dûv re ji bo demekê dîsa derew bibe, û dûv re dîsa rast be.

Alexey: Ji bo pîşesaziyê bi gelemperî çiqas gelemperî ye ku hin raman di çend dehsalan de biserkevin û di paşerojê de winda bikin? Mînakên din ên guhertinên bi vî rengî yên demkî hene?

Maurice: Di warê komputera belavkirî de, mirovên ku jê bawer dikin hene bîra hevpar û kesên ku bawer dikin danûstandina peyamê. Bi eslê xwe di hesabkirina belavbûyî de, hesabkirina paralel tê wateya derbaskirina peyamê. Dûv re kesek kifş kir ku bîranîna hevpar bernamekirin pir hêsantir kiriye. Aliyê din got ku bîranîna hevpar pir tevlihev e, ji ber ku hewcedariya wan bi kilît û yên wekî wan heye, ji ber vê yekê hêja ye ku biçin ser zimanên ku ji bilî şandina peyaman tenê tiştek tune. Kesek li tiştê ku jê derket û got: "wey, ev pêkanîna peyaman pir dişibihe bîra hevpar, ji ber ku hûn gelek, gelek ji van modulên piçûk diafirînin, ew ji hev re peyaman dişînin, û hemî xitimandin, - em databasek bîranîna hevpar çêtir bikin!". Ev hemû car bi car tê dubarekirin û ne mimkûn e ku mirov bibêje ku yek ji alîyan bi awayekî eşkere rast dibêje. Aliyek dê her dem serdest be, ji ber ku gava yek ji wan hema hema bi ser dikeve, mirov dîsa û dîsa rêyên çêtirkirina ya din diafirînin.

Hunera nivîsandina koda pir-tehlî ya nazik

Alexei: Ev pir balkêş e. Mînakî, dema ku em kodê dinivîsin, çi zimanê bernamekirinê jî dibe bila bibe, bi gelemperî pêdivî ye ku em abstractionên mîna şaneyên ku dikarin werin xwendin û nivîsandin biafirînin. Lê di rastiyê de, di asta fizîkî de, dibe ku ew mîna şandina peyamek li ser otobusek hardware di navbera komputerên cihêreng û amûrên din de xuya bike. Derdikeve holê ku di her du astên abstrakasyonê de bi yekcarî xebat heye.

Maurice: Bi tevahî rast e ku bîranîna hevpar li ser derbaskirina peyamê hatî çêkirin - otobus, caches, û hwd. Lê dijwar e ku meriv bernameyan bi karanîna şandina peyaman binivîse, ji ber vê yekê hardware bi qestî derewan dike, ku hûn xwedan celebek bîranînek yekgirtî ne. Ev ê ji we re hêsantir bike ku hûn bernameyên hêsan û rast binivîsin berî ku performans dest pê bike. Dûv re hûn dibêjin: dixuye ku dem hatiye ku hûn bi cache re hevaltiyê bikin. Û wê gavê hûn dest pê dikin ku li ser cîhê cache-ê xemgîn bibin, û paşê em diçin. Di wateyek de, hûn abstraksiyonê dişkînin: hûn dizanin ku ew ne tenê bîranînek guncan û yekreng e, û hûn ê wê zanînê bikar bînin da ku bernameyên cache-heval binivîsin. Ya ku divê hûn di karên rastîn de bikin ev e. Ev nakokiya di navbera abstraksiyona xweş a hêsan a ku we hatî dayîn û pêkanîna zehf tevlihev a nermalava bingehîn de ev e ku her kes lihevhatina xwe dike. Pirtûkek min li ser pirpêvajoker û hevdemkirinê heye, û rojek min ê li ser strukturên daneyê beşek binivîsim. java.util.concurrent. Ger hûn li wan binêrin, tiştên mîna lîsteyan derbas bike Ev karên hunerî yên ecêb in. (Têbînîya edîtor: Yên ku bi zimanê Java-yê dizanin divê bi kêmanî li pêkanînê binêre ConcurrentSkipListMap, Hûn dikarin ji bo girêdanan binêrin API и koda çavkaniyê). Lê li gorî nêrîna min, nîşandana wan ji xwendekaran re bêberpirsiyarî ye, ji ber ku avahiyek daneyê ya wusa celebek zilamek e ku di cirkê de ye, ku li ser zincîreyekê li ser çala hirçê dimeşe. Ger hûn hûrguliyek piçûk jî biguhezînin, dê tevahî avahî hilweşe. Ev kod pir zû û elegant e tenê ji ber ku ew bi rengek bêkêmasî hatî nivîsandin, lê guhertina herî piçûk dê bibe sedema têkçûna tevahî. Ger ez vê kodê wekî mînak bidim xwendekaran, ew ê yekser bibêjin: Ez jî dikarim vê bikim! Û wê gavê dê hin balafir bikevin an jî reaktorek navokî dê biteqe, û ew ê sûcê min be ku min di wextê rast de zêde agahdarî neda wan.

Alexey: Dema ku ez piçûktir bûm, gelek caran min hewl da ku koda çavkaniyê ya Doug Lee bixwînim, mînakî, java.util.concurrent, ji ber ku ew çavkaniya vekirî ye, pir hêsan e ku meriv wê bibîne û hewl bide ku fêm bike ka li wir çi diqewime. Ew pir baş derneket: pir caran, bi tevahî ne diyar e çima Doug biryar da ku tiştek bi vî rengî bike, dema ku her kesê din bi rengek cûda dike. Hûn van tiştan çawa ji xwendekarên xwe re rave dikin? Mînakî, rêyek rastînek taybetî heye ku meriv hûrguliyên taybetî yên algorîtmayek hişk diyar bike? Tu çawa dikî?

Maurice: Mamosteyên xêzkirinê klîşeyek heye ku pêşî tê bîra wan: heke hûn dixwazin mîna Picasso xêz bikin, divê hûn pêşî fêr bibin ka meriv çawa wêneyên rastîn ên hêsan xêz dike, û tenê gava ku hûn qaîdeyan zanibin hûn dikarin dest bi şikandina wan bikin. Ger hûn tavilê bi şikandina qaîdeyan dest pê bikin, hûn tevlihev dibin. Pêşîn, ez xwendekaran fêr dikim ka meriv çawa kodek sade, rast binivîsîne bêyî ku ji performansê xeman bibe. Ez dibêjim ku li vir pirsgirêkên demkî yên tevlihev hene, ji ber vê yekê xema kaşê nekin, ji modelên bîranînê netirsin, tenê pê ewle bin ku her tişt bi rêkûpêk dixebite. Ew jixwe têra xwe dijwar e: Bernamesaziya nûjen bi serê xwe ne hêsan e, nemaze ji bo xwendekarên nû. Û gava ku têgihîştinek wan heye ka meriv çawa bernameyên rast dinivîse, ez dibêjim: li van her du pêkanînên spinlock binêre: yek pir hêdî ye, û ya duyemîn jî ne pir baş e, lê jixwe çêtir e. Lêbelê, ji hêla matematîkî ve ev her du algorîtmayan yek in. Bi rastî, yek ji wan devera cache bikar tîne. Yek ji wan li ser daneyên kaşkirî yên herêmî dizivire, û ya din çend caran operasyonên ku di otobusê re derbas dibin pêk tîne. Hûn nikarin kodek bikêr binivîsin ger hûn jê fam nekin, heke hûn nizanin ka meriv çawa abstractionê bişkîne û li avahiya bingehîn binihêre. Lê hûn ê nikaribin tavilê dest bi kirina wê bikin. Mirov hene ku di cih de dest bi vê yekê dikin û bi jêhatiya xwe bawer dikin, bi gelemperî ew xirab diqede ji ber ku ew prensîban fam nakin. Kes mîna Picasso xêz nake an jî bernameyên mîna Doug Lee, ku nû ji zanîngehê derketiye, di hefteya xwe ya yekem de nanivîse. Ji bo ku bigihîje vê asta zanînê bi salan hewce dike.

Alexey: Derket holê ku hûn pirsgirêkê li du beşan dabeş dikin: ya yekem rast e, ya duyemîn performans e?

Maurice: Bi rastî. Û, di wê rêzê de. Beşek ji pirsgirêkê ev e ku xwendekarên nû fêhm nakin ku rasthatinî dijwar e. Ew di nihêrîna pêşîn de dibêjin: ev eşkere rast e, ew tenê ji bo lezkirina wê dimîne. Ji ber vê yekê carinan ez ji wan re li ser algorîtmayek xwerû ya çewt wekî ku ew rast be ji wan re dibêjim.

Meriv çawa fêrî xwendekaran dike ka meriv çawa kodek pir-mijalek tevlihev dinivîse

Alexei: Tenê ji bo ku bibînin ka ew dikarin hîleyê hîs bikin?

Maurice: Ez her gav we di pêş de hişyar dikim ku carinan ez ê algorîtmayên xelet derxim holê. Divê hûn mirovan nexapînin. Ez pêşniyar dikim ku ew di derbarê agahdariyê de gumanbar bin. Ger ez tiştek bêjim û bêjim: "binihêre, ev eşkere rast e" - ev nîşanek e ku li cîhek ew hewl didin we bixapînin, û divê hûn dest bi pirsan bikin. Dûv re, ez hewl didim xwendekaran teşwîq bikim ku pirsan bidomînin, û dûv re bipirsim: "çi dibe eger em her tiştî wekî xwe bihêlin?". Û ew yekser xeletiyê dibînin. Lê razîkirina xwendekaran ku ew hewce ne ku ji rastbûnê bitirsin ji ya ku di nihêrîna pêşîn de xuya dike dijwartir e. Gelek ji van xwendekaran bi ezmûna bernamesaziyê di lîseyê de têne, hinan berê xwe dane kar û li wir bername kirine, û ew hemî bi xwebawer in. Ev tiştek leşkerî ye: pêşî divê hûn hişmendiya wan biguhezînin da ku wan qanih bikin ku bi bîhnfirehî nêzî çareseriya pirsgirêkên derketine bibin. An jî dibe ku ew mîna rahîbên Bûdîst be: pêşî ew fêrî ramana rastbûnê dibin, û gava ku ew awayên ramana rastdariyê fam dikin, destûr ji wan re tê dayîn ku biçin astek din û dest bi fikaran bikin.

Alexey: Ango, carinan hûn nimûneyên nexebitî nîşanî xwendekaran didin, bi saya wan hûn bertek werdigirin ku nîşan didin ka ew eslê pirsgirêkê fam dikin, gelo ew dikarin koda xelet û encama xelet bibînin. Welê, xwendekar bi gelemperî çawa dilxweş dikin an dilgiran dikin?

Maurice: Hema hema her gav xwendekar di dawiyê de xeletiyê dibînin. Ger ew pir hêdî digerin, ez pirsên pêşeng dipirsim, û li vir girîng e ku meriv fêm bike ku ger ew çu carî neyên xapandin, ew ê dest pê bikin ku gotinên we wekî rastiya dawîn bi nefikirî fam bikin. Dûv re ew bêzar dibin û di dema dersê de bi xwendina Facebookê li ser laptopa xwe radikevin. Lê gava ku hûn berê wan bidin zanîn ku ew ê werin xapandin û heke ew hîleyek hîs nekin dê bêaqil xuya bikin, ew pir hişyartir dibin. Ev ji gelek aliyan ve baş e. Ez dixwazim ku xwendekar ne tenê têgihîştina xwe ya ji mijarê, lê her weha ji desthilatdariya mamoste jî bipirsin. Fikir ev e ku xwendekar di her kêliyê de dikare destê xwe rake û bibêje: Ez difikirim ku tiştê ku te tenê got xelet e. Ew amûrek fêrbûnê ya girîng e. Ez naxwazim yek ji xwendekaran rûne û bêdeng ji xwe re bifikire: ev hemî bêwate xuya dike, lê pir tirsnak e ku meriv destê xwe rake, û bi rastî, ew profesor e, ji ber vê yekê her tiştê ku ew dibêje rast e. Ji ber vê yekê, heke ew pêşwext werin hişyar kirin ku ne her tiştê ku tê gotin ne hewce ye rast e, ew xwedî teşwîqek e ku bêtir bala xwe bidin materyalê. Ez bi eşkereyî dibêjim ku destê xwe rakin û pirsan bikin baş e. Pirsa we dibe ku bêaqil an naîf xuya bike, lê pir caran pirsên çêtirîn bi vî rengî têne çêkirin.

Alexei: Pir balkêş e. Bi gelemperî mirov xwedan celebek astengiyek psîkolojîk e ku nahêle ku ew pirsek ji profesor bipirsin. Nemaze heke di jûreyê de gelek kes hebin, û her kes ditirse ku nîqaşkirina pirsa weya ehmeq dê wextê van hemî mirovan bigire. Ma hîleyên ku bi vê yekê re mijûl bibin hene?

Maurice: Ez gelek caran disekinim û pirsên klasîk dipirsim. Dê her gotinek rast be, an ew ê çawa pirsgirêka li ser nîqaşê çareser bikin. Ev gavek sereke ye, nemaze di destpêka danişînê de, dema ku mirov şerm dikin ku tiştê herî piçûk jî bibêjin. Tu pirsekê ji xwendekaran dikî û tu tiştekî din nabêjî. Bêdengî heye, her kes piçekî teng dibe, tansiyon mezin dibe, dû re ji nişka ve kesek diqelişe, diqelişe û bersivê dibêje. Ji ber vê yekê hûn rewşê derdixin holê: ji bersivdayinê bêdengî û nerehettir dibe! Ev hîleke pedagojîk standard e. Divê her mamosteyek li cîhanê zanibe ku meriv vê yekê çawa bike.

Alexey: Naha ji bo vê hevpeyivînê sernavek me ya mezin heye: "Ji bêdengmayîna bersivdanê hêsantir e."

Vitaly: Bila ez tiştekî din ji te bipirsim. Hûn li ser delîlên topolojîk dixebitin. Hûn çawa tev li vê yekê bûn, ji ber ku hesab û topolojiya belavkirî tiştên bi tevahî cûda ne!

Maurice: Têkiliyek veşartî li wir heye. Dema ez xwendekar bûm û min matematîk dixwend, min matematîka pak dixwend. Heya dawiya xwendina xwe tu eleqeya min bi komputeran re tune bû û min xwe di nav hewcedariya lezgîn de dît ku li karekî bigerim. Wek xwendekar min topolojiya cebrî xwend. Gelek sal şûnda, dema ku li ser pirsgirêkek xebitîn bi navê "Pirsgirêka Peymana K-Set", Min grafîkan bikar anî da ku pirsgirêkê model bike û, wekî ku wê hingê xuya bû, çareseriyek dît. Pêdivî bû ku hûn tenê rûnin û li dora grafîkê bigerin. Biceribînin ku li ser vê grafîkê bersivek maqûl bibînin. Lê algorîtmaya min nexebitî: derket holê ku ew ê her gav di doran de bimeşe. Mixabin, yek ji van bi zimanê fermî yê teoriya grafikê, zimanê ku hemî zanyarên kompîturê dizanin, nehat rave kirin. Û paşê hat bîra min ku gelek sal berê, tewra di dersên topolojiyê de, me têgîn bikar anî "kompleksa sade", ku gelemperîkirina grafikan e ku ji bo pîvanên bilindtir e. Dûv re min ji xwe pirsî: heke em pirsgirêkê di warê kompleksên hêsan de ji nû ve formûl bikin dê çi bibe? Ev bû kilît. Bi karanîna formalîzmek bihêztir, pirsgirêk ji nişkê ve pir hêsan dibe. Mirov demeke dirêj bi wê re têkoşiya, grafikan bikar anîn, lê nikaribûn tiştek bikin. Û naha jî ew nikarin - bersiva rast ne algorîtma bû, lê delîla nepêkanîna çareserkirina pirsgirêkê bû. Ango algorîtmayek weha bi tenê tune. Lebê her delîlek ne gengaziyê an li ser kompleksên sade, an jî li ser tiştên ku mirov xwe wekî kompleksên sade nahesibîne bingeh digire. Ji ber ku we tiştek bi navekî nû vegot, ew eslê xwe winda nake.

Vitaliy: Derket holê ku hûn tenê bi şens bûn?

Maurice: Ji bilî bextê, ​​ew jî xwestanî. Wate, divê hûn tiştên "bêkêr" ên ku we berê fêr bûne ji bîr nekin. Tiştên bêkêr ku hûn fêr bibin, hûn ê bêtir têgihiştinê derxînin dema ku hûn bi pirsgirêkek nû re rû bi rû bimînin. Bi vî rengî lihevhatina şêwaza întuîtîv girîng e ji ber ku... Em tenê bibêjin, ew zincîrek e: di destpêkê de, min dît ku grafîk bi tevahî nexebitin an jî qet nexebitin, ew tiştek ji heşt sal berê anî bîra min. û salên xwendekariyê dema ku me van hemî kompleksên hêsan dixwend. Wekî din, vê yekê hişt ku ez pirtûka xweya topolojiya kevnar bibînim û wê dîsa di serê xwe de bar bikim. Lê eger ne ji wê zanîna kevn bûya, min ê di çareserkirina pirsgirêka eslî de tu carî pêş nexista.

Çapa nû ya Hunera Bernamesaziya Pir Prosesor

Alexey: Te çend gotin li ser pirtûka xwe got. Belkî ne raza herî mezin e ku we pirtûka herî navdar a cîhanê li ser pirtextê nivîsandiye, "Hunera Bernamesaziya Pir Prosesor". Ew jixwe nêzîkî 11 salî ye û ji hingê ve tenê derketiye  ji nû ve çapkirin. Wê çapa duyemîn hebe?

Maurice: Baş e ku te pirsî! Ew ê di demek nêzîk de, di sê mehan an de. Du nivîskarên din jî hene, me gelek materyal zêde kir, beşa li ser fork / tevlêbûna paralelîzmê çêtir kir, beşek li ser MapReduce nivîsand, gelek tiştên nû lê zêde kirin û yên nepêwîst avêtin - tiştek ku di dema nivîsandinê de pir balkêş bû. çapa yekem, lê îro nema ye. Derket holê ku ew pirtûkek pir bi ciddî hatî nûve kirin.

Alexei: Her tişt jixwe hatîye kirin, ma tenê berdan?

Maurice: Li ser çend beşan hîn jî divê bê xebitandin. Weşangerê me (Ez difikirim ku ew jixwe ji me nefret dike) hîn jî hewl dide ku ragihîne ku divê em zûtir bixebitin. Em pir li paş bernameyê ne. Bi awayekî teorîk, me dikarîbû çend sal berê vê pirtûkê bikira.

Alexey: Ma şansek heye ku meriv berî Sersalê guhertoyek nû ya pirtûkê bistîne?

Maurice: Armanca me ev e! Lê min gelek caran pêşbîniya serkeftinê kiriye ku êdî kes ji min bawer nake. Di vê mijarê de dibe ku hûn jî zêde ji min bawer nekin.

Alexei: Di ​​her rewşê de, ev nûçeyek fantastîk e. Min çapa yekem a pirtûkê pir eciband. Hûn dikarin bêjin ku ez heyranek im.

Maurice: Ez hêvî dikim ku çapa nû hêjayî kelecana weya germ be, spas!

Bîra danûstendinê çawa hate îcadkirin

Vitaly: Pirsa din di derbarê bîranîna danûstendinê de ye. Bi qasî ku ez têdigihim tu di vî warî de pêşeng î, te di demekê de îcad kir ku kes li tiştên wiha nedifikirî. Çima we biryar da ku hûn biçin vê herêmê? Çima danûstandin ji bo we girîng bûn? Ma we difikirî ku rojekê ew ê di hesin de werin çespandin?

Maurice: Min ji xwendina xwe ya mezûniyetê ve di derbarê danûstendinan de zanim.

Vitaliy: Erê, lê ev danûstandinên cûda ne!

Maurice: Ez bi Elliott Moss re li ser berhevkirina çopê ne-asteng xebitîm. Pirsgirêka me ev bû ku me dixwest bi atomî çend peyvan di bîranînê de biguhezînin û wê hingê algorîtma dê pir hêsan bibin, û bi kêmanî hin ji wan dê bikêrtir bibin. Bikaranîna berawirdkirin-û-swap bo load-link / store-conditionedJi hêla mîmariya paralel ve hatî peyda kirin, gengaz e ku meriv tiştek bike, lê ew pir bêkêmasî û xirab e ji ber ku hûn neçar in ku bi astên nerasterê re mijûl bibin. Ez dixwazim peyvên bîranînê biguherim û pêdivî ye ku ez biguherim ji ber ku ez tenê dikarim nîşanek biguherim, ji ber vê yekê ew hewce ne ku hindek avahiyek pelrêça-wek destnîşan bikin. Me behsa wê yekê kir ku ew ê çiqasî xweş be ger em karibin hardware biguhezînin da ku ew bi hevdemî tomar bike. Wusa dixuye ku Elliot vê yekê ferq kiriye: heke hûn li protokolên hevrêziya cache binêrin, ew jixwe piraniya fonksiyonên hewce peyda dikin. Di danûstendinek xweşbîn de, protokola hevrêziya cache-ê dê hebûna nakokiyek demkî bibîne û cache dê bibe seqet. Ger hûn bi spekulatîf dest bi danûstendinek li ser cache-ya xwe bikin û mekanîzmayên protokola hevrêziyê bikar bînin ji bo tespîtkirina nakokiyan çi dibe? Mîmariya hardware ya spekulatîf sêwirana hêsan bû. Ji ber vê yekê me ew nivîsand çapa yekem di derbarê bîranîna danûstendinê de. Di heman demê de, pargîdaniya ku ez jê re dixebitim, Digital Equipment Corporation, pêvajoyek nû ya 64-bit bi navê Alpha ava dikir. Bi vî awayî ez çûm û di derbarê bîranîna meya danûstendinê ya ecêb de pêşkêşiyek pêşkêşî tîmê pêşkeftina Alpha kir, û wan pirsî: heke em van hemî rasterast têxin nav pêvajoyê dê pargîdaniya me çi dahatiyek zêde bistîne? Û min tu bersîva wê tune bû, ji ber ku ez teknolog im, ez ne pisporê kirrûbirrê me. Bi rastî tiştekî ku ez bibêjim tune bû. Ji ber ku min tiştek nizanibû ew pir bandor nebûn.

Vitaly: Bi milyaran! Tenê bêje "milyaran"!

Maurice: Belê, ya ku divê ez bibêjim ev e. Naha, di serdema destpêk û her tiştî de, ez dizanim meriv çawa plansaziyek karsaziyê binivîsim. Ku hûn dikarin li ser mezinahiya qezenca potansiyel hinekî derewan bikin. Lê di wan rojan de ev yek bêaqil xuya dikir, lewra min tenê got: "Ez nizanim." Ger hûn li dîroka weşana di derbarê bîranîna danûstendinê de binihêrin, hûn ê bibînin ku piştî salekê çend referans jê re hebûn, û dûv re jî bi qasî deh salan kes qet vê gotarê negot. Gotin li dora 2004-an xuya bûn, dema ku pir-core rast derket holê. Dema ku mirovan kifş kir ku nivîsandina koda paralel dikare drav bide, lêkolînek nû dest pê kir. Ravi Rajwar gotarek nivîsand, ku bi rengekî serekî bi têgîna bîranîna danûstendinê re destnîşan kir. (Têbînî Edîtor: Vê gotarê guhertoyek duyemîn heye ku di sala 2010-an de derketiye û belaş heye wek PDF). Ji nişka ve, mirovan fêm kir ka meriv çawa bi rastî ev hemî dikare were bikar anîn, ew çawa dikarin algorîtmayên kevneşopî bi qefleyan bilezînin. Nimûneyek baş a tiştek ku di paşerojê de wekî pirsgirêkek akademîk a balkêş xuya dikir. Û erê, ger we wê demê ji min bipirsiya gelo ez difikirîm ku ev hemî dê di pêşerojê de girîng be, min ê bigota: bê guman, lê kengê tam ne diyar e. Dibe ku di 50 salan de? Di pratîkê de, ew tenê deh sal bû. Dema ku hûn tiştekî dikin pir xweş e û tenê di nav deh salan de mirov wê yekê dibînin.

Çima hêja ye ku di warê komputera belavbûyî de lêkolîn were kirin

Vitaly: Ger em li ser lêkolîna nû biaxivin, hûn ê çi ji xwendevanan re şîret bikin - hesabkirina belavkirî an pir-core û çima? 

Maurice: Van rojan girtina pêvajoyek pir-core hêsan e, lê sazkirina pergalek belavkirî ya rastîn dijwartir e. Min dest bi xebata li ser wan kir ji ber ku min dixwest tiştek ji doktoraya xwe cuda bikim. Ev şîreta ku ez her gav didim destpêkeran ev e: tezek paşverû nenivîsînin - hewl bidin ku ber bi rêyek nû ve biçin. Zêdeyî, multithreading hêsan e. Ez dikarim bêyî ku ji nav nivînan derkevim, li ser qalika xwe ya ku li ser laptopê dixebite biceribînim. Lê eger min ji nişka ve bixwesta pergalek belavbûyî ya rastîn biafirînim, diviyabû ez gelek kar bikim, xwendekaran bikişînim û hwd. Ez kesek tembel im û tercîh dikim ku li ser pir-core bixebitim. Ceribandina pergalên pir-bingehîn ji ceribandina bi yên belavbûyî re jî hêsantir e, ji ber ku tewra di pergalek belavbûyî ya bêaqil de jî gelek faktor hene ku werin kontrol kirin.

Vitaliy: Hûn niha çi dikin, li ser blokcheynê lêkolîn dikin? Divê hûn pêşî bala xwe bidin kîjan gotaran?

Maurice: Di demên dawî de xuya bû gotara pir başku min bi xwendekarê xwe, Vikram Saraf re, bi taybetî ji bo konferansên Tokenomcs li Parîsê sê hefte berê. Ev gotarek li ser pergalên belavbûyî yên bikêr e ku em tê de pêşniyar dikin ku Ethereum pir-têkilî bikin. Naha peymanên biaqil (kodê ku li ser zincîra blokê dimeşîne) bi rêz têne darve kirin. Me berê gotarek nivîsand ku li ser rêyek karanîna danûstendinên spekulatîf ji bo bilezkirina pêvajoyê axivî. Me gelek raman ji bîra danûstendina nermalavê girt û got ku heke hûn van ramanan bikin beşek ji makîneya virtual ya Etherium, wê hingê her tişt dê zûtir bixebite. Lê ji bo vê pêwîst e ku di peymanan de nakokiyên daneyan tune bin. Û paşê me texmîn kir ku di jiyana rastîn de bi rastî nakokiyên weha tune. Lê me derfet nedît ku em vê yekê bibînin. Dûv re hat bîra me ku hema hema deh sal dîroka peymana rastîn di destên me de ye, ji ber vê yekê me zincîra bloka Etherium dakêşand û me meraq kir: dê çi biqewime ger van tomarên dîrokî bi hev re bimeşin? Me di lezê de zêdebûnek girîng dît. Di rojên destpêkê yên Etherium de, leza pir zêde zêde bû, lê îro her tişt hinekî tevlihevtir e, ji ber ku peymanên hindiktir in û îhtîmala pevçûnên li ser daneyên ku serialîzasyonê hewce dike zêde bûye. Lê ev hemû xebatên ceribandinê yên bi daneyên rastîn ên dîrokî ne. Tiştê xweş di derbarê blockchain de ev e ku ew her tiştî her û her bi bîr tîne, ji ber vê yekê hûn dikarin li wextê xwe vegerin û lêkolîn bikin ka dê çi bibe heke me algorîtmayên din bikar bînin da ku kodê bimeşînin. Mirovên berê dê çawa ji ramana meya nû hez bikira. Pir hêsantir û xweştir e ku meriv lêkolînek weha bike, ji ber ku tiştek heye ku çavdêriya her tiştî dike û her tiştî tomar dike. Ev jixwe ji pêşkeftina algorîtmayan bêtir tiştek wekî sosyolojiyê ye.

Ma pêşkeftina algorîtmayan rawestiyaye û meriv çawa bijî

Vitaly: Dema pirsa teorîkî ya dawî ye! Ma ew hîs dike ku pêşkeftinên di strukturên daneya pêşbaziyê de her sal kêm dibin? Ma hûn difikirin ku em di têgihiştina xwe ya strukturên daneyê de gihîştine derecekê, an dê hin pêşkeftinên mezin hebin? Dibe ku hin ramanên jîr hene ku dikarin her tiştî bi tevahî biguhezînin?

Maurice: Dibe ku em di strukturên daneyê de ji bo mîmariyên kevneşopî gihîştine deştek. Lê strukturên daneyê yên ji bo mîmariyên nû hîn jî herêmek pir hêvîdar in. Ger hûn dixwazin strukturên daneyê ji bo, bêje, bilezkerên hardware biafirînin, wê hingê strukturên daneya GPU ji strukturên daneya CPU-yê pir cûda ne. Gava ku hûn strukturên daneyê ji bo zincîreyan sêwirînin, hûn hewce ne ku perçeyên daneyan bişopînin û dûv re wan bixin nav tiştek mîna dara merkleyê, ji bo pêşîlêgirtina sextekariyê. Di van demên dawî de di vî warî de çalakiyek zêde heye, gelek karekî pir baş dikin. Lê ez difikirim ku ya ku dê bibe ev e ku mîmariyên nû û serîlêdanên nû dê rê li ber avahiyên daneya nû vekin. Serîlêdanên kevn û mîmariya kevneşopî - dibe ku êdî ji bo lêkolînê pir cîh tune. Lê heke hûn ji rêça lêdanê derkevin û li ser devê mêze bikin, hûn ê tiştên dîn bibînin ku serpêhatiya sereke ciddî nagire - li vir e ku hemî tiştên balkêş bi rastî diqewimin.

Vitaly: Ji ber vê yekê, ji bo ku ez bibim lêkolînerek pir navdar, min neçar ma ku mîmariya xwe îcad bikim 🙂

Maurice: Hûn dikarin mîmariya nû ya kesek din "dizîn" - ew pir hêsantir xuya dike!

Li Zanîngeha Brown dixebite

Vitaliy: Tu dikarî zêdetir ji me re bibêjî Zanîngeha Brownku hûn tê de dixebitin? Di çarçoveya teknolojiya agahdariyê de li ser wî pir nayê zanîn. Mînakî, ji MÎT'ê kêmtir.

Maurice: Zanîngeha Brown yek ji kevintirîn zanîngehên Dewletên Yekbûyî ye. Ez difikirim ku tenê Harvard hinekî pîr e. Brown beşek ji navê ye lîgên îvy, ku berhevoka heşt zanîngehên herî kevn e. Harvard, Brown, Cornell, Yale, Columbia, Dartmouth, Pennsylvania, Princeton. Ev zanîngehek kevn, piçûk û piçekî arîstokrat e. Balkêş li ser perwerdehiya hunerên lîberal e. Hewl nade ku bibe mîna MÎT'ê, MÎT gelekî pispor û teknîk e. Brown ji bo xwendina Edebiyata Rûsî an Yewnanî ya Klasîk û, bê guman, Zanistiya Komputerê cîhek girîng e. Li ser perwerdehiya berfireh disekine. Piraniya xwendekarên me diçin Facebook, Apple, Google, ji ber vê yekê ez difikirim ku xwendekarên me çu pirsgirêk tune ku di pîşesaziyê de kar bikin. Ez çûm ku li Brown bixebitim ji ber ku berî wê ez li Pargîdaniya Amûrên Dîjîtal a Boston dixebitim. Ew pargîdaniyek bû ku gelek tiştên balkêş îcad kir, lê girîngiya komputerên kesane înkar kir. Şirketeke xwedî çarenûseke dijwar, damezrînerên wê demekê xortên şoreşger bûn, hînî tiştekî nebûn û tiştek ji bîr nekiribûn û ji ber vê jî di nava deh salan de ji şoreşgeran veguherîbûn bertekan. Wan hez dikir henek bikin ku komputerên kesane di garajekê de ne - bê guman, garajek berdayî. Pir eşkere ye ku ew ji hêla pargîdaniyên maqûltir ve hatine hilweşandin. Dema ku eşkere bû ku pargîdanî di tengasiyê de ye, min gazî hevalê xwe yê ji Brown, ku bi qasî saetekê ji Bostonê ye, kir. Min wê demê nexwest ji Bostonê derkevim, ji ber ku zanîngehên din gelek vala nebûn. Demek bû ku di warê Zanistiya Kompjuterê de bi qasî niha valahiyên zêde tunebûn. Û karekî Brown hebû, ne hewce bû ku ez ji mala xwe derkevim, ne hewce bû ku ez malbata xwe bar bikim, û ez bi rastî kêfa min ji jiyana li Boston re tê! Ji ber vê yekê min biryar da ku ez biçim Brown. Ez jê hez dikim. Xwendekar mezin in, ji ber vê yekê min qet hewl neda ku biçim cîhek din. Di rojekê de, ez salek li Microsoft-ê xebitîm, salek çûm Technion li Haifa, û nuha ez ê li Algorand bim. Li her derê gelek hevkarên min hene û ji ber vê yekê cîhê fîzîkî yên polên me ne ew qas girîng e. Lê ya herî girîng xwendekar in, ew li vir çêtirîn in. Min qet hewl nekiriye ku biçim cîhek din, ji ber ku ez li vir pir kêfxweş im.

Lêbelê tevî navdarbûna Brown li Dewletên Yekbûyî, ew li derveyî welêt ecêb nayê zanîn. Wek hûn jî dibînin, niha ez ji bo rastkirina vê rewşê çi ji destê min tê dikim.

Cûdahiya di navbera lêkolîna zanîngehê û pargîdanî de

Vitaliy: Baş e, pirsa din li ser Amûrên Dîjîtal e. Tu li wir lêkolîner bû. Cûdahiya di navbera xebata di beşa R&D ya pargîdaniyek mezin û xebata li zanîngehê de çi ye? awantaj û dezawantaj çi ne?

Maurice: Ez bîst sal in li Microsoft-ê me, ji nêz ve bi mirovên Sun Microsystems, Oracle, Facebook, û niha Algorand re dixebitim. Li ser van hemûyan ez dixwazim bibêjim ku hem di pargîdaniyan de hem jî li zanîngehê lêkolînek pola yekem pêkan e. Cûdahiya girîng ev e ku di pargîdaniyek de hûn bi hevkaran re dixebitin. Ger ji nişka ve ramanek min ji bo projeyek ku hîn tune be hebe, divê ez hevalên xwe razî bikim ku ev ramanek baş e. Ger ez li Brown bim, wê hingê ez dikarim ji xwendekarên xwe re bibêjim: werin em li ser antîgravîtiyê bixebitin! Ew ê yan biçin cem kesekî din an jî wê projeyê bigirin ser xwe. Erê, ez ê hewce bikim ku fînansê bibînim, ez ê hewce bikim ku serîlêdana alîkariyê binivîsim û hwd. Di her rewşê de, dê her gav gelek xwendekar hebin, û hûn ê bikaribin yekalî biryaran bidin. Lê li zanîngehê, bi îhtîmalek mezin hûn ê bi mirovên asta xwe re nexebitin. Di cîhana lêkolîna pîşesaziyê de, divê hûn pêşî her kesî qanih bikin ku projeya we hêja ye ku li ber xwe bide. Ez nikarim tiştekî ji kesî re emir bikim. Û van her du awayên xebatê hêja ne, ji ber ku ger hûn li ser tiştek bi rastî dînan bixebitin û hevkarên we razî nebin, îqnakirina xwendekarên mezûn hêsantir e - nemaze heke hûn heqê wan bidin. Ger hûn li ser tiştek dixebitin ku gelek ezmûn û pisporiya kûr hewce dike, wê hingê hûn hewceyê hevkarên ku dikarin bibêjin "na, wusa diqewime ku ez vê deverê fêm dikim û ramana we xirab e, tiştek jê dernakeve." Ev di warê windakirina demê de pir bikêr e. Û her weha, heke hûn di laboratîfên pîşesaziyê de gelek wext dinivîsin raporan derbas dikin, wê hingê li zanîngehê hûn vê demê derbas dikin da ku drav bibînin. Ger ez bixwazim xwendekar karibin li deverekê bigerin, divê ez pereyê wê li cîhek din bibînim. Û pozîsyona we ya li zanîngehê her ku girîngtir be, ew qas wextê we heye ku hûn drav berhev bikin. Ji ber vê yekê, naha hûn dizanin ez çi kar dikim - parsekek profesyonel! Mîna yek ji wan rahîbên ku bi plakaya bexşînê li dora xwe digerin. Bi giştî ev her du çalakî hevdu temam dikin. Ji ber vê yekê ez hewl didim ku di her du cîhan de bi hêz bijîm û bisekinim.

Vitaliy: Wusa dixuye ku qanihkirina pargîdaniyek ji qanîkirina zanyarên din dijwartir e.

Maurice: Zehmettir, û hê bêtir. Wekî din, di warên cûda de ew cûda ye: kesek lêkolînek tev-pîvanî dike, û kesek li ser mijara xwe disekine. Ger ez biçûma Microsoft an Facebook-ê û bigota, em antî-gravîtiyê bikin, ew ê qedrê wê bikin. Lê ger min tam heman tişt ji xwendekarên xwe yên mezûn re bigota, ew ê bi îhtîmalek tavilê dest bi xebatê bikin, her çend naha dê jixwe pirsgirêkek min hebe - ji ber ku hûn hewce ne ku ji bo vê yekê drav bibînin. Lê heya ku hûn dixwazin li gorî armancên pargîdaniyê tiştek bikin, ew pargîdanî dikare ji bo lêkolînê cîhek pir baş be.

Hydra û SPTDC

Vitaliy: Pirsên min ber bi dawiyê ve diçin, ji ber vê yekê em hinekî li ser gera tê ya Rûsyayê biaxivin.

Maurice: Erê, ez li bendê me ku vegerim Petersburgê.

Alexey: Ji bo min rûmetek mezin e ku hûn îsal bi me re ne. Ev cara duyemîn e ku hûn li St.

Maurice: Jixwe ya sêyemîn!

Alexei: Fêm, lê SPTDC - tam ya duyem. Cara dawîn bang li dibistanê kirin SPTCC, aniha me tîpek (C ber D, Hevdem bo Belavkirî) guhertiye da ku em tekez bikin ku îsal bêtir deverên girêdayî bi komputera belavbûyî hene. Tu dikarî çend peyvan li ser pêşkêşiyên xwe yên li Dibistanê û konferansên Hydra?

Maurice: Li Dibistanê, ez dixwazim li ser bingehên blokcheynê biaxivim û hûn dikarin bi çi bikin. Ez dixwazim destnîşan bikim ku zincîra blokan pir dişibihe bernamesaziya pir-mijara ku em pê nas dikin, lê bi hûrgelên xwe ne, û girîng e ku meriv van cûdahiyan fam bike. Ger hûn di serîlêdanek webê ya normal de xeletiyek bikin, ew tenê aciz e. Ger hûn koda xeletiyê di serîlêdanek darayî de binivîsin, kesek bê guman dê hemî dravê we dizîne. Ev asta berpirsiyarî û encamên bi tevahî cûda ye. Ez ê hinekî li ser delîl-kar, peymanên biaqil, danûstendinên di navbera blokên cihêreng de biaxivim.

Axaftvanên din dê li tenişta min bixebitin, yên ku di derbarê blokê de jî tiştek hene ku bibêjin, û me li hev kir ku em di nav xwe de hevrêz bikin da ku çîrokên me baş li hev bikin. Lê ji bo axaftina endezyariyê, ez dixwazim ji temaşevanek berfireh re ravekirinek zelal bidim ka çima divê hûn ji her tiştê ku hûn li ser zincîreyan dibihîzin bawer nekin, çima zincîra blokan qadek mezin e, ew çawa bi ramanên din ên naskirî re têkildar e, û çima divê em bi wêrekî li pêşerojê binêre.

Alexey: Wekî din, ez dixwazim bibêjim ku ev ê wekî du sal berê ne di forma hevdîtinek an komek bikarhêner de pêk were. Me biryar da ku em li nêzî dibistanê konferanseke biçûk pêk bînin. Sedem ev e ku piştî axaftina bi Peter Kuznetsov re, me fêm kir ku dibistan tenê ji sed, belkî 120 kesan re sînorkirî ye. Di heman demê de, gelek endezyar hene ku dixwazin bi we re biaxivin, beşdarî raporan bibin û bi gelemperî bi mijarê re eleqedar dibin. Ji bo vê me konferansek nû ava kir bi navê Hydra. Bi awayê, ramanek çima Hydra?

Maurice: Ji ber ku wê heft axaftvan hebin? Û ew dikarin serê wan bên jêkirin, û axaftvanên nû dê li şûna wan mezin bibin?

Alexey: Ji bo mezinbûna axaftvanên nû ramanek mezin. Lê bi rastî, li vir çîrokek heye. efsaneya Odysseus bînin bîra xwe, ku ew neçar ma ku di navberê de bi keştiyê biçe Scylla û Charybdis? Hydra tiştek mîna Charybdis e. Çîrok ev e ku carekê min di konferansekê de axivî û li ser pirtextî axivî. Di vê konferansê de tenê du rê hebûn. Di destpêka raporê de, min ji temaşevanên li salonê re got ku êdî di navbera Scylla û Charybdis de hilbijartinek heye. Heywanê ruhê min Çarîbdî ye, ji ber ku Xerîbdî gelek ser hene, û temaya min pir-têlan e. Navên konferansan bi vî awayî xuya dikin.

Di her rewşê de, me hem ji pirs û hem jî dem xilas kir. Ji ber vê yekê spas ji hevalan re ji bo hevpeyivînek hêja û we li SPTDC û Hydra 2019 bibînin!

Di konferansa Hydra 2019 de, ku dê di 11-12 Tîrmeh 2019 de li St. Ew ê bi raporekê were "Blockchains û pêşeroja komputera belavkirî". Bilêt dikarin bên kirîn li ser malpera fermî.

Source: www.habr.com

Add a comment