"Li pi fasil pou reponn pase pou rete an silans" - yon gwo entèvyou ak papa memwa tranzaksyon, Maurice Herlihy.

Maurice Herlihy - pwopriyetè de Dijkstra Prizes. Premye a se pou travay sou "Tann-gratis senkronizasyon" (Brown University) ak dezyèm lan, ki pi resan, - "Memwa tranzaksyon: Sipò achitekti pou estrikti done ki pa fèmen yo" (Virginia Tech University). Pri Dijkstra yo bay pou travay ki gen siyifikasyon ak enfliyans yo te vizib pou omwen dis ane epi Maurice se evidamman youn nan espesyalis ki pi popilè nan domèn nan. Kounye a li travay kòm yon pwofesè nan Brown University e li gen anpil reyalizasyon ki se yon paragraf long. Kounye a li ap fè rechèch sou blockchain nan yon kontèks enfòmatik distribye klasik.

Anvan sa, Maurice te deja vini nan Larisi pou SPTCC (kasèt videyo) e li te fè yon reyinyon ekselan nan kominote devlopè Java JUG.ru nan Saint Petersburg (kasèt videyo).

Habrapost sa a se yon gwo entèvyou ak Maurice Herlihy. Li diskite sou sijè sa yo:

  • Entèaksyon ant inivèsite ak endistri;
  • Fondasyon pou rechèch Blockchain;
  • Ki kote lide zouti soti? Enfliyans nan popilarite;
  • PhD anba sipèvizyon Barbara Liskov;
  • Mond lan ap tann milti-nwayo;
  • Yon nouvo monn pote nouvo pwoblèm. NVM, NUMA ak piratage achitekti;
  • Konpilateur vs processeur, RISC vs CISC, pataje memwa vs mesaj pase;
  • Atizay pou ekri kòd frajil milti-threaded;
  • Ki jan yo anseye elèv yo ekri kòd konplèks milti-threaded;
  • Nouvo edisyon liv "The Art of Multiprocessor Programming";
  • Ki jan memwa tranzaksyon yo te envante;   
  • Poukisa li vo fè rechèch nan domèn distribye informatique;
  • Èske devlopman algoritm yo sispann, ak kouman pou avanse pou pi sou;
  • Travay nan Brown University;
  • Diferans ki genyen ant rechèch nan yon inivèsite ak nan yon sosyete;
  • Hydra ak SPTDC.

Entèvyou a fèt pa:

Vitali Aksenov — kounye a, post-doktora nan IST Otrich ak anplwaye nan Depatman Teknoloji Odinatè nan ITMO University. Fè rechèch nan domèn teyori ak pratik estrikti done konpetitif. Anvan li te travay nan IST, li te resevwa PhD nan Paris Diderot University ak ITMO University anba sipèvizyon Pwofesè Peter Kuznetsov.

Alexey Fedorov - Pwodiktè nan JUG Ru Group, yon konpayi Ris ki òganize konferans pou devlopè yo. Alexey te patisipe nan preparasyon an nan plis pase konferans 50, ak rezime li a gen ladan tout bagay soti nan pozisyon nan yon enjenyè devlopman nan Oracle (JCK, Java Platform Group) nan pozisyon nan yon pwomotè nan Odnoklassniki.

Vladimir Sitnikov - Enjenyè nan Netcracker. Dis ane travay sou pèfòmans ak évolutivité NetCracker OS, lojisyèl operatè telecom yo itilize pou otomatize pwosesis jesyon ekipman rezo ak rezo. Enterese nan pwoblèm pèfòmans Java ak Oracle Database. Otè plis pase yon douzèn amelyorasyon pèfòmans nan chofè ofisyèl PostgreSQL JDBC.

Entèraksyon ant inivèsite ak endistri

Alexey: Maurice, ou te travay nan yon anviwònman akademik pou yon tan trè lontan ak premye kesyon an se entèraksyon ki genyen ant esfè akademik ak endistriyèl. Èske ou ta ka pale sou ki jan entèraksyon ant yo te chanje dènyèman? Kisa ki te pase 20-30 ane de sa e kisa k ap pase kounye a? 

Maurice: Mwen te toujou eseye travay kole kole ak konpayi komèsyal paske yo gen pwoblèm enteresan. Yo, kòm yon règ, yo pa trè enterese ni nan pibliye rezilta yo oswa nan eksplikasyon detaye sou pwoblèm yo nan kominote mondyal la. Yo sèlman enterese nan rezoud pwoblèm sa yo. Mwen te travay pou konpayi sa yo pou kèk tan. Mwen te pase senk ane ap travay aplentan nan yon laboratwa rechèch nan Digital Equipment Corporation, ki te konn se yon gwo konpayi òdinatè. Mwen te travay yon jou pa semèn nan Sun, nan Microsoft, nan Oracle, epi mwen te fè yon ti travay nan Facebook. Koulye a, mwen pral ale nan yon konje sabatik (yon pwofesè nan yon inivèsite Ameriken gen dwa pran yon konje konsa pou yon ane apeprè yon fwa chak sis ane) ak travay nan Algorand, sa a se yon konpayi cryptocurrency nan Boston. Travay kole kole ak konpayi yo te toujou yon plezi paske se konsa ou aprann sou bagay nouvo ak enteresan. Ou ta ka menm premye oswa dezyèm moun ki pibliye yon atik sou yon sijè chwazi, olye ke travay sou incrémentielle amelyore solisyon a pwoblèm ke tout lòt moun deja ap travay sou.

Alexey: Ou ka di nou an plis detay kijan sa rive?

Maurice: Natirèlman. Ou konnen, lè mwen t ap travay nan Digital Equipment Corporation, mwen menm ak Elliot Moss, nou te envante memwa tranzaksyon. Se te yon peryòd anpil pitit pitit lè tout moun te kòmanse enterese nan teknoloji enfòmasyon. Paralelis, ki gen ladan, byenke sistèm milti-nwayo pa t 'ankò egziste. Pandan jou Solèy ak Oracle, mwen te travay anpil sou estrikti done paralèl. Nan Facebook mwen te travay sou pwojè blockchain yo, ki mwen pa ka pale sou, men mwen espere ke li ale piblik byento. Ane pwochèn, nan Algorand, mwen pral travay nan yon gwoup rechèch etidye kontra entelijan.

Alexey: Blockchain te vin yon sijè trè popilè nan dènye ane yo. Èske sa ap ede rechèch ou a? Petèt li pral rann li pi fasil pou jwenn sibvansyon oswa bay aksè a resous nan men konpayi k ap opere nan endistri a?

Maurice: Mwen deja resevwa yon ti sibvansyon nan men Fondasyon Ethereum. Popilarite blockchain trè itil nan enspire elèv yo travay nan domèn sa a. Yo trè enterese nan li epi yo eksite pou patisipe, men pafwa yo pa reyalize ke rechèch la ki son enteresan sou deyò a vire soti nan enplike reyèlman travay di. Sepandan, mwen vrèman kontan itilize tout mistik sa a alantou blockchain pou ede atire elèv yo. 

Men, sa se pa tout. Mwen sou konsèy konsiltatif plizyè demaraj blockchain. Kèk nan yo ka reyisi, kèk nan yo ka pa, men li toujou trè enteresan yo wè lide yo, etidye yo ak konseye moun. Bagay ki pi enteresan an se lè w avèti moun pou yo pa fè yon bagay. Anpil bagay sanble yon bon lide nan premye, men yo vrèman?

Fondasyon pou rechèch Blockchain

Vitaly: Gen kèk moun ki panse ke lavni an se ak blockchain la ak algoritm li yo. Ak lòt moun di se jis yon lòt ti wonn. Èske w ka pataje opinyon w sou zafè sa a?

Maurice: Anpil nan sa k ap pase nan mond blockchain a pa bon, gen kèk se jis yon tronpe, anpil se surévalué. Sepandan, mwen panse ke gen yon baz solid syantifik pou etid sa yo. Lefèt ke mond lan blockchain plen ak diferans ideolojik montre nivo eksitasyon ak devouman. Nan lòt men an, sa a se pa patikilyèman benefisye pou rechèch syantifik. Koulye a, si ou pibliye yon atik ki pale sou enpèfeksyon yo nan yon algorithm patikilye, reyaksyon an ki kapab lakòz se pa toujou konplètman syantifik. Souvan moun jete emosyon yo. Mwen panse ke kalite eksitasyon sa a nan zòn sa a ka sanble atire pou kèk, men nan fen jounen an, gen reyèl pwoblèm syantifik ak jeni ki bezwen adrese. Genyen anpil Syans enfòmatik isit la.

