19 hydra poo. Nānā nui o ka papahana

E mālama ʻia kahi ʻaha kūkā ma Iulai 11-12 ma St Hydra, hoʻolaʻa i ka hoʻomohala ʻana i nā ʻōnaehana like a puʻunaue. ʻO ka hana hoʻopunipuni a Hydra ʻo ia ka hoʻohui ʻana i nā ʻepekema maikaʻi (hiki ke ʻike ʻia ma nā ʻaha kūkā ʻepekema ʻē aʻe) a me nā ʻenekini hoʻomaʻamaʻa kaulana i hoʻokahi papahana nui ma ke kuʻina o ka ʻepekema a me ka hana.

ʻO Hydra kekahi o kā mākou hui nui i nā makahiki i hala. Ma mua o ka hoʻomākaukau koʻikoʻi, ke koho ʻana i nā mea haʻiʻōlelo a me nā hōʻike. ʻO ka pule i hala e pili ana i kēia puka mai ka ninaninau habro me ka luna o JUG.ru Group, Alexey Fedorov (23derevo).

Mākou haʻi mua ʻia e pili ana i ʻekolu mau mea nui, nā mea nāna i hoʻokumu i ke kumumanaʻo o nā ʻōnaehana puʻupuʻu - Leslie Lamport, Maurice Herlihy a me Michael Scott. ʻO ka manawa kēia e kamaʻilio nui ai e pili ana i ka papahana holoʻokoʻa!

19 hydra poo. Nānā nui o ka papahana

Hoʻokumu

Inā ʻoe e pili ana i ka hoʻolālā ʻana, a laila e pili ana ʻoe i ka multithreading a me ka computing puʻunaue. Hana pololei nā poʻe loea i nā kahua kūpono, akā implicitly, ke nānā nei ka hoʻolaha iā mākou mai nā wahi a pau: i loko o kekahi kamepiula multi-core a i ʻole lawelawe hāʻawi ʻia aia kekahi mea e hana ana i nā helu like.

Nui nā ʻaha kūkā e uhi ana i nā ʻano like ʻole o ka hoʻolālā noi. Ma kēlā ʻaoʻao o ka spectrum, loaʻa iā mākou nā kula ʻepekema kūikawā e hōʻike ana i ka nui o ka manaʻo paʻakikī i ke ʻano haʻiʻōlelo. Eia kekahi laʻana, e like me Hydra ma St. Petersburg aia kula SPTDC. Ma ka ʻaha kūkā ʻo Hydra, ua hoʻāʻo mākou e hui pū i nā hana koʻikoʻi, ʻepekema, a me nā mea āpau ma ko lākou hui.

E noʻonoʻo e pili ana i kēia: ke ola nei mākou i kahi manawa kupaianaha e hiki ai iā ʻoe ke hālāwai kino me nā mea nāna i hoʻokumu i ka ʻepekema a me ka ʻenekinia a mākou e aʻo ai. ʻAʻole e hui nā physicists iā Newton a me Einstein - ua haʻalele ke kaʻaahi. Akā ma hope o mākou e noho mau ana ka poʻe nāna i hoʻokumu i ke kumu o ke kumumanaʻo o nā ʻōnaehana puʻupuʻu, i haku i nā ʻōlelo papahana kaulana, a no ka manawa mua i hoʻokomo i kēia mau mea āpau i ka hana prototypes. ʻAʻole i haʻalele kēia poʻe i kā lākou hana i ka hapalua, ke hana nei lākou i kēia manawa i nā pilikia koʻikoʻi i nā kulanui a me nā ʻoihana kaulana o ka honua, a ʻo lākou nā kumu nui o ka ʻike a me ka ʻike i kēia mau lā.

Ma ka ʻaoʻao ʻē aʻe, ʻo ka manawa e hālāwai ai me lākou maʻamau e noho mau ana: he kakaikahi o mākou e hiki ke nānā mau i nā hanana lehulehu ma kekahi Kulanui o Rochester, a laila holo wikiwiki i USA a hoʻi i kahi haʻiʻōlelo me Michael Scott. ʻO ke kipa ʻana i nā lālā Hydra a pau e uku ʻia kahi waiwai liʻiliʻi, ʻaʻole helu i ka hohonu o ka manawa hoʻopau ʻia (ʻoiai ke kani nei he ʻimi hoihoi).

Ma ka ʻaoʻao ʻē aʻe, loaʻa iā mākou nā mea ʻenehana kiʻekiʻe e hana nei i nā pilikia pilikia i nā ʻōnaehana hoʻolaha i kēia manawa, a he nui kā lākou e haʻi. Akā eia ka pilikia - ʻo lākou работают, a he waiwai ko lakou manawa. ʻAe, inā he limahana ʻoe o Microsoft, Google a i ʻole JetBrains, hiki i ka hiki ke hālāwai me kekahi o nā mea kamaʻilio kaulana i kahi hanana kūloko e piʻi nui ana, akā ma ka laulā, ʻaʻole, ʻaʻole hiki kēia i kēlā me kēia lā.

