- sem prófessor í tölvunarfræði við Háskólann í Rochester og starfaði sem deildarforseti í fimm ár við fyrrverandi skóla sinn, Háskólann í Wisconsin–Madison. Hann stundar rannsóknir samhliða og dreifða forritun og tungumálahönnun og kennir þessi fög fyrir nemendum.
Heimurinn þekkir Michael úr kennslubókinni , hvað með vinnuna hlaut Dijkstra-verðlaunin sem einn þekktasti á sviði dreifðrar tölvunarfræði. Þú gætir einnig þekkt hann sem höfund þessa sama reiknirits. .
Ásamt Doug Lee þróaði hann blokkunarlaus reiknirit og samstilltar biðraðir sem knýja Java bókasöfnin. JavaSE 6 hefur tífaldað afköstin. ThreadPoolExecutor.
Efnisyfirlit:
- Snemma starfsferils, Háskólinn í Rochester. Charlotte-verkefnið, tungumál gaupu;
- IEEE stigstærðanlegt samfellt viðmót, MCS læsing;
- Að lifa af í síbreytilegum heimi;
- Eru nemendur að verða heimskari? Alþjóðlegar þróunar, alþjóðavæðing;
- Árangursrík vinna með nemendum;
- Hvernig á að fylgjast með nýjustu þróun í undirbúningi nýrra námskeiða og bóka;
- Tengsl milli viðskipta og fræðasamfélagsins;
- Að koma hugmyndum í framkvæmd. MCS, MS, CLH, JSR 166, vinna með Doug Lee og margt fleira;
- Viðskiptaminni;
- Nýjar byggingarlistar. Færsluminni er á barmi sigurs;
- Óstöðugt minni, Optane DIMM, ofurhröð tæki;
- Næsta stóra þróunin. Tvöföld gagnaskipan. Hydra.
Viðtalið er tekið af:
Vitaly Aksenov — er nú nýdoktor við IST Austurríki og starfar í tölvunarfræðideild ITMO háskólans. Rannsóknir hans beinast að kenningum og framkvæmd samhliða gagnagerða. Áður en hann hóf störf hjá IST lauk hann doktorsprófi frá Parísar-Diderot háskólanum og ITMO háskólanum undir handleiðslu prófessors Petr Kuznetsov.
Alexey Fedorov - Framleiðandi hjá JUG Ru Group, rússnesku fyrirtæki sem skipuleggur ráðstefnur fyrir þróunaraðila. Alexey tók þátt í undirbúningi meira en 50 ráðstefna og ferilskrá hans inniheldur allt frá stöðu þróunarverkfræðings hjá Oracle (JCK, Java Platform Group) til stöðu þróunaraðila hjá Odnoklassniki.
Vladimir Sitnikov - Verkfræðingur hjá Netcracker. Tíu ára vinna við frammistöðu og sveigjanleika NetCracker OS, hugbúnaðar sem fjarskiptafyrirtæki nota til að gera sjálfvirkan net- og netbúnaðarstjórnunarferli. Hef áhuga á frammistöðumálum Java og Oracle Database. Höfundur meira en tugi árangursbóta í opinbera PostgreSQL JDBC reklanum.
Snemma starfsferils, Háskólinn í Rochester. Charlotte-verkefnið, tungumál Gaupu.
AlexeyFyrst af öllu vildi ég segja ykkur að við í Rússlandi erum öll mjög hrifin af tölvunarfræði, gagnavísindum og reikniritum. Það er næstum ósæmilegt. Við höfum öll lesið... Þess vegna ætti komandi ráðstefna, skólinn og þetta viðtal sjálft að verða mjög vinsælt. Við fengum fjölmargar spurningar fyrir þetta viðtal frá nemendum, forriturum og íbúum samfélagsins, svo við erum mjög þakklát fyrir þetta tækifæri. Er tölvunarfræði jafn vinsæl í Bandaríkjunum?
MichaelSvið okkar er svo fjölbreytt, það hefur svo margar greinar og hefur svo marga áhrif á samfélagið að það er erfitt fyrir mig að gefa þér afdráttarlaust svar. En staðreyndin er sú að það hefur knúið fram gríðarlegar breytingar í viðskiptum, iðnaði, listum og samfélaginu í heild sinni á síðustu 30 árum.
ВиталийByrjum á einhverju fjarlægara. Margir háskólar hafa eins konar sérhæfingu á einu ákveðnu sviði. Fyrir Carnegie Mellon er það samsíða útreikningar; fyrir MIT er það dulritun, vélfærafræði og fjölþráðafræði. Hefur Háskólinn í Rochester svipaða sérhæfingu?
MichaelÉg myndi alveg segja að CMU og MIT sérhæfi sig í öllu. Deild okkar hefur alltaf einbeitt sér að gervigreind. Helmingur starfsfólks okkar vinnur við gervigreind eða samskipti milli manna og tölvu – hærra hlutfall en í öðrum deildum, og það hefur alltaf verið þannig. En þegar ég var við CMU hafði ég engin námskeið í gervigreind og hef aldrei unnið við það. Þannig að deildin mín sérhæfir sig í vandamáli sem ég hef engin tengsl við. Góðu fréttirnar eru þær að næst mikilvægasta vandamálið í deildinni okkar er samtímis og fjölþráða forritun, sem er mitt sérsvið.
ВиталийÞú byrjaðir að starfa í tölvunarfræði þegar fjölþráðaforritun var rétt að koma fram. Miðað við útgáfulista þinn náðu fyrstu verk þín yfir nokkuð breitt svið efnis: minnisstjórnun í fjölþráða kerfum, dreifð skráarkerfi og stýrikerfi. Hvers vegna svona fjölhæfni? Varstu að reyna að finna þinn stað í rannsóknarsamfélaginu?
MichaelSem nemandi tók ég þátt í við Háskólann í Wisconsin, þar sem eitt af fyrstu dreifðu stýrikerfunum var þróað. Þar vann ég með Raphael Finkel () og Marvin Solomon (). Lokaritgerð mín fjallaði um þróun hugbúnaðarmáls fyrir dreifð kerfi — það er að mestu gleymt núna, sem betur fer. Ég bjó til forritunarmálið Lynx, sem átti að einfalda gerð netþjóna fyrir lauslega tengt dreifð stýrikerfi. Þar sem ég var aðallega að vinna með stýrikerfi á þeim tíma, gerði ég ráð fyrir að ferill minn myndi einnig snúast um þau. En Rochester háskólinn var mjög lítill, og vegna þessa höfðu mismunandi hópar þar mjög náin samskipti sín á milli. Það voru ekki tylft annarra stýrikerfissérfræðinga sem ég gat átt samskipti við, svo öll mín samskipti voru við fólk sem starfaði á allt öðrum sviðum. Mér fannst þetta mjög gaman; það var mikill kostur fyrir mig að vera alhæfður. Hvað varðar fjölþráða gagnaskipanir og samstillingaralgrím sérstaklega, þá byrjaði ég að vinna með þau alveg óvart.
IEEE stigstærðanlegt samhangandi viðmót, MCS læsing.
Виталий: Geturðu útskýrt þetta aðeins nánar?
MichaelÞetta er skemmtileg saga sem ég þreytist aldrei á að segja öllum. Hún gerðist á ráðstefnu. í Boston - það var seint á níunda áratugnum eða snemma á tíunda áratugnum. John Mellor-Crummie var viðstaddur ráðstefnuna (), útskrifaður úr deild okkar. Ég þekkti hann, en við höfðum ekki áður gert sameiginlegar rannsóknir. Mary Vernon () frá Wisconsin hélt kynningu á fjölvinnslukerfinu sem þeir voru að þróa í Wisconsin: Þessi fjölþráðatölvu var með samstillingarkerfi fyrir vélbúnað sem kallaðist Q on Sync Bit, sem síðar var endurnefnt Q on Lock Bit vegna þess að það hljómaði eins og Colby-ostur, svo það var orðaleikur. Ef þú hefur áhuga á fjölþráðum, þá veistu líklega að Colby varð að lokum samstillingarkerfið fyrir IEEE Scalable Coherent Interface staðalinn. Þetta var læsingarkerfi sem bjó til bendla frá einum skyndiminni til annars á vélbúnaðarstigi svo að hver láshafi vissi hver átti að gera. Þegar ég og John heyrðum af þessu, horfðum við hvor á annan og sögðum, af hverju að gera þetta á vélbúnaðarstigi? Getum við ekki náð því sama með samanburði og skipti? Við tókum eina af minnisbókunum sem lágu í kennslustofunni og teiknuðum hana upp. á meðan María hélt áfram kynningu sinni. Við framkvæmdum það síðar, gerðum tilraunir með það, hugmyndin reyndist vel og við birtum greinina. Á þeim tíma virtist efnið bara vera skemmtileg afþreying fyrir mér, eftir það ætlaði ég að snúa mér aftur að stýrikerfum. En þá kom upp annað vandamál í sömu átt og að lokum urðu samstilling, fjölþráðun og gagnauppbygging mín aðalsérgrein. Eins og þið sjáið gerðist þetta allt fyrir slysni.
ВиталийÉg hef lengi þekkt MCS-blokkun, en þangað til nú vissi ég ekki að þetta væri þitt verk og gerði mér ekki grein fyrir að þetta væri skammstöfun fyrir eftirnöfnin þín.
Hvernig á að lifa af í síbreytilegum heimi?
AlexeyÉg hef spurningu sem tengist þessu. Fyrir þrjátíu eða fjörutíu árum var meira frelsi í mismunandi sérgreinum. Ef þú vildir hefja feril í fjölþráða- eða dreifðum kerfum, gerðu það; ef þú vildir vinna í stýrikerfum, þá var það ekkert mál. Hvert svið hafði margar opnar spurningar og fáa sérfræðinga. Nú hafa þröngar sérhæfingar komið fram: það eru ekki bara almennir sérfræðingar í stýrikerfum, það eru sérfræðingar í tilteknum kerfum. Hið sama gildir um fjölþráða- og dreifð kerfi. En vandamálið er að líf okkar er takmarkað; hver einstaklingur getur aðeins helgað nokkra áratugi rannsóknum. Hvernig lifum við af í þessum nýja heimi?
MichaelVið erum ekki sérstök í þessu tilliti; það sama gerðist á öðrum sviðum á einum eða öðrum tímapunkti. Ég var heppinn að byrja að vinna í tölvunarfræði þegar sviðið var á frumstigi. Sumir grunnurinn var þegar lagður, en allt var enn mjög óþroskað. Tækifæri eins og þetta gefast ekki oft. Rafmagnsverkfræði hefur verið til í mjög langan tíma, eðlisfræði enn lengur, og stærðfræði nánast frá upphafi tíma. En það þýðir ekki að enginn sé að gera áhugaverðar uppgötvanir í stærðfræði lengur. Það eru ennþá mörg opin vandamál, en á sama tíma þurfum við að læra meira. Þú hefur rétt fyrir þér að það eru mun fleiri sérhæfingar núna en áður var, en það þýðir bara að við erum í sömu stöðu og flest önnur svið mannlegrar viðleitni.
AlexeyÉg hef áhuga á hagnýtari þætti spurningarinnar hér. Ég hef bakgrunn í stærðfræði og á námsárunum sótti ég oft ráðstefnur og vann að ýmsum vísindalegum efnum. Ég komst að því að enginn í áhorfendaskaranum skildi fyrirlestra mína og á sama hátt voru fyrirlestrar annarra aðeins skiljanlegar fyrir þá sjálfa. Þetta á ekki eins við um efni á háu stigi, en um leið og maður byrjar að kafa djúpt í eitthvað geta áheyrendur ekki fylgst með. Hvernig tekst maður á við þetta?
MichaelEkki alltaf með góðum árangri. Ég undirbjó nýlega fyrirlestur þar sem ég fór of djúpt í tæknileg smáatriði. Eftir því sem fyrirlesturinn þróaðist varð ljóst að flestir áhorfendur skildu mig ekki, svo ég þurfti að aðlagast á augabragði. Ekki var hægt að breyta glærunum, svo það gekk ekki mjög vel — þess vegna reyni ég almennt að nota ekki glærur. Almennt séð er ráð mitt að taka tillit til áhorfenda þinna. Þú þarft að vita hverjum þú ert að ávarpa, þekkingarstig þeirra og hvað þeir þurfa að heyra til að kunna að meta verk þitt.
ВиталийGeturðu gefið mér vísbendingu um hvað þessi fyrirlestur fjallaði um?
MichaelÉg vil helst ekki útskýra þetta efni nánar til að varðveita nafnleynd þeirra sem að málinu koma. Málið er að við köfum oft of djúpt í flækjur vandamálsins sem við erum að vinna að, sem gerir það erfitt að útskýra í upphafi fyrirlesturs hvers vegna vandamálið er áhugavert og mikilvægt og hvernig það tengist málum sem áhorfendur þekkja nú þegar. Að mínu mati er þetta sú færni sem nemendur eiga mest í erfiðleikum með. Og það var veikleiki í nýlegri fyrirlestri mínum. Vel uppbyggður fyrirlestur ætti að ná til áhorfenda strax í upphafi og útskýra nákvæmlega hvert vandamálið er og hvernig það tengist efnum sem þeir þekkja nú þegar. Hversu tæknileg þessi kynning er fer eftir áhorfendum. Ef hún er mjög fjölbreytt getur fyrirlesturinn verið í mörgum skrefum. Inngangurinn ætti að vera aðgengilegur öllum og í lokin gæti verið of erfitt að fylgjast með, en fólk sem er tiltölulega kunnugt um þitt svið mun geta skilið allt.
Eru nemendur að verða heimskari? Alþjóðlegar þróunar, alþjóðavæðing.
AlexeyÞú hefur fylgst með nemendum í áratugi núna. Verða nemendur heimskari eða klárari frá áratug til áratugar eða frá ári til árs? Í Rússlandi kvarta prófessorar stöðugt yfir því að nemendur verði heimskari með hverju ári og það er hreinlega óljóst hvað eigi að gera í því.
MichaelÞað er hægt að heyra mikla neikvæðni frá okkur gömlu mönnum. Ómeðvitað höfum við tilhneigingu til að búast við að nemendur tileinki sér alla þá 30 ára reynslu sem við höfum nú þegar. Ef ég hef dýpri skilning en ég hafði árið 1985, af hverju hafa nemendur hann þá ekki? Sennilega vegna þess að þeir eru 20 ára gamlir, hvað með það? Ég held að mikilvægasta breytingin á síðustu áratugum varði lýðfræðilega samsetningu: við höfum nú mun fleiri erlenda nemendur, fyrir utan Kanadamenn. Áður fyrr voru margir Kanadamenn vegna þess að við erum svo nálægt landamærum Kanada og nemendur þaðan gátu farið heim um helgar. En nú eru margir góðir háskólar í Kanada og Kanadamenn kjósa að læra heima; þeir ferðast mun minna til Bandaríkjanna.
AlexeyTelur þú að þetta sé staðbundin þróun eða alþjóðleg?
MichaelÉg man ekki nákvæmlega hver, en einhver sagði að heimurinn væri flatur. Okkar svið er orðið verulega alþjóðlegra. Áður voru þær haldnar eingöngu innan Bandaríkjanna, síðan var ákveðið að halda þær í öðrum löndum á fjögurra ára fresti og nú eru þær haldnar um allan heim. Þessar breytingar hafa haft enn meiri áhrif. , því það hefur alltaf verið alþjóðlegri stofnun en ACM. Og þar eru formenn verkefnisins frá Kína, Indlandi, Rússlandi, Þýskalandi og mörgum öðrum löndum, því það er svo margt að gerast alls staðar núna.
AlexeyEn það eru líklega einhverjir neikvæðir þættir við þessa alþjóðavæðingu?
MichaelÉg myndi segja að allir neikvæðu þættirnir séu pólitískir, ekki tæknilegir. Eitt sinn var aðalvandamálið að Bandaríkin stal gáfaðasta og hæfileikaríkasta fólkinu frá löndum um allan heim. Nú er aðalvandamálið pólitískir leikir milli ólíkra landa um vegabréfsáritanir og innflytjendamál.
AlexeyÞað er að segja, hindranir og þess háttar. Skilið.
VladimirPersónulega er ég forvitinn um hvernig þú kennir nemendum nýtt efni. Það eru mismunandi aðferðir: þú getur einbeitt þér að því að hvetja þá til að prófa eitthvað nýtt, eða þú getur einbeitt þér meira að smáatriðunum um hvernig tiltekin tækni virkar. Hvort kýst þú?
Árangursrík vinna með nemendum
AlexeyOg hvernig finnur þú þetta bölvaða jafnvægi á milli þess fyrsta og annars?
MichaelVandamálið er að kennslustundir ganga ekki alltaf eins og ég vil. Ég gef nemendum yfirleitt lesefni fyrirfram svo þeir geti tileinkað sér það, skilið það eins vel og þeir geta og sett fram spurningar um þau atriði sem þeir hafa ekki skilið. Síðan, í kennslustundinni, getum við einbeitt okkur að erfiðustu atriðum og skoðað þau saman. Þannig kýs ég að kenna. En miðað við núverandi vinnuálag hef ég ekki alltaf tækifæri til að ganga úr skugga um að þeir hafi undirbúið sig fyrirfram. Þar af leiðandi eyði ég töluvert meiri tíma í almennar samantektir en ég vil. Þrátt fyrir þetta reyni ég að halda kennslustundunum okkar gagnvirkum. Annars er auðveldara að taka bara upp myndband einu sinni sem nemendur geta síðan horft á heima. Tilgangurinn með kennslustundum í beinni er mannleg samskipti. Í kennslustundum kýs ég að nota krít og töflu frekar en glærur, nema í mjög sjaldgæfum tilfellum þegar skýringarmynd er of flókin til að sýna á töflunni. Þetta frelsar mig frá því að þurfa að halda mig við stífa kennsluáætlun. Þar sem það er engin föst röð þar sem ég kynni efnið, gerir þetta mér kleift að aðlagast áhorfendum út frá spurningunum sem ég fæ. Í heildina reyni ég að gera tímana eins gagnvirka og mögulegt er, þannig að efnið sem ég kynni fari eftir spurningunum sem ég er spurður að.
VladimirÞað er frábært. Mín reynsla sýnir að það er frekar erfitt að fá spurningar frá hlustendum. Jafnvel þótt maður spyrji þá spurninga fyrirfram, sama hversu heimskulegar eða snjallar þær eru, þá þegja þeir samt. Hvernig tekst maður á við þetta?
MichaelÞú munt hlæja, en ef þú stendur þarna nógu lengi þögull, þá mun fyrr eða síðar öllum líða illa og einhver mun spyrja spurningar. Eða þú gætir spurt einfaldrar tæknilegrar já/nei spurningar til að kanna hvort fólk skildi það sem var sagt. Til dæmis, er gagnakapphlaup í dæminu sem gefið er? Hver heldur það? Hver heldur það ekki? Hver skilur ekkert, af því að aðeins helmingur hendanna fór upp?
ВиталийOg ef þú svarar rangt, þá ertu rekinn úr tímanum :)
MichaelEf þú hefur ekki svarað neinu, þá verð ég að spyrja spurningar. Ég verð að finna út hvað nemandinn þarf að vita til að svara spurningunni sem ég spurði rétt í þessu. Þeir þurfa að hjálpa mér að hjálpa þeim. Ég er tilbúinn að aðlagast þeim svo þeir geti fundið út vandamálið. En ef ég veit ekki hvað er í gangi í höfðinu á þeim, þá get ég ekki gert það. Og ef ég held nemendum á tánum nógu lengi, þá enda þeir stundum á því að spyrja réttra spurninga – spurninga sem leyfa mér að sjá hvað er í gangi í höfðinu á þeim.
AlexeyLeiða þessar spurningar stundum til hugmynda sem þú hafðir ekki hugsað um áður? Eru þær óvæntar? Leyfa þær þér að líta á vandamál í nýju ljósi?
MichaelÞað eru spurningar sem opna nýjar leiðir til að kynna efnið. Oft leiða spurningar að áhugaverðum vandamálum sem ég hafði ekki ætlað að ræða. Nemendur segja mér oft að ég eigi til að víkja frá efni kennslustundarinnar þegar þetta gerist. Og að þeirra sögn er þetta oft áhugaverðasti hluti kennslustundarinnar. Örsjaldan, aðeins örfá skipti, hafa nemendur spurt spurninga sem hafa leitt til nýrrar rannsóknarstefnu og þróast í grein. Þetta gerist mun oftar í samræðum við nemendur en í kennslustundum, en það hefur gerst stundum á meðan á kennslustund stendur.
AlexeyNemendur spurðu þig því spurninga sem síðar gætu verið notaðar sem grunnur að grein?
Michael: Já.
ВиталийHversu oft áttu svona samræður við nemendur? Hvenær vilja þeir læra meira en það sem farið var yfir í tímanum?
MichaelVið framhaldsnemana mína — allan tímann. Ég hef um fimm eða sex nemendur og við erum alltaf að ræða hluti. Samtöl eins og þessi við nemendur sem einfaldlega mæta í tíma hjá mér eru ekki mjög tíð. Þó að ég vildi óska að það gerðist oftar. Ég grunar að þeir séu einfaldlega hræddir við að koma á skrifstofu kennarans á skrifstofutíma. Á hverri önn tekst sumum nemendum að yfirstíga þessa sálfræðilegu hindrun og það er alltaf mjög áhugavert að tala við þá eftir tíma. Hins vegar, ef allir nemendurnir væru jafn hugrakkir, hefði ég einfaldlega ekki tíma. Svo kannski er allt að virka eins og það á að gera.
ВиталийHvernig finnur þú tíma til að eiga samskipti við nemendur? Svo vitað sé eru prófessorar í Bandaríkjunum mjög uppteknir - við umsóknir um styrki og þess háttar.
MichaelHeiðarlega sagt, þá er það sem mér finnst skemmtilegast að vinna með nemendum. Þannig að ég er frekar áhugasöm. Mestur tími sem ég eyði á skrifstofunni minni fer í ýmsa fundi. Það er sumar núna, svo dagskráin mín er minna þéttsetin, en á skólaárinu er ég fullbókuð alla daga frá kl. 9 til 17. Rannsóknir, umsagnir, styrkveitingar - ég hef bara kvöld og helgar fyrir allt þetta.
Hvernig á að fylgjast með nýjustu þróun í undirbúningi nýrra námskeiða og bóka.
AlexeyErtu enn að kenna einhver námskeið sem þú hefur kennt lengi? Eitthvað eins og inngang að tölvunarfræði.
MichaelÞað fyrsta sem kemur upp í hugann hér er námskeið í forritunarmálum.
AlexeyHversu ólík er útgáfan af þessu námskeiði í dag frá því sem hún var fyrir 10, 20 eða 30 árum? Kannski er heildarþróunin áhugaverðari en smáatriðin í tilteknu námskeiði.
MichaelNámskeiðið mitt í forritunarmálum var nokkuð óvenjulegt þegar ég bjó það til. Ég byrjaði að kenna það seint á níunda áratugnum og tók við af samstarfsmanni mínum, Doug Baldwin (). Efni námskeiðsins tengdist aðeins óbeint sérhæfingu minni, en þegar hann hætti fannst mér ég vera besti maðurinn til að kenna það. Mér líkaði ekki við neinar af kennslubókunum sem fyrir voru, svo ég endaði á því að skrifa kennslubókina fyrir námskeiðið sjálfur. (Athugasemd ritstjóra: Þetta fjallar um bókina) Það er nú notað í yfir 200 háskólum um allan heim. Aðferð mín er óvenjuleg að því leyti að hún blandar vísvitandi saman hönnun og útfærslu forritunarmála og einbeitir sér að samspili þessara þátta á öllum mögulegum sviðum. Kjarnaaðferðin hefur haldist óbreytt, eins og mörg af kjarnahugtökunum: abstrakt hugtök, nafnrými, mátkerfi, gerðir. Hins vegar hefur safn tungumála sem notuð eru til að sýna fram á þessi hugtök gjörbreyst. Þegar námskeiðið var fyrst búið til innihélt það mörg dæmi í Pascal, en í dag hafa margir nemenda minna aldrei heyrt um það forritunarmál. En þeir þekkja Swift, Go og Rust, svo ég verð að tala um þau forritunarmál sem eru í notkun í dag. Einnig eru nemendur nú vel að sér í skriftunarmálum, en þegar ég byrjaði að kenna þetta námskeið var það alfarið helgað þýddum forritunarmálum. Nú þurfum við hins vegar mikið efni um Python, Ruby og jafnvel Perl, því það er það sem fólk skrifar kóða í nú til dags, og margt áhugavert er að gerast í þessum forritunarmálum, þar á meðal á sviði forritunarmála.
ВиталийNæsta spurning mín tengist þeirri fyrri. Hvernig heldurðu þér í við á þessu sviði? Ég grunar að það þurfi mikla vinnu að uppfæra svona námskeið — þú þarft að skilja ný tungumál og ná tökum á grunnhugtökunum. Hvernig tekst þér að takast á við það?
MichaelÉg get ekki sagt að mér takist þetta alltaf 100%. En oftast geri ég bara það sem allir aðrir gera — les á netinu. Ef ég vil skilja Rust, þá googla ég það, fer á vefsíðu Mozilla og les leiðbeiningarnar þar. Það er það sem er að gerast í viðskiptaþróun. Hvað varðar fræðimenn, þá þarf ég að fylgjast með fyrirlestrum á stórum ráðstefnum.
Tengsl milli viðskipta og fræðasamfélagsins
ВиталийVið skulum ræða tengslin milli viðskipta og fræðilegra rannsókna. Ég fann nokkrar greinar um skyndiminnissamræmi í verkefnalistanum þínum. Að því er ég best skil, voru reiknirit fyrir skyndiminnissamræmi óstöðug þegar þau voru birt? Eða ekki mikið notuð. Hversu víða voru hugmyndir þínar viðurkenndar í reynd?
MichaelÉg er ekki alveg viss um hvaða útgáfur þú ert að tala um. Ég hef unnið töluvert með nemendum mínum, Bill Bolosky () og Leonidas Kontotanassis () snemma á tíunda áratugnum, þar sem þeir unnu að minnisstjórnun fyrir Neumann-vélar. Á þeim tíma skildi fyrirtækið ekki enn hvernig ætti að smíða fjölvinnslukerfi á réttan hátt: hvort byggja ætti upp stuðning fyrir fjarlægan aðgang að minni á vélbúnaðarstigi, hvort dreifa ætti minni, hvort hlaða ætti skyndiminni úr fjarlægu minni eða hvort færa ætti síður í stýrikerfinu. Bill og Leonidas voru báðir að vinna á þessu sviði og kanna aðferðir sem fólu ekki í sér fjarlæga hleðslu skyndiminnis. Þetta tengdist ekki beint samfellu skyndiminni, en það var samt vinna á NUMA minnisstjórnun og varð síðar grunnurinn að nútíma aðferðum við síðustaðsetningu í nútíma stýrikerfum. Í heildina unnu Bill og Leonidas mikilvægt starf, þó ekki það áhrifamesta á þessu sviði - margir aðrir voru að vinna að sama verkefni á þeim tíma. Síðar vann ég að samfellu skyndiminni í samhengi við viðskiptaminni vélbúnaðar. Hópurinn sem ég vann með að þessu vandamáli fékk nokkur einkaleyfi. Það eru nokkrar áhugaverðar hugmyndir á bak við þær, en ég held ekki að þær verði að lokum framkvæmdar. Í öllu falli er erfitt fyrir mig að meta arðsemi þeirra.
AlexeyÍ þessu sambandi, persónulegri spurning: hversu mikilvægt er það fyrir þig að sjá hugmyndir þínar koma í framkvæmd? Eða hugsarðu ekki um það?
MichaelMér finnst gaman að spyrja þessarar spurningar í viðtölum við annað fólk, hvort sem það eru umsækjendur eða fólk sem hefur áhuga á að vinna í deildinni. Ég held að það sé ekkert rétt svar. Fólk sem gerir flotta hluti getur haft mjög mismunandi hvata. Ég laðast að vandamálum vegna þess að ég persónulega finn þau áhugaverð, ekki vegna hagnýtrar notkunar þeirra. En hins vegar, þegar eitthvað áhugavert finnur notkun, þá nýt ég þess virkilega. Svo það er ekki svo einfalt. En í upphafi verkefnis er ég ekki knúinn áfram af hugmyndinni um endanlega notkun þess í heiminum, heldur af samhengi hugmyndarinnar og lönguninni til að kanna hana og sjá hvað kemur út úr henni. Ef það að lokum skilar hagnýtum ávinningi, frábært.
AlexeyÞökk sé menntun þinni og reynslu ert þú betur í stakk búinn en margir til að meta gildi hugmynda annarra. Þú getur borið þær saman og ákvarðað hver virkar best við hverja. Ég er viss um að þú hefur skoðun á þeirri tækni sem stórir framleiðendur eins og Intel nota í reynd. Er leiðin sem þessi fyrirtæki eru að fara, að þínu mati, rétta leiðin?
MichaelÍ starfi snýst allt um það sem getur verið viðskiptalega farsælt, það er að segja, skilað hagnaði, og það er betra að spyrja einhvern annan um það. Verk mín leiða aðallega til útgáfu, og á sviði stýrikerfa eru þau metin út frá afköstum: hraða, orkunotkun, kóðastærð. En mér fannst alltaf að þessar reynsluniðurstöður væru aðeins bættar við greinar svo hægt væri að birta þær, en raunverulegar hvatir fólks fyrir vinnu eru fagurfræðilegar. Rannsakendur meta lausnir út frá listrænu sjónarhorni; þeim er annt um glæsileika hugmynda sinna og þeir reyna að skapa eitthvað betra en núverandi aðferðir. Rannsakendur eru knúnir áfram af persónulegum, huglægum, fagurfræðilegum hvötum. En þú getur ekki skrifað um þetta í greininni sjálfri; þetta eru ekki rök fyrir áætlunarnefndina. Sem betur fer eru glæsilegar lausnir oft líka hraðar og ódýrar. Um tíu samstarfsmenn mínir og ég ræddum þetta efni fyrir um 15 árum og enduðum á því að skrifa grein um það. Ég held að það sé enn að finna hana núna; hún heitir... eða eitthvað álíka, það eru fleiri en tylft höfundar að því. Þetta er eina greinin þar sem ég er höfundur ásamt , svo ef þú leitar að nafni hennar í útgáfulistanum mínum, þá finnur þú það sem þú ert að leita að. Þar er fjallað um mat á kerfisrannsóknum og mikilvægi glæsileika.
AlexeyÞað er því munur á stöðlum fyrir það sem telst góð niðurstaða í vísindum og viðskiptum. Í vísindum er metið afköst, orkunotkun, heildarafköst (TDP), auðveldleiki í framkvæmd og margt fleira. Hefur þú tækifæri til að framkvæma þess konar rannsóknir við háskólann? Ertu með rannsóknarstofu með mismunandi vélum og mismunandi arkitektúr þar sem hægt væri að framkvæma tilraunir?
MichaelJá, deildin okkar býr yfir mörgum áhugaverðum vélum. Þær eru yfirleitt litlar; við höfum lítinn klasa og mörg fjölvinnslukerfi með ýmsum hröðlum. Við höfum líka risastóra tölvumiðstöð á háskólasvæðinu sem þjónar vísindamönnum frá nokkrum tugum mismunandi fræðigreina. Hún hefur um þúsund hnúta og tuttugu þúsund kjarna, sem allir keyra Linux. Ef þörf krefur getum við alltaf keypt AWS. Þannig að við höfum engar verulegar takmarkanir á vélbúnaði.
AlexeyHvernig var staðan fyrir þrjátíu árum? Voru einhver vandamál þá?
MichaelHlutirnir voru aðeins öðruvísi þá. Um miðjan til síðari hluta níunda áratugarins var talið að vísindin skorti tölvuauðlindir. Til að bæta úr þessari stöðu stofnaði Þjóðvísindasjóðurinn (National Science Foundation) ) stofnaði Samræmda tilraunarannsóknaráætlunina (CER). Markmið hennar var að útvega tölvunarfræðideildum tölvuinnviði og það skipti verulegu máli. Með peningunum sem það veitti keyptum við 128 hnúta BBN Butterfly örgjörva við Háskólann í Rochester árið 1984, ári áður en ég kom. Á þeim tíma var þetta stærsta samnýtta minnis-fjölvinnslukerfi heims. Það hafði 128 örgjörva, hver á aðskildu móðurborði, sem tóku fjóra rekka. Hver örgjörvi hafði megabæt af minni; 128 megabæt af vinnsluminni var óhugsandi magn á þeim tíma. Við fyrst innleiddum MCS-læsingu á þessari vél.
AlexeyEf ég skil þig rétt, þá er vandamálið með vélbúnaðinn núna leyst?
MichaelAlmennt séð, já. Það eru nokkrir fyrirvarar: í fyrsta lagi, ef þú ert að vinna að tölvuarkitektúr á örgjörvastigi, þá er erfitt að gera það í fræðasamfélaginu því það eru til mun flóknari verkfæri fyrir það í viðskiptalífinu. Ef þú þarft eitthvað sem er minna en 10 nanómetrar, þá þarftu að útvista því. Það er miklu auðveldara að vera rannsakandi hjá Intel á því sviði. Ef þú ert að vinna að ljósleiðarasamskiptum á örgjörvum eða fasta-ástands minni, þá finnur þú tækni í viðskiptalífinu sem er ekki enn tiltæk í fræðasamfélaginu, svo þú verður að mynda bandalög. Til dæmis, Stephen Swanson () búið til fyrir nýja minnistækni. Þessi aðferð virkar ekki alltaf, en í sumum tilfellum getur hún verið nokkuð farsæl. Þar að auki er erfiðara að þróa öflugustu tölvukerfin í vísindum. Stærstu ofurtölvuverkefnin sem nú eru í gangi í Bandaríkjunum, Japan og Kína snúast öll um viðskipti.
Að koma hugmyndum í framkvæmd. MCS, MS, CLH, JSR 166, vinna með Doug Lee og margt fleira.
ВиталийÞú hefur þegar talað um hvernig þú byrjaðir að vinna með samstillingaralgrím. Þú hefur skrifað tvær mjög þekktar greinar um... и , sem að vissu leyti voru útfærð í Java. (Athugasemd ritstjóra: Hægt er að skoða allar útgáfur Þar var þessi lokun innleidd með nokkrum breytingum og það kom í ljós , og biðröðin var framkvæmd eins og til stóð. En mörg ár liðu frá útgáfu greinanna þinna og þar til þær voru notaðar í reynd.
AlexeyÞað virðist vera um 10 ár í tilviki biðröðarinnar.
MichaelÁður en þessir eiginleikar birtust í staðlaðri Java bókasafninu?
ВиталийJá. Hvað gerðir þú til að láta þetta gerast? Eða gerðir þú ekkert?
MichaelÉg get sagt þér hvernig biðröðin í MS komst inn í Java 5. Nokkrum árum áður en hún kom út var ég að vinna með hópi Marks Moyers hjá Sun Microsystems í rannsóknarstofu þeirra fyrir utan Boston. Hann skipulagði vinnustofu fyrir nokkra vini sína sem voru að vinna að áhugaverðum vandamálum í fjölþráðavinnslu, því hann vildi finna efni sem hægt væri að selja fyrirtæki hans. Þar hitti ég Doug Lea fyrst. Ég, Doug og um 25 aðrir frá Sun vorum að ræða kynningu Dougs um... , sem síðar varð að java.util.concurrent. Á leiðinni nefndi Doug að hann vildi nota MS biðröðina, en þyrfti teljara fyrir viðmótið til að meðhöndla fjölda staka í biðröðinni. Þetta þýddi að sérstök aðferð, atómísk, nákvæm og hröð, þyrfti að gera það. Ég lagði einfaldlega til að bæta raðnúmerunum við hnútana, taka raðnúmer fyrsta hnútsins og þess síðasta og draga annan frá hinum. Doug klóraði sér í höfðinu, sagði: „Af hverju ekki?“, og að lokum gerði hann einmitt það. Við ræddum um að útfæra þessa aðferð í bókasafni, en Doug vann mest af vinnunni sjálfur. Að lokum tókst honum að koma á fót framúrskarandi fjölþráðastuðningi í Java.
AlexeyEf ég skil þetta rétt, þá hefði .size() aðferðin átt að vera hluti af stöðluðu biðröðsviðmóti og hefði átt að hafa reikniritaflækjustig O(1)?
MichaelJá, og auk þessa er krafist sérstaks mælis.
AlexeyVegna þess að ef þú kallar á .size() aðferðina í Java, þá er gert ráð fyrir að niðurstaðan sé tiltæk strax, ekki byggð á raunverulegri stærð safnsins. Skil, takk.
MichaelNokkrum árum síðar vann ég að tvöföldum gagnaskipanum með nemanda mínum Bill Scherer - það er það sem ritgerðin mín mun fjalla um. Doug kom að máli við okkur og sagði að hann gæti notað þau í Java Executor Framework. Ásamt Bill bjó hann til tvær útfærslur, svokallaðar „fair“ og „unfair“ biðraðir. Ég var ráðgjafi í þessu verkefni, þó ég hafi ekki tekið þátt í að skrifa kóðann. Fyrir vikið jókst hraði framkvæmdarforritanna verulega.
VladimirHefur þú einhvern tíma rekist á rangar útfærslur á reikniritum þínum eða beiðnir um nýja eiginleika? Almennt ætti framkvæmd að vera í samræmi við kenninguna, en þær eru oft ólíkar. Segjum sem svo að þú hafir skrifað reiknirit og það virkar á pappír, en fólkið sem útfærir það byrjar að biðja þig um fleiri eiginleika eða einhverjar sérstillingar. Hefur þú einhvern tíma lent í slíkum aðstæðum?
MichaelEina dæmið þar sem einhver kom að mér og spurði „hvernig ætti að útfæra þetta“ var spurning Dougs, sem ég hef þegar nefnt. En það hafa verið nokkur tilvik þar sem áhugaverðar breytingar voru gerðar til að mæta hagnýtum þörfum. Til dæmis breytti K42 teymið hjá IBM MCS lásinum og bjó til staðlað viðmót sem útrýmdi þörfinni á að senda biðröðina fram og til baka á milli öflunar- og útgáfuferlanna. Þetta staðlaða viðmót gerði hugmyndina, sem var falleg í orði, að virka í reynd. Undarlega birtu þeir aldrei grein um það og þótt þeir hafi fengið einkaleyfi var því síðar hætt. Hugmyndin var snilldarleg og ég reyni að tala um hana þegar ég get.
Það voru önnur dæmi þar sem fólk bætti reikniritin sem ég birti. Til dæmis hefur MS biðröðin tveggja þrepa uppsetningarkerfi, sem þýddi að það voru tvö CAS á gagnrýninni leið biðraðarinnar. Á gömlum vélum voru CAS frekar dýr. Intel og aðrir framleiðendur hafa nýlega fínstillt þau vel, en áður fyrr voru þetta 30-lota skipanir, svo það var óæskilegt að hafa fleiri en eitt á gagnrýninni leið. Fyrir vikið var þróuð frábær biðröð sem var svipuð MS biðröðinni, en hún hafði aðeins eina lotubundna aðgerð á gagnrýninni leið. Þetta var náð með því að leyfa aðgerð að taka O(n) tíma í stað O(1) tíma innan ákveðins tímabils. Þetta var ólíklegt, en mögulegt. Þetta gerðist vegna þess að á ákveðnum tímapunktum fór reikniritið í gegnum biðröðina frá upphafi til núverandi stöðu í biðröðinni. Í heildina reyndist reikniritið mjög vel heppnað. Svo vitað sé er það ekki mjög mikið notað, að hluta til vegna þess að lotubundnar aðgerðir þurfa mun minni auðlindir en þær gerðu áður. En hugmyndin var frábær. Mér líkar líka mjög vel við verk Dave Dice hjá Oracle. Allt sem hann gerir er mjög hagnýtt og hann notar vélbúnað mjög snjallt. Hann átti þátt í verulegum hluta af NUMA-meðvituðum samstillingaralgrímum og fjölþráða gagnaskipan.
VladimirÞegar þú skrifar reiknirit eða kennir nemendum, þá sjást árangurinn ekki strax. Það tekur samfélagið smá tíma að kynnast, til dæmis, nýrri grein. Nýr reiknirit finnur ekki strax notkun.
MichaelÞað er langt frá því að vera ljóst strax hvort grein verður áhrifamikil eða ekki. Ég held að það væri áhugavert að framkvæma rannsókn á greinum sem hafa unnið til ráðstefnuverðlauna. Það er að segja að skoða þær greinar sem fólk í nefndum á þeim tíma taldi bestu. Við ættum að reyna að reikna út, út frá fjölda tilvitnana og áhrifum á viðskipti, hversu áhrifamiklar þessar greinar voru í raun 10, 20, 25 árum síðar. Ég efast um að sterk fylgni sé milli þessara tveggja breyta. Hún verður ekki núll, en hún verður líklega töluvert veikari en við vildum. Margar hugmyndir eru óupplýstar í langan tíma áður en þær ná vinsældum. Tökum sem dæmi viðskiptaminnið. Meira en 10 ár liðu frá útgáfu upprunalegu greinarinnar þar til fólk fór í raun að smíða vélar með því. Og heil 20 ár liðu áður en þetta minni birtist í viðskiptalegum vörum. Í langan tíma gaf enginn greininni athygli og síðan jókst fjöldi tilvitnana í hana verulega. Það væri erfitt að spá fyrir um þetta fyrirfram. Á hinn bóginn eru hugmyndir stundum strax framkvæmdar. Fyrir nokkrum árum skrifaði ég grein ásamt Joe Izraelevitz fyrir DISC þar sem lagt var til nýja formlega skilgreiningu á réttmæti varanlegra gagnagerða sem hægt væri að nota eftir að tölvan sem keyrði þær hrundi. Mér líkaði greinin frá upphafi en hún reyndist miklu vinsælli en ég bjóst við. Nokkrir mismunandi hópar tóku hana upp og að lokum varð hún staðlaða skilgreiningin á varanlegum gagnagerðum. Sem er vissulega gott mál.
VladimirNotið þið einhverjar matsaðferðir? Reynið þið jafnvel að meta greinar ykkar eða nemendur? Hvort sá sem þið kennið sé á réttri leið.
MichaelEins og allir aðrir er ég meira einbeittur að því sem ég er að vinna að núna. Eins og allir aðrir kíki ég stundum á Google Scholar til að sjá hvort vitnað sé í fyrri greinar mínar, en það er aðallega af forvitni. Ég er aðallega sokkinn í það sem nemendur mínir eru að gera núna. Hvað varðar mat á núverandi vinnu, þá snýst það að hluta til um fagurfræði - hvað er glæsilegt og hvað ekki. Og í daglegu lífi gegna opnar spurningar stóru hlutverki. Til dæmis gæti nemandi komið til mín með graf af niðurstöðum og við reynum að átta okkur á hvers vegna grafið hegðar sér undarlega. Almennt séð erum við í vinnu okkar stöðugt að reyna að átta okkur á hlutum sem við skiljum ekki ennþá.
Færsluminni
ВиталийKannski ættum við að tala aðeins um viðskiptaminni?
MichaelÉg held að það sé þess virði að segja að minnsta kosti örlítið, því ég hef lagt mikla vinnu í þetta. Þetta er efnið sem ég hef birt meira um en nokkuð annað. En á sama tíma, einkennilega nóg, hef ég alltaf verið frekar efins um viðskiptaminni. Að mínu mati, (M. Herlihy, J.E.B. Moss) var gefin út á undan sinni samtíð. Í byrjun tíunda áratugarins lögðu þeir til að viðskiptaminni gæti hjálpað hæfileikaríkum forriturum sem vinna með fjölþráða gagnagrindur, þannig að þessar grindur gætu síðan verið notaðar sem bókasöfn af venjulegum forriturum. Með öðrum orðum, það væri blessun fyrir Doug Lees sem vann að JSR 166. En viðskiptaminni var ekki ætlað að gera fjölþráða forritun auðvelda. Samt var það einmitt þannig sem það var litið á í byrjun ársins 21. öld, þegar það náði vinsældum. Það var kynnt sem leið til að leysa vandamálið með samsíða forritun. Þessi aðferð virtist mér alltaf vonlaus. Viðskiptaminni gat aðeins einfaldað ritun samsíða gagnagrinda. Og það, að mínu mati, er það sem það áorkaði.
Um flækjustig þess að skrifa fjölþráða kóða
AlexeyMjög áhugavert. Það virðist vera ákveðin hindrun á milli venjulegra forritara og þeirra sem geta skrifað fjölþráða kóða. Í fyrra talaði ég nokkrum sinnum við fólk sem var að innleiða einhvers konar reiknirit. Til dæmis við Martin Thompson, sem og við forritara sem vinna að fjölþráða bókasöfnum. (Athugasemd ritstjóra: Martin Thompson er mjög þekktur forritari; hann skrifaði и Og hann hefur líka á Joker ráðstefnunni okkar 2015, myndbandsupptaka Hann er sá sami. þessi ráðstefna, (Einnig aðgengilegt). Samkvæmt þeim er helsta áskorunin að gera reikniritin bæði hraðvirk og auðveld í notkun. Þeir eru því að reyna að yfirstíga þessa hindrun og laða eins marga og mögulegt er að þessu sviði. Hvað finnst þér um þetta?
MichaelÞetta er helsta vandamálið við fjölþráðun: hvernig á að ná háum afköstum án þess að auka flækjustig kerfisins.
AlexeyVegna þess að þegar þeir reyna að forðast flækjustig verður reikniritið minna almennt.
MichaelLykilatriðið hér er rétt hönnuð abstrakt hugtök. Ég held að þetta sé lykillinn að tölvukerfum sem sviði almennt. Butler Lampson notar gjarnan þetta hugtak og kallar okkur „kaupmenn í abstrakt hugtökum“. Einföld tækni er ekki til í dag. Örgjörvarnir sem við notum innihalda 10 milljarða smára - einfaldleiki kemur ekki til greina. Á sama tíma er ISA mun einfaldari en örgjörvinn, þar sem við lögðum mikla vinnu í að tryggja mikla afköst og tiltölulega einfalt viðmót fyrir hann. En jafnvel með hann er ekki allt á reiðum höndum. Sama vandamál er til staðar með hröðlunum sem nú eru að koma á markaðinn. Spurningar vakna: hvernig á að búa til rétt viðmót fyrir GPU, dulkóðunarvélina, þjöppun, umritunarvélina, línulega algebruvélina eða jafnvel sveigjanlegri FPGA. Hvernig á að búa til viðmót sem tryggir auðvelda notkun og felur flækjustigið? Ekki losna við það, heldur fela það fyrir meðalforritaranum.
AlexeyÉg skil að við stöndum enn frammi fyrir hindrun í að skilja abstrakt hugmyndir. Tökum sem dæmi minnislíkanið; á okkar stigi vísinda- og tækniþróunar er það eitt mikilvægasta abstrakt hugmyndin. Það skiptir öllum forriturum í tvo hópa: meirihlutann - þá sem skilja það ekki, og minnihlutann - þá sem skilja það, eða halda að þeir geri það.
MichaelÞetta er góð spurning - skilur einhver okkar í raun minnislíkanið?
ВиталийSérstaklega í C++.
MichaelTalaðu við Hans Boehm einhvern tímann. Hann er einn gáfaðasti maður sem ég þekki, leiðandi sérfræðingur í minnislíkönum. Hann mun segja þér strax að hann skilji ekki mikið af því. En ef við snúum okkur aftur að spurningunni um abstrakt hugmyndir, þá held ég að mikilvægasta hugmyndin á sviði minnislíkana síðustu 30 árin hafi verið sett fram af (Athugasemd ritstjóra: Heildarlisti yfir rit er aðgengilegur) ).
AlexeySpurning mín er: stafar þessi hindrun af sjálfum eðli hugmyndarinnar?
MichaelNei. Sarita komst að þeirri niðurstöðu að með réttri nálgun væri hægt að fela alla flækjustigið, ná háum afköstum og veita forritaranum einfalt API. Og ef þú fylgir þessu API geturðu náð raðbundinni samræmi. Ég tel að þetta sé rétta líkanið. Skrifaðu kóða án gagnakapphlaupa og þú færð raðbundna samræmi. Auðvitað, til að draga úr líkum á gagnakapphlaupum þarftu sérhæfð verkfæri, en það er annað mál.
VladimirHefur þú upplifað einhver dæmi í starfsferlinum þínum þar sem vandamál sem virtist leyst breyttist skyndilega í hörmung eða reyndist óleysanlegt? Til dæmis er í orði kveðnu hægt að þátta hvaða tölu sem er eða ákvarða hvort einhver tala sé frumtala. En í reynd getur þetta verið erfitt; með núverandi vélbúnaði er erfitt að þátta tölur. Hefur eitthvað þessu líkt einhvern tímann gerst hjá þér?
MichaelÉg get ekki hugsað mér neitt þessu líkt strax. Það voru tímar þegar ég hélt að það væri ekkert meira að gera á ákveðnu svæði, og svo gerðist eitthvað nýtt og áhugavert. Til dæmis hélt ég að sviðið með ótakmörkuðum biðröðum væri þegar komið í þroska. Eftir nokkrar úrbætur á MNS biðröðinni gerðist ekkert sérstakt lengur. Og svo fundu Morrison (Adam Morrison) og Afek (Yehuda Afek) upp... Það varð ljóst að ótakmarkað fjölþráða biðröð væri möguleg, þar sem aðeins sótt-og-hækkunar skipunin væri á gagnrýninni leið oftast nær. Og þetta gerði kleift að bæta afköst umtalsvert. Það er ekki það að við vissum ekki nú þegar að sótt-og-hækkunar aðgerð væri mjög gagnlegur eiginleiki. Eric Freudenthal skrifaði um þetta í grein sinni um Ultracomputer með Allan Gottlieb seint á níunda áratugnum, en það var fyrir takmarkaðar biðraðir. Morrison og Afek gátu notað sótt-og-hækkunar aðgerð í ótakmarkaðri biðröð.
Ný arkitektúr: Er viðskiptaminni að nálgast sigur?
VladimirFylgist þú með nýjum byggingarlausnum sem gætu nýst reikniritum?
MichaelAuðvitað eru margir hlutir sem ég vildi gjarnan sjá framkvæmdir.
VladimirOg hverjar, til dæmis?
MichaelFyrst af öllu, nokkrar einfaldar viðbætur við færsluminni á vélbúnaðarstigi í Intel og IBM örgjörvum. Sérstaklega langar mig að gera hleðslur og geymslur sem ekki tengjast færslum strax aðgengilegar innan færslna. Þær leiða strax til lykkju í „gerist-fyrir“ röðinni, svo þær geta verið erfiðar. En ef við viðhöldum lögum af abstraktlist, þá eru margir mjög áhugaverðir hlutir sem hægt er að gera utan færslu á meðan hún er í gangi. Ég veit ekki hversu erfitt þetta væri í framkvæmd, en það væri mjög gagnlegt.
Annar gagnlegur eiginleiki er að hlaða skyndiminni úr fjarlægu minni. Ég held að þetta verði innleitt fyrr eða síðar. Þessi tækni mun gera kleift að búa til kerfi með sundurliðuðu minni. Það verður mögulegt að geyma, segjum, 100 terabæti af óstöðugu minni í rekki, og stýrikerfið mun ákveða sjálfkrafa hvaða hlutar þessa minnis eiga að tengjast efnislegu vistfangsrými örgjörvanna. Þetta væri afar gagnlegt fyrir skýjatölvuvinnslu, þar sem það myndi gera kleift að úthluta miklu magni af minni til verkefna sem krefjast þess. Ég held að einhver muni að lokum gera þetta.
ВиталийTil að ljúka umræðunni um viðskiptaminni hef ég eina spurningu í viðbót sem tengist þessu. Mun viðskiptaminni að lokum koma í stað hefðbundinna fjölþráða gagnaskipana?
MichaelNei. Færslur eru tilgátukerfi. Á forritunarstigi eru þær lotukerfislæsingar, en innvortis eru þær tilgátur. Þessi tegund spár virkar aðeins ef flestar ágiskanirnar eru réttar. Þess vegna virkar færsluminni vel þegar þræðir hafa varla samskipti sín á milli og þú þarft bara að ganga úr skugga um að engin samskipti eigi sér stað. En ef skilaboð byrja á milli þráða eru færslur lítils virði. Leyfðu mér að skýra: við erum að tala um það tilfelli þar sem færslur eru vafðar utan um alla lotukerfisaðgerðina. Þær geta samt verið notaðar með góðum árangri sem byggingareiningar fyrir fjölþráða gagnaskipanir. Til dæmis, ef þú þarft þriggja orða CAS og þú þarft að fjölþráða þrjá litla hluti í miðjum sannarlega fjölþráða reiknirit sem vinnur með tuttugu þráðum samtímis. Í stuttu máli geta færslur verið gagnlegar, en þær útiloka ekki þörfina á að hanna fjölþráða gagnaskipanir rétt.
Óstöðugt minni, Optane DIMM, ofurhröð tæki.
ВиталийÞað síðasta sem ég vil ræða er núverandi rannsóknarefni þitt: óstöðugt minni. Hvað getum við búist við á þessu sviði í náinni framtíð? Veistu um einhverjar núverandi, skilvirkar útfærslur?
MichaelÉg er ekki vélbúnaðarsérfræðingur, ég veit bara það sem ég les í fréttunum og það sem samstarfsmenn mínir segja mér. Allir hafa þegar heyrt að Intel sé að selja... , sem hafa um það bil þrefalt lestrarseinkun og tífalt skrifseinkun miðað við breytilegt vinnsluminni. Þau verða brátt fáanleg í mjög stórum afköstum. Það er fyndið að hugsa til þess að þú gætir átt fartölvu með nokkrum terabætum af bæti-aðgangshæfu vinnsluminni. Það er vel mögulegt að eftir 10 ár ákveðum við að nota þessa nýju tækni á sama hátt og við notum DRAM - bara halda áfram að bæta við afkastagetu. En óstöðugleiki opnar alveg nýja möguleika. Við getum breytt geymslustakknum í grundvallaratriðum þannig að enginn aðskilnaður sé á milli bæti-aðgangshæfs vinnsluminni og blokkaskipulegs varanlegs minnis. Þetta þýðir að við þurfum ekki að raðgreina allt sem við þurfum í blokkaskipulögð skrár - flytja það frá einni forritakeyrslu til þeirrar næstu. Þetta hefur margar mikilvægar afleiðingar fyrir stýrikerfi, keyrslutímaumhverfi og dreifða gagnageymslu. Þetta er mjög áhugavert svið til að vinna á. Persónulega er erfitt fyrir mig að spá fyrir um hvað allt þetta mun leiða til, en vandamálin hér eru afar áhugaverð. Hér gætu orðið byltingarkenndar breytingar og þær fylgja mjög eðlilega vinnunni við fjölþráðavinnslu, þar sem endurheimt eftir hrun er „fjölþráða“ ferli samhliða venjulegri notkun kerfisins.
Annað aðalefnið sem ég er að vinna að núna er að stjórna ofurhröðum tækjum og tryggja öruggan aðgang að þeim úr notendarýminu með stefnustýringu á kerfisstigi. Á undanförnum árum hefur verið þróun í átt að því að færa aðgang að tækjum inn í notendarýmið. Þetta er vegna þess að TCP-IP stafla kjarnans getur ekki virkað ofan á netviðmóti sem krefst nýs pakka á 5 míkrósekúndna fresti; það mun einfaldlega ekki halda í við. Þess vegna veita framleiðendur beinan aðgang að tækjum. Hins vegar þýðir þetta að stýrikerfið missir stjórn á ferlinu og getur ekki tryggt réttan aðgang að tækjum fyrir samkeppnisforrit. Rannsóknarhópur okkar telur að hægt sé að forðast þennan galla. Við munum kynna grein um þetta á USENIX ATC í þessum mánuði. Þetta tengist vinnu við varanleika, þar sem endingargott, bæti-aðgangshæft varanlegt minni er í raun tæki með ofurhröðum inn-/úttaki sem þarf að nálgast í notendarýminu. Þessar rannsóknir gera kleift að nálgast nýjar aðferðir við örkjarna, utankjarna og aðrar hefðbundnar tilraunir til að færa virkni á öruggan hátt frá stýrikerfiskjarnanum yfir í notendarýmið.
VladimirBæta-aðgangsminni er frábært, en það eru líkamleg takmörk - ljóshraði. Þetta þýðir að óhjákvæmilega verður tafir á samskiptum við tækið.
MichaelAlgjörlega rétt.
VladimirVerður næg afkastageta til að takast á við nýja álagið?
MichaelÞetta er frábær spurning, en ég á erfitt með að svara henni. Hugmyndin um minnisvinnslu hefur verið til í nokkurn tíma; hún er mjög áhugaverð, en líka mjög flókin. Ég hef ekki starfað á því sviði, en það væri frábært ef einhverjar uppgötvanir yrðu gerðar. Ég hef því miður ekkert meira að bæta við.
VladimirÞað er annað vandamál. Nýtt, mun stærra magn af vinnsluminni verður ómögulegt að koma fyrir í örgjörvanum. Þess vegna, vegna líkamlegra takmarkana, verður að einangra þetta vinnsluminni.
MichaelHér veltur allt á fjölda galla í framleiðslu samþættra hringrása. Ef það væri mögulegt að búa til hálfleiðaraþynnur sem eru alveg gallalausar, þá væri hægt að búa til heila örflögu úr þeim. En eins og er getum við ekki búið til örflögur stærri en frímerki.
VladimirEn við erum samt að tala um risastórar stærðir, sentimetra. Þetta hefur óhjákvæmilega áhrif á seinkun.
MichaelJá. Það er ekkert sem þú getur gert í ljóshraðanum.
Vladimir: Því miður.
Næsta stóra þróunin. Tvöföld gagnaskipan. Hydra.
ВиталийEins og ég skil þetta ertu mjög fljótur að tileinka þér nýjar stefnur. Þú varst einn af fyrstu til að vinna með viðskiptaminni og einn af fyrstu í óstöðugu minni. Hver heldurðu að næsta stóra stefnan verði? Eða er það kannski leyndarmál?
MichaelÉg veit það satt að segja ekki. Ég vona að ég geti komið auga á eitthvað nýtt þegar það kemur fram. Ég hef ekki verið svo heppinn að geta fundið upp nein ný svið einn, en ég hef verið svo heppinn að fá forskot á nýjum sviðum sem aðrir hafa skapað. Ég vona að ég geti haldið því áfram í framtíðinni.
AlexeySíðasta spurningin í þessu viðtali fjallar um kynningu þína í Hydra og námskeiðið þitt í skólanum. Ef ég skil rétt, þá mun fyrirlestur þinn í skólanum fjalla um læsingarlaus reiknirit og fyrirlestur þinn á ráðstefnunni mun fjalla um tvöfalda gagnaskipan. Gætirðu sagt nokkur orð um þessi fyrirlestra?
MichaelVið höfum þegar snert á sum þessara efna í þessu viðtali. Það fjallar um vinnu sem ég vann með nemanda mínum Bill Scherer. Hann skrifaði lokaritgerð sína um það, og Doug Lee lagði einnig sitt af mörkum við það, og það varð að lokum hluti af fjölþráða samstilltum biðröðum í Java bókasafninu. Segjum sem svo að þú sért að lesa og skrifa í gagnaskipan án þess að læsa, sem þýðir að hver aðgerð hefur takmarkaðan fjölda skipana á gagnrýninni leið. Ef þú reynir að sækja gögn úr tómum íláti, eða reynir að sækja tiltekin gögn sem eru ekki í þeim íláti, þá er þér strax sagt að það sé ekki hægt. En þessi hegðun getur verið óásættanleg ef þráður þarfnast þessara gagna í raun. Það fyrsta sem kemur upp í hugann er að búa til lykkju sem spyr stöðugt hvort nauðsynleg gögn séu komin. En það skapar truflun fyrir alla aðra. Ennfremur, með þessari aðferð gætirðu beðið í 10 mínútur, og þá gæti einhver annar þráður komið og óvart fengið nauðsynleg gögn fyrst. Tvöföld gagnaskipan skortir enn læsingar, en þau leyfa rétta biðtíma þráða. Hugtakið „tvískipt“ þýðir að uppbyggingin inniheldur annað hvort gögn eða beiðnir um gögn — við skulum kalla þær and-gögn. Þannig að ef þú reynir að sækja eitthvað úr tómum íláti, verður beiðni sett í ílátið í staðinn. Nú getur þráður beðið eftir beiðni án þess að trufla aðra. Ennfremur forgangsraðar gagnauppbyggingin beiðnum, þannig að þegar þær berast sendir hún þær áfram til viðeigandi þráðs. Þetta leiðir til læsingarlauss kerfis sem hefur formlega forskrift og góða afköst í reynd.
AlexeyHverjar eru væntingar þínar til þessarar gagnauppbyggingar? Mun hún bæta afköst í öllum dæmigerðum tilfellum eða hentar hún betur í ákveðnum aðstæðum?
MichaelÞetta er gagnlegt þegar, í fyrsta lagi, þarf læstlausan ílát, og í öðru lagi er bið nauðsynleg þegar gögn þarf að sækja úr ílátinu sem eru ekki þegar til staðar. Svo vitað sé, þá býður uppbygging okkar upp á bestu mögulegu hegðun þegar þessum tveimur skilyrðum er fullnægt. Þess vegna mæli ég með að nota það í þessum tilfellum. Helsti kosturinn við læstlaus gagnaskipanir er að þær forðast afköstavandamál. Og bið er mjög mikilvæg í mörgum reikniritum þegar gögn eru flutt úr einum þræði í annan.
ВиталийLeyfið mér að skýra þetta nánar: verðið þið að tala um sama hlutinn bæði í skólanum og á ráðstefnunni?
MichaelÍ skólanum Þessi kennslustund mun fjalla um fjölþráða gagnaskipanir almennt, með almennri kynningu á grunnreglunum í upphafi. Ég geri ráð fyrir að áhorfendur viti hvað þræðir eru og þekki lása. Byggjandi á þessum grunni mun ég ræða lásalausar gagnaskipanir. Ég mun veita yfirlit yfir mikilvægustu málin á þessu sviði og snerta á efnum eins og minnisstjórnun. Ég held ekki að það verði neitt flóknara en biðröð í MS.
AlexeyHyggst þú fara yfir tvöfaldar gagnaskipanir í lok tímans í skólanum?
MichaelÉg mun nefna þau, en ég mun ekki eyða miklum tíma í þau. Ég mun halda fyrirlestur um Hydra. Þar verður fjallað um verkefnið sem að lokum varð hluti af Java, sem og vinnu mína með Joe Israelevich við að búa til tvíhliða afbrigði af LCRQ og sköpun nánast alhliða smíð fyrir tvöfaldar gagnaskipanir.
AlexeyÞannig að hægt er að mæla með skólafyrirlestrinum fyrir byrjendur og fyrirlestrinum um tvöfaldar gagnaskipanir á Hydra fyrir þá sem hafa einhverja reynslu?
MichaelLeiðréttu mig ef ég hef rangt fyrir mér, en áhorfendur á Hydra verða nokkuð fjölbreyttir, þar á meðal margir Java sérfræðingar og fólk sem vinnur ekki sérstaklega með fjölþráða forritun.
ВиталийJá, það er satt.
Alexey: Að minnsta kosti vonum við það.
MichaelÍ þessu tilfelli stend ég frammi fyrir sama vandamáli og við hófum þetta viðtal með: hvernig á að gera skýrslu sem er bæði nægilega rík af tæknilegum upplýsingum og aðgengileg öllum hlustendum.
ВиталийMunt þú flytja kynningu þína eins og þú myndir flytja fyrirlestur? Það er að segja, munt þú eiga samskipti við áhorfendur og aðlagast aðstæðunum?
MichaelÉg er hræddur um að það muni ekki virka því kynningin mun innihalda glærur. Glærur eru mikilvægar þegar áhorfendur tala upphaflega mismunandi tungumál. Margir eiga erfitt með að skilja mig á ensku, sérstaklega ef ég tala of hratt. Ég valdi þessi efni sérstaklega vegna þess að Hann bað mig um að tala um læsingarlaus gagnaskipan í SPTDC skólanum; svo þurftu þeir fyrirlestur fyrir Java notendahóps ráðstefnuna og ég vildi velja eitthvað sem myndi vekja sérstakan áhuga Java forritara. Auðveldasta leiðin var að tala um eiginleika Java bókasafnsins sem ég hafði unnið að á einn eða annan hátt.
AlexeyVið gerum ráð fyrir að áhorfendur á Hydra viti nú þegar eitthvað um læsingarlausa forritun og hafi kannski einhverja reynslu á þessu sviði. En þetta er bara ágiskanir; aðstæður munu skýrast betur á ráðstefnunni sjálfri. Í öllu falli, þökkum við ykkur fyrir tímann. Ég er viss um að lesendur okkar munu finna viðtalið mjög áhugavert. Þakka ykkur kærlega fyrir!
ВиталийÞakka þér fyrir.
MichaelÞað verður mér ánægja að hitta þig í Sankti Pétursborg.
AlexeyVið líka, við eigum fallega borg. Hefurðu einhvern tímann komið hingað?
MichaelNei, ég hef aldrei einu sinni farið til Rússlands. En Sankti Pétursborg hefur alltaf verið á listanum mínum yfir staði sem ég hef aldrei farið til en langar virkilega að heimsækja, svo ég var himinlifandi að fá boðið.
AlexeyVið munum einnig bjóða upp á ferðadagskrá fyrir fyrirlesarana. Þökkum ykkur kærlega fyrir viðtalið og eigið góðan dag!
Þú getur haldið áfram samtalinu við Michael á Hydra 2019 ráðstefnunni, sem haldin verður 11.-12. júlí 2019 í Sankti Pétursborg. Hann mun kynna skýrslu. . Hægt er að kaupa miða .
Heimild: www.habr.com
