19 Π³ΠΎΠ»ΠΎΠ² Π³ΠΈΠ΄Ρ€Ρ‹. Π‘ΠΎΠ»ΡŒΡˆΠΎΠΉ ΠΎΠ±Π·ΠΎΡ€ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

11-12 июля Π² Π‘Π°Π½ΠΊΡ‚-ΠŸΠ΅Ρ‚Π΅Ρ€Π±ΡƒΡ€Π³Π΅ состоится конфСрСнция Hydra, посвящСнная Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΈ распрСдСлСнных систСм. Ѐишка Π“ΠΈΠ΄Ρ€Ρ‹ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ ΠΊΡ€ΡƒΡ‚Ρ‹Ρ… ΡƒΡ‡Ρ‘Π½Ρ‹Ρ… (ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° Π·Π°Ρ€ΡƒΠ±Π΅ΠΆΠ½Ρ‹Ρ… Π½Π°ΡƒΡ‡Π½Ρ‹Ρ… конфСрСнциях) ΠΈ извСстных ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΡƒΡŽΡ‰ΠΈΡ… ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΎΠ², Π² ΠΎΠ΄Π½Ρƒ Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° стыкС Π½Π°ΡƒΠΊΠΈ ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ.

Hydra β€” ΠΎΠ΄Π½Π° ΠΈΠ· самых Π²Π°ΠΆΠ½Ρ‹Ρ… Π½Π°ΡˆΠΈΡ… ΠΊΠΎΠ½Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠΉ Π·Π° послСдниС нСсколько Π»Π΅Ρ‚. Π•ΠΉ ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²ΠΎΠ²Π°Π»Π° ΠΎΡ‡Π΅Π½ΡŒ ΡΠ΅Ρ€ΡŒΡ‘Π·Π½Π°Ρ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ°, ΠΎΡ‚Π±ΠΎΡ€ спикСров ΠΈ Π΄ΠΎΠΊΠ»Π°Π΄ΠΎΠ². На ΠΏΡ€ΠΎΡˆΠ»ΠΎΠΉ Π½Π΅Π΄Π΅Π»Π΅ ΠΎΠ± этом Π²Ρ‹ΡˆΠ»ΠΎ Ρ…Π°Π±Ρ€ΠΎΠΈΠ½Ρ‚Π΅Ρ€Π²ΡŒΡŽ с Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠΌ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ JUG.ru Group, АлСксССм Π€Π΅Π΄ΠΎΡ€ΠΎΠ²Ρ‹ΠΌ (23derevo).

ΠœΡ‹ ΡƒΠΆΠ΅ рассказывали ΠΎ Ρ‚Ρ€Ρ‘Ρ… Π²Π°ΠΆΠ½Ρ‹Ρ… участниках, основополоТниках Ρ‚Π΅ΠΎΡ€ΠΈΠΈ распрСдСлСнных систСм β€” ЛСсли ЛэмпортС, ΠœΠΎΡ€ΠΈΡΠ΅ Π₯Π΅Ρ€Π»ΠΈΡ…ΠΈ ΠΈ МайклС Π‘ΠΊΠΎΡ‚Ρ‚Π΅. Настало врСмя Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ ΠΎ всСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅!

19 Π³ΠΎΠ»ΠΎΠ² Π³ΠΈΠ΄Ρ€Ρ‹. Π‘ΠΎΠ»ΡŒΡˆΠΎΠΉ ΠΎΠ±Π·ΠΎΡ€ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

ΠœΠΎΡ‚ΠΈΠ²Π°Ρ†ΠΈΡ

Если Π²Ρ‹ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚Π΅ΡΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ, Ρ‚ΠΎ Ρ‚Π°ΠΊ ΠΈΠ»ΠΈ ΠΈΠ½Π°Ρ‡Π΅ ΠΈΠΌΠ΅Π΅Ρ‚Π΅ Π΄Π΅Π»ΠΎ с ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ ΠΈ распрСдСлСнными вычислСниями. БпСциалисты Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… областях Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ с Π½ΠΈΠΌΠΈ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ, Π½ΠΎ нСявно Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΡΡ‚ΡŒ смотрит Π½Π° нас ΠΎΡ‚ΠΎΠ²ΡΡŽΠ΄Ρƒ: Π² любом многоядСрном ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ ΠΈΠ»ΠΈ распрСдСлСнном сСрвисС найдётся Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ, ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰Π΅Π΅ вычислСния.

БущСствуСт мноТСство ΠΊΠΎΠ½Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠΉ, Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ… Ρ‚Π΅ ΠΈΠ»ΠΈ ΠΈΠ½Ρ‹Π΅ аспСкты ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠ³ΠΎ программирования. На Π΄Ρ€ΡƒΠ³ΠΎΠΉ сторонС спСктра Ρƒ нас ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Π½Π°ΡƒΡ‡Π½Ρ‹Π΅ ΡˆΠΊΠΎΠ»Ρ‹, Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ Π»Π΅ΠΊΡ†ΠΈΠΉ Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΌΡ‹ слоТной Ρ‚Π΅ΠΎΡ€ΠΈΠΈ. НапримСр, ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ с Hydra Π² ΠŸΠΈΡ‚Π΅Ρ€Π΅ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ школа SPTDC. На ΠΊΠΎΠ½Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠΈ Hydra ΠΌΡ‹ ΠΏΠΎΡΡ‚Π°Ρ€Π°Π»ΠΈΡΡŒ свСсти вмСстС ΠΈ ΡΡƒΡ€ΠΎΠ²ΡƒΡŽ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΡƒ, ΠΈ Π½Π°ΡƒΠΊΡƒ, ΠΈ всё, Ρ‡Ρ‚ΠΎ Π½Π° ΠΈΡ… стыкС.

Π—Π°Π΄ΡƒΠΌΠ°ΠΉΡ‚Π΅ΡΡŒ Π²ΠΎΡ‚ Π½Π°Π΄ Ρ‡Π΅ΠΌ: ΠΌΡ‹ ΠΆΠΈΠ²Ρ‘ΠΌ Π² ΡƒΠ΄ΠΈΠ²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ врСмя, ΠΊΠΎΠ³Π΄Π° ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΆΠΈΠ²ΡƒΡŽ Π²ΡΡ‚Ρ€Π΅Ρ‚ΠΈΡ‚ΡŒ основатСлСй Ρ‚ΠΎΠΉ области Π½Π°ΡƒΠΊΠΈ ΠΈ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΌΡ‹ занимаСмся. Π€ΠΈΠ·ΠΈΠΊΠΈ Π½Π΅ встрСтят Π½ΠΈ ΠΡŒΡŽΡ‚ΠΎΠ½Π°, Π½ΠΈ Π­ΠΉΠ½ΡˆΡ‚Π΅ΠΉΠ½Π° β€” ΠΏΠΎΠ΅Π·Π΄ ΡƒΡˆΡ‘Π». Но рядом с Π½Π°ΠΌΠΈ всё Π΅Ρ‰Ρ‘ ΠΆΠΈΠ²ΡƒΡ‚ Ρ‚Π΅, ΠΊΡ‚ΠΎ создал основы Ρ‚Π΅ΠΎΡ€ΠΈΠΈ распрСдСлённых систСм, ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Π» популярныС языки программирования, Π²ΠΏΠ΅Ρ€Π²Ρ‹Π΅ Π²ΠΎΠΏΠ»ΠΎΡ‚ΠΈΠ» всё это Π² Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΡ‹. Π­Ρ‚ΠΈ люди Π½Π΅ бросили свою Ρ€Π°Π±ΠΎΡ‚Ρƒ Π½Π° ΠΏΠΎΠ»ΠΏΡƒΡ‚ΠΈ, прямо сСйчас Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‚ΡΡ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Π·Π°Π΄Π°Ρ‡Π°ΠΌΠΈ Π²ΠΎ всСмирно извСстных унивСрситСтах ΠΈ компаниях, ΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π²Π΅Π»ΠΈΡ‡Π°ΠΉΡˆΠΈΠΌΠΈ источниками Π·Π½Π°Π½ΠΈΠΉ ΠΈ ΠΎΠΏΡ‹Ρ‚Π° Π½Π° сСгодняшний дСнь.

Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²ΡΡ‚Ρ€Π΅Ρ‚ΠΈΡ‚ΡŒΡΡ с Π½ΠΈΠΌΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ остаётся чисто тСорСтичСской: ΠΌΠ°Π»ΠΎ ΠΊΡ‚ΠΎ ΠΈΠ· нас ΠΌΠΎΠΆΠ΅Ρ‚ постоянно ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΡ‚ΡŒ ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹Π΅ события Π² ΠΊΠ°ΠΊΠΎΠΌ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ РочСстСрском унивСрситСтС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΡ‚ΠΎΠΌ ΠΌΠ΅Ρ‚Π½ΡƒΡ‚ΡŒΡΡ Π² БША ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π½Π° Π»Π΅ΠΊΡ†ΠΈΡŽ ΠΊ ΠœΠ°ΠΉΠΊΠ»Ρƒ Π‘ΠΊΠΎΡ‚Ρ‚Ρƒ. ΠŸΠΎΡΠ΅Ρ‚ΠΈΡ‚ΡŒ Π²ΠΎΠΎΠ±Ρ‰Π΅ всСх участников Hydra Π²Ρ‹ΡˆΠ»ΠΎ Π±Ρ‹ Π² нСбольшоС состояниС, Π½Π΅ считая Π±Π΅Π·Π΄Π½Ρ‹ ΠΏΠΎΡ‚Ρ€Π°Ρ‡Π΅Π½Π½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ (хотя это Π·Π²ΡƒΡ‡ΠΈΡ‚ ΠΊΠ°ΠΊ интСрСсный квСст).

Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, Ρƒ нас Π΅ΡΡ‚ΡŒ мноТСство Ρ‚ΠΎΠΏΠΎΠ²Ρ‹Ρ… ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ прямо сСйчас Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π½Π°Π΄ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ распрСдСлённых систСм, ΠΈ ΠΈΠΌ Ρ‚ΠΎΡ‡Π½ΠΎ Π΅ΡΡ‚ΡŒ Ρ‡Ρ‚ΠΎ Ρ€Π°ΡΡΠΊΠ°Π·Π°Ρ‚ΡŒ. Но Π²ΠΎΡ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° β€” ΠΎΠ½ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚, ΠΈ ΠΈΡ… врСмя Π΄ΠΎΡ€ΠΎΠ³ΠΎ. Π”Π°, Ссли Ρ‚Ρ‹ сотрудник Microsoft, Google ΠΈΠ»ΠΈ JetBrains, Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ Π²ΡΡ‚Ρ€Π΅Ρ‚ΠΈΡ‚ΡŒ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· извСстных спикСров Π½Π° Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΌ мСроприятии β€” Ρ€Π΅Π·ΠΊΠΎ возрастаСт, Π° Π²ΠΎΠΎΠ±Ρ‰Π΅ β€” Π½Π΅Ρ‚, Π½Π΅ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ дСнь это Π±Ρ‹Π²Π°Π΅Ρ‚.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ конфСрСнция Hydra выполняСт Π²Π°ΠΆΠ½ΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΈΠ· нас Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ сами β€” Π² ΠΎΠ΄Π½ΠΎΠΌ мСстС ΠΈ Π² ΠΎΠ΄Π½ΠΎ врСмя ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ людСй, ΠΈΠ΄Π΅ΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΠ»ΠΈ ΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π²Π°ΡˆΡƒ Тизнь. Π”ΠΎΠΏΡƒΡΠΊΠ°ΡŽ, Ρ‡Ρ‚ΠΎ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Π½Π΅ всСм Π½ΡƒΠΆΠ½Ρ‹ распрСдСлённыС систСмы, ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ слоТныС Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Π²Π΅Ρ‰ΠΈ. МоТно Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π° ΠΆΠΈΠ·Π½ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ CRUD-Ρ‹ Π½Π° PHP ΠΈ ΠΎΡΡ‚Π°Π²Π°Ρ‚ΡŒΡΡ Π²ΠΏΠΎΠ»Π½Π΅ счастливым. Но ΠΊΠΎΠΌΡƒ Π½ΡƒΠΆΠ½Ρ‹ β€” это ваш шанс.