Ma kēia ala, hoʻokō ʻo Hydra Conference i kahi hana koʻikoʻi ʻaʻole hiki i ka hapa nui o mākou ke hana iā mākou iho - ma kahi hoʻokahi a i ka manawa hoʻokahi, e hui pū ai i nā poʻe nona nā manaʻo a i ʻole nā ​​pilina me lākou e hiki ke hoʻololi i kou ola. Ke ʻae nei au ʻaʻole pono nā kānaka a pau i nā ʻōnaehana puʻupuʻu a i ʻole kekahi mau mea paʻakikī. Hiki iā ʻoe ke hoʻolālā i nā CRUD ma PHP no ke koena o kou ola a noho hauʻoli loa. Akā ʻo ka mea e pono ai, ʻo kou manawa kēia.

Ua hala ka manawa lōʻihi mai ka hoʻolaha mua ʻana o ka ʻaha kūkā Hydra ma Habré. I kēia manawa, nui nā hana i hana ʻia - a i kēia manawa ua loaʻa iā mākou kahi papa inoa o nā hōʻike āpau. ʻAʻohe algorithms lohi hoʻokahi-threaded, hardcore puʻupuʻu maʻemaʻe wale nō! E hoʻopau kākou me nā huaʻōlelo maʻamau a ʻike i nā mea i loaʻa iā mākou i kēia manawa.

Nā huaʻōlelo koʻikoʻi

Hoʻomaka a hoʻopau i nā lā o ka ʻaha kūkā. ʻO ka mea maʻamau ka manaʻo o kahi kī wehe e hoʻonohonoho i ka ʻuhane nui a me ke alakaʻi o ka ʻaha kūkā. ʻO ke kī hope e huki i kahi laina a wehewehe pehea e hiki ai iā mākou ke ola me ka ʻike a me nā mākau i loaʻa i ka wā o ka ʻaha kūkā. ʻO ka hoʻomaka a me ka hopena:ʻo ka mea i hoʻomanaʻo maikaʻiʻia, a ma keʻano nui, ua hoʻonui i ka manaʻo.

Cliff Click Hāʻawi ka H2O i ka K/V algorithm

19 hydra poo. Nānā nui o ka papahana He moʻolelo ʻo Cliff ma ka honua Java. I ka hopena o nā makahiki 90, no kāna ʻatikala PhD, ua kākau ʻo ia i kahi pepa i kapa ʻia "Hoʻohui i nā Analyses, Hoʻohui i nā Optimizations", i kekahi manawa ma hope i lilo i kumu no HotSpot JVM Server Compiler. ʻElua mau makahiki ma hope mai, ua hana ʻo ia ma Sun Microsystems ma ka JVM a hōʻike i ka honua holoʻokoʻa he kuleana ko JIT e noho ai. ʻO kēia moʻolelo holoʻokoʻa e pili ana i ke ʻano o Java kekahi o nā manawa holo wikiwiki o kēia manawa me ka naʻauao a me ka wikiwiki loa i hele mai mai Cliff Click. I ka hoʻomaka ʻana, ua manaʻo ʻia inā hiki ke loaʻa kekahi mea i kahi mea hoʻopili static, ʻaʻole pono ʻoe e hoʻāʻo e jit. Mahalo i ka hana a Cliff a me ka hui, ua hoʻomaka ʻia nā ʻōlelo hou a pau me ka manaʻo o ka JIT compilation ma ka maʻamau. ʻOiaʻiʻo, ʻaʻole kēia he hana kanaka hoʻokahi, akā he hana koʻikoʻi loa ʻo Cliff ma ia hana.

Ma ka ʻōlelo hoʻomaka, e kamaʻilio ʻo Cliff e pili ana i kāna hana ʻē aʻe - H20, he kahua hoʻomanaʻo no ke aʻo ʻana i ka mīkini hoʻolaha a hiki ke hoʻonui ʻia no nā noi ʻoihana. A i ʻole, e pili ana i ka waiho ʻana o nā hui waiwai kī i loko. He waihona wikiwiki loa kēia me nā waiwai hoihoi (ʻo ka papa inoa pololei i loko wehewehe), ka mea e ʻae ai i ka hoʻohana ʻana i nā hoʻonā like i ka makemakika o ka streaming data nui.

ʻO kekahi hōʻike a Cliff e hāʻawi ai - Ka Azul Hardware Transactional Memory. ʻO kekahi hapa o kāna moʻolelo - he ʻumi makahiki hana ma Azul, kahi āna i hōʻano hou ai a hoʻomaikaʻi i nā mea he nui i loko o ka waihona ʻenehana Azul a me ka ʻenehana: JIT compilers, runtime, thread model, error handling, stack handling, hardware interrupts, class loading, a pēlā aku - maikaʻi, loaʻa iā ʻoe ka manaʻo.

