"ʻOi aku ka maʻalahi o ka pane ʻana ma mua o ka noho leo ʻole" - kahi nīnauele nui me ka makuakāne o ka hoʻomanaʻo transactional, ʻo Maurice Herlihy

Maurice Herlihy - nona nā ʻelua Nā makana Dijkstra. ʻO ka mea mua no ka hana "Ka hoʻonohonoho ʻana me ke kali ʻole" (Brown University) a me ka lua, hou aku, - "Ka Hoʻomanaʻo Kūʻai: Kākoʻo Hoʻolālā no nā Hoʻonohonoho ʻIke Laka ʻole" (Virginia Tech University). Hāʻawi ʻia ka makana Dijkstra no ka hana i ʻike ʻia kona koʻikoʻi a me ka mana no ka liʻiliʻi he ʻumi mau makahiki a ʻo Maurice ʻo ia kekahi o nā loea kaulana loa ma ke kula. Ke hana nei ʻo ia ma ke ʻano he polopeka ma ke Kulanui ʻo Brown a he nui nā hana i hoʻokō ʻia he pauku ka lōʻihi. Ke noiʻi nei ʻo ia i ka blockchain i loko o ka pōʻaiapili o ka helu helu puʻupuʻu maʻamau.

Ma mua, ua hele mua ʻo Maurice i Rūsia no SPTCC (paʻi wikiō) a hana i kahi hālāwai maikaʻi loa o ka JUG.ru Java developer community ma St. Petersburg (paʻi wikiō).

He kūkākūkā maikaʻi kēia habrapost me Maurice Herlihy. Kūkākūkā ia i nā kumuhana penei:

  • Ka pilina ma waena o ke kula a me ka ʻoihana;
  • Foundation for Blockchain Research;
  • No hea mai nā manaʻo holomua? ʻO ka mana o ka kaulana;
  • PhD ma lalo o ka mākaʻikaʻi a Barbara Liskov;
  • Ke kali nei ka honua i ka multi-core;
  • Lawe mai ka honua hou i nā pilikia hou. NVM, NUMA a me ka hoʻolālā hale hacking;
  • Compilers vs processors, RISC vs CISC, kaʻana like me ka memo i hala;
  • ʻO ke akamai o ke kākau ʻana i nā code fragile multi-threaded;
  • Pehea e aʻo ai i nā haumāna e kākau i nā code multi-threaded paʻakikī;
  • Paʻi hou o ka puke "The Art of Multiprocessor Programming";
  • Pehea i hana ʻia ai ka hoʻomanaʻo transactional;   
  • No ke aha e pono ai ke alakaʻi ʻana i ka noiʻi ma ke ʻano o ka hoʻoili ʻia ʻana;
  • Ua pau ka hoʻomohala ʻana o nā algorithms, a pehea e neʻe ai;
  • Hana ma Brown University;
  • ʻO ka ʻokoʻa ma waena o ka noiʻi ma ke kulanui a i loko o kahi hui;
  • Hydra a me SPTDC.

E alakaʻi ʻia ka nīnauele e:

ʻO Vitaly Aksenov - i kēia manawa, post-doc ma IST Austria a me ka limahana o ka 'Oihana o Computer Technologies ma ITMO University. Hana i ka noiʻi ma ke kahua o ke kumumanaʻo a me ka hoʻomaʻamaʻa ʻana o nā hoʻolālā ʻikepili hoʻokūkū. Ma mua o ka hana ʻana ma IST, ua loaʻa iā ia kāna PhD mai ke Kulanui ʻo Paris Diderot a me ke Kulanui ʻo ITMO ma lalo o ka mākaʻikaʻi a Professor Peter Kuznetsov.

Alexey Fedorov - Mea hana ma JUG Ru Group, kahi hui Lūkini e hoʻonohonoho i nā hālāwai kūkā no nā mea hoʻomohala. Ua komo ʻo Alexey i ka hoʻomākaukau ʻana ma mua o 50 mau hālāwai kūkā, a ʻo kāna hoʻomaka e komo i nā mea āpau mai ke kūlana o kahi ʻenekini hoʻomohala ma Oracle (JCK, Java Platform Group) i ke kūlana o kahi mea hoʻomohala ma Odnoklassniki.

ʻO Vladimir Sitnikov - ʻEnekinia ma Netcracker. He ʻumi makahiki o ka hana ma ka hana a me ka scalability o NetCracker OS, lako polokalamu i hoʻohana ʻia e nā mea lawelawe kelepona e hoʻomaʻamaʻa i nā kaʻina hana hoʻokele pūnaewele a me nā lako hana. Makemake i nā pilikia hana Java a me Oracle Database. ʻO ka mea kākau o ka hoʻomaikaʻi ʻana o ka hana ʻoi aku ma mua o ka hoʻokele PostgreSQL JDBC.

Ka pilina ma waena o ke kula a me ka ʻoihana

Alexey: Maurice, ua hana ʻoe ma kahi ʻoihana hoʻonaʻauao no ka manawa lōʻihi loa a ʻo ka nīnau mua ka pilina ma waena o ka ʻoihana aʻoaʻo a me nā ʻoihana. Hiki iā ʻoe ke kamaʻilio e pili ana i ka loli ʻana o ka pilina ma waena o lākou? He aha ka mea i hana i 20-30 mau makahiki i hala a he aha ka mea i kēia manawa? 

Maurice: Ua ho'āʻo mau wau e hana pili me nā hui kālepa no ka mea he pilikia ko lākou. ʻAʻole makemake nui lākou i ka hoʻopuka ʻana i kā lākou hopena a i ʻole nā ​​wehewehe kikoʻī o kā lākou pilikia i ke kaiāulu honua. Makemake wale lākou e hoʻoponopono i kēia mau pilikia. Ua hana au no ia mau hui no kekahi manawa. Ua hoʻohana au i ʻelima mau makahiki i ka hana manawa piha i kahi keʻena noiʻi ma Digital Equipment Corporation, kahi hui kamepiula nui ma mua. Ua hana au i hoʻokahi lā o ka pule ma Sun, ma Microsoft, ma Oracle, a hana iki au ma Facebook. I kēia manawa, hele au i ka hoʻomaha sabbatical (ua ʻae ʻia ke kaukaʻi ma ke kulanui ʻo ʻAmelika e lawe i kēlā ʻano hoʻomaha no hoʻokahi makahiki ma kahi o hoʻokahi manawa i kēlā me kēia ʻeono makahiki) a hana i loko. Algorand, He hui cryptocurrency keia ma Bosetona. He mea leʻaleʻa ka hana pū ʻana me nā ʻoihana no ka mea pēlā ʻoe e aʻo ai e pili ana i nā mea hou a hoihoi. ʻO ʻoe paha ka mea mua a ʻelua paha e hoʻopuka i kahi ʻatikala ma kahi kumuhana i koho ʻia, ma mua o ka hana ʻana i ka hoʻomaikaʻi ʻana i nā hopena i nā pilikia a nā mea ʻē aʻe e hana nei.

Alexey: Hiki iā ʻoe ke haʻi mai iā mākou i nā kikoʻī kikoʻī pehea e hana ai kēia?

Maurice: ʻOiaʻiʻo. ʻIke ʻoe, i koʻu wā e hana ana ma ka Digital Equipment Corporation, ʻo wau a me Elliot Moss, ua hana mākou i ka hoʻomanaʻo transactional. He wā hua nui ia i ka wā i hoʻomaka ai nā mea a pau e hoihoi i ka ʻenehana ʻike. ʻO Parallelism, me, ʻoiai ʻaʻole i loaʻa nā ʻōnaehana multi-core. I nā lā o ka Lā a me Oracle, ua hana nui au i nā hale ʻikepili like. Ma Facebook ua hana au i kā lākou papahana blockchain, ʻaʻole hiki iaʻu ke kamaʻilio e pili ana, akā ke manaʻolana nei au e hele koke ia i ka lehulehu. ʻO ka makahiki aʻe, ma Algorand, e hana wau i kahi hui noiʻi e aʻo ana i nā ʻaelike akamai.

Alexey: Ua lilo ʻo Blockchain i kumuhana kaulana loa i nā makahiki i hala. E kōkua anei kēia i kāu noiʻi? Malia paha e maʻalahi ka loaʻa ʻana o nā haʻawina a hāʻawi i ke komo ʻana i nā kumuwaiwai mai nā hui e hana ana i ka ʻoihana?

Maurice: Ua loaʻa iaʻu kahi haʻawina liʻiliʻi mai ka Ethereum Foundation. He kōkua nui ka kaulana o blockchain i ka hoʻoulu ʻana i nā haumāna e hana ma kēia kahua. Nui ko lākou hoihoi i ia mea a hauʻoli lākou i ke komo ʻana, akā i kekahi manawa ʻaʻole lākou i ʻike i ka noiʻi ʻana e ʻoliʻoli nei ma waho e lilo i hana paʻakikī. Eia naʻe, hauʻoli nui wau i ka hoʻohana ʻana i kēia mea huna a puni blockchain e kōkua i ka huki ʻana i nā haumāna. 

Akā ʻaʻole ʻo ia wale nō. Aia wau ma ka papa aʻoaʻo o kekahi mau hoʻomaka blockchain. Hiki i kekahi o lākou ke kūleʻa, ʻaʻole paha kekahi o lākou, akā he mea hoihoi loa ka ʻike ʻana i ko lākou mau manaʻo, aʻo iā lākou a aʻo i nā poʻe. ʻO ka mea hoihoi loa ke ʻōlelo aku ʻoe i ka poʻe ʻaʻole e hana i kekahi mea. He manaʻo maikaʻi nā mea he nui i ka wā mua, akā ʻoiaʻiʻo?

Foundation no ka noiʻi Blockchain

Vitaly: Manaʻo kekahi poʻe aia ka wā e hiki mai ana me ka blockchain a me kāna mau algorithms. A ʻōlelo ka poʻe ʻē aʻe he ʻōhū wale nō. Hiki iā ʻoe ke kaʻana like i kou manaʻo no kēia mea?

Maurice: He hewa ka nui o nā mea e hana nei ma ka honua blockchain, he scam wale nō kekahi, ua hoʻonui ʻia ka nui. Eia naʻe, manaʻo wau aia kahi kumu ʻepekema paʻa no kēia mau haʻawina. ʻO kaʻoiaʻiʻo ua piha ka honua blockchain i nā ʻokoʻa ideological e hōʻike ana i ke kiʻekiʻe o ka hauʻoli a me ka hoʻolaʻa. Ma ka ʻaoʻao ʻē aʻe, ʻaʻole pono kēia no ka noiʻi ʻepekema. I kēia manawa, inā hoʻolaha ʻoe i kahi ʻatikala e kamaʻilio ana e pili ana i nā hemahema o kahi algorithm, ʻaʻole ʻepekema ka hopena o ka hopena. Hoʻolei pinepine nā kānaka i ko lākou mau manaʻo. Manaʻo wau he mea hoihoi paha kēia ʻano hauʻoli ma kēia wahi, akā i ka hopena o ka lā, aia nā pilikia ʻepekema a me ka ʻenekinia maoli e pono e hoʻoponopono ʻia. Nui ka ʻepekema kamepiula ma ʻaneʻi.

Vitaly: No laila ke hoʻāʻo nei ʻoe e kau i ke kumu no ka noiʻi blockchain, pololei?

