"Cov txiaj ntsig pom tau yog rau kev tshaj tawm nkaus xwb, lub hom phiaj tiag tiag ntawm kev ua haujlwm yog qhov zoo nkauj." Kev xam phaj zoo nrog Michael Scott

"Cov txiaj ntsig pom tau yog rau kev tshaj tawm nkaus xwb, lub hom phiaj tiag tiag ntawm kev ua haujlwm yog qhov zoo nkauj." Kev xam phaj zoo nrog Michael Scott Michael Scott - rau 34y raws li ib tug xib fwb ntawm Computer Science ntawm University of Rochester, thiab nyob rau hauv nws lub tsev University of Wisconsin-Madison nws yog dean rau tsib xyoos. Nws tshawb fawb thiab qhia cov tub ntxhais kawm txog kev sib luag thiab faib cov programming thiab tsim hom lus.

Lub ntiaj teb paub Michael los ntawm phau ntawv "Programming lus Pragmatics", ua haujlwm li cas "Algorithms rau scalable synchronization ntawm sib koom-nco multiprocessors" tau txais Dijkstra nqi zog ua ib qho ntawm cov nto moo tshaj plaws hauv kev faib xam. Tej zaum koj kuj yuav paub nws ua tus sau cov algorithm heev Michael-Scott.

Ua ke nrog Doug Lee, nws tau tsim cov txheej txheem tsis thaiv cov txheej txheem thiab cov kab sib txuas ua ke uas muaj zog rau Java cov tsev qiv ntawv. Kev nqis tes ua "dual data structures" hauv JavaSE 6 txhim kho kev ua tau zoo los ntawm 10 npaug ThreadPoolExecutor.

Txheem:

  • Kev ua haujlwm thaum ntxov, University of Rochester. Project Charlotte, Lynx lus;
  • IEEE Scalable Coherent Interface, MCS xauv;
  • Ciaj sia nyob hauv lub ntiaj teb hloov pauv tas mus li;
  • Puas yog cov tub ntxhais kawm dhau los ua neeg ruam? Ntiaj teb no tiam sis, internationalization;
  • Ua haujlwm zoo nrog cov menyuam kawm ntawv;
  • Yuav ua li cas txhawm rau npaj cov kev kawm tshiab thiab cov phau ntawv;
  • Kev sib txuas ntawm kev lag luam thiab kev kawm;
  • Kev siv cov tswv yim. MCS, MS, CLH, JSR 166, ua haujlwm nrog Doug Lee thiab ntau dua;
  • Transactional nco;
  • Tshiab architectures. Lub yeej ntawm kev hloov pauv kev nco yog nyob ze;
  • Tsis-volatile nco, Optane DIMM, ultra-ceev li;
  • Tom ntej no loj sib. Dual cov ntaub ntawv qauv. Hydra.

Kev xam phaj yog ua los ntawm:

Vitaly Aksenov - tam sim no postdoc ntawm IST Austria thiab ib tug tswv cuab ntawm Lub Tsev Haujlwm Saib Xyuas Kev Siv Tshuab ntawm ITMO University. Ua kev tshawb fawb hauv kev tshawb xav thiab kev xyaum ntawm cov ntaub ntawv sib tw. Ua ntej ua haujlwm ntawm IST, nws tau txais nws PhD los ntawm Paris Diderot University thiab ITMO University nyob rau hauv kev saib xyuas ntawm xibfwb Peter Kuznetsov.

Alexey Fedorov - Tus tsim tawm ntawm JUG Ru Group, ib lub tuam txhab Lavxias uas npaj cov rooj sib tham rau cov neeg tsim khoom. Alexey tau koom nrog kev npaj ntau dua 50 lub rooj sib tham, thiab nws qhov kev xav tau suav nrog txhua yam los ntawm txoj haujlwm ntawm tus kws tshaj lij kev txhim kho ntawm Oracle (JCK, Java Platform Group) mus rau txoj haujlwm ntawm tus tsim tawm ntawm Odnoklassniki.

Vladimir Sitnikov - Engineer ntawm Netcracker. Kaum xyoo ntawm kev ua haujlwm ntawm kev ua tau zoo thiab kev ua kom muaj peev xwm ntawm NetCracker OS, software siv los ntawm cov neeg siv xov tooj los ua kom lub network thiab cov txheej txheem tswj cov khoom siv network. Txaus siab rau Java thiab Oracle Database teeb meem kev ua haujlwm. Tus sau ntau tshaj li kaum ob qhov kev txhim kho kev ua tau zoo hauv tus neeg tsav tsheb PostgreSQL JDBC.

Kev ua haujlwm thaum ntxov, University of Rochester. Charlotte project, Lynx lus.

Alexey: Pib nrog, Kuv xav qhia rau koj tias hauv Russia peb txhua tus nyiam Computer Science, Data Science thiab algorithms. Nws yog downright ua phem. Peb tau nyeem txhua yam phau ntawv los ntawm Cormen, Leiserson thiab Rivest. Yog li ntawd, lub rooj sib tham tom ntej no, tsev kawm ntawv thiab kev xam phaj nws tus kheej yuav tsum nrov heev. Peb tau txais ntau cov lus nug rau qhov kev xam phaj no los ntawm cov tub ntxhais kawm, programmers, thiab cov tswv cuab hauv zej zog, yog li peb ua tsaug ntau rau lub sijhawm no. Puas yog Computer Science tau txais kev hlub tib yam hauv Asmeskas?

Michael: Peb thaj chaw muaj ntau haiv neeg, nws muaj ntau yam lus qhia, thiab nws cuam tshuam rau tib neeg hauv ntau txoj kev sib txawv uas nws nyuaj rau kuv muab cov lus teb meej rau koj. Tab sis qhov tseeb yog tias nws tau coj cov kev hloov pauv loj heev hauv kev lag luam, kev lag luam, kos duab thiab tib neeg nyob rau hauv 30 xyoo dhau los.

Vitali: Cia peb pib nrog tej yam nyob deb. Hauv ntau lub tsev kawm ntawv qib siab muaj qee yam xws li kev tshwj xeeb hauv ib cheeb tsam tshwj xeeb. Rau Carnegie Mellon University qhov no yog kev sib piv, rau MIT nws yog cryptography, robots thiab multithreading. Puas muaj qhov tshwj xeeb ntawm University of Rochester?

Michael: Ua kom ncaj ncees, Kuv xav hais tias CMU thiab MIT tshwj xeeb hauv txhua qhov chaw. Peb lub tuam tsev ib txwm tau them nyiaj ntau tshaj rau kev txawj ntse. Ib nrab ntawm cov neeg ua haujlwm rau peb tau koom nrog AI lossis tib neeg-khoos phis tawj kev sib tham - qhov kev sib koom no siab dua hauv lwm lub tuam tsev, thiab ib txwm ua li ntawd. Tab sis thaum kuv nyob hauv tsev kawm ntawv, kuv tsis muaj kev kawm hauv AI, thiab kuv tsis tau ua haujlwm hauv qhov haujlwm no. Yog li kuv chav haujlwm tshwj xeeb hauv qhov teeb meem uas kuv tsis muaj dab tsi ua nrog. Qhov kev nplij siab yog qhov teeb meem thib ob tseem ceeb tshaj plaws rau peb lub tuam tsev yog kev sib txuas thiab ntau txoj xov zoo, uas yog, kuv qhov tshwj xeeb.

Vitali: Koj pib ua haujlwm hauv Computer Science thaum thaj chaw ntawm ntau lub xov tooj programming nyuam qhuav tshwm sim. Daim ntawv teev npe ntawm koj cov ntawv tshaj tawm qhia tau hais tias koj thawj qhov kev ua haujlwm tau cuam tshuam nrog ntau yam teeb meem: kev tswj hwm kev nco hauv ntau lub xov tooj, cov ntaub ntawv xa tawm, kev ua haujlwm. Vim li cas thiaj li versatility? Koj puas tau sim nrhiav koj qhov chaw hauv zej zog tshawb fawb?

Michael: Raws li ib tug menyuam kawm ntawv, kuv tau koom nrog Qhov project Charlotte nyob rau hauv University of Wisconsin, qhov twg ib qho ntawm thawj qhov kev faib ua haujlwm tau tsim. Nyob ntawd kuv tau ua haujlwm ua ke nrog Rafael Finkel (Raphael Finkel: koj puas xav tau ntau tus thwjtim?) thiab Marvin Solomon (Marvin Solomon). Kuv qhov kev tshaj tawm tau mob siab rau kev txhim kho cov lus rau kev siv software rau kev faib tshuab - tam sim no txhua tus tsis nco qab txog nws, thiab ua Vajtswv tsaug. Kuv tau tsim Lynx programming lus, uas tau npaj los ua kom yooj yim dua los tsim cov servers rau kev ua haujlwm sib txuas ua ke. Txij li thaum lub sijhawm ntawd kuv tau koom nrog hauv kev khiav haujlwm, kuv xav tias kuv txoj haujlwm yuav tsum txuas nrog lawv. Tab sis Rochester yog ib lub tsev kawm ntawv me me, thiab vim li no, cov pab pawg sib txawv tau sib cuam tshuam nrog ib leeg. Tsis muaj kaum ob lwm cov neeg ua haujlwm nyob rau ntawd rau kuv tham nrog, yog li tag nrho kuv cov kev sib cuag tau nrog cov neeg ua haujlwm hauv thaj chaw sib txawv. Kuv yeej nyiam nws, ua ib qho kev sib tw tag nrho yog qhov txiaj ntsig zoo rau kuv. Yog tias peb tham tshwj xeeb txog ntau cov ntaub ntawv cov qauv thiab synchronization algorithms, ces kuv pib ua haujlwm rau lawv tag nrho los ntawm kev sib tsoo.

IEEE Scalable Coherent Interface, MCS xauv.

Vitali: Koj puas tuaj yeem qhia kuv ntxiv me ntsis txog qhov no?

Michael: Nov yog ib zaj dab neeg funny uas kuv yeej tsis yuag qhia sawv daws. Nws tshwm sim ntawm lub rooj sib tham ASPLOS nyob rau hauv Boston - qhov no yog nyob rau hauv lub lig 80s los yog thaum ntxov 90s. John Mellor-Crummey (John Mellor-Crummey), ib tug kawm tiav ntawm peb cov kws qhia ntawv. Kuv paub nws, tab sis peb tsis tau tshawb fawb ua ke ua ntej. Mary Vernon (Mary Vernon) los ntawm Wisconsin tau hais lus hais txog ntau lub tshuab ua haujlwm uas lawv tab tom tsim hauv Wisconsin: Wisconsin Multicube. Qhov Multicube no muaj lub tshuab synchronization ntawm qib kho vajtse hu ua Q ntawm Sync Bit, thiab tom qab ntawd nws tau hloov npe hu ua Q ntawm Lock Bit vim nws suab zoo li Colby cheese, uas yog ib qho pun. Yog tias koj txaus siab rau ntau txoj kev sib txuas lus, tej zaum koj yuav paub tias Colby nws thiaj li los ua lub tshuab synchronization rau IEEE Scalable Coherent Interface tus qauv. Qhov no yog ib lub tshuab xauv uas tsim cov taw qhia los ntawm ib lub cache mus rau lwm qhov ntawm qib kho vajtse kom txhua tus tuav lub xauv paub nws tig nws. Thaum John thiab kuv hnov ​​​​txog qhov no, peb saib ib leeg thiab hais tias: vim li cas ho ua qhov no ntawm qib kho vajtse? Tsis tuaj yeem ua tiav tib yam uas siv piv-thiab-swap? Peb nqa ib phau ntawv dag hauv chav kawm thiab sau rau nws MCS thaiv, thaum Mary txuas ntxiv nws tsab ntawv ceeb toom. Tom qab ntawd, peb tau siv nws, sim ua, lub tswv yim tig tawm kom ua tiav, thiab peb luam tawm tsab xov xwm. Lub sijhawm ntawd, rau kuv, cov ncauj lus no zoo li tsuas yog kev lom zem cuam tshuam, tom qab ntawd kuv tau npaj yuav rov qab mus rau cov haujlwm ua haujlwm. Tab sis tom qab ntawd lwm qhov teeb meem ntawm tib kab tau tshwm sim, thiab thaum kawg synchronization, multithreading, thiab cov ntaub ntawv tsim los ua kuv qhov tshwj xeeb. Raws li koj tau pom, txhua yam no tshwm sim los ntawm kev sib tsoo.