Ua hoʻomaka ka mea hoihoi loa i ka wā i hana ai lākou i nā lako no kahi ʻoihana nui - kahi supercomputer e holo Java. He mea hou loa ia, i hoʻonohonoho pono ʻia no Java, nona nā koi kūikawā - heluhelu i nā pale hoʻomanaʻo no ka hōʻiliʻili ʻōpala haʻahaʻa, nā papa me ka nānā ʻana i nā palena, nā kelepona kelepona ... Hiki i ka L1 holoʻokoʻa o kekahi o nā cores 864 ke komo i ka palapala transactional, he mea nui loa ia no ka hana ʻana me nā laka ma Java (hiki i nā poloka synchronized ke hana like i ka wā ʻaʻohe hakakā hoʻomanaʻo maoli). Akā, ua ʻeha ka manaʻo nani i ka ʻoiaʻiʻo paʻakikī - a ma kēia kamaʻilio ʻana e haʻi ʻo Cliff iā ʻoe i ke kumu kūpono ʻole ʻo HTM a me STM no nā pono hana o ka helu helu lehulehu.

Michael Scott - Nā hale ʻikepili pālua

19 hydra poo. Nānā nui o ka papahana Michael Scott - Polofesa o Computer Science ma ke Kulanui o Rochester, me ka hopena i pili ia ia ua 34 makahiki, a ma kona home University of Wisconsin–Madison, he dean no ʻelima mau makahiki. ʻImi ʻo ia a aʻo i nā haumāna e pili ana i ka papahana like a puʻunaue a me ka hoʻolālā ʻōlelo.

Ua ʻike ka honua holoʻokoʻa iā Michael i ka puke haʻawina "Ka Papahana Language Pragmatics", ua paʻi ʻia ka paʻi hou loa - i ka makahiki 2015. ʻO kāna hana "Nā Algorithms no ka hoʻonohonoho ʻana i ka hoʻonohonoho ʻana i nā multiprocessors hoʻomanaʻo like" loaa Makai Dijkstra e like me kekahi o nā mea kaulana loa ma ke kahua o ka hoʻopili helu helu a me wahahee akea ma ke Kulanui o Rochester Online Library. Hiki iā ʻoe ke ʻike iā ia ʻo ia ka mea kākau o ka algorithm Michael-Scott mai "Maʻalahi, wikiwiki, a maʻalahi hoʻi ʻaʻole hoʻopaʻa ʻia a hoʻopaʻa ʻia i nā Algorithms Queue Hoʻokahi".

No ka honua Java, he hihia kūikawā kēia: me Doug Lea, ua hoʻomohala ʻo ia i nā algorithms non-blocking a me nā queues synchronous kahi e hana ai nā hale waihona puke Java. ʻO kēia ka mea e pili ana i ka "Dual data structures" keynote - ka hoʻokomo ʻana o kēia mau hale i Java SE 6 ua hoʻomaikaʻi i ka hana ma 10 mau manawa. java.util.concurrent.ThreadPoolExecutor. Inā ʻoe e noʻonoʻo mua i ke ʻano o kēia mau "Dual data structures", a laila aia ka ʻike e pili ana hana pili.

Maurice Herlihy - Blockchains a me ka wā e hiki mai ana o ka hoʻopili helu ʻana

19 hydra poo. Nānā nui o ka papahana Maurice Herlihy - lanakila ʻelua 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). Hoʻomaopopo ka makana Dijkstra i ka hana i ʻike ʻia kona koʻikoʻi a me ka hopena no ka liʻiliʻi he ʻumi 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 loaʻa iā ia kahi papa inoa lōʻihi o nā hana.

Ma kēia kī kī hope, e kamaʻilio ʻo Maurice e pili ana i ke kumumanaʻo a me ka hoʻomaʻamaʻa ʻana o nā ʻōnaehana puʻupuʻu blockchain mai ka manaʻo o ka poʻe kahiko o ka puʻupuʻu puʻupuʻu a pehea e hoʻomaʻamaʻa ai i nā pilikia pili. He hōʻike wale nō kēia e pili ana i ke kumuhana o ka ʻaha kūkā - ʻaʻole loa e pili ana i ka mining hype, akā e pili ana i ke ʻano o kā mākou ʻike e hiki ke hoʻohana maikaʻi ʻia a kūpono hoʻi e pili ana i nā ʻano hana like ʻole.

I Iulai 2017, ua hele mai ʻo Maurice i Rūsia e hele i ke kula SPTDC, ua komo i ka hui JUG.ru, a hiki ke nānā ʻia ka hoʻopaʻa ʻana ma YouTube:

Papahana nui