Maurice: Ke ho'āʻo nei au e hoʻokumu i ke kumu no ka hoʻopaʻi ʻana i ka ʻepekema a me ka makemakika. A ʻo kahi o ka pilikia ʻo ia i kekahi manawa pono ʻoe e kūʻē i kekahi o nā kūlana koʻikoʻi o nā poʻe ʻē aʻe a nānā ʻole iā lākou. I kekahi manawa, nīnau mai ka poʻe no ke aha wau e hana ai ma kahi e makemake wale ai nā mea hoʻoweliweli a me nā mea kūʻai lāʻau. He mea ʻole kēlā ʻano hana e like me ke ʻano o ka poʻe hahai e haʻi makapō i kāu mau ʻōlelo. Manaʻo wau aia ka ʻoiaʻiʻo ma waena. He hopena koʻikoʻi ka Blockchain i ke kaiāulu a me ka hoʻokele honua. Akā ʻaʻole paha e hiki mai kēia ma muli o ka ʻenehana hou. E ulu ana nā ʻenehana hou a ʻo ka mea e kapa ʻia ʻo blockchain i ka wā e hiki mai ana e lilo i mea nui loa. ʻAʻole paha ia e like me nā blockchains hou, he nīnau wehe ia.

Inā hana ka poʻe i nā ʻenehana hou, e hoʻomau lākou e kapa iā ia blockchain. ʻO koʻu manaʻo, e like me ka Fortran o kēia lā, ʻaʻohe mea pili i ka ʻōlelo Fortran mai ka makahiki 1960, akā ke kapa mau nei nā mea a pau iā ia ʻo Fortran. Pela no UNIX. ʻO ka mea i kapa ʻia ʻo "blockchain" e hoʻololi mau. Akā ke kānalua nei au i kēia blockchain hou e like me ka mea e hauʻoli ai nā mea a pau i kēia lā.

No hea mai nā manaʻo holomua? Ka hopena o ka kaulana

Alexey: Ua alakaʻi ka kaulana o blockchain i nā hopena hou mai kahi ʻike ʻepekema? ʻOi aku ka launa pū ʻana, ʻoi aku ka nui o nā haumāna, ʻoi aku ka nui o nā hui ma ia wahi. Aia kekahi mau hopena mai kēia piʻi ʻana o ka kaulana?

Maurice: Ua hoihoi au i kēia i ka wā i hāʻawi mai ai kekahi iaʻu i kahi palapala hoʻolaha no kahi hui i loaʻa i kahi kālā he nui. Ua kākau e pili ana hana a na Generala Byzantine, aʻu i kamaʻāina nui ai. ʻO ka mea i kākau ʻia i loko o ka leaflet ʻaʻole maopopo ka pololei. ʻAʻole maopopo ka poʻe nāna i kākau i kēia mau mea i ke kumu hoʻohālike ma hope o ka pilikia ... akā naʻe ua hoʻonui kēia hui i ke kālā. Ma hope mai, ua hoʻololi mālie ka ʻoihana i kēia lau me kahi ʻano kūpono loa - a ʻaʻole wau e haʻi i ka inoa o kēia hui. Aia mau lākou a hana maikaʻi loa. ʻO kēia hanana i hōʻoiaʻiʻo iaʻu, ʻo ka mea mua, ʻo blockchain kahi ʻano o ka computing puʻunaue. ʻO ka lua, ua haʻahaʻa loa ka paepae komo (ma ka liʻiliʻi loa, ʻehā makahiki aku nei). ʻO ka poʻe e hana ana ma kēia ʻoihana he ikaika a naʻauao, akā ʻaʻole lākou i heluhelu i nā pepa ʻepekema. Ua hoʻāʻo lākou e hana hou i nā mea i ʻike ʻia a hana hewa. I kēia lā ua emi ka hana keaka.

Alexey: He mea hoihoi loa kēia, no ka mea he mau makahiki i hala aku nei he ʻano ʻokoʻa kā mākou. He ʻano like ia me ka hoʻomohala ʻana i mua, i ka wā i hoʻokumu hou ai nā mea hoʻomohala mua ma ka polokalamu kele pūnaewele i nā ʻenehana holoʻokoʻa i kaulana i ka hope hope: kūkulu i nā ʻōnaehana, hoʻohui mau, nā mea like. 

Maurice: ʻAe wau. Akā ʻaʻole kēia he mea kupanaha, no ka mea, hele mau mai nā manaʻo holomua maoli mai waho o ke kaiāulu paʻa. ʻAʻole paha e hana nā mea noiʻi i hoʻokumu ʻia, ʻoi aku ka hoʻokumu ʻana i nā mea hoʻonaʻauao. He mea maʻalahi ke kākau i pepa no ka ʻaha kūkā e pili ana i kou hoʻomaikaʻi iki ʻana i nā hopena o kāu hana i hala. E hele i ka ʻaha kūkā, e hui pū me nā hoaaloha, e kamaʻilio e pili ana i nā mea like. A ʻo ka poʻe i hoʻopuka mai me nā manaʻo holomua e hele mai ana mai waho mai. ʻAʻole lākou iʻike i nā rula,ʻaʻole lākou iʻike i ka'ōlelo, akā naʻe ... Ināʻoe i loko o kahi kaiaulu i hoʻokumuʻia, ke'ōlelo aku nei au iāʻoe e hoʻolohe i nā mea hou, i kahi mea i kūponoʻole i ke kiʻi holoʻokoʻa. Ma kahi ʻano, hiki ke hoʻāʻo ʻia e hoʻohui i waho, ʻoi aku ka nui o ka hoʻomohala ʻana me nā ʻano i hoʻomaopopo mua ʻia. Ma ke ʻano he hana mua, e hoʻāʻo e hoʻokumu i kahi kumu ʻepekema, a laila hoʻololi ia i hiki ke hoʻohana ʻia i nā manaʻo holomua hou. Manaʻo wau he mea maikaʻi loa ka blockchain no ka manaʻo hou a hoʻopilikia.

Alexey: No ke aha kou manaʻo e hiki mai ana kēia? No ka mea, ʻaʻohe o nā poʻe "waho" i nā pale kikoʻī i loko o ke kaiāulu?

Maurice: Aia kekahi ʻano hana ma ʻaneʻi. Inā heluhelu ʻoe i ka mōʻaukala o ka poʻe impressionist i ka pena kiʻi a me ke kiʻi ma ka laulā, a laila i kekahi manawa ua hōʻole nā ​​​​mea pena kiʻi kaulana i ka impressionism. ʻŌlelo lākou he ʻano kamaliʻi. He hanauna ma hope mai, ua lilo kēia ʻano hana kiʻi i hōʻole ʻia ma mua. ʻO kaʻu mea e ʻike ai ma kaʻu kahua: ʻaʻole makemake nā mea hana o blockchain i ka mana, i ka hoʻonui ʻana i nā paʻi puke a me ka helu kuhikuhi, makemake wale lākou e hana i kahi mea maikaʻi. A no laila, noho lākou a hoʻomaka e hana. Ua nele lākou i kahi hohonu o ka ʻenehana, akā hiki ke hoʻoponopono ʻia. ʻOi aku ka paʻakikī o ka loaʻa ʻana o nā manaʻo noʻonoʻo hou ma mua o ka hoʻoponopono ʻana a me ka hoʻoikaika ʻana i nā manaʻo makua ʻole. Mahalo i kēia mau mea hana, he mea kaʻu e hana ai!

Alexey: Ua like kēia me ka ʻokoʻa ma waena o nā hoʻomaka a me nā papahana hoʻoilina. Loaʻa iā mākou nā palena o ka noʻonoʻo, nā pale, nā koi kūikawā, a pēlā aku.

Maurice: ʻO kahi hoʻohālikelike maikaʻi i puʻunaue ʻia i ka helu helu. E noʻonoʻo i ka blockchain me he mea lā he mea hoʻomaka a hāʻawi ʻia i ka computing ma ke ʻano he hui nui. ʻO ka hoʻopili helu helu ʻia i ke kaʻina o ka loaʻa ʻana a hoʻohui ʻia me blockchain.

PhD ma lalo o ka nānā ʻana o Barbara Liskov

Vitaly: He nui kā mākou mau nīnau! Ke nānā nei mākou i kou ʻaoʻao a ʻike mākou i kahi mea hoihoi e pili ana i kāu kauka. ʻAe, he wā lōʻihi kēia, akā, he kumuhana koʻikoʻi ia. Ua loaʻa iā ʻoe kāu PhD ma lalo o ke alakaʻi ʻana iā ʻoe iho Barbara Liskov! Ua kaulana loa ʻo Barbara ma ke kaiāulu ʻōlelo papahana, a he kanaka kaulana loa ma ka laulā. He mea kūpono kāu noiʻi ma ke kahua o nā ʻōlelo papahana. Pehea ʻoe i hoʻololi ai i ka computing parallel? No ke aha ʻoe i hoʻoholo ai e hoʻololi i ke kumuhana?

Maurice: I kēlā manawa, ke nānā wale nei ʻo Barbara a me kāna hui i ka hoʻopili ʻana i ka ʻikepili, he manaʻo hou loa ia. Aia kekahi poʻe i ʻōlelo he mea lapuwale ka hoʻolaha ʻana i ka ʻikepili a he mea ʻole ke kamaʻilio ʻana me nā kamepiula. ʻO kekahi o nā pilikia i hoʻopuka ʻia i ka hoʻopili helu ʻana e hoʻokaʻawale iā ia mai ka hoʻopili kikowaena kikowaena ʻo ia ka hoʻomanawanui hewa. Ma hope o ka noiʻi nui ʻana, ua hoʻoholo mākou e pono ke loaʻa i kahi ʻōlelo hoʻonohonoho hoʻonohonoho hoʻolaha ʻia e like me nā kālepa atomic no ka mea ʻaʻole hiki iā ʻoe ke maopopo e kūleʻa kahi kelepona mamao. Ke loaʻa iā ʻoe nā kālepa, kū mai ka pilikia o ka hoʻokele concurrency. A laila ua nui ka hana i ka loaʻa ʻana o nā hoʻolālā data transactional like loa. A laila, i koʻu puka ʻana, hele au i Carnegie Mellon a hoʻomaka e ʻimi i kahi kumuhana e hana ai. Ua manaʻo wau ua neʻe ka ʻikepili mai nā kamepiula pākahi i nā pūnaewele o nā kamepiula. ʻO nā multiprocessors kahi hoʻomau kūlohelohe o ka holomua - ʻaʻole i noho ka huaʻōlelo "multi-core". Ua noʻonoʻo wau: he aha ka mea like o nā kālepa atomic no kahi ʻōnaehana multi-core? ʻAʻole maoli nā hana maʻamau no ka mea he nui a kaumaha. A pēlā wau i loaʻa ai ka manaʻo linearizability a ʻo ia kaʻu i hiki mai ai me ka hoʻonohonoho hoʻonohonoho ʻole ʻole. He hoʻāʻo kēia e pane i ka nīnau o ke ʻano o ka hoʻohālikelike o nā kālepa atomika no kahi ʻōnaehana multiprocessor me ka hoʻomanaʻo like. I ka nānā mua ʻana, ʻokoʻa paha ke ʻano o kēia hana, akā ʻo ka ʻoiaʻiʻo he hoʻomau ia o ke kumuhana like.