Vitaly: Se konsa, ou ap eseye mete fondasyon an pou rechèch blòk, pa vre?

Maurice: Mwen ap eseye poze fondasyon pou yon disiplin solid, syantifikman ak matematik ki solid. Ak yon pati nan pwoblèm nan se ke pafwa ou gen kontredi kèk nan pozisyon yo tro piman bouk lòt moun ak inyore yo. Pafwa moun mande poukisa mwen travay nan yon zòn kote sèlman teworis ak trafikè dwòg ki enterese. Yon reyaksyon konsa san sans menm jan ak konpòtman disip yo ki avèg repete pawòl ou yo. Mwen panse ke verite a se yon kote nan mitan an. Blockchain pral gen yon gwo enpak sou sosyete a ak ekonomi mondyal la. Men, sa a pwobableman pa pral rive gras a teknoloji modèn. Teknoloji modèn yo pral devlope ak sa yo pral rele blockchain nan lavni an ap vin trè enpòtan. Li ka pa menm sanble ak blockchains modèn, sa se yon kesyon ouvè.

Si moun envante nouvo teknoloji, yo pral kontinye rele li blockchain. Mwen vle di, menm jan ak Fortran jodi a pa gen anyen fè ak lang Fortran nan ane 1960 yo, men tout moun kontinye rele li Fortran. Menm bagay la tou pou UNIX. Sa yo rele "blockchain" ap toujou fè revolisyon li yo. Men, mwen gen dout nouvo blockchain sa a pral yon bagay tankou sa tout moun renmen itilize jodi a.

Ki kote lide zouti soti? Enpak popilarite

Alexey: Èske popilarite blockchain te mennen nan nouvo rezilta nan yon pwen de vi syantifik? Plis entèraksyon, plis elèv, plis konpayi nan zòn nan. Èske gen deja rezilta nan ogmantasyon popilarite sa a?

Maurice: Mwen te vin enterese nan sa lè yon moun te remèt mwen yon feyè ofisyèl pou yon konpayi ki te fèk ranmase anpil lajan. Li te ekri sou travay jeneral Bizanten yo, ak ki mwen plis pase abitye. Sa ki te ekri nan feyè a te klèman teknikman kòrèk. Moun ki te ekri tout bagay sa yo pat byen konprann modèl ki dèyè pwoblèm nan... e poutan konpayi sa a te ranmase anpil lajan. Imedyatman, konpayi an tou dousman ranplase feyè sa a ak yon vèsyon ki pi kòrèk - epi mwen pa pral di ki non konpayi sa a te. Yo toujou alantou epi yo fè trè byen. Ensidan sa a te konvenk mwen ke, premyèman, blockchain se tou senpleman yon fòm distribye informatique. Dezyèmman, papòt la antre (omwen lè sa a, kat ane de sa) te byen ba. Moun k ap travay nan domèn sa a te trè enèjik ak entèlijan, men yo pa t li papye syantifik. Yo te eseye reenvante bagay li te ye e yo te fè li mal. Jodi a dram nan diminye.

Alexey: Sa a trè enteresan, paske kèk ane de sa nou te gen yon tandans diferan. Se yon ti jan tankou devlopman front-end, lè navigatè ki baze sou devlopè front-end reenvante tout teknoloji ki te deja popilè nan back-end la: bati sistèm, entegrasyon kontinyèl, bagay sa yo. 

Maurice: mwen dakò. Men, sa a pa etone, paske lide vrèman zouti toujou soti deyò kominote a etabli. Chèchè etabli yo, espesyalman akademik etabli yo, pa gen anpil chans pou fè anyen ki vrèman inogirasyon. Li fasil pou w ekri yon papye pou pwochen konferans lan sou fason ou te amelyore yon ti kras rezilta travay ou te pase yo. Ale nan yon konferans, jwenn ansanm ak zanmi, pale sou menm bagay yo. Ak moun ki pete nan ak lide zouti prèske toujou soti deyò. Yo pa konnen règ yo, yo pa konnen lang lan, men kanmenm... Si ou nan yon kominote etabli, mwen konseye w peye atansyon sou nouvo bagay, nan yon bagay ki pa anfòm nan imaj la an jeneral. Nan yon sans, yon tantativ ka fèt pou konbine ekstèn, devlopman plis likid ak metòd ke nou deja konprann. Kòm yon premye etap, eseye etabli yon baz syantifik, ak Lè sa a, chanje li pou ke li ka aplike nan nouvo lide zouti. Mwen panse ke blockchain se gwo pou yo te yon lide fre, deranje.

Alexey: poukisa ou panse sa rive? Paske moun "deyò" pa gen okenn baryè espesifik nannan nan kominote a?

Maurice: Gen yon modèl k ap pase isit la. Si ou li istwa a nan enpresyonist yo nan penti ak atizay an jeneral, Lè sa a, nan yon sèl fwa atis pi popilè rejte enpresyonism. Yo te di se yon ti jan timoun. Yon jenerasyon pita, fòm atizay sa a te deja rejte te vin estanda a. Ki sa mwen wè nan domèn mwen an: envantè yo nan blockchain pa te enterese nan pouvwa, nan ogmante piblikasyon ak endèks sitasyon, yo jis te vle fè yon bagay ki bon. Se konsa yo te chita epi yo te kòmanse fè li. Yo te manke yon sèten kantite pwofondè teknik, men sa a ka fikse. Li pi difisil pou vini ak nouvo lide kreyatif pase pou korije ak ranfòse sa ki pa gen ase matirite. Mèsi a envantè sa yo, kounye a mwen gen yon bagay pou m fè!

Alexey: Sa a se menm jan ak diferans ki genyen ant demaraj ak pwojè eritaj. Nou eritye anpil limit nan panse, baryè, kondisyon espesyal, ak sou sa.

Maurice: Yon bon analoji se distribiye informatique. Panse a blockchain kòm si li te yon demaraj ak distribye informatique kòm yon gwo konpayi etabli. Distribiye informatique se nan pwosesis pou yo akeri ak fizyone ak blockchain.

PhD anba sipèvizyon Barbara Liskov

Vitaly: Nou toujou gen anpil kesyon! Nou t ap chèche nan background ou epi nou te jwenn yon reyalite enteresan sou doktora ou. Wi, sa a te yon bon bout tan de sa, men li sanble se yon sijè enpòtan. Ou te resevwa doktora ou anba gidans tèt ou Barbara Liskov! Barbara se trè byen li te ye nan kominote a lang pwogramasyon, ak yon moun trè byen li te ye an jeneral. Li lojik ke rechèch ou an te nan domèn langaj pwogramasyon. Ki jan ou te chanje nan paralèl informatique? Poukisa ou deside chanje sijè a?

Maurice: Nan epòk la, Barbara ak gwoup li a te jis gade nan distribye informatique, ki te yon lide trè nouvo. Te gen tou moun ki te di ke distribye informatique se yon istwa san sans e ke òdinatè yo kominike youn ak lòt pa gen sans. Youn nan pwoblèm yo adrese nan distribye informatique ki distenge li ak santralize informatique se tolerans fay. Apre anpil rechèch, nou te deside ke yon langaj pwogramasyon distribye informatique bezwen gen yon bagay tankou tranzaksyon atomik paske ou pa janm ka asire w ke yon apèl aleka pral reyisi. Yon fwa ou gen tranzaksyon yo, pwoblèm nan nan jesyon konkouran rive. Lè sa a, te gen anpil travay sou jwenn estrikti done tranzaksyon trè paralèl. Lè sa a, lè mwen gradye, mwen te ale nan Carnegie Mellon epi yo te kòmanse chèche yon sijè pou travay sou. Li te rive m 'ke informatique te deplase soti nan òdinatè endividyèl yo nan rezo òdinatè. Multiprocessors ta dwe yon kontinyasyon natirèl nan pwogrè - mo "milti-nwayo" pa t 'ankò egziste. Mwen te panse: ki sa ki ekivalan a nan tranzaksyon atomik pou yon sistèm milti-nwayo? Definitivman pa tranzaksyon regilye paske yo twò gwo ak lou. E se konsa mwen te vini ak lide a lineizabilite e se konsa mwen te vini ak tout senkronizasyon datant-gratis la. Sa a se te yon tantativ pou reponn kesyon an nan ki sa ki analòg nan tranzaksyon atomik pou yon sistèm multiprocesseur ak memwa pataje. Nan premye gade, travay sa a ka sanble konplètman diferan, men an reyalite li se yon kontinyasyon nan menm tèm nan.