Vitali: Kuv tau paub txog MCS thaiv lub sijhawm ntev, tab sis txog tam sim no kuv tsis paub tias nws yog koj txoj haujlwm, thiab tsis nkag siab tias nws yog ib qho lus luv rau koj lub xeem.

Yuav ua li cas kom ciaj sia nyob rau hauv lub ntiaj teb puas hloov pauv?

Alexey: Kuv muaj lus nug txog ib lub ncauj lus muaj feem xyuam. 30 lossis 40 xyoo dhau los muaj kev ywj pheej ntau dua hauv ntau yam tshwj xeeb. Yog tias koj xav pib ua haujlwm hauv multithreading lossis faib tshuab, txais tos, yog tias koj xav nkag mus rau hauv kev khiav haujlwm, tsis muaj teeb meem. Hauv txhua qhov chaw muaj ntau cov lus nug qhib thiab ob peb tus kws tshaj lij. Cov kev tshwj xeeb me me tau tshwm sim tam sim no: tsis muaj cov kws tshaj lij ntawm kev ua haujlwm feem ntau, muaj cov kws tshaj lij ntawm tus kheej. Nws yog ib yam nrog multithreading thiab faib tshuab. Tab sis qhov teeb meem yog tias peb lub neej tsis muaj qhov kawg; txhua tus tuaj yeem siv sijhawm li ob peb lub xyoo los tshawb fawb. Yuav ua li cas ciaj sia nyob rau hauv lub ntiaj teb tshiab no?

Michael: Peb tsis tshwj xeeb hauv qhov no; tib yam tshwm sim ib zaug hauv lwm qhov chaw. Kuv muaj hmoo uas kuv tau pib ua haujlwm hauv Computer Science thaum lub teb yog nyob rau hauv nws "cov hluas" xyoo. Qee lub hauv paus twb tau nteg, tab sis txhua yam tseem tsis paub qab hau. Lub sijhawm no tsis tuaj nrog ntau zaus. Hluav taws xob engineering tau nyob ib puag ncig ntev heev, physics txawm ntev dua, lej yuav luag txij thaum pib ntawm lub sijhawm. Tab sis qhov no tsis tau txhais hais tias tsis muaj leej twg tab tom nrhiav kev nthuav dav hauv lej ntxiv lawm. Tseem muaj ntau qhov teeb meem qhib, tab sis tib lub sijhawm, yuav tsum tau kawm ntau ntxiv. Koj muaj cai nco ntsoov tias tam sim no muaj ntau qhov tshwj xeeb tshaj li yav dhau los, tab sis qhov no tsuas yog txhais tau tias peb pom peb tus kheej nyob rau hauv tib qho xwm txheej zoo li feem ntau ntawm lwm qhov ntawm tib neeg kev ua haujlwm.

Alexey: Kuv txaus siab rau qhov ua tau zoo ntawm qhov teeb meem no. Kuv muaj keeb kwm lej, thiab thaum kuv kawm kuv feem ntau tuaj koom cov rooj sib tham thiab ua haujlwm rau ntau yam kev tshawb fawb. Kuv pom tias tsis muaj leej twg hauv cov neeg tuaj saib nkag siab kuv cov lus ceeb toom, thiab tib txoj kev, cov lus ceeb toom ntawm lwm tus neeg tsuas yog nkag siab rau lawv tus kheej xwb. Qhov no tsis yog qhov teeb meem hauv cov ncauj lus siab, tab sis sai li sai tau thaum koj pib delve rau hauv ib yam dab tsi, cov neeg tuaj saib tsis tuaj yeem nrog koj. Koj ua li cas rau qhov no?

Michael: Tsis yog ib txwm ua tiav. Tsis ntev los no kuv tau npaj ib daim ntawv tshaj tawm uas kuv tau nkag mus tob rau hauv cov ntsiab lus kev tshaj lij. Raws li kev hais lus tau nce zuj zus, nws tau pom tseeb tias feem ntau ntawm cov neeg tuaj saib tsis nkag siab kuv, yog li kuv yuav tsum tau hloov mus rau qhov xwm txheej ntawm ya. Cov slides hloov tsis tau, yog li nws tsis tig tawm zoo heev - yog li, feem ntau hais lus, kuv sim tsis txhob siv cov slides. Zuag qhia tag nrho, kuv cov lus qhia yog xav txog koj cov neeg tuaj saib. Koj yuav tsum paub tias koj tab tom tham nrog leej twg, lawv qib kev paub yog dab tsi, thiab lawv yuav tsum tau hnov ​​​​los ua tsaug rau koj txoj haujlwm.

Vitali: Koj puas tuaj yeem muab lus qhia rau peb txog qhov kev qhuab qhia no hais txog dab tsi?

Michael: Ua kom ncaj ncees, kuv xav kom tsis txhob nthuav cov ncauj lus no txhawm rau tawm hauv cov neeg nug tsis qhia npe. Lub ntsiab lus yog tias peb feem ntau nkag mus tob rau hauv qhov tsis sib xws ntawm qhov teeb meem uas peb tab tom ua haujlwm, yog li nws nyuaj rau peb piav qhia thaum pib ntawm kev sib tham vim li cas qhov teeb meem nthuav dav thiab tseem ceeb thiab nws cuam tshuam li cas rau cov teeb meem uas lub cov neeg tuaj saib twb paub lawm. Raws li kuv qhov kev soj ntsuam, cov tub ntxhais kawm muaj lub sijhawm nyuaj tshaj plaws los kawm qhov txuj ci no. Thiab qhov no kuj yog qhov tsis muaj zog ntawm kuv daim ntawv tshaj tawm tsis ntev los no. Daim ntawv tshaj tawm tsim nyog yuav tsum, txij thaum pib, nrhiav kev sib cuag nrog cov neeg tuaj saib, piav qhia rau lawv tias qhov teeb meem yog dab tsi thiab nws cuam tshuam li cas rau cov ncauj lus uas twb paub lawm. Yuav ua li cas technical no qhia yog nyob ntawm cov neeg tuaj saib. Yog hais tias nws yog kiag li motley, ces daim ntawv qhia yuav ua tau ntau theem. Kev taw qhia yuav tsum nkag mus rau txhua tus neeg, thiab thaum kawg cov khoom yuav tsis tuaj yeem nrog koj, tab sis cov neeg uas paub txog koj daim teb yuav tuaj yeem paub txog nws.

Puas yog cov tub ntxhais kawm dhau los ua neeg ruam? Ntiaj teb no tiam sis, internationalization.

Alexey: Koj tau soj ntsuam cov tub ntxhais kawm tau ntau xyoo lawm. Puas yog cov tub ntxhais kawm tau txais dumber lossis ntse dua los ntawm kaum xyoo mus rau kaum xyoo lossis xyoo rau xyoo? Nyob rau hauv Russia, cov xibfwb pheej yws yws tias cov tub ntxhais kawm tau dumber txhua xyoo, thiab nws tsis paub meej tias yuav ua li cas txog nws.

Michael: Koj tuaj yeem hnov ​​ntau qhov tsis zoo los ntawm peb cov neeg laus. Subconsciously, peb muaj lub siab xav kom cov tub ntxhais kawm nqus tag nrho 30 xyoo ntawm kev paub uas peb twb muaj. Yog tias kuv muaj kev nkag siab tob dua li kuv tau ua thaum xyoo 1985, vim li cas cov tub ntxhais kawm tsis muaj nws? Tej zaum vim lawv muaj 20 xyoo, koj xav li cas? Kuv xav tias qhov kev hloov pauv tseem ceeb tshaj plaws hauv kaum xyoo tsis ntev los no tau nyob hauv cov pej xeem muaj pes tsawg leeg: tam sim no peb muaj ntau tus tub ntxhais kawm thoob ntiaj teb, tshwj tsis yog Canadians. Muaj ntau tus neeg Canadians vim tias peb nyob ze rau ciam teb Canadian thiab cov tub ntxhais kawm tuaj yeem mus tsev rau hnub so. Tab sis tam sim no muaj ntau lub tsev kawm qib siab zoo hauv Canada, thiab cov neeg Canadians nyiam kawm ntawm no; tsawg tsawg ntawm lawv tuaj rau Tebchaws Meskas.

Alexey: Koj puas xav tias qhov no yog qhov sib txawv hauv zos lossis thoob ntiaj teb?

Michael: Kuv tsis nco qab leej twg, tab sis muaj ib tug hais tias lub ntiaj teb no tiaj tus. Peb daim teb tau dhau los ua ntau yam thoob ntiaj teb. ACM Conferences Yav dhau los, lawv tau tuav tshwj xeeb hauv Tebchaws Meskas, tom qab ntawd lawv txiav txim siab tuav lawv ib zaug txhua 4 xyoos hauv lwm lub tebchaws, thiab tam sim no lawv tau tuav thoob plaws ntiaj teb. Cov kev hloov no cuam tshuam ntau dua IEEE, raws li nws ib txwm yog lub koom haum thoob ntiaj teb ntau dua li ACM. Thiab muaj cov rooj sib tham los ntawm Tuam Tshoj, Is Nrias teb, Russia, Lub teb chaws Yelemees thiab ntau lub teb chaws, vim tias tam sim no muaj ntau heev nyob txhua qhov chaw.

Alexey: Tab sis, tej zaum, muaj qee qhov tsis zoo ntawm kev ua lag luam thoob ntiaj teb?

Michael: Kuv xav hais tias txhua yam tsis zoo cuam tshuam tsis yog rau kev siv tshuab, tab sis rau kev nom kev tswv. Muaj ib zaug, qhov teeb meem tseem ceeb yog qhov tseeb tias Asmeskas tau nyiag cov neeg ntse tshaj plaws thiab txawj ntse tshaj plaws los ntawm cov teb chaws thoob ntiaj teb. Thiab tam sim no qhov teeb meem tseem ceeb yog kev ua nom ua tswv ntawm ntau lub teb chaws nyob ib puag ncig vixaj thiab kev nkag tebchaws.

Alexey: Ntawd yog, teeb meem thiab tej yam zoo li ntawd. Nws yog qhov tseeb.