Ke kali nei ka honua i ka multi-core

Vitaly: Ua ʻōlelo ʻoe i kēlā manawa he liʻiliʻi loa nā kamepiula multi-core, ʻeā?

Maurice: ʻAʻole lākou i laila. Aia kekahi mau mea i kapa ʻia he symmetric multiprocessors, i pili pono i ka pahi hoʻokahi. ʻAʻole i hana maikaʻi kēia no ka mea i kēlā me kēia manawa i hana ʻia kahi hui hou i kahi mea like, e hoʻokuʻu ʻo Intel i kahi kaʻina hana i ʻoi aku ka maikaʻi ma mua o ka multiprocessor.

Alexey: ʻAʻole anei kēia manaʻo i kēlā mau wā kahiko ua ʻoi aku ka nui o ke aʻo ʻana?

Maurice: ʻAʻole ia he hoʻopaʻa haʻawina, akā he haʻawina speculative. ʻAʻole pili kēia i ka hana ʻana me nā theorems he nui; akā, ke kau nei mākou i nā kuhiakau e pili ana i kahi hoʻolālā ʻaʻole i loaʻa i kēlā manawa. ʻO kēia ka mea e noiʻi ai! ʻAʻohe hui e hana i kekahi mea e like me kēia; he mea ia mai ka wā e hiki mai ana. ʻO ka ʻoiaʻiʻo, ʻo ia ka hihia a hiki i 2004, i ka wā i ʻike ʻia ai nā kaʻina hana multi-core. Ma muli o ka wela nui o nā kaʻina hana, hiki iā ʻoe ke hoʻoemi i ka mea hana, akā ʻaʻole hiki iā ʻoe ke wikiwiki. Ma muli o kēia, aia kahi hoʻololi i nā hale hoʻolālā multi-core. A laila, ʻo ia hoʻi, ua hoʻohana koke ʻia nā manaʻo āpau a mākou i kūkulu ai i ka wā ma mua.

Alexey: No ke aha ʻoe i manaʻo ai i ʻike ʻia nā kaʻina hana multi-core i nā makahiki XNUMX wale nō? No laila, no ke aha i lohi ai?

Maurice: ʻO kēia ma muli o ka palena o ka lako. He maikaʻi loa ʻo Intel, AMD a me nā hui ʻē aʻe i ka hoʻonui ʻana i ka wikiwiki. I kekahi manawa ua liʻiliʻi nā mea hana i hiki ʻole iā lākou ke hoʻonui i ka wikiwiki o ka uaki no ka mea e hoʻomaka ana nā mea hana e puhi. Hiki iā ʻoe ke hoʻoemi iā lākou, akā ʻaʻole wikiwiki. He aha ka mea i loko o ko lākou mana - ma kahi o kahi kaʻina hana liʻiliʻi loa, hiki iā lākou ke hoʻokomo i nā mea hana ʻewalu, ʻumikumamāono a kanakolukumamālua i loko o ka nui like o ka hihia, kahi i hiki ai i hoʻokahi wale nō ke kūpono. I kēia manawa ua loaʻa iā ʻoe ka multithreading a me ke kamaʻilio wikiwiki ma waena o lākou no ka mea kaʻana like lākou i nā cache. Akā ʻaʻole hiki iā ʻoe ke koi iā lākou e holo wikiwiki - aia kahi palena wikiwiki. Ke hoʻomau nei lākou i ka hoʻomaikaʻi liʻiliʻi, ʻaʻole naʻe ka nui. Ua kū nā kānāwai o ka physics i ke ala o ka hoʻomaikaʻi.

Lawe mai ka honua hou i nā pilikia hou. NUMA, NVM a me ka hoʻolālā hale hacking

Alexey: He kūpono loa ke kani. Me nā kaʻina hana multi-core hou i hiki mai nā pilikia hou. Ua manaʻo paha ʻoe a me kāu mau hoa hana i kēia mau pilikia? Ua aʻo mua paha ʻoe iā lākou? Ma nā haʻawina theoretical pinepine ʻaʻole maʻalahi ka wānana i ia mau mea. I ka wā i loaʻa ai nā pilikia, pehea lākou i hoʻokō ai i kāu mau manaʻo a me kāu mau hoa hana? A i ʻole he mea hou loa lākou, a ʻo ʻoe a me kāu mau hoa hana e hoʻolilo i ka manawa nui e hoʻoponopono i nā pilikia i ko lākou ʻike ʻana?

Vitaly: E hoʻohui au i ka nīnau a Alexey: ua wānana pololei anei ʻoe i ka hoʻolālā ʻōnaehana ʻoiai ʻoe e aʻo ana i ke kumumanaʻo?

Maurice: ʻAʻole 100%. Akā, manaʻo wau ua hana maikaʻi wau a me kaʻu mau hoa hana i ka wānana ʻana i nā multi-core me ka hoʻomanaʻo like. Manaʻo wau ua wānana pololei mākou i nā pilikia i ka hoʻomohala ʻana i nā hale ʻikepili like ʻole e hana me ka ʻole o nā laka. He mea koʻikoʻi ia ʻano ʻikepili no nā noi he nui, ʻoiai ʻaʻole nā ​​​​mea āpau, akā pinepine ka mea āu e makemake ai he ʻano ʻikepili paʻa ʻole. I ko mākou noʻonoʻo ʻana iā lākou, nui ka poʻe i hoʻopaʻapaʻa he mea lapuwale kēia, ua hana maikaʻi nā mea āpau me nā laka. Ua wānana maikaʻi mākou e loaʻa nā hoʻonā mākaukau no nā pilikia papahana a me nā pilikia hoʻonohonoho ʻikepili. Ua nui aʻe nā pilikia paʻakikī, e like me HELU - komo like ʻole i ka hoʻomanaʻo. ʻOiaʻiʻo, ʻaʻole lākou i noʻonoʻo ʻia a hiki i ka wā i hoʻokumu ʻia ai nā kaʻina hana multi-core no ka mea he kikoʻī loa lākou. Ke hana nei ka hui noiʻi i nā nīnau i hiki ke wānana. ʻO kekahi mau pilikia pilikia e pili ana i nā hale kiʻi kikoʻī e kali i nā ʻēheu - ʻoiaʻiʻo, ke ʻano o kēia mau hale kiʻi. No ka laʻana, ʻaʻohe mea i hana maoli ma nā hale ʻikepili kikoʻī GPU no ka mea ʻaʻole i loaʻa nā GPU i kēlā manawa. ʻOiai ua nui nā hana i hana ʻia SIMD, ua mākaukau kēia mau algorithms no ka hoʻohana ʻana i ka wā i loaʻa ai nā lako pono kūpono. Eia naʻe, ʻaʻole hiki ke ʻike i nā mea a pau.

Alexey: Inā maopopo iaʻu, ʻo ka NUMA kekahi ʻano kuʻikahi ma waena o ke kumukūʻai, ka hana a me nā mea ʻē aʻe. He mau manaʻo no ke aha i puka lohi ai ka NUMA?

Maurice: Manaʻo wau aia ʻo NUMA ma muli o nā pilikia me ka hāmeʻa i hoʻohana ʻia e hana i ka hoʻomanaʻo: ʻoi aku ka mamao o nā ʻāpana, ʻoi aku ka lohi o ke komo ʻana iā lākou. Ma ka ʻaoʻao ʻē aʻe, ʻo ka lua o ka waiwai o kēia abstraction ka hoʻomanaʻo like ʻole. No laila, ʻo kekahi o nā hiʻohiʻona o ka computing parallel ʻo ia ka haki ʻana o nā abstractions āpau. Inā ʻaʻahu like ʻole ke komo ʻana, e like ka mamao o ka hoʻomanaʻo ʻana, akā hiki ʻole kēia i ka hoʻokele waiwai, a ma ke kino paha. No laila ke kū nei kēia hakakā. Inā kākau ʻoe i kāu polokalamu me he mea lā ua like ka hoʻomanaʻo ʻana, a laila pololei paha ia. Ma ke ʻano ʻaʻole ia e hāʻawi i nā pane hewa. Akā, ʻaʻole e hopu kāna hana i nā hōkū mai ka lani mai. Pēlā nō, inā kākau ʻoe spinlocks Me ka ʻole o ka hoʻomaopopo ʻana i ka hierarchy cache, e pololei ka pale ʻana iā ia iho, akā hiki iā ʻoe ke poina e pili ana i ka hana. Ma kahi ʻano, pono ʻoe e kākau i nā papahana e noho ana ma luna o kahi abstraction maʻalahi loa, akā pono ʻoe e hoʻokae i ka poʻe nāna i hāʻawi iā ʻoe i kēlā abstraction: pono ʻoe e ʻike aia ma lalo o ka abstraction aia kekahi hierarchy o ka hoʻomanaʻo, aia nō. kahi kaʻa ma waena o ʻoe a me kēia hoʻomanaʻo, a pēlā aku. No laila, aia kekahi paio ma waena o nā abstractions pono hoʻokahi, e alakaʻi iā mākou i nā pilikia paʻa a pragmatic.

Vitaly: Pehea ka wā e hiki mai ana? Hiki iā ʻoe ke wānana pehea e hoʻomohala ai nā mea hana ma hope? Aia kekahi manaʻo ʻo kekahi o nā pane he hoʻomanaʻo transactional. Loaʻa paha iā ʻoe kahi mea ʻē aʻe.

Maurice: Aia kekahi mau pilikia nui ma mua. ʻO kekahi o ka hoʻomanaʻo koʻikoʻi he abstraction maikaʻi loa ia, akā hoʻomaka ia e wāwahi i nā hihia kūikawā. No laila, no ka laʻana, he laʻana ola ʻo NUMA o kahi mea e hiki ai iā ʻoe ke hoʻomau i ka hoʻohālikelike ʻana aia ka hoʻomanaʻo like ʻole. ʻOiaʻiʻo, ʻaʻole, e uē ʻoe i ka huahana. I kekahi manawa, e haʻalele nā ​​​​mea kākau i ka manaʻo o kahi hoʻomanaʻo hoʻomanaʻo hoʻokahi; ʻaʻole hiki iā ʻoe ke hoʻohālike mau loa. Pono e hoʻohana ʻia nā hiʻohiʻona hoʻolālā hou i maʻalahi a maʻalahi hoʻi e hoʻohana pono i ka lako o lalo. He kuʻikahi paʻakikī loa kēia, no ka mea, inā hōʻike ʻoe i nā polokalamu polokalamu i ka hoʻolālā i hoʻohana maoli ʻia i ka ʻenehana, e hele pupule lākou. He paʻakikī loa a ʻaʻole lawe lima. Inā hōʻike ʻoe i kahi interface i maʻalahi loa, e pōʻino ka hana. No laila, he nui nā kālepa paʻakikī e pono e hana ʻia e hāʻawi i nā hiʻohiʻona hoʻolālā kūpono e pili ana i nā kaʻina hana multi-core nui maoli. ʻAʻole maopopo iaʻu ua hiki i kekahi mea ʻē aʻe ma mua o kahi loea ke hoʻonohonoho i kahi kamepiula 2000-core. A inā ʻaʻole ʻoe e hana i ka ʻike loea a i ʻole ka ʻepekema ʻepekema a i ʻole cryptography a i ʻole kekahi mea like - ʻaʻole maopopo loa pehea e hana pololei ai. 