Mond lan ap tann pou milti-nwayo

Vitaly: Ou mansyone ke nan epòk sa a te gen anpil òdinatè milti-nwayo, pa vre?

Maurice: yo jis pat la. Te gen plizyè sa yo rele simetrik multiproseseur, ki te fondamantalman konekte nan otobis la menm. Sa a pa t travay trè byen paske chak fwa yon nouvo konpayi te kreye yon bagay ki sanble, Intel ta lage yon sèl processeur ki te siperyè multiprocesseur a.

Alexey: Èske sa pa vle di ke nan tan lontan sa yo se te plis nan yon etid teyorik?

Maurice: Se pa yon etid teyorik, men pito yon etid spéculatif. Tout bagay sa yo pa t sou travay ak anpil teyorèm, pito, nou te pwopoze ipotèz sou yon achitekti ki pa t egziste nan epòk sa a. Se pou sa rechèch! Okenn konpayi pa t ap fè yon bagay konsa; se te yon bagay ki soti nan tan kap vini an byen lwen. An reyalite, sa a te ka a jouk 2004, lè reyèl processeurs milti-nwayo parèt. Paske processeurs surchof, ou ka fè processeur a menm pi piti, men ou pa ka fè li pi vit. Poutèt sa, te gen yon tranzisyon nan achitekti milti-nwayo. Lè sa a, sa vle di ke toudenkou te gen yon itilizasyon pou tout konsèp yo ke nou te devlope nan tan lontan an.

Alexey: Poukisa ou panse processeurs milti-nwayo parèt sèlman nan ane XNUMX yo? Se konsa, poukisa li tèlman ta?

Maurice: Sa a se akòz limit pyès ki nan konpitè. Intel, AMD ak lòt konpayi yo trè bon nan ogmante vitès processeur. Lè nan kèk pwen processeurs yo te vin piti ase ke yo pa t 'kapab ogmante vitès revèy la ankò paske processeurs yo ta kòmanse boule. Ou ka fè yo pi piti, men pa pi vit. Ki sa ki nan pouvwa yo - olye pou yo yon processeur piti anpil, yo ka anfòm uit, sèz oswa trant-de processeurs nan volim nan menm nan ka a, kote deja yon sèl te kapab anfòm. Koulye a, ou gen multithreading ak kominikasyon rapid ant yo paske yo pataje kachèt. Men, ou pa ka fòse yo kouri pi vit - gen yon limit vitès trè espesifik. Yo kontinye amelyore ti kras pa ti kras, men pa sa anpil ankò. Lwa fizik yo te kanpe nan chemen amelyorasyon.

Yon nouvo monn pote nouvo pwoblèm. NUMA, NVM ak piratage achitekti

Alexey: Son trè rezonab. Ak nouvo processeurs milti-nwayo te vin nouvo pwoblèm. Èske ou menm ak kòlèg ou yo te atann pwoblèm sa yo? Petèt ou te etidye yo davans? Nan syans teyorik li souvan pa trè fasil predi bagay sa yo. Lè pwoblèm yo te rive, ki jan yo te satisfè atant ou ak kòlèg ou yo? Oswa èske yo te konplètman nouvo, epi ou menm ak kòlèg ou yo te oblije pase anpil tan rezoud pwoblèm jan yo te parèt?

Vitaly: Mwen pral ajoute nan kesyon Alexey a: èske ou kòrèkteman predi achitekti processeur a pandan w ap etidye teyori a?

Maurice: pa 100%. Men, mwen panse ke kòlèg mwen yo ak mwen te fè yon bon travay predi milti-nwayo ak memwa pataje. Mwen panse ke nou kòrèkteman prevwa difikilte yo nan devlope estrikti done paralèl ki opere san kadna. Estrikti done sa yo te enpòtan pou anpil aplikasyon, byenke se pa tout, men souvan sa ou reyèlman bezwen se yon estrikti done ki pa bloke. Lè nou envante yo, anpil te diskite ke sa a te istwa san sans, ke tout bagay te travay byen ak kadna. Nou te prevwa byen ke ta gen solisyon pare pou anpil pwoblèm pwogramasyon ak pwoblèm estrikti done. Te gen tou pwoblèm pi konplèks, tankou NAN - aksè inegal nan memwa. An reyalite, yo pa te menm konsidere jiskaske processeurs milti-nwayo yo te envante paske yo te twò espesifik. Kominote rechèch la t ap travay sou kesyon ki jeneralman previzib. Gen kèk pwoblèm pyès ki nan konpitè ki asosye ak achitekti espesifik te oblije rete tann nan zèl yo - an reyalite, aparans nan achitekti sa yo. Pa egzanp, pèsonn pa t vrèman travay sou estrikti done espesifik GPU paske GPU pa t egziste lè sa a. Malgre ke anpil travay te fèt sou SIMD, algoritm sa yo te pare pou itilize le pli vit ke pyès ki nan konpitè apwopriye te vin disponib. Sepandan, li enposib pou prevwa tout bagay.

Alexey: Si mwen byen konprann, NUMA se yon kalite konpwomi ant pri, pèfòmans ak kèk lòt bagay. Nenpòt lide poukisa NUMA te soti konsa an reta?

Maurice: Mwen panse ke NUMA egziste akòz pwoblèm ki genyen ak pyès ki nan konpitè yo itilize pou pwodui memwa: plis konpozan yo lwen, se pi dousman pou jwenn aksè a yo. Yon lòt bò, dezyèm valè abstraksyon sa a se inifòmite memwa. Se konsa, youn nan karakteristik sa yo nan paralèl informatique se ke tout abstraksyon yo se yon ti kras kase. Si aksè a te parfe inifòm, tout memwa ta dwe ekidistan, men sa a se ekonomikman, e petèt menm fizikman, enposib. Se poutèt sa konfli sa a rive. Si ou ekri pwogram ou a tankou si memwa te inifòm, Lè sa a, li pral gen plis chans kòrèk. Nan sans ke li pap bay move repons. Men, pèfòmans li pa pral trape zetwal yo nan syèl la tou. Menm jan an tou, si ou ekri spinlocks San yo pa konprann yerachi a kachèt, bloke nan tèt li pral kòrèk, men ou ka bliye sou pèfòmans. Nan yon sans, ou dwe ekri pwogram ki viv sou tèt yon abstraksyon trè senp, men ou dwe depase moun ki te ba ou abstraksyon sa a: ou dwe konnen ke anba abstraksyon an gen kèk yerachi nan memwa, ke gen yon otobis ant ou menm ak memwa sa a, ak sou sa. Kidonk, gen kèk konfli ant abstraksyon endividyèlman itil, ki mennen nou nan pwoblèm trè konkrè ak pragmatik.

Vitaly: e lavni? Èske ou ka predi ki jan processeurs ap devlope pwochen? Gen yon lide ke youn nan repons yo se memwa tranzaksyon. Ou pwobableman gen yon lòt bagay nan stock.

Maurice: Gen yon koup de gwo defi devan yo. Youn nan se ke memwa aderan se yon abstraksyon bèl bagay, men li kòmanse kraze nan ka espesyal. Kidonk, pou egzanp, NUMA se yon egzanp vivan nan yon bagay kote ou ka kontinye pretann ke memwa inifòm egziste. Aktyèlman non, pwodiktivite ap fè ou kriye. Nan kèk pwen, achitèk yo pral oblije abandone lide a nan yon achitekti memwa sèl; ou pa ka pretann pou tout tan. Nouvo modèl pwogramasyon yo pral bezwen ki ase fasil pou itilize ak pwisan ase pou fè pyès ki nan konpitè ki kache efikas. Sa a se yon konpwomi trè difisil, paske si ou montre pwogramè achitekti ki aktyèlman itilize nan pyès ki nan konpitè yo, yo pral fou. Li twò konplike epi li pa pòtab. Si ou prezante yon koòdone ki twò senp, pèfòmans lan pral pòv. Kidonk, anpil konpwomi trè difisil yo pral bezwen fèt pou bay modèl pwogramasyon itil ki aplikab pou processeurs milti-nwayo vrèman gwo. Mwen pa sèten ke nenpòt moun ki pa yon espesyalis ki kapab pwogramasyon sou yon òdinatè 2000-debaz. Epi sof si w ap fè anpil espesyalize oswa syantifik informatique oswa kriptografik oswa yon bagay tankou sa - li la toujou pa klè ditou ki jan fè li kòrèkteman. 