Vladimir: Tus kheej, kuv xav paub seb koj ua li cas thaum qhia ib qho tshiab rau cov tub ntxhais kawm. Muaj ntau txoj kev xaiv: koj tuaj yeem sim ua ntej ntawm txhua yam los txhawb lawv kom sim qee yam tshiab, lossis koj tuaj yeem ua tib zoo saib xyuas cov ntsiab lus ntawm qee yam kev siv tshuab ua haujlwm li cas. Koj nyiam dab tsi?

Ua haujlwm zoo nrog cov menyuam kawm ntawv

Alexey: Thiab yuav ua li cas thiaj nrhiav tau qhov sib npaug ntawm thawj thiab thib ob?

Michael: Qhov teeb meem yog cov chav kawm tsis tas mus li qhov kuv xav tau. Kuv feem ntau muab cov tub ntxhais kawm nyeem cov ntaub ntawv ua ntej kom lawv delve rau hauv nws, nkag siab nws kom zoo tshaj plaws ntawm lawv lub peev xwm, thiab tsim cov lus nug txog cov ntu uas lawv tsis tuaj yeem nkag siab. Tom qab ntawd hauv chav kawm koj tuaj yeem tsom mus rau lub sijhawm nyuaj tshaj plaws thiab tshawb nrhiav lawv ua ke. Qhov no yog qhov kuv nyiam qhia cov chav kawm tshaj plaws. Tab sis muab lub nra uas tam sim no dag rau cov tub ntxhais kawm, kuv tsis tuaj yeem ua kom paub tseeb tias lawv npaj ua ntej. Yog li ntawd, koj yuav tsum mob siab rau ntau lub sijhawm rau kev rov hais dua ntawm cov khoom ntau dua li qhov koj xav tau. Txawm li cas los xij, kuv sim ua kom peb cov chav kawm sib tham sib. Txwv tsis pub, nws yooj yim dua los kaw cov yeeb yaj kiab ib zaug uas cov tub ntxhais kawm tuaj yeem saib tom tsev. Lub ntsiab lus ntawm cov chav kawm nyob yog kev sib raug zoo ntawm tib neeg. Hauv chav kawm, kuv nyiam siv cov chalk thiab lub pob zeb dub es tsis yog cov slides, tshwj tsis yog qee qhov xwm txheej thaum daim duab qhia nyuaj dhau los piav qhia ntawm lub rooj tsavxwm. Ua tsaug rau qhov no, kuv tsis tas yuav ua raws li cov phiaj xwm kev qhia nruj. Txij li tsis muaj qhov kev txiav txim nruj uas kuv muab cov khoom, qhov no tso cai rau kuv los kho nws rau cov neeg tuaj saib nyob ntawm cov lus nug kuv tau txais. Feem ntau, kuv sim ua kom cov chav kawm sib tham sib ntau li ntau tau, kom cov khoom kuv nthuav tawm nyob ntawm cov lus nug uas nug kuv.

Vladimir: Zoo heev. Hauv kuv qhov kev paub, nws nyuaj heev kom tau txais cov neeg mloog los nug cov lus nug. Txawm hais tias koj nug ua ntej los nug cov lus nug, txawm tias yuav ruam npaum li cas los xij, lawv tseem nyob ntsiag to. Koj ua li cas rau qhov no?

Michael: Koj yuav luag, tab sis yog tias koj nyob ntsiag to ntev txaus, sai lossis tom qab ntawd txhua tus yuav tsis xis nyob thiab ib tus neeg yuav nug. Lossis koj tuaj yeem nug cov lus nug yooj yooj yim nrog cov lus teb yog lossis tsis yog los txiav txim seb cov neeg puas nkag siab qhov uas nyuam qhuav hais. Piv txwv li, puas muaj cov ntaub ntawv sib tw hauv qhov piv txwv saum toj no? Leej twg xav li ntawd? Leej twg xav tsis yog? Leej twg tsis to taub ib yam dab tsi kiag li, vim hais tias nyob rau hauv tag nrho tsuas yog ib nrab ntawm txhais tes mus?

Vitali: Thiab yog tias koj teb tsis raug, koj raug ncaws tawm ntawm chav kawm :)

Michael: Yog tias koj tsis tau teb dab tsi, ces koj yuav tsum nug ib lo lus nug. Kuv yuav tsum nkag siab tias tus menyuam kawm ntawv yuav tsum paub dab tsi los teb cov lus nug kuv nyuam qhuav nug. Kuv xav kom lawv pab kuv pab lawv. Kuv npaj txhij los hloov kho rau lawv kom lawv nkag siab qhov teeb meem. Tab sis yog tias kuv tsis paub dab tsi tshwm sim hauv lawv lub taub hau, kuv ua tsis tau. Thiab yog tias koj tsis ua rau cov tub ntxhais kawm muaj kev thaj yeeb ntev ntev, qee zaum thaum kawg lawv nug cov lus nug uas yog, uas yog, cov uas tso cai rau kuv pom tias muaj dab tsi tshwm sim hauv cov tub ntxhais kawm lub taub hau. 

Alexey: Puas yog cov lus nug no qee zaum ua rau cov tswv yim uas koj tus kheej tsis tau xav txog ua ntej? Puas yog lawv npaj txhij txog? Lawv puas tso cai rau koj saib qhov teeb meem hauv lub teeb tshiab?

Michael: Muaj lus nug uas qhib txoj kev tshiab ntawm kev nthuav tawm cov khoom. Muaj ntau cov lus nug uas ua rau muaj teeb meem nthuav uas kuv tsis tau npaj los tham txog. Cov tub ntxhais kawm feem ntau qhia kuv tias kuv muaj lub siab xav tawm lub ncauj lus thaum qhov no tshwm sim. Thiab, raws li lawv, feem ntau qhov no yog qhov nthuav tshaj plaws ntawm zaj lus qhia. Tsis tshua muaj, tsuas yog ob peb zaug, cov tub ntxhais kawm nug cov lus nug uas ua rau muaj kev taw qhia tshiab hauv kev tshawb fawb thiab loj hlob rau hauv ib tsab xov xwm. Qhov no tshwm sim ntau zaus hauv kev sib tham nrog cov tub ntxhais kawm ntau dua li hauv chav kawm, tab sis qee zaus nws tshwm sim hauv chav kawm. 

Alexey: Yog li cov tub ntxhais kawm nug koj cov lus nug los ntawm qhov uas nws muaj peev xwm tshaj tawm ib tsab xov xwm?

Michael: Yog. 

Vitali: Muaj pes tsawg zaus koj muaj cov kev sib tham no nrog cov tub ntxhais kawm? Thaum twg lawv xav kawm ntau dua li qhov uas tau teev tseg hauv zaj lus qhia?

Michael: Nrog kuv cov tub ntxhais kawm tiav - txhua lub sijhawm. Kuv muaj li 5 lossis 6 ntawm lawv, thiab peb tham ib yam nrog lawv txhua lub sijhawm. Thiab kev sib tham ntawm hom no nrog cov tub ntxhais kawm uas tsuas tuaj koom kuv cov chav kawm tsis yog ntau heev. Txawm hais tias kuv xav tias qhov no tshwm sim ntau zaus. Kuv xav tias lawv tsuas ntshai los ntawm cov kws qhia ntawv thaum lub sijhawm ua haujlwm. Txhua lub semester, qee cov tub ntxhais kawm tswj kom kov yeej qhov teeb meem ntawm kev puas siab puas ntsws, thiab nws yog ib qho tseem ceeb heev los tham nrog lawv tom qab chav kawm. Muaj tseeb tiag, yog tias tag nrho cov tub ntxhais kawm ua siab tawv, kuv tsuas yog tsis muaj sijhawm txaus. Yog li tej zaum txhua yam ua haujlwm raws li nws yuav tsum tau ua. 

Vitali: Koj tswj xyuas sijhawm li cas los sib txuas lus nrog cov tub ntxhais kawm? Raws li kuv paub, nyob USA cov kws qhia ntawv muaj ntau txoj haujlwm - thov nyiaj pab thiab lwm yam. 

Michael: Ua siab ncaj, ua hauj lwm nrog cov tub ntxhais kawm yog ib feem ntawm kuv txoj hauj lwm uas kuv nyiam tshaj plaws. Yog li kuv muaj kev txhawb siab txaus rau qhov no. Feem ntau ntawm cov sij hawm kuv siv hauv kuv qhov chaw ua haujlwm yog siv rau cov rooj sib tham ntawm txhua yam. Nws yog lub caij ntuj sov tam sim no, yog li kuv lub sijhawm tsis khoom ntau, tab sis thaum lub xyoo kawm ntawv, txhua hnub ntawm 9 txog 17 Kuv muaj txhua yam ntim. Kev tshawb fawb ua haujlwm, tshuaj xyuas, nyiaj pab - rau tag nrho cov no tsuas yog yav tsaus ntuj thiab hnub so. 

Yuav ua li cas khaws cia nrog kev npaj cov chav kawm tshiab thiab cov phau ntawv.

Alexey: Puas yog koj tab tom qhia cov kev kawm uas koj tau qhia ntev lawm? Ib yam dab tsi zoo li kev taw qhia rau Computer Science.

Michael: Thawj qhov uas xav txog ntawm no yog chav kawm hauv cov lus programming. 

Alexey: Yuav ua li cas niaj hnub no version ntawm chav kawm no los ntawm qhov nws yog 10, 20, 30 xyoo dhau los? Tej zaum qhov nthuav ntau ntawm no tsis yog cov ntsiab lus ntawm cov chav kawm tshwj xeeb, tab sis cov qauv dav dav.

Michael: Kuv chav kawm ntawm cov lus programming yog qhov txawv me ntsis thaum lub sijhawm kuv tsim nws. Kuv pib nyeem nws thaum xyoo 1980s, hloov kuv cov npoj yaig, Doug Baldwin (Doug Baldwin). Lub ntsiab lus ntawm chav kawm tsuas yog tangentially ntsig txog kuv qhov tshwj xeeb, tab sis thaum nws tawm mus, kuv yog tus neeg sib tw zoo tshaj plaws los qhia cov chav kawm. Kuv tsis nyiam tej phau ntawv uas muaj nyob rau lub sijhawm ntawd, yog li ntawd kuv thiaj li sau phau ntawv no rau kuv tus kheej. (Tus kws sau ntawv: peb tab tom tham txog phau ntawv "Programming lus Pragmatics") Tam sim no nws tau siv ntau dua 200 lub tsev kawm ntawv thoob ntiaj teb. Kuv txoj hauv kev yog qhov txawv txav uas nws txhob txwm sib xyaw cov teeb meem ntawm kev tsim qauv lus thiab kev siv, thiab ua tib zoo saib xyuas kev sib cuam tshuam ntawm cov yam no hauv txhua qhov chaw ua tau. Txoj hauv kev yooj yim tseem tsis tau hloov pauv, raws li muaj ntau lub ntsiab lus: abstractions, namespaces, modularity, hom. Tab sis cov txheej txheem ntawm cov lus uas cov ntsiab lus no tau qhia tau hloov tag nrho. Thaum chav kawm tau tsim thawj zaug, muaj ntau yam piv txwv hauv Pascal, tab sis niaj hnub no ntau ntawm kuv cov tub ntxhais kawm tseem tsis tau hnov ​​​​txog hom lus no. Tab sis lawv paub Swift, Go, Rust, yog li kuv yuav tsum tham txog cov lus uas siv niaj hnub no. Tsis tas li ntawd, cov tub ntxhais kawm tam sim no tau paub zoo txog cov lus sau, tab sis thaum kuv pib qhia cov chav kawm no, nws yog txhua yam hais txog cov lus sau. Tam sim no peb xav tau ntau yam ntaub ntawv hais txog Python, Ruby thiab txawm Perl, vim hais tias qhov no yog dab tsi code sau nyob rau hauv cov hnub no, thiab muaj ntau yam nthuav tshwm sim nyob rau hauv cov lus no, nrog rau hauv lub teb ntawm cov lus tsim. 