Π‘ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ анонса ΠΊΠΎΠ½Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠΈ Hydra Π½Π° Π₯Π°Π±Ρ€Π΅ ΠΏΡ€ΠΎΡˆΠ»ΠΎ ΡƒΠΆΠ΅ довольно ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Π—Π° это врСмя, ΠΏΡ€ΠΎΠ΄Π΅Π»Π°Π½Π° огромная Ρ€Π°Π±ΠΎΡ‚Π° β€” ΠΈ Π²ΠΎΡ‚, Ρƒ нас Π΅ΡΡ‚ΡŒ список ΠΏΠΎΡ‡Ρ‚ΠΈ всСх Π΄ΠΎΠΊΠ»Π°Π΄ΠΎΠ². Никаких Π²ΡΠ»Π΅Π½ΡŒΠΊΠΈΡ… ΠΎΠ΄Π½ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½Ρ‹Ρ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ², Ρ‚ΠΎΠ»ΡŒΠΊΠΎ чистый распрСдСлённый Ρ…Π°Ρ€Π΄ΠΊΠΎΡ€! Π”Π°Π²Π°ΠΉΡ‚Π΅ Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ с ΠΎΠ±Ρ‰ΠΈΠΌΠΈ словами, ΠΈ посмотрим, Ρ‡Ρ‚ΠΎ Ρƒ нас Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π° Ρ€ΡƒΠΊΠ°Ρ….

ΠšΠ΅ΠΉΠ½ΠΎΡƒΡ‚Ρ‹

ΠšΠ΅ΠΉΠ½ΠΎΡƒΡ‚Ρ‹ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ ΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠ°ΡŽΡ‚ Π΄Π½ΠΈ ΠΊΠΎΠ½Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠΈ. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ смысл ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ ΠΊΠ΅ΠΉΠ½ΠΎΡƒΡ‚Π° β€” Π·Π°Π΄Π°Ρ‚ΡŒ ΠΎΠ±Ρ‰ΠΈΠΉ Π΄ΡƒΡ… ΠΈ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠΈ. Π—Π°ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ ΠΊΠ΅ΠΉΠ½ΠΎΡƒΡ‚ ΠΏΠΎΠ΄Π²ΠΎΠ΄ΠΈΡ‚ Ρ‡Π΅Ρ€Ρ‚Ρƒ ΠΈ ΠΎΠ±ΡŠΡΡΠ½ΡΠ΅Ρ‚, ΠΊΠ°ΠΊ Π½Π°ΠΌ ΠΆΠΈΡ‚ΡŒ с ΠΏΡ€ΠΈΠΎΠ±Ρ€Π΅Ρ‚Ρ‘Π½Π½Ρ‹ΠΌΠΈ Π² Π΄Π½ΠΈ ΠΊΠΎΠ½Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠΈ знаниями ΠΈ Π½Π°Π²Ρ‹ΠΊΠ°ΠΌΠΈ. Начало ΠΈ ΠΊΠΎΠ½Π΅Ρ†: Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ запомнится Π»ΡƒΡ‡ΡˆΠ΅ всСго, ΠΈ Π²ΠΎΠΎΠ±Ρ‰Π΅, ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

Cliff Click β€” The H2O distributed K/V algorithm

19 Π³ΠΎΠ»ΠΎΠ² Π³ΠΈΠ΄Ρ€Ρ‹. Π‘ΠΎΠ»ΡŒΡˆΠΎΠΉ ΠΎΠ±Π·ΠΎΡ€ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠšΠ»ΠΈΡ„Ρ„ β€” Π»Π΅Π³Π΅Π½Π΄Π° Java-ΠΌΠΈΡ€Π°. Π’ ΠΊΠΎΠ½Ρ†Π΅ 90-Ρ… Π³ΠΎΠ΄ΠΎΠ² для PhD-тСзиса ΠΎΠ½ написал Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Β«Combining Analyses, Combining OptimizationsΒ», которая Ρ‡Π΅Ρ€Π΅Π· Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ врСмя стала основой для HotSpot JVM Server Compiler. Π§Π΅Ρ€Π΅Π· Π΄Π²Π° Π³ΠΎΠ΄Π° ΠΎΠ½ ΡƒΠΆΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Π» Π² Sun Microsystems Π½Π°Π΄ JVM ΠΈ ΠΏΠΎΠΊΠ°Π·Π°Π» всСму ΠΌΠΈΡ€Ρƒ, Ρ‡Ρ‚ΠΎ JIT ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΡ€Π°Π²ΠΎ Π½Π° сущСствованиС. Вся эта история ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Java β€” ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π±Ρ‹ΡΡ‚Ρ€Π΅ΠΉΡˆΠΈΡ… соврСмСнных Ρ€Π°Π½Ρ‚Π°ΠΉΠΌΠΎΠ² с самыми ΡƒΠΌΠ½Ρ‹ΠΌΠΈ ΠΈ быстрыми оптимизациями пошла ΠΈΠΌΠ΅Π½Π½ΠΎ с ΠšΠ»ΠΈΡ„Ρ„Π° Клика. Π’ самом Π½Π°Ρ‡Π°Π»Π΅ ΡΡ‡ΠΈΡ‚Π°Π»ΠΎΡΡŒ, Ρ‡Ρ‚ΠΎ, Ссли Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ доступно статичСскому компилятору β€” это ΠΌΠΎΠΆΠ½ΠΎ Π΄Π°ΠΆΠ΅ Π½Π΅ ΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ Π΄ΠΆΠΈΡ‚ΠΈΡ‚ΡŒ. Благодаря Ρ€Π°Π±ΠΎΡ‚Π°ΠΌ ΠšΠ»ΠΈΡ„Ρ„Π° ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, всС Π½ΠΎΠ²Ρ‹Π΅ языки Π½Π°Ρ‡Π°Π»ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒΡΡ с ΠΈΠ΄Π΅Π΅ΠΉ ΠΎ JIT-компиляции ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. БСзусловно, это Π±Ρ‹Π»Π° Ρ€Π°Π±ΠΎΡ‚Π° Π½Π΅ для ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ°, Π½ΠΎ ΠšΠ»ΠΈΡ„Ρ„ сыграл Π² Π½Π΅ΠΉ ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½ΡƒΡŽ Ρ€ΠΎΠ»ΡŒ.