Yon lòt zòn ki sanble se achitekti espesyalize. Akseleratè grafik yo te alantou pou yon tan long, men yo te vin tounen yon bagay nan yon egzanp klasik ki jan ou ka pran yon kalite espesyalize nan informatique epi kouri li sou yon chip devwe. Sa a ajoute pwòp defi li yo: ki jan ou kominike ak yon aparèy konsa, ki jan ou pwograme li. Dènyèman mwen te travay sou pwoblèm nan zòn nan tou pre memwa informatique. Ou pran yon ti processeur epi kole li nan yon gwo moso memwa pou memwa a kouri nan vitès kachèt L1 epi li kominike ak yon aparèy tankou TPU – processeur a okipe chaje nouvo travay nan nwayo memwa ou. Desine estrikti done ak pwotokòl kominikasyon pou kalite bagay sa a se yon lòt egzanp enteresan. Se konsa, processeurs koutim ak pyès ki nan konpitè yo ap kontinye wè amelyorasyon pou kèk tan.

Alexey: E sou memwa ki pa temèt (ki pa temèt memwa)?

Maurice: Oh, sa se yon lòt bèl egzanp! NVM pral chanje anpil fason nou gade bagay tankou estrikti done yo. Memwa ki pa temèt, nan yon sans, pwomèt vrèman akselere bagay yo. Men, li pa pral fè lavi a pi fasil paske pifò processeurs, kachèt, ak anrejistre yo toujou temèt. Lè ou kòmanse apre yon aksidan, eta ou ak eta memwa ou pa pral egzakteman menm jan ak anvan aksidan an. Mwen trè rekonesan anvè moun k ap travay sou NVM - pral gen anpil pou chèchè yo fè pou yon tan long ap eseye konnen kondisyon kòrèk. Kalkil yo kòrèk si yo ka siviv yon aksidan kote sa ki nan kachèt ak rejis yo pèdi, men memwa prensipal la rete entak.

Konpilateur vs processeurs, RISC vs CISC, pataje memwa vs mesaj pase

Vladimir: Ki sa ou panse sou dilèm "konpilateur vs processeur" nan yon pwen de vi enstriksyon? Kite m 'eksplike pou moun ki pa konnen: si nou ale nan memwa skewed oswa yon bagay ki sanble, nou ta ka itilize yon seri trè senp nan kòmandman epi mande konpilatè a jenere kòd konplèks ki ka pran avantaj de nouvo avantaj yo. Oswa nou ka ale nan yon lòt fason: aplike enstriksyon konplèks epi mande processeur a rekòmande enstriksyon yo epi fè lòt manipilasyon avèk yo. Kisa ou panse de li?

Maurice: mwen pa vreman gen repons pou kesyon sa. Deba sa a ap pase pandan kat deseni. Te gen yon tan lè ant abreje yon seri kòmandman ak difisil lagè sivil yo te goumen pa yon seri kòmandman. Pou yon ti tan, moun RISC yo te genyen, men Lè sa a, Intel rebati motè yo pou ke yon seri redui enstriksyon yo te itilize intern, ak seri a plen yo te ekspòte deyò. Sa a se pwobableman yon sijè kote chak nouvo jenerasyon dwe jwenn pwòp konpwomi pa yo epi pran pwòp desizyon pa yo. Li trè difisil pou predi kiyès nan bagay sa yo pral pi bon. Donk, nenpòt prediksyon mwen fè yo pral verite pou yon sèten tan, epi answit fo ankò pou yon ti tan, epi answit vre ankò.

Alexey: Ki jan li komen pou endistri a ke kèk lide genyen pou plizyè deseni epi pèdi nan pwochen an? Èske gen lòt egzanp chanjman peryodik sa yo?

Maurice: Sou sijè distributed computing, gen moun ki kwè nan memwa pataje ak moun ki kwè nan messagerie. Okòmansman, nan distribye informatique, paralèl informatique vle di mesaj pase. Lè sa a, yon moun te dekouvri ke li te pi fasil pou pwograme ak memwa pataje. Bò opoze a te di ke memwa pataje twò konplike, paske li mande pou kadna ak tankou, kidonk li vo deplase nan lang kote pa gen anyen men mesaj pase tou senpleman egziste. Yon moun te gade sa ki te soti nan sa a epi li di, "wow, aplikasyon mesaj sa a sanble anpil tankou memwa pataje, paske ou kreye anpil ak anpil ti modil sa yo, yo voye mesaj youn bay lòt, epi yo tout. bloke"Ann fè yon pi bon baz done memwa pataje!" Tout bagay sa yo repete ankò, epi li enposib pou di ke youn nan pati yo definitivman gen rezon. Youn nan kote yo ap toujou domine paske le pli vit ke youn nan yo prèske genyen, moun ankò e ankò envante fason yo amelyore lòt la.

Atizay la nan ekri kòd frajil Multithreaded

Alexey: Sa a trè enteresan. Pou egzanp, lè nou ekri kòd, kèlkeswa langaj pwogramasyon, anjeneral nou oblije kreye abstraksyon tankou selil ki ka li ak ekri. Men, an reyalite, nan kèk nivo fizik, sa ka sanble voye yon mesaj sou yon otobis pyès ki nan konpitè ant diferan òdinatè ak lòt aparèy. Li sanble ke travay ap pase nan tou de nivo nan abstraksyon nan yon fwa.

Maurice: Se absoliman vre ke memwa pataje se bati sou mesaj pase - otobis, kachèt, elatriye. Men, li difisil yo ekri pwogram lè l sèvi avèk mesaj pase, kidonk pyès ki nan konpitè a fè espre bay manti, pretann ke ou gen kèk kalite memwa inifòm. Sa ap fè li pi fasil pou w ekri pwogram ki senp epi ki kòrèk anvan pèfòmans yo kòmanse deteryore. Lè sa a, ou pral di: li sanble li lè yo fè zanmi ak kachèt la. Lè sa a, ou kòmanse enkyete sou kote a nan kachèt la, ak soti nan la li ale. Nan yon sans, w ap piratage abstraksyon an: ou konnen li pa sèlman plat, memwa inifòm, epi ou pral sèvi ak konesans sa a yo ekri pwogram kachèt zanmitay. Sa a se sa w ap gen pou fè nan pwoblèm reyèl. Konfli sa a ant dous, senp, bèl abstraksyon ou te ba w ak aplikasyon an terib konplèks nan pyès ki nan konpitè kache a se kote tout moun pral fè pwòp konpwomi yo. Mwen gen yon liv sou miltiprosesè ak senkronizasyon, ak nan yon pwen mwen te pral ekri yon chapit sou estrikti done nan java.util.concurrent. Si ou gade yo, bagay tankou lis ak omisyon Sa yo se zèv etonan nan atizay. (Nòt Editè a: Moun ki abitye ak lang Java a ta dwe omwen pran yon gade nan aplikasyon an ConcurrentSkipListMap, ou ka gade nan lyen yo nan API и kòd sous). Men, nan pwen de vi mwen, li ta irèsponsab montre yo bay elèv yo, paske yon estrikti done konsa se sòt de tankou yon nèg nan yon sirk kouri sou yon kòd raman sou yon twou lous. Si ou chanje menm yon ti detay, tout estrikti a pral tonbe. Kòd sa a trè vit ak elegant jis paske li ekri parfe, men chanjman nan mwendr ap mennen nan echèk konplè. Si mwen bay elèv yo kòd sa a kòm egzanp, yo pral imedyatman di: Mwen kapab fè sa tou! Lè sa a, kèk avyon pral fè aksidan oswa yon raktor nikleyè pral eksploze, epi mwen pral koupab pou bay yo twòp enfòmasyon nan move moman an.

Alexey: Lè m 'te yon ti kras pi piti, anpil fwa mwen te eseye etidye kòd sous Doug Lee a, pou egzanp, java.util.concurrent, paske li se sous louvri, li trè fasil jwenn epi eseye konprann sa k ap pase la. Li pa t 'trè byen: souvan, li konplètman klè poukisa Doug deside fè yon bagay nan fason sa a lè tout lòt moun ap fè li yon fason diferan. Ki jan ou eksplike bagay sa yo bay elèv ou yo? Èske gen yon fason patikilye kòrèk pou dekri detay espesifik nan yon algorithm hardcore, pou egzanp? Ki jan ou fè sa?