ʻO kekahi ʻāpana like ʻo ia nā hale hana kūikawā. Ua puni nā mea hoʻokele kiʻi no ka manawa lōʻihi, akā ua lilo lākou i mea o kahi hiʻohiʻona maʻamau o ke ʻano e hiki ai iā ʻoe ke lawe i kahi ʻano loea kūikawā a holo ma luna o kahi chip i hoʻolaʻa ʻia. Hoʻohui kēia i kāna mau pilikia ponoʻī: pehea ʻoe e kamaʻilio ai me ia mea hana, pehea ʻoe e hoʻolālā ai. Ua hana au i nā pilikia ma ia wahi kokoke i ka helu hoʻomanaʻo. Lawe ʻoe i kahi kaʻina hana liʻiliʻi a hoʻopili iā ia i kahi puʻupuʻu nui o ka hoʻomanaʻo i holo ka hoʻomanaʻo i ka wikiwiki cache L1 a laila kamaʻilio me kahi mea like. TPU - ke paʻahana nei ka mea hana i ka hoʻouka ʻana i nā hana hou i loko o kāu kumu hoʻomanaʻo. ʻO ka hoʻolālā ʻana i nā hoʻolālā ʻikepili a me nā protocol kamaʻilio no kēia ʻano mea kekahi laʻana hoihoi. No laila e ʻike mau nā mea hana maʻamau a me nā lako hana i nā hoʻomaikaʻi no kekahi manawa.

Alexey: Pehea e pili ana i ka hoʻomanaʻo non-volatile (hoʻomanaʻo ʻole-volatile)?

Maurice: ʻAe, ʻo ia kekahi laʻana maikaʻi loa! E hoʻololi nui ʻo NVM i ke ʻano o kā mākou nānā ʻana i nā mea e like me ka hoʻolālā ʻikepili. ʻO ka hoʻomanaʻo non-volatile, ma ke ʻano, hoʻohiki e wikiwiki maoli i nā mea. Akā, ʻaʻole ia e maʻalahi ke ola no ka mea ʻo ka hapa nui o nā kaʻina hana, nā huna, a me nā mea kākau inoa ʻaʻole i maʻalahi. Ke hoʻomaka ʻoe ma hope o ka hāʻule ʻana, ʻaʻole e like like kou mokuʻāina a me ke kūlana o kou hoʻomanaʻo ʻana ma mua o ka hāʻule ʻana. Mahalo nui wau i ka poʻe e hana ana ma NVM - nui nā mea noiʻi e hana no ka manawa lōʻihi e hoʻāʻo nei e ʻike i nā kūlana kūpono. Ua pololei ka helu ʻana inā hiki iā lākou ke ola i kahi pōʻino kahi i nalowale ai nā ʻike o nā huna a me nā papa inoa, akā paʻa mau ka hoʻomanaʻo nui.

Compilers vs processors, RISC vs CISC, kaʻana like me ka hoʻouna ʻana i ka memo

Vladimir: He aha kou manaʻo e pili ana i nā "compilers vs. processors" dilemma mai kahi aʻo ʻana i ka manaʻo? E wehewehe wau no ka poʻe ʻike ʻole: inā mākou e hele i ka hoʻomanaʻo skewed a i ʻole kekahi mea like, hiki iā mākou ke hoʻohana i kahi hoʻonohonoho maʻalahi o nā kauoha a noi i ka mea hoʻopili e hana i nā code paʻakikī e hiki ke hoʻohana i nā pono hou. A i ʻole hiki iā mākou ke hele ma ke ala ʻē aʻe: hoʻokō i nā ʻōlelo aʻoaʻo paʻakikī a noi i ka mea hana e hoʻonohonoho hou i nā kuhikuhi a hana i nā manipulations ʻē aʻe me lākou. Pehea kou manao no ia mea?

Maurice: ʻAʻohe aʻu pane i kēlā nīnau. Ke hoʻomau nei kēia hoʻopaʻapaʻa no ʻehā mau makahiki. Aia kekahi manawa ma waena i hoopokoleia he mau kauoha a paʻakikī ua kaua ʻia nā kaua kīwila e kekahi mau kauoha. No kekahi manawa, ua lanakila ka poʻe RISC, akā ua kūkulu hou ʻo Intel i kā lākou mau mīkini i hoʻohana ʻia kahi hoʻonohonoho hoʻemi o nā ʻōlelo aʻoaʻo i loko, a ua hoʻokuʻu ʻia ka pūʻulu piha i waho. He kumuhana paha kēia e ʻimi ai kēlā me kēia hanauna hou i kāna mau ʻōlelo hoʻoholo ponoʻī. He mea paʻakikī loa ka wānana ʻana i kahi o kēia mau mea e ʻoi aku ka maikaʻi. No laila he ʻoiaʻiʻo ka wānana aʻu i kekahi manawa, a laila hoʻopunipuni hou no kekahi manawa, a laila ʻoiaʻiʻo hou.

Alexey: Pehea ka maʻamau o ka ʻoihana e lanakila ai kekahi mau manaʻo no kekahi mau makahiki a nalowale i ka wā e hiki mai ana? Aia kekahi mau laʻana o ia mau hoʻololi manawa?

Maurice: Ma ke kumuhana o ka hoʻopuka helu helu, aia kekahi poʻe i manaʻoʻiʻo hoʻomanaʻo like a me ka poe manaoio hoʻololi ʻōlelo. I ka hoʻomaka ʻana, ma ka helu helu puʻupuʻu, ʻo ka hoʻopili helu like ʻana ʻo ia ka hele ʻana o ka memo. A laila ua ʻike kekahi he ʻoi aku ka maʻalahi o ka papahana me ka hoʻomanaʻo like. Ua ʻōlelo ka ʻaoʻao ʻē aʻe he paʻakikī loa ka hoʻomanaʻo like ʻana, no ka mea, pono ia i nā laka a me nā mea like, no laila pono e neʻe i nā ʻōlelo kahi mea ʻole e hele wale ana ka memo. Ua nānā kekahi i ka mea i puka mai mai loko mai o kēia a ʻōlelo ʻo ia, "wow, ʻano like kēia hoʻokō memo me ka hoʻomanaʻo like ʻana, no ka mea, hana ʻoe i kēia mau modules liʻiliʻi, hoʻouna lākou i nā leka i kekahi i kekahi, a pau lākou. piliki"E hana kāua i kahi waihona hoʻomanaʻo kaʻana like maikaʻi!" Hoʻopau pinepine ʻia kēia mau mea a pau, a ʻaʻole hiki ke ʻōlelo ʻia he pololei kekahi o nā ʻaoʻao. E lanakila mau ana kekahi o nā ʻaoʻao no ka mea ʻaneʻane lanakila kekahi, hana hou nā kānaka i nā ala e hoʻomaikaʻi ai i kekahi.

ʻO ke ʻano o ke kākau ʻana i nā Code Brittle Multithreaded

Alexey: He mea hoihoi loa kēia. No ka laʻana, ke kākau mākou i nā code, ʻaʻohe mea e pili ana i ka ʻōlelo papahana, pono mākou e hana i nā abstractions e like me nā cell hiki ke heluhelu a kākau ʻia. Akā ʻo ka ʻoiaʻiʻo, ma kekahi pae kino, e like paha kēia me ka hoʻouna ʻana i kahi leka ma luna o kahi kaʻa kaʻa ma waena o nā kamepiula like ʻole a me nā mea hana ʻē aʻe. ʻIke ʻia ke hana nei ka hana ma nā pae ʻelua o ka abstraction i ka manawa hoʻokahi.

