- antanke pwofesè Syans enfòmatik nan University of Rochester, ak lakay li University of Wisconsin–Madison li te dwayen pou senk ane. Li fè rechèch ak anseye elèv yo sou pwogramasyon paralèl ak distribye ak konsepsyon langaj.
Mond lan konnen Michael nan liv la , e travay te resevwa Dijkstra Prize kòm youn nan pi popilè nan domèn distribye informatique. Ou ka konnen tou li kòm otè algorithm sa a .
Ansanm ak Doug Lee, li te devlope algoritm ki pa bloke yo ak ke moun kap kriye synchrone ki mache bibliyotèk Java yo. Aplikasyon nan JavaSE 6 amelyore pèfòmans pa 10 fwa ThreadPoolExecutor.
Table of Contents
- Karyè byen bonè, University of Rochester. Pwojè Charlotte, lang Lynx;
- IEEE Scalable Coherent Interface, MCS bloke;
- Siviv nan yon mond k ap chanje tout tan;
- Èske elèv yo vin pi piti? Tandans mondyal, entènasyonalizasyon;
- Travay efikas ak elèv yo;
- Ki jan yo kenbe moute ak preparasyon an nan nouvo kou ak liv;
- Lyen ant biznis ak inivèsite;
- Aplikasyon pratik nan lide. MCS, MS, CLH, JSR 166, k ap travay ak Doug Lee ak plis ankò;
- memwa tranzaksyon;
- Nouvo achitekti. Viktwa memwa tranzaksyon an toupre;
- Memwa ki pa temèt, Optane DIMM, aparèy ultra-rapid;
- Pwochen gwo tandans. Estrikti done doub. Hydra.
Entèvyou a fèt pa:
Vitali Aksenov — kounye a yon postdoc nan IST Otrich ak yon manm nan Depatman an nan teknoloji òdinatè nan ITMO University. Fè rechèch nan domèn teyori ak pratik estrikti done konpetitif. Anvan li te travay nan IST, li te resevwa PhD nan Paris Diderot University ak ITMO University anba sipèvizyon Pwofesè Peter Kuznetsov.
Alexey Fedorov - Pwodiktè nan JUG Ru Group, yon konpayi Ris ki òganize konferans pou devlopè yo. Alexey te patisipe nan preparasyon an nan plis pase konferans 50, ak rezime li a gen ladan tout bagay soti nan pozisyon nan yon enjenyè devlopman nan Oracle (JCK, Java Platform Group) nan pozisyon nan yon pwomotè nan Odnoklassniki.
Vladimir Sitnikov - Enjenyè nan Netcracker. Dis ane travay sou pèfòmans ak évolutivité NetCracker OS, lojisyèl operatè telecom yo itilize pou otomatize pwosesis jesyon ekipman rezo ak rezo. Enterese nan pwoblèm pèfòmans Java ak Oracle Database. Otè plis pase yon douzèn amelyorasyon pèfòmans nan chofè ofisyèl PostgreSQL JDBC.
Karyè byen bonè, University of Rochester. Pwojè Charlotte, lang Lynx.
Alex: Pou kòmanse, mwen te vle di ou ke nan Larisi nou tout vrèman renmen Syans Enfòmatik, Syans Done ak algoritm. Li kareman obsèn. Nou te li tout bagay . Se poutèt sa, konferans kap vini an, lekòl la ak entèvyou sa a tèt li ta dwe trè popilè. Nou te resevwa anpil kesyon pou entèvyou sa a nan men elèv, pwogramasyon, ak manm kominote a, kidonk nou rekonesan anpil pou opòtinite sa a. Èske Syans enfòmatik jwenn menm lanmou an nan peyi Etazini?
Michael: Domenn nou an tèlman divès, li gen anpil direksyon, epi li afekte sosyete a nan anpil fason diferan ke li difisil pou mwen ba ou yon repons definitif. Men, reyalite a se ke li te pote sou chanjman fòmidab nan biznis, endistri, atizay ak sosyete an jeneral sou 30 ane ki sot pase yo.
Виталий: Ann kòmanse ak yon bagay byen lwen. Nan anpil inivèsite gen yon bagay tankou espesyalizasyon nan yon domèn patikilye. Pou Carnegie Mellon University sa a se informatique paralèl, pou MIT li se kriptografi, robo ak multithreading. Èske gen yon espesyalizasyon konsa nan University of Rochester?
Michael: Pou m onèt, mwen ta di ke CMU ak MIT espesyalize nan tout domèn. Depatman nou an te toujou peye plis atansyon a entèlijans atifisyèl. Mwatye nan moun k ap travay pou nou yo angaje nan AI oswa entèraksyon moun-òdinatè - pati sa a pi wo pase nan lòt depatman, e li te toujou konsa. Men, lè mwen te nan inivèsite, mwen pa t gen okenn kou nan AI, epi mwen pa janm travay nan domèn sa a. So mon departman i spesyalize dan en problenm ki mon napa nanryen pou fer avek. Konsolasyon an se ke dezyèm pwoblèm ki pi enpòtan pou depatman nou an se pwogram paralèl ak milti-threaded, sa vle di, espesyalizasyon mwen an.
Виталий: Ou te kòmanse travay nan Syans enfòmatik lè domèn nan pwogram milti-threaded te jis émergentes. Lis piblikasyon ou yo montre ke premye travay ou yo te trete yon pakèt pwoblèm: jesyon memwa nan sistèm milti-threaded, sistèm fichye distribiye, sistèm opere. Poukisa adaptabilite sa yo? Èske w ap eseye jwenn plas ou nan kominote rechèch la?
Michael: Kòm yon elèv, mwen te patisipe nan nan University of Wisconsin, kote youn nan premye sistèm opere distribye devlope. Se la mwen te travay ansanm ak Rafael Finkel () ak Marvin Salomon (). Tez mwen an te konsakre nan devlopman yon lang pou lojisyèl sistèm pou sistèm distribye - kounye a tout moun te bliye sou li, ak di Bondye mèsi. Mwen te kreye langaj pwogram Lynx, ki te gen entansyon fè li pi fasil yo kreye serveurs pou yon sistèm opere distribye ki fèk makonnen. Depi lè sa a mwen te sitou patisipe nan sistèm operasyon yo, mwen sipoze ke karyè mwen ta dwe sitou konekte ak yo. Men, Rochester te yon inivèsite piti anpil, e poutèt sa, diferan gwoup yo te kominike trè sere youn ak lòt. Pa te gen yon douzèn lòt sistèm operasyon moun la pou m 'pale ak, kidonk tout kontak mwen yo te ak moun ki te travay nan zòn konplètman diferan. Mwen vrèman te renmen li, se yon gwo avantaj pou mwen. Si nou pale espesyalman sou estrikti done milti-threaded ak algoritm senkronizasyon, Lè sa a, mwen te kòmanse travay sou yo konplètman pa aksidan.
IEEE Scalable Coherent Interface, MCS bloke.
Виталий: Èske ou ka di m 'yon ti kras plis sou sa a?
Michael: Sa a se yon istwa komik ke mwen pa janm fatige di tout moun. Sa te rive nan yon konferans nan Boston - sa a te nan fen ane 80 yo oswa kòmansman ane 90 yo. John Mellor-Crummey (), yon gradye nan fakilte nou an. Mwen te konnen l, men nou pa t fè rechèch ansanm anvan. Mary Vernon () soti nan Wisconsin te bay yon diskou sou yon sistèm miltiprosesè yo t ap devlope nan Wisconsin: . Multicube sa a te gen yon mekanis senkronizasyon nan nivo pyès ki nan konpitè yo rele Q sou Sync Bit, epi pita li te chanje non Q sou Lock Bit paske li te sonnen tankou Colby fwomaj, ki te yon Pun. Si w enterese nan mekanis multithreading, pwobableman ou konnen ke Colby evantyèlman te vin motè senkronizasyon pou estanda IEEE Scalable Coherent Interface. Sa a se te yon mekanis bloke ki te kreye endikasyon soti nan yon kachèt nan yon lòt nan nivo pyès ki nan konpitè pou chak detantè fèmen te konnen kiyès li te ye. Lè Jan ak mwen te tande pale de sa a, nou te gade youn ak lòt epi nou te di: poukisa fè sa nan nivo pyès ki nan konpitè? Èske yo pa ka reyalize menm bagay la lè l sèvi avèk compare-and-swap? Nou te pran youn nan kaye yo ki te kouche nan salklas la epi nou te griye sou li , pandan Mari te kontinye rapò li. Imedyatman, nou aplike li, fè eksperyans, lide a te vin gen siksè, epi nou pibliye atik la. Nan tan sa a, pou mwen, sijè sa a te sanble jis yon distraksyon plezi, apre sa mwen te planifye pou retounen nan sistèm opere. Men, Lè sa a, yon lòt pwoblèm sou menm liy yo leve, epi evantyèlman senkronizasyon, multithreading, ak estrikti done te vin espesyalite mwen. Kòm ou ka wè, tout bagay sa yo te rive pa aksidan.
Виталий: Mwen te abitye ak bloke MCS depi lontan, men jiska prezan mwen pa t 'konnen ke se te travay ou, epi mwen pa t' konprann ke se te yon akwonim pou non ou.
Ki jan yo siviv nan yon mond ki toujou ap chanje?
Alex: Mwen gen yon kesyon sou yon sijè ki gen rapò. 30 oswa 40 ane de sa te gen plis libète nan diferan espesyalite. Si ou vle kòmanse yon karyè nan sistèm multithreading oswa distribye, ou akeyi, si ou vle antre nan sistèm opere, pa gen pwoblèm. Nan chak zòn te gen anpil kesyon ouvè ak kèk ekspè. Espesyalizasyon etwat yo te parèt kounye a: pa gen sèlman ekspè sou sistèm operasyon an jeneral, gen espesyalis sou sistèm endividyèl yo. Se menm bagay la tou ak sistèm multithreading ak distribye. Men, pwoblèm nan se ke lavi nou yo pa kontinuèl tout moun ka konsakre sèlman kèk deseni nan rechèch. Ki jan yo siviv nan nouvo mond sa a?
Michael: Nou pa espesyal nan sans sa a menm bagay ki te pase yon fwa nan lòt zòn. Mwen te gen chans ke mwen te kòmanse travay nan Syans enfòmatik lè jaden an te nan ane "adolesan" li yo. Gen kèk fondasyon ki te deja poze, men tout bagay te toujou trè frelikè. Opòtinite sa a pa vini souvan. Jeni elektrik te alantou pou yon tan trè lontan, fizik menm ankò, matematik prèske depi nan konmansman an nan tan. Men sa pa vle di pèsonn pa fè dekouvèt enteresan nan matematik ankò. Genyen toujou anpil pwoblèm ouvè, men an menm tan, plis bezwen aprann. Ou gen rezon pou w remake kounye a gen anpil plis espesyalizasyon pase sa te genyen anvan, men sa sèlman vle di ke nou jwenn tèt nou nan menm sitiyasyon an ak pifò lòt domèn aktivite imen.
Alex: Mwen enterese nan aspè ki pi pratik nan pwoblèm nan isit la. Mwen gen yon background nan matematik, e pandan etid mwen mwen souvan te ale nan konferans ak travay sou divès sijè syantifik. Mwen te dekouvri ke pèsonn nan odyans lan te konprann rapò mwen yo, e menm jan an tou, rapò lòt moun yo te konprann sèlman pou tèt yo. Sa a se pa ka a nan sijè wo nivo, men le pli vit ke ou kòmanse fouye nan yon bagay, odyans lan pa ka kenbe avèk ou ankò. Ki jan ou fè fas ak sa a?
Michael: Pa toujou reyisi. Dènyèman, mwen te prepare yon rapò kote mwen te antre twò fon nan detay teknik. Pandan diskou a t ap pwogrese, li te vin klè ke pifò moun nan odyans lan pa t konprann mwen, kidonk mwen te oblije adapte yo ak sitiyasyon an sou vole. Glisad yo pa t 'kapab chanje, kidonk li pa t' tounen trè byen - kidonk, jeneralman pale, mwen eseye pa sèvi ak glisad. An jeneral, konsèy mwen an se konsidere odyans ou a. Ou bezwen konnen ak ki moun w ap pale, ki nivo konesans yo ye, ak sa yo bezwen tande pou apresye travay ou.
Виталий: Èske ou ta ka ban nou yon allusion sou kisa konferans sa a te sou?
Michael: Pou m onèt, mwen ta prefere pa elaji sou sijè sa a yon fason pou yo kite moun yo nan kesyon an anonim. Pwen an se ke nou souvan antre twò fon nan sibtilite pwoblèm nou ap travay sou yo, kidonk li vin difisil pou nou eksplike nan kòmansman diskou a poukisa pwoblèm nan enteresan ak enpòtan ak ki jan li gen rapò ak pwoblèm yo. odyans lan deja konnen. Dapre obsèvasyon mwen yo, elèv yo gen tan ki pi difisil pou aprann konpetans sa a. E sa ti osi pwen feb dan mon resan rapor. Yon rapò byen estriktire ta dwe, depi nan konmansman an, jwenn kontak ak odyans lan, eksplike yo ki sa egzakteman pwoblèm nan se ak ki jan li gen rapò ak sijè li deja konnen yo. Ki jan teknik entwodiksyon sa a depann de odyans lan. Si li konplètman etranj, Lè sa a, rapò a ka milti-etap. Entwodiksyon an ta dwe aksesib a tout moun, epi nan fen pyès la ka pa kapab kenbe avèk ou, men moun ki relativman abitye ak jaden ou yo pral kapab evalye li.
Èske elèv yo vin pi piti? Tandans mondyal, entènasyonalizasyon.
Alex: Ou ap obsève etidyan depi plizyè deseni. Èske elèv yo vin pi enbesil oswa pi entelijan nan yon dekad nan yon dekad oswa yon lòt ane? Nan Larisi, pwofesè yo toujou ap plenyen ke elèv yo ap vin pi ba chak ane, epi li vrèman pa klè kisa yo dwe fè sou li.
Michael: Ou ka vrèman tande anpil negativite nan men nou granmoun. Enkonsyaman, nou gen tandans espere elèv yo absòbe tout 30 ane eksperyans ke nou deja genyen. Si mwen gen yon konpreyansyon pi pwofon ke mwen te fè an 1985, poukisa elèv yo pa genyen li? Pwobableman paske yo gen 20 ans, kisa ou panse? Mwen panse ke chanjman ki pi enpòtan nan dènye deseni yo te nan konpozisyon demografik: kounye a nou gen siyifikativman plis elèv entènasyonal yo, eksepsyon de Kanadyen. Te konn gen anpil Kanadyen paske nou trè pre fwontyè Kanadyen an e etidyan ki soti la yo ka vwayaje lakay yo nan wikenn yo. Men koulye a, gen anpil bon inivèsite nan Kanada, ak Kanadyen prefere etidye isit la siyifikativman mwens nan yo vin nan USA a.
Alex: Èske ou panse sa a se yon tandans lokal oswa yon tandans mondyal?
Michael: Mwen pa sonje egzakteman ki moun, men yon moun te di ke mond lan se plat. Te jaden nou an vin pi plis entènasyonal. Précédemment, yo te fèt sèlman nan peyi Etazini, Lè sa a, yo te deside kenbe yo yon fwa chak 4 ane nan lòt peyi, epi kounye a yo te fèt nan tout mond lan. Chanjman sa yo afekte plis toujou , kòm li te toujou yon òganizasyon plis entènasyonal pase ACM. Apre sa, gen chèz pwogram ki soti nan Lachin, peyi Zend, Larisi, Almay ak anpil lòt peyi, paske gen anpil k ap pase toupatou kounye a.
Alex: Men, pwobableman, gen kèk aspè negatif nan entènasyonalizasyon sa yo?
Michael: Mwen ta di ke tout aspè negatif yo pa gen rapò ak teknoloji, men ak politik. Yon fwa sou yon tan, pwoblèm prensipal la se lefèt ke US la te vòlè moun ki pi entelijan ak pi talan nan peyi atravè mond lan. Epi kounye a pwoblèm prensipal la se jwèt politik ant diferan peyi alantou viza ak imigrasyon.
Alex: Sa vle di, baryè ak bagay konsa. Li klè.
Vladimir: Pèsonèlman, mwen enterese nan ki apwòch ou pran lè w ap anseye yon nouvo matyè bay elèv yo. Gen opsyon diferan: ou ka eseye premye nan tout enspire yo eseye yon bagay nouvo, oswa ou ka peye plis atansyon sou detay yo sou fason yon sèten teknoloji travay. Ki sa ou prefere?
Travay efikas ak elèv yo
Alex: Ak ki jan yo jwenn balans lan modi ant premye a ak dezyèm?
Michael: Pwoblèm nan se ke klas yo pa toujou ale nan fason mwen ta renmen. Anjeneral mwen bay elèv lekti materyèl davans pou yo fouye ladan l, pou yo konprann li nan pi bon kapasite yo, epi pou yo poze kesyon sou pati sa yo ke yo pa t ka konprann. Lè sa a, nan klas ou ka konsantre sou moman ki pi difisil yo epi eksplore yo ansanm. Men ki jan mwen renmen anseye klas yo pi plis. Men, dapre chay ki genyen kounye a sou elèv yo, mwen pa toujou kapab asire yo ke yo prepare davans. Kòm yon rezilta, ou dwe konsakre pi plis tan nan rakonte jeneral la nan materyèl la pase ou ta renmen. Malgre sa, mwen eseye kenbe klas nou yo entèaktif. Sinon, li pi fasil pou anrejistre yon videyo yon fwa ke elèv yo ka gade lakay yo. Pwen klas ap viv yo se entèraksyon moun. Nan klas, mwen prefere sèvi ak lakre ak yon tablo nwa olye ke glisad, eksepte nan sèten ka lè yon dyagram twò konplèks pou dekri sou tablo a. Gras a sa, mwen pa oblije rete sou yon plan leson rijid. Piske pa gen yon lòd strik kote m bay materyèl la, sa pèmèt mwen adapte l pou odyans lan selon kesyon mwen resevwa yo. An jeneral, mwen eseye fè klas yo entèaktif ke posib, pou materyèl mwen prezante a depann de kesyon yo poze m '.
Vladimir: Li bon. Selon eksperyans mwen, li difisil pou moun k ap koute yo poze kesyon. Menm si ou mande davans pou poze nenpòt kesyon, kèlkeswa sòt oswa entelijan, yo toujou an silans. Ki jan ou fè fas ak sa a?
Michael: Ou pral ri, men si ou kanpe an silans ase lontan, pi bonè oswa pita tout moun ap vin alèz epi yon moun ap poze yon kesyon. Oswa ou ka poze yon kesyon teknik senp ak yon repons wi oswa non pou detèmine si moun konprann sa ki sot di a. Pou egzanp, èske gen yon ras done nan egzanp ki anwo a? Ki moun ki panse sa? Ki moun ki panse pa? Ki moun ki pa konprann anyen ditou, paske nan total sèlman mwatye nan men yo leve?
Виталий: Men, si ou reponn mal, yo mete w deyò nan klas la :)
Michael: Si ou pa reponn anyen, Lè sa a, ou ta dwe poze yon kesyon. Mwen bezwen konprann egzakteman sa elèv la bezwen konnen pou reponn kesyon mwen sot poze a. Mwen bezwen yo ede m ede yo. Mwen pare pou adapte yo ak yo pou yo konprann pwoblèm nan. Men, si mwen pa konnen sa k ap pase nan tèt yo, mwen pa ka fè li. E si ou pa bay etidyan lapè pou yon tan ase, pafwa alafen yo poze bon kesyon, sa vle di, sa ki pèmèt mwen wè sa egzakteman k ap pase nan tèt elèv yo.
Alex: Èske kesyon sa yo pafwa mennen nan lide ou menm ou pa t panse anvan? Èske yo inatandi? Èske yo pèmèt ou gade nan yon pwoblèm nan yon nouvo limyè?
Michael: Gen kesyon ki louvri yon nouvo fason pou prezante materyèl. Souvan gen kesyon ki mennen nan pwoblèm enteresan ke mwen pa te planifye pou pale sou yo. Elèv yo souvan di m ke mwen gen yon tandans ale nan sijè lè sa rive. Epi, dapre yo, trè souvan sa a se pati ki pi enteresan nan leson an. Trè raman, jis kèk fwa, elèv yo te poze kesyon ki te pouse yon nouvo direksyon nan rechèch ak grandi nan yon atik. Sa rive pi souvan nan konvèsasyon ak elèv yo olye ke pandan klas yo, men detanzantan li te rive pandan klas yo.
Alex: Se konsa, elèv yo te poze w kesyon sou baz ki lè sa a li te posib yo pibliye yon atik?
Michael: Wi.
Виталий: Konbyen fwa ou fè konvèsasyon sa yo ak elèv yo? Ki lè yo vle aprann plis pase sa ki te kouvri pandan leson an?
Michael: Ak etidyan gradye mwen yo - tout tan. Mwen gen apeprè 5 oswa 6 nan yo, epi nou diskite sou yon bagay ak yo tout tan tout tan. Ak konvèsasyon sa a kalite ak elèv ki tou senpleman ale nan klas mwen yo pa trè komen. Malgre ke mwen swete sa rive pi souvan. Mwen sispèk yo tou senpleman pè pou yo vin nan fakilte a pandan lè biwo yo. Chak semès, gen kèk elèv ki jere simonte baryè sikolojik sa a, epi li toujou trè enteresan pou pale ak yo apre klas. Se vre, si tout elèv yo te osi brav, mwen tou senpleman pa t ap gen ase tan. Se konsa, petèt tout bagay ap travay jan li ta dwe.
Виталий: Ki jan ou jere jwenn tan pou kominike ak elèv yo? Jan mwen konnen, nan USA pwofesè yo gen anpil travay - aplike pou sibvansyon ak renmen an.
Michael: Onètman, travay ak elèv yo se aspè travay mwen ki pi renmen. Se konsa, mwen gen ase motivasyon pou sa a. Pifò nan tan mwen pase nan biwo mwen an se pase nan reyinyon nan tout kalite. Se ete kounye a, kidonk orè mwen an mwens okipe, men pandan ane lekòl la, chak jou soti 9 pou rive 17 mwen gen tout bagay chaje. Travay rechèch, revize, sibvansyon - pou tout bagay sa a gen sèlman aswè ak wikenn.
Ki jan yo kenbe moute ak preparasyon an nan nouvo kou ak liv.
Alex: Èske w ap kontinye anseye nenpòt kou w ap anseye depi lontan? Yon bagay tankou yon entwodiksyon nan Syans enfòmatik.
Michael: Premye bagay ki vin nan tèt ou isit la se yon kou nan langaj pwogramasyon.
Alex: Ki jan vèsyon jodi a nan kou sa a diferan de sa li te 10, 20, 30 ane de sa? Petèt sa ki pi enteresan isit la se pa detay yo nan yon kou an patikilye, men tandans jeneral yo.
Michael: Kou mwen an sou langaj pwogramasyon yo te yon ti jan etranj nan moman mwen te kreye li. Mwen te kòmanse li l nan fen ane 1980 yo, ranplase kòlèg mwen an, Doug Baldwin (). Sijè a nan kou a te sèlman tanjansyèlman ki gen rapò ak espesyalite mwen an, men lè li te ale, mwen te kandida ki pi bon yo anseye kou a. Mwen pa t renmen okenn nan liv ki te egziste nan epòk la, kidonk mwen te fini ekri liv la pou kou sa a tèt mwen. (Nòt editè a: n ap pale de liv la) Kounye a li itilize nan plis pase 200 inivèsite atravè mond lan. Apwòch mwen an pa nòmal paske li fè espre melanje pwoblèm langaj konsepsyon ak aplikasyon, epi li peye anpil atansyon sou entèraksyon ki genyen ant aspè sa yo nan tout domèn posib. Apwòch debaz la te rete san chanjman, menm jan ak anpil konsèp debaz: abstraksyon, espas non, modilarite, kalite. Men, seri lang ki montre konsèp sa yo chanje nèt. Lè kou a te premye kreye, te gen anpil egzanp nan Pascal, men jodi a anpil nan elèv mwen yo pa menm tande pale de lang sa a. Men, yo konnen Swift, Go, Rust, kidonk mwen oblije pale sou lang yo itilize jodi a. Epitou, kounye a elèv yo byen vèrs nan lang scripting, men lè mwen te kòmanse anseye kou sa a, li te tout sou lang konpile. Koulye a, nou bezwen anpil materyèl sou Python, Ruby ak menm Perl, paske se sa ki kòd yo ekri nan jou sa yo, e gen anpil bagay enteresan k ap pase nan lang sa yo, ki gen ladan nan domèn nan konsepsyon lang.
Виталий: Lè sa a, pwochen kesyon mwen an pral gen rapò ak yon sèl anvan an. Ki jan yo kenbe moute nan zòn sa a? Mwen sispèk ke mete ajou yon kou tankou sa a mande anpil travay - ou bezwen konprann nouvo lang, konprann lide prensipal yo. Ki jan ou fè sa?
Michael: Mwen pa ka vante ke mwen toujou reyisi 100%. Men, pi fò nan tan mwen jis fè sa tout lòt moun fè - li entènèt la. Si mwen vle konprann Rust, mwen Google li, ale nan paj Mozilla la epi li manyèl ki afiche la. Sa a se yon pati nan bagay sa yo ki rive nan devlopman komèsyal yo. Si nou pale sou syans, Lè sa a, ou bezwen swiv rapò yo nan konferans prensipal yo.
Lyen ant biznis ak inivèsite
Виталий: Ann pale sou koneksyon ki genyen ant biznis ak rechèch syantifik. Nan lis travay ou a, mwen jwenn plizyè atik sou koerans kachèt. Mwen konprann ke algorithm konsistans kachèt yo te enstab nan moman yo te pibliye a? Oswa pa gaye ase. Ki jan komen lide ou te nan pratik?
Michael: Mwen pa egzakteman si de ki piblikasyon w ap pale. Mwen te fè anpil travay ak elèv mwen yo Bill Bolosky () ak Leonidas Kontotanassis () nan kòmansman ane 1990 yo sou jesyon memwa nan machin Neumann. Lè sa a, biznis pa t 'ankò gen yon konpreyansyon sou ki jan yo byen fè yon sistèm miltiprosesè: èske li vo kreye sipò pou jwenn aksè nan memwa aleka nan nivo pyès ki nan konpitè, èske li vo fè memwa a distribye, èske li posib chaje kachèt la soti nan? memwa aleka, oswa èske li nesesè pou deplase paj nan sal operasyon an? Bill ak Leonidas tou de te travay nan zòn sa a ak eksplore apwòch san chajman kachèt aleka. Sa a pa t 'direkteman gen rapò ak koerans kachèt, men li te toujou travay sou jesyon memwa NUMA, epi apre sa apwòch modèn nan plasman paj nan sistèm opere modèn te grandi nan sa a. An jeneral, Bill ak Leonidas te fè travay enpòtan, byenke se pa sa ki pi enfliyan nan domèn sa a - te gen anpil lòt moun k ap travay sou menm bagay la nan moman an. Apre sa, mwen te travay sou yon sijè ki gen rapò ak koerans kachèt nan yon kontèks memwa tranzaksyon pyès ki nan konpitè. Gwoup mwen te travay ak sou pwoblèm sa a te fini resevwa plizyè patant. Gen kèk ide trè enteresan dèyè yo, men mwen pa panse yo pral fini aplike nan pratik. Yon fason oswa yon lòt, li difisil pou mwen jije rentabilité yo.
Alex: Nan sans sa a, yon kesyon ki pi pèsonèl: ki jan li enpòtan pou ou ke lide ou yo mete an pratik? Oswa ou pa panse sou li?
Michael: Mwen renmen poze kesyon sa a nan entèvyou ak lòt moun, aplikan oswa kandida ki vle rantre nan fakilte a. Mwen pa panse ke gen yon repons kòrèk pou kesyon sa a. Moun ki fè bagay ki fre ka gen motivasyon trè diferan. Mwen atire pwoblèm paske mwen pèsonèlman twouve yo enteresan, pa poutèt benefis pratik yo. Men, nan lòt men an, lè kèk bagay enteresan toujou jwenn aplikasyon, mwen reyèlman renmen li. Se konsa, li pa fasil isit la. Men, nan kòmansman travay mwen, mwen toujou kondwi pa lide nan yon itilizasyon final nan mond lan, men pa amoni nan lide a ak dezi a eksplore li ak wè sa ki vini nan li. Si nan fen li bay rezilta pratik, gwo.
Alex: Akòz edikasyon ou ak eksperyans ou, ou pi byen pase pifò moun pou jije valè lide lòt moun. Ou ka konpare yo epi detèmine ki travay pi byen ak kiyès. Mwen sèten ou gen yon opinyon sou bagay ki aktyèlman ap itilize nan pratik pa gwo manifaktirè tankou Intel. Soti nan pwennvi ou, ki jan kòrèk se kou ke konpayi sa yo ap pran?
Michael: Pratike toujou vire sou sa ki ka gen siksè komèsyal, se sa ki, kreye pwofi, epi ou pi bon mande yon lòt moun sou sa. Travay mwen an sitou rezilta nan piblikasyon, ak nan domèn sistèm operasyon yo evalye yo baze sou endikatè pèfòmans: vitès, konsomasyon enèji, gwosè kòd. Men, li toujou te sanble pou mwen ke rezilta anpirik sa yo ajoute nan atik sèlman pou yo ka pibliye, ak motif reyèl moun yo pou travay yo estetik. Chèchè yo evalye solisyon yo nan yon pèspektiv atistik, yo pran swen sou jan lide yo elegant, epi yo eseye kreye yon bagay ki pi bon pase apwòch ki egziste deja. Chèchè yo kondwi pa pèsonèl, subjectif, motif ayestetik. Men, ou pa ka ekri sou sa a nan atik la li menm, bagay sa yo pa agiman pou komite pwogram nan. Erezman, solisyon elegant yo souvan tou vit ak bon mache. Yon douzèn nan kòlèg mwen yo ak mwen te diskite sou sijè sa a sou 15 ane de sa epi yo te fini ekri yon atik sou li. Mwen panse ke ou ka toujou jwenn li kounye a, li rele oswa yon bagay tankou sa, li gen plis pase yon douzèn otè. Sa a se atik la sèlman nan ki mwen se otè a ansanm ak , Se konsa, si ou fè yon rechèch pou non li nan lis piblikasyon mwen an, w ap jwenn sa ou bezwen. Li pale sou evalye rechèch sistèm ak ki jan enpòtan distenksyon se.
Alex: Se konsa, gen yon diferans ant estanda a nan sa ki konsidere kòm bon nan syans ak nan biznis. Syans la evalye pèfòmans, konsomasyon pouvwa, TDP, fasilite aplikasyon an, ak plis ankò. Èske ou gen opòtinite pou fè kalite rechèch sa a nan inivèsite a? Èske w gen yon laboratwa ki gen diferan machin ak diferan achitekti kote ou ta ka fè eksperyans?
Michael: Wi, depatman nou an gen yon anpil nan diferan machin enteresan. Pi souvan yo piti, nou gen yon ti gwoup ak anpil sistèm multiprocesseur ak akseleratè diferan. Anplis de sa, kanpis la gen yon gwo sant enfòmatik ki sèvi syantis ki soti nan plizyè douzèn disiplin diferan. Li gen apeprè mil nœuds ak ven mil nwayo, tout sou Linux. Si bezwen an rive, ou ka toujou achte kèk AWS. Se konsa, nou pa gen okenn limit enpòtan ak pyès ki nan konpitè.
Alex: Ki jan li te tankou trant ane de sa? Èske te gen pwoblèm lè sa a?
Michael: Se te yon ti kras diferan lè sa a. Nan mitan-pou-fen ane 1980 yo, syans yo te konsidere kòm kout nan resous enfòmatik. Pou remèd sitiyasyon sa a, Fondasyon Syans Nasyonal la ) te kreye yon pwogram rechèch eksperimantal kowòdone (Coordinated Experimental Research, CER). Misyon pwogram nan se te bay enfrastrikti enfòmatik pou depatman Syans Enfòmatik, epi li te reyalize chanjman enpòtan. Avèk lajan li te bay la, nou nan University of Rochester te achte yon BBN Butterfly 1984-ne an 128, sa te yon ane anvan mwen te rive la. Nan epòk sa a se te pi gwo sistèm multiprocesseur nan mond lan ak memwa pataje. Li te gen 128 processeurs, yo chak sou yon mèr separe, epi li te okipe kat etajè. Chak processeur te gen yon megabyte nan memwa, 128 megabyte nan RAM te yon kantite lajan inimajinabl nan moman sa a. Sou machin sa a nou aplike MCS bloke pou premye fwa.
Alex: Se konsa, si mwen konprann ou kòrèkteman, Lè sa a, nan moman sa a pwoblèm nan ak pyès ki nan konpitè yo te rezoud?
Michael: An jeneral, wi. Gen kèk opozisyon: premye, si w ap fè achitekti òdinatè nan nivo chip, li difisil fè nan yon anviwònman akademik paske gen pi bon zouti pou fè li nan biznis. Si w bezwen nenpòt bagay ki pi piti pase 10 nanomèt, w ap oblije kòmande li nan men yon lòt moun. Nan domèn sa a li pi fasil pou w yon chèchè nan Intel. Si w ap travay sou kominikasyon optik sou chips oswa sou memwa eta solid, w ap jwenn teknoloji nan biznis ki poko nan syans, kidonk ou dwe kreye alyans. Pa egzanp, Stephen Swanson () kreye pou nouvo teknoloji memwa. Fòm sa a pa toujou travay, men nan kèk ka li ka byen reyisi. Anplis de sa, devlopman nan sistèm informatique ki pi pwisan nan syans se pi difisil. Pi gwo pwojè supercomputer kounye a nan peyi Etazini, Japon ak Lachin yo tout konsantre sou biznis.
Aplikasyon pratik nan lide. MCS, MS, CLH, JSR 166, k ap travay ak Doug Lee ak plis ankò.
Виталий: Ou te deja pale sou fason ou te kòmanse travay sou algoritm senkronizasyon. Ou gen de atik trè popilè sou и , ki nan yon sans yo te aplike nan Java. (Nòt editè a: tout piblikasyon yo ka gade ). Gen bloke sa a te aplike ak kèk chanjman epi li te tounen soti , ak keu la te aplike jan sa vle di. Men, anpil ane pase ant piblikasyon atik ou yo ak aplikasyon pratik yo.
Alex: Li sanble sou 10 ane nan ka keu la.
Michael: Anvan karakteristik sa yo te parèt nan bibliyotèk estanda Java a?
Виталий: Wi. Kisa ou te fè pou fè sa rive? Oswa yo pa fè anyen?
Michael: Mwen ka di w kouman MS Queue te antre nan Java 5. Kèk ane anvan li te soti, mwen te travay ak gwoup Mark Moyers nan Sun Microsystems nan laboratwa yo toupre Boston. Li te òganize yon atelye pou moun li te konnen ki t ap travay sou pwoblèm enteresan nan multithreading paske li te vle jwenn sijè ke li te kapab vann nan konpayi yo. Se la mwen premye rankontre Doug Lea. Doug ak mwen ak anviwon 25 lòt moun ki soti nan Solèy te ansanm diskite sou prezantasyon Doug la , ki pita te vin java.util.concurrent. Sou wout la, Doug te di ke li ta renmen sèvi ak MS keu la, men pou sa a li te bezwen yon kontwa pou kantite eleman nan keu la pou koòdone la. Sa vle di, sa a ta dwe fè pa yon metòd separe, atomik, egzat ak vit. Mwen sijere tou senpleman ajoute nimewo seri nan nœuds yo, pran nimewo a nan premye ne ak dènye a epi soustraksyon youn nan lòt la. Doug grate tèt li, li di "poukisa pa," epi li te fini fè sa. Nou te diskite sou aplikasyon apwòch sa a nan bibliyotèk la, men Doug te fè pi fò nan travay la tèt li. Kòm yon rezilta, li te jere etabli ekselan sipò multithreading nan Java.
Alex: Se konsa, si mwen konprann kòrèkteman, .size() metòd la ta dwe fè pati koòdone nan keu estanda, epi li ta dwe gen yon konpleksite algoritmik nan O (1)?
Michael: Wi, epi anplis de sa a, yon kontwa separe obligatwa.
Alex: Paske si ou rele metòd .size() nan Java, rezilta a espere disponib imedyatman epi li pa baze sou gwosè aktyèl la nan koleksyon an. Mwen wè, mèsi.
Michael: Kèk ane apre mwen t ap travay sou estrikti done doub ak etidyan mwen an Bill Scherer - an reyalite, se sa mwen pral pale sou . Doug te vin jwenn nou epi li te di ke li te kapab itilize yo nan chapant Java Executor. Ansanm ak Bill, yo te kreye de enplemantasyon, sa yo rele fair and unfair queues. Mwen te konseye yo sou pwojè sa a, byenke mwen pa t patisipe nan ekri kòd aktyèl la. Kòm yon rezilta, vitès egzekitè a te ogmante anpil.
Vladimir: Èske ou te rankontre enplemantasyon kòrèk algoritm ou oswa demann pou ajoute nouvo karakteristik? An jeneral, pratik ta dwe kowenside ak teyori, men byen souvan yo diferan. Sipoze ou te ekri yon algorithm, ak sou papye li travay, men moun ki patisipe nan aplikasyon an te kòmanse mande w pou plis karakteristik oswa kèk kalite ajisteman nan algorithm la. Èske w te janm gen sitiyasyon konsa?
Michael: Sèl egzanp kote yon moun te vin jwenn mwen epi li te mande "ki jan pou aplike li" se kesyon Doug la, ke mwen te deja pale sou. Men, te gen kèk ka kote yo te fè chanjman enteresan yo adapte bezwen pratik. Pou egzanp, ekip K42 nan IBM konvèti fèmen MCS la e li te fè li yon koòdone estanda konsa pa t 'gen bezwen pase ne keu la retounen ak lide nan woutin yo jwenn ak lage. Mèsi a koòdone estanda sa a, yon lide ki te bèl nan teyori te kòmanse travay nan pratik. Li etone ke yo pa janm pibliye yon atik sou li, e byenke yo te resevwa yon patant, yo pita abandone li. Lide a te bèl bagay, epi mwen eseye pale sou li chak fwa sa posib.
Te gen lòt ka kote moun te fè amelyorasyon nan algoritm yo mwen te pibliye. Pou egzanp, keu MS la gen yon mekanis enstalasyon de etap, ki vle di ke te gen de CAS sou chemen kritik keu la. Sou machin ki pi gran yo, CAS yo te byen chè. Intel ak lòt manifaktirè yo te optimize yo trè byen dènyèman, men yon fwa sou yon tan sa yo te enstriksyon 30-sik, kidonk gen plis pase yon sèl sou chemen kritik la pa dezirab. Kòm yon rezilta, yo te devlope yon keu diferan ki te sanble ak keu MS la, men ki te gen sèlman yon operasyon atomik sou chemen kritik la. Sa a te reyalize akòz lefèt ke pandan yon sèten peryòd tan operasyon an te kapab pran O (n) tan, olye ke O (1). Li te fasil, men posib. Sa a te rive akòz lefèt ke nan sèten moman algorithm la travèse keu la depi nan konmansman an nan pozisyon aktyèl la nan keu sa a. An jeneral, algorithm la te vin gen anpil siksè. Jan mwen konnen, li pa trè lajman itilize, an pati paske operasyon atomik mande siyifikativman mwens resous pase anvan. Men lide a te gwo. Mwen vrèman renmen travay Dave Dice nan Oracle. Tout sa li fè yo trè pratik epi li sèvi ak fè trè malen. Li te gen yon men nan anpil nan algorithm yo senkronizasyon NUMA-konsyan ak estrikti done milti-threaded.
Vladimir: Lè w ekri algoritm oswa anseye elèv yo, rezilta travay ou a pa vizib imedyatman. Kominote a bezwen kèk tan pou vin abitye ak, di, yon nouvo atik. Nouvo algorithm la pa jwenn aplikasyon imedyatman.
Michael: Li byen lwen imedyatman klè si atik la pral enpòtan oswa ou pa. Mwen panse ke li ta enteresan fè yon etid sou papye ki te genyen prim nan konferans. Sa vle di, gade atik yo ke moun ki nan komite pwogram yo nan yon moman konsidere kòm pi bon yo. Ou bezwen eseye kalkile pa kantite lyen ak enpak sou biznis ki jan enfliyan atik sa yo reyèlman te tounen soti nan 10, 20, 25 ane. Mwen doute ta gen yon gwo korelasyon ant de la. Li pa pral zewo, men gen plis chans li pral pi fèb pase nou ta renmen. Anpil lide rete pa reklame pou yon tan long anvan yo vin gaye toupatou. Pou egzanp, an n pran memwa tranzaksyon. Plis pase 10 ane pase depi lè yo te pibliye atik orijinal la rive nan moman moun yo te kòmanse konstwi machin ak li. Ak anvan aparans nan memwa sa a nan pwodwi komèsyal - ak tout 20. Pou yon tan trè lontan pesonn pa peye atansyon sou atik la, ak Lè sa a, kantite lyen ki mennen nan li ogmante sevè. Li ta difisil pou predi sa davans. Nan lòt men an, pafwa lide jwenn aplikasyon imedyatman. Kèk ane de sa, mwen te ekri yon papye ak Joe Izraelevitz pou DISK ki te pwopoze yon nouvo definisyon fòmèl nan validite pou estrikti done ki pèsistan ki ta ka itilize apre òdinatè a te fè aksidan. Mwen te renmen atik la depi nan konmansman an, men li te vin pi popilè pase mwen te espere. Li te itilize pa plizyè gwoup diferan epi evantyèlman te vin definisyon estanda nan estrikti pèsistans yap ogmante jiska. Ki, nan kou, se bèl.
Vladimir: Èske gen nenpòt teknik ke ou itilize pou evalyasyon? Èske ou menm eseye evalye atik ou yo ak elèv ou yo? An tèm de si moun ou te anseye a pral nan bon direksyon an.
Michael: Menm jan ak tout lòt moun, mwen peye plis atansyon sou sa m ap fè nan moman an. Yon fwa ankò, tankou tout lòt moun, mwen detanzantan tcheke Google Scholar pou wè si yo te site papye sot pase mwen yo, men sa a plis soti nan kiryozite. Sitou mwen absòbe nan sa elèv mwen yo ap fè kounye a. Lè li rive evalye travay aktyèl, yon pati nan li se konsiderasyon ayestetik, sa ki elegant ak sa ki pa. Ak nan nivo chak jou, kesyon ouvè jwe yon gwo wòl. Pa egzanp, yon elèv vin jwenn mwen ak yon graf kèk rezilta, epi nou ap eseye konprann ki kote kèk konpòtman etranj nan graf la soti. An jeneral, nan travay nou an nou toujou ap eseye konprann bagay ke nou poko konprann.
Memwa tranzaksyon
Виталий: Petèt nou ka pale yon ti kras sou memwa tranzaksyon?
Michael: Mwen panse ke li vo di omwen yon ti kras paske mwen te fè anpil efò nan li. Sa a se yon sijè sou ki mwen gen plis piblikasyon pase nenpòt lòt. Men, an menm tan an, etranj ase, mwen te toujou trè ensèten sou memwa tranzaksyon. Dapre mwen, (M. Herlihy, J. E. B. Moss) te pibliye anvan lè li. Nan kòmansman ane 1990 yo, yo sigjere ke memwa tranzaksyon ta ka ede pwogramasyon talan travay sou estrikti done milti-threaded, se konsa ke estrikti sa yo ka Lè sa a, dwe itilize kòm bibliyotèk pa pwogramasyon òdinè. Sa vle di, li ta yon èd pou Doug Lee fè JSR 166 li. Men, memwa tranzaksyon pa t 'gen entansyon fè pwogram milti-threaded fasil. Men, sa a se egzakteman ki jan li te kòmanse pèrsu nan kòmansman ane 2000 yo, lè li te vin gaye toupatou. Li te pibliye kòm yon fason yo rezoud pwoblèm nan nan pwogram paralèl. Apwòch sa a te toujou sanble san espwa pou mwen. Memwa tranzaksyon te kapab sèlman fè li pi fasil yo ekri estrikti done paralèl. Sa a, sanble mwen, se sa li reyalize.
Konsènan difikilte pou ekri kòd milti-threaded
Alex: Trè enteresan. Sanble gen yon sèten baryè ant pwogramasyon regilye yo ak moun ki ka ekri kòd milti-threaded. Ane pase a, mwen te pale plizyè fwa ak moun ki te aplike kèk kad algoritmik. Pou egzanp, ak Martin Thomson, osi byen ke ak pwogramasyon k ap travay sou bibliyotèk milti-threaded. (Nòt Editè a: Martin Thompson se yon pwomotè trè popilè, li te ekri и . Epi li genyen tou nan konferans Joker 2015 nou an, anrejistreman videyo . Li menm konferans sa a disponib tou). Defi prensipal la, yo di, se fè algoritm yo tou de vit ak fasil yo sèvi ak. Sa vle di, yo ap eseye simonte baryè sa a ak atire plis moun ke posib nan zòn sa a. Kisa ou panse de li?
Michael: Sa a se pwoblèm prensipal la nan multithreading: ki jan yo reyalize pèfòmans segondè san yo pa ogmante konpleksite nan sistèm nan.
Alex: Paske lè yo eseye evite konpleksite, algorithm la vin mwens inivèsèl.
Michael: Kle a isit la se byen fèt abstraksyon. Li sanble m 'ke sa a se jeneralman bagay prensipal la pou sistèm òdinatè kòm yon jaden. Butler Lampson renmen itilize tèm sa a, epi li rele nou "machann abstraksyon." Teknoloji senp pa egziste jodi a. Pwosesè nou itilize yo gen 10 milya tranzistò-senplisite pa kesyon an. An menm tan an, ISA a se pi senp pase processeur a, depi nou te travay pou yon tan trè long bay li ak pèfòmans segondè ak yon koòdone relativman senp. Men, se pa tout bagay lis ak li tou. Pwoblèm nan menm se ak akseleratè ki kounye a parèt sou mache a. Kesyon leve - ki jan fè koòdone nan bon pou GPU a, yon mekanis chifreman, konpresyon, yon mekanis transkodaj, yon mekanis aljèb lineyè, oswa menm yon FPGA ki pi fleksib. Ki jan yo kreye yon koòdone ki fè zouti a fasil pou itilize epi kache konpleksite? Li pa pral debarase m de li, men pito kache li nan men yon pwogramè senp.
Alex: Kòm mwen konprann li, nou toujou gen yon baryè nan konpreyansyon abstraksyon. Ann pran modèl memwa a nan etap devlopman syans ak teknoloji nou an, sa a se youn nan abstraksyon prensipal yo. Mèsi a li, tout pwogramè yo divize an de gwoup: pi gwo pati a se moun ki pa konprann li, ak pati ki pi piti a se moun ki konprann, oswa ki panse ke yo konprann.
Michael: Sa se yon bon kesyon - èske nenpòt nan nou vrèman konprann modèl memwa a?
Виталий: Espesyalman nan C++.
Michael: Pale ak Hans Boehm nenpòt moman. Li se youn nan moun ki pi entelijan mwen konnen, yon ekspè dirijan sou modèl memwa. Li pral di ou touswit ke gen anpil bagay li pa konprann. Men, si nou retounen nan pwoblèm nan nan abstraksyon, Lè sa a, nan opinyon mwen, lide ki pi enpòtan nan jaden an nan modèl memwa sou 30 ane ki sot pase yo te eksprime. . (Nòt editè a: gen yon lis konplè piblikasyon ki disponib ).
Alex: Kesyon mwen an se: èske baryè sa a soti nan menm nati konsèp la?
Michael: Non. Sarita te rive nan konklizyon an ke ak apwòch la dwat, ou ka avèk siksè kache tout konpleksite a, jwenn pèfòmans segondè, epi bay pwogramè a yon API senp. Men, si ou swiv API sa a, ou ka reyalize konsistans konsistan. Mwen panse ke sa a se modèl la dwa. Ekri kòd san done ras epi jwenn konsistans sekans. Natirèlman, yo nan lòd yo diminye chans pou kous, zouti espesyal yo bezwen, men sa se yon lòt pwoblèm.
Vladimir: Èske te gen kèk fwa nan karyè ou lè yon pwoblèm ki te sanble rezoud toudenkou tounen yon katastwòf, oswa li te vin parèt ke pwoblèm sa a pa t ka rezoud? Pa egzanp, nan teyori ou ka faktè nenpòt nonm oswa detèmine si nenpòt nonb premye. Men, nan pratik sa a ka difisil fè ak pyès ki nan konpitè aktyèl li difisil a faktè nimewo. Èske yon bagay ki sanble rive ou?
Michael: Mwen pa sonje anyen konsa. Te gen kèk fwa lè mwen te sanble pa gen anyen ki rete pou fè nan yon zòn sèten, men Lè sa a, yon bagay nouvo ak enteresan ki te pase la. Pou egzanp, mwen te panse ke zòn nan nan keu san limit te deja rive nan matirite. Apre plizyè amelyorasyon nan keu MNS la, pa gen anyen ki te pase ankò. Lè sa a, Morrison (Adam Morrison) ak Afek (Yehuda Afek) envante . Li te vin klè ke yon keu san limit milti-threaded te posib, kote pi fò nan tan an te gen sèlman yon enstriksyon chache-ak-enkreman sou chemen kritik la. Ak sa a te fè li posib reyalize yon lòd nan grandè pi bon pèfòmans. Se pa ke nou pa konnen ke fetch-and-increment se yon bagay trè itil. Eric Freudenthal te ekri sou sa nan travay li sou Ultracomputer ak Allan Gottlieb nan fen ane 1980 yo, men li te sou ke moun kap kriye limite. Morrison ak Afek te kapab itilize chache-ak-enkreman sou yon keu san limit.
Nouvo achitekti. Èske viktwa nan memwa tranzaksyon fèmen?
Vladimir: Èske w ap chèche nouvo solisyon achitekti ki ta ka itil pou algoritm?
Michael: Natirèlman, gen anpil bagay ke mwen ta renmen wè aplike.
Vladimir: Ki kalite, pou egzanp?
Michael: Premye a tout, kèk ekstansyon senp nan memwa tranzaksyon nan nivo pyès ki nan konpitè nou an nan Intel ak IBM processeurs. An patikilye, mwen ta renmen chaj ki pa tranzaksyon ak magazen ki jis rive disponib imedyatman nan tranzaksyon yo. Yo imedyatman mennen nan pasan nan k ap pase-anvan sekans, pou yo ka difisil. Men, si ou kenbe kouch abstraksyon, gen anpil bagay trè enteresan ou ka fè andeyò tranzaksyon an pandan li ap pase. Mwen pa konnen ki jan difisil sa a ta dwe aplike, men li ta trè itil.
Yon lòt bagay itil se chaje kachèt nan memwa aleka. Mwen panse ke pi bonè oswa pita sa a pral fèt. Teknoloji sa a pral pèmèt kreyasyon sistèm ak memwa dezagregasyon. Li ta posib pou kenbe, di, 100 terabytes nan memwa ki pa temèt nan yon etajè, ak sistèm nan fonksyone tèt li ta dinamik deside ki seksyon nan memwa sa a ta dwe koresponn ak espas adrès fizik la nan processeurs yo. Sa a ta trè itil pou cloud computing, kòm li ta pèmèt gwo kantite memwa yo dwe bay travay yo ki bezwen li. Mwen panse ke yon moun pral fè li.
Виталий: Pou m fini pale sou memwa tranzaksyon, mwen gen yon lòt kesyon sou sijè sa a. Èske memwa tranzaksyon evantyèlman ranplase estanda estrikti done milti-threaded?
Michael: Non. Tranzaksyon yo se yon mekanis spéculatif. Nan nivo pwogram sa yo se kadna atomik, men andedan yo se espekilasyon. Previzyon sa yo ap travay si pi fò nan devine yo kòrèk. Se poutèt sa, memwa tranzaksyon travay byen lè fil diman kominike youn ak lòt, epi ou jis bezwen asire w ke pa gen okenn entèraksyon. Men, si yon mesaj kòmanse ant fil, tranzaksyon yo pa itil anpil. Kite m 'eksplike, nou ap pale sou ka a lè tranzaksyon yo vlope nan tout operasyon an atomik. Yo ka toujou itilize avèk siksè kòm konpozan pou estrikti done milti-threaded. Pou egzanp, si ou bezwen yon CAS twa mo, epi ou bezwen multithread twa ti bagay nan mitan an nan yon algorithm vrèman multithread ki travay ak ven fil an menm tan. An jeneral, tranzaksyon yo ka itil, men yo pa pral elimine nesesite pou byen konsepsyon estrikti done milti-threaded.
Memwa ki pa temèt, Optane DIMM, aparèy ultra-rapid.
Виталий: Dènye bagay mwen ta renmen pale sou se sijè rechèch ou an kounye a: memwa ki pa temèt. Ki sa nou ka atann nan domèn sa a nan fiti prè? Petèt ou konnen nenpòt aplikasyon efikas ki deja egziste?
Michael: Mwen pa yon ekspè pyès ki nan konpitè, mwen sèlman konnen sa mwen li nan nouvèl la ak sa kòlèg mwen yo di m '. Tout moun te deja tande ke Intel vann , ki gen apeprè 3 fwa latansi lekti ak 10 fwa latansi ekri pase RAM dinamik. Yo pral byento disponib nan vèsyon volim trè gwo. Li komik panse ke ou ta ka gen yon laptop ak plizyè terabyte nan byte-adrese RAM. Li posib ke nan 10 ane nou pral deside sèvi ak nouvo teknoloji sa a, depi nou itilize DRAM - jis ogmante volim la. Men, gras a endepandans enèji, opòtinite konplètman nouvo louvri pou nou. Nou ka fondamantalman chanje pil depo a pou pa gen okenn separasyon ant memwa k ap travay ki adrese ak byte ak memwa ki pèsistan ki estriktire blòk. Kidonk, nou pa pral bezwen seri tout bagay ki bezwen transfere soti nan yon pwogram kouri nan yon lòt nan dosye ki estriktire blòk. Apati sa a nou ka tire anpil prensip enpòtan ki afekte sistèm opere, anviwònman ègzekutabl, ak magazen done distribye. Zòn sa a trè enteresan pou travay nan. Pèsonèlman, li difisil pou mwen predi kisa sa a pral mennen nan, men pwoblèm yo isit la yo trè amizan. Gen dwa gen chanjman revolisyonè isit la, epi yo swiv trè natirèlman nan travay la sou multithreading, depi rekiperasyon echèk se yon pwosesis "multithreading" ansanm ak operasyon nòmal nan sistèm nan.
Dezyèm sijè prensipal mwen ap travay kounye a se jere aparèy ultra-rapid ak aksè an sekirite nan aparèy ki soti nan espas itilizatè a ak kontwòl politik sistemik. Nan dènye ane yo, te gen yon tandans deplase aksè nan aparèy la nan espas itilizatè a. Sa fèt paske pil nwayo TCP-IP a pa ka fonksyone sou yon koòdone rezo ki bezwen yon nouvo pake chak 5 mikrosgond li tou senpleman pa kenbe. Se poutèt sa, manifaktirè yo bay aksè dirèk nan aparèy. Men, sa vle di ke sistèm operasyon an pèdi kontwòl pwosesis la epi li pa ka bay bon aksè nan aparèy la pou aplikasyon pou konpetisyon. Ekip rechèch nou an kwè ke enpèfeksyon sa a ka evite. Nou pral gen yon atik sou sa nan USENIX ATC mwa sa a. Li gen rapò ak travay sou pèsistans, depi lontan-viv byte-addressable memwa pèsistan se, nan sans, yon aparèy ak ultra-rapid I / O ki bezwen jwenn aksè nan espas itilizatè a. Rechèch sa a fè posib nouvo apwòch nan microkernels, exokernels, ak lòt tantativ tradisyonèl pou deplase fonksyonalite san danje soti nan nwayo OS la nan espas itilizatè a.
Vladimir: Byte-addressable memwa se gwo, men gen yon limit fizik - vitès la nan limyè. Sa vle di ke pral inevitableman gen yon reta lè kominike avèk aparèy la.
Michael: Absoliman dwat.
Vladimir: Èske pral gen ase kapasite pou fè fas ak nouvo chaj yo?
Michael: Sa a se yon kesyon ekselan, men li pral difisil pou mwen reponn. Lide a nan pwosesis nan memwa te alantou pou kèk tan, li trè enteresan, men tou, trè konplèks. Mwen pa te travay nan domèn sa a, men li ta bon si kèk dekouvèt yo te fè la. Mwen pè mwen pa gen anyen ankò pou ajoute.
Vladimir: Gen yon lòt pwoblèm. Nouvo, siyifikativman pi gwo kantite RAM ap enposib pou antre nan CPU a. Se poutèt sa, akòz limit fizik, RAM sa a dwe izole.
Michael: Li tout depann sou kantite domaj nan pwodiksyon an nan sikui entegre. Si li te posib yo kreye wafers semi-conducteurs antyèman san domaj, Lè sa a, li ta posib fè yon mikro-sikwi antye soti nan li. Men koulye a, nou pa konnen ki jan fè mikro sikwi pi gwo pase koupon pou lapòs.
Vladimir: Men nou toujou ap pale de gwosè gwo, sou santimèt. Sa inevitableman gen yon enpak sou latansi.
Michael: Wi. Pa gen anyen ou ka fè sou vitès limyè a.
Vladimir: Malerezman.
Pwochen gwo tandans. Estrikti done doub. Hydra.
Виталий: Osi lwen ke mwen konprann, ou trape nouvo tandans trè vit. Ou te youn nan premye moun ki te travay nan memwa tranzaksyon, ak youn nan premye ki te travay nan memwa ki pa temèt. Ki sa ou panse pral pwochen gwo tandans? Oswa petèt se yon sekrè?
Michael: Pou yo dwe onèt, mwen pa konnen. Èspere ke mwen pral kapab remake lè yon bagay nouvo vini. Mwen pa te gen chans ase pou envante okenn nouvo jaden pou kont mwen, men mwen te gen yon chans kèk epi yo te kapab kòmanse travay byen bonè nan nouvo jaden ki te kreye pa lòt moun. Mwen espere ke mwen pral kapab fè sa nan lavni.
Alex: Dènye kesyon nan entèvyou sa a pral sou pèfòmans ou nan Hydra ak aktivite ou nan lekòl la. Si mwen byen konprann, rapò nan lekòl la pral sou algorithm ki pa bloke, ak nan konferans sou estrikti done doub. Èske ou ta ka di kèk mo sou rapò sa yo?
Michael: An pati, nou te deja touche sou sijè sa yo avèk ou nan entèvyou sa a. I konsern travay ki mon’n fer avek mon etidyan Bill Scherer. Li te ekri yon tèz sou li, ak Doug Lee tou kontribye nan li, epi li evantyèlman te vin yon pati nan ke moun kap kriye yo synchrone milti-threaded nan bibliyotèk Java a. Ann sipoze ke estrikti done a li ak ekri san yo pa bloke, se sa ki, chak operasyon gen yon kantite limite nan enstriksyon sou chemen an kritik. Si w eseye retire done ki nan yon veso ki vid, oswa si w eseye retire sèten done ki pa nan veso sa a, yo imedyatman enfòme w ke sa pa ka fè. Men, konpòtman sa a ka pa akseptab si fil la reyèlman bezwen done sa a. Lè sa a, premye bagay ki vin nan tèt ou se kreye yon bouk ki pral toujou ap mande si done ki nesesè yo te parèt. Men, Lè sa a, gen entèferans pou tout lòt moun. Anplis de sa, ak apwòch sa a, ou ka tann 10 minit, ak Lè sa a, kèk lòt fil ap vini, epi li pral aksidantèlman resevwa done ki nesesè yo an premye. Estrikti done doub toujou pa gen kadna, men yo pèmèt fil yo rete tann byen. Tèm "double" la vle di ke estrikti a gen swa done oswa demann pou done, ann rele yo anti-done. Se konsa, si ou eseye rekipere yon bagay nan yon veso vid, yon demann yo pral mete nan veso a pito. Koulye a, fil la ka tann pou yon demann san yo pa deranje nenpòt lòt moun. Anplis de sa, estrikti done a bay priyorite demann pou lè li resevwa yo, li pase yo bay bon moun nan. Rezilta a se yon mekanis ki pa bloke ki toujou gen yon spesifikasyon fòmèl ak bon pèfòmans nan pratik.
Alex: Ki sa w ap atann de estrikti done sa a? Èske li pral amelyore pèfòmans nan tout ka komen, oswa èske li pi byen adapte pou sèten sitiyasyon?
Michael: Li itil si, premyèman, ou bezwen yon veso san fèmen, epi, dezyèmman, ou bezwen rete tann nan yon sitiyasyon kote ou bezwen rekipere done nan veso a ki pa nan li. Dapre sa mwen konnen, fondasyon nou an bay bon konpòtman lè de kondisyon sa yo satisfè. Se poutèt sa, nan ka sa yo mwen rekòmande pou itilize li. Avantaj prensipal la nan estrikti done lockless se ke yo evite pwoblèm pèfòmans. Ak ap tann trè enpòtan nan anpil algoritm si done yo transfere soti nan yon fil nan yon lòt.
Виталий: Kite m 'klarifye: ou pral pale sou menm bagay la tou de nan lekòl la ak nan konferans lan?
Michael: Lekol an jeneral sou estrikti done milti-threaded, ak prensip debaz yo dekri nan kòmansman leson an. Mwen sipoze odyans lan konnen ki sa fil yo ye epi li abitye ak kadna. Ki baze sou konesans debaz sa a, mwen pral pale sou estrikti done ki pa fèmen. Mwen pral bay yon apèsi sou pwoblèm ki pi enpòtan yo nan domèn sa a, manyen sou sijè tankou jesyon memwa. Mwen pa panse pral gen anyen ki pi konplike pase keu MS la.
Alex: Èske w ap planifye pou anseye sou estrikti done doub nan fen klas ou nan lekòl la?
Michael: Mwen pral mansyone yo, men mwen pa pral pase anpil tan sou yo. Rapò Hydra a pral dedye a yo. Li pral kouvri pwojè a ki evantyèlman te fè li nan Java, osi byen ke travay ak Joe Israelevich yo kreye yon varyant doub nan keu LCRQ la, ak kreye yon konsepsyon prèske inivèsèl pou estrikti done doub.
Alex: Se konsa, konferans la nan lekòl la ka rekòmande pou débutan, ak konferans la sou estrikti done doub sou Hydra - pou moun ki deja gen kèk eksperyans?
Michael: Korije m 'si mwen mal, men odyans lan nan Hydra pral byen divès, ki gen ladan anpil ekspè Java, ak an jeneral moun ki pa espesyalman patisipe nan pwogram milti-threaded.
Виталий: Wi, se vre.
Alex: Omwen nou espere sa.
Michael: Nan ka sa a, mwen pral fè fas ak menm pwoblèm ak ki nou te kòmanse entèvyou sa a: ki jan yo fè yon rapò tou de ase rich nan detay teknik ak aksesib a tout moun k ap koute.
Виталий: Èske w ap bay yon rapò menm jan ou bay konferans? Sa vle di, pale ak odyans lan epi adapte yo ak sitiyasyon an?
Michael: Mwen pè ke li pa pral mache konsa, paske rapò a pral gen diapositives. Slides yo enpòtan lè moun k ap koute yo okòmansman pale diferan lang. Anpil moun ap jwenn li difisil pou konprann mwen an angle, sitou si mwen pale twò vit. Mwen te chwazi sijè sa yo paske mande m pou m pale sou estrikti done ki pa fèmen nan SPTDC School; Apre sa, mwen te bezwen yon rapò pou yon konferans gwoup itilizatè Java, epi mwen te vle chwazi yon bagay ki ta enterese espesyalman pou pwogramasyon Java yo. Fason ki pi fasil la se te pale sou bagay sa yo nan bibliyotèk Java a ke mwen te gen yon men nan yon fason oswa yon lòt.
Alex: Nou sipoze ke odyans lan sou Hydra deja konnen yon bagay sou pwogramasyon lock-gratis e petèt gen kèk eksperyans nan domèn sa a. Men, sa a se sèlman yon sipozisyon sitiyasyon an pral vin pi klè nan konferans nan tèt li. Antouka, mèsi pou tan ou. Mwen sèten entèvyou a pral trè enteresan pou lektè nou yo. Mèsi anpil!
Виталий: Mèsi.
Michael: Mwen pral kontan rankontre ou nan Saint Petersburg.
Alex: Nou menm tou, nou gen yon bèl vil. Èske w te janm la?
Michael: Non, mwen pa janm te nan Larisi ditou. Men, Saint Petersburg te toujou sou lis kote mwen poko ale, men kote mwen reyèlman vle ale, kidonk mwen te trè kontan sou envitasyon an.
Alex: By the way, nou pral gen yon pwogram nan randone pou moun ki pale. Mèsi anpil pou entèvyou a, epi pase yon bon jounen!
Ou ka kontinye konvèsasyon w ak Michael nan konferans Hydra 2019 la, ki pral fèt 11-12 jiyè 2019 nan Saint Petersburg. Li pral vini ak yon rapò . Tikè yo ka achte .
Sous: www.habr.com
