"Sakamako na ƙwararru don bugawa ne kawai, ainihin dalilan aikin suna da kyau." Babban hira da Michael Scott

"Sakamako na ƙwararru don bugawa ne kawai, ainihin dalilan aikin suna da kyau." Babban hira da Michael Scott Michael Scott - shekaru 34 a matsayin farfesa na Kimiyyar Kwamfuta a Jami'ar Rochester, kuma a Jami'ar gidansa ta Wisconsin-Madison ya kasance shugaban kasa na tsawon shekaru biyar. Yana bincike da koyar da ɗalibai game da layi ɗaya da rarraba shirye-shirye da ƙirar harshe.

Duniya ta san Michael daga littafin karatu "Shirye-shiryen Harshe Pragmatics", aikin fa? "Algorithms don daidaitawa mai daidaitawa akan na'urori masu sarrafawa da yawa na ƙwaƙwalwar ajiya" ya sami lambar yabo ta Dijkstra a matsayin daya daga cikin shahararrun a fagen rarraba kwamfuta. Hakanan kuna iya saninsa a matsayin marubucin wannan algorithm Michael-Scott.

Tare da Doug Lee, ya haɓaka algorithms marasa toshewa da layukan aiki tare waɗanda ke ba da ikon dakunan karatu na Java. Aiwatarwa "Tsarin bayanai biyu" a cikin JavaSE 6 ya inganta aiki da sau 10 ThreadPoolExecutor.

Abubuwan:

  • Farkon aiki, Jami'ar Rochester. Project Charlotte, harshen Lynx;
  • IEEE Scalable Coherent Interface, MCS kulle;
  • Tsira a cikin duniyar da ke canzawa koyaushe;
  • Dalibai suna zama bege? Hanyoyin duniya, haɗin kai;
  • Ingantacciyar aiki tare da ɗalibai;
  • Yadda za a ci gaba da shirye-shiryen sabbin darussa da littattafai;
  • Haɗin kai tsakanin kasuwanci da ilimi;
  • Aiwatar da aiwatar da ra'ayoyi. MCS, MS, CLH, JSR 166, aiki tare da Doug Lee da ƙari;
  • Ƙwaƙwalwar ma'amala;
  • Sabbin gine-gine. Nasarar ƙwaƙwalwar ma'amala tana kusa;
  • Ƙwaƙwalwar ƙwaƙwalwa mara ƙarfi, Optane DIMM, na'urori masu sauri;
  • Babban yanayin gaba. Tsarin bayanai biyu. Hydra

Tattaunawar da:

Vitaly Aksenov - a halin yanzu postdoc a IST Austria kuma memba na Sashen Fasahar Kwamfuta a Jami'ar ITMO. Yana gudanar da bincike a fagen ka'ida da aiwatar da tsarin bayanan gasa. Kafin ya yi aiki a IST, ya sami digirinsa na PhD daga Jami'ar Paris Diderot da Jami'ar ITMO karkashin kulawar Farfesa Peter 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.

Farkon aiki, Jami'ar Rochester. Aikin Charlotte, harshen Lynx.

Алексей: Da farko, ina so in gaya muku cewa a cikin Rasha duk muna son Kimiyyar Kwamfuta, Kimiyyar Bayanai da Algorithm. Batsa ne kai tsaye. Mun karanta komai Littafin Cormen, Leiserson da Rivest. Don haka, taron da ke tafe, makaranta da ita kanta wannan hira ya kamata ya shahara sosai. Mun sami tambayoyi da yawa don wannan hira daga ɗalibai, masu shirya shirye-shirye, da sauran jama'a, don haka muna godiya da wannan damar. Shin Kimiyyar Kwamfuta tana samun soyayya iri ɗaya a Amurka?

Mika'ilu: Filin namu yana da banbance-banbance, yana da alkibla da yawa, kuma yana shafar al’umma ta hanyoyi daban-daban, da wuya in ba ku tabbatacciyar amsa. Amma gaskiyar magana ita ce ta kawo sauye-sauye masu yawa a harkokin kasuwanci, masana'antu, fasaha da al'umma gaba ɗaya cikin shekaru 30 da suka gabata.

Vitali: Bari mu fara da wani abu mai nisa. A yawancin jami'o'i akwai wani abu kamar ƙwarewa a wani yanki na musamman. Ga Jami'ar Carnegie Mellon wannan lissafin layi ɗaya ne, na MIT shine cryptography, robots da multithreading. Shin akwai irin wannan ƙwarewa a Jami'ar Rochester?

Mika'ilu: A gaskiya, zan ce CMU da MIT sun kware a kowane fanni. Sashen mu koyaushe yana mai da hankali ga hankali na wucin gadi. Rabin mutanen da ke aiki a gare mu suna yin hulɗar AI ko ɗan adam-kwamfuta - wannan rabon ya fi na sauran sassan, kuma ya kasance haka. Amma lokacin da nake jami'a, ba ni da wani kwasa-kwasan a AI, kuma ban taba yin aiki a wannan fanni ba. Don haka sashena ya kware a cikin wata matsala da ba ni da wata alaka da ita. Ta’aziyyar ita ce, matsala ta biyu mafi muhimmanci ga sashenmu ita ce tsarin daidaitawa da kuma shirye-shirye masu yawa, wato, ƙwarewata.

Vitali: Kun fara aiki a Kimiyyar Kwamfuta a lokacin da fannin shirye-shiryen multi-threaded ke tasowa. Jerin wallafe-wallafen ku ya nuna cewa ayyukanku na farko sun yi maganin al'amurra da yawa: sarrafa ƙwaƙwalwar ajiya a cikin tsarin zare da yawa, tsarin fayil rarraba, tsarin aiki. Me ya sa irin wannan versatility? Shin kuna ƙoƙarin nemo matsayin ku a cikin ƙungiyar bincike?