Vitali: Tom qab ntawd kuv cov lus nug tom ntej yuav muaj feem cuam tshuam rau yav dhau los. Yuav ua li cas kom nyob hauv cheeb tsam no? Kuv xav tias kev hloov kho cov chav kawm zoo li no yuav tsum tau ua haujlwm ntau - koj yuav tsum nkag siab cov lus tshiab, nkag siab cov tswv yim tseem ceeb. Koj ua li no li cas?

Michael: Kuv tsis tuaj yeem khav tias kuv ib txwm ua tiav 100%. Tab sis feem ntau kuv tsuas yog ua li txhua tus neeg ua - nyeem hauv Internet. Yog tias kuv xav nkag siab Rust, Kuv Google nws, mus rau nplooj ntawv Mozilla thiab nyeem phau ntawv qhia muaj. Qhov no yog ib feem ntawm tej yam uas tshwm sim hauv kev lag luam kev loj hlob. Yog tias peb tham txog kev tshawb fawb, ces koj yuav tsum ua raws li cov lus ceeb toom ntawm cov rooj sib tham loj. 

Kev sib txuas ntawm kev lag luam thiab kev kawm

Vitali: Wb tham txog kev sib txuas ntawm kev lag luam thiab kev tshawb fawb. Hauv koj daim ntawv teev cov haujlwm, kuv pom ntau cov ntawv ntawm cache coherence. Kuv nkag siab tias cache qhov sib xws algorithms tsis ruaj khov thaum lub sijhawm lawv luam tawm? Los yog tsis nthuav txaus. Koj lub tswv yim zoo li cas hauv kev xyaum?

Michael: Kuv tsis paub meej tias koj tab tom tham txog cov ntawv xov xwm twg. Kuv tau ua haujlwm me ntsis nrog kuv cov tub ntxhais kawm Bill Bolosky (William Bolossky) thiab Leonidas Kontotanassis (Leonidas Kontothanassis) nyob rau hauv thaum ntxov 1990s ntawm lub cim xeeb tswj ntawm Neumann tshuab. Thaum lub sij hawm ntawd, kev lag luam tseem tsis tau muaj kev nkag siab txog yuav ua li cas thiaj ua tau ib lub multiprocessor kom zoo: nws puas tsim nyog tsim kev txhawb nqa rau kev nkag mus rau tej thaj chaw deb nco ntawm qib hardware, nws puas tsim nyog ua lub cim xeeb faib, nws puas tuaj yeem thauj cov cache los ntawm tej thaj chaw deb nco, los yog nws puas yuav tsum tau tsiv cov nplooj ntawv nyob rau hauv lub operating chav tsev? Bill thiab Leonidas ob leeg tau ua haujlwm hauv cheeb tsam no thiab tshawb nrhiav txoj hauv kev yam tsis muaj chaw thau khoom chaw taws teeb. Qhov no tsis yog cuam tshuam ncaj qha rau cache coherence, tab sis nws tseem ua haujlwm ntawm NUMA nco kev tswj hwm, thiab tom qab ntawd cov txheej txheem niaj hnub mus rau nplooj ntawv tso rau hauv kev ua haujlwm niaj hnub tau loj hlob los ntawm qhov no. Zuag qhia tag nrho, Bill thiab Leonidas tau ua haujlwm tseem ceeb, txawm hais tias tsis yog qhov cuam tshuam tshaj plaws hauv cheeb tsam no - muaj ntau lwm tus neeg ua haujlwm rau tib lub sijhawm. Tom qab ntawd, kuv tau ua haujlwm ntawm lub ncauj lus ntsig txog cache coherence nyob rau hauv cov ntsiab lus ntawm hardware pauv kev nco. Pab pawg uas kuv tau ua haujlwm nrog rau qhov teeb meem no tau txais ob peb patents. Muaj qee cov tswv yim zoo nkauj qab lawv, tab sis kuv tsis xav tias lawv yuav xaus rau kev coj ua. Ib txoj kev lossis lwm qhov, nws nyuaj rau kuv los txiav txim lawv cov txiaj ntsig. 

Alexey: Hauv qhov no, ib lo lus nug ntawm tus kheej ntau dua: nws tseem ceeb npaum li cas rau koj tias koj cov tswv yim raug coj los siv? Los yog koj tsis xav txog nws?

Michael: Kuv nyiam nug cov lus nug no hauv kev xam phaj nrog lwm tus neeg, cov neeg thov lossis cov neeg sib tw xav koom nrog cov kws qhia ntawv. Kuv tsis xav tias muaj lus teb rau lo lus nug no. Cov neeg uas ua tej yam txias tuaj yeem muaj kev sib txawv heev. Kuv nyiam cov teeb meem vim kuv tus kheej pom lawv nthuav, tsis yog vim lawv cov txiaj ntsig. Tab sis ntawm qhov tod tes, thaum qee qhov nthuav tseem pom daim ntawv thov, kuv nyiam nws heev. Yog li nws tsis yooj yim ntawm no. Tab sis thaum pib ntawm kuv txoj hauj lwm, kuv tseem tsis tau tsav los ntawm lub tswv yim ntawm qhov kawg siv nyob rau hauv lub ntiaj teb no, tab sis los ntawm kev sib haum xeeb ntawm lub tswv yim thiab lub siab xav tshawb nrhiav nws thiab pom dab tsi los ntawm nws. Yog tias thaum kawg nws muab cov txiaj ntsig zoo, zoo heev. 

Alexey: Vim koj txoj kev kawm thiab kev paub dhau los, koj muaj peev xwm ua tau zoo dua li feem ntau los txiav txim qhov txiaj ntsig ntawm lwm tus neeg lub tswv yim. Koj tuaj yeem sib piv lawv thiab txiav txim siab seb qhov twg ua haujlwm zoo dua nrog qhov twg. Kuv paub tseeb tias koj muaj kev xav txog tej yam uas tam sim no tau siv los ntawm cov tuam txhab loj xws li Intel. Los ntawm koj qhov kev xav, qhov tseeb yog qhov kev kawm uas cov tuam txhab no tab tom kawm li cas?

Michael: Xyaum ib txwm tig mus rau qhov uas tuaj yeem ua lag luam ua tiav, uas yog, tsim cov txiaj ntsig, thiab koj zoo dua nug lwm tus txog qhov ntawd. Kuv txoj haujlwm feem ntau ua rau cov ntawv tshaj tawm, thiab hauv kev ua haujlwm ntawm kev ua haujlwm lawv raug tshuaj xyuas raws li cov ntsuas kev ua tau zoo: ceev, lub zog noj, cov lej loj. Tab sis nws ib txwm zoo li rau kuv tias cov txiaj ntsig empirical tau ntxiv rau cov ntawv tsuas yog kom lawv tuaj yeem luam tawm, thiab tib neeg lub siab xav ua haujlwm yog qhov zoo nkauj. Cov kws tshawb fawb soj ntsuam cov kev daws teeb meem los ntawm kev xav zoo nkauj, lawv mob siab txog cov tswv yim zoo nkauj npaum li cas, thiab lawv sim tsim ib yam dab tsi zoo dua li qhov uas twb muaj lawm. Cov kws tshawb fawb tau tsav los ntawm tus kheej, kev xav, kev xav zoo nkauj. Tab sis koj tsis tuaj yeem sau txog qhov no hauv tsab xov xwm nws tus kheej; cov khoom no tsis yog kev sib cav rau pawg neeg ua haujlwm. Hmoov zoo, cov kev daws teeb meem zoo nkauj feem ntau kuj ceev thiab pheej yig. Ib lub kaum os ntawm kuv cov npoj yaig thiab kuv tau tham txog cov ncauj lus no txog 15 xyoo dhau los thiab tau sau ib tsab xov xwm txog nws. Kuv xav tias koj tseem tuaj yeem nrhiav tau tam sim no, nws tau hu "Yuav ua li cas ntsuas kev tshawb fawb systems" los yog tej yam zoo li ntawd, nws muaj ntau tshaj li kaum tus kws sau ntawv. Nov yog tib tsab xov xwm uas kuv yog tus sau ua ke nrog Sasha Fedorova, yog li yog tias koj tshawb nrhiav nws lub npe hauv kuv daim ntawv teev cov ntawv tshaj tawm, koj yuav pom qhov koj xav tau. Nws tham txog kev soj ntsuam cov kev tshawb fawb hauv tshuab thiab qhov tseem ceeb elegance yog li cas. 

Alexey: Yog li muaj qhov sib txawv ntawm tus qauv ntawm qhov uas suav tias yog qhov zoo hauv kev tshawb fawb thiab kev lag luam. Kev tshawb fawb ntsuas kev ua tau zoo, kev siv hluav taws xob, TDP, kev siv yooj yim, thiab ntau ntxiv. Koj puas muaj sijhawm los ua cov kev tshawb fawb no hauv tsev kawm ntawv? Koj puas muaj chav kuaj nrog cov tshuab sib txawv thiab cov qauv sib txawv uas koj tuaj yeem ua qhov kev sim?

Michael: Yog lawm, peb chav haujlwm muaj ntau lub tshuab sib txawv. Feem ntau lawv yog me me, peb muaj ib pawg me me thiab ntau lub tshuab multiprocessor nrog cov sib txawv accelerators. Tsis tas li ntawd, lub tsev kawm ntawv muaj lub chaw suav loj loj uas ua haujlwm rau cov kws tshawb fawb los ntawm ntau lub kaum ob txoj kev qhuab qhia. Nws muaj txog ib txhiab nodes thiab nees nkaum txhiab cores, tag nrho ntawm Linux. Yog tias xav tau, koj tuaj yeem yuav qee yam AWS. Yog li peb tsis muaj kev txwv tseem ceeb nrog kho vajtse. 

Alexey: Nws zoo li peb caug xyoo dhau los li cas? Puas muaj teeb meem thaum ntawd?

Michael: Nws txawv me ntsis thaum ntawd. Nyob rau hauv nruab nrab mus rau lig xyoo 1980s, kev tshawb fawb tau suav tias yog luv luv ntawm kev siv nyiaj txiag. Txhawm rau kho qhov teeb meem no, National Science Foundation (National Science Foundation) tsim ib qho kev pab cuam ntawm kev sib koom tes tshawb fawb (Coordinated Experimental Research, CER). Qhov kev zov me nyuam lub luag haujlwm yog los muab kev suav nrog cov cuab yeej siv rau Computer Science departments, thiab nws tau ua tiav qhov kev hloov pauv tseem ceeb. Nrog rau cov nyiaj uas nws muab, peb ntawm University of Rochester yuav 1984-knot BBN Npauj Npaim xyoo 128, qhov no yog ib xyoos ua ntej kuv tuaj txog ntawd. Lub sijhawm ntawd nws yog lub ntiaj teb loj tshaj plaws multiprocessor system nrog kev sib koom nco. Nws muaj 128 processors, txhua tus ntawm ib lub motherboard cais, thiab nyob hauv plaub racks. Txhua tus processor muaj lub cim xeeb megabyte, 128 megabytes ntawm RAM yog qhov tsis xav txog thaum lub sijhawm ntawd. Ntawm lub tshuab no peb siv MCS xauv thawj zaug. 