Π’ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΌ ΠΊΠ΅ΠΉΠ½ΠΎΡƒΡ‚Π΅ ΠšΠ»ΠΈΡ„Ρ„ расскаТСт ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠΌ своём Π½Π°Ρ‡ΠΈΠ½Π°Π½ΠΈΠΈ β€” H20, in-memory ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ для распрСдСлённого ΠΈ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ машинного обучСния для ΠΏΡ€ΠΎΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΎΠ³ΠΎ примСнСния. А Ρ‚ΠΎΡ‡Π½Π΅ΠΉ β€” ΠΎ распрСдСлённом Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ ΠΏΠ°Ρ€ Β«ΠΊΠ»ΡŽΡ‡-Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅Β» Π²Π½ΡƒΡ‚Ρ€ΠΈ Π½Π΅Ρ‘. Π­Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ быстроС Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ с массой интСрСсных свойств (Ρ‚ΠΎΡ‡Π½Ρ‹ΠΉ список Π΅ΡΡ‚ΡŒ Π² описании), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π² ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ΅ стриминга Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ….

Π•Ρ‰Ρ‘ ΠΎΠ΄ΠΈΠ½ Π΄ΠΎΠΊΠ»Π°Π΄, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ выступит ΠšΠ»ΠΈΡ„Ρ„ β€” The Azul Hardware Transactional Memory experience. Другая Ρ‡Π°ΡΡ‚ΡŒ Π΅Π³ΠΎ Π±ΠΈΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ β€” Π΄Π΅ΡΡΡ‚ΡŒ Π»Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² Azul, Π³Π΄Π΅ ΠΎΠ½ ΠΎΠ±Π½ΠΎΠ²ΠΈΠ» ΠΈ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΠ» ΠΌΠ½ΠΎΠ³ΠΎ всСго Π² ΠΆΠ΅Π»Π΅Π·Π΅ ΠΈ стСкС Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ Azul: JIT-компиляторы, Ρ€Π°Π½Ρ‚Π°ΠΉΠΌ, Ρ‚Ρ€Π΅Π΄ΠΎΠ²ΡƒΡŽ модСль, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ошибок, Ρ€Π°Π±ΠΎΡ‚Ρƒ со стСком, Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Π΅ прСрывания, Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ классов ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅ ΠΈ Ρ‚ΠΎΠΌΡƒ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅ β€” Π½Ρƒ, Π²Ρ‹ поняли.

Бамая интСрСсная Ρ‡Π°ΡΡ‚ΡŒ Π½Π°Ρ‡Π°Π»Π°ΡΡŒ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ сдСлали ΠΆΠ΅Π»Π΅Π·ΠΎ для большого бизнСса β€” ΡΡƒΠΏΠ΅Ρ€ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ для запуска Java. Π­Ρ‚ΠΎ Π±Ρ‹Π»Π° довольно инновационная ΡˆΡ‚ΡƒΠΊΠ°, заточСнная ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎΠ΄ Java, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π΅ΡΡ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ трСбования β€” Π±Π°Ρ€ΡŒΠ΅Ρ€Ρ‹ памяти Π½Π° Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ для Π½ΠΈΠ·ΠΊΠΎΠΏΠ°ΡƒΠ·Π½ΠΎΠΉ сборки мусора, массивы с ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΎΠΉ Π³Ρ€Π°Π½ΠΈΡ†, Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ вызовы… Одна ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΊΡ€ΡƒΡ‚Ρ‹Ρ… Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ β€” аппаратная транзакционная ΠΏΠ°ΠΌΡΡ‚ΡŒ. Π’Π΅ΡΡŒ L1 любого ΠΈΠ· 864 ядСр ΠΌΠΎΠ³ ΡƒΡ‡Π°ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π² Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΎΠ½Π½ΠΎΠΉ записи, Ρ‡Ρ‚ΠΎ особСнно Π²Π°ΠΆΠ½ΠΎ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ°ΠΌΠΈ Π² Java (synchronized-Π±Π»ΠΎΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ, Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π½Π΅Ρ‚ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π° ΠΏΠΎ памяти). Но красивая идСя Ρ€Π°Π·Π±ΠΈΠ»Π°ΡΡŒ ΠΎ ΡΡƒΡ€ΠΎΠ²ΡƒΡŽ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ β€” ΠΈ Π² этом Π΄ΠΎΠΊΠ»Π°Π΄Π΅ ΠšΠ»ΠΈΡ„Ρ„ расскаТСт, ΠΏΠΎΡ‡Π΅ΠΌΡƒ HTM ΠΈ STM Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΎ подходят для практичСских Π½ΡƒΠΆΠ΄ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½Ρ‹Ρ… вычислСний.

Michael Scott β€” Dual data structures

19 Π³ΠΎΠ»ΠΎΠ² Π³ΠΈΠ΄Ρ€Ρ‹. Π‘ΠΎΠ»ΡŒΡˆΠΎΠΉ ΠΎΠ±Π·ΠΎΡ€ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Майкл Π‘ΠΊΠΎΡ‚Ρ‚ β€” профСссор Computer Science Π² РочСстСрском унивСрситСтС, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΡΡƒΠ΄ΡŒΠ±Π° связала Π΅Π³ΠΎ ΡƒΠΆΠ΅ Π½Π° 34 Π³ΠΎΠ΄Π°, Π° Π² Ρ€ΠΎΠ΄Π½ΠΎΠΌ унивСрститСтС Wisconsin–Madison, Π±Ρ‹Π» Π΄Π΅ΠΊΠ°Π½ΠΎΠΌ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ пяти Π»Π΅Ρ‚. Он занимаСтся исслСдованиям Π² области ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΈ распрСдСлённого программирования ΠΈ Π΄ΠΈΠ·Π°ΠΉΠ½Π° языков ΠΈ ΠΎΠ±ΡƒΡ‡Π°Π΅Ρ‚ этому студСнтов.

Π’Π΅ΡΡŒ ΠΌΠΈΡ€ Π·Π½Π°Π΅Ρ‚ Майкла благодаря ΡƒΡ‡Π΅Π±Π½ΠΈΠΊΡƒ Β«Programming Language PragmaticsΒ», послСднСС ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π²Ρ‹ΡˆΠ»ΠΎ ΡΡ€Π°Π²Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π΅Π΄Π°Π²Π½ΠΎ β€” Π² 2015 Π³ΠΎΠ΄Ρƒ. Π•Π³ΠΎ Ρ€Π°Π±ΠΎΡ‚Π° Β«Algorithms for scalable synchronization on shared-memory multiprocessorsΒ» ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»Π° ΠΏΡ€Π΅ΠΌΠΈΡŽ ДСйкстры ΠΊΠ°ΠΊ ΠΎΠ΄Π½Π° ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ извСстных Π² области распрСдСлённых вычислСний ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎ Π»Π΅ΠΆΠΈΡ‚ Π² ΠΎΠ½Π»Π°ΠΉΠ½-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ РочСстСрского УнивСрситСта. Π’Π°ΠΊΠΆΠ΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π½Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΊΠ°ΠΊ Π°Π²Ρ‚ΠΎΡ€Π° Ρ‚ΠΎΠ³ΠΎ самого Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Майкла-Π‘ΠΊΠΎΡ‚Ρ‚Π° ΠΈΠ· Β«Simple, Fast, and Practical Non-Blocking and Blocking Concurrent Queue AlgorithmsΒ».

Π§Ρ‚ΠΎ касаСтся Java-ΠΌΠΈΡ€Π°, Ρ‚ΠΎ Ρ‚ΡƒΡ‚ случай особый: вмСстС с Doug Lea ΠΎΠ½ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π» Ρ‚Π΅ Π½Π΅Π±Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ ΠΈ синхронныС ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Java. ИмСнно ΠΎΠ± этом ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ ΠΊΠ΅ΠΉΠ½ΠΎΡƒΡ‚ Β«Dual data structuresΒ» β€” Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ этих структур Π² Java SE 6 ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΎ Π² 10 Ρ€Π°Π· ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ java.util.concurrent.ThreadPoolExecutor. Если Π²Π°ΠΌ Π·Π°Ρ€Π°Π½Π΅Π΅ интСрСсно, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ эти самыС Β«Dual data structuresΒ», Ρ‚ΠΎ ΠΏΡ€ΠΎ это Π΅ΡΡ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π°Ρ Ρ€Π°Π±ΠΎΡ‚Π°.

Maurice Herlihy β€” Blockchains and the future of distributed computing