Maurice: Pwofesè desen yo gen yon kliche ke yo sonje an premye: si ou vle desine tankou Picasso, premye bezwen aprann ki jan yo desine senp imaj reyalis, epi sèlman lè ou konnen règ yo ka kòmanse kraze yo. Si ou kòmanse pa kraze règ yo touswit, ou fini nan yon dezòd. Premyèman, mwen anseye elèv yo ki jan yo ekri kòd senp, kòrèk san enkyete sou pèfòmans. Ki sa m ap di a se, gen pwoblèm distribisyon konplèks ki kachèt isit la, kidonk pa enkyete sou kachèt, pa enkyete sou modèl memwa, jis asire w ke tout bagay mache kòrèkteman. Sa a se deja difisil ase: pwogram modèn se pa fasil nan tèt li, espesyalman pou nouvo elèv yo. Men, lè yo gen yon entwisyon sou ki jan yo ekri pwogram yo dwa, mwen di: gade nan de aplikasyon spinlock sa yo: youn se trè dousman, ak dezyèm lan se tou pa trè, men pi bon. Sepandan, matematikman de algorithm yo se menm bagay la. An reyalite, youn nan yo sèvi ak lokalite kachèt. Youn nan yo kouri sou done lokalman kachèt, ak lòt la repete fè operasyon atravè otobis la. Ou pa ka ekri kòd efikas si ou pa konprann sa li ye, epi ou pa konnen ki jan yo kraze abstraksyon an epi gade nan estrikti ki kache. Men, ou p'ap ka kòmanse fè sa touswit. Gen moun ki kòmanse fè sa touswit epi kwè nan pwòp jeni yo, anjeneral li fini mal paske yo pa konprann prensip yo. Pa gen moun ki trase tankou Picasso oswa ki ekri pwogram tankou Doug Lee ki fèk soti nan kolèj nan premye semèn li. Li pran plizyè ane pou rive nan nivo konesans sa a.

Alexey: Li sanble ke ou divize pwoblèm nan an de pati: premye a se kòrèk, dezyèm lan se pèfòmans?

Maurice: Egzakteman. Epi, egzakteman nan lòd sa a. Yon pati nan pwoblèm nan se ke nouvo elèv yo pa konprann ke kòrèkteman difisil pou reyalize. Nan premye gade yo di: sa a se evidamman kòrèk, tout sa ki rete se pi vit li. Se konsa, pafwa mwen di yo sou yon algorithm okòmansman kòrèk kòm si li te kòrèk.

Ki jan yo anseye elèv yo ekri kòd konplèks multithreaded

Alexey: Jis pou wè si yo ka santi trape an?

Maurice: Mwen toujou avèti davans ke pafwa mwen pral pwopoze algorithm ki pa kòrèk. Ou pa ta dwe twonpe moun. Mwen sijere yo pran enfòmasyon an ak yon grenn sèl. Si mwen di yon bagay epi di: "gade, sa a se evidamman kòrèk" - sa a se yon siyal ke yon kote yo ap eseye twonpe ou, epi ou ta dwe kòmanse poze kesyon. Apre sa, mwen eseye ankouraje elèv yo pou yo kontinye poze kesyon, epi answit mwen sijere, "Kisa ki pral rive si nou kite bagay yo jan yo ye?" Epi yo imedyatman wè erè a. Men, konvenk elèv yo ke yo bezwen enkyete sou kòrèkteman se pi difisil pase sa li sanble nan premye gade. Anpil nan elèv sa yo vini ak eksperyans pwogram nan lekòl segondè, gen kèk ki te jwenn travay epi yo te fè pwogramasyon la, epi yo tout plen ak konfyans. Sa a se yon bagay tankou lame a: ou dwe premye chanje atitid yo nan lòd yo konvenk yo ak pasyans apwoche rezoud pwoblèm ki rive. Oswa petèt se tankou relijyeu Boudis: premye yo aprann rezone sou kòrèkteman, epi yon fwa yo konprann fason yo rezònman sou kòrèk, yo gen dwa ale nan yon nivo pwochen epi yo kòmanse enkyete sou pèfòmans.

Alexey: Sa vle di, pafwa ou montre elèv yo egzanp ki pa travay, gras a ki ou jwenn fidbak ki montre si yo konprann sans nan pwoblèm nan, si yo ka jwenn move kòd la ak move rezilta a. Kidonk, èske elèv yo anjeneral fè ou kontan oswa tris?

Maurice: Elèv yo prèske toujou jwenn erè a evantyèlman. Si yo chèche twò dousman, mwen poze kesyon dirijan yo, epi isit la li enpòtan pou w konprann ke si ou pa janm twonpe yo, yo pral kòmanse san konprann pawòl ou yo kòm verite final la. Lè sa a, yo pral anwiye epi yo kòmanse tonbe nan dòmi pandan y ap li Facebook sou laptop yo pandan klas la. Men, lè ou di yo davans ke yo pral twonpe, epi yo pral parèt sòt si yo pa santi yon riz, yo vin pi plis vijilan. Sa a bon nan diferan fason. Mwen ta renmen elèv yo pa sèlman kesyone konpreyansyon yo genyen sou pwoblèm nan, men tou kesyone otorite pwofesè a. Lide a se ke yon etidyan ka leve men yo nenpòt ki lè epi di: Mwen panse ke sa ou sot di a pa bon. Li se yon zouti aprantisaj enpòtan. Mwen pa vle okenn nan elèv yo chita ak an silans panse tèt yo: tout bagay sa yo sanble yon istwa san sans konplè, men leve men ou twò pè, e de tout fason, li se yon pwofesè, kidonk tout sa li di se verite a. Se poutèt sa, si yo te avèti davans ke se pa tout sa ki di yo nesesèman vre, yo gen yon ankourajman yo peye plis atansyon sou materyèl la. Mwen fè li klè ke li se oke leve men ou epi poze kesyon. Kesyon w lan ka parèt estipid oswa nayif, men se souvan sa ki pi bon kesyon yo parèt.

Alexey: trè enteresan. Anjeneral moun gen yon kalite baryè sikolojik ki pa pèmèt yo poze yon kesyon bay yon pwofesè. Espesyalman si gen anpil moun nan chanm nan, epi tout moun pè ke diskite sou kesyon estipid ou a pral pran tout tan moun sa yo. Èske gen nenpòt ke trik nouvèl fè fas ak sa a?

Maurice: souvan mwen kanpe epi poze kesyon klasik. Si yon deklarasyon ta kòrèk, oswa ki jan yo ta rezoud pwoblèm yo ap diskite a. Sa a se yon aksyon kle, espesyalman nan kòmansman yon leson lè moun yo jennen di menm bagay ki pi piti a. Ou poze elèv yo yon kesyon epi w pa di anyen ankò. Gen silans, tout moun vin yon ti tansyon, tansyon an grandi, Lè sa a, toudenkou yon moun pa ka sipòte li, kraze epi li di repons lan. Men ki jan ou vire sitiyasyon an: kontinye rete an silans vin pi difisil ak enkonvenyan pase reponn! Sa a se yon trick pedagojik estanda. Chak pwofesè nan mond lan ta dwe konnen ki jan fè sa.

Alexey: Kounye a nou gen yon tit ekselan pou entèvyou sa a: "Li pi fasil pou reponn pase pou rete an silans."

Vitaly: banm mandem ankò. Ou ap travay sou prèv topolojik. Ki jan ou te menm patisipe nan sa a, paske distribye informatique ak topoloji yo se bagay konplètman diferan!

Maurice: Gen yon koneksyon kache la. Lè m 'te yon etidyan etidye matematik, mwen etidye matematik pi. Mwen pa te gen okenn enterè reyèl nan òdinatè jiskaske etid mwen yo te fini epi mwen te jwenn tèt mwen fè fas ak bezwen ijan pou chèche yon travay. Kòm yon etidyan mwen etidye topoloji aljebrik. Anpil ane pita, pandan y ap travay sou yon pwoblèm ki rele "K-Set pwoblèm akò", Mwen te itilize graf pou modèl pwoblèm nan epi, jan sa te sanble nan epòk la, mwen te jwenn yon solisyon. Ou jis te oblije chita epi ale nan konte a. Eseye jwenn yon repons apwopriye sou graf sa a. Men, algorithm mwen an pa t 'travay: li te tounen soti ke li ta kouri nan ti sèk pou tout tan. Malerezman, tout bagay sa yo pa t 'kapab eksplike nan lang fòmèl teyori graf la - sa a ke tout syantis òdinatè konnen. Apre sa, mwen sonje ke anpil ane de sa, tounen nan klas topoloji, nou te itilize konsèp la "konplèks senp", ki se yon jeneralizasyon graf yo nan pi wo dimansyon. Lè sa a, mwen te mande tèt mwen: kisa ki ta rive si nou refòmile pwoblèm nan an tèm de konplèks senplisial? Sa a te vin moman kle a. Lè w sèvi ak yon fòmalism pi pwisan, pwoblèm nan toudenkou vin pi senp. Moun yo te goumen kont li pou yon tan long, lè l sèvi avèk graf, men yo pa t 'kapab fè anyen. E menm kounye a yo pa kapab - repons kòrèk la te tounen soti yo pa yon algorithm, men yon prèv enposib pou rezoud pwoblèm nan. Sa vle di, yon algorithm konsa tou senpleman pa egziste. Men chak prèv enposib ki baze swa sou konplèks senplisièl oswa sou bagay ke moun te pran pòz pa konsidere konplèks senplisial. Jis paske ou rele yon bagay yon nouvo non, li pa pèdi sans li.