Mika'ilu: A matsayina na dalibi, na shiga ciki Aikin Charlotte a Jami'ar Wisconsin, inda aka ɓullo da ɗaya daga cikin tsarin aiki na farko da aka rarraba. A can na yi aiki tare da Rafael Finkel (Raphael Finkelda Marvin Solomon (Marvin Solomon). Rubuce-rubucen da na yi ya yi nisa ne wajen samar da harshe na manhajar kwamfuta don tsarin rarrabawa – yanzu kowa ya manta da shi, kuma na gode wa Allah. Na ƙirƙiri yaren shirye-shiryen Lynx, wanda aka yi niyya don sauƙaƙa ƙirƙirar sabar don tsarin aiki da aka rarraba ba tare da izini ba. Tun da yake a lokacin na fi tsunduma cikin tsarin aiki, na ɗauka cewa aikina zai kasance da su. Amma Rochester wata ƙaramar jami'a ce, kuma saboda wannan, ƙungiyoyi daban-daban da ke wurin suna mu'amala sosai da juna. Babu wasu mutane goma sha biyu na tsarin aiki da zan yi magana da su, don haka duk abokan hulɗa na suna tare da mutanen da ke aiki a wurare daban-daban. Na ji daɗinsa sosai, zama ɗan wasan gaba ɗaya babban fa'ida ce a gare ni. Idan muka magana musamman game da Multi-threaded data Tsarin da aiki tare algorithms, sa'an nan na fara aiki a kansu gaba daya ta hanyar haɗari.

IEEE Mai Siffar Haɗin Kai, Makullin MCS.

Vitali: Za ki iya min karin bayani kan wannan?

Mika'ilu: Wannan labari ne mai ban dariya wanda ban gaji da fadawa kowa ba. Hakan ya faru ne a wani taro ASPLOS a Boston - wannan ya kasance a ƙarshen 80s ko farkon 90s. John Mellor-CrummeyJohn Mellor-Crummey), wanda ya kammala karatun digiri na jami'ar mu. Na san shi, amma ba mu gudanar da binciken hadin gwiwa a baya ba. Mary Vernon (Mary Vernon) daga Wisconsin ya ba da jawabi game da tsarin multiprocessor da suke tasowa a Wisconsin: Wisconsin Multicube. Wannan Multicube yana da tsarin aiki tare a matakin kayan masarufi da ake kira Q on Sync Bit, kuma daga baya aka sake masa suna Q on Lock Bit saboda ya yi kama da cuku na Colby, wanda shine pun. Idan kuna sha'awar hanyoyin yin zare da yawa, tabbas kun san cewa Colby ƙarshe ya zama injin aiki tare don ma'aunin IEEE Scalable Coherent Interface. Wannan wata hanya ce ta kullewa wacce ta ƙirƙiri masu nuni daga cache ɗaya zuwa wani a matakin kayan aiki ta yadda kowane mai kulle ya san ko wane ne juyi. Lokacin da ni da John suka ji wannan, muka kalli juna muka ce: me ya sa ake yin haka a matakin kayan aiki? Ba za a iya samun abu ɗaya ba ta amfani da kwatanta-da-swap? Muka dauki daya daga cikin litattafan da ke kwance a cikin ajin muka yi rubutu a kai MCS yana toshewa, yayin da Maryama ta ci gaba da rahotonta. Daga baya, mun aiwatar da shi, mun gwada, ra'ayin ya zama mai nasara, kuma mun buga labarin. A wannan lokacin, a gare ni, wannan batu ya zama kamar abin ban sha'awa ne kawai, bayan haka na yi shirin komawa tsarin aiki. Amma sai wata matsala ta taso tare da layi ɗaya, kuma daga ƙarshe aiki tare, multithreading, da tsarin bayanai sun zama gwanina. Kamar yadda kake gani, duk wannan ya faru ne ta hanyar haɗari.

Vitali: Na dade da saba da blocking na MCS, amma har zuwa yanzu ban san cewa aikin ku ne ba, kuma ban fahimci cewa a takaice sunan ku ba ne.

Yadda za a tsira a cikin duniyar da ke canzawa koyaushe?

Алексей: Ina da tambaya kan wani batu mai alaka. Shekaru 30 ko 40 da suka gabata an sami ƙarin 'yanci a fannoni daban-daban. Idan kuna son fara aiki a cikin multithreading ko tsarin rarrabawa, kuna maraba, idan kuna son shiga tsarin aiki, babu matsala. A kowane yanki akwai buɗaɗɗen tambayoyi da yawa kuma masana kaɗan ne. Ƙwararrun ƙwararrun ƙwararrun ƙwararrun ƙwararrun ƙwararrun ƙwararrun ƙwararrun ƙwararrun ƙwararrun ƙwararrun ƙwararrun yanzu sun bayyana: babu ƙwararrun masana kawai akan tsarin aiki gabaɗaya, akwai kwararru akan tsarin kowane mutum. Haka yake tare da multithreading da tsarin rarrabawa. Amma matsalar ita ce rayuwarmu ba ta ƙarewa; kowa zai iya ba da ƴan shekarun da suka gabata don bincike. Yadda za a tsira a wannan sabuwar duniya?

Mika'ilu: Ba mu na musamman a wannan batun; abu daya ya faru sau ɗaya a wasu wurare. Na yi sa'a na fara aiki a Kimiyyar Kwamfuta a lokacin da fannin ke cikin shekarun "matasa". An riga an aza wasu harsashi, amma duk da haka bai girma ba. Wannan damar ba ta zuwa sau da yawa. Injiniyan lantarki ya daɗe sosai, kimiyyar lissafi har ma ya fi tsayi, lissafin kusan tun farkon zamani. Amma wannan baya nufin cewa babu wanda ke yin bincike mai ban sha'awa a cikin ilimin lissafi kuma. Har yanzu akwai matsaloli da yawa a buɗe, amma a lokaci guda, ana buƙatar ƙarin koyo. Kuna da kyau a lura cewa a yanzu akwai wasu ƙwarewa da yawa fiye da yadda ake da su a da, amma wannan yana nufin cewa mun sami kanmu cikin yanayi ɗaya da yawancin sauran fannonin ayyukan ɗan adam.

Алексей: Ina sha'awar mafi amfani al'amari na batun a nan. Ina da ilimin lissafi, kuma a lokacin karatuna nakan halarci taro kuma na yi aiki a kan batutuwan kimiyya daban-daban. Na gano cewa a cikin masu sauraro babu wanda ya fahimci rahotanni na, kuma haka ma, rahotannin wasu mutane suna fahimtar kansu kawai. Ba haka lamarin yake ba a manyan batutuwa, amma da zaran kun fara zurfafa cikin wani abu, masu sauraro ba za su iya ci gaba da kasancewa tare da ku ba. Yaya kuke da wannan?

Mika'ilu: Ba koyaushe ake samun nasara ba. Kwanan nan na shirya rahoto wanda na yi zurfi cikin cikakkun bayanai na fasaha. Yayin da jawabin ya ci gaba, ya bayyana a fili cewa yawancin masu sauraro ba su fahimce ni ba, don haka dole ne in daidaita da yanayin da nake ciki. Ba za a iya canza nunin faifai ba, don haka bai yi kyau sosai ba - don haka, gabaɗaya, ina ƙoƙarin kada in yi amfani da nunin faifai. Gabaɗaya, shawarata ita ce ku yi la'akari da masu sauraron ku. Kuna buƙatar sanin waɗanda kuke magana da su, menene matakin iliminsu, da abin da suke buƙatar ji don jin daɗin aikinku.

Vitali: Ko za ku iya ba mu haske kan me wannan lacca ta kunsa?

Mika'ilu: A gaskiya zan gwammace kada in fadada kan wannan batu domin in bar mutanen da ake tambaya a boye. Abin lura shi ne, sau da yawa mukan yi zurfi cikin rikitattun matsalar da muke aiki a kai, don haka zai yi wuya mu iya bayyanawa a farkon jawabin dalilin da ya sa matsalar ke da ban sha'awa da muhimmanci da kuma yadda ta shafi batutuwan da masu sauraro sun riga sun sani. Kamar yadda na lura, ɗalibai sun fi wahalar koyon wannan fasaha. Kuma wannan shi ne ma rauni a cikin rahoton na kwanan nan. Ya kamata rahoton da aka tsara yadda ya kamata, tun daga farko, ya sami tuntuɓar masu sauraro, ya bayyana musu ainihin matsalar da kuma yadda take da alaƙa da batutuwan da aka riga aka sani da su. Yadda fasaha wannan gabatarwar ya dogara da masu sauraro. Idan ya kasance gaba daya motley, to, rahoton na iya zama Multi-mataki. Gabatarwa ya kamata ya kasance mai isa ga kowa, kuma daga ƙarshe ɓangaren ba zai iya ci gaba da kasancewa tare da ku ba, amma mutanen da suka saba da filin ku za su iya gane shi.

Dalibai suna zama bege? Hanyoyin duniya, haɗin kai.

Алексей: Kun kasance kuna lura da ɗalibai shekaru da yawa. Shin ɗalibai suna samun faɗuwa ko wayo daga shekaru goma zuwa shekaru goma ko shekara zuwa shekara? A Rasha, farfesoshi suna kokawa akai-akai cewa ɗalibai suna yin ɓarna a kowace shekara, kuma ba a san abin da za a yi game da shi ba.

Mika'ilu: Za ka iya gaske ji mai yawa negativity daga mu tsofaffi. A hankali, muna da hali don tsammanin ɗalibai za su sha duk shekaru 30 na gwaninta da muke da su. Idan ina da zurfin fahimta fiye da yadda na yi a 1985, me yasa dalibai ba su da shi? Wataƙila saboda sun kai shekaru 20, me kuke tunani? Ina tsammanin mafi mahimmancin canje-canje a cikin 'yan shekarun nan sun kasance cikin tsarin alƙaluma: yanzu muna da ƙarin ɗalibai na ƙasa da ƙasa, ban da ƴan ƙasar Kanada. Akwai 'yan Kanada da yawa saboda muna kusa da iyakar Kanada kuma ɗalibai daga can suna iya tafiya gida a ƙarshen mako. Amma yanzu akwai kyawawan jami'o'i da yawa a Kanada, kuma mutanen Kanada sun fi son yin karatu a nan; kaɗan daga cikinsu sun zo Amurka.

Алексей: Kuna ganin wannan lamari ne na gida ko na duniya?

Mika'ilu: Ban tuna ainihin wanene ba, amma wani ya ce duniya a kwance. Filin namu ya zama ƙasa da ƙasa sosai. Taron ACM A baya, an gudanar da su ne kawai a cikin Amurka, sannan suka yanke shawarar rike su sau ɗaya a kowace shekara 4 a wasu ƙasashe, kuma yanzu ana gudanar da su a duk duniya. Waɗannan canje-canjen sun fi shafar su IEEE, kamar yadda koyaushe ya kasance ƙungiyar ƙasa da ƙasa fiye da ACM. Kuma akwai kujerun shirye-shirye daga kasashen Sin, Indiya, Rasha, Jamus da sauran kasashe da dama, domin a ko'ina ake ta fama da yawa a yanzu.

Алексей: Amma, tabbas, akwai wasu ɓangarori marasa kyau na irin waɗannan ƙasashen duniya?

Mika'ilu: Zan ce duk abubuwan da ba su da kyau ba su shafi fasaha ba, amma ga siyasa. A da, babbar matsalar ita ce yadda Amurka ke satar masu wayo da hazaka daga kasashen duniya. Kuma a yanzu babbar matsalar ita ce wasannin siyasa tsakanin kasashe daban-daban dangane da biza da shige da fice.

Алексей: Wato shinge da abubuwa makamantansu. Yana da zahiri.

Vladimir: Ni da kaina, Ina sha'awar wace hanya kuke bi yayin koyar da sabon darasi ga ɗalibai. Akwai zaɓuɓɓuka daban-daban: za ku iya gwada da farko don ƙarfafa su don gwada sabon abu, ko za ku iya ba da hankali ga cikakkun bayanai na yadda wata fasaha ke aiki. Me kuka fi so?

Ingantacciyar aiki tare da ɗalibai

Алексей: Kuma ta yaya za a sami ma'auni tsakanin na farko da na biyu?

Mika'ilu: Matsalar ita ce, azuzuwan ba koyaushe suke tafiya yadda nake so ba. Yawancin lokaci ina ba ɗalibai abin karantawa a gaba don su zurfafa cikinsa, su fahimce shi gwargwadon iyawarsu, kuma su tsara tambayoyi game da sassan da ba za su iya fahimta ba. Sa'an nan a cikin aji za ku iya mayar da hankali kan lokuta mafi wahala kuma ku bincika su tare. Wannan shine yadda nake son koyar da darasi. Amma idan aka yi la’akari da nauyin da ke kan ɗalibai a yanzu, ba koyaushe nake iya tabbatar da cewa sun shirya tukuna ba. A sakamakon haka, dole ne ku ba da lokaci mai yawa don sake ba da labarin gaba ɗaya fiye da yadda kuke so. Duk da wannan, Ina ƙoƙarin kiyaye azuzuwan mu masu ma'amala. In ba haka ba, yana da sauƙin yin rikodin bidiyo sau ɗaya wanda ɗalibai za su iya kallo a gida. Manufar azuzuwan kai tsaye shine hulɗar ɗan adam. A cikin aji, na fi son yin amfani da alli da allo maimakon nunin faifai, sai dai a wasu lokuta lokacin da zane ya yi wuya a iya nunawa a kan allo. Godiya ga wannan, ba dole ba ne in tsaya ga tsayayyen tsarin darasi. Tun da babu wani tsari mai tsauri da na ba da kayan, yana ba ni damar daidaita shi ga masu sauraro dangane da tambayoyin da nake samu. Gabaɗaya, Ina ƙoƙarin yin azuzuwan kamar yadda zai yiwu, don abin da zan gabatar ya dogara da tambayoyin da ake yi mini.

Vladimir: Yana da kyau. A cikin gwaninta na, yana da wuya a sami masu sauraro suyi tambayoyi. Ko da kun yi tambaya a gaba don yin kowace tambaya, komai wauta ko wayo, har yanzu shiru suke. Yaya kuke da wannan?

Mika'ilu: Za ku yi dariya, amma idan kun dade a shiru, ba dade ko ba dade kowa zai ji dadi kuma wani ya yi tambaya. Ko kuma kuna iya yin tambaya mai sauƙi ta fasaha tare da amsa e ko a'a don sanin ko mutane sun fahimci abin da aka faɗa kawai. Misali, akwai tseren bayanai a cikin misalin da ke sama? Wa ke ganin haka? Wanene ba ya tunani? Wanene bai fahimci komai ba, domin gaba ɗaya rabin hannun ne kawai ya hau?

Vitali: Kuma idan ka amsa ba daidai ba, an kore ka daga aji :)