Alexey: Yog li, yog tias kuv nkag siab koj raug, ces tam sim no qhov teeb meem nrog cov khoom siv tau raug daws lawm? 

Michael: Feem ntau, yog. Muaj ob peb lub ntsiab lus tseem ceeb: ua ntej, yog tias koj tab tom ua computer architecture ntawm qib nti, nws nyuaj rau ua hauv ib puag ncig kev kawm vim tias muaj cov cuab yeej zoo dua rau kev ua lag luam. Yog tias koj xav tau dab tsi me dua 10 nanometers, koj yuav tsum tau xaj nws los ntawm lwm tus. Hauv cheeb tsam no nws yooj yim dua los ua tus kws tshawb fawb ntawm Intel. Yog tias koj tab tom ua haujlwm ntawm kev sib txuas lus kho qhov muag ntawm cov chips lossis hauv lub xeev kev nco, koj yuav pom cov thev naus laus zis hauv kev lag luam uas tseem tsis tau muaj nyob hauv kev tshawb fawb, yog li koj yuav tsum tsim kev sib koom tes. Piv txwv li, Stephen Swanson (Steven Swanson) tsim xws li kev sib koom tes rau tshiab nco technologies. Daim ntawv no tsis yog ib txwm ua haujlwm, tab sis qee zaum nws tuaj yeem ua tiav zoo. Tsis tas li ntawd, nyob rau hauv kev tshawb fawb txoj kev loj hlob ntawm cov haib tshaj computer systems yog nyuaj dua. Qhov loj tshaj plaws supercomputer tej yaam num tam sim no nyob rau hauv US, Nyiv thiab Tuam Tshoj yog tag nrho cov tsom rau kev lag luam. 

Cov tswv yim siv tswv yim. MCS, MS, CLH, JSR 166, ua haujlwm nrog Doug Lee thiab lwm yam.

Vitali: Koj twb tau tham txog yuav ua li cas koj pib ua haujlwm ntawm synchronization algorithms. Koj muaj ob lub npe nrov heev txog MCS thaiv ΠΈ Michael-Scott kab (MS), uas nyob rau hauv ib lub siab tau siv nyob rau hauv Java. (Tus kws sau ntawv: txhua qhov kev tshaj tawm tuaj yeem pom txuas). Muaj qhov thaiv no tau siv nrog qee qhov kev hloov pauv thiab nws tau muab tawm CLH xauv, thiab cov queue tau ua raws li qhov xav tau. Tab sis ntau xyoo dhau los ntawm kev tshaj tawm koj cov ntawv thiab lawv cov ntawv thov. 

Alexey: Zoo li 10 xyoo nyob rau hauv rooj plaub ntawm cov kab.

Michael: Ua ntej cov nta no tshwm sim hauv Java txheem tsev qiv ntawv?

Vitali: Yog. Koj ua dab tsi los ua kom qhov no tshwm sim? Los yog lawv tsis ua dab tsi?

Michael: Kuv tuaj yeem qhia koj li cas MS Queue tau nkag mus rau hauv Java 5. Ob peb xyoos ua ntej nws tawm, kuv tau ua haujlwm nrog Mark Moyers 'pab pawg ntawm Sun Microsystems hauv lawv lub chaw kuaj mob ze Boston. Nws tau teeb tsa lub rooj cob qhia rau cov neeg nws paub uas tau ua haujlwm rau cov teeb meem nthuav dav hauv kev sib txuas lus vim nws xav nrhiav cov ncauj lus uas nws tuaj yeem muag rau lawv lub tuam txhab. Nov yog qhov kuv xub ntsib Doug Lea. Doug thiab kuv thiab txog 25 lwm tus neeg los ntawm Sun tau sib tham txog Doug qhov kev nthuav qhia ntawm SIB 166, uas tom qab ntawd los ua java.util.concurrent. Raws li txoj kev, Doug tau hais tias nws xav siv MS queue, tab sis rau qhov no nws xav tau lub txee rau tus lej ntawm cov khoom hauv kab rau lub interface. Ntawd yog, qhov no yuav tsum tau ua los ntawm kev sib cais, atomic, raug thiab nrawm. Kuv xav kom yooj yim ntxiv cov lej rau cov nodes, noj cov naj npawb ntawm thawj qhov thiab qhov kawg thiab rho tawm ib qho ntawm lwm qhov. Doug khawb nws lub taub hau, hais tias "vim li cas tsis," thiab xaus li ua li ntawd. Peb tau sib tham txog kev siv txoj hauv kev no hauv lub tsev qiv ntawv, tab sis Doug tau ua haujlwm feem ntau ntawm nws tus kheej. Raws li qhov tshwm sim, nws tau tswj hwm los tsim kev txhawb nqa multithreading zoo heev hauv Java. 

Alexey: Yog li, yog tias kuv nkag siab raug, .size() txoj kev yuav tsum yog ib feem ntawm cov txheej txheem queue interface, thiab nws yuav tsum muaj algorithmic complexity ntawm O(1)?

Michael: Yog, thiab ntxiv rau qhov no, yuav tsum muaj lub txee cais.

Alexey: Vim tias yog tias koj hu rau .size() txoj hauv kev hauv Java, qhov tshwm sim yuav tsum muaj tam sim ntawd thiab tsis yog raws li qhov loj ntawm qhov sau. kuv pom, ua tsaug.

Michael: Ob peb xyoos tom qab ntawd kuv tau ua haujlwm ntawm cov ntaub ntawv dual nrog kuv tus menyuam kawm ntawv Bill Scherer - qhov tseeb, qhov no yog qhov kuv yuav tham txog. qhia txog Hydra. Doug tuaj rau peb thiab hais tias nws tuaj yeem siv lawv hauv Java Executor Framework. Ua ke nrog Bill, lawv tau tsim ob qhov kev coj ua, hu ua kev ncaj ncees thiab tsis ncaj ncees. Kuv tau qhia lawv txog qhov project no, txawm hais tias kuv tsis tau koom nrog kev sau cov lej tiag. Yog li ntawd, qhov ceev ntawm executors tau nce ntau. 

Vladimir: Koj puas tau ntsib kev siv tsis raug ntawm koj cov algorithms lossis thov kom ntxiv cov yam ntxwv tshiab? Feem ntau, kev xyaum yuav tsum coincide nrog txoj kev xav, tab sis feem ntau lawv txawv. Piv txwv tias koj tau sau ib qho algorithm, thiab ntawm daim ntawv nws ua haujlwm, tab sis cov neeg uas koom nrog hauv kev siv tau pib nug koj txog ntau yam lossis qee yam tweaking ntawm algorithm. Koj puas tau muaj tej xwm txheej zoo li no?

Michael: Tib qho piv txwv uas ib tug neeg tuaj rau kuv thiab nug "yuav ua li cas rau nws" yog Doug cov lus nug, uas kuv twb tham txog. Tab sis muaj qee qhov xwm txheej uas nthuav dav tau hloov pauv kom haum rau cov kev xav tau. Piv txwv li, pab pawg K42 ntawm IBM tau hloov pauv MCS lub xauv thiab ua rau nws tus qauv sib txuas yog li tsis tas yuav hla cov kab ke rov qab mus rau qhov tau txais thiab tso tawm cov txheej txheem. Ua tsaug rau tus qauv interface no, lub tswv yim zoo nkauj hauv kev xav tau pib ua haujlwm hauv kev xyaum. Nws yog qhov xav tsis thoob tias lawv tsis tau tshaj tawm ib tsab xov xwm txog nws, thiab txawm tias lawv tau txais daim ntawv pov thawj, lawv tau tso tseg tom qab ntawd. Lub tswv yim zoo heev, thiab kuv sim tham txog nws thaum twg ua tau. 

Muaj lwm qhov xwm txheej uas tib neeg tau txhim kho cov algorithms uas kuv tau tshaj tawm. Piv txwv li, MS queue muaj ob-kauj ruam installation mechanism, uas txhais tau hais tias muaj ob CASs ntawm txoj kev tseem ceeb ntawm kab. Ntawm cov tsheb qub, CAS tau kim heev. Intel thiab lwm lub tuam txhab tau ua kom zoo rau lawv tsis ntev los no, tab sis ib zaug dhau los cov lus qhia 30-lub voj voog, yog li muaj ntau dua ib qho ntawm txoj hauv kev tseem ceeb yog qhov tsis xav tau. Yog li ntawd, ib qho kev sib txawv tau tsim los uas zoo ib yam li MS queue, tab sis uas tsuas muaj ib qho kev ua haujlwm atomic ntawm txoj kev tseem ceeb. Qhov no tau ua tiav vim qhov tseeb tias lub sijhawm ua haujlwm tuaj yeem siv sijhawm O (n) es tsis yog O (1). Nws tsis zoo li, tab sis ua tau. Qhov no tshwm sim vim lub fact tias nyob rau hauv tej lub sij hawm lub algorithm traversed lub queue los ntawm qhov pib mus rau tam sim no txoj hauj lwm nyob rau hauv no queue. Nyob rau hauv dav dav, lub algorithm tau ua tau zoo heev. Raws li kuv paub, nws tsis yog siv dav heev, ib feem vim tias kev ua haujlwm atomic xav tau kev pab tsawg dua li ua ntej. Tab sis lub tswv yim zoo heev. Kuv kuj nyiam ua haujlwm ntawm Dave Dice los ntawm Oracle. Txhua yam nws ua tau zoo heev thiab nws siv hlau ntse heev. Nws muaj ib txhais tes nyob rau hauv ntau ntawm NUMA-paub synchronization algorithms thiab ntau cov ntaub ntawv xov xwm. 

Vladimir: Thaum koj sau algorithms lossis qhia cov tub ntxhais kawm, qhov tshwm sim ntawm koj txoj haujlwm tsis pom tam sim ntawd. Lub zej zog xav tau qee lub sijhawm los paub txog, hais, ib tsab xov xwm tshiab. Tus tshiab algorithm tsis pom tam sim ntawd daim ntawv thov. 

