Nyika inoziva Michael kubva mubhuku
Pamwe chete naDoug Lee, akagadzira iyo isingavharidzi algorithms uye synchronous mitsara inosimbisa maraibhurari eJava. Implementation ThreadPoolExecutor
.
Zviri Mukati:
- Basa rekutanga, Yunivhesiti yeRochester. Project Charlotte, mutauro weLynx;
- IEEE Scalable Coherent Interface, MCS kukiya;
- Kupona munyika inogara ichichinja;
- Vadzidzi vanova matube here? Global maitiro, internationalization;
- Basa rinobudirira nevadzidzi;
- Nzira yekuenderera mberi nekugadzirira kwezvidzidzo zvitsva uye mabhuku;
- Kubatana pakati pebhizinesi nedzidzo;
- Kuitwa kunoshanda kwemazano. MCS, MS, CLH, JSR 166, kushanda naDoug Lee nezvimwe;
- Transactional memory;
- Zvivakwa zvitsva. Kukunda kwekurangarira kwekutengeserana kuri pedyo;
- Non-volatile memory, Optane DIMM, ultra-fast devices;
- Chinotevera chikuru maitiro. Dual data zvimiro. Hydra.
Hurukuro dzinoitwa ne:
Vitaly Aksenov - parizvino postdoc kuIST Austria uye nhengo yeDhipatimendi reComputer Technologies paITMO University. Inoita tsvakiridzo mumunda wedzidziso uye tsika yemakwikwi data zvimiro. Asati ashanda kuIST, akagamuchira PhD yake kubva kuParis Diderot University uye ITMO University pasi pekutarisirwa kwaPurofesa Peter Kuznetsov.
Alexey Fedorov mugadziri paJUG Ru Group, kambani yeRussia inoronga misangano yevagadziri. Alexey akatora chikamu mukugadzirira kwemisangano inodarika makumi mashanu, uye tangidzo yake ine zvese kubva pachinzvimbo cheinjiniya weOracle (JCK, Java Platform Group) kusvika pachinzvimbo chemugadziri paOdnoklassniki.
Vladimir Sitnikov ndiinjiniya kuNetcracker. Kwemakore gumi anga achishanda pakuita uye scalability yeNetCracker OS, software inoshandiswa nevatyairi venhare kuita otomatiki network uye network michina manejimendi maitiro. Kufarira Java uye Oracle Database kuita nyaya. Munyori weanopfuura gumi nemaviri ekuita ekuvandudza mune yepamutemo PostgreSQL JDBC mutyairi.
Basa rekutanga, Yunivhesiti yeRochester. Charlotte chirongwa, mutauro weLynx.
Alexey: Kutanga, ndaida kukuudza kuti muRussia isu tese tinonyatsoda Computer Science, Data Science uye algorithms. Zvinonyadzisa. Takaverenga zvese
Michael: Munda wedu wakasiyana-siyana, une nzira dzakawanda, uye unobata nzanga nenzira dzakawanda dzakasiyana zvekuti zvakandiomera kuti ndikupe mhinduro chaiyo. Asi chokwadi ndechekuti yakaunza shanduko huru mubhizinesi, indasitiri, unyanzvi uye nzanga mune zvese mumakore makumi matatu apfuura.
Vitali: Ngatitange nechimwe chinhu chiri kure. Mumayunivhesiti mazhinji mune chimwe chinhu chakaita sehunyanzvi mune imwe nzvimbo. YeCarnegie Mellon University iyi yakafanana komputa, yeMIT ndeye cryptography, marobhoti uye multithreading. Pane hunyanzvi hwakadaro paYunivhesiti yeRochester here?
Michael: Kutaura chokwadi, ndingati CMU neMIT vanonyanya hunyanzvi munzvimbo dzese. Dhipatimendi redu ragara rakabhadhara zvakanyanya kune artificial intelligence. Hafu yevanhu vari kutishandira vari kuita zveAI kana kudyidzana kwevanhu-kombuta - mugove uyu wakakwirira kudarika mune mamwe madhipatimendi, uye zvagara zvakadaro. Asi pandakanga ndiri kuyunivhesiti, ndakanga ndisina chero kosi muAI, uye handina kumboshanda mundima iyi. Saka bazi rangu rinoona nezvedambudziko randisina chekuita naro. Chinyaradzo ndechekuti dambudziko rechipiri rakanyanya kukosha kune dhipatimendi redu rakafanana uye rakaomeswa-akawanda-tambo hurongwa, ndiko kuti, hunyanzvi hwangu.
Vitali: Wakatanga kushanda muComputer Science apo ndima ye-multi-threaded programming yakanga ichangobuda. Rondedzero yezvinyorwa zvako inoratidza kuti mabasa ako ekutanga aibata neyakasiyana siyana nyaya: ndangariro manejimendi mune akawanda-akarukwa masisitimu, akagoverwa mafaira masisitimu, anoshanda masisitimu. Nei zvichisiyana-siyana zvakadaro? Wanga uchiedza kutsvaga nzvimbo yako munharaunda yekutsvagisa?
Michael: Somudzidzi, ndakatora rutivi
IEEE Scalable Coherent Interface, MCS kukiya.
Vitali: Unogona kundiudza zvishoma nezve izvi?
Michael: Iyi inyaya inonakidza yandisinganeti kuudza munhu wese. Zvakaitika pamusangano
Vitali: Ndave ndichijairana neMCS blocking kwenguva yakareba, asi kusvika ikozvino handina kuziva kuti ibasa rako, uye handina kunzwisisa kuti yaive acronym yemazita ako ekupedzisira.
Nzira yekurarama sei munyika inogara ichichinja?
Alexey: Ndine mubvunzo pane imwe nyaya yakabatana. 30 kana 40 makore apfuura pakanga pane rusununguko rwakawanda muhunyanzvi hwakasiyana. Kana iwe uchida kutanga basa mumultithreading kana kugovera masisitimu, unogamuchirwa, kana iwe uchida kupinda mumasystem anoshanda, hapana dambudziko. Munzvimbo imwe neimwe maive nemibvunzo yakawanda yakavhurika uye nyanzvi shoma. Narrow specializations ikozvino yabuda: hapana chete nyanzvi dzekushandisa masisitimu kazhinji, kune nyanzvi pane yega masisitimu. Ndizvo zvakafanana nemultithreading uye distributed systems. Asi dambudziko nderekuti hupenyu hwedu hahuperi; munhu wese anogona kupa makumi mashoma emakore chete kutsvaga. Ungararama sei munyika itsva iyi?
Michael: Hatina kukosha mune izvi; zvimwe chete zvakaitika pane dzimwe nzvimbo. Ndakanga ndine rombo rakanaka kuti ndakatanga kushanda muComputer Science apo munda wakanga uri mumakore "ehuduku". Dzimwe nheyo dzakanga dzatoteyiwa, asi zvinhu zvose zvakanga zvisati zvakura. Mukana uyu hauuye kazhinji. Injiniya yemagetsi yave iripo kwenguva yakareba kwazvo, fizikisi yakatorebesa, masvomhu anenge kubvira pakutanga kwenguva. Asi izvi hazvireve kuti hapana ari kuwana zvinonakidza mumasvomhu zvakare. Pachine matambudziko akawanda akazaruka, asi panguva imwe chete, zvakawanda zvinoda kudzidzwa. Wakarurama kuziva kuti ikozvino kwave nehunyanzvi hwakawanda kupfuura hwaivepo kare, asi izvi zvinongoreva kuti tinozviwana tiri mumamiriro ezvinhu akafanana nedzimwe nzvimbo dzakawanda dzezviitiko zvevanhu.
Alexey: Ndiri kufarira mune zvimwe zvinoshanda zvenyaya pano. Ndine ruzivo rwemasvomhu, uye panguva yezvidzidzo zvangu ndaiwanzopinda misangano uye ndaishanda pane zvakasiyana-siyana zvesayenzi. Ndakaona kuti hapana muvateereri ainzwisisa mishumo yangu, uye nenzira imwe cheteyo, mishumo yavamwe vanhu yainzwisiswa bedzi kwavari vamene. Izvi hazvisizvo mumisoro yepamusoro-soro, asi paunongotanga kunyura mune chimwe chinhu, vateereri havachakwanisi kufambirana newe. Unoita sei nazvo?
Michael: Haisi kubudirira nguva dzose. Ini nguva pfupi yadarika ndakagadzira mushumo wandakapinda zvakanyanya muhunyanzvi hwehunyanzvi. Sezvo hurukuro yakapfuurira, zvakava pachena kuti vazhinjisa vavateereri vakanga vasingandinzwisisi, naizvozvo ndaifanira kuchinjira kumamiriro ezvinhu nokukurumidza. Masiraidhi haana kukwanisa kuchinjwa, saka hazvina kunyatsonaka - saka, kazhinji kutaura, ndinoedza kusashandisa masiraidhi. Pakazara, zano rangu nderekufunga vateereri vako. Iwe unofanirwa kuziva wauri kutaura naye, kuti ruzivo rwavo nderei, uye zvavanoda kunzwa kuti vakoshese basa rako.
Vitali: Mungatipewo zano rekuti hurukuro iyi yanga iri pamusoro pei?
Michael: Kutaura chokwadi, ndingade kusawedzera pamusoro penyaya iyi kuitira kuti ndisiye vanhu vari mubvunzo vasingazivikanwe. Chiripo ndechekuti isu tinowanzo dzika zvakanyanya mukuoma kunzwisisa kwedambudziko ratiri kugadzirisa, saka zvinova zvakaoma kuti titsanangure pakutanga kwehurukuro kuti sei dambudziko racho richinakidza uye rakakosha uye kuti rine chekuita sei nenyaya dzinoitwa vateereri vanotoziva. Maererano nekuona kwangu, vadzidzi vane nguva yakaoma zvikuru yekudzidza unyanzvi uhu. Uye iyi yaivewo nzvimbo isina simba yemushumo wangu wazvino. Chirevo chakanyatsorongeka chinofanira, kubvira pakutanga chaipo, kuwana kuonana nevateereri, kuvatsanangurira kuti chii chaizvo chiri dambudziko uye kuti chine chekuita sei nemisoro yagara ichizivikanwa kwairi. Kuti sumo iyi inyanzvi sei zvinoenderana nevateereri. Kana iri zvachose motley, ipapo mushumo unogona kuva multi-stage. Nhanganyaya inofanirwa kuwanikwa nemunhu wese, uye pakupera chidimbu chinogona kusakwanisa kuenderana newe, asi vanhu vane ruzivo nezvemunda wako vachakwanisa kuzvinzwisisa.
Vadzidzi vanova matube here? Global maitiro, internationalization.
Alexey: Wanga uchicherechedza vadzidzi kwemakumi emakore akati wandei. Vadzidzi vari kuwana dumber kana kungwara kubva pamakore gumi kusvika gumi kana gore negore? MuRussia, mapurofesa anogara achinyunyuta kuti vadzidzi vari kuwana dumber gore rega rega, uye hazvisi pachena zvekuita nezvazvo.
Michael: Unogona kunyatsonzwa zvakawanda zvisina kunaka kubva kwatiri isu vanhu vakuru. Tisingazive, isu tine tsika yekutarisira kuti vadzidzi vatore ese makumi matatu emakore echiitiko atakatove nawo. Kana ndine kunzwisisa kwakadzama kupfuura kwandakaita muna 30, sei vadzidzi vasina? Pamwe nekuti vane makore makumi maviri, munofungei? Ini ndinofunga shanduko dzakanyanya kukosha mumakumi emakore achangopfuura dzave mukuumbwa kwevanhu: isu tava nevadzidzi vakawanda vekunze, kunze kwevaCanada. Kwaimbove nevakawanda vekuCanada nekuti isu tiri padyo nemuganho weCanada uye vadzidzi vanobva ikoko vanogona kuenda kumba kupera kwevhiki. Asi ikozvino kune akawanda mayunivhesiti akanaka muCanada, uye vekuCanada vanofarira kudzidza pano; zvakanyanya vashoma vavo vanouya kuUSA.
Alexey: Iwe unofunga kuti iyi itsika yemuno kana yepasirese?
Michael: Handichayeuki kuti ndiani, asi mumwe munhu akati nyika yakati sandara. Munda wedu wave wepasi rose.
Alexey: Asi, pamwe, pane zvimwe zvakashata zvekudyidzana kwenyika kwakadai?
Michael: Ndingati zvese zvakashata zvine chekuita kwete tekinoroji, asi nezvematongerwo enyika. Pane imwe nguva, dambudziko guru raive chokwadi chekuti US yaive ichiba vanhu vakangwara uye vane tarenda kubva kunyika dzepasirese. Uye zvino dambudziko guru nderemitambo yezvematongerwo enyika pakati penyika dzakasiyana-siyana dzakapoteredza mavhiza uye kutamira kune dzimwe nyika.
Alexey: Ndiko, zvipingamupinyi nezvimwe zvakadaro. Zviri pachena.
Vladimir: Ini pachangu, ndinofarira nzira yaunotora paunenge uchidzidzisa chidzidzo chitsva kuvadzidzi. Kune akasiyana sarudzo: unogona kuedza kutanga kune zvese kuvakurudzira kuti vaedze chimwe chinhu chitsva, kana iwe unogona kutarisisa zvakanyanya kune ruzivo rwekuti imwe tekinoroji inoshanda sei. Unoda chii?
Basa rinobudirira nevadzidzi
Alexey: Uye sei kuwana dhizaini pakati pekutanga neyechipiri?
Michael: Dambudziko nderekuti makirasi haawanzofamba nenzira yandinoda. Ndinowanzopa vadzidzi zvokuverenga pachine nguva kuitira kuti vanyatsoongorora, vazvinzwisise nepose pavanogona napo, uye vagadzire mibvunzo pamusoro pezvikamu izvozvo zvavasinganzwisise. Zvadaro mukirasi unogona kutarisa panguva dzakaoma zvikuru uye uzviongorore pamwe chete. Aya ndiwo maitiro andinoda kudzidzisa makirasi zvakanyanya. Asi tichifunga nezvemutoro uripo pavadzidzi, ini handigarokwanisa kuve nechokwadi chekuti vanofanogadzirira. Nekuda kweizvozvo, iwe unofanirwa kupa nguva yakawanda kune kudzokororwa kwezvese kwezvinyorwa kupfuura zvaungada. Pasinei neizvi, ndinoedza kuchengeta makirasi edu achifambidzana. Zvikasadaro, zviri nyore kurekodha vhidhiyo kana vadzidzi vabva vaona kumba. Iyo poindi yemakirasi ehupenyu kudyidzana kwevanhu. Mukirasi, ndinosarudza kushandisa choko nebhodhi pane masiraidhi, kunze kwekunge pane dzimwe nguva kana dhayagiramu yanyanya kuoma kuti iratidzike pabhodhi. Nekuda kweizvi, ini handifanirwe kunamatira kune yakaoma chidzidzo chirongwa. Sezvo pasina kurongeka kwakasimba kwokupa mashoko acho, ikoku kunondibvumira kuaita kuti aenderane nevateereri zvichienderana nemibvunzo yandinogamuchira. Kazhinji, ndinoedza kuita makirasi seanopindirana sezvinobvira, kuitira kuti zvinyorwa zvandinopa zvinoenderana nemibvunzo inobvunzwa kwandiri.
Vladimir: Zvakanaka. Muchiitiko changu, zvakaoma kuti vateereri vabvunze mibvunzo. Kunyangwe iwe ukabvunza pachine nguva kuti ubvunze chero mibvunzo, zvisinei nekuti benzi kana kungwara sei, ivo vanongonyarara. Unoita sei nazvo?
Michael: Unoseka, asi kana ukamira wakanyarara kwenguva yakakwana, nokukurumidza kana kuti gare gare munhu wose achanzwa kusagadzikana uye mumwe munhu achabvunza mubvunzo. Kana kuti unogona kubvunza mubvunzo wakareruka wehunyanzvi uine hongu kana kwete mhinduro kuti uone kana vanhu vachinzwisisa zvabva kutaurwa. Semuenzaniso, pane nhangemutange yedata mumuenzaniso uri pamusoro? Ndiani anofunga kudaro? Ndiani asingafungi? Ndiani asinganzwisisi chero chinhu, nekuti muchidimbu chete hafu yemaoko yakasimudzwa?
Vitali: Uye kana wapindura zvisizvo, unodzingwa mukirasi :)
Michael: Kana usati wapindura chero chinhu, saka unofanirwa kubvunza mubvunzo. Ini ndinofanira kunzwisisa izvo chaizvo izvo mudzidzi anofanira kuziva kuti apindure mubvunzo wandichangobva kubvunza. Ndinoda kuti vandibatsire ndivabatsire. Ndakagadzirira kujairana navo kuti vanzwisise dambudziko. Asi kana ndisingazivi zviri kuitika mumusoro mavo, handikwanisi kuzviita. Uye kana iwe usingape vadzidzi rugare kwenguva yakareba yakakwana, dzimwe nguva pakupedzisira vanobvunza mibvunzo yakarurama, kureva, iyo inondibvumira kuona kuti chii chaizvo chiri kuitika mumisoro yevadzidzi.
Alexey: Mibvunzo iyi dzimwe nguva inotungamira kupfungwa dzausina kumbofunga nezvadzo here? Hazvitarisirwi here? Vanokubvumira kuti utarise dambudziko nenzira itsva here?
Michael: Pane mibvunzo inovhura nzira itsva yekupa nayo mashoko. Panowanzova nemibvunzo inotungamira kumatambudziko anonakidza andisina kuronga kutaura nezvayo. Vadzidzi vanowanzondiudza kuti ndine katsika kekubuda kunze kwenyaya kana izvi zvaitika. Uye, maererano navo, kazhinji ichi ndicho chikamu chinonakidza chechidzidzo. Kashoma, nguva shoma, vadzidzi vakabvunza mibvunzo yakakurudzira gwara idzva mukutsvaga uye yakakura kuita chinyorwa. Izvi zvinoitika kakawanda muhurukuro nevadzidzi kwete panguva yemakirasi, asi pano neapo zvaiitika mumakirasi.
Alexey: Saka vadzidzi vakakubvunza mibvunzo pahwaro hwazvaive zvinogoneka kuburitsa chinyorwa?
Michael: Ehe.
Vitali: Kangani iwe uchiita hurukuro idzi nevadzidzi? Ndirini pavanoda kudzidza zvakawanda kupfuura zvakafukidzwa mukati mechidzidzo?
Michael: Nevadzidzi vangu vakapedza kudzidza - nguva dzese. Ndine vanenge 5 kana 6 vavo, uye tinokurukura chimwe chinhu navo nguva dzose. Uye hurukuro dzerudzi urwu nevadzidzi vanongopinda makirasi angu hadzina kunyanya kuwanda. Kunyangwe ndichishuvira kuti izvi zviitike kakawanda. Ndinofungidzira kuti vanongotya kuuya kuhofisi panguva yebasa. Semesita yega yega, vamwe vadzidzi vanogona kukunda chipingamupinyi ichi chepfungwa, uye zvinogara zvichinakidza kutaura navo mushure mekirasi. Chokwadi, kudai vadzidzi vose vakanga vakashinga kudaro, ndingadai ndisina nguva yakakwana. Saka pamwe zvinhu zvese zviri kushanda sezvazvinofanira.
Vitali: Iwe unokwanisa sei kuwana nguva yekutaurirana nevadzidzi? Sekuziva kwangu, muUSA vadzidzisi vane basa rakawanda - kunyorera mibairo nezvimwe zvakadaro.
Michael: Kutendeseka, kushanda nevadzidzi ndicho chikamu chebasa rangu randinonyanya kufarira. Saka ndine kurudziro yakakwana yeizvi. Nguva zhinji yandinopedza ndiri muhofisi mangu ndinopedzera pamisangano yemarudzi ose. Ichiri zhizha zvino, saka purogiramu yangu haina kunyanya kubatikana, asi mukati megore rechikoro, zuva rega rega kubva 9 kusvika 17 ndine zvese zvakarongedzwa. Basa rekutsvagisa, ongororo, zvipo - kune zvese izvi kune manheru uye kupera kwevhiki chete.
Nzira yekuenderera mberi nekugadzirira kwezvidzidzo zvitsva nemabhuku.
Alexey: Uri kuenderera mberi nekudzidzisa chero makosi awange uchidzidzisa kwenguva yakareba? Chimwe chinhu senge sumo kuComputer Science.
Michael: Chinhu chekutanga chinouya mumusoro pano ikosi yemitauro yekuronga.
Alexey: Kosi yanhasi yakasiyana sei nezvayaive makore gumi, makumi maviri, makumi matatu apfuura? Zvichida chinonyanya kufadza pano harisi ruzivo rweimwe kosi, asi maitiro akajairwa.
Michael: Kosi yangu yemitauro yekuronga yaive yakati wandei panguva yandakaigadzira. Ndakatanga kuriverenga mukupera kwema1980, ndichitsiva wandaishanda naye, Doug Baldwin (
Vitali: Ipapo mubvunzo wangu unotevera unenge une chekuita newakapfuura. Nzira yekuchengeta sei munzvimbo ino? Ndinofungidzira kuti kugadzirisa kosi yakadai kunoda basa rakawanda - unofanirwa kunzwisisa mitauro mitsva, kunzwisisa pfungwa huru. Unoita sei izvi?
Michael: Handigoni kuzvirumbidza kuti ndinogara ndichibudirira 100%. Asi kazhinji yenguva ndinongoita zvinoitwa nevamwe vese - verenga Indaneti. Kana ini ndichida kunzwisisa Rust, ini Google, enda kune peji reMozilla uye uverenge bhuku rakatumirwa ipapo. Ichi chikamu chezvinhu zvinoitika mukusimudzira kutengeserana. Kana tikataura nezvesainzi, saka iwe unofanirwa kutevedzera mishumo pamisangano mikuru.
Kubatana pakati pebhizinesi nedzidzo
Vitali: Ngatitaurei nezve kubatana pakati pebhizinesi nekutsvaga kwesainzi. Mune yako runyorwa rwemabasa, ini ndawana akati wandei zvinyorwa nezve cache coherence. Ini ndinonzwisisa kuti cache consistency algorithms yakanga isina kugadzikana panguva yayakadhindwa? Kana kuti haana kupararira zvakakwana. Pfungwa dzako dzaive dzakawanda sei pakuita?
Michael: Handina chokwadi chaicho kuti ndeapi mabhuku auri kutaura nezvawo. Ndakaita basa rakawanda nevadzidzi vangu Bill Bolosky (
Alexey: Panyaya iyi, mubvunzo wakanyanya wega: zvakakosha sei kwauri kuti pfungwa dzako dziitwe? Kana kuti hauzvifungi here?
Michael: Ndinoda kubvunza mubvunzo uyu mukubvunzurudzwa nevamwe vanhu, vanyoreri kana vakwikwidzi vari kuda kujoina fakaroti. Handifungi kuti pane mhinduro chaiyo kumubvunzo uyu. Vanhu vanoita zvinhu zvakanaka vanogona kuva nezvikonzero zvakasiyana zvikuru. Ndinokwezvwa nezvinetso nokuti ini pachangu ndinoawana achifadza, kwete nemhaka yebetsero dzawo dzinoshanda. Asi kune rimwe divi, kana chimwe chinhu chinonakidza chichiri kuwana application, ndinochifarira chaizvo. Saka hazvisi nyore pano. Asi pakutanga kwebasa rangu, ini ndichiri kutungamirirwa kwete nepfungwa yekuguma kushandiswa munyika, asi nekuwirirana kwepfungwa uye chido chekuiongorora uye kuona zvinouya nazvo. Kana pakupedzisira ichipa mhedzisiro inoshanda, yakakura.
Alexey: Nemhaka yedzidzo yako noruzivo rwokuzviwanira, unokwanisa zviri nani kupfuura vakawanda kuona ukoshi hwemifungo yavamwe vanhu. Iwe unogona kuzvienzanisa uye kuona kuti ndeipi inoshanda zviri nani nei. Ndine chokwadi chekuti une maonero pamusoro pezvinhu zviri kushandiswa parizvino mukuita nevagadziri vakakura seIntel. Semaonero ako, kosi iri kutora makambani aya ndeyechokwadi sei?
Michael: Kudzidzira nguva dzose kunotenderera kune izvo zvinogona kubudirira mune zvekutengeserana, ndiko kuti, kugadzira purofiti, uye iwe zviri nani kubvunza mumwe munhu nezvazvo. Basa rangu rinonyanya kukonzera zvinyorwa, uye mumunda wekushanda maitiro anoongororwa zvichienderana nezviratidzo zvekushanda: kukurumidza, kushandiswa kwesimba, kukura kwekodhi. Asi nguva dzose kwandiri zvaiita sekuti izvi zvinobuda muunyanzvi zvinowedzerwa kuzvinyorwa chete kuti zvibudiswe, uye vavariro chaidzo dzevanhu dzebasa ndedzorunako. Vatsvaguri vanoongorora mhinduro kubva pakuona kwehunyanzvi, vane hanya nekunaka kwakaita mazano, uye vanoedza kugadzira chimwe chinhu chiri nani pane maitiro aripo. Vatsvakurudzi vanotungamirirwa nehupenyu hwemunhu, hutsika, hwekunaka. Asi haugone kunyora nezve izvi muchinyorwa pachacho; zvinhu izvi hazvisi nharo dzekomiti yechirongwa. Neraki, mhinduro dzakanaka dzinowanzo kukurumidza uye dzakachipa. Vane gumi nevaviri vevandaishanda navo neni takakurukura nyaya iyi makore gumi nemashanu apfuura uye takaguma tanyora chinyorwa nezvazvo. Ndinofunga iwe unogona kuiwana ikozvino, inonzi
Alexey: Saka pane musiyano pakati pechiyero chezvinonzi zvakanaka musainzi uye mubhizinesi. Sayenzi inoongorora mashandiro, mashandisiro emagetsi, TDP, nyore kuita, uye zvimwe zvakawanda. Iwe une mukana wekuitisa rudzi urwu rwekutsvagisa kuyunivhesiti? Iwe une rabhoritari ine michina yakasiyana uye akasiyana ezvivakwa maungaite ongororo?
Michael: Ehe, dhipatimendi redu rine akawanda akasiyana anonakidza michina. Kazhinji kazhinji iwo madiki, isu tine diki sumbu uye akawanda akawanda masystem masisitimu ane akasiyana accelerator. Uye zvakare, iyo kambasi ine hombe komputa nzvimbo inoshandira masayendisiti kubva akati wandei gumi nemaviri edzidziso. Iyo inosvika chiuru node uye zviuru makumi maviri cores, ese paLinux. Kana kudikanwa kukamuka, unogona kugara uchitenga mamwe maAWS. Saka isu hatina zvakakosha zvirambidzo nehardware.
Alexey: Zvakanga zvakaita sei makore makumi matatu apfuura? Paive nematambudziko ipapo?
Michael: Zvakanga zvasiyana zvishoma ipapo. Pakati-kusvika-pakupedzisira 1980s, sainzi yaionekwa seyakapfupika yezvekushandisa komputa. Kugadzirisa mamiriro aya, National Science Foundation
Alexey: Saka, kana ndikakunzwisisa nemazvo, saka panguva ino dambudziko nehardware rakagadziriswa?
Michael: Kazhinji, hongu. Kune mashoma mashoma: chekutanga, kana iwe uri kuita komputa dhizaini padanho rechip, zvakaoma kuita munzvimbo yezvidzidzo nekuti kune maturusi ari nani ekuzviita mubhizinesi. Kana iwe uchida chero chinhu chidiki pane gumi nanometers, uchafanirwa kuodha kubva kune mumwe munhu. Munzvimbo iyi zviri nyore kwazvo kuve muongorori paIntel. Kana iwe uri kushanda pa optical kutaurirana pamachipisi kana pane yakasimba-state memory, iwe unowana matekinoroji mubhizinesi ayo asati ave musainzi, saka unofanirwa kugadzira mibatanidzwa. Somuenzaniso, Stephen Swanson (
Kuitwa kunoshanda kwemazano. MCS, MS, CLH, JSR 166, kushanda naDoug Lee nezvimwe.
Vitali: Iwe watotaura nezve kuti wakatanga sei kushanda pakuyananisa algorithms. Une zvinyorwa zviviri zvakakurumbira pamusoro
Alexey: Zvinoita senge makore gumi mune iyo mutsara.
Michael: Izvi zvisati zvaonekwa muJava standard library?
Vitali: Ehe. Chii chawakaita kuti izvi zviitike? Kana kuti hapana chavakaita?
Michael: Ndinogona kukuudza kuti MS Queue yakapinda sei muJava 5. Makore mashomanana isati yabuda, ndakashanda neboka raMark Moyers paSun Microsystems murabhoritari yavo pedyo neBoston. Akaronga musangano wevanhu vaaiziva vari kushanda pamatambudziko anonakidza mumultithreading nekuti aida kuwana misoro yaaigona kutengesa kukambani yavo. Ndiko kwandakatanga kusangana naDoug Lea. Ini naDoug nevamwe vanhu vangangosvika makumi maviri nevashanu vekuSun takanga tiri pamwechete tichikurukura nezvemharidzo yaDoug
Alexey: Saka, kana ndichinzwisisa zvakanaka, iyo .size() nzira yaifanira kunge iri chikamu chechimiro chemutsetse, uye yaifanira kunge iine algorithmic yakaoma yeO(1)?
Michael: Hongu, uye kuwedzera kune izvi, imwe counter counter inodiwa.
Alexey: Nokuti kana iwe ukadana .size () nzira muJava, chigumisiro chinotarisirwa kuwanikwa pakarepo uye kwete maererano nehukuru chaihwo hwekuunganidza. Ndaona, ndatenda.
Michael: Makore mashoma gare gare ndanga ndichishanda pane mbiri mbiri data zvimiro nemudzidzi wangu Bill Scherer - kutaura zvazviri, izvi ndizvo zvandichange ndichitaura nezvazvo.
Vladimir: Wakambosangana nemashandisirwo asiriwo ealgorithms ako kana zvikumbiro zvekuwedzera zvitsva? Kazhinji, tsika dzinofanira kuenderana nedzidziso, asi kazhinji dzinosiyana. Ngatiti iwe wakanyora algorithm, uye pabepa inoshanda, asi vanhu vanobatanidzwa mukuitwa vakatanga kukukumbira mamwe maficha kana imwe mhando yekugadzirisa algorithm. Wakambova nemamiriro ezvinhu akadaro here?
Michael: Muenzaniso chete umo mumwe munhu akauya kwandiri ndokubvunza "nzira yekuzviita" yaiva mubvunzo waDoug, wandakatotaura nezvazvo. Asi kwave kune zviitiko zvishoma apo chinjo dzinofadza dzakaitwa kuti dzienderane nezvinodikanwa zvinoshanda. Semuyenzaniso, timu yeK42 kuIBM yakashandura kiyi yeMCS ikaita kuti ive yemhando yepamusoro saka pakanga pasina chikonzero chekupfuudza mutsara node kuenda kunotora nekuburitsa maitiro. Kutenda kune iyi yakajairika interface, imwe pfungwa yaive yakanaka mudzidziso yakatanga kushanda mukuita. Zvinoshamisa kuti havana kumboburitsa chinyorwa nezvazvo, uye kunyangwe vakagamuchira patent, vakazoisiya. Pfungwa yacho yainakidza, uye ndinoedza kutaura nezvayo pose pazvinoita.
Pakave nedzimwe nyaya apo vanhu vakaita kuvandudzwa kune maalgorithms andakaburitsa. Semuenzaniso, iyo MS queue ine nhanho mbiri yekuisa michina, izvo zvaireva kuti paive nemaCAS maviri munzira yakakosha yemutsetse. Pamotokari dzechikuru, CAS yaidhura zvakanyanya. Intel nevamwe vagadziri vakanyatsovagadzirisa zvakanaka nguva pfupi yadarika, asi pane imwe nguva iyi yaive 30-kutenderera mirairo, saka kuva nevanopfuura imwe munzira yakaoma kwaisada. Nekuda kweizvozvo, mutsara wakasiyana wakagadzirwa waive wakafanana nemutsara weMS, asi waingova neatomu imwe chete yekushanda munzira yakakosha. Izvi zvakawanikwa nekuda kwekuti pane imwe nguva yenguva kuvhiya kwaigona kutora O(n) nguva, pane O(1). Zvaisaita, asi zvaigoneka. Izvi zvakaitika nekuda kwekuti pane dzimwe nguva algorithm yaiyambuka mutsara kubva pakutanga kusvika panzvimbo iripo mumutsara uyu. Kazhinji, iyo algorithm yakave yakabudirira kwazvo. Sekuziva kwangu, haishandiswe zvakanyanya, muchidimbu nekuti mashandiro eatomu anoda zviwanikwa zvishoma kupfuura kare. Asi pfungwa yacho yakanga yakanaka. Ini zvakare ndinoda chaizvo basa raDave Dice kubva kuOracle. Zvese zvaanoita zvinoshanda chaizvo uye anoshandisa simbi zvine hungwaru. Aive neruoko mune yakawanda yeNUMA-aware synchronization algorithms uye akawanda-akarukwa data zvimiro.
Vladimir: Paunonyora maalgorithms kana kudzidzisa vadzidzi, mhedzisiro yebasa rako haisi kuoneka. Nharaunda inoda imwe nguva yekujairana, toti, chinyorwa chitsva. Iyo itsva algorithm haigone kuwana application.
Michael: Hazvisi kure nekukasika kujeka kana chinyorwa chichave chakakosha kana kwete. Ndinofunga zvingave zvinonakidza kuita ongororo yemapepa akahwina mibairo pamisangano. Kureva kuti, tarisai zvinyorwa izvo vanhu vaive mumakomiti ehurongwa pane imwe nguva vaizviona seakanakisa. Iwe unofanirwa kuyedza kuverenga nehuwandu hwezvinongedzo uye nemhedzisiro pabhizinesi kuti zvinyorwa izvi zvakanyatsoita sei mu10, 20, 25 makore. Ini ndinokahadzika kuti panogona kuve nekuwirirana kwakasimba pakati pezviviri izvi. Haizove zero, asi kazhinji ichave isina kusimba kupfuura zvatingade. Pfungwa dzakawanda dzinoramba dzisina kutaurwa kwenguva refu dzisati dzapararira. Semuenzaniso, ngatitorei transactional memory. Makore anopfuura gumi akapfuura kubva panguva yakatsikiswa chinyorwa chekutanga kusvika panguva iyo vanhu vakatanga kugadzira michina nayo. Uye kusati kwaonekwa chiyeuchidzo ichi mune zvigadzirwa zvekutengeserana - uye zvose 10. Kwenguva yakareba kwazvo hapana akateerera nyaya yacho, uye ipapo nhamba yezvibatanidza nayo yakawedzera zvakanyanya. Zvingava zvakaoma kufanotaura izvi pachine nguva. Kune rimwe divi, dzimwe nguva pfungwa dzinowana kuitiswa nekukasira. Makore mashoma apfuura, ndakanyora bepa naJoe Izraelevitz yeDISC iyo yakaronga tsananguro nyowani yechokwadi yeanoramba ari data zvimiro zvinogona kushandiswa mushure mekunge komputa yaimhanyisa yaparara. Ndakafarira nyaya yacho kubva pakutanga, asi yakazova yakakurumbira kupfuura zvandaitarisira. Yakashandiswa nemapoka akasiyana-siyana uye pakupedzisira yakave tsananguro yakajairwa yezvimiro zvekushingirira. Izvo, zvechokwadi, zvakanaka.
Vladimir: Pane here nzira dzaunoshandisa pakuongorora? Iwe unotoedza kuongorora zvinyorwa zvako uye vadzidzi vako? Panyaya yekuti munhu wawakadzidzisa ari kuenda negwara chairo here.
Michael: Kufanana nevamwe vanhu vose, ndinonyanya kukoshesa zvandiri kuita panguva ino. Zvekare, sevamwe vese, ndinopota ndichitarisa Google Scholar kuti ndione kana mapepa angu apfuura ari kutaurwa, asi zviri kunze kwekuda kuziva. Kunyanya ini ndinobatikana mune izvo vadzidzi vangu vari kuita ikozvino. Kana zvasvika pakuongorora basa razvino, chikamu charo ndechekutarisisa, izvo zvinoyevedza uye izvo zvisiri. Uye padanho remazuva ese, mibvunzo yakavhurika inoita basa guru. Semuenzaniso, mudzidzi anouya kwandiri aine girafu yezvimwe mhedzisiro, uye isu tiri kuedza kunzwisisa kwakabva humwe hunhu hunoshamisa hwegirafu. Kazhinji, mubasa redu tinoramba tichiedza kunzwisisa zvinhu zvatisati tanzwisisa.
Transactional memory
Vitali: Pamwe isu tinogona kutaura zvishoma nezve transactional memory?
Michael: Ndinofunga zvakakodzera kutaura zvishoma nokuti ndinoisa simba rakawanda mazviri. Uyu ndiwo musoro wandine zvinyorwa zvakawanda kupfuura chero imwe. Asi panguva imwecheteyo, zvisingaite, ndaigara ndichikahadzika nezve ndangariro yekutengeserana. Mukufunga kwangu,
Nezve kuomerwa kwekunyora kodhi yakawanda-tambo
Alexey: Zvinonakidza chaizvo. Panoratidzika kunge paine chipingamupinyi pakati pevagadziri vezvirongwa nevaya vanogona kunyora akawanda-tambo kodhi. Gore rakapera, ndakataura kakawanda nevanhu vakanga vachiita imwe algorithmic framework. Semuenzaniso, naMartin Thomson, pamwe nevagadziri vepurogiramu vanoshanda pamaraibhurari ane tambo dzakawanda. (Chinyorwa chemupepeti: Martin Thompson mugadziri ane mukurumbira, akanyora
Michael: Iri ndiro dambudziko guru rekuverengera: maitiro ekuita basa repamusoro pasina kuwedzera kuoma kwehurongwa.
Alexey: Nekuti pavanoyedza kudzivirira kuomarara, iyo algorithm inova shoma pasirese.
Michael: Kiyi apa yakanyatsogadzirwa zvibodzwa. Zvinoratidzika kwandiri kuti ichi ndicho chinhu chikuru chemakomputa masisitimu semunda. Butler Lampson anofarira kushandisa izwi iri, uye anotidaidza "vatengesi vezvekutorwa." Michina yakapfava haipo nhasi. Iwo ma processor atinoshandisa ane mabhiriyoni gumi transistors-kureruka hakuna mubvunzo. Panguva imwecheteyo, ISA iri nyore kupfuura processor, sezvo takashanda kwenguva yakareba kuti tipe nekuita kwepamusoro uye chimiro chiri nyore. Asi hazvisi zvese zviri mutsetse naye zvakare. Dambudziko rimwe chete ndere maaccelerator ave kuoneka pamusika. Mibvunzo inomuka - maitiro ekugadzira iyo chaiyo interface yeGPU, encryption meshini, compression, transcoding mashini, mutsara algebra meshini, kana kunyange inoshanduka FPGA. Nzira yekugadzira sei interface inoita kuti chishandiso chive nyore kushandisa uye kuvanza kuoma? Izvo hazvizozvibvise, asi zviri nani kuzvivanza kubva kune ari nyore programmer.
Alexey: Sekuzvinzwisisa kwandinoita, tichine chipingamupinyi mukunzwisisa zvipfupi. Ngatitorei modhi yekurangarira; padanho redu rekusimudzira sainzi uye tekinoroji, ichi ndicho chimwe chezvakakosha zvekubvisa. Kutenda kwazviri, vese vanogadzira mapurogiramu vakakamurwa kuita mapoka maviri: chikamu chikuru ndeavo vasingachinzwisise, uye chikamu chidiki ndevaya vanonzwisisa, kana vanofunga kuti vanonzwisisa.
Michael: Uyu mubvunzo wakanaka - pane mumwe wedu anonzwisisa chaizvo muenzaniso wekurangarira?
Vitali: Kunyanya muC++.
Michael: Taura naHans Boehm imwe nguva. Ndiye mumwe wevanhu vakangwara vandinoziva, nyanzvi inotungamira yemhando dzendangariro. Achakuudza pakarepo kuti pane zvakawanda zvaasinganzwisise. Asi kana isu tikadzokera kunyaya yekubvisa, saka, mumaonero angu, iyo inonyanya kukosha pfungwa mumunda wekurangarira mamodheru mukati memakore makumi matatu apfuura yakaratidzwa.
Alexey: Mubvunzo wangu ndewekuti: ichi chipingamupinyi chinobva kune iyo chaiyo yepfungwa?
Michael: Aihwa. Sarita akasvika pakugumisa kuti nenzira yakarurama, unogona kubudirira kuvanza zvose zvakaoma, kuwana kushanda kwepamusoro uye kupa mugadziri API iri nyore. Uye kana iwe uchitevera iyi API, unogona kuwana kuenderana. Ndinofunga kuti uyu ndiwo muenzaniso wakanaka. Nyora kodhi pasina mijaho yedata uye uwane kutevedzana kunoenderana. Hongu, kuitira kuderedza mikana yekumhanya, maturusi anokosha anodiwa, asi imwe nyaya.
Vladimir: Pane dzimwe nguva here mubasa rako apo dambudziko raiita serakagadziriswa rakangoerekana rava njodzi, kana kuti zvakazoitika kuti dambudziko iri rakanga risingagadzirisiki? Semuenzaniso, mune dzidziso, unogona kuverengera chero nhamba kana kuona kana nhamba iri yekutanga. Asi mukuita izvi zvinogona kunetsa kuita; neiyo hardware yazvino zvinonetsa kuverengera nhamba. Zvakafanana zvakaitika kwauri here?
Michael: Ini handisi kuyeuka chero chinhu chakadaro. Pave pane dzimwe nguva apo kwakaratidzika kwandiri kuti kwakanga kusina chinhu chakasara chokuita munzvimbo yakati, asi ipapo chimwe chinhu chitsva nechinofadza chakaitika imomo. Semuenzaniso, ndakafunga kuti nzvimbo yekumisa mutsara isingaperi yakanga yatosvika pakukura. Mushure mekuvandudzwa kwakati wandei kumutsara weMNS, hapana chakanyanya kuitika. Uye ipapo Morrison (Adam Morrison) uye Afek (Yehuda Afek) vakagadzira
Zvivakwa zvitsva. Kukunda kwekurangarira kwekutengeserana kuri pedyo here?
Vladimir: Uri kutsvaga mhinduro nyowani dzekuvaka dzinogona kubatsira kune algorithms?
Michael: Chokwadi, pane zvinhu zvakawanda zvandinoda kuona zvichiitwa.
Vladimir: Somuenzaniso, rudzii?
Michael: Chekutanga pane zvese, mashoma akareruka ekuwedzera kune yedu hardware-level transactional memory muIntel uye IBM processors. Kunyanya, ndinoda iyo isiri-yekutengesa mutoro uye chitoro chakangoitika kuti chiwanikwe nekukurumidza mukati mekutengesa. Ivo vanobva vangotungamira kune zvishwe mune zvinoitika-kusati kwateerana, saka vanogona kuoma. Asi kana iwe ukachengeta akaturikidzana ekubvisa, pane zvakawanda zvezvinhu zvinonakidza zvaunogona kuita kunze kwekutengeserana uku kuri kuitika. Handizivi kuti izvi zvingave zvakaoma sei kuita, asi zvingave zvinobatsira zvikuru.
Chimwe chinhu chinobatsira kurodha cache kubva kure kure memory. Ndinofunga kuti nokukurumidza kana kuti gare gare izvi zvichaitwa. Iyi tekinoroji inobvumira kusikwa kwemasisitimu ane disaggregated memory. Zvingave zvichigoneka kuchengeta, toti, 100 terabytes yenonvolatile memory murack, uye sisitimu yekushandisa pachayo yaizosarudza zvine simba kuti ndezvipi zvikamu zvendangariro iyoyo zvinofanirwa kuenderana nenzvimbo yekero yenzvimbo yevagadziri. Izvi zvingave zvakanyanya kubatsira kune cloud computing, sezvo zvaizobvumira huwandu hukuru hwendangariro kupihwa kumabasa anoida. Ndinofunga kuti mumwe munhu achazviita.
Vitali: Kuti ndipedze kutaura nezve transactional memory, ndine mumwe mubvunzo pamusoro penyaya iyi. Ko transactional memory inozotsiva yakajairwa akawanda-akarukwa data zvimiro?
Michael: Aihwa. Kutengeserana inzira yekufungidzira. Padanho rehurongwa aya makiyi eatomu, asi mukati mune fungidziro. Kufembera kwakadaro kunoshanda kana fungidziro zhinji dziri dzechokwadi. Naizvozvo, transactional memory inoshanda nemazvo kana tambo dzisinga dyidzane, uye unongoda kuve nechokwadi chekuti hapana kupindirana. Asi kana meseji ikatanga pakati peshinda, kutengeserana hakuna zvakunobatsira. Rega nditsanangure, tiri kutaura nezve nyaya kana matransaction akaputirwa pakuita kwese kweatomu. Iwo anogona achiri kushandiswa zvinobudirira sezvikamu zveakawanda-akarukwa data zvimiro. Semuenzaniso, kana iwe uchida matatu-mazwi CAS, uye iwe unofanirwa kuverengera zvinhu zvidiki zvitatu pakati pechokwadi multithreaded algorithm inoshanda netambo makumi maviri panguva imwe chete. Kazhinji, kutengeserana kunogona kubatsira, asi hazvizobvisi kudiwa kwekugadzira nemazvo akawanda-akarukwa data zvimiro.
Isiri-inovhurika ndangariro, Optane DIMM, ekupedzisira-nekukurumidza zvishandiso.
Vitali: Chinhu chekupedzisira chandinoda kutaura nezvacho ndicho chinyorwa chetsvakiridzo yako yazvino: ndangariro dzisiri-dzinoshanduka. Chii chatinogona kutarisira munyaya iyi munguva pfupi iri kutevera? Pamwe iwe unoziva nezve chero inoshanda inoshanda yatovepo?
Michael: Ini handisi nyanzvi yehardware, ndinongoziva zvandinoverenga munhau uye zvandinoudzwa nevandinoshanda navo. Wese munhu akatonzwa kuti Intel inotengesa
Musoro wechipiri mukuru wandiri kushanda pauri parizvino kutonga zvishandiso zvinokurumidza uye nekuchengetedzeka kuwana kumidziyo kubva kunzvimbo yemushandisi ine systemic policy control. Mumakore achangopfuura, kwave nemaitiro ekufambisa kupinda kune mudziyo kuenda kunzvimbo yekushandisa. Izvi zvinoitwa nekuti TCP-IP kernel stack haigone kushanda pamusoro petiweki interface inoda pakiti nyowani yega yega 5 microseconds; haingorambe iripo. Nokudaro, vagadziri vanopa ruzivo rwakananga kune zvigadzirwa. Asi izvi zvinoreva kuti sisitimu yekushandisa inorasikirwa nekutonga kwemaitiro uye haigone kupa mukana wakakodzera kune mudziyo wekukwikwidza maapplication. Boka redu rekutsvagisa rinotenda kuti kukanganisa uku kunogona kudzivirirwa. Tichava nechinyorwa pane izvi kuUSENIX ATC mwedzi uno. Izvo zvine hukama nekushanda pakushingirira, sezvo kwenguva yakareba-yakagara byte-inogadziriswa inoenderera ndangariro iri, muchokwadi, mudziyo une Ultra-inokurumidza I/O inoda kuwanikwa munzvimbo yevashandisi. Tsvagiridzo iyi inoita nzira nyowani dzema microkernels, exokernels, uye kumwe kuyedza kwechinyakare kufambisa zvakachengeteka kushanda kubva kuOS kernel kuenda kunzvimbo yekushandisa.
Vladimir: Byte-addressable memory yakanaka, asi pane kudzora kwemuviri - kumhanya kwechiedza. Izvi zvinoreva kuti pachave nekunonoka kunenge kuine kana uchidyidzana nemudziyo.
Michael: Ndizvozvo chaizvo.
Vladimir: Pachave nekwaniso yakakwana yekutsungirira mitoro mitsva?
Michael: Uyu mubvunzo wakanaka chose, asi zvichandiomera kupindura. Iyo pfungwa yekugadzirisa mundangariro yave iripo kwenguva yakati rebei, inonakidza kwazvo, asi zvakare yakaoma kwazvo. Ini handina kushanda munzvimbo ino, asi zvingave zvakanaka kana zvimwe zvakawanikwa zvikaitwa ipapo. Ndinotya kuti handina chimwezve chekuwedzera.
Vladimir: Pane rimwezve dambudziko. Nyowani, yakakura zvakanyanya huwandu hwe RAM hazvigone kukwana muCPU. Naizvozvo, nekuda kwekuremerwa kwemuviri, iyi RAM inofanirwa kuve yega.
Michael: Zvose zvinoenderana nehuwandu hwekukanganisa mukugadzirwa kwemasekete akabatanidzwa. Dai zvaikwanisika kugadzira semiconductor wafers zvachose pasina kukanganisa, saka zvaizogoneka kugadzira iyo microcircuit yakazara kubva mairi. Asi iye zvino hatizivi kuti tingagadzira sei microcircuits yakakura kudarika zvitambi zvekutumira.
Vladimir: Asi isu tichiri kutaura nezvehukuru hukuru, nezve masendimita. Izvi zvine mhedzisiro pane latency.
Michael: Ehe. Hapana chaungaite nekumhanya kwechiedza.
Vladimir: Nehurombo.
Chinotevera chikuru maitiro. Dual data zvimiro. Hydra.
Vitali: Sekunzwisisa kwandinoita, unobata maitiro matsva nekukurumidza. Iwe waive mumwe wekutanga kushanda mukurangarira ndangariro, uye mumwe wekutanga kushanda mundangariro dzisiri-dzinoshanduka. Iwe unofunga kuti chii chichava chiitiko chikuru chinotevera? Kana kuti zvimwe chakavanzika?
Michael: Kutaura chokwadi, handizivi. Ndinovimba ndichakwanisa kuona kana chimwe chinhu chitsva chauya. Handina kuita rombo rakanaka rekugadzira chero munda mutsva ndega, asi ndakava nerombo rakanaka uye ndakakwanisa kutanga kushanda kare kare muminda mitsva yakagadzirwa nevamwe. Ndinovimba ndichakwanisa kuita izvi mune ramangwana.
Alexey: Mubvunzo wekupedzisira mubvunzurudzo ino uchave wekuita kwako paHydra nezviitwa zvako kuchikoro. Kana ndikanzwisisa nemazvo, mushumo pachikoro uchave wekuvharira-yemahara algorithms, uye pamusangano nezve kaviri data zvimiro. Unogona here kutaura mazwi mashoma pamusoro pemishumo iyi?
Michael: Muchidimbu, takatobata nemi misoro iyi muhurukuro ino. Zviri pamusoro pebasa randakaita nemudzidzi wangu Bill Scherer. Akanyora thesis pairi, uye Doug Lee akapawo chikamu kwairi, uye yakazopedzisira yave chikamu chemitsetse yakawanda-yakapetwa mitsara muraibhurari yeJava. Ngatifungei kuti iyo data data inoverengwa uye yakanyorwa pasina kuvhara, ndiko kuti, kushanda kwega kwega kune nhamba shoma yemirairo panzira yakaoma. Kana iwe ukaedza kubvisa data kubva mumudziyo usina chinhu, kana kuedza kubvisa imwe data isiri mumudziyo uyu, iwe unoziviswa pakarepo kuti izvi hazvigone kuitwa. Asi maitiro aya anogona kusagamuchirwa kana shinda ichinyatsoda iyi data. Zvadaro chinhu chekutanga chinouya mupfungwa ndechekugadzira loop iyo inogara ichibvunza kana data inodiwa yaonekwa. Asi ipapo pane kupindira kune vamwe vose. Mukuwedzera, neiyi nzira, unogona kumirira maminetsi gumi, uyezve imwe tambo ichauya, uye ichangoerekana yagamuchira iyo data inodiwa kutanga. Dual data maumbirwo haasati ave nemakiyi, asi anobvumira tambo kuti dzimirire nemazvo. Izwi rekuti "kaviri" rinoreva kuti chimiro chine data kana zvikumbiro zve data, ngativadaidze anti-data. Saka kana iwe ukaedza kutora chimwe chinhu kubva mumudziyo usina chinhu, chikumbiro chinoiswa mumudziyo panzvimbo. Iye zvino tambo inogona kumirira chikumbiro pasina kukanganisa mumwe munhu. Pamusoro pezvo, chimiro chedata chinopa zvakakosha kune zvikumbiro kuitira kuti kana zvagamuchirwa, zviendese kune munhu akakodzera. Mhedzisiro iyi isiri yekuvhara nzira iyo ichine chirevo chepamutemo uye kuita kwakanaka mukuita.
Alexey: Ndezvipi zvaunotarisira kubva pane iyi data chimiro? Ichavandudza mashandiro mune ese akajairwa kesi, kana kuti inokodzera zvirinani kune mamwe mamiriro?
Michael: Inobatsira kana, chekutanga, iwe uchida mudziyo usina kuvhara, uye, chechipiri, unofanirwa kumirira mumamiriro ezvinhu apo iwe unoda kutora data kubva mumudziyo usiri mairi. Sekuziva kwangu, chimiro chedu chinopa maitiro akakwana kana aya maviri mamiriro asangana. Naizvozvo, muzviitiko izvi ndinokurudzira kuishandisa. Mukana mukuru wekukiya isina data zvimiro ndeyekuti ivo vanonzvenga matambudziko ekuita. Uye kumirira kwakakosha mune akawanda algorithms kana data richitamiswa kubva kune imwe shinda kuenda kune imwe.
Vitali: Rega ndijekese: ungataura nezve chinhu chimwe chete kuchikoro uye kumusangano?
Michael: Kuchikoro
Alexey: Uri kuronga kudzidzisa nezve mbiri mbiri data zvimiro pakupera kwekirasi yako muchikoro?
Michael: Ndichazvitaura, asi handisi kuzopedza nguva yakawanda pazviri. Chirevo cheHydra chichakumikidzwa kwavari. Ichavhara purojekiti yakazoita kuti ive Java, pamwe nekushanda naJoe Israelevich kugadzira maviri akasiyana emutsara weLCRQ, uye kugadzira iri pedyo-yepasirese dhizaini yezviviri data zvimiro.
Alexey: Saka hurukuro kuchikoro inogona kukurudzirwa kune vanotanga, uye hurukuro yezvinyorwa zviviri zve data paHydra - kune vanhu vanotova neruzivo?
Michael: Ndiruramisei kana ndakanganisa, asi vateereri paHydra vachange vakasiyana, kusanganisira nyanzvi dzakawanda dzeJava, uye kazhinji vanhu vasina kunyanya kubatanidzwa muhurongwa hwematambo akawanda.
Vitali: Hongu, ichokwadi.
Alexey: At least tinovimba kudaro.
Michael: Panyaya iyi, ini ndichasangana nedambudziko rakafanana ratakatanga naro bvunzurudzo iyi: maitiro ekuita kuti mushumo upfume zvakakwana muhunyanzvi hwekuita uye kuwanikwa kune vese vateereri.
Vitali: Uchapa rondedzero nenzira imwechete yaunopa hurukuro? Ndiko kuti, taura nevateereri uye uchinje kumamiriro acho ezvinhu?
Michael: Ndinotya kuti hazvizoshande saizvozvo, nekuti mushumo uchange uine masiraidhi. Masiraidhi akakosha apo vateereri pavanotanga kutaura mitauro yakasiyana. Vanhu vakawanda vachawana zvakaoma kundinzwisisa muchiRungu, kunyanya kana ndikataura ndichikurumidza. Ndakasarudza nyaya idzi nekuti
Alexey: Isu tinofungidzira kuti vateereri paHydra vatoziva chimwe chinhu nezve kukiya-yemahara hurongwa uye pamwe vane ruzivo munzvimbo ino. Asi uku kungofungidzira chete; mamiriro acho achajeka pamusangano wacho. Zvakadaro, thanks nenguva yenyu. Ndine chokwadi chekuti bvunzurudzo ichave inonakidza kune vaverengi vedu. Kutenda kwazvo!
Vitali: Ndatenda.
Michael: Ndichafara kusangana newe muSt.
Alexey: Nesuwo tine guta rakanaka. Wakambosvika pano here?
Michael: Kwete, handina kumbobvira ndaenda kuRussia zvachose. Asi St. Petersburg yakagara iri pandaza yenzvimbo dzandisati ndasvika, asi kwandinoda kuenda chaizvoizvo, naizvozvo ndakafara zvikuru pamusoro pekokero.
Alexey: Tichava nepurogiramu yenzendo dzevakurukuri. Ndinokutendai zvikuru nokuda kwebvunzurudzo, uye ivai nezuva rakanaka!
Iwe unogona kuenderera mberi nehurukuro yako naMichael pamusangano weHydra 2019, uchaitwa muna July 11-12, 2019 muSt. Achauya nereport
"Dual data zvimiro" . Matikiti anogona kutengwapane webhusaiti yepamutemo .
Source: www.habr.com