A laila e ʻike ʻia kahi pōkole pōkole o nā hōʻike i hoʻokomo ʻia i loko o ka papahana. Ua wehewehe ʻia kekahi o nā hōʻike ma ʻaneʻi, a ʻo nā mea ʻē aʻe he pōkole. ʻO nā wehewehe lōʻihi i hele nui i nā hōʻike ʻōlelo Pelekania e koi ana i nā loulou i nā pepa ʻepekema, nā huaʻōlelo ma Wikipedia, a pēlā aku. Loaʻa ka papa inoa piha ʻike ma ka pūnaewele hālāwai kūkā. E hoʻonui hou ʻia ka papa inoa ma ka pūnaewele.

Leslie Laport - Q & A.

19 hydra poo. Nānā nui o ka papahana ʻO Leslie Lamport ka mea kākau o nā hana seminal i ka hoʻopili helu helu. "LaTeX" kū no "Lamport TeX". ʻO ia ka mea mua, i ka makahiki 1979, i hoʻokomo i ka manaʻo kūlike mau, a me kāna ʻatikala "Pehea e hana ai i kahi kamepiula multiprocessor e hoʻokō pono ana i nā papahana multiprocess" loaa ka makana Dijkstra.

ʻO kēia ka ʻāpana ʻokoʻa loa o ka papahana ma ke ʻano o ke ʻano, no ka mea, ʻaʻole ia he hōʻike, akā he nīnau nīnau a pane. Ke kamaʻāina mua kekahi hapa nui o ka poʻe anaina (a i ʻole hiki ke kamaʻāina) i nā ʻano hana like ʻole e pili ana i ka "Lamport's theory", kāna mau ʻatikala a me nā hōʻike ponoʻī, ʻoi aku ka nui o ka hoʻolilo ʻana i nā manawa āpau ma ke kamaʻilio pololei.

He maʻalahi ka manaʻo - nānā ʻoe i ʻelua hōʻike ma YouTube: "Pono ka papahana ma mua o ka hoʻopili ʻana" и "Inā ʻaʻole ʻoe e kākau i kahi papahana, mai hoʻohana i kahi ʻōlelo papahana" a hoʻomākaukau i hoʻokahi nīnau, a pane mai ʻo Leslie.

ʻO ka mua o kēia mau wikiō ʻelua i loaʻa iā mākou lilo i ʻatikala habro. Inā ʻaʻohe hola o ka manawa e nānā ai i ke wikiō, hiki iā ʻoe ke heluhelu koke iā ia ma ke ʻano kikokikona.

'Ōlelo Aʻo: Nui aʻe nā wikiō Leslie Lamport ma YouTube. Eia kekahi laʻana, aia kahi nui Papa TLA+. Loaʻa kahi mana pahemo o kēia papa holoʻokoʻa ma ʻaoʻao home o ka mea kākau, a ua hoʻouka ʻo ia iā YouTube no ka maʻalahi o ka nānā ʻana ma nā polokalamu kelepona.

Martin Kleppmann - Hoʻopili i ka ʻikepili ma waena o nā mea hoʻohana no ka hui pū ʻana

19 hydra poo. Nānā nui o ka papahana He kanaka noiʻi ʻo Martin Kleppmann ma ke Kulanui o Cambridge e hana ana ma CRDT a me ka hōʻoia ʻokoʻa o nā algorithms. Ka puke a Martin "Ke hoʻolālā ʻana i nā noi noiʻi ʻikepili", i paʻi ʻia i ka makahiki 2017, ua hōʻoia i ka holomua loa a ua hoʻokomo ʻia i nā papa inoa kūʻai maikaʻi loa ma ke kahua o ka mālama ʻana a me ka hana ʻana. ʻO Kevin Scott, CTO ma Microsoft, wahi a kekahi: “Pono kēia puke i mea pono e loaʻa i nā mea ʻenekinia lako polokalamu. He kumu waiwai ʻole kēia e hoʻohui i ke kumumanaʻo a me ka hoʻomaʻamaʻa e kōkua i nā mea hoʻomohala ma ka hoʻolālā ʻana a me ka hoʻokō ʻana i nā ʻōnaehana a me nā ʻōnaehana data. ʻO ka mea nāna i hana iā Kafka a me CTO o Confluent, ʻo Jay Kreps, i ʻōlelo i kekahi mea like.

Ma mua o ka neʻe ʻana i ka noiʻi hoʻonaʻauao, ua hana ʻo Martin i ka ʻoihana a hoʻokumu pū i ʻelua mau hoʻomaka kūleʻa:

  • Rapportive, hoʻolaʻa i ka hōʻike ʻana i ka ʻaoʻao kaiapili o nā pilina mai kāu leka uila, i kūʻai ʻia e LinkedIn ma 2012;
  • E ho'āʻo iā ia, kahi lawelawe no ka hoʻāʻo ʻana i nā pūnaewele ma nā ʻano polokalamu kele pūnaewele, i kūʻai ʻia e RedGate ma 2009.

Ma keʻano laulā, ua hiki iā Martin ke hāʻawi i kekahi kōkua i ka hoʻomohala ʻana i ka computing māhele a me ka ʻoihana.