Michael: Nws yog deb ntawm tam sim no meej seb tsab xov xwm yuav tseem ceeb los yog tsis. Kuv xav tias nws yuav nthuav kom ua ib qho kev kawm ntawm cov ntaub ntawv uas tau txais khoom plig ntawm cov rooj sib tham. Ntawd yog, saib cov ntawv uas cov neeg ntawm pawg neeg ua haujlwm hauv ib lub sijhawm suav tias yog qhov zoo tshaj plaws. Koj yuav tsum tau sim xam los ntawm tus lej ntawm cov kev sib txuas thiab qhov cuam tshuam rau kev lag luam li cas cov kab lus no muaj txiaj ntsig tiag tiag los ua hauv 10, 20, 25 xyoo. Kuv tsis ntseeg tias yuav muaj kev sib raug zoo ntawm ob leeg. Nws yuav tsis yog xoom, tab sis feem ntau nws yuav tsis muaj zog dua li peb xav. Ntau lub tswv yim tseem tsis tau lees paub rau lub sijhawm ntev ua ntej lawv nthuav dav. Piv txwv li, cia peb siv lub cim xeeb hloov pauv. Ntau tshaj 10 xyoo dhau los ntawm lub sijhawm thawj tsab xov xwm tau tshaj tawm rau lub sijhawm tib neeg tau pib tsim lub tshuab nrog nws. Thiab ua ntej cov tsos ntawm no nco nyob rau hauv kev lag luam cov khoom - thiab tag nrho cov 20. Rau ib tug ntev heev lub sij hawm tsis muaj ib tug them nyiaj mloog mus rau tsab xov xwm, thiab ces tus xov tooj ntawm kev txuas mus rau nws nce sharply. Nws yuav nyuaj rau kwv yees qhov no ua ntej. Ntawm qhov tod tes, qee zaum cov tswv yim nrhiav kev siv tam sim ntawd. Ob peb xyoos dhau los, kuv tau sau ib daim ntawv nrog Joe Izraelevitz rau DISC uas tau tshaj tawm cov ntsiab lus tshiab ntawm kev siv tau rau cov ntaub ntawv tsis tu ncua uas tuaj yeem siv tom qab lub computer khiav lawv poob. Kuv nyiam tsab xov xwm los ntawm qhov pib, tab sis nws hloov tawm los ua neeg nyiam tshaj qhov kuv xav tau. Nws tau siv los ntawm ob peb pawg sib txawv thiab nws thiaj li dhau los ua tus qauv txhais ntawm cov qauv persistence. Qhov twg, ntawm chav kawm, yog qhov zoo.

Vladimir: Puas muaj tej txuj ci uas koj siv rau kev ntsuam xyuas? Koj puas tseem sim ntsuas koj cov ntawv thiab koj cov tub ntxhais kawm? Hais txog seb tus neeg koj qhia puas yog mus rau qhov yog.

Michael: Zoo li txhua leej txhua tus, kuv mob siab rau qhov kuv tab tom ua tam sim no. Ib zaug ntxiv, zoo li txhua tus neeg, kuv qee zaus tshawb xyuas Google Scholar kom pom tias kuv cov ntaub ntawv dhau los raug suav, tab sis qhov xav paub ntau dua. Feem ntau kuv txaus siab rau qhov kuv cov tub ntxhais kawm ua tam sim no. Thaum nws los ntsuas kev ua haujlwm tam sim no, ib feem ntawm nws yog kev xav txog kev zoo nkauj, dab tsi yog elegant thiab dab tsi tsis yog. Thiab ntawm txhua hnub, qhib cov lus nug ua lub luag haujlwm loj. Piv txwv li, ib tug tub ntxhais kawm tuaj rau kuv nrog ib daim duab ntawm qee qhov txiaj ntsig, thiab peb tab tom sim nkag siab qhov twg qee qhov kev coj txawv txawv ntawm daim duab tuaj ntawm. Feem ntau, hauv peb txoj haujlwm peb niaj hnub sim to taub tej yam uas peb tseem tsis tau to taub. 

Transactional nco

Vitali: Tej zaum peb tuaj yeem tham me ntsis txog kev hloov pauv kev nco?

Michael: Kuv xav tias nws tsim nyog hais tsawg kawg yog me ntsis vim kuv siv zog ntau rau nws. Qhov no yog ib lub ncauj lus uas kuv muaj ntau tshaj tawm tshaj lwm yam. Tab sis tib lub sijhawm, oddly txaus, kuv ib txwm tsis ntseeg txog kev hloov pauv kev nco. Hauv kuv qhov kev xav, tsab xov xwm los ntawm Herlihy thiab Moss (M. Herlihy, J. E. B. Moss) tau luam tawm ua ntej nws lub sijhawm. Thaum ntxov xyoo 1990, lawv tau hais tias kev hloov pauv kev nco tuaj yeem pab cov neeg txawj ntse programmers ua haujlwm ntawm ntau cov ntaub ntawv cov qauv, yog li cov qauv no tuaj yeem siv los ua cov tsev qiv ntawv los ntawm cov programmers. Ntawd yog, nws yuav yog ib qho kev pab rau Doug Lee ua nws JSR 166. Tab sis kev hloov pauv kev nco tsis yog los ua kom muaj ntau txoj xov zoo ua haujlwm yooj yim. Tab sis qhov no yog raws nraim li cas nws pib pom nyob rau hauv thaum ntxov 2000s, thaum nws tau nthuav dav. Nws tau tshaj tawm raws li ib txoj hauv kev los daws qhov teeb meem ntawm kev sib txuas lus. Txoj kev no yeej ib txwm zoo li tsis muaj kev cia siab rau kuv. Transactional nco tsuas yog ua kom yooj yim sau cov ntaub ntawv sib luag. Qhov no, zoo li kuv, yog qhov nws ua tiav. 

Hais txog qhov nyuaj ntawm kev sau ntau txoj xov tooj

Alexey: Txaus siab heev. Zoo li muaj qee qhov teeb meem ntawm cov programmer tsis tu ncua thiab cov uas tuaj yeem sau tau ntau txoj xov tooj. Xyoo tas los, kuv tau hais ob peb zaug nrog cov neeg uas tau siv qee qhov kev ua haujlwm algorithmic. Piv txwv li, nrog Martin Thomson, nrog rau cov programmers ua haujlwm ntawm ntau lub tsev qiv ntawv. (Tus kws sau ntawv: Martin Thompson yog tus tsim tawm nto moo, nws tau sau Tshaj Tawm ΠΈ Aeron. Thiab nws kuj muaj qhia ntawm peb lub rooj sib tham Joker 2015, kaw video muaj nyob rau hauv YouTube. Nws yog tib yam qhib lub rooj sab laj no keynote kaw kuj muaj). Qhov kev sib tw tseem ceeb, lawv hais, yog ua cov algorithms ob qho tib si ceev thiab yooj yim siv. Ntawd yog, lawv tab tom sim kov yeej qhov teeb meem no thiab nyiam ntau tus neeg li sai tau rau thaj chaw no. Koj xav li cas?

Michael: Qhov no yog qhov teeb meem tseem ceeb ntawm multithreading: yuav ua li cas kom ua tiav qhov kev ua tau zoo yam tsis muaj kev ua kom nyuaj ntawm qhov system. 

Alexey: Vim tias thaum lawv sim zam kev nyuaj, cov algorithm yuav tsis tshua muaj thoob ntiaj teb.

Michael: Qhov tseem ceeb ntawm no yog tsim kom zoo abstractions. Nws zoo nkaus li rau kuv tias qhov no feem ntau yog qhov tseem ceeb tshaj plaws rau cov tshuab computer ua haujlwm. Butler Lampson nyiam siv lo lus no, thiab nws hu peb "cov tub lag luam ntawm abstractions." Cov technologies yooj yim tsis muaj nyob niaj hnub no. Cov txheej txheem peb siv muaj 10 billion transistors - yooj yim yog tawm ntawm lo lus nug. Nyob rau tib lub sijhawm, ISA yog qhov yooj yim dua li cov processor, txij li peb tau ua haujlwm ntev heev los muab nws nrog kev ua haujlwm siab thiab kev sib txuas yooj yim. Tab sis tsis yog txhua yam zoo nrog nws. Tib qhov teeb meem yog nrog accelerators uas tam sim no tshwm sim hauv khw. Cov lus nug tshwm sim - yuav ua li cas thiaj ua tau qhov kev sib raug zoo rau GPU, lub tshuab encryption, compression, ib qho kev hloov pauv, cov txheej txheem algebra, lossis txawm tias FPGA hloov tau yooj yim dua. Yuav ua li cas los tsim ib qho interface uas ua rau cov cuab yeej siv tau yooj yim thiab nkaum qhov nyuaj? Nws yuav tsis tshem ntawm nws, tab sis theej zais nws los ntawm tus programmer yooj yim. 

Alexey: Raws li kuv nkag siab nws, peb tseem muaj kev cuam tshuam hauv kev nkag siab abstractions. Cia peb coj tus qauv nco; ntawm peb theem ntawm kev loj hlob ntawm kev tshawb fawb thiab thev naus laus zis, qhov no yog ib qho ntawm cov ntsiab lus tseem ceeb. Ua tsaug rau nws, txhua tus programmers tau muab faib ua ob pawg: qhov loj dua yog cov uas tsis nkag siab, thiab qhov me dua yog cov uas nkag siab, lossis xav tias lawv nkag siab. 

Michael: Qhov no yog ib lo lus nug zoo - puas yog peb ib leeg twg yeej nkag siab tus qauv nco?

Vitali: Tshwj xeeb hauv C ++.

Michael: Tham nrog Hans Boehm qee zaum. Nws yog ib tus neeg txawj ntse tshaj plaws uas kuv paub, tus kws tshaj lij ntawm cov qauv kev nco. Nws yuav qhia rau koj tam sim ntawd tias muaj ntau yam nws tsis nkag siab. Tab sis yog hais tias peb rov qab mus rau qhov teeb meem ntawm abstractions, ces, nyob rau hauv kuv lub tswv yim, lub tswv yim tseem ceeb tshaj plaws nyob rau hauv lub teb ntawm lub cim xeeb qauv nyob rau hauv lub dhau los 30 xyoo tau qhia. hauv Sarita Adve's dissertation. (Tus kws sau ntawv: muaj ib daim ntawv teev tag nrho ntawm kev tshaj tawm txuas).

Alexey: Kuv lo lus nug yog: puas yog qhov thaiv no los ntawm qhov xwm txheej ntawm lub tswv yim? 

Michael: Tsis yog. Sarita tuaj txog qhov xaus tias nrog txoj hauv kev zoo, koj tuaj yeem ua tiav zais txhua qhov nyuaj, tau txais kev ua haujlwm siab thiab muab tus programmer yooj yim API. Thiab yog tias koj ua raws li API no, koj tuaj yeem ua tiav qhov sib xws. Kuv xav tias qhov no yog tus qauv tsim nyog. Sau code yam tsis muaj cov ntaub ntawv sib tw thiab tau txais kev sib txuas ua ke. Tau kawg, txhawm rau txhawm rau txo qhov muaj feem ntawm kev sib tw, cov cuab yeej tshwj xeeb xav tau, tab sis qhov ntawd yog lwm qhov teeb meem. 

Vladimir: Puas muaj qee lub sij hawm hauv koj txoj hauj lwm thaum muaj teeb meem zoo li daws tau tam sim ntawd tig los ua kev puas tsuaj, lossis nws tau pom tias qhov teeb meem no daws tsis tau? Piv txwv li, hauv txoj kev xav koj tuaj yeem ua tus lej lossis txiav txim siab seb tus lej twg yog thawj. Tab sis nyob rau hauv kev xyaum qhov no yuav ua tau nyuaj rau ua; nrog rau tam sim no kho vajtse nws yog ib qho nyuaj rau xam zauv. Puas muaj tej yam zoo sib xws rau koj?