Mika'ilu: Idan baku amsa komai ba, to yakamata kuyi tambaya. Ina buƙatar fahimtar ainihin abin da ɗalibin ke buƙatar sani don amsa tambayar da na yi. Ina bukata su taimake ni in taimake su. A shirye nake in daidaita da su don su fahimci matsalar. Amma idan ban san abin da ke cikin kawunansu ba, ba zan iya ba. Kuma idan ba ku ba ɗalibai kwanciyar hankali na dogon lokaci ba, wani lokacin a ƙarshe suna yin tambayoyin da suka dace, wato, waɗanda ke ba ni damar ganin ainihin abin da ke faruwa a cikin shugabannin ɗaliban. 

Алексей: Shin waɗannan tambayoyin wasu lokuta suna haifar da ra'ayoyin da kai da kanka ba ka yi tunani a baya ba? Ba zato ba ne? Shin suna ba ku damar kallon matsala ta sabon haske?

Mika'ilu: Akwai tambayoyi da ke buɗe sabuwar hanyar gabatar da abu. Sau da yawa akwai tambayoyin da ke haifar da matsaloli masu ban sha'awa waɗanda ban shirya yin magana akai ba. Dalibai sukan gaya mani cewa ina da hali na daina magana idan hakan ta faru. Kuma, a cewarsu, sau da yawa wannan shine mafi ban sha'awa na darasi. Da wuya, sau da yawa, ɗalibai sun yi tambayoyi waɗanda suka haifar da sabon jagora a cikin bincike kuma suka girma zuwa labarin. Wannan yana faruwa sau da yawa a cikin tattaunawa tare da ɗalibai maimakon lokacin azuzuwan, amma lokaci-lokaci yakan faru yayin darussan. 

Алексей: Don haka dalibai sun yi muku tambayoyi a kan abin da zai yiwu a buga labarin?

Mika'ilu: Iya. 

VitaliSau nawa kuke yin waɗannan tattaunawa da ɗalibai? Yaushe suke so su koyi fiye da abin da aka rufe yayin darasin?

Mika'ilu: Tare da ɗaliban da suka kammala karatun digiri - koyaushe. Ina da kusan 5 ko 6 daga cikinsu, kuma muna tattauna wani abu da su koyaushe. Kuma irin wannan tattaunawa da ɗaliban da ke zuwa azuzuwan nawa ba su da yawa. Ko da yake ina fata wannan ya fi faruwa sau da yawa. Ina zargin cewa kawai suna tsoron zuwa jami'ar a lokutan ofis. Kowane semester, wasu ɗalibai suna samun nasarar shawo kan wannan shingen tunani, kuma koyaushe yana da ban sha'awa sosai a yi magana da su bayan darasi. Gaskiya ne, da a ce dukan ɗaliban sun kasance jajirtattu, da ba zan sami isasshen lokaci ba. Don haka watakila komai yana aiki kamar yadda ya kamata. 

Vitali: Ta yaya kuke gudanar da samun lokaci don sadarwa tare da ɗalibai? Kamar yadda na sani, a Amurka malamai suna da ayyuka da yawa - neman tallafi da makamantansu. 

Mika'ilu: A gaskiya, aiki tare da ɗalibai shine sashin aikina wanda na fi jin daɗinsa. Don haka ina da isasshen kwarin gwiwa akan wannan. Mafi yawan lokutan da nake yi a ofishina na kan yi taruka iri-iri ne. Yanzu lokacin rani ne, don haka tsarina ba ya da yawa, amma lokacin karatun shekara, kowace rana daga 9 zuwa 17 Ina da komai. Ayyukan bincike, sake dubawa, tallafi - duk wannan akwai maraice da karshen mako. 

Yadda ake ci gaba da shirye-shiryen sabbin darussa da littattafai.

Алексей: Shin a halin yanzu kuna ci gaba da koyar da duk wani kwasa-kwasan da kuka daɗe kuna koyarwa? Wani abu kamar gabatarwar Kimiyyar Kwamfuta.

Mika'ilu: Abu na farko da ke zuwa hankali a nan shi ne kwas a cikin harsunan shirye-shirye. 

Алексей: Yaya bambancin wannan kwas na yau da wanda ya kasance shekaru 10, 20, 30 da suka gabata? Wataƙila abin da ya fi ban sha'awa a nan ba shine cikakkun bayanai na wani kwas ba, amma yanayin gabaɗaya.

Mika'ilu: Kwas na kan shirye-shiryen harsuna ya ɗan bambanta a lokacin da na ƙirƙira shi. Na fara karanta shi a ƙarshen 1980s, na maye gurbin abokin aikina, Doug Baldwin (Doug Baldwin). Maudu’in kwas din yana da alaka ne kawai da kwarewata, amma lokacin da ya tafi, ni ne wanda ya fi dacewa da koyar da kwas din. Ba na son ko ɗaya daga cikin littattafan karatu da suka wanzu a lokacin, don haka na gama rubuta littafin na wannan kwas da kaina. (Bayanin edita: muna magana ne game da littafin "Shirye-shiryen Harshe Pragmatics") Yanzu ana amfani da shi a jami'o'i sama da 200 a duniya. Hanya na ba sabon abu ba ne ta yadda da gangan ta haɗu da matsalolin ƙirƙira da aiwatar da harshe, kuma yana mai da hankali sosai ga hulɗar da ke tsakanin waɗannan bangarori a duk fage mai yiwuwa. Hanyar asali ta kasance ba ta canzawa, kamar yadda suke da mahimman ra'ayoyi da yawa: abstractions, spacespaces, modularity, iri. Amma saitin harsunan da aka nuna waɗannan ra'ayoyin da su ya canza gaba ɗaya. Lokacin da aka fara ƙirƙirar kwas ɗin, akwai misalai da yawa a cikin Pascal, amma a yau yawancin ɗalibaina ba su ma ji wannan yare ba. Amma sun san Swift, Go, Rust, don haka dole in yi magana game da harsunan da ake amfani da su a yau. Har ila yau, ɗalibai a yanzu sun ƙware sosai a cikin harsunan rubutu, amma lokacin da na fara koyar da wannan kwas ɗin, ya shafi harsunan da aka haɗa. Yanzu muna buƙatar abubuwa da yawa game da Python, Ruby har ma da Perl, saboda wannan shine abin da aka rubuta code a cikin kwanakin nan, kuma akwai abubuwa da yawa masu ban sha'awa da ke faruwa a cikin waɗannan harsuna, ciki har da fannin tsara harshe. 

Vitali: To tambayata ta gaba zata danganta da wacce ta gabata. Yadda za a ci gaba a wannan yanki? Ina tsammanin cewa sabunta irin wannan kwas yana buƙatar aiki mai yawa - kuna buƙatar fahimtar sababbin harsuna, fahimtar manyan ra'ayoyin. Yaya kuke yin wannan?

Mika'ilu: Ba zan iya yin alfahari cewa koyaushe ina yin nasara 100%. Amma mafi yawan lokuta ina yin abin da kowa yake yi - karanta Intanet. Idan ina so in fahimci Tsatsa, na Google shi, je zuwa shafin Mozilla kuma karanta jagorar da aka buga a can. Wannan wani bangare ne na abubuwan da ke faruwa a ci gaban kasuwanci. Idan muka yi magana game da kimiyya, to kuna buƙatar bin rahotanni a manyan taro. 