Vitaly: Li sanble ou te jis chans?

Maurice: anplis chans, li tou volonte. Sa vle di ke ou pa ta dwe bliye "initil" bagay ou te aprann pi bonè. Plis bagay initil ou aprann, se plis lide ou ka ekstrè lè w ap fè fas ak yon nouvo pwoblèm. Kalite matche modèl entwisyon sa a enpòtan paske... Ann fè sa, sa a se yon chèn: nan premye mwen te dekouvri ke graf yo pa t 'travay ditou oswa pa t' travay ditou, li fè m' sonje yon bagay ki soti nan evènman yo nan uit. ane de sa ak ane etidyan mwen yo, lè nou te etidye tout konplèks senp sa yo. Sa a nan vire pèmèt mwen jwenn ansyen liv topoloji mwen an epi chaje li tounen nan tèt mwen. Men si se pat ansyen konesans sa a, mwen pa t ap janm fè okenn pwogrè nan rezoud pwoblèm orijinal la.

Nouvo edisyon liv "The Art of Multiprocessor Programming"

Alexey: Ou di kèk mo sou liv ou a. Li se pwobableman pa pi move sekrè ke ou te ekri liv ki pi popilè nan mond lan sou multithreading, "Atis nan pwogramasyon miltiprosesè". Li gen deja sou 11 ane fin vye granmoun e depi lè sa a li te sèlman lage  reimprime revize. Èske pral gen yon dezyèm edisyon?

Maurice: Se byen ou mande! Li pral trè byento, nan twa mwa oswa konsa. Gen de plis otè, nou te ajoute anpil plis materyèl, amelyore seksyon an sou paralelism fork/join, te ekri yon seksyon sou MapReduce, te ajoute anpil nouvo bagay epi jete bagay ki pa nesesè yo - yon bagay ki te trè enteresan nan moman ekri a. premye edisyon an, men li pa la ankò jodi a. Rezilta a se te yon liv revize trè seryezman.

Alexey: tout bagay deja fèt, tout sa ki rete se lage li?

Maurice: Yon koup de chapit toujou bezwen kèk travay. Piblikatè nou an (ki mwen panse deja rayi nou) toujou ap eseye fè mesaj la ke nou ta dwe travay pi vit. Nou byen lwen dèyè orè. Teyorikman, nou te kapab fè liv sa a yon koup de ane pi bonè.

Alexey: Èske gen chans jwenn yon nouvo vèsyon liv la anvan Nwèl la?

Maurice: sa se objektif nou! Men, mwen te predi viktwa anpil fwa ke pèsonn pa kwè m ' ankò. Ou pwobableman pa ta dwe fè m konfyans twòp nan zafè sa a tou.

Alexey: Antouka sa se yon kokenn nouvèl. Mwen vrèman renmen premye edisyon liv la. Ou ta ka di mwen se yon fanatik.

Maurice: Mwen espere nouvo edisyon an ap merite antouzyasm fervan ou, mèsi!

Ki jan memwa tranzaksyon yo te envante

Vitaly: Pwochen kesyon an se sou memwa tranzaksyon. Jan mwen konprann, ou se yon pyonye nan domèn sa a, ou envante li nan yon moman kote pa gen moun ki te panse ak bagay sa yo. Poukisa ou deside deplase nan domèn sa a? Poukisa tranzaksyon yo te sanble enpòtan pou ou? Èske ou te panse ke yon jou yo ta dwe aplike nan pyès ki nan konpitè?

Maurice: Mwen te konnen sou tranzaksyon depi jou rechèch diplome mwen an.

Vitaly: Wi, men sa yo se tranzaksyon diferan!

Maurice: Mwen te travay ak Elliott Moss sou koleksyon fatra ki pa bloke. Pwoblèm nou an te ke nou te vle atomik chanje kèk mo nan memwa ak Lè sa a, algoritm yo ta vin trè senp, ak omwen kèk nan yo ta vin pi efikas. Sèvi ak konpare-ak-chanje pou chaj-lyen/magazen-kondisyonèlbay pa achitekti paralèl la, li posib fè yon bagay, men li trè efikas ak lèd paske ou ta gen fè fas ak kouch endirèkteman. Mwen vle chanje mo memwa epi mwen bezwen chanje paske mwen ka chanje sèlman yon pwent, kidonk yo bezwen lonje dwèt sou kèk kalite estrikti ki sanble ak anyè. Nou te pale sou ki jan li ta gwo si nou ta ka chanje pyès ki nan konpitè pou li te kapab fè anrejistreman similtane. Elliott sanble remake sa a: si ou gade pwotokòl koerans kachèt yo, yo deja bay pi fò nan fonksyonalite ki nesesè yo. Nan yon tranzaksyon optimis, pwotokòl koerans kachèt la pral remake ke gen yon konfli distribisyon ak kachèt la ap vin envalid. Kisa k ap pase si ou fè yon tranzaksyon sou kachèt ou epi itilize mekanis pwotokòl koerans pou detekte konfli? Achitekti pyès ki nan konpitè spéculatif te fasil pou konsepsyon. Se konsa, nou te ekri sa a premye piblikasyon an sou memwa tranzaksyon. An menm tan an, konpayi mwen t ap travay pou la, Digital Equipment Corporation, t ap kreye yon nouvo processeur 64-bit ki rele Alpha. Se konsa, mwen te ale ak te bay yon prezantasyon nan gwoup la devlopman Alpha sou memwa tranzaksyon etonan nou an epi yo te mande: Konbyen revni adisyonèl konpayi nou an ta jwenn si nou te ajoute tout bagay sa yo dirèkteman nan processeur a? Apre sa, mwen te gen absoliman okenn repons a sa a, paske mwen se yon teknològ, mwen pa yon espesyalis maketing. Mwen reyèlman pa te gen anyen pou reponn. Yo pa te trè enpresyone ke mwen pa t 'konnen anyen.

Vitaly: milya! Jis di dè milya!

Maurice: wi, se sa mwen ta dwe di. Koulye a, nan laj la nan demaraj ak tout bagay, mwen konnen ki jan yo ekri yon plan biznis. Ke ou ka bay manti yon ti kras sou gwosè a nan pwofi potansyèl ou. Men, nan epòk sa yo li te sanble nayif, se konsa mwen jis di, "Mwen pa konnen." Si ou gade nan istwa piblikasyon an sou memwa tranzaksyon, ou pral remake ke apre yon ane te gen plizyè referans sou li, ak Lè sa a, pou apeprè dis ane pa gen moun ki te site papye sa a ditou. Site yo te parèt alantou 2004, lè vre milti-nwayo parèt. Lè moun te dekouvri ke ekri kòd paralèl te kapab fè lajan, nouvo rechèch te kòmanse. Ravi Rajwar ekri yon atik, ki nan kèk fason prezante konsèp nan memwa tranzaksyon nan endikap la. (Nòt Editè a: Gen yon dezyèm vèsyon atik sa a, ki te pibliye an 2010 e ki disponib gratis. kòm PDF). Menm lè moun reyalize egzakteman ki jan tout bagay sa yo ta ka itilize, ki jan algoritm tradisyonèl ak kadna ka akselere. Yon bon egzanp yon bagay ki nan tan lontan te sanble jis yon pwoblèm akademik enteresan. Ak repons lan se wi, si ou te mande m 'nan moman sa a si mwen te panse ke tout bagay sa yo ta enpòtan nan lavni, mwen ta di: nan kou, men lè egzakteman se pa klè. Petèt nan 50 ane? Nan pratik, sa a te tounen soti yo dwe sèlman yon dekad. Li trè bèl lè ou fè yon bagay epi apre jis dizan moun remake li.