Maurice: He ʻoiaʻiʻo loa ua kūkulu ʻia ka hoʻomanaʻo like ʻana ma luna o ka hoʻouna ʻana i nā memo - nā kaʻa kaʻa, cache, a pēlā aku. Akā paʻakikī ke kākau ʻana i nā papahana me ka hoʻohana ʻana i ka memo, no laila e hoʻopunipuni maoli ʻia ka hāmeʻa, me ka hoʻohālike ʻana he ʻano hoʻomanaʻo like kāu. E maʻalahi kēia iā ʻoe e kākau i nā papahana maʻalahi a pololei ma mua o ka hoʻomaka ʻana o ka hana. A laila e ʻōlelo ʻoe: ʻo ia ka manawa e hana ai i nā hoaaloha me ka cache. A laila hoʻomaka ʻoe e hopohopo e pili ana i kahi o ka cache, a mai laila e hele ai. Ma kahi ʻano, ke hacking nei ʻoe i ka abstraction: ʻike ʻoe ʻaʻole ia he palahalaha, hoʻomanaʻo like ʻole, a e hoʻohana ana ʻoe i kēlā ʻike e kākau i nā polokalamu cache-friendly. ʻO kēia ka mea āu e hana ai i nā pilikia maoli. ʻO kēia paio ma waena o ka abstraction maikaʻi, maʻalahi, maikaʻi i hāʻawi ʻia iā ʻoe a me ka hoʻokō paʻakikī paʻakikī o ka hāmeʻa lalo kahi e hana ai nā mea a pau i kā lākou hoʻoholo ponoʻī. He puke kaʻu e pili ana i nā multiprocessors a me ka synchronization, a i kekahi manawa e kākau wau i kahi mokuna e pili ana i nā hoʻolālā ʻikepili ma java.util.concurrent. Inā ʻoe e nānā iā lākou, nā mea like nā papa inoa me nā haʻalele He mau hana noʻeau kupanaha kēia. (Editor note: ʻO ka poʻe i kamaʻāina i ka ʻōlelo Java e nānā pono i ka hoʻokō ConcurrentSkipListMap, hiki iā ʻoe ke nānā i nā loulou ma API и hoʻopā'ālua). Akā, mai koʻu manaʻo, he mea kūpono ʻole ke hōʻike ʻana iā lākou i nā haumāna, no ka mea, ʻano like ke ʻano o ka ʻikepili me ke kanaka i loko o ka circus e holo ana ma ke kaula paʻa ma luna o ka lua bea. Inā hoʻololi ʻoe i hoʻokahi kikoʻī liʻiliʻi, e hiolo ka hale holoʻokoʻa. He wikiwiki a nani kēia code no ka mea ua kākau pololei ʻia, akā ʻo ka hoʻololi liʻiliʻi e alakaʻi i ka pau ʻole. Inā hāʻawi wau i kēia code i kumu hoʻohālike i nā haumāna, e ʻōlelo koke lākou: Hiki iaʻu ke hana pēlā! A laila e hāʻule kekahi mokulele a i ʻole e pahū ka nuklea reactor, a hewa wau i ka hāʻawi ʻana iā lākou i ka ʻike i ka manawa kūpono ʻole.

Alexey: I koʻu wā liʻiliʻi, ua hoʻāʻo wau i nā manawa he nui e aʻo i ka code kumu a Doug Lee, no ka laʻana, java.util.concurrent, no ka mea, he kumu hāmama, he maʻalahi loa ke ʻimi a hoʻāʻo e hoʻomaopopo i nā mea e hana nei ma laila. ʻAʻole maikaʻi loa ia: pinepine, ʻaʻole maopopo loa ke kumu i hoʻoholo ai ʻo Doug e hana i kēia ala ke hana ʻokoʻa nā mea ʻē aʻe. Pehea ʻoe e wehewehe ai i kēia mau mea i kāu mau haumāna? Aia kekahi ala pololei e wehewehe i nā kikoʻī kikoʻī o kahi algorithm hardcore, no ka laʻana? Pehea ʻoe e hana ai i kēia?

Maurice: He cliché kā nā kumu kiʻi kiʻi kiʻi a lākou e hoʻomanaʻo mua ai: inā makemake ʻoe e kaha kiʻi e like me Picasso, pono mua ʻoe e aʻo pehea e kaha kiʻi ai i nā kiʻi maoli maoli, a inā ʻike ʻoe i nā lula hiki iā ʻoe ke hoʻomaka e uhaʻi iā lākou. Inā hoʻomaka ʻoe ma ka uhaki ʻana i nā lula i kēia manawa, e pau ʻoe i kahi haunaele. ʻO ka mea mua, aʻo wau i nā haumāna pehea e kākau ai i nā code maʻalahi a pololei me ka hopohopo ʻole e pili ana i ka hana. ʻO kaʻu e ʻōlelo nei, aia nā pilikia manawa paʻakikī e hūnā nei ma ʻaneʻi, no laila, mai hopohopo e pili ana i nā huna huna, mai hopohopo e pili ana i nā hiʻohiʻona hoʻomanaʻo, e hōʻoia i ka holo pono ʻana o nā mea a pau. He paʻakikī kēia: ʻaʻole maʻalahi ka hoʻolālā ʻana i kēia manawa, ʻoi aku hoʻi no nā haumāna hou. A loaʻa iā lākou kahi intuition e pili ana i ke kākau ʻana i nā papahana kūpono, ʻōlelo wau: e nānā i kēia mau hoʻokō spinlock ʻelua: lohi loa kekahi, a ʻaʻole maikaʻi ka lua, akā ʻoi aku ka maikaʻi. Eia naʻe, ma ka makemakika ua like nā algorithms ʻelua. ʻO kaʻoiaʻiʻo, hoʻohana kekahi o lākou i ka wahi cache. Holo kekahi o lākou i ka ʻikepili i hūnā ʻia ma ka ʻāina, a hana pinepine kekahi i nā hana ma waena o ke kaʻa. ʻAʻole hiki iā ʻoe ke kākau i ke code kūpono inā ʻaʻole ʻoe maopopo i ke ʻano o ia mea, a ʻaʻole ʻoe i ʻike pehea e wāwahi ai i ka abstraction a nānā i ke ʻano o lalo. Akā ʻaʻole hiki iā ʻoe ke hoʻomaka koke i kēia. Aia kekahi poʻe e hoʻomaka koke i kēia hana a manaʻoʻiʻo i ko lākou akamai ponoʻī, maʻamau ka hopena maikaʻi ʻole no ka maopopo ʻole o nā kumu. ʻAʻohe mea huki e like me Picasso a i ʻole kākau i nā papahana e like me Doug Lee hou mai ke kulanui i kāna pule mua. He mau makahiki e hiki ai i keia pae o ka ike.

Alexey: Ua hoʻololiʻoe e puʻunaue i ka pilikia iʻelua mau'āpana:ʻo ka mua ka pololei,ʻo ka lua ka hana?

Maurice: Pololei. A, pololei i kēlā ʻano. ʻO kahi o ka pilikia, ʻaʻole maopopo i nā haumāna hou he paʻakikī ke hoʻokō ʻana i ka pololei. I ka nānā mua ʻana, ʻōlelo lākou: pololei kēia, ʻo ke koena wale nō ka wikiwiki. No laila i kekahi manawa ke haʻi aku nei au iā lākou e pili ana i kahi algorithm hewa ʻole me he mea lā he pololei.

Pehea e aʻo ai i nā haumāna e kākau i nā code multithreaded paʻakikī

Alexey: E ʻike wale inā hiki iā lākou ke ʻike i ka hopu?

Maurice: Ke ao aku nei au ma mua i kekahi manawa e hāpai au i nā algorithms pololei. ʻAʻole pono ʻoe e hoʻopunipuni i nā kānaka. Manaʻo wau e lawe lākou i ka ʻike me kahi hua paʻakai. Inā haʻi wau i kekahi mea a ʻōlelo wau: "nānā, maopopo maoli kēia" - he hōʻailona kēia e hoʻāʻo nei lākou e hoʻopunipuni iā ​​​​ʻoe, a pono ʻoe e nīnau i nā nīnau. A laila, hoʻāʻo wau e paipai i nā haumāna e nīnau mau i nā nīnau, a laila manaʻo wau, "He aha ka hopena inā waiho mākou i nā mea e like me ia?" A ʻike koke lākou i ka hewa. Akā ʻoi aku ka paʻakikī o ka hoʻomaopopo ʻana i nā haumāna he pono lākou e hopohopo no ka pololei ma mua o ka ʻike mua ʻana. Hele mai ka nui o kēia mau haumāna me ka ʻike hoʻolālā ma ke kula kiʻekiʻe, ua loaʻa i kekahi poʻe nā hana a ua hana i ka papahana ma laila, a ua piha lākou me ka hilinaʻi. He mea kēia e like me ka pūʻali: pono ʻoe e hoʻololi i ko lākou ʻano i mea e hōʻoiaʻiʻo ai iā lākou e hoʻomanawanui i ka hoʻoponopono ʻana i nā pilikia e kū mai ana. A i ʻole e like paha me nā mōneka Buddhist: aʻo mua lākou i ka noʻonoʻo e pili ana i ka pololei, a ke hoʻomaopopo lākou i ke ʻano o ka noʻonoʻo ʻana e pili ana i ka pololei, ʻae ʻia lākou e neʻe i kahi pae aʻe a hoʻomaka e hopohopo no ka hana.

Alexey: ʻO ia hoʻi, i kekahi manawa ke hōʻike nei ʻoe i nā haumāna i nā hiʻohiʻona hana ʻole, mahalo i loaʻa iā ʻoe nā manaʻo e hōʻike ana inā maopopo lākou i ke ʻano o ka pilikia, inā hiki iā lākou ke ʻike i ka code hewa a me ka hopena hewa. No laila, hauʻoli a kaumaha paha nā haumāna?

Maurice: ʻaneʻane ʻike nā haumāna i ka hewa ma hope. Inā ʻimi lohi lākou, nīnau wau i nā nīnau alakaʻi, a eia ka mea nui e hoʻomaopopo inā ʻaʻole ʻoe e hoʻopunipuni iā ​​​​lākou, e hoʻomaka lākou e noʻonoʻo ʻole i kāu mau ʻōlelo ma ke ʻano he ʻoiaʻiʻo loa. A laila e luhi lākou a hoʻomaka e hiamoe i ka heluhelu ʻana iā Facebook ma kā lākou kamepiula i ka wā o ka papa. Akā, ke haʻi mua ʻoe iā lākou e hoʻopunipuni ʻia lākou, a e nānā naʻaupō lākou inā ʻaʻole lākou e ʻike i kahi hoʻopunipuni, ʻoi aku ka makaʻala. Maikaʻi kēia ma nā ʻano like ʻole. Makemake au e nīnau nā haumāna i ko lākou hoʻomaopopo ʻana i kēia kumuhana, akā nīnau pū kekahi i ka mana o ke kumu. ʻO ka manaʻo, hiki i ka haumāna ke hāpai i ko lākou lima i kēlā me kēia manawa a ʻōlelo: Manaʻo wau he hewa ka mea āu i ʻōlelo ai. He mea hana aʻo koʻikoʻi ia. ʻAʻole wau makemake i kekahi o nā haumāna e noho a noʻonoʻo iā lākou iho: he mea lapuwale kēia mau mea, akā ʻo ka hāpai ʻana i kou lima he mea weliweli loa, a ʻo ia hoʻi, he polopeka ʻo ia, no laila ʻo nā mea a pau āna i ʻōlelo ai he ʻoiaʻiʻo. No laila, inā e aʻo mua ʻia lākou ʻaʻole ʻoiaʻiʻo nā mea a pau i haʻi ʻia, loaʻa iā lākou ka manaʻo e uku nui aku i ka mea. Ke hoʻomaopopo nei au he maikaʻi ke hāpai i kou lima a nīnau i nā nīnau. He naʻaupō paha kāu nīnau a he naʻaupō paha, akā ʻo kēia ke ala pinepine ʻana o nā nīnau maikaʻi loa.

Alexey: Hoihoi loa. ʻO ka maʻamau, loaʻa i nā poʻe kekahi ʻano pale noʻonoʻo e ʻae ʻole iā lākou e nīnau i kahi nīnau i ke kauka. ʻOi loa inā he nui ka poʻe i loko o ka lumi, a makaʻu nā mea a pau o ke kūkākūkā ʻana i kāu nīnau naʻaupō e pau ai ka manawa o kēia poʻe. Aia kekahi mau maalea e pili ana i keia?

Maurice: Kū pinepine au a nīnau i nā nīnau maʻamau. Inā pololei ka ʻōlelo, a pehea e hoʻoponopono ai i ka pilikia e kūkākūkā ʻia nei. He hana koʻikoʻi kēia, ʻoi aku ka nui ma ka hoʻomaka ʻana o kahi haʻawina ke hilahila ka poʻe e ʻōlelo i ka mea liʻiliʻi loa. Nīnau ʻoe i nā haumāna i kahi nīnau a ʻaʻole ʻōlelo hou aku. ʻAʻole hiki i kekahi ke kū, haʻihaʻi a haʻi i ka pane. ʻO kēia ke ʻano āu e hoʻohuli ai i ke kūlana: ʻoi aku ka paʻakikī a me ka maʻalahi o ka hoʻomau ʻana i ka noho mālie ma mua o ka pane ʻana! He hana hoʻonaʻauao maʻamau kēia. Pono nā kumu a pau o ka honua e hana i kēia.

Alexey: He inoa maikaʻi loa kā mākou no kēia nīnauele: "ʻoi aku ka maʻalahi o ka pane ʻana ma mua o ka noho mālie."

Vitaly: E nīnau hou au. Ke hana nei ʻoe i nā hōʻike topological. Pehea ʻoe i komo ai i kēia, no ka mea, ʻokoʻa loa ka computing a me topology!

Maurice: Aia kahi pilina huna ma laila. I koʻu wā kamaliʻi e aʻo ana i ka makemakika, ua aʻo au i ka makemakika maʻemaʻe. ʻAʻohe oʻu hoihoi maoli i ka lolouila a hiki i ka pau ʻana o kaʻu mau haʻawina a ʻike wau iaʻu iho i ka pilikia nui e ʻimi i kahi hana. Ma ke ʻano he haumāna ua aʻo au i ka topology algebraic. He mau makahiki ma hope mai, ʻoiai e hana ana i kahi pilikia i kapa ʻia "K-Set Agreement Problem", Ua hoʻohana au i nā pakuhi e hoʻohālike i ka pilikia a, e like me ka mea i kēlā manawa, ua loaʻa iaʻu kahi hopena. Pono ʻoe e noho i lalo a hele a puni ka helu. E ho'āʻo e ʻimi i kahi pane kūpono ma kēia pakuhi. Akā,ʻaʻole i hana kaʻu algorithm: uaʻikeʻia e holo mauʻo ia i nā pōʻai. ʻO ka mea pōʻino, ʻaʻole hiki ke wehewehe ʻia kēia mau mea a pau ma ka ʻōlelo maʻamau o ke kumumanaʻo kiʻi - ka mea i ʻike ʻia e nā ʻepekema kamepiula āpau. A laila hoʻomanaʻo wau i nā makahiki he nui i hala, hoʻi i nā papa topology, ua hoʻohana mākou i ka manaʻo "paʻakikī maʻalahi", ʻo ia ka hōʻuluʻulu ʻana o nā pakuhi i nā ana kiʻekiʻe. A laila nīnau wau iaʻu iho: he aha ka mea e hana inā hoʻoponopono hou mākou i ka pilikia ma ke ʻano o nā paʻakikī maʻalahi? Ua lilo kēia i ka manawa nui. Ma ka hoʻohana ʻana i kahi formalism ʻoi aku ka ikaika, ua maʻalahi ka pilikia. Ua hakakā nā kānaka no ka manawa lōʻihi, me ka hoʻohana ʻana i nā kiʻi, akā ʻaʻole hiki iā lākou ke hana i kekahi mea. A hiki i kēia manawa ʻaʻole hiki iā lākou - ʻo ka pane pololei ʻaʻole ia he algorithm, akā he hōʻoia o ka hiki ʻole ke hoʻoponopono i ka pilikia. ʻO ia hoʻi, ʻaʻole i loaʻa kēlā algorithm. Akā kēlā me kēia hōʻike o ka hiki ʻole e pili ana i nā paʻakikī maʻalahi a i ʻole nā ​​mea i hoʻohālikelike ʻia e ka poʻe ʻaʻole i noʻonoʻo i nā paʻakikī maʻalahi. No kou kapa ʻana i kekahi mea he inoa hou, ʻaʻole ia e nalowale kona ʻano.

Vitaly: Ua laki wale ʻoe?

Maurice: Ma waho aʻe o ka laki, ʻo ia kekahi ka makemake. ʻO ia hoʻi, ʻaʻole pono ʻoe e poina i nā mea "mea ʻole" āu i aʻo ai ma mua. ʻO ka nui o nā mea pono ʻole āu e aʻo ai, ʻoi aku ka nui o nā manaʻo hiki iā ʻoe ke unuhi i ka wā e kū ai i kahi pilikia hou. He mea koʻikoʻi kēia ʻano o ka hoʻohālikelike ʻano intuitive no ka mea... E hana kāua, he kaulahao kēia: i ka wā mua, ʻike wau ʻaʻole i hana a ʻaʻole i hana iki nā kiʻi, hoʻomanaʻo mai iaʻu i kekahi mea mai nā hanana ʻewalu. makahiki i hala aku nei a me koʻu mau makahiki haumāna, i ko mākou aʻo ʻana i kēia mau paʻakikī maʻalahi. ʻO kēia ka mea i ʻae iaʻu e ʻimi i kaʻu puke topology kahiko a hoʻouka hou i loko o koʻu poʻo. Akā inā ʻaʻole kēlā ʻike kahiko, ʻaʻole au i holomua i ka hoʻoponopono ʻana i ka pilikia kumu.

Paʻi hou o ka puke "The Art of Multiprocessor Programming"

Alexey: Ua ʻōlelo ʻoe i kekahi mau huaʻōlelo e pili ana i kāu puke. ʻAʻole paha ʻo ia ka mea huna ʻino loa āu i kākau ai i ka puke kaulana loa o ka honua ma ka multithreading. "Ka Art of Multiprocessor Programming". Aia ma kahi o 11 mau makahiki a mai ia manawa ua hoʻokuʻu wale ʻia  hoʻoponopono hou ʻia. E loaʻa ana kahi paʻi ʻelua?

Maurice: Maikaʻi kāu nīnau! E hiki koke mai ana, i loko o ekolu mahina a oi. ʻElua mau mea kākau hou, hoʻohui mākou i nā mea hou aku, hoʻomaikaʻi i ka ʻāpana o ka fork/join parallelism, kākau i kahi ʻāpana ma MapReduce, hoʻohui i nā mea hou he nui a hoʻolei aku i nā mea pono ʻole - he mea hoihoi loa i ka manawa kākau. ka paʻi mua, akā ʻaʻole i laila i kēia lā. He puke hoʻoponopono koʻikoʻi ka hopena.

Alexey: Ua hana ʻia nā mea a pau, ʻo ka mea i koe e hoʻokuʻu?

Maurice: Pono kekahi mau mokuna i ka hana. Ke ho'āʻo nei kā mākou mea hoʻopuka (ka mea aʻu i manaʻo ai ua inaina iā mākou) e hoʻouna i ka leka e pono ai mākou e hana wikiwiki. Aia mākou ma hope o ka papahana. Ma ka manaʻo, hiki iā mākou ke hana i kēia puke i ʻelua mau makahiki ma mua.

Alexey: He manawa e loaʻa ai kahi mana hou o ka puke ma mua o ka Kalikimaka?

Maurice: ʻO kā mākou pahuhopu kēia! Akā, ua wānana wau i ka lanakila i nā manawa he nui ʻaʻohe manaʻoʻiʻo hou iaʻu. ʻAʻole paha ʻoe e hilinaʻi nui iaʻu ma kēia mea.

Alexey: ʻOiai, he nūhou maikaʻi kēia. Ua makemake nui au i ka paʻi mua o ka puke. Hiki iā ʻoe ke ʻōlelo he pā wau.

Maurice: Manaʻo wau e kūpono ka paʻi hou ʻana i kou hoihoi nui, mahalo!

Pehea i hana ʻia ai ka hoʻomanaʻo ʻana

Vitaly: ʻO ka nīnau aʻe e pili ana i ka hoʻomanaʻo transactional. I koʻu hoʻomaopopo ʻana, he paionia ʻoe ma kēia kahua, ua haku ʻoe i ka wā ʻaʻohe kanaka e noʻonoʻo ana i ia mau mea. No ke aha ʻoe i hoʻoholo ai e neʻe i kēia kahua? No ke aha i manaʻo nui ai nā kālepa iā ʻoe? Ua manaʻo paha ʻoe i kekahi lā e hoʻokō ʻia lākou i ka ʻenehana?

Maurice: Ua ʻike au e pili ana i nā kālepa mai koʻu mau lā noiʻi puka.

Vitaly: ʻAe, akā he mau hana ʻokoʻa kēia!

Maurice: Ua hana au me Elliott Moss ma ka hōʻiliʻili ʻōpala ʻole. ʻO kā mākou pilikia, makemake mākou e hoʻololi i kekahi mau huaʻōlelo i ka hoʻomanaʻo ʻana a laila e maʻalahi nā algorithms, a ma ka liʻiliʻi loa e lilo kekahi o lākou i ʻoi aku ka maikaʻi. Ke hoʻohana nei hoʻolikelike-a-swap no ka mea, load-link/store-conditionali hāʻawi ʻia e ka papa hana like, hiki ke hana i kekahi mea, akā ʻaʻole maikaʻi a maikaʻi ʻole no ka mea pono ʻoe e hana me nā papa kuhikuhi. Makemake wau e hoʻololi i nā huaʻōlelo hoʻomanaʻo a pono wau e hoʻololi no ka mea hiki iaʻu ke hoʻololi i hoʻokahi kikoʻī, no laila pono lākou e kuhikuhi i kekahi ʻano o ka papa kuhikuhi. Ua kamaʻilio mākou e pili ana i ka maikaʻi inā hiki iā mākou ke hoʻololi i ka hāmeʻa i hiki iā ia ke hana i ka hoʻopaʻa ʻana like. Ua ʻike ʻo Elliott i kēia: inā ʻoe e nānā i nā protocol coherency cache, ua hāʻawi mua lākou i ka hapa nui o nā hana e pono ai. Ma kahi hana maikaʻi, e ʻike ʻia ka protocol coherency cache aia kahi hakakā manawa a lilo ka cache pono ole. He aha ka hopena inā hoʻoholo ʻoe i kahi kālepa ma kāu cache a hoʻohana i nā ʻōnaehana protocol coherence e ʻike i nā paio? He mea maʻalahi ka hoʻolālā ʻana i ka hoʻolālā hāmeʻa speculative. No laila ua kākau mākou i kēlā ka hoolaha mua loa e pili ana i ka hoʻomanaʻo transactional. I ka manawa like, ke hana nei ka hui aʻu e hana nei, Digital Equipment Corporation, i kahi kaʻina hana 64-bit hou i kapa ʻia ʻo Alpha. No laila, hele wau a hāʻawi i kahi hōʻike i ka hui hoʻomohala Alpha e pili ana i kā mākou hoʻomanaʻo hoʻomanaʻo kupaianaha a nīnau lākou: ʻEhia ka nui o nā kālā hou e loaʻa i kā mākou hui inā mākou e hoʻohui pololei i kēia mau mea i ka mea hana? A ʻaʻohe aʻu pane i kēia, no ka mea, he ʻenehana wau, ʻaʻole wau he loea kūʻai. ʻAʻohe aʻu mea e pane aku ai. ʻAʻole lākou i mahalo nui ʻaʻole wau i ʻike i kekahi mea.

Vitaly: He mau piliona! E ʻōlelo wale i nā piliona!

Maurice: ʻAe, ʻo ia kaʻu e ʻōlelo ai. I kēia manawa, i ka makahiki o nā hoʻomaka a me nā mea āpau, ʻike wau pehea e kākau ai i kahi hoʻolālā ʻoihana. Hiki iā ʻoe ke wahaheʻe iki e pili ana i ka nui o kāu loaʻa kālā. Akā i kēlā mau lā me he mea lā he naʻaupō ia, no laila ua ʻōlelo wale wau, "ʻAʻole wau ʻike." Inā ʻoe e nānā i ka mōʻaukala o ka paʻi ʻana ma ka hoʻomanaʻo transactional, e ʻike ʻoe ma hope o hoʻokahi makahiki ua nui nā kuhikuhi ʻana iā ia, a laila no ka ʻumi makahiki ʻaʻohe mea i haʻi i kēia pepa. Ua ʻike ʻia nā huaʻōlelo ma kahi o 2004, i ka wā i ʻike ʻia ai nā multi-cores maoli. I ka ʻike ʻana o ka poʻe e hiki ke loaʻa kālā ke kākau ʻana i nā code parallel, ua hoʻomaka ka noiʻi hou. ʻO Ravi Rajwar kākau i ʻatikala, kahi i hoʻokomo i ka manaʻo o ka hoʻomanaʻo transactional i ka mainstream. (Meka a ka mea hoʻoponopono: Aia ka lua o kēia ʻatikala, i hoʻokuʻu ʻia i ka makahiki 2010 a loaʻa manuahi. e like me PDF). Ua ʻike koke ka poʻe pehea e hoʻohana ʻia ai kēia mau mea a pau, pehea e hoʻonui ai i nā algorithm kuʻuna me nā laka. He kumu hoʻohālike maikaʻi o kekahi mea i ka wā ma mua i like me ka pilikia hoʻonaʻauao hoihoi. A ʻae, inā ʻoe i nīnau mai iaʻu i kēlā manawa inā manaʻo wau he mea nui kēia mau mea i ka wā e hiki mai ana, ua ʻōlelo wau: ʻoiaʻiʻo, akā inā maopopo ʻole. Malia paha i loko o 50 makahiki? I ka hoʻomaʻamaʻa ʻana, ua lilo kēia i ʻumi makahiki wale nō. He mea maikaʻi loa ke hana ʻoe i kekahi mea a ma hope o ka ʻumi makahiki e ʻike ai nā kānaka.

No ke aha e pono ai ka hana ʻana i ka noiʻi ʻana ma ke kahua o ka hoʻoili ʻikepili

Vitaly: Inā mākou e kamaʻilio e pili ana i ka noiʻi hou, he aha kāu e ʻōlelo ai i ka poʻe heluhelu - puʻunaue computing a multi-core a no ke aha? 

Maurice: I kēia mau lā, maʻalahi ka loaʻa ʻana o kahi kaʻina hana multi-core, akā ʻoi aku ka paʻakikī o ka hoʻonohonoho ʻana i kahi ʻōnaehana puʻupuʻu maoli. Ua hoʻomaka wau e hana iā lākou no ka mea makemake wau e hana i kahi mea ʻē aʻe mai kaʻu tesis PhD. ʻO kēia ka ʻōlelo aʻo aʻu e hāʻawi mau ai i nā haumāna hou: mai kākau i kahi hoʻomau o kāu dissertation-e hoʻāʻo e hele i kahi ala hou. A maʻalahi hoʻi ka multithreading. Hiki iaʻu ke hoʻāʻo me kaʻu ʻōpala ponoʻī e holo ana ma kaʻu kamepiula me ka ʻole e haʻalele i kahi moe. Akā inā makemake koke wau e hana i kahi ʻōnaehana puʻupuʻu maoli, pono wau e hana i nā hana he nui, e huki i nā haumāna, a pēlā aku. He kanaka palaualelo au a makemake au e hana ma ka multi-core. ʻOi aku ka maʻalahi o ka hoʻāʻo ʻana i nā ʻōnaehana multi-core ma mua o ka hana ʻana i nā hoʻokolohua ma nā ʻōnaehana puʻupuʻu, no ka mea ʻoiai i loko o kahi ʻōnaehana puʻupuʻu puʻupuʻu he nui nā kumu e pono ai ke hoʻomalu.

Vitaly: He aha kāu e hana nei i kēia manawa, e noiʻi ana i ka blockchain? He aha nā ʻatikala āu e nānā mua ai?

Maurice: Ua puka mai nei ʻatikala maikaʻi loa, aʻu i kākau pū ai me kaʻu haumāna, ʻo Vikram Saraf, ʻoi loa no kahi kamaʻilio ma ʻaha kūkā ʻo Tokenomcs ma Parisa ekolu pule aku nei. He ʻatikala kēia e pili ana i nā ʻōnaehana puʻupuʻu kūpono, kahi a mākou e manaʻo ai e hana i ka Ethereum multi-threaded. I kēia manawa, hoʻokō ʻia nā ʻaelike akamai (code e holo ana ma ka blockchain). Ua kākau mākou i kahi ʻatikala ma mua e kamaʻilio e pili ana i kahi ala e hoʻohana ai i nā kālepa speculative e wikiwiki i ke kaʻina hana. Lawe mākou i nā manaʻo he nui mai ka hoʻomanaʻo transactional software a ʻōlelo ʻoe inā e hana ʻoe i kēia mau manaʻo i ʻāpana o ka mīkini virtual Etherium, a laila e holo wikiwiki nā mea a pau. Akā no kēia mea pono ʻaʻohe paio ʻikepili i nā ʻaelike. A laila ua manaʻo mākou i ke ola maoli ʻaʻohe mau hakakā. Akā, ʻaʻohe o mākou ala e ʻike ai. A laila ua manaʻo mākou ua kokoke mākou he ʻumi makahiki o ka mōʻaukala ʻaelike maoli ma ko mākou mau lima, no laila ua hoʻolei mākou i ka blockchain Ethereum a nīnau iā mākou iho: he aha ka mea e hana ʻia inā e hana like ʻia kēia mau moʻolelo mōʻaukala? Ua loaʻa iā mākou kahi piʻi nui o ka wikiwiki. I nā lā mua o Ethereum, ua piʻi nui ka wikiwiki, akā i kēia lā uaʻoi aku ka paʻakikī o nā mea a pau, no ka mea, ua liʻiliʻi nāʻaelike a me ka nui o nā paio ma luna o kaʻikepili e pono ai ka serialization. Akā, he hana hoʻokolohua kēia me nā ʻikepili mōʻaukala maoli. ʻO ka mea maikaʻi e pili ana i ka blockchain ʻo ia ka hoʻomanaʻo ʻana i nā mea āpau a mau loa, no laila hiki iā mākou ke hoʻi i ka manawa a aʻo i ka mea i hiki ke hana inā mākou i hoʻohana i nā algorithm like ʻole e holo i ke code. Pehea i makemake ai ka poʻe i ka wā ma mua i kā mākou manaʻo hou? ʻO ia mau noiʻi ʻoi aku ka maʻalahi a ʻoi aku ka leʻaleʻa e hana, no ka mea aia kahi mea e nānā i nā mea āpau a hoʻopaʻa i nā mea āpau. He mea like kēia me ka sociology ma mua o ka hoʻomohala ʻana i nā algorithms.

Ua pau ka hoʻomohala ʻana i nā algorithm a pehea e neʻe ai?

Vitaly: ʻO ka manawa no ka nīnau manaʻo hope loa! Manaʻo paha e emi ana ka holomua o nā ʻikepili hoʻokūkū i kēlā me kēia makahiki? Manaʻo ʻoe ua hōʻea mākou i kahi pāpū i ko mākou ʻike ʻana i nā hoʻolālā ʻikepili a i ʻole e loaʻa kekahi mau hoʻomaikaʻi nui? Aia paha kekahi mau manaʻo akamai e hiki ke hoʻololi loa i nā mea a pau?

Maurice: Ua hōʻea paha mākou i kahi pāpū ma nā hale ʻikepili no nā hale hana kuʻuna. Akā ʻo nā ʻikepili ʻikepili no nā hale kiʻi hou he wahi maikaʻi loa ia. Inā makemake ʻoe e hana i nā hoʻolālā ʻikepili no, e ʻōlelo, nā mea hoʻokele waiwai, a laila ʻokoʻa loa nā hoʻonohonoho ʻikepili no kahi GPU mai nā kūkulu ʻikepili no kahi CPU. Ke hoʻomohala nei ʻoe i nā hoʻolālā ʻikepili no nā blockchains, pono ʻoe e hash i nā ʻāpana o ka ʻikepili a laila hoʻokomo iā lākou i kahi mea like lāʻau Merkle, e pale i ka hoopunipuni. Ua piʻi nui ka hana ma kēia wahi i kēia mau lā, me ka nui o nā hana maikaʻi loa. Akā, ke manaʻo nei au he aha ka mea e hiki mai ana e alakaʻi i nā hale hana hou a me nā noi hou i nā hale ʻikepili hou. Nā palapala hoʻoilina a me ka hoʻolālā kuʻuna - ʻaʻole nui ka lumi no ka ʻimi ʻana. Akā inā e haʻalele ʻoe i ke ala i hahau ʻia a nānā ʻoe ma waho o nā ʻaoʻao, ʻike ʻoe i nā mea pupule ʻaʻole i noʻonoʻo nui ʻia e ka mainstream - ʻo ia kahi e hana maoli ai nā mea hoihoi.

Vitaly: No laila, no ka lilo ʻana i mea noiʻi kaulana loa, pono iaʻu e hana i kaʻu hale hana ponoʻī :)