Alaka tsakanin kasuwanci da ilimi

Vitali: Bari mu yi magana game da alakar kasuwanci da binciken kimiyya. A cikin jerin ayyukanku, na sami labarai da yawa akan haɗin cache. Na fahimci cewa ma'aunin daidaitawar cache ba su da kwanciyar hankali a lokacin da aka buga su? Ko ba yadu sosai. Yaya ra'ayoyinku suka zama gama gari a aikace?

Mika'ilu: Ban tabbata da waɗanne littattafai kuke magana akai ba. Na yi ɗan aiki kaɗan tare da ɗalibana Bill Bolosky (William Boloskyda Leonidas Kontotanassis (Leonidas Kontothanassis) a farkon 1990s akan sarrafa ƙwaƙwalwar ajiya na injin Neumann. A wannan lokacin, kasuwanci bai riga ya fahimci yadda ake yin tsarin multiprocessor yadda ya kamata ba: shin yana da daraja ƙirƙirar tallafi don samun damar ƙwaƙwalwar ajiya mai nisa a matakin kayan masarufi, yana da daraja yin rarraba ƙwaƙwalwar ajiya, shin yana yiwuwa a loda cache daga žwažwalwar ajiya mai nisa, ko wajibi ne don matsar da shafuka a cikin tsarin aiki? Bill da Leonidas duk sun yi aiki a wannan yanki kuma sun bincika hanyoyin ba tare da loda cache mai nisa ba. Wannan ba shi da alaƙa kai tsaye da haɗin gwiwar cache, amma har yanzu yana aiki akan sarrafa ƙwaƙwalwar ajiya na NUMA, kuma daga baya hanyoyin zamani don sanya shafi a cikin tsarin aiki na zamani ya girma daga wannan. Gabaɗaya, Bill da Leonidas sun yi aiki mai mahimmanci, kodayake ba shine mafi tasiri a wannan yanki ba - akwai wasu mutane da yawa waɗanda ke aiki iri ɗaya a lokacin. Daga baya, na yi aiki a kan batun da ke da alaƙa da haɗin gwiwar cache a cikin mahallin ƙwaƙwalwar ma'amala ta hardware. Ƙungiyar da na yi aiki da ita a kan wannan matsala ta ƙare ta karɓi haƙƙin mallaka da yawa. Akwai wasu kyawawan ra'ayoyi masu ban sha'awa a bayan su, amma ba na tsammanin za su ƙare a aiwatar da su a aikace. Wata hanya ko wata, yana da wuya a gare ni in yanke hukunci game da ribarsu. 

Алексей: Game da wannan, tambaya ta sirri: yaya mahimmanci a gare ku cewa an aiwatar da ra'ayoyin ku a aikace? Ko ba ku tunani game da shi?

Mika'ilu: Ina son yin wannan tambayar a cikin hira da wasu mutane, masu nema ko masu neman shiga jami'a. Bana jin akwai amsa daidai ga wannan tambayar. Mutanen da ke yin abubuwa masu sanyi suna iya samun motsawa daban-daban. Ina sha'awar matsaloli domin ni kaina na same su da ban sha'awa, ba don amfanin su na zahiri ba. Amma a daya bangaren, lokacin da wani abu mai ban sha'awa har yanzu yana samun aikace-aikacen, Ina matukar son shi. Don haka ba sauki a nan. Amma a farkon aikina, har yanzu ba ra'ayin ƙarshen amfani a duniya ya motsa ni ba, amma ta hanyar jituwar ra'ayi da sha'awar bincika shi kuma in ga abin da ya zo. Idan a ƙarshe yana ba da sakamako mai amfani, mai girma. 

Алексей: Saboda ilimin ku da gogewar ku, kun fi yawancin iya yin la'akari da ƙimar ra'ayoyin wasu. Kuna iya kwatanta su kuma ku ƙayyade wanda ke aiki mafi kyau da wanda. Na tabbata kuna da ra'ayi game da abubuwan da manyan masana'antun kamar Intel ke amfani da su a aikace. A ganinku, yaya daidai kwas din da wadannan kamfanoni suke dauka?

Mika'ilu: Koyaushe yin aiki yana tafe ne akan abin da zai iya samun nasara ta kasuwanci, wato, samar da riba, kuma gara ka tambayi wani game da hakan. Ayyukana galibi yana haifar da wallafe-wallafe, kuma a fagen tsarin aiki ana kimanta su bisa ga alamun aiki: saurin gudu, amfani da makamashi, girman lambar. Amma a ko da yaushe a gare ni cewa waɗannan sakamako masu ma'ana ana ƙara su a cikin labarai kawai don a buga su, kuma ainihin dalilin mutane na aiki shine kyakkyawa. Masu bincike suna kimanta mafita daga hangen nesa na fasaha, suna kula da yadda kyawawan ra'ayoyin suke, kuma suna ƙoƙarin ƙirƙirar wani abu mafi kyau fiye da hanyoyin da ake da su. Masu bincike suna motsa su ta hanyar kai tsaye, na zahiri, dalilai masu kyau. Amma ba za ku iya rubuta game da wannan a cikin labarin kanta ba; waɗannan abubuwa ba hujja ba ne ga kwamitin shirin. Abin farin, m mafita sau da yawa kuma sauri da kuma arha. Ni da abokan aikina guda goma sha biyu mun tattauna wannan batu kimanin shekaru 15 da suka wuce kuma muka gama rubuta labarin game da shi. Ina tsammanin har yanzu za ku iya samun shi a yanzu, ana kiran shi "Yadda ake kimanta binciken tsarin" ko wani abu makamancin haka, yana da marubuta sama da goma sha biyu. Wannan shine kawai labarin da ni marubucin tare da shi Sasha Fedorova, don haka idan ka bincika sunanta a cikin jerin littattafai na, za ka sami abin da kake bukata. Yana magana game da kimanta tsarin bincike da kuma yadda mahimmancin ladabi yake. 

Алексей: Don haka akwai bambanci tsakanin ma'aunin abin da ake ganin yana da kyau a kimiyya da kasuwanci. Kimiyya tana kimanta aiki, amfani da wutar lantarki, TDP, sauƙin aiwatarwa, da ƙari mai yawa. Shin kuna da damar gudanar da irin wannan bincike a jami'a? Kuna da dakin gwaje-gwaje mai injuna daban-daban da gine-gine daban-daban wanda zaku iya gudanar da gwaje-gwaje a ciki?

Mika'ilu: Ee, sashenmu yana da na'urori masu ban sha'awa daban-daban. Mafi sau da yawa sun kasance ƙanana, muna da ƙaramin gungu da tsarin multiprocessor da yawa tare da masu haɓaka daban-daban. Bugu da kari, harabar makarantar tana da babbar cibiyar sarrafa kwamfuta da ke hidimar masana kimiyya daga fannoni daban-daban guda goma sha biyu. Yana da kusan nodes dubu da muryoyi dubu ashirin, duk akan Linux. Idan buƙatar ta taso, koyaushe kuna iya siyan wasu AWS. Don haka ba mu da wani takamaiman hani tare da hardware. 

Алексей: Yaya shekaru talatin da suka wuce? Akwai matsaloli a lokacin?

Mika'ilu: Ya ɗan bambanta a lokacin. A tsakiyar-zuwa ƙarshen 1980s, an yi la'akari da kimiyya a matsayin ƙarancin kayan aikin kwamfuta. Don gyara wannan yanayin, Cibiyar Kimiyya ta Kasa (National Science Foundation) ya ƙirƙiri wani shiri na bincike na gwaji na haɗin gwiwa (Coordinated Experimental Research, CER). Manufar shirin ita ce samar da kayayyakin aikin kwamfuta ga sassan Kimiyyar Kwamfuta, kuma ya samu gagarumin sauyi. Da kudin da ta tanadar, mu a Jami’ar Rochester muka sayi BBN Butterfly mai lamba 1984 a shekarar 128, shekara daya kenan da isowa can. A wancan lokacin shi ne tsarin tsarin multiprocessor mafi girma a duniya tare da ma'adana daya. Yana da na'urori masu sarrafawa 128, kowanne a kan motherboard daban, kuma ya shagaltar da racks hudu. Kowane processor yana da megabyte na ƙwaƙwalwar ajiya, megabyte 128 na RAM ya kasance adadin da ba za a iya misaltuwa ba a lokacin. A kan wannan injin mun aiwatar da kulle MCS a karon farko. 

Алексей: Don haka, idan na fahimce ku daidai, to a halin yanzu an warware matsalar kayan aikin? 

Mika'ilu: Gaba ɗaya, eh. Akwai 'yan fa'ida: na farko, idan kuna yin gine-ginen kwamfuta a matakin guntu, yana da wuya a yi a cikin yanayin ilimi saboda akwai kayan aikin da suka fi dacewa don yin ta a cikin kasuwanci. Idan kana buƙatar wani abu ƙasa da nanometer 10, dole ne ka yi oda daga wani. A wannan yanki yana da sauƙin zama mai bincike a Intel. Idan kuna aiki akan hanyoyin sadarwa na gani akan kwakwalwan kwamfuta ko kuma a kan ƙwaƙwalwar ajiya mai ƙarfi, zaku sami fasahohi a cikin kasuwancin da ba su riga sun shiga kimiyya ba, don haka dole ne ku ƙirƙiri ƙawance. Misali, Stephen Swanson (Steven Swanson) halitta irin wannan haɗin gwiwa don sababbin fasahar ƙwaƙwalwar ajiya. Wannan tsari ba koyaushe yana aiki ba, amma a wasu lokuta yana iya yin nasara sosai. Bugu da ƙari, a cikin kimiyya ci gaban tsarin sarrafa kwamfuta mafi ƙarfi ya fi wahala. Mafi girman ayyukan kwamfuta a halin yanzu a Amurka, Japan da China duk sun mayar da hankali kan kasuwanci. 