Poukisa li vo fè rechèch nan domèn distribye informatique

Vitaly: Si nou pale sou nouvo rechèch, ki sa ou ta konseye lektè yo - distribye informatique oswa milti-nwayo ak poukisa? 

Maurice: Jou sa yo li fasil pou jwenn yon processeur milti-core, men li pi difisil pou mete kanpe yon sistèm distribye vre. Mwen te kòmanse travay sou yo paske mwen te vle fè yon bagay diferan de tèz doktora mwen an. Sa a se konsèy mwen toujou bay nouvo elèv yo: pa ekri yon kontinyasyon tèz ou a—eseye ale nan yon nouvo direksyon. Epi tou, multithreading fasil. Mwen ka fè eksperyans ak pwòp fouchèt mwen kouri sou laptop mwen san mwen pa leve nan kabann. Men, si toudenkou mwen te vle kreye yon sistèm distribye reyèl, mwen ta dwe fè anpil travay, atire elèv yo, ak sou sa. Mwen se yon moun parese epi mwen ta pito travay sou milti-nwayo. Eksperyans sou sistèm milti-nwayo tou se pi fasil pase fè eksperyans sou sistèm distribiye, paske menm nan yon sistèm distribye estipid gen twòp faktè ki bezwen kontwole.

Vitaly: Kisa w ap fè kounye a, fè rechèch sou blockchain? Ki atik ou ta dwe peye atansyon sou premye?

Maurice: dènyèman parèt trè bon atik, ke mwen te ekri ansanm ak etidyan mwen an, Vikram Saraf, espesyalman pou yon diskou nan Konferans Tokenomcs nan Pari twa semèn de sa. Sa a se yon atik sou sistèm pratik distribye, nan ki nou pwopoze fè Ethereum milti-threaded. Kounye a, kontra entelijan (kòd ki kouri sou blockchain la) yo egzekite sekans. Nou te ekri yon atik pi bonè ki te pale sou yon fason yo sèvi ak tranzaksyon spéculatif akselere pwosesis la. Nou te pran anpil lide nan memwa tranzaksyon lojisyèl epi nou te di ke si ou fè lide sa yo yon pati nan machin vityèl Etherium, Lè sa a, tout bagay ap travay pi vit. Men, pou sa li nesesè ke pa gen okenn konfli done nan kontra yo. Lè sa a, nou sipoze ke nan lavi reyèl pa gen reyèlman pa gen okenn konfli sa yo. Men, nou pa te gen okenn fason yo chèche konnen. Lè sa a, li te rive nou ke nou te gen prèske yon dekad nan istwa reyèl kontra sou men nou, kidonk nou jete blòk Ethereum a epi mande tèt nou: kisa ki ta rive si dosye istorik sa yo te egzekite an paralèl? Nou jwenn yon ogmantasyon siyifikatif nan vitès. Nan premye jou yo nan Ethereum, vitès la ogmante anpil, men jodi a tout bagay se yon ti jan pi konplike, paske gen mwens kontra ak chans pou konfli sou done ki mande pou serializasyon te vin pi wo. Men, tout sa a se travay eksperimantal ak done istorik reyèl. Bagay la bèl sou blockchain la se ke li sonje tout bagay pou tout tan, pou nou ka tounen nan tan epi etidye sa ki ta rive si nou te itilize algoritm diferan pou kouri kòd la. Ki jan moun nan tan lontan yo ta renmen nouvo lide nou an? Rechèch sa yo pi fasil ak pi agreyab pou fè, paske gen yon bagay ki kontwole tout bagay epi anrejistre tout bagay. Sa a se deja yon bagay ki pi sanble ak sosyoloji pase nan devlopman nan algoritm.

Èske devlopman algoritm yo sispann ak kouman pou avanse pou pi?

Vitaly: Tan pou dènye kesyon teyorik la! Èske li santi ke pwogrè nan estrikti done konpetitif ap diminye chak ane? Èske ou panse nou te rive nan yon plato nan konpreyansyon nou sou estrikti done oswa èske pral gen kèk gwo amelyorasyon? Petèt gen kèk lide entelijan ki ka konplètman chanje tout bagay?

Maurice: Nou ka rive nan yon plato nan estrikti done pou achitekti tradisyonèl yo. Men, estrikti done pou nouvo achitekti yo toujou yon zòn trè pwomèt. Si ou vle kreye estrikti done pou, di, akseleratè pyès ki nan konpitè, Lè sa a, estrikti done yo pou yon GPU yo trè diferan de estrikti yo done pou yon CPU. Lè ou devlope estrikti done pou blockchains, ou bezwen hache moso done ak Lè sa a, mete yo nan yon bagay tankou Merkle pye bwa, pou anpeche kontrefason. Te gen yon vag nan aktivite nan zòn sa a dènyèman, ak anpil fè trè bon travay. Men, mwen panse ke sa ki pral rive se ke nouvo achitekti ak nouvo aplikasyon yo pral mennen nan nouvo estrikti done. Aplikasyon eritaj ak achitekti tradisyonèl yo - ka pa gen anpil plas pou eksplorasyon ankò. Men, si ou soti nan chemen bat yo epi gade pi lwen pase bor yo, ou pral wè bagay fou ke endikap la pa pran oserye - se la tout bagay enteresan yo reyèlman rive.

Vitaly: Se poutèt sa, nan lòd yo dwe yon chèchè trè popilè, mwen te oblije envante pwòp achitekti mwen :)

Maurice: Ou ka "vòlè" nouvo achitekti yon lòt moun - li sanble pi fasil!

Travay nan Brown University

Vitaly: Ou ka di nou plis bagay sou Inivèsite BrownKi kote ou travay? Pa gen anpil konnen sou li nan yon kontèks teknoloji enfòmasyon. Mwens pase sou MIT, pou egzanp.

Maurice: Brown University se youn nan pi ansyen inivèsite nan peyi Etazini. Mwen panse sèlman Harvard se yon ti kras pi gran. Brown se yon pati nan sa yo rele Ivy League, ki se yon koleksyon uit pi ansyen inivèsite yo. Harvard, Brown, Cornell, Yale, Columbia, Dartmouth, Pennsylvania, Princeton. Li se kalite yon ansyen, ti ak yon ti jan aristocrate inivèsite. Konsantre prensipal la se sou edikasyon atizay liberal. Li pa eseye fè tankou MIT, MIT trè espesyalize ak teknik. Brown se yon bon kote pou etidye Literati Ris oswa grèk klasik, ak nan kou, Syans enfòmatik. Li konsantre sou edikasyon konplè. Pifò nan elèv nou yo ale nan Facebook, Apple, Google - Se konsa, mwen panse ke elèv nou yo pa gen okenn pwoblèm pou jwenn yon travay nan endistri a. Mwen te ale nan travay Brown paske mwen te deja travay nan Digital Equipment Corporation nan Boston. Sa a se te yon konpayi ki envante anpil bagay enteresan, men demanti enpòtans ki genyen nan òdinatè pèsonèl. Yon konpayi ki gen yon sò difisil, ki gen fondatè yo te yon fwa jèn revolisyonè, yo pa aprann anyen epi yo pa bliye anyen, e konsa yo te vire soti nan revolisyonè nan reyaksyonè nan apeprè yon douzèn ane. Yo te renmen bay blag ke òdinatè pèsonèl yo te fè pati garaj la—yon garaj abandone, nan kou. Li se byen evidan ke yo te detwi pa konpayi ki pi fleksib. Lè li te vin klè ke konpayi an te nan pwoblèm, mwen te rele yon zanmi m 'nan Brown, ki se apeprè inèdtan andeyò Boston. Mwen pat vle kite Boston nan epòk sa a paske pa t gen anpil ouvèti nan lòt inivèsite. Se te yon epòk kote pa t gen anpil travay nan Syans enfòmatik ke kounye a. Epi Brown te gen yon ouvèti, mwen pa t oblije deplase lakay mwen, mwen pa t oblije deplase fanmi mwen, e mwen vrèman renmen viv Boston! Se konsa mwen deside ale nan Brown. Mwen renmen li. Elèv yo bèl bagay, kidonk mwen pa janm eseye ale yon lòt kote. Pandan sabatik mwen an, mwen te travay nan Microsoft pou yon ane, mwen te ale nan Technion nan Haifa pou yon ane, epi kounye a mwen pral nan Algorand. Mwen gen anpil kòlèg toupatou e se poutèt sa kote fizik salklas nou yo pa enpòtan anpil. Men, bagay ki pi enpòtan se elèv yo, yo se pi bon isit la. Mwen pa janm eseye ale yon lòt kote paske mwen byen kontan isit la.