Maurice: Hiki iā ʻoe ke "ʻaihue" i ka hale hana hou o kekahi - ʻoi aku ka maʻalahi!

Ke hana nei ma ke Kulanui ʻo Brown

Vitaly: Hiki iā ʻoe ke haʻi hou aku iā mākou e pili ana Ke Kulanui ʻo Brownhea la oukou e hana? ʻAʻole nui ka ʻike e pili ana iā ia ma ke ʻano o ka ʻenehana ʻike. ʻOi aku ma mua o MIT, no ka laʻana.

Maurice: ʻO ke Kulanui ʻo Brown kekahi o nā kula kahiko loa ma ʻAmelika Hui Pū ʻIa. Manaʻo wau ʻo Harvard wale nō ka ʻoi aʻe. ʻO Brown kahi ʻāpana o ka mea i kapa ʻia Ivy League, ʻo ia ka hōʻiliʻili o ʻewalu mau kula kahiko. Harvard, Brown, Cornell, Yale, Columbia, Dartmouth, Pennsylvania, Princeton. He ʻano kulanui kahiko, liʻiliʻi a ʻano aristocratic. ʻO ka manaʻo nui ma ka hoʻonaʻauao liberal arts. ʻAʻole ia e hoʻāʻo e like me MIT, ʻo MIT ka loea a me ka ʻenehana. He wahi maikaʻi ʻo Brown e aʻo ai i ka palapala Lūkini a i ʻole ka Greek Classical, a ʻoiaʻiʻo hoʻi, Computer Science. Ke kālele nei i ka hoʻonaʻauao piha. Hele ka hapa nui o kā mākou haumāna i Facebook, Apple, Google - no laila ke manaʻo nei au ʻaʻohe pilikia o kā mākou haumāna i ka loaʻa ʻana o kahi hana ma ka ʻoihana. Ua hele au e hana ma Brown no ka mea ua hana mua au ma Digital Equipment Corporation ma Boston. He hui kēia i haku i nā mea hoihoi he nui, akā hōʻole i ka pono o nā kamepiula pilikino. ʻO kahi hui me ka hopena paʻakikī, nona nā mea hoʻokumu he mau ʻōpio kipi, ʻaʻole lākou i aʻo a poina ʻole, a no laila ua huli lākou mai ka poʻe kipi a i nā reactionaries i loko o kahi mau makahiki. Makemake lākou e hoʻohenehene ʻo nā kamepiula pilikino i loko o ka hale kaʻa—he hale kaʻa i haʻalele ʻia, ʻoiaʻiʻo. He mea maopopo loa ua luku ʻia lākou e nā ʻoihana maʻalahi. I ka ʻike ʻia ʻana o ka pilikia o ka hui, ua kāhea au i koʻu hoaaloha ma Brown, aia ma kahi o hoʻokahi hola ma waho o Bosetona. ʻAʻole au i makemake e haʻalele iā Boston i kēlā manawa no ka mea ʻaʻole nui nā puka ma nā kula ʻē aʻe. He wā kēia ʻaʻole nui nā hana ma ka ʻepekema kamepiula e like me kēia manawa. A ua wehe ʻia ʻo Brown, ʻaʻole pono iaʻu e neʻe i koʻu home, ʻaʻole pono e hoʻoneʻe i koʻu ʻohana, a makemake nui wau e noho ma Boston! ʻO ia koʻu manaʻo e hele i Brown. Makemae au iā ia. Nani nā haumāna, no laila ʻaʻole au i hoʻāʻo e hele i kahi ʻē. I koʻu wā Sābati, ua hana au ma Microsoft no hoʻokahi makahiki, ua hele au i Technion ma Haifa no hoʻokahi makahiki, a i kēia manawa aia wau ma Algorand. He nui koʻu mau hoa hana ma nā wahi a pau a no laila ʻaʻole koʻikoʻi ka wahi kino o kā mākou lumi papa. Akā, ʻo ka mea nui, ʻo nā haumāna, ʻoi aku ka maikaʻi ma ʻaneʻi. ʻAʻole au i hoʻāʻo e hele i kahi ʻē aʻe no ka mea hauʻoli loa wau ma ʻaneʻi.