Aiwatar da aiwatar da ra'ayoyi. MCS, MS, CLH, JSR 166, aiki tare da Doug Lee da ƙari.

Vitali: Kun riga kun yi magana game da yadda kuka fara aiki akan algorithms aiki tare. Kuna da shahararrun labarai guda biyu game da su MCS yana toshewa и Michael-Scott layi (MS), wanda a wata ma'ana an aiwatar da shi a cikin Java. (Bayanin edita: ana iya duba duk wallafe-wallafe mahada). A can aka aiwatar da wannan toshewa tare da wasu canje-canje kuma ya zama Farashin CLH, kuma an aiwatar da jerin gwano kamar yadda aka yi niyya. Amma shekaru da yawa sun shuɗe tsakanin buga labaranku da aikace-aikacen su. 

Алексей: Ga alama kusan shekaru 10 a yanayin layin.

Mika'ilu: Kafin waɗannan fasalulluka sun bayyana a daidaitaccen ɗakin karatu na Java?

Vitali: Iya. Me kuka yi don ganin hakan ta faru? Ko basu yi komai ba?

Mika'ilu: Zan iya gaya muku yadda MS Queue ya shiga Java 5. Bayan 'yan shekaru kafin ya fito, na yi aiki tare da kungiyar Mark Moyers a Sun Microsystems a cikin lab su kusa da Boston. Ya shirya taron bita ga mutanen da ya san suna aiki akan matsaloli masu ban sha'awa a cikin multithreading saboda yana so ya nemo batutuwan da zai iya sayar wa kamfaninsu. A nan ne na fara haduwa da Doug Lea. Doug da ni da kuma wasu mutane 25 daga Sun kasance tare muna tattaunawa game da gabatarwar Doug akan Farashin 166, wanda daga baya ya zama java.util.concurrent. A kan hanyar, Doug ya ce yana so ya yi amfani da layin MS, amma saboda wannan yana buƙatar ƙididdiga don adadin abubuwan da ke cikin jerin gwanon don dubawa. Wato, yakamata a yi wannan ta wata hanya dabam, atomic, daidai kuma cikin sauri. Na ba da shawarar ƙara serial lambobi kawai zuwa nodes, ɗaukar lambar kumburin farko da na ƙarshe sannan a cire ɗaya daga ɗayan. Doug ya dafe kansa, ya ce "me zai hana," ya karasa yin hakan. Mun tattauna aiwatar da wannan hanya a cikin ɗakin karatu, amma Doug ya yi yawancin aikin da kansa. A sakamakon haka, ya sami damar kafa ingantaccen tallafin multithreading a Java. 

Алексей: Don haka, idan na fahimta daidai, hanyar .size() yakamata ta kasance wani ɓangare na daidaitaccen tsarin layin layi, kuma yakamata ya kasance yana da hadadden algorithmic na O(1)?

Mika'ilu: Ee, kuma ban da wannan, ana buƙatar ƙira daban.

Алексей: Domin idan ka kira hanyar .size() a Java, ana sa ran samun sakamakon nan da nan ba bisa ainihin girman tarin ba. Na gani, na gode.

Mika'ilu: Bayan 'yan shekaru na yi aiki a kan tsarin bayanai biyu tare da ɗalibi na Bill Scherer - a gaskiya, wannan shine abin da zan yi magana akai. rahoton Hydra. Doug ya zo wurinmu ya ce zai iya amfani da su a cikin Tsarin Gudanar da Java. Tare da Bill, sun ƙirƙiri aiwatarwa guda biyu, abin da ake kira layi na gaskiya da rashin adalci. Na ba su shawarar kan wannan aikin, kodayake ban shiga rubuta ainihin lambar ba. Sakamakon haka, saurin masu zartarwa ya karu sosai. 

Vladimir: Shin kun ci karo da aiwatar da ayyukan algorithms ɗin ku ba daidai ba ko buƙatun don ƙara sabbin abubuwa? Gabaɗaya, aikin ya kamata ya zo daidai da ka'idar, amma galibi suna bambanta. A ce kun rubuta algorithm, kuma akan takarda yana aiki, amma mutanen da ke cikin aiwatarwa sun fara tambayar ku don ƙarin fasali ko wasu nau'ikan tweaking na algorithm. Shin kun taɓa samun irin waɗannan yanayi?

Mika'ilu: Misalin da wani ya zo wurina ya tambaye ni "yadda za a aiwatar da shi" shine tambayar Doug, wanda na riga na yi magana akai. Amma akwai wasu lokuta da aka yi canje-canje masu ban sha'awa don dacewa da buƙatu masu amfani. Misali, ƙungiyar K42 a IBM ta canza makullin MCS kuma suka mai da shi daidaitaccen mu'amala don haka babu buƙatar wuce kullin layin baya da gaba zuwa saye da sakewa na yau da kullun. Godiya ga wannan daidaitaccen ƙirar ƙirar, ra'ayin da ke da kyau a ka'idar ya fara aiki a aikace. Abin mamaki ne cewa ba su taɓa buga labarin game da shi ba, kuma ko da yake sun karɓi haƙƙin mallaka, daga baya sun yi watsi da shi. Tunanin yana da ban mamaki, kuma ina ƙoƙarin yin magana game da shi a duk lokacin da zai yiwu. 

Akwai wasu lokuta inda mutane suka yi ingantawa ga algorithms da na buga. Misali, layin MS yana da tsarin shigarwa mataki biyu, wanda ke nufin akwai CAS guda biyu akan mahimman hanyar layin. A kan tsofaffin motoci, CAS sun yi tsada sosai. Intel da sauran masana'antun sun inganta su da kyau kwanan nan, amma sau ɗaya a lokaci waɗannan umarni na sake zagayowar 30 ne, don haka samun fiye da ɗaya akan hanya mai mahimmanci ba a so. A sakamakon haka, an samar da wani layi na daban wanda yayi kama da layin MS, amma wanda ke da aikin atomic guda ɗaya akan hanya mai mahimmanci. An cimma wannan ne saboda cewa a cikin wani ɗan lokaci aikin zai iya ɗaukar lokacin O (n), maimakon O (1). Ba abu mai yiwuwa ba, amma mai yiwuwa. Wannan ya faru ne saboda gaskiyar cewa a wasu lokuta algorithm ya ratsa layin daga farkon zuwa matsayi na yanzu a cikin wannan jerin gwano. Gabaɗaya, algorithm ya juya ya zama mai nasara sosai. Kamar yadda na sani, ba a amfani da shi sosai, wani ɓangare saboda ayyukan atomic suna buƙatar ƙarancin albarkatu fiye da da. Amma ra'ayin ya yi kyau. Ina matukar son aikin Dave Dice daga Oracle. Duk abin da yake yi yana da amfani sosai kuma yana amfani da ƙarfe da wayo. Yana da hannu a cikin mafi yawan NUMA-sane da algorithms aiki tare da tsarin bayanai masu zare da yawa. 

Vladimir: Lokacin da kuka rubuta algorithms ko koyar da ɗalibai, sakamakon aikinku ba a bayyane nan da nan. Al'umma na buƙatar ɗan lokaci don sanin sabon labari, a ce, sabon labari. Sabon algorithm baya samun aikace-aikacen nan da nan. 

Mika'ilu: Ba a fayyace kai tsaye ko labarin zai kasance mai mahimmanci ko a'a. Ina tsammanin zai zama mai ban sha'awa don yin nazarin takardun da suka sami lambar yabo a taro. Wato, ku kalli talifofin da mutanen da ke cikin kwamitocin shirye-shiryen a wani lokaci suka ɗauka mafi kyau. Kuna buƙatar gwada ƙididdiga ta adadin hanyoyin haɗin gwiwa da tasirin kasuwancin yadda tasirin waɗannan labaran da gaske suka kasance cikin shekaru 10, 20, 25. Ina shakkar za a sami dangantaka mai ƙarfi tsakanin su biyun. Ba zai zama sifili ba, amma mai yuwuwa zai yi rauni fiye da yadda muke so. Yawancin ra'ayoyin sun kasance ba a da'awar su na dogon lokaci kafin su zama tartsatsi. Misali, bari mu ɗauki ƙwaƙwalwar ajiyar ma'amala. Fiye da shekaru 10 sun shuɗe daga lokacin da aka buga ainihin labarin zuwa lokacin da mutane suka fara ginin injuna da shi. Kuma kafin bayyanar wannan ƙwaƙwalwar ajiya a cikin samfurori na kasuwanci - kuma duk 20. Na dogon lokaci babu wanda ya kula da labarin, sa'an nan kuma adadin haɗin kai ya karu sosai. Zai yi wuya a iya hasashen hakan a gaba. A gefe guda, wani lokacin ra'ayoyin suna samun aiwatarwa nan da nan. Bayan 'yan shekarun da suka gabata, na rubuta takarda tare da Joe የይዝራህያህevitz don DISC wanda ya ba da shawarar sabon ma'anar inganci don tsarin bayanai na dindindin wanda za a iya amfani da shi bayan kwamfutar da ke aiki da su ta fadi. Na ji daɗin labarin tun daga farko, amma ya zama sananne fiye da yadda nake tsammani. Ƙungiyoyi daban-daban sun yi amfani da shi kuma daga ƙarshe ya zama ma'anar ma'anar dagewa. Wanda, ba shakka, yana da kyau.