Men, malgre t'ap nonmen non Brown nan Ozetazini, li se etonan enkoni aletranje. Kòm ou ka wè, kounye a mwen fè tout sa ki posib pou korije eta sa a nan zafè.

Diferans ant rechèch nan yon inivèsite ak nan yon sosyete

Vitaly: Oke, pwochen kesyon an se sou Ekipman Digital. Ou te la kòm yon chèchè. Ki diferans ki genyen ant travay nan depatman R&D nan yon gwo konpayi ak travay nan yon inivèsite? Ki avantaj ak dezavantaj yo?

Maurice: Pandan ven ane mwen te travay nan Microsoft, te travay kole kole ak anplwaye Sun Microsystems, Oracle, Facebook, epi kounye a Algorand. Ki baze sou tout bagay sa yo, mwen vle di ke li posib pou fè rechèch premye klas nan konpayi yo ak nan inivèsite yo. Diferans enpòtan an se ke nan yon konpayi ou travay ak kòlèg li yo. Si toudenkou mwen gen yon lide pou yon pwojè ki poko egziste, mwen dwe konvenk kanmarad mwen yo ke sa a se yon bon lide. Si mwen nan Brown, lè sa a mwen ka di elèv mwen yo: ann travay sou antigravite! Yo pral swa kite pou yon lòt moun oswa pran sou yon pwojè. Wi, mwen pral bezwen jwenn finansman, mwen pral bezwen ekri yon aplikasyon pou sibvansyon, ak sou sa. Nan nenpòt ka, ap toujou gen anpil elèv, epi w ap kapab pran desizyon inilateralman. Men, nan inivèsite ou gen plis chans pa pral travay ak moun nan nivo ou. Nan mond lan nan rechèch endistriyèl, ou premye dwe konvenk tout moun ke pwojè ou a vo pran sou. Mwen pa ka kòmande anyen bay pèsonn. E tou de fason sa yo travay gen anpil valè, paske si w ap travay sou yon bagay ki vrèman fou epi kòlèg ou yo difisil pou konvenk, li pi fasil pou konvenk etidyan gradye yo - sitou si w ap peye yo. Si w ap travay sou yon bagay ki mande anpil eksperyans ak ekspètiz pwofon, Lè sa a, ou bezwen kòlèg ki ka di "non, li jis rive ke mwen konprann nan domèn sa a epi lide ou a se move, li pa pral travay." Sa a se trè itil an tèm de gaspiye tan. Epitou, si nan laboratwa endistriyèl ou pase anpil tan ekri rapò, Lè sa a, nan yon inivèsite ou pase tan sa a ap eseye jwenn lajan. Si mwen vle elèv yo kapab ale yon kote, mwen dwe jwenn lajan an pou li yon lòt kote. Ak pi enpòtan pozisyon ou nan inivèsite a, se plis tan ou gen pou pase kolekte lajan. Se konsa, kounye a ou konnen ki sa mwen travay pou - yon mandyan pwofesyonèl! Tankou youn nan mwàn sa yo ki mache ak yon plak ofrann. An jeneral, de aktivite sa yo konplete youn ak lòt. Se poutèt sa mwen eseye viv epi kenbe pye m 'sou tè nan tou de mond.

Vitaly: Li sanble ke konvenk yon konpayi pi difisil pase konvenk lòt syantis yo.

Maurice: pi difisil, ak plis ankò. Anplis, nan diferan domèn li diferan: gen kèk fè rechèch konplè, pandan ke lòt moun konsantre sou sijè yo. Si mwen te ale nan Microsoft oswa Facebook epi li di: ann fè anti-gravite, yo pa ta apresye li. Men, si mwen te di egzakteman menm bagay ak etidyan gradye mwen yo, yo ta gen plis chans jwenn nan travay imedyatman, byenke kounye a mwen ta gen pwoblèm - apre tout, mwen bezwen jwenn lajan pou sa a. Men, osi lontan ke ou vle fè yon bagay ki aliyen ak objektif konpayi an, konpayi sa a kapab yon trè bon kote pou fè rechèch.

Hydra ak SPTDC

Vitaly: Kesyon mwen yo ap rive nan yon fen, kidonk ann pale yon ti kras sou vwayaj k ap vini an nan Larisi.

Maurice: wi map tann poum retounen St Petersburg.

Alexey: Mwen onore pou mwen genyen ou avèk nou ane sa a. Sa a se dezyèm fwa ou nan Saint Petersburg, dwa?

Maurice : twazyèm lan deja !

Alexey: mwen konprann, men SPTDC - definitivman dezyèm lan. Dènye fwa yo te rele lekòl la SPTCC, kounye a nou chanje yon lèt (C a D, Konkouran ak Distribiye) pou mete aksan sou ke gen plis domèn ki gen rapò espesyalman ak distribye informatique ane sa a. Èske ou ka di kèk mo sou rapò ou nan lekòl la ak Hydra konferans?

Maurice: Nan Lekòl la mwen vle pale sou baz yo nan blockchain ak sa ou ka fè ak li. Mwen ta renmen montre ke blockchain yo sanble anpil ak pwogram milti-threaded nou abitye avèk yo, men ak pwòp nuans yo, e diferans sa yo enpòtan pou konprann. Si ou fè yon erè nan yon aplikasyon entènèt regilye, li jis anmèdan. Si ou ekri kòd buggy nan yon aplikasyon finansye, yon moun pral definitivman vòlè tout lajan ou. Sa yo se nivo konplètman diferan nan responsablite ak konsekans. Mwen pral pale yon ti kras sou prèv-of-work, sou kontra entelijan, sou tranzaksyon ant diferan blockchain.

Pral gen lòt oratè k ap travay bò kote m 'ki gen tou yon bagay yo di sou blockchain, epi nou te dakò pou kowòdone youn ak lòt pou istwa nou yo anfòm byen ansanm. Men, pou rapò a jeni, mwen vle di yon gwo odyans eksplikasyon konprann poukisa ou pa ta dwe kwè tout sa ou tande sou blockchains, poukisa blockchains se yon gwo jaden, ki jan li anfòm ak lòt lide li te ye, ak poukisa nou ta dwe avèk fòs konviksyon gade. nan tan kap vini an.

Alexey: Anplis de sa, mwen vle di ke sa a pa pral fèt nan fòma nan yon rankont oswa gwoup itilizatè, jan li te ye de ane de sa. Nou deside fè yon ti konferans toupre lekòl la. Rezon ki fè la se ke apre kominike ak Peter Kuznetsov, nou reyalize ke lekòl la limite a sèlman yon santèn, petèt 120 moun. An menm tan an, gen yon anpil nan enjenyè ki vle kominike avèk ou, ale nan prezantasyon, epi yo jeneralman enterese nan sijè a. Pou rezon sa a nou kreye yon nouvo konferans rele Hydra. By wout la, nenpòt lide poukisa Hydra?

Maurice: paske ap gen sèt moun kap pale? Epi yo ka koupe tèt yo, epi nouvo moun ki pale yo ap grandi nan plas yo?

Alexey: Bèl lide pou devlope nouvo moun ki pale. Men, an reyalite, gen yon istwa isit la. Sonje lejand Odysseus, kote li te oblije navige ant Scylla ak Charybdis? Hydra se yon bagay tankou Charybdis. Istwa a se ke yon fwa mwen te pale nan yon konferans ak te pale sou multithreading. Te gen sèlman de tracks nan konferans sa a. Nan kòmansman rapò a, mwen te di odyans lan nan sal la ke kounye a yo gen yon chwa ant Scylla ak Charybdis. Bèt lespri mwen an se Charybdis paske Charybdis gen anpil tèt ak tèm mwen an se milti-threading. Men ki jan non konferans yo parèt.

Nan nenpòt ka, nou te kouri soti nan kesyon ak tan. Se konsa, mèsi, zanmi, pou yon entèvyou bèl, epi na wè nan SPTDC School and Hydra 2019!

Ou ka kontinye konvèsasyon w ak Maurice nan konferans Hydra 2019 la, ki pral fèt 11-12 jiyè 2019 nan Saint Petersburg. Li pral vini ak yon rapò "Blockchains ak avni distribye informatique". Tikè yo ka achte sou sit entènèt ofisyèl la.

Sous: www.habr.com

Add nouvo kòmantè