Ma kēia kamaʻilio ʻana, e kamaʻilio ʻo Martin e pili ana i kahi kumuhana kokoke i kāna noiʻi kula. Ma Google Docs a me nā sofa hoʻoponopono like me nā palapala, "hoʻoponopono hui" pili i kahi hana hoʻopiʻi: aia kēlā me kēia mea hoʻohana i kā lākou kope ponoʻī o ka palapala i kaʻana like, a laila hoʻololi lākou, a hoʻouna ʻia nā hoʻololi a pau ma ka pūnaewele i ke koena o ka nā mea komo. ʻO ka hoʻololi ʻana i nā palapala pahemo ke alakaʻi i ka like ʻole no ka manawa o ka palapala e pili ana i nā mea komo ʻē aʻe, a ʻo ka hoʻonohonoho hou ʻana e pono ai ka hoʻoponopono hakakā. ʻO ia ke kumu o ko lākou ola ʻana Nā ʻano ʻikepili i hoʻopili ʻole ʻia me ka paio ʻole (CRDT), ʻoiaʻiʻo, he mea hou loa, ʻo ke ʻano o ka mea i hoʻokumu ʻia i ka makahiki 2011 wale nō. Kūkākūkā kēia kamaʻilio ʻana i nā mea i hana ʻia mai ia manawa ma ka honua o CRDT, he aha nā holomua hou loa, ke ʻano o ka hana ʻana i nā noi kūloko-mua ma ka laulā a me ka hoʻohana ʻana i kahi waihona puna Automerge i ke 'ano wae.

ʻO ka pule aʻe e hoʻolaha mākou i kahi ninaninau lōʻihi me Martin ma Habré, he mea hoihoi ia.

Pedro Ramalhete - Nā hoʻolālā ʻikepili kali ʻole a me nā kālepa kali ʻole

19 hydra poo. Nānā nui o ka papahana Ke hana nei ʻo Pedro ma Cisco a ua hoʻomohala ʻo ia i nā algorithm parallel no nā makahiki he ʻumi i hala a i ʻole, e komo pū ana me nā mīkini hoʻonohonoho, laka ʻole a kali ʻole i ka ʻikepili a me nā mea āpau āu e noʻonoʻo ai i kēia kumuhana. ʻO kāna mau noiʻi a me ka ʻenekinia i kēia manawa ke nānā aku nei i nā Universal Constructions, Software Transactional Memory, Persistent Memory a me nā ʻenehana like e hiki ai i nā noi kūpono, scalable a me ka hoʻomanawanui hewa. ʻO ia hoʻi ka mea kākau o kahi blog i ʻike nui ʻia ma nā pōʻai haiki Concurrency Freaks.

ʻO ka hapa nui o nā noi multithreaded i kēia manawa ke holo nei ma nā hale ʻikepili like, mai ka hoʻohana ʻana i nā queues memo ma waena o nā mea hana a hiki i nā hale ʻikepili i kuhikuhi ʻia i nā hale kūʻai waiwai kī. Ua hana maikaʻi lākou i ka Java JDK no nā makahiki he nui, a ke hoʻohui lohi nei lākou i C++.

ʻO ke ala maʻalahi loa e hoʻokō ai i kahi hoʻolālā data parallel kahi hoʻokō sequential (hoʻokahi-threaded) kahi e pale ʻia ai nā ala e nā mutexes. Hiki ke loaʻa kēia i kēlā me kēia Iune, akā loaʻa nā pilikia me ka scaling a me ka hana. I ka manawa like, ʻaʻole ʻoi aku ka maikaʻi o ka hoʻopaʻa ʻana o nā ʻikepili i ka laka ʻole a me ka kali ʻole, akā, ʻoi aku ka maikaʻi o ka hana - akā naʻe, pono ko lākou ulu ʻana i ka ʻike hohonu a me ka hoʻololi ʻana i kahi noi kikoʻī. Hoʻokahi laina hewa o ke code ua lawa ia e wāwahi i nā mea a pau.

Pehea e hiki ai iā mākou ke hana i hiki i kahi mea ʻike ʻole ke hoʻolālā a hoʻokō i ia mau ʻano ʻikepili? Ua ʻike ʻia e hiki ke hoʻopaʻa ʻia kekahi algorithm sequential me ka hoʻohana ʻana i kekahi hoʻolālā honua, a i ʻole ka hoʻomanaʻo hoʻomanaʻo. Hoʻokahi mea, hiki iā lākou ke hoʻohaʻahaʻa i ka pale i ke komo ʻana i ka hoʻoponopono ʻana i kēia pilikia. Eia naʻe, alakaʻi maʻamau nā hoʻonā ʻelua i ka hoʻokō pono ʻole. E kamaʻilio ʻo Pedro e pili ana i kā lākou hana ʻana i kēia mau hoʻolālā i ʻoi aku ka maikaʻi a pehea ʻoe e hoʻohana ai iā lākou no kāu algorithms.

Heidi Howard - Hoʻokuʻu i ka ʻae like ʻana