Vladimir: Shin akwai wasu dabaru da kuke amfani da su don tantancewa? Shin kuna ƙoƙarin tantance labaran ku da ɗaliban ku? Dangane da ko wanda ka karantar yana tafiya daidai.

Mika'ilu: Kamar kowa, na fi mai da hankali ga abin da nake yi a halin yanzu. Bugu da ƙari, kamar kowa, na kan bincika Google Scholar lokaci-lokaci don ganin ko ana buga takarduna na baya, amma wannan ya fi son sani. Galibi na shagaltu da abin da ɗalibana suke yi yanzu. Lokacin da ya zo don kimanta aikin yanzu, wani ɓangare na shi shine la'akari da kyau, abin da ke da kyau da abin da ba haka ba. Kuma a matakin yau da kullun, tambayoyin buɗe ido suna taka rawa sosai. Misali, dalibi ya zo mini da jadawali na wasu sakamako, kuma muna kokarin fahimtar inda wani bakon hali na jadawali ya fito. Gabaɗaya, a cikin aikinmu koyaushe muna ƙoƙarin fahimtar abubuwan da ba mu fahimta ba tukuna. 

Ƙwaƙwalwar ma'amala

Vitali: Wataƙila za mu iya magana kaɗan game da ƙwaƙwalwar ajiyar ma'amala?

Mika'ilu: Ina ganin yana da kyau a ce aƙalla kaɗan saboda na yi ƙoƙari sosai a ciki. Wannan batu ne wanda nake da ƙarin wallafe-wallafe a kansa fiye da kowane. Amma a lokaci guda, abin banƙyama, koyaushe ina cikin shakka game da ƙwaƙwalwar ajiyar ma'amala. A ganina, labarin Herlihy da Moss (M. Herlihy, J. E. B. Moss) an buga shi kafin lokacinsa. A farkon shekarun 1990, sun ba da shawarar cewa ƙwaƙwalwar ajiyar ma'amala zai iya taimaka wa ƙwararrun masu shirye-shirye suyi aiki akan tsarin bayanai masu tarin yawa, ta yadda masu tsara shirye-shirye za su iya amfani da waɗannan tsarin azaman ɗakin karatu. Wato, zai zama taimako ga Doug Lee yin JSR 166. Amma ƙwaƙwalwar ma'amala ba a yi niyya ba don sauƙaƙe shirye-shirye masu yawa. Amma wannan shi ne ainihin yadda aka fara gane shi a farkon shekarun 2000, lokacin da ya zama tartsatsi. An tallata shi a matsayin hanyar magance matsalar parallel programming. Wannan hanya ta kasance kamar ba ta da bege a gare ni. Ƙwaƙwalwar ma'amala zai iya sauƙaƙa rubuta tsarin bayanan layi ɗaya kawai. Wannan, a ganina, shine abin da ta cimma. 

Game da wahalar rubuta lambobi masu zare da yawa

Алексей: Mai ban sha'awa sosai. Da alama akwai wani shamaki tsakanin masu shirye-shirye na yau da kullun da waɗanda za su iya rubuta lambar zaren da yawa. A bara, na yi magana sau da yawa tare da mutanen da ke aiwatar da wasu tsarin algorithmic. Alal misali, tare da Martin Thomson, da kuma tare da masu shirye-shirye da ke aiki a kan ɗakunan karatu masu yawa. (Bayanin edita: Martin Thompson sanannen mai haɓaka ne, ya rubuta Disruptor и Aeron. Shi kuma yana da rahoto a taron mu na Joker 2015, rikodin bidiyo akwai akan YouTube. Shi daya ne bude wannan taro rikodin maɓalli akwai kuma). Babban ƙalubale, in ji su, shine yin algorithms duka cikin sauri da sauƙin amfani. Wato suna kokarin shawo kan wannan shingen da jawo hankalin mutane da yawa zuwa wannan yanki. Me kuke tunani game da shi?

Mika'ilu: Wannan ita ce babbar matsala ta multithreading: yadda ake samun babban aiki ba tare da ƙara rikitarwa na tsarin ba. 

Алексей: Domin lokacin da suke ƙoƙari su guje wa rikitarwa, algorithm ya zama ƙasa da duniya.

Mika'ilu: Maɓalli a nan an tsara su yadda ya kamata. A gare ni cewa gabaɗaya wannan shine babban abu ga tsarin kwamfuta a matsayin filin. Butler Lampson yana son amfani da wannan kalmar, kuma ya kira mu "'yan kasuwa na abstractions." Fasaha masu sauƙi ba su wanzu a yau. Na'urori masu sarrafawa da muke amfani da su suna da transistor biliyan 10 - sauƙi ba a cikin tambaya. A lokaci guda, ISA ya fi sauƙi fiye da na'ura mai sarrafawa, tun da mun yi aiki na dogon lokaci don samar da shi tare da babban aiki da sauƙi mai sauƙi. Amma ba komai ya daidaita da ita ba. Haka matsalar ita ce na'urorin tozarta wadanda a yanzu ke fitowa a kasuwa. Tambayoyi sun taso - yadda ake yin daidaitaccen keɓancewa ga GPU, tsarin ɓoyewa, matsawa, tsarin canza launi, tsarin algebra na layi, ko ma FPGA mafi sassauƙa. Yadda za a ƙirƙiri mai dubawa wanda ke sa kayan aiki mai sauƙi don amfani da ɓoyewa? Ba zai kawar da shi ba, amma a ɓoye shi daga mai tsara shirye-shirye mai sauƙi. 

Алексей: Kamar yadda na fahimce shi, har yanzu muna da shamaki wajen fahimtar abstractions. Mu dauki samfurin ƙwaƙwalwar ajiya, a matakinmu na ci gaban kimiyya da fasaha, wannan yana ɗaya daga cikin manyan abubuwan da suka faru. Godiya gare shi, duk masu shirye-shiryen sun kasu kashi biyu: mafi girma shine waɗanda ba su fahimce shi ba, ƙarami kuwa su ne waɗanda suka fahimta, ko suna tunanin sun fahimta. 

Mika'ilu: Wannan tambaya ce mai kyau - shin kowannenmu ya fahimci ƙirar ƙwaƙwalwar ajiya da gaske?

Vitali: Musamman a cikin C++.

Mika'ilu: Yi magana da Hans Boehm wani lokaci. Yana daya daga cikin mafi wayo da na sani, babban gwani a kan ƙwaƙwalwar ajiya. Zai gaya muku nan da nan cewa akwai abubuwa da yawa da bai fahimta ba. Amma idan muka koma batun abstractions, to, a ganina, an bayyana mafi mahimmancin ra'ayi a fagen ƙirar ƙwaƙwalwar ajiya a cikin shekaru 30 da suka gabata. a cikin karatun Sarita Adve. (Bayanin edita: akwai cikakken jerin wallafe-wallafe mahada).

АлексейTambayata ita ce: shin wannan shamaki ya fito ne daga ainihin yanayin? 

Mika'ilu: A'a. Sarita ya zo ga ƙarshe cewa tare da hanyar da ta dace, za ku iya samun nasarar ɓoye duk rikitarwa, samun babban aiki kuma ku ba mai shirin API mai sauƙi. Kuma idan kun bi wannan API, zaku iya cimma daidaiton daidaito. Ina tsammanin wannan shine samfurin da ya dace. Rubuta lamba ba tare da tseren bayanai ba kuma samun daidaiton jeri. Tabbas, don rage yiwuwar yin tsere, ana buƙatar kayan aiki na musamman, amma wannan wani lamari ne. 

Vladimir: Akwai lokuta a cikin aikinka da matsala da kamar an warware ta ba zato ba tsammani ta zama bala'i, ko kuma ta zama matsala ba za a iya magance ta ba? Misali, a ka'idar kuna iya ƙididdige kowace lamba ko tantance ko kowace lamba ta zama firam. Amma a aikace wannan na iya zama da wahala a yi; tare da kayan aikin na yanzu yana da wahala a ƙididdige lambobi. Shin wani abu makamancin haka ya faru da ku?

Mika'ilu: Nan da nan ba na tuna wani abu makamancin haka. Akwai lokutan da na ga kamar babu abin da za a yi a wani yanki, amma sai ga wani sabon abu mai ban sha'awa ya faru a can. Alal misali, na yi tunanin cewa yanki na jerin gwano marar iyaka ya riga ya balaga. Bayan gyare-gyare da yawa ga layin MNS, babu abin da ya sake faruwa. Sannan kuma Morrison (Adam Morrison) da Afek (Yehuda Afek) suka kirkiro Farashin LCRQ. Ya bayyana a fili cewa jerin gwano marar iyaka mara iyaka yana yiwuwa, inda mafi yawan lokuta akwai kawai koyarwa-da-ƙara koyarwa akan hanya mai mahimmanci. Kuma wannan ya sa ya yiwu a cimma tsari na girma mafi kyawun aiki. Ba wai ba mu san cewa karbo-da-karu abu ne mai matukar amfani ba. Eric Freudenthal ya rubuta game da wannan a cikin aikinsa a kan Ultracomputer tare da Allan Gottlieb a ƙarshen 1980s, amma game da iyakacin layi. Morrison da Afek sun sami damar yin amfani da debo-da-ƙara a kan layi mara iyaka.