ʻOiai ke kaulana ʻo Brown ma ʻAmelika Hui Pū ʻIa, ʻaʻole ʻike ʻia ʻo ia ma waho. E like me kāu e ʻike ai, ke hana nei au i nā mea āpau e hiki ai ke hoʻoponopono i kēia kūlana.

ʻO ka ʻokoʻa ma waena o ka noiʻi ma ke kulanui a i loko o kahi hui

Vitaly: ʻAe, ʻo ka nīnau aʻe e pili ana i ka Digital Equipment. Aia ʻoe ma ke ʻano he mea noiʻi. He aha ka ʻokoʻa ma waena o ka hana ʻana ma ka ʻoihana R&D o kahi hui nui a me ka hana ʻana ma ke kulanui? He aha nā pōmaikaʻi a me nā pōʻino?

Maurice: No iwakālua mau makahiki aʻu i hana ai ma Microsoft, hana pū me nā limahana o Sun Microsystems, Oracle, Facebook, a i kēia manawa ʻo Algorand. Ma muli o kēia mau mea a pau, makemake wau e ʻōlelo hiki ke hana i ka noiʻi papa mua ma nā ʻoihana a ma nā kulanui. ʻO ka ʻokoʻa koʻikoʻi ʻo ia ma kahi ʻoihana e hana pū ai ʻoe me nā hoa hana. Inā loaʻa koke iaʻu kahi manaʻo no kahi papahana i loaʻa ʻole i kēia manawa, pono wau e hōʻoia i koʻu mau hoa he manaʻo maikaʻi kēia. Inā au ma Brown, a laila hiki iaʻu ke haʻi i kaʻu mau haumāna: e hana kāua i ka antigravity! E haʻalele paha lākou i kahi ʻē aʻe a i ʻole e hana i kahi papahana. ʻAe, pono wau e ʻimi i ke kālā, pono wau e kākau i palapala noi hāʻawi, a pēlā aku. I kēlā me kēia hihia, e nui mau nā haumāna, a hiki iā ʻoe ke hoʻoholo unilaterally. Akā ma ke kulanui ʻaʻole paha ʻoe e hana pū me nā poʻe o kou pae. I ka honua o ka noiʻi ʻenehana, pono ʻoe e hōʻoia mua i nā poʻe a pau he pono kāu papahana. ʻAʻole hiki iaʻu ke kauoha i kekahi mea i kekahi. A he mea waiwai kēia mau ʻano hana ʻelua, no ka mea, inā ʻoe e hana nei i kahi mea pupule a paʻakikī hoʻi i kāu mau hoa hana, ʻoi aku ka maʻalahi o ka hoʻohuli ʻana i nā haumāna puka - ʻoi aku ka maikaʻi inā ʻoe e uku iā lākou. Inā ʻoe e hana nei i kahi mea e koi ai i ka ʻike nui a me ka ʻike hohonu, a laila pono ʻoe i nā hoa hana hiki ke ʻōlelo "ʻaʻole, aia wale nō ke maopopo iaʻu i kēia wahi a maikaʻi ʻole kou manaʻo, ʻaʻole ia e hana." He mea maikaʻi loa kēia ma ke ʻano o ka hoʻopau manawa. Eia kekahi, inā i loko o nā hale hana ʻoihana e hoʻolilo ʻoe i ka manawa nui e kākau ai i nā hōʻike, a laila ma ke kulanui e hoʻolilo ʻoe i kēia manawa e ʻimi kālā. Inā makemake au e hele nā ​​haumāna i kekahi wahi, pono iaʻu e ʻimi i ke kālā no ia mea ma kahi ʻē. A ʻoi aku ka nui o kou kūlana ma ke kulanui, ʻoi aku ka nui o ka manawa āu e hoʻolilo ai i ke kālā. No laila ua ʻike ʻoe i kaʻu mea e hana nei - he kanaka noiʻi ʻoihana! E like me kekahi o kēlā mau mōneka e hele a puni me ka pā mōhai. Ma keʻano laulā, hoʻokō kēia mau hana ʻelua i kekahi i kekahi. ʻO ia ke kumu e hoʻāʻo ai au e ola a paʻa koʻu mau wāwae ma ka honua ma nā ao ʻelua.