19 hydra poo. Nānā nui o ka papahana ʻO Heidi Howard, e like me Martin, he mea noiʻi ʻōnaehana hoʻolaha ma ke Kulanui o Cambridge. ʻO kāna mau mea kūikawā he kūlike, ka hoʻomanawanui hewa, ka hana a me ka ʻae like ʻana. ʻIke ʻia ʻo ia no kāna hoʻolaha ʻana i ka algorithm Paxos i kapa ʻia Paxos hikiwawe.

ke hoole i ka mea Paxos he ʻohana o nā protocols no ka hoʻoponopono ʻana i ka pilikia o ka ʻae ʻana i loko o kahi pūnaewele o nā kamepiula hilinaʻi ʻole, e pili ana i ka hana a Leslie Lamport. No laila, ke hana nei kekahi o kā mākou mea haʻi'ōlelo i nā pilikia i hoʻopuka mua ʻia e kā mākou mau mea haʻi'ōlelo - a he mea kupanaha kēia.

ʻO ka hiki ke loaʻa ka ʻae ʻana ma waena o nā pūʻali lehulehu-no ka kamaʻilio ʻana, ke koho alakaʻi, ka hoʻopaʻa ʻana, a i ʻole ka hoʻonohonoho ʻana-he pilikia koʻikoʻi i nā ʻōnaehana hoʻolaha hou. ʻO Paxos ke ala nui e hoʻoponopono ai i nā pilikia consensus, a he nui nā noiʻi e holo nei a puni ia e hoʻonui a hoʻonui i ka algorithm no nā pono hana like ʻole.

Ma kēia kamaʻilio ʻana, e nānā hou mākou i ke kumu kumu o Paxos, hoʻomaha i nā koi kumu a hoʻonui i ka algorithm. E ʻike mākou he hoʻokahi wale nō koho ʻo Paxos ma waena o ka nui o nā ala ʻae like ʻole, a ʻo nā mea ʻē aʻe o ka spectrum he mea pono loa no ke kūkulu ʻana i nā ʻōnaehana puʻupuʻu maikaʻi.

Alex Petrov — E hōʻemi i kāu kumukūʻai mālama me ka Transient Replication a me nā Quorums cheap

19 hydra poo. Nānā nui o ka papahana He loea ʻo Alex i ka ʻikepili a me nā ʻōnaehana mālama, a ʻoi aku ka mea nui iā mākou, he committer i loko Cassandra. Ke hana nei ʻo ia ma kahi puke, Database Internals, me O'Reilly.