Sabbin gine-gine. Shin nasarar ƙwaƙwalwar ma'amala ta kusa?

Vladimir: Kuna neman sababbin hanyoyin gine-ginen da za su iya zama da amfani ga algorithms? 

Mika'ilu: Tabbas, akwai abubuwa da yawa da zan so a aiwatar da su. 

Vladimir: Wane irin misali?

Mika'ilu: Da farko, ƴan ƙaƙƙarfan haɓakawa masu sauƙi zuwa ƙwaƙwalwar ma'amalarmu ta matakin hardware a cikin na'urorin sarrafa Intel da IBM. Musamman, Ina son kaya da kantin sayar da marasa ciniki wanda ya faru nan da nan a cikin ma'amaloli. Nan da nan suna kai ga madaukai a cikin abubuwan da suka faru-kafin jerin, don haka suna iya zama da wahala. Amma idan kun kula da yadudduka na abstraction, akwai abubuwa masu ban sha'awa da yawa da za ku iya yi a wajen ciniki yayin da yake faruwa. Ban san yadda aiwatar da wannan zai yi wahala ba, amma zai yi amfani sosai. 

Wani abu mai amfani shine loda cache daga ƙwaƙwalwar nesa. Ina ganin ko ba dade ko ba dade za a yi haka. Wannan fasaha za ta ba da damar ƙirƙirar tsarin tare da ƙwaƙwalwar da aka rarraba. Zai yiwu a adana terabytes 100 na ƙwaƙwalwar ajiya mara ƙarfi a cikin rak, kuma tsarin aiki da kansa zai yanke shawarar waɗanne sassan wannan ƙwaƙwalwar ya dace da sararin adireshi na zahiri na masu sarrafawa. Wannan zai zama da amfani sosai ga ƙididdigar girgije, saboda zai ba da damar samar da adadin ƙwaƙwalwar ajiya ga ayyukan da ke buƙatarsa. Ina jin wani zai yi.

Vitali: Don gama magana game da ƙwaƙwalwar ajiyar ma'amala, Ina da ƙarin tambaya ɗaya akan wannan batu. Ƙwaƙwalwar ma'amala za ta maye gurbin daidaitattun tsarin bayanai masu zare da yawa?

Mika'ilu: A'a. Ma'amaloli hanya ce ta hasashe. A matakin shirye-shirye waɗannan makullin atomic ne, amma a ciki akwai hasashe. Irin wannan hasashen yana aiki idan yawancin zato daidai ne. Don haka, ƙwaƙwalwar ajiyar ma'amala tana aiki da kyau lokacin da zaren ba su da alaƙa da juna, kuma kawai kuna buƙatar tabbatar da cewa babu hulɗa. Amma idan saƙo ya fara tsakanin zaren, ma'amaloli ba su da amfani sosai. Bari in bayyana, muna magana ne game da shari'ar lokacin da ma'amaloli ke nannade a kusa da dukan atomic aiki. Har yanzu ana iya samun nasarar amfani da su azaman abubuwan haɗin kai don tsarin bayanai masu zaren yawa. Alal misali, idan kuna buƙatar CAS mai kalmomi uku, kuma kuna buƙatar multithread ƙananan abubuwa uku a tsakiyar ainihin ma'auni mai yawa wanda ke aiki tare da zaren ashirin a lokaci guda. Gabaɗaya, ma'amaloli na iya zama da amfani, amma ba za su kawar da buƙatar tsara tsarin bayanai masu zare da yawa yadda ya kamata ba. 

Ƙwaƙwalwar ajiya mara ƙarfi, Optane DIMM, na'urori masu sauri.

Vitali: Abu na ƙarshe da zan so in yi magana game da shi shine batun bincikenku na yanzu: ƙwaƙwalwar da ba ta da ƙarfi. Menene za mu iya tsammani a wannan fanni nan gaba kadan? Wataƙila kun san kowane ingantaccen aiwatarwa wanda ya riga ya wanzu? 

Mika'ilu: Ni ba ƙwararren masani ba ne, na san abin da na karanta a cikin labarai ne kawai da abin da abokan aikina suke gaya mani. Kowa ya riga ya ji cewa Intel yana sayarwa Optane DIMM, wanda ke da kusan sau 3 rashin jinkirin karatu da sau 10 na latency fiye da RAM mai ƙarfi. Ba da daɗewa ba za a samu su cikin manyan juzu'i masu girma. Yana da ban dariya don tunanin cewa za ku iya samun kwamfutar tafi-da-gidanka tare da terabytes da yawa na RAM na byte-addressable. Wataƙila a cikin shekaru 10 za mu yanke shawarar yin amfani da wannan sabuwar fasaha, tunda muna amfani da DRAM - kawai ƙara girma. Amma godiya ga 'yancin kai na makamashi, sabbin damammaki sun buɗe mana. Zamu iya canza ainihin ma'ajiya ta yadda babu rabuwa tsakanin byte-addressable memory memory da kuma toshe-tsari na dindindin ƙwaƙwalwar ajiya. Don haka, ba za mu buƙaci jera duk abin da ake buƙatar canjawa wuri daga wannan shirin zuwa wani zuwa fayilolin da aka ƙera toshe ba. Daga wannan za mu iya samun mahimman ka'idoji masu yawa waɗanda ke shafar tsarin aiki, yanayin lokacin aiki, da wuraren ajiyar bayanai da aka rarraba. Wannan yanki yana da ban sha'awa sosai don yin aiki a ciki. Da kaina, yana da wahala a gare ni in faɗi abin da wannan duka zai haifar, amma matsalolin nan suna da ban sha'awa sosai. Ana iya samun canje-canje na juyin juya hali a nan, kuma suna bin dabi'a sosai daga aikin multithreading, tun da rashin nasarar dawowa shine tsarin "multithreading" kusa da aikin yau da kullum na tsarin. 

Babban batu na biyu da nake aiki a kai a halin yanzu shine sarrafa na'urori masu sauri da amintaccen damar shiga na'urori daga sararin mai amfani tare da sarrafa tsarin tsare-tsare. A cikin 'yan shekarun nan, an sami wani yanayi don matsar da damar zuwa na'urar zuwa sararin mai amfani. Anyi wannan ne saboda tarin TCP-IP kernel ba zai iya aiki a saman cibiyar sadarwar da ke buƙatar sabon fakiti kowane microsecond 5; kawai ba zai ci gaba ba. Saboda haka, masana'antun suna ba da damar yin amfani da na'urori kai tsaye. Amma wannan yana nufin cewa tsarin aiki ya rasa ikon sarrafa tsarin kuma ba zai iya samar da dama ga na'urar don aikace-aikacen gasa ba. Ƙungiyar bincikenmu ta yi imanin cewa za a iya guje wa wannan gazawar. Za mu sami labarin kan wannan a USENIX ATC wannan watan. Yana da alaƙa da aiki akan dagewa, tun daɗaɗɗen byte-adireshin iya jurewa ƙwaƙwalwar ajiya shine, a zahiri, na'ura mai saurin I/O wacce ke buƙatar isa ga wurin mai amfani. Wannan binciken yana ba da damar sababbin hanyoyin zuwa microkernels, exokernels, da sauran yunƙurin gargajiya don matsar da ayyuka cikin aminci daga kwaya ta OS zuwa sararin mai amfani. 

Vladimir: Ƙwaƙwalwar Ƙwararren Ƙwararren Ƙwararren Ƙwararren Ƙwararren Ƙwararren Ƙwararren Ƙwararren Ƙwararren Ƙwararren Ƙwararren Ƙwararren Ƙwararren Ƙwararren Ƙwararren Ƙwararren Ƙwararren Ƙwararren Ƙwararren Ƙwararren Ƙwararren Ƙwararren Ƙwararren Ƙwararren Ƙwaƙwalwa na Ƙaƙwalwa na Ƙaƙwalwa yana da kyau, amma akwai iyakancewar jiki - gudun haske. Wannan yana nufin cewa babu makawa za a sami jinkiri yayin mu'amala da na'urar. 

Mika'ilu: Kwarai kuwa.

Vladimir: Shin za a sami isasshen ƙarfin jure wa sabbin lodi?

Mika'ilu: Wannan babbar tambaya ce, amma zai yi wuya in amsa. Tunanin aiwatarwa a cikin ƙwaƙwalwar ajiya ya kasance na ɗan lokaci kaɗan, yana da ban sha'awa sosai, amma kuma mai rikitarwa. Ban yi aiki a wannan yanki ba, amma zai yi kyau idan an gano wasu abubuwan a can. Ina jin tsoro ba ni da wani abu da zan kara. 

Vladimir: Akwai kuma wata matsala. Sabbin, babban adadin RAM ba zai yuwu a shiga cikin CPU ba. Don haka, saboda gazawar jiki, dole ne a ware wannan RAM ɗin. 