19 Π³ΠΎΠ»ΠΎΠ² Π³ΠΈΠ΄Ρ€Ρ‹. Π‘ΠΎΠ»ΡŒΡˆΠΎΠΉ ΠΎΠ±Π·ΠΎΡ€ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠœΠΎΡ€ΠΈΡ Π₯Π΅Ρ€Π»ΠΈΡ…ΠΈ β€” ΠΎΠ±Π»Π°Π΄Π°Ρ‚Π΅Π»ΡŒ Ρ†Π΅Π»Ρ‹Ρ… Π΄Π²ΡƒΡ… ΠΏΡ€Π΅ΠΌΠΈΠΉ ДСйкстры. ΠŸΠ΅Ρ€Π²Π°Ρ β€” Π·Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΏΠΎ Β«Wait-Free SynchronizationΒ» (Brown University), ΠΈ вторая, Π±ΠΎΠ»Π΅Π΅ свСТая β€” Β«Transactional Memory: Architectural Support for Lock-Free Data StructuresΒ» (Virginia Tech University). ΠŸΡ€Π΅ΠΌΠΈΡŽ ДСйкстры Π΄Π°ΡŽΡ‚ Π·Π° Ρ€Π°Π±ΠΎΡ‚Ρ‹, Π·Π½Π°Ρ‡ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΈ влияниС ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π±Ρ‹Π»ΠΈ Π·Π°ΠΌΠ΅Ρ‚Π½Ρ‹ Π½Π° протяТСнии Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ дСсяти Π»Π΅Ρ‚, ΠΈ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, ΠœΠΎΡ€ΠΈΡ β€” ΠΎΠ΄ΠΈΠ½ ΠΈΠ· самых извСстных спСциалистов Π² области. Π’ Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΎΠ½ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ профСссором Π² Брауновском унивСрситСтС ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ мноТСство достиТСний Π½Π° Ρ†Π΅Π»Ρ‹ΠΉ Π°Π±Π·Π°Ρ† Π΄Π»ΠΈΠ½ΠΎΠΉ.

На этом Π·Π°ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΌ ΠΊΠ΅ΠΉΠ½ΠΎΡƒΡ‚Π΅ ΠœΠΎΡ€ΠΈΡ расскаТСт ΠΎ Ρ‚Π΅ΠΎΡ€ΠΈΠΈ ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½ΠΎΠ²Ρ‹Ρ… распрСдСлённых систСм с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния классики распрСдСлённых вычислСний ΠΈ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ это ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ мноТСство связанных ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ. Π­Ρ‚ΠΎ Π΄ΠΎΠΊΠ»Π°Π΄ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅ ΠΊΠΎΠ½Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠΈ β€” совсСм Π½Π΅ ΠΏΡ€ΠΎ ΠΌΠ°ΠΉΠ½ΠΈΠ½Π³ΠΎΠ²Ρ‹ΠΉ Ρ…Π°ΠΉΠΏ, Π° скорСй ΠΏΡ€ΠΎ Ρ‚ΠΎ, ΠΊΠ°ΠΊ наши знания ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ эффСктивно ΠΈ умСстно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΊ самым Ρ€Π°Π·Π½Ρ‹ΠΌ Π·Π°Π΄Π°Ρ‡Π°ΠΌ.

Π’ июлС 2017 Π³ΠΎΠ΄Π° ΠœΠΎΡ€ΠΈΡ ΡƒΠΆΠ΅ ΠΏΡ€ΠΈΠ΅Π·ΠΆΠ°Π» Π² Россию Π½Π° ΡˆΠΊΠΎΠ»Ρƒ SPTDC, участвовал Π² ΠΌΠΈΡ‚Π°ΠΏΠ΅ JUG.ru, ΠΈ запись ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π° YouTube:

Основная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°

Π”Π°Π»ΡŒΡˆΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ нСбольшой ΠΎΠ±Π·ΠΎΡ€ Π΄ΠΎΠΊΠ»Π°Π΄ΠΎΠ², Π²ΠΎΡˆΠ΅Π΄ΡˆΠΈΡ… Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ. Π§Π°ΡΡ‚ΡŒ Π΄ΠΎΠΊΠ»Π°Π΄ΠΎΠ² здСсь описана ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ, Ρ‡Π°ΡΡ‚ΡŒ β€” Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎ. Π”Π»ΠΈΠ½Π½Ρ‹Π΅ описания Π΄ΠΎΡΡ‚Π°Π»ΠΈΡΡŒ, Π² основном, англоязычным Π΄ΠΎΠΊΠ»Π°Π΄Π°ΠΌ, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΠΌ ссылок Π½Π° Π½Π°ΡƒΡ‡Π½Ρ‹Π΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹, Ρ‚Π΅Ρ€ΠΌΠΈΠ½Ρ‹ Π½Π° Π’ΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΠΈ, ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅. ΠŸΠΎΠ»Π½Ρ‹ΠΉ список ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Π½Π° сайтС ΠΊΠΎΠ½Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠΈ. Бписок Π½Π° сайтС Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒΡΡ ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ.

Leslie Lamport β€” Q & A

19 Π³ΠΎΠ»ΠΎΠ² Π³ΠΈΠ΄Ρ€Ρ‹. Π‘ΠΎΠ»ΡŒΡˆΠΎΠΉ ΠΎΠ±Π·ΠΎΡ€ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ЛСсли Лэмпорт β€” Π°Π²Ρ‚ΠΎΡ€ ΠΎΡΠ½ΠΎΠ²ΠΎΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‰ΠΈΡ… Ρ€Π°Π±ΠΎΡ‚ Π² распрСдСлённых вычислСниях. Β«LaTeXΒ» Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Ρ‹Π²Π°Π΅Ρ‚ΡΡ ΠΊΠ°ΠΊ Β«Lamport TeXΒ». Π­Ρ‚ΠΎ ΠΎΠ½ Π²ΠΏΠ΅Ρ€Π²Ρ‹Π΅, Π΅Ρ‰Ρ‘ Π² 1979 Π³ΠΎΠ΄Ρƒ, Π²Π²Ρ‘Π» понятиС ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ согласованности, Π° Π΅Π³ΠΎ ΡΡ‚Π°Ρ‚ΡŒΡ Β«How to Make a Multiprocessor Computer That Correctly Executes Multiprocess ProgramsΒ» ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»Π° ΠΏΡ€Π΅ΠΌΠΈΡŽ ДСйкстры.

Π­Ρ‚ΠΎ самая нСобычная ΠΏΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρƒ Ρ‡Π°ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ это Π΄Π°ΠΆΠ΅ Π½Π΅ Π΄ΠΎΠΊΠ»Π°Π΄, Π° сСссия вопросов ΠΈ ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ². Когда Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ Ρ‡Π°ΡΡ‚ΡŒ Π°ΡƒΠ΄ΠΈΡ‚ΠΎΡ€ΠΈΠΈ ΡƒΠΆΠ΅ Π·Π½Π°ΠΊΠΎΠΌΠ° (ΠΈΠ»ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ) со всСвозмоТными Ρ€Π°Π±ΠΎΡ‚Π°ΠΌΠΈ, основанными Π½Π° Β«Ρ‚Π΅ΠΎΡ€ΠΈΠΈ Лэмпорта», Π΅Π³ΠΎ собствСнными ΡΡ‚Π°Ρ‚ΡŒΡΠΌΠΈ ΠΈ Π΄ΠΎΠΊΠ»Π°Π΄Π°ΠΌΠΈ, Π²Π°ΠΆΠ½Π΅ΠΉ ΠΏΠΎΡ‚Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ всё доступноС врСмя Π½Π° прямоС ΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅.

ИдСя простая β€” Π²Ρ‹ смотритС Π½Π° YouTube Π΄Π²Π° Π΄ΠΎΠΊΠ»Π°Π΄Π°: Β«Programming Should Be More Than CodingΒ» ΠΈ Β«If You’re Not Writing a Program, Don’t Use a Programming LanguageΒ» ΠΈ Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚Π΅ хотя Π±Ρ‹ ΠΎΠ΄ΠΈΠ½ вопрос, Π° ЛСсли ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚.

ΠŸΠ΅Ρ€Π²ΠΎΠ΅ ΠΈΠ· этих Π΄Π²ΡƒΡ… Π²ΠΈΠ΄Π΅ΠΎ ΠΌΡ‹ ΡƒΠΆΠ΅ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΠ»ΠΈ Π² Ρ…Π°Π±Ρ€ΠΎΡΡ‚Π°Ρ‚ΡŒΡŽ. Если Ρƒ вас Π½Π΅Ρ‚ часа Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π° просмотр Π²ΠΈΠ΄Π΅ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹ΡΡ‚Ρ€Π΅Π½ΡŒΠΊΠΎ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ всё это Π² Π²ΠΈΠ΄Π΅ тСкста.

На Π·Π°ΠΌΠ΅Ρ‚ΠΊΡƒ: Π½Π° YouTube Π΅ΡΡ‚ΡŒ ΠΊΡƒΠ΄Π° большС Π²ΠΈΠ΄Π΅ΠΎ с ЛСсли Лэмпортом. НапримСр, Π΅ΡΡ‚ΡŒ ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΉ курс ΠΏΠΎ TLA+. ΠžΡ„Ρ„Π»Π°ΠΉΠ½-вСрсия всСго этого курса Π΅ΡΡ‚ΡŒ Π½Π° домашнСй страничкС Π°Π²Ρ‚ΠΎΡ€Π°, Π° Π½Π° YouTube ΠΎΠ½ Π΅Π³ΠΎ ΠΏΠ΅Ρ€Π΅Π»ΠΈΠ» для Π±ΠΎΠ»Π΅Π΅ ΡƒΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ просмотра Π½Π° ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… дСвайсах.

Martin Kleppmann β€” Syncing data across user devices for distributed collaboration