No nā ʻōnaehana me hoʻopaʻapaʻa hope (ma ka hua'ōlelo Lūkini - "kūpono hope"), ma hope o ka hāʻule ʻana o kahi node a i ʻole ka wehe ʻana i ka pūnaewele, pono ʻoe e hoʻoponopono i kēia pilikia: a i ʻole e hoʻomau i ka hoʻokō ʻana i nā noi, e kaumaha ana i ke kūpaʻa, a i ʻole e hōʻole i ka hoʻokō ʻana iā lākou a hāʻawi i ka loaʻa. I loko o ia ʻōnaehana, nā kōruma, nā ʻāpana ʻāpana o nā node a me ka hōʻoia ʻana i ka liʻiliʻi o hoʻokahi node i ka waiwai hou loa, hiki ke lilo i mea hoʻonā maikaʻi. Hiki iā ʻoe ke ola i nā hemahema a me ka nalowale o ka pili ʻana i kekahi mau nodes ʻoiai e hoʻomau ana i ka pane ʻana me nā waiwai hou loa.

Eia naʻe, aia nā mea a pau i kona kumukūʻai. ʻO ke ʻano o ka hoʻopiʻi ʻana o ke kōrum, ʻo ia ka hoʻonui ʻia ʻana o nā kumukūʻai: pono e mālama ʻia nā ʻikepili ʻokoʻa ma nā node he nui i ka manawa hoʻokahi e hōʻoia i ka nui o nā kope i loaʻa ke loaʻa kahi pilikia. ʻIke ʻia ʻaʻole pono ʻoe e mālama i nā ʻikepili āpau ma nā replicas a pau. Hiki iā ʻoe ke hoʻemi i ka ukana ma ka waiho ʻana inā mālama ʻoe i ka ʻikepili ma kahi hapa o nā nodes, a hoʻohana i nā nodes kūikawā (Transient Replica) no ka mālama ʻana i nā hiʻohiʻona.

I ka wā o ka hōʻike e noʻonoʻo mākou Hōʻike kope, ka papa hana kope i hoʻohana ʻia ma Pākuʻi и hale kūʻai mega, a me ka hoʻokō ʻana i kēia manaʻo ma Apache Cassandra i kapa ʻia Hoʻopiʻi Kūlohelohe a me nā Korum Māmā.

Dmitry Vyukov - Hōʻike ʻia nā Goroutines

19 hydra poo. Nānā nui o ka papahana He mea hoʻomohala ʻo Dmitry ma Google e hana ana i ka hoʻāʻo ikaika no C/C++ a me Go - Address/Memory/ThreadSanitizer, a me nā mea hana like no ka kernel Linux. Hāʻawi ʻia iā Go kahi mea hoʻonohonoho goroutine hiki ke hoʻonui ʻia, kahi poller pūnaewele, a me kahi ʻohi ʻōpala like. He loea ʻo ia i ka multithreading, ka mea kākau o nā kakini hou non-blocking algorithms a ʻo ia ka mea nona Kāʻei ʻeleʻele Intel.

I kēia manawa e pili ana i ka hōʻike ponoʻī. Loaʻa i ka ʻōlelo Go ke kākoʻo maoli no ka multithreading ma ke ʻano o nā goroutine (nā lola māmā) a me nā ala (FiFO queues). He mea maʻalahi a leʻaleʻa kēia mau hana i nā mea hoʻohana e kākau i nā noi multi-threaded hou, a ua like ia me ke kilokilo. E like me kā mākou hoʻomaopopo ʻana, ʻaʻohe kupua ma ʻaneʻi. Ma kēia kamaʻilio ʻana, e komo ʻo Dmitry i nā mea paʻakikī o ka Go scheduler a hōʻike i nā mea huna o ka hoʻokō ʻana i kēia "magic". ʻO ka mea mua, e hāʻawi ʻo ia i kahi ʻike o nā mea nui o ka mea hoʻonohonoho a haʻi iā ʻoe pehea e hana ai. Ma hope aʻe, e nānā pono mākou i nā ʻano like ʻole e like me ka hoʻolālā kaʻa / unparking a me ka mālama ʻana i nā kelepona ʻōnaehana pale. ʻO ka hope, e kamaʻilio liʻiliʻi ʻo Dmitry e pili ana i ka hoʻomaikaʻi ʻana i ka mea hoʻonohonoho.

Dmitry Bugaichenko - ʻO ka wikiwiki ʻana i ka nānā ʻana i ka pakuhi me nā sketches probabilistic a me nā mea hou aku

19 hydra poo. Nānā nui o ka papahana Ua hana ʻo Dmitry i ka outsourcing no ka aneane 9 mau makahiki me ka nalowale ʻole o ka pilina me ke kulanui a me ke kaiāulu ʻepekema. ʻO kaʻikepiliʻikepili nui ma Odnoklassniki i lilo iā ia i manawa kūʻokoʻa e hoʻohui i ka hoʻomaʻamaʻa theoretical a me ke kahua ʻepekema me ka hoʻomohala ʻana i nā huahana maoli.

He hana paʻakikī ka hoʻokaʻawale ʻana i ka pakuhi: i ka wā e pono ai ka loaʻa ʻana o ka ʻike e pili ana i nā pilina o kahi vertex e pili ana, pono e hoʻoili pinepine ʻia ka ʻikepili ma waena o nā mīkini, kahi e hoʻonui ai i ka manawa hoʻokō a me ka hoʻouka ʻana i ka ʻoihana pūnaewele. Ma kēia kamaʻilio ʻana, e ʻike mākou pehea e hiki ai iā ʻoe ke loaʻa ka wikiwiki o ka hoʻoili ʻana ma o ka hoʻohana ʻana i nā hoʻolālā ʻikepili probabilistic a i ʻole nā ​​ʻoiaʻiʻo e like me ka symmetry o ka pakuhi hoaloha ma kahi ʻoihana pūnaewele. Hōʻike ʻia kēia mau mea āpau me nā hiʻohiʻona code ma Apache Spark.

Denis Rystsov - E hōʻemi i kāu kumukūʻai mālama me ka Transient Replication a me nā Quorums cheap

19 hydra poo. Nānā nui o ka papahana Denis - mea hoʻomohala ʻO Kosmos DB, he loea i ka nānā ʻana i nā hiʻohiʻona kūlike, nā algorithm consensus, a me nā kālepa puʻupuʻu. Ke hana nei ʻo ia ma Microsoft, a ma mua o ia hana ʻo ia i nā ʻōnaehana puʻupuʻu ma Amazon a me Yandex.

Ma kēia kamaʻilio ʻana, e nānā mākou i nā kaʻina hana i hoʻokaʻawale ʻia i hana ʻia i nā makahiki i hala iho nei, hiki ke hoʻokō ʻia ma ka ʻaoʻao o ka mea kūʻai aku ma luna o kekahi hale kūʻai ʻikepili e kākoʻo ana i ka hoʻoponopono kūlana (hoʻohālikelike a hoʻonohonoho). ʻO ka laina lalo, ʻaʻole i pau ke ola me kahi hana ʻelua-phase, hiki ke hoʻohui ʻia nā hana ma luna o nā waihona - ma ka pae noi, akā ʻo nā protocols ʻokoʻa (2PC, Percolator, RAMP) he mau kālepa ʻokoʻa a ʻaʻole hāʻawi ʻia iā mākou. no ka manuahi.

Alexey Zinoviev - ʻAʻole nā ​​ML algorithm a pau e hoʻokaʻawale i ka lani

19 hydra poo. Nānā nui o ka papahana Alexei (zaleslaw) he ʻōlelo lōʻihi a he lālā o nā komite papahana ma nā ʻaha kūkā ʻē aʻe. Hoʻomaʻamaʻa i ka mea hoʻomaʻamaʻa ma EPAM Systems, a ua hoa aloha ʻo ia me Hadoop/Spark a me nā ʻikepili nui ʻē aʻe mai 2012.

Ma kēia kamaʻilio ʻana, e kamaʻilio ʻo Alexey e pili ana i nā pilikia o ka hoʻololi ʻana i nā algorithm aʻo mīkini maʻamau no ka hoʻokō ʻana ma ke ʻano puʻupuʻu e pili ana i kāna ʻike hana me Apache Spark ML, Apache Mahout, Apache Flink ML a me ka ʻike o ka hana ʻana i ka Apache Ignite ML. E kamaʻilio pū ʻo Alexey e pili ana i ka hoʻokō ʻana i nā algorithms ML i hāʻawi ʻia i kēia mau ʻano.

A ʻo ka hope, ʻelua mau hōʻike mai Yandex e pili ana i ka Yandex Database.

Vladislav Kuznetsov - Yandex Database - pehea mākou e hōʻoia ai i ka hoʻomanawanui hewa

19 hydra poo. Nānā nui o ka papahana He mea hoʻomohala ʻo Vladislav ma Yandex i ka pūʻulu platform i hoʻolaha ʻia. ʻO Yandex Database kahi DBMS hiki ke hoʻopaʻa ʻia, hoʻokaʻawale ʻia, hoʻomanawanui hewa i hiki ke kū i ka hemahema o nā disks, servers, racks and data centers me ka ʻole o ka nalowale ʻana. No ka hōʻoia ʻana i ka hoʻomanawanui hewa, hoʻohana ʻia kahi algorithm proprietary no ka hoʻokō ʻana i ka manaʻo like ʻole, a me kekahi mau ʻenehana loea, i kūkākūkā ʻia i loko o ka hōʻike. He mea hoihoi paha ka hōʻike i nā mea hoʻomohala DBMS a me nā mea hoʻomohala o nā hoʻonā noi ma muli o DBMS.

Semyon Checherinda - Hoʻokaʻawale ʻia nā kālepa ma YDB

19 hydra poo. Nānā nui o ka papahana He mea hoʻomohala ʻo Semyon i ka pūʻulu platform i hāʻawi ʻia ma Yandex, e hana ana i ka hiki ke hoʻohana ʻia nā mea hoʻolimalima he nui o ka hoʻonohonoho YDB.

Hoʻolālā ʻia ʻo Yandex Database no nā nīnau OLTP a hoʻokō i nā koi ACID no kahi ʻōnaehana transactional. Ma kēia hōʻike, e noʻonoʻo mākou i ka algorithm scheduling transaction i lalo o ka ʻōnaehana kālepa YDB. E nānā i nā hui e komo i nā kālepa, nāna e hāʻawi i ka hoʻonohonoho honua i nā kālepa, pehea e hoʻokō ʻia ai ka atomicity kālepa, hilinaʻi, a me kahi pae koʻikoʻi o ke kaʻawale. Ke hoʻohana nei i kahi pilikia maʻamau ma ke ʻano he laʻana, e nānā i nā hoʻokō kālepa me ka hoʻohana ʻana i nā hana ʻelua-phase a me nā hana hoʻoholo. E kūkākūkā kākou i ko lākou ʻokoʻa.

He aha ka mea e hiki mai ana?

Ke hoʻomau nei ka hoʻopiha ʻana o ka papahana ʻaha kūkā me nā hōʻike hou. ʻO ka mea nui, manaʻo mākou i kahi hōʻike mai Nikita Koval (ndkoval) mai JetBrains a Oleg Anastasyev (m0nstermind) mai ka hui Odnoklassniki. Hana ʻo Nikita ma nā algorithms no nā coroutines i ka hui Kotlin, a hoʻomohala ʻo Oleg i ka hoʻolālā a me nā hoʻonā no nā ʻōnaehana kiʻekiʻe i ka paepae Odnoklassniki. Eia kekahi, aia he 1 wahi hakahaka hou aku, ke hana nei ke komite papahana me na moho i keia manawa.

E mālamaʻia kaʻaha kūkā Hydra ma Iulai 11-12 ma St. Loaʻa nā tiketi kūʻai ma ka pūnaewele official. E ʻoluʻolu e nānā i ka loaʻa ʻana o nā tiketi Online - inā no kekahi kumu ʻaʻole hiki iā ʻoe ke hele i St. Petersburg i kēia mau lā.

E ʻike iā ʻoe ma Hydra!

Source: www.habr.com

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