Mika'ilu: Duk ya dogara da adadin lahani a cikin samar da haɗin gwiwar da'irori. Idan zai yiwu a ƙirƙiri wafers na semiconductor gaba ɗaya ba tare da lahani ba, to zai yiwu a yi microcircuit gaba ɗaya daga ciki. Amma yanzu ba mu san yadda ake yin microcircuits ya fi girma fiye da tambura. 

Vladimir: Amma har yanzu muna magana game da manyan masu girma dabam, game da santimita. Wannan babu makawa yana da tasiri akan latency. 

Mika'ilu: Iya. Babu wani abu da za ku iya yi game da saurin haske. 

Vladimir: Abin takaici. 

Babban yanayin gaba. Tsarin bayanai biyu. Hydra

Vitali: Kamar yadda na fahimta, kuna kama sabbin abubuwa cikin sauri. Kun kasance ɗaya daga cikin waɗanda suka fara aiki a ƙwaƙwalwar ajiyar ma'amala, kuma ɗaya daga cikin na farko da suka fara aiki a cikin ƙwaƙwalwar da ba ta da ƙarfi. Menene kuke tsammanin zai zama babban al'amari na gaba? Ko watakila sirri ne?

Mika'ilu: A gaskiya ban sani ba. Da fatan zan iya lura lokacin da wani sabon abu ya fito. Ban yi sa'a ba don ƙirƙira wani sabon filin da kaina, amma na sami sa'a kaɗan kuma na sami damar fara aiki da wuri a cikin sabbin fannonin da wasu suka ƙirƙira. Ina fatan zan iya yin hakan nan gaba.

Алексей: Tambaya ta ƙarshe a cikin wannan hira za ta kasance game da aikin ku a Hydra da ayyukan ku a makaranta. Idan na fahimta daidai, rahoton a makarantar zai kasance game da toshe algorithms kyauta, kuma a taron game da tsarin bayanai biyu. Za a iya cewa 'yan kalmomi game da waɗannan rahotanni?

Mika'ilu: A wani bangare, mun riga mun tabo wadannan batutuwa tare da ku a cikin wannan hirar. Yana da game da aikin da na yi tare da dalibi na Bill Scherer. Ya rubuta kasida a kai, kuma Doug Lee shima ya ba da gudummawa gare ta, kuma daga ƙarshe ya zama wani ɓangare na jerin gwano masu zare da yawa a cikin ɗakin karatu na Java. Bari mu ɗauka cewa tsarin bayanan ana karantawa kuma ana rubuta su ba tare da toshewa ba, wato, kowane aiki yana da iyakataccen adadin umarni akan hanya mai mahimmanci. Idan kuna ƙoƙarin cire bayanai daga cikin akwati mara komai, ko ƙoƙarin cire wasu bayanan da ba a cikin wannan akwati, nan take za a sanar da ku cewa ba za a iya yin hakan ba. Amma wannan hali bazai zama karbuwa ba idan zaren yana buƙatar wannan bayanan da gaske. Sannan abu na farko da ya zo a zuciya shi ne ƙirƙirar madauki wanda koyaushe zai yi tambaya ko bayanan da ake buƙata sun bayyana. Amma sai ga shishshigi ga kowa. Bugu da ƙari, tare da wannan hanya, za ku iya jira minti 10, sannan wani zaren zai zo, kuma zai fara karɓar bayanan da suka dace. Tsarin bayanai guda biyu har yanzu ba su da makullai, amma suna ba da damar zaren don jira da kyau. Kalmar "biyu" tana nufin cewa tsarin ya ƙunshi ko dai bayanai ko buƙatun bayanai, bari mu kira su anti-data. Don haka idan kuna ƙoƙarin dawo da wani abu daga cikin akwati mara komai, za a shigar da buƙata a cikin akwati maimakon. Yanzu zaren na iya jiran buƙata ba tare da damun kowa ba. Bugu da ƙari, tsarin bayanan yana ba da fifiko ga buƙatun ta yadda idan an karɓa, ya mika su ga wanda ya dace. Sakamakon shine tsarin da ba a kulle ba wanda har yanzu yana da ƙayyadaddun ƙayyadaddun tsari da kyakkyawan aiki a aikace. 

Алексей: Menene fatan ku daga wannan tsarin bayanai? Shin zai inganta aiki a duk lokuta na kowa, ko kuma ya fi dacewa da wasu yanayi? 

Mika'ilu: Yana da amfani idan, da farko, kuna buƙatar akwati ba tare da kullewa ba, kuma, na biyu, kuna buƙatar jira a cikin yanayin da kuke buƙatar dawo da bayanai daga kwandon da ba a ciki ba. A iyakar sanina, tsarinmu yana ba da kyakkyawar ɗabi'a lokacin da waɗannan sharuɗɗan biyu suka cika. Saboda haka, a cikin waɗannan lokuta ina ba da shawarar amfani da shi. Babban fa'idar tsarin bayanan kulle-kulle shi ne cewa suna guje wa matsalolin aiki. Kuma jira yana da mahimmanci a yawancin algorithms idan an canja wurin bayanai daga wannan zaren zuwa wani.

Vitali: Bari in fayyace: za ku yi magana a kan abu ɗaya a makaranta da kuma a taron?

Mika'ilu: A makaranta zan yi magana gabaɗaya game da tsarin bayanai masu zare da yawa, tare da ƙa'idodin asali waɗanda aka zayyana a farkon darasi. Ina tsammanin masu sauraro sun san menene zaren kuma sun saba da makullai. Dangane da wannan ainihin ilimin, zan yi magana game da tsarin bayanai marasa kullewa. Zan ba da taƙaitaccen bayani game da matsaloli mafi mahimmanci a wannan yanki, taɓa batutuwa kamar sarrafa ƙwaƙwalwar ajiya. Ba na tsammanin za a sami wani abu mafi rikitarwa fiye da layin MS.

Алексей: Shin kuna shirin koyarwa game da tsarin bayanai biyu a ƙarshen ajin ku a makaranta?

Mika'ilu: Zan ambace su, amma ba zan ɓata lokaci mai yawa a kansu ba. Rahoton Hydra za a sadaukar da su. Zai rufe aikin wanda a ƙarshe ya sanya shi cikin Java, da kuma yin aiki tare da Joe Israelevich don ƙirƙirar bambance-bambancen nau'ikan layin LCRQ, da ƙirƙirar ƙira ta kusa-ƙusa don tsarin bayanan dual.

Алексей: Don haka za a iya ba da shawarar lacca a makaranta don farawa, da kuma lacca akan tsarin bayanai biyu akan Hydra - ga mutanen da suka riga sun sami kwarewa?

Mika'ilu: Gyara ni idan na yi kuskure, amma masu sauraro a Hydra za su zama daban-daban, ciki har da da yawa Java masana, da kuma gaba ɗaya mutanen da ba musamman hannu a Multi-threaded shirye-shirye. 

Vitali: E, gaskiya ne.

Алексей: Aƙalla muna fata haka.

Mika'ilu: A wannan yanayin, zan fuskanci matsala iri ɗaya da muka fara wannan hira da ita: yadda za a samar da rahoto mai wadata da cikakkun bayanai na fasaha da kuma isa ga duk masu sauraro.

Vitali: Za ku ba da rahoto kamar yadda kuke ba da laccoci? Wato magana da masu sauraro kuma ku dace da yanayin?

Mika'ilu: Ina tsoron hakan ba zai yi tasiri ba, domin rahoton zai kasance da nunin faifai. Zane-zane yana da mahimmanci lokacin da masu sauraro suka fara magana da harsuna daban-daban. Mutane da yawa zai yi wuya su fahimce ni a Turanci, musamman idan na yi magana da sauri. Na zabi wadannan batutuwa saboda Peter Kuznetsov ya tambaye ni in yi magana game da tsarin bayanan da ba a kulle ba a Makarantar SPTDC; sannan na bukaci rahoto don taron kungiyar masu amfani da Java, kuma ina so in zabi wani abu da zai zama abin sha'awa musamman ga masu shirye-shiryen Java. Hanya mafi sauƙi ita ce magana game da abubuwan da ke cikin ɗakin karatu na Java da nake da hannu ta wata hanya ko wata. 

Алексей: Muna ɗauka cewa masu sauraro a kan Hydra sun riga sun san wani abu game da shirye-shirye marasa kullewa kuma watakila suna da kwarewa a wannan yanki. Amma wannan hasashe ne kawai, lamarin zai kara fitowa fili a taron da kansa. Duk da haka, na gode don lokacin ku. Na tabbata hirar za ta kasance mai ban sha'awa ga masu karatunmu. Godiya da yawa!

Vitali: Na gode. 

Mika'ilu: Zan yi farin cikin saduwa da ku a St. Petersburg. 

Алексей: Mu ma, muna da kyakkyawan birni. Kun taba zuwa nan?

Mika'ilu: A'a, ko kadan ban taba zuwa Rasha ba. Amma St. 

Алексей: Af, za mu yi shirin balaguro ga masu magana. Na gode sosai da hirar, kuma ku yini mai kyau!

Kuna iya ci gaba da tattaunawar ku tare da Michael a taron Hydra 2019, wanda za a gudanar a Yuli 11-12, 2019 a St. Petersburg. Zai zo da rahoto "Tsarin bayanai biyu". Ana iya siyan tikiti a kan gidan yanar gizon.

source: www.habr.com

Add a comment