19 Π³ΠΎΠ»ΠΎΠ² Π³ΠΈΠ΄Ρ€Ρ‹. Π‘ΠΎΠ»ΡŒΡˆΠΎΠΉ ΠΎΠ±Π·ΠΎΡ€ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠœΠ°Ρ€Ρ‚ΠΈΠ½ КлСппманн β€” ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π² ΠšΠ΅ΠΌΠ±Ρ€ΠΈΠ΄ΠΆΡΠΊΠΎΠΌ унивСрситСтС, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΉ Π½Π°Π΄ CRDT ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠ΅ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ². Книга ΠœΠ°Ρ€Ρ‚ΠΈΠ½Π° Β«Designing Data-Intensive ApplicationsΒ», опубликованная Π² 2017 Π³ΠΎΠ΄Ρƒ, оказалась ΠΎΡ‡Π΅Π½ΡŒ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΉ ΠΈ ΠΏΠΎΠΏΠ°Π»Π° Π² списки бСстсСллСров Π² области хранСния ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. КСвин Π‘ΠΊΠΎΡ‚Ρ‚, CTO Π² Microsoft, ΠΎΠ΄Π½Π°ΠΆΠ΄Ρ‹ сказал: Β«Π­Ρ‚Π° ΠΊΠ½ΠΈΠ³Π° Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ для ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΎΠ²-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ². Π­Ρ‚ΠΎ Ρ€Π΅Π΄ΠΊΠΈΠΉ рСсурс, ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡŽΡ‰ΠΈΠΉ Ρ‚Π΅ΠΎΡ€ΠΈΡŽ ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΡƒ, ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‰ΠΈΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ ΡƒΠΌΠ½Π΅Π΅ Π΄ΠΈΠ·Π°ΠΉΠ½ΠΈΡ‚ΡŒ ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ инфраструктуру ΠΈ систСмы ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ…Β». Π§Ρ‚ΠΎ-Ρ‚ΠΎ ΠΏΠΎΡ…ΠΎΠΆΠ΅Π΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ» ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚Π΅Π»ΡŒ Kafka ΠΈ CTO Confluent, Π”ΠΆΠ΅ΠΉ ΠšΡ€Π΅ΠΏΡ.

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ Π·Π°Π½ΡΡ‚ΡŒΡΡ акадСмичСскими исслСдованиями, ΠœΠ°Ρ€Ρ‚ΠΈΠ½ Ρ€Π°Π±ΠΎΡ‚Π°Π» Π² индустрии ΠΈ стал соосноватСлСм Π΄Π²ΡƒΡ… ΡƒΡΠΏΠ΅ΡˆΠ½Ρ‹Ρ… стартапов:

  • Rapportive, посвящСнный ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡŽ ΡΠΎΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ профиля ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΎΠ² ΠΈΠ· вашСй элСктронной ΠΏΠΎΡ‡Ρ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ LinkedIn ΠΊΡƒΠΏΠΈΠ»ΠΈ Π² 2012 Π³ΠΎΠ΄Ρƒ;
  • Go Test It, сСрвис для автоматичСской ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π²Π΅Π±-сайтов Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ RedGate ΠΊΡƒΠΏΠΈΠ»ΠΈ Π² 2009 Π³ΠΎΠ΄Ρƒ.

Π’ ΠΎΠ±Ρ‰Π΅ΠΌ, ΠœΠ°Ρ€Ρ‚ΠΈΠ½ Ρ…ΠΎΡ‚ΡŒ ΠΈ ΠΌΠ΅Π½Π΅Π΅ извСстСн, Ρ‡Π΅ΠΌ наши ΠΊΠ΅ΠΉΠ½ΠΎΡƒΡ‚Π΅Ρ€Ρ‹, Π½ΠΎ ΡƒΠΆΠ΅ смог внСсти Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²ΠΊΠ»Π°Π΄ ΠΈ Π² Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ распрСдСлСнных вычислСний, ΠΈ Π² ΠΈΠ½Π΄ΡƒΡΡ‚Ρ€ΠΈΡŽ.

Π’ этом Π΄ΠΎΠΊΠ»Π°Π΄Π΅ ΠœΠ°Ρ€Ρ‚ΠΈΠ½ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°ΡΡΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΎ Ρ‚Π΅ΠΌΠ΅, Π±ΠΎΠ»Π΅Π΅ Π±Π»ΠΈΠ·ΠΊΠΎΠΉ ΠΊ Π΅Π³ΠΎ акадСмичСским исслСдованиям. Π’ Google Docs ΠΈ ΠΏΠΎΡ…ΠΎΠΆΠ΅ΠΌ софС для совмСстного рСдактирования Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², «совмСстноС Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅Β» ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Π·Π°Π΄Π°Ρ‡Ρƒ Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ: ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ Ρ€Π΅ΠΏΠ»ΠΈΠΊΡƒ ΠΎΠ±Ρ‰Π΅Π³ΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΎΠ½ΠΈ ΠΏΠΎΡ‚ΠΎΠΌ ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‚, ΠΈ всС измСнСния Ρ€Π°ΡΡΡ‹Π»Π°ΡŽΡ‚ΡΡ ΠΏΠΎ сСти ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹ΠΌ участникам. ИзмСнСния Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Π² ΠΎΡ„Ρ„Π»Π°ΠΉΠ½Π΅ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ нСконсистСнтности Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° ΠΏΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡŽ ΠΊ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹ΠΌ участникам, ΠΈ ΠΏΠ΅Ρ€Π΅-синхронизация Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ². Как Ρ€Π°Π· для этого ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Conflict-free Replicated Data Types (CRDT), ΠΏΠΎ сути β€” довольно новая ΡˆΡ‚ΡƒΠΊΠ°, ΡΡƒΡ‚ΡŒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ сформулировали всСго лишь Π² 2011 Π³ΠΎΠ΄Ρƒ. Π’ этом Π΄ΠΎΠΊΠ»Π°Π΄Π΅ обсуТдаСтся, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ с Ρ‚Π΅Ρ… ΠΏΠΎΡ€ Π² ΠΌΠΈΡ€Π΅ CRDT, ΠΊΠ°ΠΊΠΎΠ²Ρ‹ самыС послСдниС достиТСния, обсуТдаСтся ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΊ созданию local-first ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π²ΠΎΠΎΠ±Ρ‰Π΅ ΠΈ использованиС опСнсорсной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Automerge Π² частности.

На ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Π½Π΅Π΄Π΅Π»Π΅ ΠΌΡ‹ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ΅ΠΌ Π½Π° Π₯Π°Π±Ρ€Π΅ большоС ΠΈΠ½Ρ‚Π΅Ρ€Π²ΡŒΡŽ с ΠœΠ°Ρ€Ρ‚ΠΈΠ½ΠΎΠΌ, Π±ΡƒΠ΄Π΅Ρ‚ интСрСсно.

Pedro Ramalhete β€” Wait-free data structures and wait-free transactions

19 Π³ΠΎΠ»ΠΎΠ² Π³ΠΈΠ΄Ρ€Ρ‹. Π‘ΠΎΠ»ΡŒΡˆΠΎΠΉ ΠΎΠ±Π·ΠΎΡ€ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠŸΠ΅Π΄Ρ€ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² Cisco ΠΈ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ послСдниС Π»Π΅Ρ‚ эдак Π΄Π΅ΡΡΡ‚ΡŒ, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ синхронизации, lock-free ΠΈ wait-free структуры Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ всё, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π½Π° эту Ρ‚Π΅ΠΌΡƒ. Π•Π³ΠΎ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠ΅ Π½Π°ΡƒΡ‡Π½Ρ‹Π΅ ΠΈ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π½Ρ‹Π΅ интСрСсы сфокусированы Π½Π° Universal Constructions, Software Transactional Memory, Persistent Memory ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… тСхнологиях, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΡ… Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹Π΅, ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ ΠΈ отказоустойчивыС прилоТСния. А Π΅Ρ‰Ρ‘ ΠΎΠ½ β€” Π°Π²Ρ‚ΠΎΡ€ ΡˆΠΈΡ€ΠΎΠΊΠΎ извСстного Π² ΡƒΠ·ΠΊΠΈΡ… ΠΊΡ€ΡƒΠ³Π°Ρ… Π±Π»ΠΎΠ³Π° Concurrency Freaks.

На ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹Ρ… структурах Π΄Π°Π½Π½Ρ‹Ρ… сСйчас Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, начиная с использований ΠΎΡ‡Π΅Ρ€Π΅Π΄Π΅ΠΉ сообщСний ΠΌΠ΅ΠΆΠ΄Ρƒ Π°ΠΊΡ‚ΠΎΡ€Π°ΠΌΠΈ ΠΈ заканчивая индСксированными структурами Π΄Π°Π½Π½Ρ‹Ρ… Π² key-value Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°Ρ…. Π’ Java JDK ΠΎΠ½ΠΈ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΌΠ½ΠΎΠ³ΠΈΡ… Π»Π΅Ρ‚, Π΄Π° ΠΈ Π² C++ ΠΏΠΎΡ‚ΠΈΡ…ΠΎΠ½ΡŒΠΊΡƒ Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ΡΡ.

ΠŸΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΉ способ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΡƒΡŽ структуру Π΄Π°Π½Π½Ρ‹Ρ… β€” ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ (однопоточная) рСализация, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Ρ‹ ΠΌΡŒΡŽΡ‚Π΅ΠΊΡΠ°ΠΌΠΈ. Π­Ρ‚ΠΎ доступно Π»ΡŽΠ±ΠΎΠΌΡƒ Π΄ΠΆΡƒΠ½Ρƒ, Π½ΠΎ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ. Π’ Ρ‚ΠΎ ΠΆΠ΅ врСмя, lock-free ΠΈ wait-free структуры Π΄Π°Π½Π½Ρ‹Ρ… Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π»ΡƒΡ‡ΡˆΠ΅ ΡΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ΡΡ с ошибками, Π½ΠΎ ΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ Π±ΠΎΠ»Π΅Π΅ ΡƒΠ΄Π°Ρ‡Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΡ„ΠΈΠ»ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ β€” ΠΎΠ΄Π½Π°ΠΊΠΎ, для ΠΈΡ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ трСбуСтся глубокая экспСртиза ΠΈ адаптация ΠΏΠΎΠ΄ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ способ примСнСния. Одной Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉ строчки ΠΊΠΎΠ΄Π° Ρ…Π²Π°Ρ‚ΠΈΡ‚, Ρ‡Ρ‚ΠΎΠ±Ρ‹ всё ΡΠ»ΠΎΠΌΠ°Ρ‚ΡŒ.

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄Π°ΠΆΠ΅ нСэкспСрт смог Π΄ΠΈΠ·Π°ΠΉΠ½ΠΈΡ‚ΡŒ ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ структуры Π΄Π°Π½Π½Ρ‹Ρ…? Π˜Π·Π²Π΅ΡΡ‚Π½ΠΎ, Ρ‡Ρ‚ΠΎ любой ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ потокобСзопасным ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Π»ΠΈΠ±ΠΎ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΠΉ конструкции, Π»ΠΈΠ±ΠΎ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΎΠ½Π½ΠΎΠΉ памяти. Π—Π° ΠΎΠ΄Π½ΠΈΠΌ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠ½ΠΈΠ·ΠΈΡ‚ΡŒ ΠΏΠΎΡ€ΠΎΠ³ Π²Ρ…ΠΎΠ΄Π° Π² Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ этой Π·Π°Π΄Π°Ρ‡ΠΈ. Однако, ΠΎΠ±Π° Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, приводят ΠΊ нСэффСктивной Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ. ΠŸΠ΅Π΄Ρ€ΠΎ расскаТСт ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΈΠΌ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ эти конструкции Π±ΠΎΠ»Π΅Π΅ эффСктивными ΠΈ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для своих Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ².

Heidi Howard β€” Liberating distributed consensus

19 Π³ΠΎΠ»ΠΎΠ² Π³ΠΈΠ΄Ρ€Ρ‹. Π‘ΠΎΠ»ΡŒΡˆΠΎΠΉ ΠΎΠ±Π·ΠΎΡ€ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π₯Π°ΠΉΠ΄ΠΈ Π“ΠΎΠ²Π°Ρ€Π΄ β€” ΠΊΠ°ΠΊ ΠΈ ΠœΠ°Ρ€Ρ‚ΠΈΠ½, ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ распрСдСлённых систСм Π² ΠšΠ΅ΠΌΠ±Ρ€ΠΈΠ΄ΠΆΡΠΊΠΎΠΌ унивСрситСтС. Π•Ρ‘ спСциализация β€” ΠΊΠΎΠ½ΡΠΈΡΡ‚Π΅Π½Ρ‚Π½ΠΎΡΡ‚ΡŒ, ΠΎΡ‚ΠΊΠ°Π·ΠΎΡƒΡΡ‚ΠΎΠΉΡ‡ΠΈΠ²ΠΎΡΡ‚ΡŒ, ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ распрСдСлённый консСнсус. Она Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ извСстна ΠΎΠ±ΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ΠΌ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Paxos ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Flexible Paxos.

Напомним, Ρ‡Ρ‚ΠΎ Paxos β€” сСмСйство ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ² для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ консСнсуса Π² сСти Π½Π΅Π½Π°Π΄Ρ‘ΠΆΠ½Ρ‹Ρ… вычислитСлСй, Π² основу ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π»Π΅Π³Π»ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ЛСсли Лэмпорта. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΎΠ΄Π½ΠΈ наши Π΄ΠΎΠΊΠ»Π°Π΄Ρ‡ΠΈΠΊΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π½Π°Π΄ Π·Π°Π΄Π°Ρ‡Π°ΠΌΠΈ, ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ нашими Π΄ΠΎΠΊΠ»Π°Π΄Ρ‡ΠΈΠΊΠ°ΠΌΠΈ β€” ΠΈ это чудСсно.

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π½Π°ΠΉΡ‚ΠΈ консСнсус ΠΌΠ΅ΠΆΠ΄Ρƒ нСсколькими хостами β€” для адрСсации, Π²Ρ‹Π±ΠΎΡ€Π° Π»ΠΈΠ΄Π΅Ρ€Π°, Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ ΠΈΠ»ΠΈ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ†ΠΈΠΈ β€” Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ вопрос соврСмСнных распрСдСлСнных систСм. Paxos сСйчас являСтся основным способом Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ нахоТдСния консСнсуса, ΠΈ Π²ΠΎΠΊΡ€ΡƒΠ³ Π½Π΅Π³ΠΎ проводится мноТСство исслСдований с Ρ†Π΅Π»ΡŒΡŽ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ΠΏΠΎΠ΄ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ практичСскиС Π½ΡƒΠΆΠ΄Ρ‹.

Π’ этом Π΄ΠΎΠΊΠ»Π°Π΄Π΅ ΠΌΡ‹ пСрСсмотрим Ρ‚Π΅ΠΎΡ€Π΅Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ основу Paxos, ослабляя ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Π΅ трСбования ΠΈ обобщая Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. ΠœΡ‹ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Paxos, ΠΏΠΎ сути, являСтся лишь ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² срСди ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ³ΠΎ спСктра ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠ² ΠΊ консСнсусу, ΠΈ Ρ‡Ρ‚ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ‚ΠΎΡ‡ΠΊΠΈ спСктра Ρ‚ΠΎΠΆΠ΅ вСсьма ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ для построСния Ρ…ΠΎΡ€ΠΎΡˆΠΈΡ… распрСдСлСнных систСм.

Alex Petrov β€” Reduce your storage costs with Transient Replication and Cheap Quorums

19 Π³ΠΎΠ»ΠΎΠ² Π³ΠΈΠ΄Ρ€Ρ‹. Π‘ΠΎΠ»ΡŒΡˆΠΎΠΉ ΠΎΠ±Π·ΠΎΡ€ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ АлСкс β€” спСциалист ΠΏΠΎ Π±Π°Π·Π°ΠΌ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ систСмам хранСния, ΠΈ Ρ‡Ρ‚ΠΎ Π²Π°ΠΆΠ½Π΅ΠΉ для нас β€” ΠΊΠΎΠΌΠΌΠΈΡ‚Π΅Ρ€ Π² Cassandra. ВмСстС с O’Reilly ΠΎΠ½ прямо сСйчас Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π°Π΄ ΠΊΠ½ΠΈΠ³ΠΎΠΉ Database Internals.

Для систСм с eventual consistency (Π² русскоязычной Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΠΈ β€” Β«ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΠΎΡΡ‚ΡŒΡŽ Π² ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ счётС»), послС падСния ΡƒΠ·Π»Π° ΠΈΠ»ΠΈ раздСлСния сСти, Π½ΡƒΠΆΠ½ΠΎ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ Π΄ΠΈΠ»Π΅ΠΌΠΌΡƒ: Ρ‚ΠΎ Π»ΠΈ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ запросы, ΠΏΠΎΠΆΠ΅Ρ€Ρ‚Π²ΠΎΠ²Π°Π² ΠΊΠΎΠ½ΡΠΈΡΡ‚Π΅Π½Ρ‚Π½ΠΎΡΡ‚ΡŒΡŽ, Ρ‚ΠΎ Π»ΠΈ ΠΎΡ‚ΠΊΠ°Π·Π°Ρ‚ΡŒ Π² ΠΈΡ… Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΈ ΠΏΠΎΠΆΠ΅Ρ€Ρ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒΡŽ. Π’ Ρ‚Π°ΠΊΠΎΠΉ систСмС ΠΊΠ²ΠΎΡ€ΡƒΠΌΡ‹, ΠΏΠ΅Ρ€Π΅ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ΡΡ подмноТСства ΡƒΠ·Π»ΠΎΠ² ΠΈ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅ ΠΎΠ΄ΠΈΠ½ ΡƒΠ·Π΅Π» Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ самоС послСднСС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΌΠΎΠ³ΡƒΡ‚ ΡΡ‚Π°Ρ‚ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΌ ΠΏΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π½Ρ‹ΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ. МоТно ΠΏΠ΅Ρ€Π΅ΠΆΠΈΡ‚ΡŒ сбои ΠΈ ΠΏΠΎΡ‚Π΅Ρ€ΡŽ соСдинСния Π΄ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΡƒΠ·Π»ΠΎΠ², продолТая ΠΎΡ‚Π²Π΅Ρ‡Π°Ρ‚ΡŒ самыми свСТими значСниями.

Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, всё ΠΈΠΌΠ΅Π΅Ρ‚ свою Ρ†Π΅Π½Ρƒ. ΠšΠ²ΠΎΡ€ΡƒΠΌΠ½Π°Ρ схСма Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½Π½ΡƒΡŽ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ хранСния: Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΈΠ·Π±Ρ‹Ρ‚ΠΎΡ‡Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΡƒΠ·Π»Π°Ρ… сразу, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ достаточноС количСство доступных ΠΊΠΎΠΏΠΈΠΉ Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ‚ возникновСния ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹. ΠžΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ΡΡ, ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ всС Π΄Π°Π½Π½Ρ‹Π΅ Π½Π° всСх Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ…. МоТно ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π½Π° Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅, Ссли Π΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° части ΡƒΠ·Π»ΠΎΠ², Π° для сцСнариСв ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ сбоСв ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Π½ΠΎΠ΄Ρ‹ (Transient Replica).

