"Yana da sauƙin amsawa fiye da yin shiru" - babbar hira da mahaifin ƙwaƙwalwar kasuwanci, Maurice Herlihy

"Yana da sauƙin amsawa fiye da yin shiru" - babbar hira da mahaifin ƙwaƙwalwar kasuwanci, Maurice Herlihy

Maurice Herlihy ne adam wata - mai biyu Kyautar Dijkstra. Na farko don aiki ne "Aiki tare-Free" (Jami'ar Brown) da na biyu, mafi kwanan nan, - "Ƙwaƙwalwar Ƙwaƙwalwar Ma'amala: Taimakon Gine-gine don Tsarukan Bayanai marasa Kulle" (Jami'ar Fasaha ta Virginia). An ba da lambar yabo ta Dijkstra don ayyukan da muhimmancin da tasirin su ya kasance aƙalla shekaru goma kuma, a fili, Maurice yana ɗaya daga cikin mashahuran ƙwararrun masana a fagen. A halin yanzu farfesa ne a Jami'ar Brown kuma yana da nasarorin sakin layi. Yanzu ya tsunduma a blockchain bincike a cikin mahallin na gargajiya rarraba kwamfuta.

A baya can, Maurice ya riga ya zo Rasha don SPTCC (faifan bidiyo) kuma ya yi kyakkyawan taro na JUG.ru Java developer al'umma a St. Petersburg (faifan bidiyo).

Wannan habrapost babbar hira ce da Maurice Herlihy. Ya tattauna batutuwa kamar haka:

  • Ma'amala tsakanin ilimi da masana'antu;
  • Foundation for blockchain bincike;
  • Daga ina ra'ayoyin ci gaba suka fito? Tasirin shahara;
  • PhD karkashin jagorancin Barbara Liskov;
  • Duniya tana jiran Multi-core;
  • Sabuwar duniya, sabbin matsaloli. NVM, NUMA da hacking na gine-gine;
  • Compilers vs CPUs, RISC vs CISC, Raba ƙwaƙwalwar ajiya vs wucewar saƙo;
  • Fasahar rubuta lambobi masu zare da yawa masu rauni;
  • Yadda ake koyar da ɗalibai yadda ake rubuta hadadden code mai zare da yawa;
  • Sabon bugu na littafin "The Art of Multiprocessor Programming";
  • Ta yaya aka ƙirƙira ƙwaƙwalwar ma'amala?   
  • Me ya sa yake da daraja yin bincike a fagen rarraba kwamfuta;
  • Shin ci gaban algorithms ya tsaya, da kuma yadda ake rayuwa;
  • Yin aiki a Jami'ar Brown;
  • Bambanci tsakanin jami'a da bincike na kamfanoni;
  • Hydra da SPTDC.

Tattaunawar da:

Vitaly Aksenov - a halin yanzu post-doc a IST Austria kuma ma'aikaci na Sashen Fasaha na Kwamfuta a Jami'ar ITMO. Ya tsunduma cikin bincike a fagen ka'idar da kuma aiwatar da gasa bayanai tsarin. Kafin shiga IST, ya sami digiri na digiri daga Jami'ar Paris Diderot da Jami'ar ITMO a karkashin Farfesa Petr Kuznetsov.

Alexei Fedorov shi ne mai samarwa a JUG Ru Group, wani kamfani na Rasha wanda ke shirya taro don masu haɓakawa. Alexey ya shiga cikin shirye-shiryen fiye da 50 taro, kuma ci gaba nasa ya ƙunshi komai daga matsayin injiniyan ci gaba a Oracle (JCK, Java Platform Group) zuwa matsayin mai haɓakawa a Odnoklassniki.

Vladimir Sitnikov injiniya ne a Netcracker. Tsawon shekaru goma yana aiki akan aiki da scalability na NetCracker OS, software da kamfanonin sadarwa ke amfani da shi don sarrafa hanyoyin sadarwa da hanyoyin sarrafa kayan aikin sadarwa. Ana sha'awar al'amuran aikin Java da Oracle Database. Mawallafin ingantattun ayyuka sama da dozin a cikin direban PostgreSQL JDBC na hukuma.

Mu'amala tsakanin ilimi da masana'antu

Alexey: Maurice, kun daɗe kuna aiki a cikin ilimin kimiyya kuma tambaya ta farko ita ce hulɗar tsakanin ilimi da masana'antu. Ko za ku iya gaya mana yadda mu’amalar da ke tsakaninsu ta canza a baya-bayan nan? Menene shekaru 20-30 da suka gabata kuma menene ke faruwa yanzu? 

Maurice: A koyaushe ina ƙoƙarin yin aiki tare da kamfanonin kasuwanci don suna da ƙalubale masu ban sha’awa. A ka'ida, ba su da sha'awar sosai ko dai su buga sakamakonsu ko kuma yin cikakken bayani kan matsalolinsu ga al'ummar duniya. Suna sha'awar magance waɗannan matsalolin ne kawai. Na yi aiki da wasu daga cikin waɗannan kamfanoni na ɗan lokaci. Na yi shekaru biyar ina aiki na cikakken lokaci a dakin bincike a Kamfanin Kayan Aikin Dijital, wanda a da ya kasance babban kamfanin kwamfuta. Na yi aiki rana ɗaya a mako a Sun, a Microsoft, a Oracle, na yi aiki kaɗan a Facebook. Yanzu zan tafi hutun hutu (wani farfesa a jami'ar Amurka an yarda ya yi irin wannan hutu na shekara guda kusan sau ɗaya a kowace shekara shida) kuma in yi aiki Algorand, wannan shine irin wannan kamfani na cryptocurrency a Boston. Yin aiki tare da kamfanoni ya kasance abin jin daɗi koyaushe, domin ta haka ne kuke koyon sabbin abubuwa masu ban sha'awa. Gabaɗaya za ku iya zama mutum na farko ko na biyu don buga labarin kan wani batu da aka zaɓa, maimakon sannu a hankali inganta hanyoyin magance matsalolin da kowa ya riga ya yi aiki akai.

Alexey: Za ka iya gaya mana ƙarin yadda hakan ke faruwa?

Maurice: Tabbas. Ka sani, lokacin da nake Kamfanin Kayan Aikin Dijital, ni da Elliot Moss, mun ƙirƙira ƙwaƙwalwar ajiyar ma'amala. Lokaci ne mai amfani sosai lokacin da kowa ya fara sha'awar fasahar bayanai. Haɗin kuɗin da aka haɗa, kodayake tsarin multi-core bai wanzu ba tukuna. A zamanin Sun da Oracle, na yi ayyuka da yawa akan tsarin bayanai masu kama da juna. A Facebook, na shiga cikin aikin su na blockchain, wanda ba zan iya magana game da shi ba amma da fatan zai fito fili nan ba da jimawa ba. A shekara mai zuwa, a Algorand, zan yi aiki a kan ƙungiyar bincike da ke nazarin kwangiloli masu wayo.

Alexey: A cikin ƴan shekarun da suka gabata, blockchain ya zama sanannen batu. Shin zai taimaka bincikenku? Wataƙila zai sauƙaƙe samun tallafi ko ba da dama ga albarkatun kamfanonin da ke aiki a cikin masana'antar?

Maurice: Na riga na sami ƙaramin tallafi daga Gidauniyar Ethereum. Shahararrun blockchain yana da matukar amfani don ƙarfafa ɗalibai su yi aiki a wannan fanni. Suna sha'awar sa sosai kuma suna farin cikin shiga cikinsa, amma wani lokacin ba sa gane cewa binciken da ke da kama da jaraba a waje ya haɗa da aiki tuƙuru. Duk da haka, Ina matukar farin ciki da yin amfani da duk wannan asiri a kusa da blockchain, yana taimakawa wajen jawo hankalin dalibai. 

Amma ba haka kawai ba. Ina cikin kwamitin ba da shawara na farawar blockchain da yawa. Wasu daga cikinsu na iya yin nasara, wasu kuma ba za su iya ba, amma koyaushe yana da ban sha'awa don ganin ra'ayoyinsu, nazarin su da nasiha ga mutane. Abu mafi ban sha'awa shine lokacin da kuka gargaɗi mutane kada su yi wani abu. Abubuwa da yawa suna kama da kyakkyawan ra'ayi da farko, amma da gaske ne?

Foundation for blockchain bincike

Vitaly: Wasu mutane suna tunanin cewa blockchain da algorithms su ne gaba. Wasu kuma suka ce wani kumfa ne kawai. Shin za ku iya bayyana ra'ayinku kan wannan batu?

Maurice: Yawancin abubuwan da ke faruwa a cikin blockchain duniya ba su aiki yadda ya kamata, wasu zamba ne kawai, abubuwa da yawa sun wuce gona da iri. Koyaya, ina tsammanin akwai ingantaccen tushen kimiyya don waɗannan karatun. Kasancewar duniyar blockchain tana cike da rarrabuwar kawuna yana nuna irin farin ciki da sadaukarwa. A gefe guda, ba shi da fa'ida musamman ga binciken kimiyya. Yanzu, idan kun buga labarin da ke magana game da gazawar wani algorithm na musamman, amsawar da aka karɓa ba koyaushe ba ce ta kimiyya. Sau da yawa mutane suna bayyana motsin zuciyar su. Ina tsammanin irin wannan zage-zage a wannan yanki na iya zama kamar abin sha'awa ga wasu, amma a ƙarshe, akwai ainihin batutuwan kimiyya da injiniya waɗanda har yanzu ba a magance su ba. Akwai Kimiyyar Kwamfuta da yawa a nan.

Vitaliy: Don haka kuna ƙoƙarin kafa tushen binciken blockchain, daidai?

Maurice: Ina ƙoƙarin kafa tushen ingantaccen horo, a fannin kimiyya da lissafi. Kuma wani bangare na matsalar shi ne, wani lokacin dole ne ka saba wa wasu matsananciyar matsananciyar matsayi na wasu, don yin watsi da su. Wasu lokuta mutane suna tambayar dalilin da yasa nake aiki a fagen da 'yan ta'adda da masu sayar da kwayoyi kawai ke sha'awar. Irin wannan hali ba shi da ma'ana kamar yadda mabiyan ke maimaita kalmominka a makance. Ina ganin gaskiya wani wuri ne a tsakiya. Blockchain har yanzu bai yi tasiri sosai kan al'umma da tattalin arzikin duniya ba. Amma, mai yiwuwa, wannan ba zai faru ba saboda fasahar zamani. Fasahar zamani za ta bunkasa kuma abin da za a kira blockchain a nan gaba zai zama mahimmanci. Wataƙila ma ba zai yi kama da blockchain na zamani ba, wannan tambaya ce a buɗe.

Idan mutane suka ƙirƙira sababbin fasaha, za su ci gaba da kiranta blockchain. Ina nufin, kamar yadda Fortran na yau ba shi da alaƙa da yaren Fortran daga shekarun 1960, amma kowa ya ci gaba da kiransa Fortran. Hakanan ga UNIX. Abin da ake kira "blockchain" har yanzu bai yi juyin juya hali ba. Amma ina shakka cewa wannan sabon blockchain zai zama kamar yadda kowa ke son amfani da shi a yau.

Daga ina ra'ayoyin ci gaba suka fito? Tasirin shahara

Alexey: Shin shaharar blockchain ya haifar da sabon sakamako daga mahangar kimiyya? Ƙarin hulɗa, ƙarin ɗalibai, ƙarin kamfanoni a yankin. Shin akwai wani sakamako na wannan haɓakar shaharar riga?

Maurice: Na soma sha’awar hakan sa’ad da wani ya ba ni fol ɗin wani kamfani da ya tara kuɗi da yawa. Ta rubuta game da aikin runduna janar na Byzantinewanda na fi saba da shi. An rubuta a cikin takardar a fili ba daidai ba ne a fasaha. Mutanen da suka rubuta wannan ba su fahimci ainihin samfurin da ke tattare da matsalar ba ... amma duk da haka wannan kamfani ya tara kuɗi da yawa. Daga baya, kamfanin a hankali ya maye gurbin wannan takarda da ingantaccen sigar - kuma ba zan faɗi menene sunan wannan kamfani ba. Har yanzu suna nan kuma suna aiki sosai. Wannan shari'ar ta gamsar da ni cewa, da farko, blockchain wani nau'i ne na sarrafa kwamfuta da aka rarraba. Na biyu, ƙofar shiga (a wancan lokacin, shekaru huɗu da suka wuce) ya yi ƙasa sosai. Mutanen da ke aiki a wannan yanki sun kasance masu kuzari da wayo, amma ba su karanta takaddun kimiyya ba. Sun yi ƙoƙari su sake ƙirƙira abubuwan da aka sani kuma sun yi ba daidai ba. Yau an rage wasan kwaikwayo.

Alexey: Yana da ban sha'awa sosai, domin ƴan shekarun da suka gabata muna da wani yanayi na daban. Yana da ɗan kama da ci gaban gaba-gaba, inda masu haɓaka keɓancewar hanyar bincike suka sake ƙirƙira gabaɗayan fasahohin da suka shahara a ƙarshen ƙarshen wancan lokacin: gina tsarin, ci gaba da haɗa kai, da makamantansu. 

Maurice: Na yarda. Amma wannan ba abin mamaki ba ne, saboda ainihin ra'ayoyin ci gaba koyaushe suna fitowa daga wajen kafaffen al'umma. Ƙwararrun masu bincike, musamman ma hukumomi a fannin ilimin kimiyya, da wuya su yi wani abu da gaske. Yana da sauƙi don rubuta rahoto don taro na gaba game da yadda kuka ɗan inganta sakamakon aikinku na baya. Je zuwa taro, ku taru tare da abokai, ku yi magana game da abubuwa iri ɗaya. Kuma mutanen da suka shiga tare da ra'ayoyin ci gaba kusan koyaushe suna fitowa daga waje. Ba su san ƙa'idodin ba, ba su san yare ba, amma har yanzu ... Idan kuna cikin al'umma da aka kafa, ina ba ku shawara ku kula da sababbin abubuwa, ga wani abu da bai dace da babban ba. hoto. A wata ma'ana, ana iya ƙoƙarin haɗawa waje, ƙarin haɓakar ruwa tare da dabarun da muka riga muka fahimta. A matsayin mataki na farko, yi ƙoƙarin ƙirƙirar tushen kimiyya, sannan a gyara shi ta yadda za a iya amfani da shi ga sababbin ra'ayoyin ci gaba. Ina tsammanin cewa blockchain yana da kyau don rawar sabon ra'ayin ci gaba.

Alexei: Me yasa kuke ganin hakan ke faruwa? Domin mutane "a waje" ba su da wani takamaiman shinge da ke tattare da al'umma?

Maurice: Akwai tsari a nan. Idan ka karanta tarihin Impressionists a cikin zane-zane da fasaha a gaba ɗaya, to, a lokaci guda shahararrun masu fasaha sun ƙi impressionism. Suka ce wani irin rainin hankali ne. Wani ƙarni daga baya, wannan sigar fasaha da aka ƙi a baya ya zama ma'auni. Abin da nake gani a filina: masu ƙirƙira blockchain ba su da sha'awar iko, a cikin jujjuya wallafe-wallafe da ƙididdiga, kawai suna son yin wani abu mai kyau. Haka suka zauna suka fara yi. Ba su da wani takamaiman zurfin fasaha, amma abin da za a iya gyarawa. Yana da matukar wahala a fito da sabbin ra'ayoyin ƙirƙira fiye da gyara da haɓaka waɗanda ba su isa ba. Godiya ga waɗannan masu ƙirƙira, yanzu ina da abin da zan yi!

Alexey: Wannan yayi kama da bambanci tsakanin farawa da ayyukan gado. Mun gaji ƙarancin tunani da yawa, shinge, buƙatu na musamman, da sauransu.

Maurice: Ana rarraba kwatance mai kyau na kwamfuta. Ka yi la'akari da blockchain kamar dai farawa ne da rarraba lissafi a matsayin babban kamfani da aka kafa. Ƙididdigar da aka rarraba yana kan hanyar saye da haɗa su da blockchain.

PhD a karkashin Barbara Liskov

Vitaliy: Har yanzu muna da tambayoyi da yawa! Mun kasance muna binciken tarihin ku kuma mun ci karo da gaskiya mai ban sha'awa game da PhD ɗin ku. Haka ne, ya daɗe, amma batun yana da mahimmanci. Kun sami PhD ɗinku a ƙarƙashin kulawar Barbara Liskov! Barbara sananne ne a cikin al'ummar ci gaban harshe na shirye-shirye, kuma sanannen mutum ne gaba ɗaya. Yana da ma'ana cewa bincikenku ya kasance a fagen harsunan shirye-shirye. Ta yaya kuka canza zuwa lissafin layi daya? Me yasa kuka yanke shawarar canza batun?

Maurice: A lokacin, Barbara da ƙungiyarta suna kallon faifan kwamfuta ne kawai, wanda sabon ra'ayi ne. Har ila yau, akwai wadanda suka ce aikin kwamfuta da aka rarraba shirme ne, sadarwa tsakanin kwamfuta ba ta da ma'ana. Ɗaya daga cikin batutuwan da aka yi la'akari da su a cikin rarraba kwamfuta, wanda ya bambanta su da na'ura mai kwakwalwa, shi ne hakuri da kuskure. Bayan bincike mai yawa, mun yanke shawarar cewa a cikin yaren shirye-shiryen don rarraba kwamfuta, kuna buƙatar samun wani abu kamar ma'amalar atomic, saboda ba za ku taɓa tabbata cewa kiran nesa zai yi nasara ba. Da zarar kun sami ma'amaloli, akwai matsala na sarrafa kwatankwacin kuɗi. Sa'an nan kuma an yi aiki da yawa a kan samun daidaitattun tsarin bayanan ma'amala. Sai da na kammala na je Carnegie Mellon kuma ya fara neman batu don aiki. Ya zo gare ni cewa kwamfuta ta ƙaura daga kwamfutoci ɗaya zuwa cibiyoyin sadarwar kwamfutoci. Ci gaban dabi'a na ci gaba zai zama masu sarrafawa da yawa - kalmar "multi-core" ba ta wanzu a lokacin. Na yi tunani: menene kwatankwacin ma'amalar atomic don tsarin tsarin multi-core? Tabbas ba ma'amaloli na yau da kullun ba, saboda suna da girma da nauyi. Kuma a haka ne na fito da wannan tunani linearizability kuma haka ne na fito da duka daidaitawar ba tare da jira ba. Ƙoƙari ne na amsa tambayar menene analogue na ma'amalar atomic don tsarin multiprocessor tare da ƙwaƙwalwar ajiya. A kallo na farko, wannan aikin na iya bambanta sosai, amma a zahiri ci gaba ne na jigo ɗaya.

Duniya mai jiran Multi-core

Vitaly: Ka ambata cewa akwai ƙananan kwamfutoci masu yawan gaske a lokacin, daidai?

Maurice: Ba su wanzu ba. Akwai da yawa da ake kira symmetrical multiprocessors, waɗanda aka haɗa da asali zuwa bas iri ɗaya. Hakan bai yi kyau ba, domin a duk lokacin da wani sabon kamfani ya kirkiro wani abu makamancin haka, Intel ya fitar da processor guda daya wanda ya zarce na'ura mai kwakwalwa da yawa.

Alexei: Wannan ba yana nufin cewa a waɗannan zamanin da, an fi yin nazari ne na ka'ida ba?

Maurice: Ba wai na ka’ida ba ne, amma nazari ne na hasashe. Duk wannan ba game da yin aiki da jigogi da yawa ba ne, a maimakon haka, mun gabatar da hasashe game da gine-ginen da ba su wanzu a lokacin. Abin da bincike ne don haka! Babu wani kamfani da zai yi wannan, duk wani abu ne daga nan gaba mai nisa. A gaskiya ma, wannan ya kasance har zuwa 2004, lokacin da ainihin na'urori masu sarrafawa da yawa suka bayyana. Saboda gaskiyar cewa na'urori masu sarrafawa sun yi zafi, za ku iya sa na'urar ta fi girma, amma ba za ku iya yin shi da sauri ba. Saboda wannan, an sami sauyi zuwa manyan gine-gine masu yawa. Sannan yana nufin cewa kwatsam an sami amfani ga duk abubuwan da muka haɓaka a baya.

Alexey: Me yasa kuke tsammanin na'urori masu sarrafawa da yawa sun bayyana ne kawai a cikin XNUMXs? To me ya sa haka latti?

Maurice: Yana da nasaba da gazawar hardware. Intel, AMD, da sauran kamfanoni suna da kyau sosai wajen haɓaka saurin sarrafawa. Lokacin da a wani lokaci na'urori masu sarrafawa sun sami ƙananan isa wanda ba za su iya ƙara saurin agogo ba saboda na'urorin zasu fara ƙonewa. Kuna iya sanya su ƙarami, amma ba sauri ba. Abin da ke cikin ikonsu - maimakon ƙaramin processor, ya dace da na'urori takwas, goma sha shida ko talatin da biyu a cikin juzu'i ɗaya na akwati, inda ɗaya kawai ya dace. Yanzu kuna da multithreading da sadarwa mai sauri a tsakanin su saboda suna raba caches. Amma ba za ku iya sa su gudu da sauri ba - akwai ƙayyadadden ƙayyadaddun saurin gudu. Suna ci gaba da haɓakawa kaɗan kaɗan, amma ba da yawa ba. Dokokin kimiyyar lissafi sun shiga hanya.

Sabuwar duniya, sabbin matsaloli. NUMA, NVM da hacking na gine-gine

Alexei: Yana da ma'ana sosai. Tare da sababbin na'urori masu sarrafawa da yawa sun zo sababbin matsaloli. Shin kai da abokan aikinka sun yi tsammanin waɗannan matsalolin? Wataƙila ka yi nazarin su a gaba? A cikin nazarin ka'idar sau da yawa ba abu mai sauƙi ba ne a iya hasashen irin waɗannan abubuwa. Lokacin da matsaloli suka faru, yaya suka dace da tsammanin ku da abokan aikin ku? Ko kuma sun kasance sababbi ne kuma ku da abokan aikin ku kun kashe lokaci mai yawa don magance matsaloli yayin da suka taso?

Vitaliy: Zan ƙara zuwa tambayar Alexey: shin kun yi hasashen gine-ginen masu sarrafawa daidai lokacin da kuke nazarin ka'idar?

Maurice: Ba duka 100%. Amma ina tsammanin ni da abokan aiki na mun yi kyakkyawan aiki na tsinkayar abubuwan ƙwaƙwalwar ajiya mai yawa. Ina tsammanin mun yi annabta daidai wahalhalun da ke cikin ƙira tsarin bayanan layi ɗaya waɗanda ke aiki ba tare da makullai ba. Irin waɗannan tsarin bayanan sun kasance masu mahimmanci ga aikace-aikace da yawa, kodayake ba ga kowa ba, amma galibi kuna buƙatar tsarin bayanan da ba ku kulle ba. Lokacin da muka ƙirƙira su, mutane da yawa sun yi jayayya cewa wannan zancen banza ne, cewa komai yana aiki lafiya tare da makullai. Mun hango da kyau cewa za a sami shirye-shiryen magance matsalolin shirye-shirye da matsalolin tsarin bayanai. Akwai kuma matsaloli masu rikitarwa, kamar IN – Rashin daidaituwar damar ƙwaƙwalwar ajiya. A gaskiya ma, ba a yi la'akari da su ba har sai da aka kirkiro na'urori masu mahimmanci na multi-core saboda sun kasance na musamman. Ƙungiyar bincike ta yi aiki akan tambayoyin da gabaɗaya ake iya faɗi. Wasu matsalolin kayan aikin da ke da alaƙa da takamaiman gine-ginen dole ne su jira a cikin fuka-fuki - a zahiri, bayyanar waɗannan gine-ginen. Misali, babu wanda yayi aiki da gaske akan takamaiman tsarin bayanai na GPU saboda GPU bai wanzu a lokacin ba. Ko da yake an yi ayyuka da yawa a kai SIMD, waɗannan algorithms sun shirya don amfani da zaran kayan aikin da suka dace sun bayyana. Duk da haka, ba zai yiwu a yi hasashen komai ba.

Alexey: Idan na fahimta daidai, NUMA wani nau'i ne na sasantawa tsakanin farashi, aiki da wasu abubuwa. Ko akwai dalilin da ya sa NUMA ta zo a makara?

Maurice: Ina tsammanin NUMA ta wanzu saboda matsala tare da kayan aikin da ake amfani da su don yin ƙwaƙwalwar ajiya: mafi nisa abubuwan da aka haɗa, da sannu a hankali ana samun su. A gefe guda, ƙimar na biyu na wannan abstraction shine daidaituwar ƙwaƙwalwar ajiya. Don haka, ɗaya daga cikin sifofin kwamfyuta mai kama da juna shine cewa duk abstractions sun ɗan karye. Idan dama ta kasance daidai daidai, duk ƙwaƙwalwar ajiya za ta kasance daidai, amma wannan ta fuskar tattalin arziki, kuma watakila ma a zahiri ba zai yiwu ba. Don haka wannan rikici ya taso. Idan kun rubuta shirin ku kamar memorin ya kasance iri ɗaya, to tabbas zai zama daidai. A cikin ma'anar cewa ba zai ba da amsa ba daidai ba. Amma aikin taurarinta daga sama ba zai kama ba. Hakazalika, idan ka rubuta spinlocks ba tare da fahimtar matsayi na caches ba, kulle kanta zai zama daidai, amma zaka iya manta game da aikin. A wata ma'ana, dole ne ku rubuta shirye-shiryen da ke rayuwa a kan wani abu mai sauƙi, amma dole ne ku fi dacewa da mutanen da suka ba ku wannan abstraction: dole ne ku san cewa a karkashin abstraction akwai wasu matsayi na ƙwaƙwalwar ajiya, cewa akwai. bas tsakanin ku da wannan ƙwaƙwalwar ajiya, da sauransu. Don haka, akwai wasu rikice-rikice tsakanin abstractions waɗanda ke da amfani da kansu, wanda ke kai mu ga takamaiman takamaiman matsaloli kuma na zahiri.

Vitaliy: Abin da zai faru nan gaba? Za ku iya hasashen yadda na'urori masu sarrafawa za su ci gaba? Akwai ra'ayin cewa ɗayan amsoshin shine ƙwaƙwalwar ajiyar ma'amala. Wataƙila kuna da wani abu dabam.

Maurice: Akwai manyan ƙalubale guda biyu a gaba. Ɗayan shine cewa haɗin gwiwar ƙwaƙwalwar ajiya abu ne mai ban mamaki, amma yana fara rushewa a cikin lokuta na musamman. Don haka, alal misali, NUMA misali ne mai rai na wani abu inda za ku iya ci gaba da yin kamar akwai ƙwaƙwalwar ajiya iri ɗaya. A zahiri - a'a, wasan kwaikwayon zai sa ku kuka. A wani lokaci, masu gine-ginen za su yi watsi da ra'ayin haɗin gine-ginen ƙwaƙwalwar ajiya, ba za ku iya yin kamar har abada ba. Za a buƙaci sabbin ƙirar shirye-shirye waɗanda ke da sauƙin amfani da su kuma suna da ƙarfi don yin ingantaccen kayan aikin da ke ƙasa. Wannan sasantawa ce mai matukar wahala, domin idan ka nuna wa masu shirye-shiryen gine-ginen gine-ginen da a zahiri ake amfani da su a cikin kayan aiki, za su yi hauka. Yana da rikitarwa da yawa kuma ba mai ɗaukar hoto ba. Idan kun gabatar da keɓancewa mai sauƙi, aikin zai yi rauni. Don haka, za a buƙaci yin sulhu da yawa masu wuyar gaske don samar da samfuran shirye-shirye masu amfani waɗanda suka dace da ainihin manyan na'urori masu sarrafawa da yawa. Ban da tabbacin cewa, in ban da ƙwararrun ƙwararrun ƙwararrun ƙwararrun ƙwararrun ƙwararrun ƙwararrun ƙwararrun ƙwararrun ƙwararrun ƙwararrun ƙwararrun ƙwararrun ƙwararrun ƙwararrun ƙwararrun ƙwararrun ƙwararrun ƙwararrun ƙwararrun ƙwararrun ƙwararrun ƙwararrun ƙwararrun ƙwararrun ƙwararrun ƙwararrun ƙwararrun ƙwararrun ƙwararrun ƙwararrun ƙwararrun ƙwararrun ƙwararrun ƙwararrun ƙwararrun ƙwararrun ƙwararrun ƙwararrun ƙwararrun ƙwararrun ƙwararrun ƙwararrun ƙwararrun mata waɗanda ke da ikon yin shirye-shirye akan kwamfuta mai mahimmanci 2000. Kuma sai dai idan kuna yin kwamfyuta na musamman ko ilimin kimiyya, cryptography ko wani abu, har yanzu ba a bayyana yadda ake yin shi daidai ba. 

Wani irin wannan shugabanci shine na musamman gine-gine. Masu haɓakar zane-zane sun daɗe, amma sun riga sun zama nau'in misali na yau da kullun na yadda zaku iya ɗaukar nau'in ƙididdiga na musamman kuma ku gudanar da shi akan guntu sadaukarwa. Wannan yana ƙara ƙalubalen nasa: ta yaya kuke sadarwa da irin wannan na'ura, ta yaya kuke tsara ta. Kwanan nan na yi aiki a kan ayyuka a yankin kusa da ƙwaƙwalwar ƙwaƙwalwa. Zaku ɗauki ƙaramin processor ɗin ku manna shi zuwa babban ɓangarorin ƙwaƙwalwar ajiya ta yadda memorin zai yi aiki da saurin cache L1, sannan yana sadarwa da na'ura kamar haka. TPU - na'ura mai sarrafawa yana aiki yana loda sabbin ayyuka a cikin ma'aunin ƙwaƙwalwar ajiyar ku. Haɓaka tsarin bayanai da ka'idojin sadarwa don irin wannan abu wani misali ne mai ban sha'awa. Don haka, na'urori na musamman da kayan aikin za su kasance ƙarƙashin haɓaka na ɗan lokaci kaɗan.

Alexey: Me game da ƙwaƙwalwar da ba ta da ƙarfi (ƙwaƙwalwar mara mara ƙarfi)?

Maurice: Oh, wannan wani babban misali ne! NVM zai canza yadda muke kallon abubuwa kamar tsarin bayanai. Ƙwaƙwalwar ƙwaƙwalwar da ba ta da ƙarfi, a cikin ma'ana, tayi alƙawari da gaske don hanzarta abubuwa. Amma ba zai sauƙaƙa rayuwa ba, saboda yawancin na'urori masu sarrafawa, caches, da masu rijista har yanzu ba su da ƙarfi. Lokacin da kuka tashi bayan faɗuwa, jihar ku da yanayin ƙwaƙwalwar ajiyar ku ba za su kasance daidai da kafin hadarin ba. Ina matukar godiya ga mutanen da ke cikin NVM - na dogon lokaci, masu bincike za su sami wani abu da za su yi, ƙoƙarin gano yanayin daidai. Ƙididdigar ƙididdiga daidai ne idan za su iya tsira daga hatsarin da abubuwan da ke cikin caches da rajista suka ɓace, amma babban ƙwaƙwalwar ajiya ya kasance cikakke.

Compilers vs CPUs, RISC vs CISC, Raba ƙwaƙwalwar ajiya vs wucewar saƙo

Vladimir: Me kuke tunani game da masu tarawa da na'urori masu sarrafawa dangane da tsarin koyarwa? Don yin bayani ga waɗanda ba su cikin batun: idan muka je ƙwaƙwalwar ajiya marar daidaituwa ko wani abu makamancin haka, za mu iya amfani da tsari mai sauƙi mai sauƙi kuma mu tambayi mai tarawa don samar da hadadden lambar da za ta iya cin gajiyar fa'idodin da aka gano. Ko kuma za mu iya zuwa wata hanya: aiwatar da hadaddun umarni kuma tambayi mai sarrafawa don sake tsara umarnin da yin wasu magudi tare da su. Me kuke tunani akai?

Maurice: Ba ni da amsar wannan tambayar. An shafe shekaru arba'in ana wannan muhawarar. Akwai lokaci tsakanin takaitacce umarni saitin kuma wuya an yi yakin basasa ta hanyar ƙungiyoyin ƙungiyoyi. Na dan wani lokaci, mutanen RISC sun yi nasara, amma sai Intel ya sake gina injunansu ta yadda aka yi amfani da tsarin koyarwa da aka rage a ciki, kuma an fitar da cikakke a waje. Wataƙila wannan batu ne wanda dole ne kowane sabon ƙarni ya sami nasa ra'ayi kuma ya yanke shawarar kansa. Yana da matukar wahala a iya hasashen wanne daga cikin waɗannan abubuwan zai fi kyau. Don haka duk wani hasashen da na yi zai zama gaskiya na wani ɗan lokaci, sa'an nan kuma ya sake zama ƙarya na ɗan lokaci, sa'an nan kuma ya zama gaskiya.

Alexey: Yaya ya zama gama gari ga masana'antar gabaɗaya cewa wasu ra'ayoyin sun yi nasara cikin shekaru da yawa kuma su yi rashin nasara a gaba? Shin akwai wasu misalan irin waɗannan canje-canje na lokaci-lokaci?

Maurice: A fannin rarraba kwamfuta, akwai mutanen da suka yi imani da su Ƙwaƙwalwar ajiya da mutanen da suka yi imani saƙon. Asali a cikin kwamfuta da aka rarraba, lissafin layi ɗaya yana nufin wucewar saƙo. Sai wani ya gano cewa sharing memory yayi programming yafi sauki. Ɗayan ɓangaren ya ce ƙwaƙwalwar ajiya tana da rikitarwa sosai, saboda suna buƙatar makullai da makamantansu, don haka yana da kyau matsawa zuwa harsunan da babu wani abu sai dai aika sako kawai. Wani ya kalli abin da ya fito daga ciki ya ce: “wow, wannan aiwatar da aika saƙon yayi kama da ƙwaƙwalwar ajiya, saboda kun ƙirƙiri da yawa, da yawa daga cikin waɗannan ƙananan kayayyaki, suna aika saƙonni ga junansu, kuma su duka. mutuwa, - bari mu yi sharing memory database mafi kyau!". Duk wadannan ana maimaita su akai-akai, kuma ba zai yiwu a ce daya daga cikin jam’iyyun yana da gaskiya ba. Wani bangare zai mamaye shi, domin da zarar daya daga cikinsu ya kusa yin nasara, sai mutane suka sake kirkiro hanyoyin inganta daya.

Fasahar rubuta lambobi masu zare da yawa

Alexei: Wannan yana da ban sha'awa sosai. Misali, idan muka rubuta code, ko da wane yare na shirye-shirye, yawanci dole ne mu ƙirƙira abstractions kamar sel waɗanda za a iya karantawa da rubutawa. Amma a zahiri, a wani matakin jiki, yana iya zama kamar aika saƙo a cikin motar bas ɗin hardware tsakanin kwamfutoci daban-daban da sauran na'urori. Ya bayyana cewa akwai aiki a duka matakan abstraction lokaci guda.

Maurice: Gaskiya ne cewa an gina ƙwaƙwalwar ajiya ta hanyar wucewar saƙo - bas, caches, da sauransu. Amma yana da wuya a rubuta shirye-shirye ta amfani da wucewar saƙo, don haka hardware da gangan ya yi ƙarya, yana nuna kana da wani nau'i na ƙwaƙwalwar ajiya. Wannan zai sauƙaƙa maka rubuta sauƙi, daidaitattun shirye-shirye kafin aikin ya fara raguwa. Sannan ka ce: yana kama da lokacin yin abota da cache. Kuma wannan shine lokacin da kuka fara damuwa game da wurin da cache yake, sannan mu tafi. A wata ma'ana, kuna karya bayanan: kun san ba kawai lebur ba ne, ƙwaƙwalwar ajiya iri ɗaya, kuma za ku yi amfani da wannan ilimin don rubuta shirye-shiryen abokantaka na cache. Wannan shine abin da dole ku yi a cikin ayyuka na gaske. Wannan rikice-rikice tsakanin kyakkyawan kyakkyawan ƙaƙƙarfan ƙaƙƙarfan ƙayyadaddun ƙayyadaddun ƙayyadaddun ƙayyadaddun kayan aikin da aka ba ku da kuma ƙaƙƙarfan aiwatar da kayan aikin da ke ƙasa shine inda kowa ke yin nasa sulhu. Ina da littafi kan multiprocessors da daidaitawa, kuma wata rana zan rubuta babi kan tsarin bayanai a cikin java.util.concurrent. Idan ka kalle su, abubuwa kamar tsallake lissafin Waɗannan ayyukan fasaha ne masu ban mamaki. (Bayanin edita: waɗanda suka saba da yaren Java yakamata su kalli yadda ake aiwatarwa aƙalla Taswirar SkipListMap, Kuna iya duba hanyoyin haɗin don API и lambar tushe). Amma daga ra'ayi na, ba zai zama da wuya a nuna su ga dalibai ba, saboda irin wannan tsarin bayanan wani nau'i ne na mutum a cikin circus, yana gudana a kan igiya mai tsayi a kan ramin bear. Idan kun canza ko da ƙaramin daki-daki ɗaya, duk tsarin zai rushe. Wannan lambar tana da sauri kuma tana da kyau kawai saboda an rubuta ta daidai, amma ƙaramin canji zai haifar da gazawa. Idan na ba da wannan lambar a matsayin misali ga ɗalibai, nan da nan za su ce: Ni ma zan iya yin hakan! Sannan kuma wani jirgi zai yi hadari ko kuma injin sarrafa makamashin nukiliya ya fashe, kuma laifina ne na ba su bayanai da yawa a daidai lokacin da ya dace.

Alexey: Lokacin da nake ƙarami, sau da yawa na yi ƙoƙarin yin nazarin lambar tushe na Doug Lee, alal misali, java.util.concurrent, saboda buɗaɗɗen tushe ne, yana da sauƙin samunsa da ƙoƙarin fahimtar abin da ke faruwa a wurin. Bai fito da kyau ba: sau da yawa, ba a san dalilin da yasa Doug ya yanke shawarar yin wani abu ta wannan hanyar ba, yayin da kowa ya yi shi daban. Ta yaya kuke bayyana waɗannan abubuwan ga ɗaliban ku? Shin akwai wata madaidaiciyar hanya ta musamman don bayyana takamaiman cikakkun bayanai na algorithm hardcore, misali? Yaya kuke yi?

Maurice: Malaman zane suna da cliché da suke tunawa da farko: idan kuna son zana kamar Picasso, dole ne ku fara koyon yadda ake zana hotuna masu sauƙi na gaske, kuma kawai idan kun san ƙa'idodin za ku iya fara karya su. Idan ka fara nan da nan ta hanyar karya dokoki, za ka sami matsala. Na farko, ina koya wa ɗalibai yadda ake rubuta sauƙi, madaidaiciyar lamba ba tare da damuwa game da aiki ba. Ina cewa akwai matsalolin lokaci masu rikitarwa da ke ɓoye a nan, don haka kada ku damu da caches, kada ku damu da ƙirar ƙwaƙwalwar ajiya, kawai tabbatar da cewa komai yana aiki yadda ya kamata. Yana da wuyar gaske: Shirye-shiryen zamani ba su da sauƙi da kansa, musamman ga sababbin ɗalibai. Kuma idan suna da hankali game da yadda ake rubuta shirye-shirye masu kyau, sai in ce: dubi waɗannan ayyukan biyu na spinlock: daya yana da hankali sosai, na biyu kuma ba shi da kyau sosai, amma ya riga ya fi kyau. Koyaya, a lissafin waɗannan algorithms guda biyu iri ɗaya ne. A zahiri, ɗaya daga cikinsu yana amfani da wurin cache. Ɗaya daga cikinsu yana jujjuya bayanan da aka adana a cikin gida, ɗayan kuma yana yin ayyuka akai-akai ta cikin bas. Ba za ku iya rubuta ingantaccen code ba idan ba ku fahimce shi ba, idan ba ku san yadda ake karya abstraction ba kuma ku kalli tsarin da ke ƙasa. Amma ba za ku iya fara yinsa nan take ba. Akwai mutanen da suka fara yin haka nan da nan kuma suka yi imani da nasu hazaka, yawanci ya ƙare da mugun saboda ba su fahimci ƙa'idodin ba. Babu wanda ya zana kamar Picasso ko rubuta shirye-shirye kamar Doug Lee, sabo daga jami'a, a cikin makonsa na farko. Ana ɗaukar shekaru kafin a kai ga wannan matakin ilimi.

Alexey: Ya bayyana cewa kun raba matsalar zuwa kashi biyu: na farko shine daidai, na biyu shine aiki?

Maurice: Daidai. Kuma, a cikin wannan tsari. Wani ɓangare na matsalar shine sababbin ɗalibai ba su gane cewa gyara yana da wuyar cimmawa. Suna cewa da farko: wannan a bayyane yake daidai, ya rage kawai don hanzarta shi. Don haka, wani lokacin na gaya musu game da wani algorithm na ainihi ba daidai ba kamar dai daidai ne.

Yadda ake koya wa ɗalibai yadda ake rubuta hadadden code mai zare da yawa

Alexei: Kawai don ganin ko za su iya gane dabara?

Maurice: A koyaushe ina faɗakar da ku a gaba cewa wani lokaci zan zo da algorithms mara kyau. Kada ku yaudari mutane. Ina ba da shawarar su kasance masu shakka game da bayanin. Idan na gaya wani abu kuma in ce: "duba, wannan a bayyane yake daidai" - wannan alama ce cewa wani wuri suna ƙoƙarin yaudarar ku, kuma ya kamata ku fara yin tambayoyi. Na gaba, Ina ƙoƙarin ƙarfafa ɗalibai su ci gaba da yin tambayoyi, sannan in faɗa musu: "Me zai faru idan muka bar komai yadda yake?". Kuma nan da nan suka ga kuskure. Amma gamsar da ɗalibai cewa suna buƙatar damuwa game da daidaito ya fi wahala fiye da yadda ake gani a farkon kallo. Da yawa daga cikin waɗannan ɗalibai suna zuwa da ƙwarewar shirye-shirye a makarantar sakandare, wasu sun riga sun sami aikin yi da shirye-shirye a can, kuma duk suna cike da kwarin gwiwa. Wannan wani abu ne na soja: da farko dole ne ku canza tunaninsu don shawo kan su da su yi haƙuri don tunkarar matsalolin da suka kunno kai. Ko wataƙila yana kama da sufaye na Buddha: da farko sun koyi yin tunani game da daidaito, kuma da zarar sun fahimci hanyoyin tunani game da daidaito, an ba su damar zuwa mataki na gaba kuma su fara damuwa game da aiki.

Alexey: Wato, wani lokacin kuna nuna wa ɗalibai misalai marasa aiki, godiya ga abin da kuke samun ra'ayoyin da ke nuna ko sun fahimci ainihin matsalar, ko za su iya samun lambar da ba ta dace ba da kuma sakamako mara kyau. To, ta yaya dalibai suka saba farantawa ko bacin rai?

Maurice: Kusan koyaushe ɗalibai suna samun kuskure. Idan suka bincika a hankali, ina yin tambayoyi masu mahimmanci, kuma a nan yana da mahimmanci a fahimci cewa idan ba a taɓa yaudararsu ba, za su fara fahimtar kalmominku a matsayin gaskiya ta ƙarshe. Sai suka gaji suka yi barci suna karanta facebook a laptop a lokacin class. Amma da ka sanar da su tukuna cewa za a yi musu zamba kuma za su zama wawa idan ba su fahimci dabara ba, sai su zama a faɗake sosai. Wannan yana da kyau ta hanyoyi da yawa. Ina son dalibai ba wai kawai su tambayi fahimtar su game da batun ba, har ma su tambayi ikon malamin. Manufar ita ce ɗalibin zai iya ɗaga hannunsu a kowane lokaci kuma ya ce: Ina tsammanin abin da kuka faɗa bai dace ba. Yana da kayan aiki mai mahimmanci na koyo. Ba na son kowane ɗayan ɗaliban ya zauna ya yi shiru yana tunanin kansu: duk wannan yana kama da cikakken maganar banza, amma yana da ban tsoro don ɗaga hannun ku, kuma hakika, shi farfesa ne, don haka duk abin da ya faɗi gaskiya ne. Saboda haka, idan an gargaɗe su da wuri cewa ba duk abin da aka faɗa gaskiya ne ba, suna da ƙwarin gwiwa don ƙara mai da hankali ga kayan. Na bayyana a sarari cewa ɗaga hannunka da yin tambayoyi ba shi da kyau. Tambayar ku na iya zama wauta ko butulci, amma sau da yawa haka mafi kyawun tambayoyin ke fitowa.

Alexei: Yana da ban sha'awa sosai. Yawancin lokaci mutane suna da wani nau'in shinge na tunani wanda ke hana su yi wa farfesa tambaya. Musamman idan akwai mutane da yawa a cikin dakin, kuma kowa yana jin tsoron cewa tattauna tambayar ku ta wauta zai dauki lokacin duk waɗannan mutane. Shin akwai dabaru don magance wannan?

Maurice: Sau da yawa nakan tsaya ina yin tambayoyi na musamman. Shin wata magana za ta kasance daidai, ko ta yaya za su magance matsalar da ake tattaunawa. Wannan muhimmin mataki ne, musamman a farkon zama, lokacin da mutane ke jin kunyar faɗin ko da ƙaramin abu. Kuna yi wa ɗalibai tambaya kuma ba ku ƙara cewa komai ba. Shiru aka yi, kowa ya dan tada hankali, tashin hankali ya karu, nan take wani ya watse, ya watse ya ce amsa. Don haka ku bayyana yanayin: yana zama mafi wahala da rashin jin daɗi yin shiru fiye da amsawa! Wannan daidaitaccen dabarar koyarwa ce. Ya kamata kowane malami a duniya ya san yadda ake yin haka.

Alexey: Yanzu muna da babban take ga wannan hira: "yana da sauƙin amsa fiye da yin shiru."

Vitaly: Bari in sake tambayar ku wani abu guda. Kuna aiki akan hujjojin topological. Yaya har kuka shiga cikin wannan, saboda rarraba kwamfuta da topology gaba ɗaya abubuwa ne daban-daban!

Maurice: Akwai boyayyar dangantaka a can. Lokacin da nake dalibi kuma na karanta ilimin lissafi, na karanta pure mathematics. Ba ni da sha'awar kwamfuta ta gaske har zuwa karshen karatuna kuma na sami kaina a cikin gaggawar neman aiki. A matsayina na ɗalibi, na karanta algebraic topology. Shekaru da yawa bayan haka, yayin aiki akan matsala da ake kira "k-Set Matsalolin Yarjejeniyar", Na yi amfani da zane-zane don tsara matsalar kuma, kamar yadda ake gani a lokacin, na sami mafita. Sai kawai ka zauna ka zagaya lissafin. Yi ƙoƙarin samun amsa mai dacewa akan wannan jadawali. Amma algorithm na bai yi aiki ba: ya juya cewa koyaushe zai gudana a cikin da'irori. Abin baƙin ciki, babu wani daga cikin waɗannan da za a iya bayyana shi a cikin ainihin harshen ka'idar graph, harshen da duk masana kimiyyar kwamfuta suka sani. Kuma sai na tuna cewa shekaru da yawa da suka wuce, ko da a cikin azuzuwan topology, mun yi amfani da manufar " hadaddun mai sauƙi ", wanda shine juzu'i na jadawali zuwa mafi girma girma. Sai na tambayi kaina: me zai faru idan muka sake fasalin matsalar ta fuskar gidaje masu sauƙi? Wannan ya zama mabuɗin. Ta yin amfani da ƙa'idar ƙa'ida mai ƙarfi, matsalar ba zato ba tsammani ta zama mai sauƙi. Mutane sun daɗe suna kokawa da shi, suna amfani da jadawali, amma sun kasa yin komai. Kuma har yanzu ba za su iya ba - amsar daidai ba algorithm ba ne, amma tabbacin rashin yiwuwar magance matsalar. Wato, irin wannan algorithm kawai ba ya wanzu. Amma kowace hujja ta rashin yiwuwar ya dogara ne ko dai a kan sassa masu sauƙi, ko kuma a kan abubuwan da mutane suke ɗauka ba su yi la'akari da sassauƙan gidaje ba. Daga cewa ka kira wani abu da sabon suna, ba ya rasa ainihin sa.

Vitaliy: Ya zama cewa kun yi sa'a kawai?

Maurice: Ban da sa’a, haka ma yarda. Ma'ana, kada ku manta da abubuwan "marasa amfani" da kuka koya a baya. Abubuwan da ba su da amfani da kuke koya, ƙarin fahimtar za ku iya fitar da su lokacin da kuka fuskanci sabuwar matsala. Wannan nau'in daidaitawar ƙirar ƙira yana da mahimmanci saboda ... Bari mu ce, sarkar ce: a farkon, na gano cewa jadawali bai yi aiki sosai ba ko kuma bai yi aiki ba kwata-kwata, ya tunatar da ni wani abu daga shekaru takwas da suka gabata. da shekarun ɗalibai lokacin da muka yi nazarin duk waɗannan ƙa'idodi masu sauƙi. Bi da bi, wannan ya ba ni damar nemo tsohon littafin topology dina na mayar da shi cikin kaina. Amma idan ba don wancan tsohon ilimin ba, da ban taɓa yin wani gaba ba wajen warware matsalar ta asali.

Sabon bugu na The Art of Multiprocessor Programming

Alexei: Kin faɗi wasu kalmomi game da littafinku. Watakila ba shine babban sirrin da ka rubuta littafin da ya fi shahara a duniya a kan multithreading ba, "The Art of Multiprocessor Programming". Tun tana kimanin shekara 11 kuma tun daga lokacin ta fito  sake bugawa. Shin za a sami bugu na biyu?

Maurice: Yana da kyau ka yi tambaya! Zai yi sauri sosai, nan da wata uku ko makamancin haka. Akwai ƙarin mawallafa biyu, mun ƙara abubuwa da yawa, haɓaka sashin kan cokali mai yatsa / shiga daidaici, rubuta sashe akan MapReduce, ƙara sabbin abubuwa da yawa kuma mun fitar da waɗanda ba dole ba - wani abu mai ban sha'awa sosai a lokacin rubutawa. bugu na farko, amma ba yau ba. Ya zama littafin da aka yi wa kwaskwarima sosai.

Alexei: An riga an yi komai, ya rage kawai don saki?

Maurice: Har ila yau akwai bukatar a yi aiki a kan babi biyu. Mawallafinmu (Ina tsammanin ya ƙi mu ya rigaya) yana ƙoƙari ya nuna cewa ya kamata mu yi aiki da sauri. Muna bayan tsari. A ka'ida, da mun yi wannan littafin shekaru biyu baya.

Alexey: Shin akwai wata dama ta samun sabon sigar littafin kafin Kirsimeti?

Maurice: Wannan shine burinmu! Amma na yi annabta nasara sau da yawa cewa babu wanda ya ƙara yarda da ni. Kila bai kamata ku yarda da ni da yawa kan wannan lamarin ba.

Alexei: A kowane hali, wannan labari ne mai ban sha'awa. Ina matukar son bugu na farko na littafin. Kuna iya cewa ni masoyi ne.

Maurice: Ina fatan sabon bugu zai dace da ƙwazon ku, na gode!

Yadda aka ƙirƙira ƙwaƙwalwar ma'amala

Vitaly: Tambaya ta gaba game da ƙwaƙwalwar ajiyar ma'amala. Kamar yadda na fahimta, kai majagaba ne a wannan fanni, ka qirqiro shi a lokacin da babu wanda ya yi tunanin irin wannan. Me yasa kuka yanke shawarar ƙaura zuwa wannan yanki? Me yasa ma'amaloli suke da mahimmanci a gare ku? Shin kun yi tunanin wata rana za su kasance cikin ƙarfe?

Maurice: Tun lokacin da na kammala karatuna na san harkar kasuwanci.

Vitaliy: Ee, amma waɗannan ma'amaloli daban-daban ne!

Maurice: Na yi aiki tare da Elliott Moss a kan rashin hana tarin shara. Matsalarmu ita ce muna so mu canza wasu kalmomi a cikin ƙwaƙwalwar ajiya sannan kuma algorithms zai zama mai sauƙi, kuma aƙalla wasu daga cikinsu za su zama masu inganci. Amfani kwatanta-da-swap to load-link/store-conditionalAn samar da tsarin gine-ginen layi daya, yana yiwuwa a yi wani abu, amma ba shi da inganci kuma yana da muni saboda dole ne ku fuskanci matakan karkatarwa. Ina so in canza kalmomin ƙwaƙwalwar ajiya kuma ina buƙatar canzawa saboda zan iya canza mai nuni ɗaya kawai, don haka suna buƙatar nuna wani nau'i na tsarin shugabanci. Mun yi magana game da yadda zai zama mai girma idan za mu iya canza kayan aikin don yin rikodin lokaci guda. Da alama Elliot ya lura da wannan: idan kun kalli ka'idodin daidaituwar cache, sun riga sun samar da mafi yawan ayyukan da ake buƙata. A cikin kyakkyawar ma'amala, ka'idar haɗin gwiwar cache za ta lura da kasancewar rikice-rikicen lokaci kuma cache ɗin zai zama. mara inganci. Me zai faru idan da hasashe ka fara ma'amala akan cache ɗin ku kuma kuyi amfani da hanyoyin ƙa'idar haɗin kai don gano rikice-rikice? Tsarin gine-ginen kayan masarufi ya kasance mai sauƙin ƙira. Don haka muka rubuta cewa bugu na farko sosai game da ƙwaƙwalwar ajiyar ma'amala. A lokaci guda kuma, kamfanin da na yi wa aiki, Digital Equipment Corporation, yana gina wani sabon masarrafa mai nauyin 64-bit mai suna Alpha. Don haka sai na je na ba da gabatarwa ga ƙungiyar ci gaban Alpha game da ƙwaƙwalwar ajiyar mu na ma'amala mai ban mamaki, kuma sun tambayi: menene ƙarin kudin shiga kamfaninmu zai samu idan muka sanya duk wannan kai tsaye a cikin injin sarrafawa? Kuma ba ni da cikakkiyar amsar wannan, saboda ni masanin fasaha ne, ba ƙwararrun tallace-tallace ba ne. Ba ni da abin da zan ce. Ba su cika sha'awar cewa ban san komai ba.

Vitaly: Biliyoyin! Kawai a ce "biliyoyin"!

Maurice: E, abin da ya kamata in ce ke nan. Yanzu, a cikin zamanin farawa da duk wannan, na san yadda ake rubuta tsarin kasuwanci. Cewa za ku iya yin ƙarya kaɗan game da girman yuwuwar riba. Amma a wancan zamanin ya zama kamar butulci, don haka kawai na ce, "Ban sani ba." Idan ka dubi tarihin wallafe-wallafe game da ƙwaƙwalwar ajiyar ma'amala, za ka lura cewa bayan shekara guda an yi nuni da shi da yawa, sannan kusan shekaru goma babu wanda ya ambaci wannan labarin kwata-kwata. Abubuwan da aka ambata sun bayyana a kusa da 2004, lokacin da ainihin Multi-core ya kasance. Lokacin da mutane suka gano cewa rubuta layin layi na iya samun kuɗi, sabon bincike ya fara. Ravi Rajwar ya rubuta labarin, wanda a wata hanya ya gabatar da mahimmanci ga ma'anar ƙwaƙwalwar ma'amala. (Bayanin Edita: Wannan labarin yana da siga na biyu da aka fitar a cikin 2010 kuma ana samunsa kyauta kamar PDF). Ba zato ba tsammani, mutane sun gane yadda za a iya amfani da duk wannan daidai, yadda za su iya hanzarta algorithms na al'ada tare da makullai. Kyakkyawan misali na wani abu wanda a baya ya zama kamar matsala ce mai ban sha'awa ta ilimi. Kuma a, idan kun tambaye ni a lokacin idan na yi tunanin cewa duk wannan zai zama mahimmanci a nan gaba, da na ce: ba shakka, amma lokacin da ba a bayyana ba. Wataƙila a cikin shekaru 50? A aikace, ya juya zuwa shekaru goma kawai. Yana da kyau sosai idan kun yi wani abu, kuma a cikin shekaru goma kawai mutane suna lura da shi.

Me ya sa yake da daraja yin bincike a fagen rarraba kwamfuta

Vitaly: Idan muka yi magana game da sabon bincike, menene za ku ba wa masu karatu shawara - ƙididdigar rarraba ko multi-core kuma me yasa? 

Maurice: Yana da sauƙi a sami na'ura mai sarrafa abubuwa da yawa a kwanakin nan, amma yana da wuya a kafa tsarin rarraba gaskiya. Na fara aiki da su ne saboda ina so in yi wani abu dabam da na PhD. Wannan ita ce shawarar da koyaushe nake ba wa masu farawa: kar ku rubuta takardar shaidar da ta biyo baya - yi ƙoƙarin tafiya cikin sabuwar hanya. Ƙari ga haka, multithreading yana da sauƙi. Zan iya yin gwaji da cokali mai yatsu da ke gudana akan kwamfutar tafi-da-gidanka ba tare da na tashi daga gado ba. Amma idan ba zato ba tsammani na so in haifar da ainihin tsarin rarrabawa, dole ne in yi aiki mai yawa, jawo hankalin dalibai, da dai sauransu. Ni malalaci ne kuma zan fi son yin aiki a kan Multi-core. Gwaji tare da tsarin multi-core kuma ya fi sauƙi fiye da gwaji tare da rarrabawa, saboda ko da a cikin tsarin rarraba wawa akwai abubuwa da yawa don sarrafawa.

Vitaliy: Me kuke yi yanzu, kuna binciken blockchain? Wadanne labarai ya kamata ku fara kula da su?

Maurice: Kwanan nan ya bayyana labari mai kyauwanda na rubuta tare da dalibi na, Vikram Saraf, musamman ga Tokenomcs taro a birnin Paris makonni uku da suka gabata. Wannan labarin ne game da tsarin rarraba masu amfani wanda muke ba da shawara don yin Ethereum Multi-threaded. Yanzu kwangiloli masu wayo (lambar da ke gudana akan blockchain) ana aiwatar da su bi da bi. Mun rubuta labarin a baya wanda yayi magana game da hanyar da za a yi amfani da ma'amaloli na hasashe don hanzarta aiwatarwa. Mun ɗauki ra'ayoyi da yawa daga ƙwaƙwalwar ma'amala ta software kuma mun ce idan kun sanya waɗannan ra'ayoyin wani ɓangare na na'ura mai kama da Etherium, to komai zai yi aiki da sauri. Amma don wannan ya zama dole cewa babu rikice-rikicen bayanai a cikin kwangilar. Kuma sai muka ɗauka cewa a rayuwa ta ainihi babu irin waɗannan rikice-rikice. Amma ba mu sami damar ganowa ba. Sa'an nan kuma ya faru a gare mu cewa muna da kusan shekaru goma na tarihin kwangila na gaske a hannunmu, don haka mun sauke Etherium blockchain kuma muka yi mamaki: menene zai faru idan waɗannan bayanan tarihi suka gudana a cikin layi daya? Mun sami gagarumin karuwa a cikin sauri. A farkon kwanakin Etherium, saurin ya karu sosai, amma a yau duk abin da ya fi rikitarwa, saboda akwai ƙananan kwangila kuma yiwuwar rikice-rikice akan bayanan da ke buƙatar serialization ya zama mafi girma. Amma duk wannan aikin gwaji ne tare da bayanan tarihi na gaske. Kyakkyawan abu game da blockchain shine cewa yana tunawa da komai har abada, saboda haka zaku iya komawa cikin lokaci kuma kuyi nazarin abin da zai faru idan muka yi amfani da wasu algorithms don gudanar da lambar. Yadda mutane a da za su ji daɗin sabon ra'ayinmu. Yin irin wannan bincike yana da sauƙi kuma mafi daɗi, domin akwai wani abu da yake lura da komai kuma yana rubuta komai. Wannan ya riga ya zama wani abu kamar ilimin zamantakewa fiye da ci gaban algorithms.

Shin ci gaban algorithms ya tsaya da yadda ake rayuwa

Vitaly: Lokaci don tambaya ta ƙarshe! Shin yana jin kamar ci gaba a cikin tsarin bayanan gasa yana raguwa kowace shekara? Kuna tsammanin mun kai tudun mun tsira wajen fahimtar tsarin bayanai, ko za a sami wasu manyan ci gaba? Wataƙila akwai wasu dabaru masu hankali waɗanda za su iya canza komai gaba ɗaya?

Maurice: Wataƙila mun isa tudu a cikin tsarin bayanai don gine-ginen gargajiya. Amma tsarin bayanai na sabbin gine-gine har yanzu yanki ne mai ban sha'awa. Idan kuna son ƙirƙirar tsarin bayanai don, a ce, masu haɓaka kayan aiki, to tsarin bayanan GPU ya bambanta da tsarin bayanan CPU. Lokacin da kuke tsara tsarin bayanai don blockchain, kuna buƙatar hash guda na bayanai sannan ku sanya su cikin wani abu kamar bishiyar merkle, don hana jabu. An sami karuwar ayyuka a wannan yanki kwanan nan, da yawa suna yin aiki mai kyau sosai. Amma ina tsammanin abin da zai faru shine sababbin gine-gine da sababbin aikace-aikace zasu haifar da sababbin tsarin bayanai. Tsofaffin aikace-aikace da gine-ginen gargajiya - ƙila ba a sami wurin bincike da yawa ba kuma. Amma idan ka tashi daga waƙar kuma ka kalli gefen, za ka ga abubuwan hauka waɗanda al'amuran al'ada ba su ɗauka da mahimmanci - a nan ne duk abubuwan ban sha'awa ke faruwa.

Vitaly: Don haka, don zama mashahurin mai bincike, dole ne in ƙirƙira gine-gine na 🙂

Maurice: Kuna iya "sata" sabon gine-ginen wani - da alama ya fi sauƙi!

Yana aiki a Brown University

Vitaliy: Za a iya yi mana ƙarin bayani Jami'ar Browna cikin wa kuke aiki? Ba a san da yawa game da shi ba a fannin fasahar sadarwa. Kasa da game da MIT, misali.

Maurice: Jami'ar Brown na ɗaya daga cikin tsofaffin jami'o'i a Amurka. Ina tsammanin Harvard ne kawai ya ɗan girma. Brown wani bangare ne na abin da ake kira gasar ivy, wanda tarin manyan jami'o'i takwas ne. Harvard, Brown, Cornell, Yale, Columbia, Dartmouth, Pennsylvania, Princeton. Wannan wata irin tsohuwar jami'a ce, ƙanana da ƴan aristocratic. An mayar da hankali kan ilimin fasaha mai sassaucin ra'ayi. Ba ƙoƙarin zama kamar MIT ba ne, MIT ƙwararre ce kuma fasaha ce. Brown wuri ne mai kyau don nazarin Adabin Rasha ko Girkanci na gargajiya kuma, ba shakka, Kimiyyar Kwamfuta. Yana mai da hankali kan cikakken ilimi. Yawancin dalibanmu suna zuwa Facebook, Apple, Google, don haka ina ganin dalibanmu ba su da matsala wajen samun aiki a masana'antar. Na je aiki a Brown domin kafin wannan na yi aiki a Kamfanin Kayan Aikin Dijital da ke Boston. Kamfanin ne wanda ya kirkiro abubuwa masu ban sha'awa da yawa, amma ya musanta mahimmancin kwamfutoci na sirri. Kamfanin da ke da kaddara mai wahala, wadanda suka kafa shi a da sun kasance matasa masu juyin juya hali, ba su koyi komai ba kuma ba su manta da komai ba, don haka sun juya daga masu neman sauyi zuwa masu ra'ayi a cikin kimanin shekaru goma. Suna son yin ba'a cewa kwamfutoci na sirri suna cikin gareji - garejin da aka watsar, ba shakka. A bayyane yake cewa kamfanoni masu sassauƙa sun lalata su. Lokacin da ya bayyana cewa kamfanin yana cikin matsala, na kira abokina daga Brown, wanda ke da kusan awa daya daga Boston. Ba na son barin Boston a lokacin, domin sauran jami’o’in ba su da guraben aiki da yawa. Lokaci ne da ba a sami guraben karatu da yawa a fannin Kimiyyar Kwamfuta kamar yadda ake samu a yanzu ba. Kuma Brown yana da aiki, ba sai na ƙaura daga gidana ba, ba sai na ƙaura da iyalina ba, kuma ina jin daɗin zama a Boston sosai! Don haka na yanke shawarar zuwa Brown. Ina son shi Dalibai suna da girma, don haka ban taɓa yin ƙoƙarin zuwa wani wuri ba. A ranar Asabar, na yi aiki a Microsoft na shekara guda, na tafi Technion a Haifa na tsawon shekara guda, kuma yanzu zan kasance a Algorand. Ina da abokan aiki da yawa a ko'ina kuma saboda haka yanayin yanayin azuzuwan mu ba shi da mahimmanci. Amma abu mafi mahimmanci shine ɗalibai, su ne mafi kyau a nan. Ban taɓa ƙoƙarin zuwa wani wuri ba, domin ina farin ciki sosai a nan.

Duk da haka duk da shaharar Brown a Amurka, abin mamaki ba a san shi a ketare ba. Kamar yadda kuke gani, yanzu ina bakin kokarina wajen gyara wannan lamarin.

Bambanci tsakanin jami'a da bincike na kamfanoni

Vitaliy: To, tambaya ta gaba game da Kayan Aikin Dijital. Kun kasance mai bincike a can. Menene bambanci tsakanin yin aiki a sashen R&D na babban kamfani da aiki a jami'a? Menene fa'ida da rashin amfani?

Maurice: Na yi shekaru ashirin a Microsoft, ina aiki tare da mutane a Sun Microsystems, Oracle, Facebook, da kuma yanzu Algorand. Dangane da wannan duka, ina so in ce yana yiwuwa a gudanar da bincike na farko a cikin kamfanoni da kuma a jami'a. Bambanci mai mahimmanci shine cewa a cikin kamfani kuna aiki tare da abokan aiki. Idan ba zato ba tsammani na sami ra'ayin aikin da bai wanzu ba, dole ne in shawo kan takwarorina cewa wannan kyakkyawan ra'ayi ne. Idan ina Brown, to zan iya ce wa ɗalibai na: bari mu yi aiki a kan antigravity! Za su je wurin wani ko kuma su yi aikin. Ee, Zan buƙaci samun kuɗi, zan buƙaci rubuta takardar neman tallafi da sauransu. A kowane hali, koyaushe za a sami ɗalibai da yawa, kuma za ku iya yanke shawara ba ɗaya ba. Amma a jami'a, da alama ba za ku yi aiki tare da mutanen matakinku ba. A cikin duniyar binciken masana'antu, da farko dole ne ku shawo kan kowa da kowa cewa aikin ku ya cancanci ɗauka. Ba zan iya yin odar komai daga kowa ba. Kuma waɗannan hanyoyi guda biyu na aiki suna da mahimmanci, domin idan kuna aiki akan wani abu da gaske kuma abokan aikinku suna da wuyar shawo kan su, yana da sauƙi don shawo kan daliban da suka kammala digiri - musamman ma idan kun biya su. Idan kuna aiki akan wani abu da ke buƙatar ƙwarewa mai yawa da ƙwarewa mai zurfi, to kuna buƙatar abokan aiki waɗanda za su iya cewa "a'a, kawai ya faru ne na fahimci wannan yanki kuma ra'ayinku ba shi da kyau, babu abin da zai faru." Wannan yana da matukar amfani ta fuskar bata lokaci. Hakanan, idan a cikin dakunan gwaje-gwajen masana'antu kuna ciyar da lokaci mai yawa don rubuta rahotanni, to a jami'a kuna ciyar da wannan lokacin neman kuɗi. Idan ina son dalibai su iya tafiya wani wuri, sai in nemo kudinsa a wani wuri dabam. Kuma mafi mahimmancin matsayin ku a jami'a, yawan lokacin da za ku kashe kuɗi don tattara kuɗi. Don haka, yanzu kun san abin da nake aiki a matsayin - ƙwararren maroƙi! Kamar daya daga cikin sufaye masu yawo da farantin sadaka. Gabaɗaya, waɗannan ayyukan biyu suna haɗa juna. Shi ya sa nake ƙoƙarin rayuwa da tsayawa da ƙarfi a cikin duniyoyin biyu.

Vitaliy: Da alama gamsar da kamfani ya fi wuya fiye da gamsar da wasu masana kimiyya.

Maurice: Yafi wuya, da dai sauransu. Bugu da ƙari, a wurare daban-daban ya bambanta: wani yana gudanar da cikakken bincike, kuma wani yana mai da hankali kan batun su. Idan na je Microsoft ko Facebook na ce, mu yi anti-gravity, da wuya su yaba. Amma idan na faɗa daidai wannan magana ga ɗaliban da suka kammala karatuna, da alama za su iya yin aiki nan take, kodayake yanzu na riga na sami matsala - saboda kuna buƙatar neman kuɗi don wannan. Amma muddin kuna son yin wani abu daidai da manufofin kamfanin, wannan kamfani na iya zama wuri mai kyau don yin bincike.

Hydra da SPTDC

Vitaliy: Tambayoyi na suna zuwa ƙarshe, don haka bari mu ɗan yi magana game da tafiya mai zuwa zuwa Rasha.

Maurice: E, ina ɗokin komawa Petersburg.

Alexey: Babban abin alfahari ne a gare ni cewa kuna tare da mu a wannan shekara. Wannan shine karo na biyu a St. Petersburg, dama?

Maurice: Tuni na uku!

Alexei: Na ji, amma Farashin SPTDC - daidai na biyu. Karshe aka kira makarantar Farashin SPTCC, yanzu mun canza harafi ɗaya (C zuwa D, Concurrent to Distributed) don jaddada cewa akwai ƙarin wuraren da ke da alaƙa da rarraba kwamfuta a wannan shekara. Za ku iya faɗi 'yan kalmomi game da gabatarwar ku a Makaranta da Hydra taro?

Maurice: A Makaranta, Ina so in yi magana game da tushen blockchain da abin da za ku iya yi da shi. Ina so in nuna cewa blockchain sun yi kama da shirye-shiryen da yawa da muka saba da su, amma tare da nasu nuances, kuma yana da mahimmanci a fahimci waɗannan bambance-bambance. Idan kun yi kuskure a aikace-aikacen gidan yanar gizo na yau da kullun, abin ban haushi ne kawai. Idan ka rubuta lambar buggy a cikin aikace-aikacen kuɗi, tabbas wani zai saci duk kuɗin ku. Wannan matakin alhaki ne da sakamako daban-daban. Zan yi magana kadan game da tabbacin-na-aiki, kwangiloli masu wayo, ma'amaloli tsakanin blockchain daban-daban.

Sauran masu magana za su yi aiki a kusa da ni, waɗanda kuma suna da abin da za su ce game da blockchain, kuma mun amince da mu daidaita a tsakaninmu domin labaran mu su dace da kyau. Amma don magana ta injiniya, ina so in ba da cikakken bayani ga ɗimbin masu sauraro dalilin da ya sa ba za ku yarda da duk abin da kuka ji game da blockchain ba, dalilin da yasa blockchain ya zama babban filin, yadda ya dace da sauran sanannun ra'ayoyin, da kuma dalilin da ya sa ya kamata mu yi imani da shi. da ƙarfin zuciya duba ga nan gaba.

Alexey: Bugu da ƙari, ina so in ce wannan ba zai faru a cikin tsarin saduwa ko ƙungiyar masu amfani ba, kamar yadda aka yi shekaru biyu da suka wuce. Mun yanke shawarar yin ƙaramin taro kusa da makarantar. Dalilin shi ne cewa bayan magana da Peter Kuznetsov, mun gane cewa makaranta yana iyakance ga kawai ɗari, watakila 120 mutane. A lokaci guda, akwai injiniyoyi da yawa waɗanda ke son yin magana da ku, halartar rahotanni, kuma galibi suna sha'awar batun. Don wannan mun ƙirƙiri sabon taro ake kira Hydra. Af, wani ra'ayin me yasa Hydra?

Maurice: Domin zai sami masu magana guda bakwai? Kuma za a iya yanke kawunansu, kuma sababbin masu magana za su girma a wurinsu?

Alexey: Babban ra'ayi don haɓaka sabbin masu magana. Amma da gaske, akwai labari a nan. Ka tuna da almara na Odysseus, inda ya yi tafiya tsakanin Scylla da kuma Charybdis? Hydra wani abu ne kamar Charybdis. Labarin shi ne cewa da zarar na yi magana a wani taro kuma na yi magana game da multithreading. Akwai waƙoƙi biyu kawai akan wannan taron. A farkon rahoton, na gaya wa masu sauraro a zauren cewa yanzu suna da zabi tsakanin Scylla da Charybdis. Dabbobin ruhina shine Charybdis, domin Charybdis yana da kawuna da yawa, kuma jigona shine multithreading. Ga dai yadda sunayen taron ya bayyana.

A kowane hali, mun ƙare duka tambayoyi da lokaci. Don haka na gode abokai don kyakkyawar hira kuma mun gan ku a SPTDC da Hydra 2019!

Zai yiwu a ci gaba da sadarwa tare da Maurice a taron Hydra 2019, wanda za a gudanar a Yuli 11-12, 2019 a St. Petersburg. Zai zo da rahoto "Blockchains da makomar rarraba kwamfuta". Ana iya siyan tikiti a kan gidan yanar gizon.

source: www.habr.com

Add a comment