Michael: Kuv tsis nco qab ib yam li ntawd tam sim ntawd. Muaj qee lub sij hawm thaum nws zoo li kuv tias tsis muaj dab tsi sab laug ua hauv ib cheeb tsam, tab sis tom qab ntawd ib yam dab tsi tshiab thiab nthuav tshwm sim nyob ntawd. Piv txwv li, kuv xav tias thaj tsam ntawm unlimited queuing twb mus txog kev loj hlob. Tom qab ntau qhov kev txhim kho rau MNS kab, tsis muaj dab tsi tshwm sim ntxiv lawm. Thiab ces Morrison (Adam Morrison) thiab Afek (Yehuda Afek) tau tsim LCRQ kab. Nws tau pom tseeb tias qhov kev txwv tsis pub muaj ntau txoj xov tau ua tau, qhov twg feem ntau tsuas yog muaj kev qhia ntxiv-thiab-nqi ntxiv rau ntawm txoj kev tseem ceeb. Thiab qhov no ua rau nws muaj peev xwm ua tiav qhov kev txiav txim ntawm qhov ua tau zoo dua. Nws tsis yog tias peb tsis paub tias kev nqa-thiab-increment yog ib qho tseem ceeb heev. Eric Freudenthal tau sau txog qhov no hauv nws txoj haujlwm ntawm Ultracomputer nrog Allan Gottlieb thaum xyoo 1980s lig, tab sis nws yog hais txog kev txwv tsawg. Morrison thiab Afek tuaj yeem siv nqa-thiab-nqi ntxiv ntawm qhov tsis muaj kev txwv.

Tshiab architectures. Puas yog kev yeej ntawm kev hloov pauv kev nco ze?

Vladimir: Puas yog koj tab tom nrhiav kev daws teeb meem kev tsim vaj tsev tshiab uas tuaj yeem pab tau rau algorithms? 

Michael: Tau kawg, muaj ntau yam uas kuv xav pom siv. 

Vladimir: Hom twg, piv txwv li?

Michael: Ua ntej tshaj plaws, ob peb yam yooj yim txuas ntxiv rau peb cov khoom lag luam-theem kev ua lag luam nco hauv Intel thiab IBM processors. Tshwj xeeb, kuv xav kom tsis muaj kev lag luam thauj khoom thiab khw muag khoom uas nyuam qhuav tshwm sim kom muaj tam sim ntawd hauv kev lag luam. Lawv tam sim ntawd ua rau lub voj voog nyob rau hauv qhov tshwm sim-ua ntej ib ntus, yog li lawv tuaj yeem nyuaj. Tab sis yog tias koj tswj cov txheej txheem ntawm abstraction, muaj ntau yam nthuav heev uas koj tuaj yeem ua sab nraud ntawm kev lag luam thaum nws tshwm sim. Kuv tsis paub tias qhov no yuav nyuaj npaum li cas los siv, tab sis nws yuav muaj txiaj ntsig zoo. 

Lwm qhov tseem ceeb yog thauj khoom cache los ntawm cov chaw taws teeb nco. Kuv xav tias sai lossis tom qab qhov no yuav ua tiav. Cov cuab yeej no yuav tso cai rau kev tsim cov tshuab nrog lub cim xeeb disaggregated. Nws yuav muaj peev xwm khaws cia, hais tias, 100 terabytes ntawm lub cim xeeb tsis muaj zog nyob rau hauv khib, thiab lub operating system nws tus kheej yuav dynamically txiav txim siab uas seem ntawm lub cim xeeb yuav tsum sib haum mus rau qhov chaw nyob ntawm lub cev ntawm cov processors. Qhov no yuav muaj txiaj ntsig zoo rau kev suav huab, vim nws yuav tso cai rau ntau lub cim xeeb los muab rau cov haujlwm uas xav tau. Kuv xav tias ib tug yuav ua.

Vitali: Kom tas tham txog kev hloov pauv kev nco, kuv muaj ib lo lus nug ntxiv ntawm lub ncauj lus no. Puas yog kev hloov pauv kev nco thaum kawg hloov cov qauv ntau cov ntaub ntawv xov xwm?

Michael: Tsis yog. Kev lag luam yog ib qho kev xav txog kev xav. Nyob rau theem programming cov no yog atomic locks, tab sis sab hauv lawv yog speculations. Xws li kev kwv yees ua haujlwm yog tias feem ntau ntawm cov kev kwv yees raug raug. Yog li ntawd, kev hloov pauv kev nco ua haujlwm zoo thaum cov xov tsis sib cuam tshuam nrog ib leeg, thiab koj tsuas yog xav kom paub tseeb tias tsis muaj kev cuam tshuam. Tab sis yog tias cov lus pib ntawm cov xov, kev lag luam yog siv tsawg. Cia kuv piav qhia, peb tab tom tham txog rooj plaub thaum kev hloov pauv tau qhwv ib ncig ntawm tag nrho cov haujlwm atomic. Lawv tseem tuaj yeem siv tau zoo los ua cov khoom siv rau ntau cov ntaub ntawv xov xwm. Piv txwv li, yog tias koj xav tau peb lo lus CAS, thiab koj yuav tsum tau xa peb cov lus me me nyob rau hauv nruab nrab ntawm ib qho multithreaded algorithm uas ua haujlwm nrog nees nkaum xov tib lub sijhawm. Feem ntau, kev lag luam tuaj yeem pab tau, tab sis lawv yuav tsis tshem tawm qhov xav tau los tsim cov ntaub ntawv ntau cov xov zoo. 

Tsis-volatile nco, Optane DIMM, ultra-ceev li.

Vitali: Qhov kawg uas kuv xav tham txog yog lub ntsiab lus ntawm koj qhov kev tshawb fawb tam sim no: lub cim xeeb tsis hloov pauv. Peb tuaj yeem xav li cas hauv cheeb tsam no yav tom ntej? Tej zaum koj paub txog kev siv tau zoo uas twb muaj lawm? 

Michael: Kuv tsis yog tus kws tshaj lij kho vajtse, kuv tsuas yog paub qhov kuv tau nyeem hauv xov xwm thiab kuv cov npoj yaig qhia kuv li cas. Txhua tus tau hnov ​​​​tias Intel muag Optane DIMM, uas muaj li 3 npaug ntawm kev nyeem latency thiab 10 npaug ntawm kev sau latency dua li RAM dynamic. Lawv yuav sai sai no muaj nyob rau hauv loj heev versions. Nws yog qhov lom zem xav tias koj tuaj yeem muaj lub laptop nrog ob peb terabytes ntawm byte-chaw nyob RAM. Nws zoo li tias hauv 10 xyoo peb yuav txiav txim siab siv cov thev naus laus zis tshiab no, txij li peb siv DRAM - tsuas yog nce qhov ntim. Tab sis ua tsaug rau kev ywj pheej ntawm lub zog, cov cib fim tshiab qhib rau peb. Peb tuaj yeem hloov pauv cov pawg khaws cia kom tsis muaj kev sib cais ntawm byte-addressable ua haujlwm nco thiab thaiv cov txheej txheem tsis tu ncua. Yog li, peb yuav tsis tas yuav serialize txhua yam uas yuav tsum tau hloov los ntawm ib qho kev pab cuam khiav mus rau lwm qhov rau hauv cov ntaub ntawv thaiv. Los ntawm qhov no peb tuaj yeem muab tau ntau lub hauv paus ntsiab lus tseem ceeb uas cuam tshuam rau kev khiav hauj lwm systems, runtime ib puag ncig, thiab faib cov ntaub ntawv khaws cia. Cov cheeb tsam no yog heev nthuav mus ua hauj lwm nyob rau hauv. Tus kheej, nws nyuaj rau kuv twv seb qhov no yuav ua rau txhua yam, tab sis cov teeb meem ntawm no yog qhov lom zem heev. Tej zaum yuav muaj kev hloov pauv ntawm no, thiab lawv ua raws li ib txwm ua los ntawm kev ua haujlwm ntawm multithreading, txij li kev rov ua haujlwm tsis ua haujlwm yog "multithreading" txheej txheem ib sab ntawm kev ua haujlwm ntawm lub cev. 

Lub ntsiab lus tseem ceeb thib ob uas kuv tab tom ua haujlwm tam sim no yog tswj hwm cov khoom siv ceev ceev thiab kev nyab xeeb rau cov khoom siv los ntawm qhov chaw siv nrog kev tswj hwm txoj cai. Nyob rau hauv xyoo tas los no, muaj ib qho kev hloov mus rau kev nkag mus rau lub cuab yeej mus rau qhov chaw siv. Qhov no yog ua tiav vim TCP-IP ntsiav pawg tsis tuaj yeem ua haujlwm rau saum lub network interface uas xav tau pob ntawv tshiab txhua 5 microseconds; nws tsuas yog yuav tsis khaws cia. Yog li ntawd, manufacturers muab kev nkag ncaj qha rau cov khoom siv. Tab sis qhov no txhais tau hais tias lub operating system poob tswj cov txheej txheem thiab nws tsis tuaj yeem muab kev nkag mus rau cov cuab yeej kom zoo rau kev sib tw daim ntawv thov. Peb pab neeg tshawb fawb ntseeg tias qhov tsis txaus no tuaj yeem zam tau. Peb yuav muaj ib tsab xov xwm hais txog qhov no ntawm USENIX ATC lub hlis no. Nws muaj feem cuam tshuam rau kev ua haujlwm tsis tu ncua, txij li lub sijhawm nyob ntev byte-addressable nco tsis tu ncua yog, hauv qhov tseem ceeb, ib qho khoom siv nrog ultra-ceev I / O uas yuav tsum tau nkag mus rau hauv qhov chaw siv. Qhov kev tshawb fawb no ua rau muaj peev xwm tshiab rau microkernels, exokernels, thiab lwm yam kev sim ua kom muaj kev nyab xeeb txav mus los ntawm OS kernel mus rau qhov chaw siv. 

Vladimir: Byte-addressable nco yog qhov zoo, tab sis muaj kev txwv lub cev - qhov ceev ntawm lub teeb. Qhov no txhais tau hais tias yuav muaj kev ncua sijhawm thaum cuam tshuam nrog lub cuab yeej. 

Michael: Yog lawm.

Vladimir: Puas yuav muaj peev xwm txaus los tiv thaiv cov khoom thauj tshiab?

Michael: Qhov no yog ib lo lus nug zoo heev, tab sis nws yuav nyuaj rau kuv teb. Lub tswv yim ntawm kev ua tiav hauv kev nco tau nyob ib puag ncig rau qee lub sijhawm, nws yog qhov nthuav heev, tab sis kuj nyuaj heev. Kuv tsis tau ua haujlwm hauv cheeb tsam no, tab sis nws yuav zoo yog tias qee qhov kev tshawb pom tau ua rau ntawd. Kuv ntshai kuv tsis muaj dab tsi ntxiv. 

Vladimir: Muaj ib qho teeb meem ntxiv. Tshiab, loj npaum li cas ntawm RAM yuav tsis yooj yim sua kom haum rau hauv CPU. Yog li, vim muaj kev txwv lub cev, RAM no yuav tsum raug cais tawm. 

Michael: Nws tag nrho yog nyob ntawm tus naj npawb ntawm qhov tsis xws luag hauv kev tsim cov khoom sib xyaw ua ke. Yog tias nws muaj peev xwm tsim cov semiconductor wafers nkaus xwb tsis muaj qhov tsis xws luag, ces nws yuav ua tau kom tag nrho microcircuit tawm ntawm nws. Tab sis tam sim no peb tsis paub yuav ua li cas ua microcircuits loj dua cov ntawv xa nyiaj. 

Vladimir: Tab sis peb tseem tab tom tham txog qhov loj me, txog centimeters. Qhov no inevitably muaj kev cuam tshuam rau latency. 

Michael: Yog. Tsis muaj ib yam dab tsi uas koj tuaj yeem ua tau txog qhov ceev ntawm lub teeb. 