По Ρ…ΠΎΠ΄Ρƒ Π΄ΠΎΠΊΠ»Π°Π΄Π° ΠΌΡ‹ рассмотрим Witness Replicas, схСму Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡƒΡŽ Π² Spanner ΠΈ Megastore, ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Π΄Π°Π½Π½ΠΎΠΉ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ Π² Apache Cassandra ΠΏΠΎΠ΄ названиями Transient Replication & Cheap Quorums.

Π”ΠΌΠΈΡ‚Ρ€ΠΈΠΉ Π’ΡŒΡŽΠΊΠΎΠ² β€” Goroutines exposed

19 Π³ΠΎΠ»ΠΎΠ² Π³ΠΈΠ΄Ρ€Ρ‹. Π‘ΠΎΠ»ΡŒΡˆΠΎΠΉ ΠΎΠ±Π·ΠΎΡ€ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π”ΠΌΠΈΡ‚Ρ€ΠΈΠΉ β€” Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π² Google, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΉ Π½Π°Π΄ динамичСским тСстированиСм C/C++ ΠΈ Go β€” Address/Memory/ThreadSanitizer, ΠΈ Π½Π°Π΄ ΠΏΠΎΡ…ΠΎΠΆΠΈΠΌΠΈ инструмСнтами для ядра Linux. Π—Π°ΠΊΠΎΠ½Ρ‚Ρ€ΠΈΠ±ΡŒΡŽΡ‚ΠΈΠ» Π² Go ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ Π³ΠΎΡ€ΡƒΡ‚ΠΈΠ½, network poller ΠΈ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹ΠΉ сборщик мусора. ЯвляСтся экспСртом Π² многопоточности, Π°Π²Ρ‚ΠΎΡ€ΠΎΠΌ Π΄ΡŽΠΆΠΈΠ½Ρ‹ Π½ΠΎΠ²Ρ‹Ρ… Π½Π΅Π±Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² ΠΈ являСтся ΠΎΠ±Π»Π°Π΄Π°Ρ‚Π΅Π»Π΅ΠΌ Π§Π΅Ρ€Π½ΠΎΠ³ΠΎ Пояса Intel.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΎ самом Π΄ΠΎΠΊΠ»Π°Π΄Π΅. Π’ языкС Go присутствуСт нативная ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° многопоточности Π² Ρ„ΠΎΡ€ΠΌΠ΅ Π³ΠΎΡ€ΡƒΡ‚ΠΈΠ½ (Π»Π΅Π³ΠΊΠΈΡ… Ρ‚Ρ€Π΅Π΄ΠΎΠ²) ΠΈ ΠΊΠ°Π½Π°Π»ΠΎΠ² (ΠΎΡ‡Π΅Ρ€Π΅Π΄Π΅ΠΉ FIFO). Благодаря этим ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ°ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ ΠΎΡ‡Π΅Π½ΡŒ Π»Π΅Π³ΠΊΠΎ ΠΈ приятно ΠΏΠΈΡΠ°Ρ‚ΡŒ соврСмСнныС ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½Ρ‹Π΅ прилоТСния, ΠΈ это выглядит ΠΊΠ°ΠΊ магия. Как ΠΌΡ‹ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΠΌ, Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ°Π³ΠΈΠΈ здСсь Π½Π΅Ρ‚. Π’ этом Π΄ΠΎΠΊΠ»Π°Π΄Π΅ Π”ΠΌΠΈΡ‚Ρ€ΠΈΠΉ углубится Π² тонкости Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠ° Go ΠΈ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚ сСкрСты Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ этой Β«ΠΌΠ°Π³ΠΈΠΈΒ». Π’Π½Π°Ρ‡Π°Π»Π΅ ΠΎΠ½ даст ΠΎΠ±Π·ΠΎΡ€ основных ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠ°, расскаТСт, ΠΊΠ°ΠΊ ΠΎΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚. Π”Π°Π»ΡŒΡˆΠ΅ ΠΌΡ‹ Π±Π»ΠΈΠΆΠ΅ познакомимся с ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ аспСктами Π²Ρ€ΠΎΠ΄Π΅ стратСгии ΠΏΠ°Ρ€ΠΊΠΎΠ²ΠΊΠΈ/распарковки ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π±Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… систСмных Π²Ρ‹Π·ΠΎΠ²ΠΎΠ². НаконСц, Π”ΠΌΠΈΡ‚Ρ€ΠΈΠΉ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ расскаТСт ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡΡ… Π² ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠ΅.

Π”ΠΌΠΈΡ‚Ρ€ΠΈΠΉ Π‘ΡƒΠ³Π°ΠΉΡ‡Π΅Π½ΠΊΠΎ β€” УскоряСм распрСдСлСнный Π°Π½Π°Π»ΠΈΠ· Π³Ρ€Π°Ρ„ΠΎΠ² с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ вСроятностных скСтчСй ΠΈ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ

19 Π³ΠΎΠ»ΠΎΠ² Π³ΠΈΠ΄Ρ€Ρ‹. Π‘ΠΎΠ»ΡŒΡˆΠΎΠΉ ΠΎΠ±Π·ΠΎΡ€ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π”ΠΌΠΈΡ‚Ρ€ΠΈΠΉ ΠΏΠΎΡ‡Ρ‚ΠΈ 9 Π»Π΅Ρ‚ ΠΏΡ€ΠΎΡ€Π°Π±ΠΎΡ‚Π°Π» Π² аутсорсингС, Π½Π΅ тСряя ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π° с унивСрситСтом ΠΈ Π½Π°ΡƒΡ‡Π½ΠΎΠΉ срСдой. Анализ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠžΠ΄Π½ΠΎΠΊΠ»Π°ΡΡΠ½ΠΈΠΊΠ°Ρ… стал для Π½Π΅Π³ΠΎ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ шансом ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΎΡ€Π΅Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΡƒ ΠΈ Π½Π°ΡƒΡ‡Π½Ρ‹ΠΉ Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚ с Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ…, вострСбованных ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ².

РаспрСдСлСнный Π°Π½Π°Π»ΠΈΠ· Π³Ρ€Π°Ρ„ΠΎΠ² Π±Ρ‹Π» ΠΈ остаСтся слоТной Π·Π°Π΄Π°Ρ‡Π΅ΠΉ: ΠΊΠΎΠ³Π΄Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ связях сосСднСй Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹, Π΄Π°Π½Π½Ρ‹Π΅ часто приходится ΠΏΠ΅Ρ€Π΅Π³ΠΎΠ½ΡΡ‚ΡŒ ΠΌΠ΅ΠΆΠ΄Ρƒ машинами, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΡŽ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния ΠΈ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ Π½Π° ΡΠ΅Ρ‚Π΅Π²ΡƒΡŽ инфраструктуру. Π’ этом Π΄ΠΎΠΊΠ»Π°Π΄Π΅ ΠΌΡ‹ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ сущСствСнноС ускорСниС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ вСроятностныС структуры Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ Ρ„Π°ΠΊΡ‚Ρ‹ Π²Ρ€ΠΎΠ΄Π΅ симмСтричности Π³Ρ€Π°Ρ„Π° Π΄Ρ€ΡƒΠΆΠ± Π² ΡΠΎΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ сСти. Всё это ΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ΡΡ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ ΠΊΠΎΠ΄Π° Π½Π° Apache Spark.

ДСнис Рысцов β€” Reduce your storage costs with Transient Replication and Cheap Quorums

19 Π³ΠΎΠ»ΠΎΠ² Π³ΠΈΠ΄Ρ€Ρ‹. Π‘ΠΎΠ»ΡŒΡˆΠΎΠΉ ΠΎΠ±Π·ΠΎΡ€ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ДСнис β€” Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Cosmos DB, экспСрт Π² области ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ консистСнтности, Π² Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°Ρ… консСнсуса ΠΈ Π² распрСдСлённых транзакциях. БСйчас ΠΎΠ½ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² Microsoft, Π° Π΄ΠΎ этого занимался распрСдСлёнными систСмами Π² Amazon ΠΈ Yandex.