Vitaly: Me he mea lā ʻoi aku ka paʻakikī o ka hōʻoiaʻiʻo ʻana i kahi hui ma mua o ka hōʻoia ʻana i nā ʻepekema ʻē aʻe.

Maurice: ʻOi aku ka paʻakikī, a ʻoi aku ka nui. Eia kekahi, ma nā wahi like ʻole he ʻokoʻa: hana kekahi i ka noiʻi piha piha, aʻo kekahi e kālele ana i kā lākou kumuhana. Inā hele au i Microsoft a i ʻole Facebook a ʻōlelo: e hana kāua anti-gravity, ʻaʻole lākou e mahalo. Akā inā like kaʻu ʻōlelo ʻana i kaʻu mau haumāna puka, e hana koke lākou, ʻoiai e loaʻa iaʻu nā pilikia i kēia manawa - ma hope o nā mea āpau, pono wau e ʻimi i ke kālā no kēia. Akā inā makemake ʻoe e hana i kahi mea e kūlike me nā pahuhopu o ka ʻoihana, hiki i kēlā hui ke lilo i wahi maikaʻi loa e hana ai i ka noiʻi.

Hydra a me SPTDC

Vitaly: Ke pau nei kaʻu mau nīnau, no laila e kamaʻilio liʻiliʻi kāua no ka huakaʻi e hiki mai ana i Rusia.

Maurice: ʻAe, ke kakali nei au e hoʻi i St. Petersburg.

Alexey: Hoʻohanohano wau i ka loaʻa ʻana iā ʻoe me mākou i kēia makahiki. ʻO kēia kou manawa ʻelua ma St. Petersburg, ʻeā?

Maurice: ʻO ke kolu!

Alexey: Ua maopopo iaʻu, akā SPTDC - maopopo ka lua. ʻO ka manawa hope i kāhea ʻia ke kula SPTCC, ua hoʻololi mākou i hoʻokahi leka (C i D, Concurrent to Distributed) e hoʻokūpaʻa i ka nui o nā wahi e pili ana i ka computing puʻunaue i kēia makahiki. Hiki iā ʻoe ke ʻōlelo i kekahi mau ʻōlelo e pili ana i kāu hōʻike ma ke Kula a ʻaha kūkā Hydra?

Maurice: Ma ke kula makemake wau e kamaʻilio e pili ana i nā kumu o ka blockchain a me kāu mea e hana ai me ia. Makemake wau e hōʻike i ka like loa o nā blockchains me ka papahana multi-threaded a mākou i kamaʻāina ai, akā me kā lākou mau nuances, a he mea nui kēia mau ʻokoʻa e hoʻomaopopo. Inā kuhi hewa ʻoe i kahi polokalamu pūnaewele maʻamau, hoʻonāukiuki wale ia. Inā kākau ʻoe i ke code buggy ma kahi noi kālā, e ʻaihue maoli kekahi i kāu kālā āpau. He mau pae ʻokoʻa loa kēia o ke kuleana a me nā hopena. E kamaʻilio liʻiliʻi wau e pili ana i ka hōʻoia-o-hana, e pili ana i nā ʻaelike akamai, e pili ana i nā hana ma waena o nā blockchains like ʻole.

Aia kekahi mau mea ha'i'ōlelo e hana ana ma hope o'u, a he mau mea 'ē a'e ko lākou e pili ana i ka blockchain, a ua 'ae mākou e hui pū me kekahi i mea e pili pono ai kā mākou mau mo'olelo. Akā no ka hōʻike ʻenehana, makemake wau e haʻi i ka lehulehu ākea ka wehewehe ʻana i ke kumu ʻaʻole pono ʻoe e manaʻoʻiʻo i nā mea a pau āu e lohe ai e pili ana i nā blockchains, no ke aha he kahua maikaʻi loa ka blockchains, pehea e kūpono ai me nā manaʻo ʻike ʻē aʻe, a no ke aha mākou e nānā wiwo ʻole ai. i ka wā e hiki mai ana.

Alexey: Eia hou, makemake wau e ʻōlelo ʻaʻole e hana ʻia kēia ma ke ʻano o kahi hui hui a i ʻole hui mea hoʻohana, e like me ʻelua makahiki i hala. Ua hoʻoholo mākou e mālama i kahi ʻaha kūkā liʻiliʻi ma kahi kokoke i ke kula. ʻO ke kumu ma hope o ke kamaʻilio ʻana me Peter Kuznetsov, ua ʻike mākou ua kaupalena ʻia ke kula i hoʻokahi haneli wale nō, 120 paha mau kānaka. I ka manawa like, nui nā ʻenekinia e makemake e kamaʻilio me ʻoe, hele i nā hōʻikeʻike, a makemake nui i ke kumuhana. No kēia kumu ua hana mākou i ʻaha kūkā hou kapa ʻia ʻo Hydra. Ma ke ala, he mau manaʻo no ke aha ʻo Hydra?

Maurice: No ka mea, ʻehiku mau mea ʻōlelo? A hiki ke ʻoki ʻia ko lākou mau poʻo, a e ulu aʻe nā mea ʻōlelo hou ma ko lākou wahi?

Alexey: Manaʻo maikaʻi no ka ulu ʻana i nā mea ʻōlelo hou. Akā ʻoiaʻiʻo, aia kahi moʻolelo ma ʻaneʻi. E hoʻomanaʻo i ka moʻolelo o Odysseus, kahi i holo ai ma waena ʻO Scylla lāua ʻo Charybdis? ʻO Hydra kekahi mea e like me Charybdis. ʻO ka moʻolelo ʻo ia kekahi manawa aʻu i kamaʻilio ai ma kahi hālāwai kūkā a kamaʻilio e pili ana i ka multithreading. ʻElua wale nō mele ma kēia ʻaha kūkā. I ka hoʻomaka ʻana o ka hōʻike, haʻi aku au i ka poʻe i loko o ke keʻena he koho lākou ma waena o Scylla a me Charybdis. ʻO Charybdis kaʻu holoholona ʻuhane no ka mea he nui nā poʻo o Charybdis a ʻo kaʻu kumuhana he multi-threading. ʻO kēia ke ʻano o nā inoa o nā ʻaha kūkā.

I kekahi hihia, ua pau nā nīnau a me ka manawa. No laila, mahalo, e nā hoaaloha, no kahi nīnauele nui, a ʻike iā ʻoe ma ke kula ʻo SPTDC a me Hydra 2019!

Hiki iā ʻoe ke hoʻomau i kāu kamaʻilio ʻana me Maurice ma ka hui ʻo Hydra 2019, e mālama ʻia ma Iulai 11-12, 2019 ma St. E hele mai ʻo ia me kahi hōʻike "Blockchains a me ka wā e hiki mai ana o ka hoʻopili helu helu". Hiki ke kūʻai ʻia nā tiketi ma ka pūnaewele mau.

Source: www.habr.com

Pākuʻi i ka manaʻo hoʻopuka