Vladimir: Hmoov tsis zoo. 

Tom ntej no loj sib. Dual cov ntaub ntawv qauv. Hydra.

Vitali: Raws li kuv nkag siab, koj ntes cov qauv tshiab sai heev. Koj yog ib tus thawj coj ua haujlwm hauv kev hloov pauv kev nco, thiab ib qho ntawm thawj zaug ua haujlwm hauv lub cim xeeb tsis hloov pauv. Koj xav tias dab tsi yuav yog qhov sib txawv loj tom ntej? Los yog tej zaum nws yog ib qho zais cia?

Michael: Ua ncaj ncees, kuv tsis paub. Vam tias kuv yuav tuaj yeem pom thaum muaj qee yam tshiab tuaj. Kuv tsis tau muaj hmoo txaus los tsim ib qho chaw tshiab ntawm kuv tus kheej, tab sis kuv tau muaj ob peb koob hmoov thiab muaj peev xwm pib ua hauj lwm thaum ntxov hauv cov teb tshiab tsim los ntawm lwm tus. Kuv vam tias kuv yuav ua tau li no yav tom ntej.

Alexey: Cov lus nug kawg hauv kev xam phaj no yuav yog hais txog koj qhov kev ua tau zoo ntawm Hydra thiab koj cov dej num hauv tsev kawm ntawv. Yog tias kuv nkag siab raug, tsab ntawv ceeb toom ntawm lub tsev kawm ntawv yuav hais txog kev txwv tsis pub siv cov algorithms, thiab ntawm lub rooj sib tham txog ob chav ntaub ntawv. Koj puas tuaj yeem hais ob peb lo lus hais txog cov ntawv ceeb toom no?

Michael: Ib feem, peb twb tau kov cov ncauj lus no nrog koj hauv kev xam phaj no. Nws yog hais txog txoj haujlwm kuv tau ua nrog kuv tus menyuam kawm ntawv Bill Scherer. Nws tau sau ib tsab ntawv thesis rau nws, thiab Doug Lee kuj tau pab txhawb rau nws, thiab nws thiaj li dhau los ua ib feem ntawm ntau txoj xov sib txuas hauv cov tsev qiv ntawv Java. Cia peb xav tias cov qauv ntaub ntawv tau nyeem thiab sau yam tsis muaj kev thaiv, uas yog, txhua txoj haujlwm muaj qee cov lus qhia ntawm txoj hauv kev tseem ceeb. Yog tias koj sim tshem tawm cov ntaub ntawv los ntawm lub thawv khoob, lossis sim tshem qee cov ntaub ntawv uas tsis nyob hauv lub thawv no, koj tau ceeb toom tam sim ntawd tias qhov no ua tsis tau. Tab sis qhov kev coj cwj pwm no yuav tsis pom zoo yog tias cov xov xav tau cov ntaub ntawv no tiag tiag. Tom qab ntawd thawj qhov uas los rau hauv siab yog los tsim lub voj uas yuav nug tas li yog tias cov ntaub ntawv tsim nyog tau tshwm sim. Tab sis tom qab ntawd muaj kev cuam tshuam rau lwm tus. Ntxiv rau, nrog rau txoj hauv kev no, koj tuaj yeem tos 10 feeb, thiab tom qab ntawd qee qhov xov yuav tuaj, thiab nws yuav tau txais cov ntaub ntawv tsim nyog ua ntej. Dual cov ntaub ntawv qauv tseem tsis muaj xauv, tab sis lawv tso cai rau cov xov kom zoo. Lo lus "ob npaug" txhais tau hais tias cov qauv muaj cov ntaub ntawv lossis thov cov ntaub ntawv, cia peb hu lawv los tiv thaiv cov ntaub ntawv. Yog li yog tias koj sim khaws ib yam dab tsi los ntawm lub thawv khoob, qhov kev thov yuav muab tso rau hauv lub thawv hloov. Tam sim no cov xov tuaj yeem tos qhov kev thov yam tsis muaj kev cuam tshuam lwm tus. Tsis tas li ntawd, cov qauv ntaub ntawv muab qhov tseem ceeb rau kev thov kom thaum tau txais, nws kis rau tus neeg raug. Qhov tshwm sim yog ib qho kev tsis muaj kev kaw haujlwm uas tseem muaj cov lus qhia tshwj xeeb thiab kev ua tau zoo hauv kev xyaum. 

Alexey: Koj xav li cas los ntawm cov ntaub ntawv no? Nws puas yuav txhim kho kev ua tau zoo hauv txhua qhov xwm txheej, lossis nws puas zoo dua rau qee qhov xwm txheej? 

Michael: Nws yog ib qho tseem ceeb yog tias, thawj zaug, koj xav tau lub thawv uas tsis muaj xauv, thiab, qhov thib ob, koj yuav tsum tau tos nyob rau hauv qhov xwm txheej uas koj yuav tsum tau muab cov ntaub ntawv los ntawm lub thawv uas tsis nyob hauv nws. Rau qhov zoo tshaj plaws ntawm kuv txoj kev paub, peb lub moj khaum muab kev coj cwj pwm zoo thaum ob qho xwm txheej no tau ntsib. Yog li ntawd, nyob rau hauv cov ntaub ntawv no kuv xav kom siv nws. Lub ntsiab kom zoo dua ntawm cov ntaub ntawv tsis muaj xauv yog tias lawv tsis txhob muaj teeb meem kev ua haujlwm. Thiab tos yog ib qho tseem ceeb heev nyob rau hauv ntau algorithms yog hais tias cov ntaub ntawv yog kis los ntawm ib tug xov mus rau lwm tus.

Vitali: Cia kuv qhia meej: koj puas yuav tham txog tib yam ntawm tsev kawm ntawv thiab ntawm lub rooj sab laj?

Michael: Hauv tsev kawm ntawv kuv yuav hais nyob rau hauv dav dav txog ntau cov ntaub ntawv cov qauv, nrog rau cov hauv paus ntsiab lus tau piav qhia nyob rau hauv thaum pib ntawm zaj lus qhia. Kuv xav tias cov neeg tuaj saib paub tias cov xov yog dab tsi thiab paub txog cov xauv. Raws li qhov kev paub yooj yim no, kuv yuav tham txog cov ntaub ntawv kaw-dawb cov qauv. Kuv mam li muab cov ntsiab lus ntawm cov teeb meem tseem ceeb tshaj plaws hauv cheeb tsam no, kov cov ncauj lus xws li kev tswj hwm kev nco. Kuv tsis xav tias yuav muaj dab tsi nyuab dua li MS queue.

Alexey: Koj puas npaj yuav qhia txog cov qauv ntaub ntawv dual thaum kawg ntawm koj chav kawm hauv tsev kawm?

Michael: Kuv yuav hais rau lawv, tab sis kuv yuav tsis siv sijhawm ntau rau lawv. Daim ntawv qhia Hydra yuav muab siab rau lawv. Nws yuav npog qhov project uas nws thiaj li ua rau Java, nrog rau kev ua haujlwm nrog Joe Israelevich los tsim ib qho kev sib txawv ntawm LCRQ kab, thiab tsim ib qho ze-universal tsim rau dual cov ntaub ntawv qauv.

Alexey: Yog li cov lus qhuab qhia hauv tsev kawm tuaj yeem raug pom zoo rau cov pib tshiab, thiab cov lus qhuab qhia ntawm cov ntaub ntawv ob npaug ntawm Hydra - rau cov neeg uas twb muaj kev paub dhau los?

Michael: Kho kuv yog tias kuv ua yuam kev, tab sis cov neeg tuaj saib ntawm Hydra yuav muaj ntau haiv neeg, suav nrog ntau tus kws tshaj lij Java, thiab feem ntau cov neeg uas tsis muaj kev koom tes tshwj xeeb hauv ntau txoj xov xwm. 

Vitali: Yog, nws muaj tseeb.

Alexey: Tsawg kawg peb cia siab li ntawd.

Michael: Nyob rau hauv cov ntaub ntawv no, kuv yuav tau ntsib nrog tib yam teeb meem uas peb pib qhov kev xam phaj: yuav ua li cas yuav ua rau ib daim ntawv qhia ob qho tib si txaus nplua nuj nyob rau hauv cov lus qhia thiab nkag mus rau tag nrho cov mloog.

Vitali: Koj puas yuav muab ib daim ntawv qhia ib yam li koj muab cov lus qhuab qhia? Qhov ntawd yog, tham nrog cov neeg tuaj saib thiab hloov mus rau qhov xwm txheej?

Michael: Kuv ntshai nws yuav tsis ua haujlwm li ntawd, vim tias daim ntawv tshaj tawm yuav muaj slides. Slides tseem ceeb heev thaum cov neeg mloog pib hais lus sib txawv. Ntau tus neeg yuav pom tias nws nyuaj rau nkag siab kuv ua lus Askiv, tshwj xeeb tshaj yog tias kuv hais sai dhau. Kuv xaiv cov ncauj lus no vim Peter Kuznetsov hais kom kuv tham txog cov ntaub ntawv kaw-dawb hauv tsev kawm ntawv SPTDC; thiab tom qab ntawd kuv xav tau ib daim ntawv qhia rau Java cov neeg siv pawg sib tham, thiab kuv xav xaiv qee yam uas yuav txaus siab rau Java programmers. Qhov yooj yim tshaj plaws yog los tham txog cov khoom hauv Java lub tsev qiv ntawv uas kuv muaj ib txhais tes ntawm ib txoj kev lossis lwm qhov. 

Alexey: Peb xav tias cov neeg tuaj saib ntawm Hydra twb paub ib yam dab tsi txog kev kaw-free programming thiab tej zaum muaj qee qhov kev paub hauv cheeb tsam no. Tab sis qhov no tsuas yog qhov kev xav xwb; qhov xwm txheej yuav ua kom pom tseeb ntawm lub rooj sib tham nws tus kheej. Txawm li cas los xij, ua tsaug rau koj lub sijhawm. Kuv paub tseeb tias qhov kev xam phaj yuav nthuav heev rau peb cov neeg nyeem. Ua tsaug ntau!

Vitali: Ua tsaug. 

Michael: Kuv yuav zoo siab tau ntsib koj hauv St. 

Alexey: Peb ib yam nkaus, peb muaj lub nroog zoo nkauj. Koj puas tau nyob ntawm no?

Michael: Tsis yog, Kuv tsis tau mus rau Russia kiag li. Tab sis St. Petersburg yeej ib txwm nyob rau hauv cov npe ntawm qhov chaw uas kuv tseem tsis tau mus, tab sis qhov twg kuv xav mus tiag tiag, yog li kuv zoo siab heev txog qhov caw. 

Alexey: Los ntawm txoj kev, peb yuav muaj cov kev pab cuam ntawm excursions rau cov neeg hais lus. Ua tsaug ntau rau qhov kev xam phaj, thiab muaj hnub zoo!

Koj tuaj yeem txuas ntxiv koj qhov kev sib tham nrog Michael ntawm Hydra 2019 lub rooj sib tham, uas yuav muaj rau Lub Xya Hli 11-12, 2019 hauv St. Nws yuav tuaj nrog tsab ntawv ceeb toom "Dual data structures". Daim pib tuaj yeem yuav nyob rau lub vas sab nom tswv.

Tau qhov twg los: www.hab.com

Ntxiv ib saib