Π’ этом Π΄ΠΎΠΊΠ»Π°Π΄Π΅ ΠΌΡ‹ познакомимся с ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°ΠΌΠΈ распрСдСлСнных Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ, ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Π½Π½Ρ‹ΠΌΠΈ Π·Π° послСдниС нСсколько Π»Π΅Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° клиСнтской сторонС ΠΏΠΎΠ²Π΅Ρ€Ρ… любого Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰Π΅Π³ΠΎ условноС ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ (compare and set). Π‘ΡƒΡ‚ΡŒ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Тизнь Π½Π΅ заканчиваСтся Π΄Π²ΡƒΡ…Ρ„Π°Π·Π½Ρ‹ΠΌ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠΌ, Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΏΠΎΠ²Π΅Ρ€Ρ… Π»ΡŽΠ±Ρ‹Ρ… Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… β€” Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ прилоТСния, Π½ΠΎ Ρ€Π°Π·Π½Ρ‹Π΅ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρ‹ (2PC, Percolator, RAMP) ΠΈΠΌΠ΅ΡŽΡ‚ Ρ€Π°Π·Π½Ρ‹Π΅ Ρ‚Ρ€Π΅ΠΉΠ΄ΠΎΡ„Ρ„Ρ‹ ΠΈ Π½Π΅ Π΄Π°ΡŽΡ‚ΡΡ Π½Π°ΠΌ бСсплатно.

АлСксСй Π—ΠΈΠ½ΠΎΠ²ΡŒΠ΅Π² β€” НС всС ML-Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ ΠΏΠΎΠΏΠ°Π΄Π°ΡŽΡ‚ Π² распрСдСлСнный Ρ€Π°ΠΉ

19 Π³ΠΎΠ»ΠΎΠ² Π³ΠΈΠ΄Ρ€Ρ‹. Π‘ΠΎΠ»ΡŒΡˆΠΎΠΉ ΠΎΠ±Π·ΠΎΡ€ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ АлСксСй (zaleslaw) β€” наш Π΄Π°Π²Π½ΠΈΠΉ спикСр ΠΈ Ρ‡Π»Π΅Π½ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΈΡ‚Π΅Ρ‚ΠΎΠ² Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… конфСрСнциях. ΠŸΡ€Π°ΠΊΡ‚ΠΈΠΊΡƒΡŽΡ‰ΠΈΠΉ Ρ‚Ρ€Π΅Π½Π΅Ρ€ Π² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ EPAM Systems, ΠΈ с Hadoop/Spark ΠΈ ΠΏΡ€ΠΎΡ‡Π΅ΠΉ Π±ΠΈΠ³Π΄Π°Ρ‚ΠΎΠΉ Π΄Ρ€ΡƒΠΆΠΈΡ‚ с 2012 Π³ΠΎΠ΄Π°.

Π’ этом Π΄ΠΎΠΊΠ»Π°Π΄Π΅ АлСксСй расскаТСт ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°Ρ… Π°Π΄Π°ΠΏΡ‚Π°Ρ†ΠΈΠΈ классичСских Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² машинного обучСния для выполнСния Π² распрСдСлСнном Ρ€Π΅ΠΆΠΈΠΌΠ΅ Π½Π° основС своСго ΠΎΠΏΡ‹Ρ‚Π° Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Apache Spark ML, Apache Mahout, Apache Flink ML ΠΈ ΠΎΠΏΡ‹Ρ‚Π° создания Apache Ignite ML. Π’Π°ΠΊΠΆΠ΅ АлСксСй расскаТСт ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ распрСдСлСнных ML-Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² Π² этих Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ°Ρ….

И Π² Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ β€” Π΄Π²Π° Π΄ΠΎΠΊΠ»Π°Π΄Π° ΠΎΡ‚ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Yandex ΠΏΡ€ΠΎ Yandex Database.

Владислав ΠšΡƒΠ·Π½Π΅Ρ†ΠΎΠ² β€” Yandex Database β€” ΠΊΠ°ΠΊ ΠΌΡ‹ обСспСчиваСм ΠΎΡ‚ΠΊΠ°Π·ΠΎΡƒΡΡ‚ΠΎΠΉΡ‡ΠΈΠ²ΠΎΡΡ‚ΡŒ

19 Π³ΠΎΠ»ΠΎΠ² Π³ΠΈΠ΄Ρ€Ρ‹. Π‘ΠΎΠ»ΡŒΡˆΠΎΠΉ ΠΎΠ±Π·ΠΎΡ€ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Владислав β€” Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π² ЯндСксС Π² Π³Ρ€ΡƒΠΏΠΏΠ΅ распрСдСлСнной ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹. Yandex Database β€” Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠ°Ρ гСораспрСдСлСнная отказоустойчивая Π‘Π£Π‘Π”, Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰Π°Ρ ΠΎΡ‚ΠΊΠ°Π· дисков, сСрвСров, стоСк ΠΈ Π΄Π°Ρ‚Π°Ρ†Π΅Π½Ρ‚Ρ€ΠΎΠ² Π±Π΅Π· Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΡ консистСнтности. Для обСспСчСния отказоустойчивости примСняСтся собствСнный Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ достиТСния распрСдСлСнного консСнсуса, Π° Ρ‚Π°ΠΊΠΆΠ΅ ряд тСхничСских Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎ рассмотрСны Π² Π΄ΠΎΠΊΠ»Π°Π΄Π΅. Π”ΠΎΠΊΠ»Π°Π΄ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ интСрСсСн ΠΊΠ°ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ Π‘Π£Π‘Π”, Ρ‚Π°ΠΊ ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½Ρ‹Ρ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ Π½Π° Π±Π°Π·Π΅ Π‘Π£Π‘Π”.

Π‘Π΅ΠΌΠ΅Π½ Π§Π΅Ρ‡Π΅Ρ€ΠΈΠ½Π΄Π° β€” РаспрСдСлСнныС Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ Π² YDB

19 Π³ΠΎΠ»ΠΎΠ² Π³ΠΈΠ΄Ρ€Ρ‹. Π‘ΠΎΠ»ΡŒΡˆΠΎΠΉ ΠΎΠ±Π·ΠΎΡ€ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π‘Π΅ΠΌΠ΅Π½ β€” Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π² Π³Ρ€ΡƒΠΏΠΏΠ΅ распрСдСлСнной ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Π² ЯндСксС, Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π°Π΄ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠ°Ρ€Π΅Π½Π΄Π½ΠΎΠ³ΠΎ использования инсталляции YDB.

Yandex Database рассчитана Π½Π° OLTP-запросы ΠΈ соотвСтствуСт трСбованиям ACID ΠΊ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС. Π’ Π΄ΠΎΠΊΠ»Π°Π΄Π΅ рассмотрим Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ планирования Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ, Π»Π΅ΠΆΠ°Ρ‰ΠΈΠΉ Π² основС Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы YDB. Π Π°Π·Π±Π΅Ρ€Π΅ΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ сущности ΡƒΡ‡Π°ΡΡ‚Π²ΡƒΡŽΡ‚ Π² транзакциях, ΠΊΡ‚ΠΎ Π½Π°Π·Π½Π°Ρ‡Π°Π΅Ρ‚ транзакциям Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉ порядок, ΠΊΠ°ΠΊ достигаСтся Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½ΠΎΡΡ‚ΡŒ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ, Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈ строгий ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ изоляции. На ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ распространСнной Π·Π°Π΄Π°Ρ‡ΠΈ рассмотрим Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ с ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ Π΄Π²ΡƒΡ…Ρ„Π°Π·Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π° ΠΈ дСтСрминистичСских Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ. ΠžΠ±ΡΡƒΠ΄ΠΈΠΌ ΠΈΡ… различия.

Π§Ρ‚ΠΎ дальшС?

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΊΠΎΠ½Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ‚ Π½Π°ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π½ΠΎΠ²Ρ‹ΠΌΠΈ Π΄ΠΎΠΊΠ»Π°Π΄Π°ΠΌΠΈ. Π’ частности, ΠΌΡ‹ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌ Π΄ΠΎΠΊΠ»Π°Π΄ ΠΎΡ‚ Никиты Коваля (ndkoval) ΠΈΠ· JetBrains ΠΈ ОлСга ΠΠ½Π°ΡΡ‚Π°ΡΡŒΠ΅Π²Π° (m0nstermind) ΠΈΠ· ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Одноклассники. Никита занимаСтся Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°ΠΌΠΈ для ΠΊΠΎΡ€ΡƒΡ‚ΠΈΠ½ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Kotlin, Π° ОлСг Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ для высоконагруТСнных систСм Π² ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Одноклассники. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π΅ΡΡ‚ΡŒ Π΅Ρ‰Ρ‘ 1 условно пустой слот, с ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚Π°ΠΌΠΈ Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ прямо сСйчас Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠΌΠΈΡ‚Π΅Ρ‚.

ΠšΠΎΠ½Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΡ Hydra состоится Π² 11-12 июля Π² Π‘Π°Π½ΠΊΡ‚-ΠŸΠ΅Ρ‚Π΅Ρ€Π±ΡƒΡ€Π³Π΅. Π‘ΠΈΠ»Π΅Ρ‚Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ приобрСсти Π½Π° ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌ сайтС. ΠžΠ±Ρ€Π°Ρ‰Π°Π΅ΠΌ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Online-Π±ΠΈΠ»Π΅Ρ‚ΠΎΠ² β€” Ссли Π²Ρ‹ ΠΏΠΎΡ‡Π΅ΠΌΡƒ-Ρ‚ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΆΠΈΠ²ΡƒΡŽ Π΄ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ Π΄ΠΎ ΠŸΠΈΡ‚Π΅Ρ€Π° Π² эти Π΄Π½ΠΈ.

ВстрСтимся Π½Π° Hydra!

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: habr.com

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