ΠΠΈΠ½Π°Π»Π°ΡΠ° Π³ΠΎΠ΄ΠΈΠ½Π° Π² Π‘Π°Π½ΠΊΡ ΠΠ΅ΡΠ΅ΡΠ±ΡΡΠ³ ΠΈΠΌΠ°ΡΠ΅ ΠΏΡΡΠ²Π°ΡΠ° ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΡ Π½Π° Hydra, ΠΏΠΎΡΠ²Π΅ΡΠ΅Π½ Π½Π° ΠΏΠ°ΡΠ°Π»Π΅Π»Π½ΠΈ ΠΈ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ. ΠΠ°ΡΡΠ΅Π°ΡΠΈΡΠ΅ Π½Π°ΠΏΡΠ°Π²ΠΈΡ
Π° ΠΏΡΠ΅Π·Π΅Π½ΡΠ°ΡΠΈΠΈ ΠΠ°Π³ΡΠ°Π΄ΠΈ ΠΠ΅ΠΉΠΊΡΡΡΠ° ΠΈ ΠΠ°Π³ΡΠ°Π΄ΠΈ Π½Π° Π’ΡΡΠΈΠ½Π³ (ΠΠ΅ΡΠ»ΠΈ ΠΠ°ΠΌΠΏΠΎΡΡ, ΠΠΎΡΠΈΡ Π₯Π΅ΡΠ»ΠΈΡ
ΠΈ ΠΈ ΠΠ°ΠΉΠΊΡΠ» Π‘ΠΊΠΎΡ), ΡΡΠ·Π΄Π°ΡΠ΅Π»ΠΈ Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡΠΈ ΠΈ Π΅Π·ΠΈΡΠΈ Π·Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π½Π΅ (C++, Go, Java, Kotlin), ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ Π½Π° ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ (Cassandra, CosmosDB, Yandex Database), ΠΊΠ°ΠΊΡΠΎ ΠΈ ΡΡΠ·Π΄Π°ΡΠ΅Π»ΠΈ ΠΈ ΠΈΠ·ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈ Π½Π° Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈ ΠΈ ΡΡΡΡΠΊΡΡΡΠΈ ΠΎΡ Π΄Π°Π½Π½ΠΈ (CRDT, Paxos, ΠΈΠ·ΡΠ°ΠΊΠ°ΠΉΡΠ΅ -ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΈ ΡΡΡΡΠΊΡΡΡΠΈ ΠΎΡ Π΄Π°Π½Π½ΠΈ). ΠΠ°ΡΠΎ ΡΡΠ»ΠΎ Π² ΡΠΎΠ·ΠΈ ΠΌΠΎΠΌΠ΅Π½Ρ Π²Π΅ΡΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΠΈ Π²Π·Π΅ΠΌΠ΅ΡΠ΅ Π²Π°ΠΊΠ°Π½ΡΠΈΡ, Π΄Π° ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΠ°ΡΠ΅ ΠΏΡΠΎΠ·ΠΎΡΠ΅ΡΠ° Π½Π° IDE, Π΄Π° ΠΎΡΠ²ΠΎΡΠΈΡΠ΅ ΠΏΠ»Π΅ΠΉΠ»ΠΈΡΡ Π² YouTube Ρ Π½Π°ΠΉ-Π΄ΠΎΠ±ΡΠΈΡΠ΅ ΡΠ΅ΠΏΠΎΡΡΠ°ΠΆΠΈ Hydra 2019 - ΠΈ ΠΎΡΡΠ°Π²Π΅ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ° Π·Π° ΠΏΠ»Π°Π½ΠΈΡΠ°Π½Π΅ Π½Π° Π·Π°Π΄Π°ΡΠΈ Π΄Π° ΠΈΠ·ΡΠ°ΠΊΠ° ΠΌΠ°Π»ΠΊΠΎ.
ΠΠ±ΡΠΎ Π²Π·Π΅ΡΠΎ ΡΠ°ΠΊΠ°Π²Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΡ Π½Π΅ Π΅ ΠΈΠΌΠ°Π»ΠΎ, Π° ΡΠ΅Π³Π° ΠΏΠ°ΠΊ ΡΠ΅ ΡΠ΅ ΡΠ»ΡΡΠΈ. ΠΡΠ½ΠΎΠ²ΠΎ Ρ ΡΠ΅ΠΏΠΎΡΡΠ°ΠΆΠΈ Π½Π° Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΈ, Π·Π°ΡΠΎΡΠΎ Π½ΡΠΌΠ° ΠΏΠΎ-Π΄ΠΎΠ±ΡΡ Π΅Π·ΠΈΠΊ, Π·Π° Π΄Π° ΡΠ΅ Π³ΠΎΠ²ΠΎΡΠΈ Π·Π° ΠΏΠ°ΡΠ°Π»Π΅Π»Π½ΠΈ ΠΈ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΠΈΠ·ΡΠΈΡΠ»Π΅Π½ΠΈΡ. ΠΠ°ΠΊ ΠΏΡΠ΅Π· Π»ΡΡΠΎΡΠΎ, 10 ΠΈ 11 ΡΠ»ΠΈ, ΡΡΠΉ ΠΊΠ°ΡΠΎ Π»Π΅ΠΊΡΠΎΡΠΈΡΠ΅ ΠΈΠΌΠ°Ρ Π²ΡΠ΅ΠΌΠ΅ Π΄Π° ΠΈΠ·ΡΠ»Π΅Π΄Π²Π°Ρ ΠΈ ΠΏΡΠ΅ΠΏΠΎΠ΄Π°Π²Π°Ρ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π² ΡΠ½ΠΈΠ²Π΅ΡΡΠΈΡΠ΅ΡΠΈΡΠ΅ Π² ΠΠ΅ΠΉΠΌΠ±ΡΠΈΠ΄ΠΆ, Π ΠΎΡΠ΅ΡΡΡΡ ΠΈ Π‘Π°Π½ΠΊΡ ΠΠ΅ΡΠ΅ΡΠ±ΡΡΠ³, Π° Π΄ΡΡΠ³ΠΈ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈ ΠΎΡ Π³ΠΎΠ΄ΠΈΠ½Π°ΡΠ° Π½Π΅ ΡΠ° Π·Π° ΡΡΡ
.
Π’ΠΎΠ·ΠΈ ΠΏΡΡ Hydra ΠΎΠ±Π°ΡΠ΅ ΡΠ΅ ΡΠ΅ ΠΏΡΠΎΠ²Π΅Π΄Π΅ Π² ΠΠΎΡΠΊΠ²Π°, ΠΊΡΠ΄Π΅ΡΠΎ ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠΎ ΠΎΡ ΡΡΠ°ΡΡΠ½ΠΈΡΠΈΡΠ΅ Π² ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΡΡΠ° Π΄ΠΎΠΉΠ΄ΠΎΡ
Π° ΠΌΠΈΠ½Π°Π»Π°ΡΠ° Π³ΠΎΠ΄ΠΈΠ½Π°, Π·Π° Π΄Π° ΡΠ»ΡΡΠ°Ρ Π΄ΠΎΠΊΠ»Π°Π΄ΠΈ Π·Π° ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΠΊΠΎΠ½ΡΠ΅Π½ΡΡΡ ΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΎΠ½Π½Π° ΠΏΠ°ΠΌΠ΅Ρ. ΠΠΎΠ²Π°ΡΠ° Hydra Π²ΠΊΠ»ΡΡΠ²Π° ΠΏΠΎ-ΡΠ»ΠΎΠΆΠ½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°, Π½ΠΎΠ²ΠΈ Π»Π΅ΠΊΡΠΎΡΠΈ Π½Π°ΡΠ΅Π΄ Ρ Π³Π΅ΡΠΎΠΈΡΠ΅ ΠΎΡ ΠΌΠΈΠ½Π°Π»Π°ΡΠ° Π³ΠΎΠ΄ΠΈΠ½Π°, ΠΊΠ°ΠΊΡΠΎ ΠΈ Π²Π΅ΡΠ΅ ΠΏΠΎΠ·Π½Π°ΡΠΎΡΠΎ ΡΡΠ΅ΡΠ°Π½Π΅ ΠΎΡ Π²ΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΠ°ΡΠ°Π»Π΅Π»Π½ΠΈΡ Ρ
Π°ΡΠ΄ΠΊΠΎΡ, ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠ°ΡΡΠ½ΠΈΡΠΈΡΠ΅ Π² ΡΡΠΈ Π·Π°Π»ΠΈ.
ΠΠ΅ΠΊΠ° Π½Π΅Π·Π°Π±Π°Π²Π½ΠΎ ΡΠ»ΠΎΠΆΠΈΠΌ ΡΠ΅ΡΡΠ΅ ΠΊΠ°ΡΡΠΈ Π½Π° ΠΌΠ°ΡΠ°ΡΠ° Ρ Π²ΠΈΠ·Π°Π½ΡΠΈΠΉΡΠΊΠΈΡΠ΅ Π³Π΅Π½Π΅ΡΠ°Π»ΠΈ Ρ Π»ΠΈΡΠ΅ΡΠΎ Π½Π°Π³ΠΎΡΠ΅ - ΠΈΡΠΊΠ°ΠΌΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ° Π½Π° Π½ΠΎΠ²Π°ΡΠ° Π₯ΠΈΠ΄ΡΠ° Π΄Π° Π±ΡΠ΄Π΅ ΠΏΠΎ-ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π° ΠΈ ΡΠ°Π·Π½ΠΎΠΎΠ±ΡΠ°Π·Π½Π°. ΠΠΈΠ½Π°Π»ΠΈΡ ΠΏΡΡ Π΄ΡΠ°ΡΠΊΠ°Ρ
ΠΌΠ΅ Ρ Π½ΠΎΠΊΡΡ, ΡΠ΅Π³Π° Π΄Π° ΠΊΠΎΠΏΠ°Π΅ΠΌ ΠΏΠΎ-ΡΠΈΡΠΎΠΊΠΎ ΠΈ ΠΏΠΎ-Π΄ΡΠ»Π±ΠΎΠΊΠΎ. ΠΡΠΎ ΡΠ΅ΠΌΠΈΡΠ΅ Π½Π° Hydra 2020 Ρ ΡΠ°Π·Π»ΠΈΠΊΠ° ΡΠΏΡΡΠΌΠΎ ΠΌΠΈΠ½Π°Π»Π°ΡΠ° Π³ΠΎΠ΄ΠΈΠ½Π°:
Parallel systems:
* Algorithms & data structures
* Memory models
* Compilers, runtime
* Memory reclamation
* Testing & verification
* Hardware issues
* Non-volatile memory
* Transactional memory
* Scheduling algorithms & implementations
* Heterogeneous computing: CPU, GPU, FPGA, etc.
* Performance analysis, debugging, & optimization
Distributed systems:
* Distributed computing
* Distributed machine learning/deep learning
* State machine replication & consensus
* Fault tolerance & resilience
* Testing & verification
* Hardware issues
* Blockchain & Byzantine fault tolerance
* Distributed databases, NewSQL
* Distributed stream processing
* Scheduling algorithms & implementations
* Cluster management systems
* Security
* Performance analysis, debugging, & optimization
* Peer-to-peer, gossip protocols
* Internet of things
ΠΠ°ΠΊ Π΄Π° Π³ΠΎΠ²ΠΎΡΠΈΠΌ Π·Π° Π²ΡΠΈΡΠΊΠΎ ΡΠΎΠ²Π° Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ° Π½Π° Π΅Π΄Π½Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΡ? Π‘ΡΡ ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ Π½Π΅ Π΅ ΠΏΠΎ-ΠΏΡΠΎΡΡΠΎ ΠΎΡ ΡΠ΅ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° Π»ΠΈΠ½Π΅Π°ΡΠΈΠ·Π°ΡΠΈΡ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈΡΠ΅ Π²ΡΡΡ
Ρ Π»ΡΡΠΊΠ°Π²ΠΎ Π½ΠΎΠ²ΠΎ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ ΠΠΆΠ΅ΠΏΡΠ΅Π½, Π½ΠΎ ΡΠ΅ ΠΎΠΏΠΈΡΠ°ΠΌΠ΅.
ΠΡΠΎ ΠΊΠΎΠΈ Π²Π΅ΡΠ΅ ΡΠ° Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ°:
Π‘ΠΈΠ½Π΄ΠΈ Π¨ΡΠΈΠ΄Ρ
Π°ΡΠ°Π½ (Π‘ΠΈΠ½Π΄ΠΈ Π¨ΡΠΈΠ΄Ρ
Π°ΡΠ°Π½) - ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π½Π° ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΎΡ Π‘Π°Π½ Π€ΡΠ°Π½ΡΠΈΡΠΊΠΎ, Π°Π²ΡΠΎΡ Π½Π° ΠΊΡΠ°ΡΠΊΠ° ΠΊΠ½ΠΈΠ³Π° ΠΠ°Π±Π»ΡΠ΄Π°Π΅ΠΌΠΎΡΡ Π½Π° ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠΈ (ΠΏΡΠ΅Π΄ΠΏΡΠΈΠ΅ΠΌΠ΅ Π±Π΅Π·ΠΏΠ»Π°ΡΠ½ΠΎ Π΅Π»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎ ΠΊΠΎΠΏΠΈΠ΅) ΠΈ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΈ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΡ Π² Π±Π»ΠΎΠ³Π°, ΠΊΡΠ΄Π΅ΡΠΎ ΠΈΠΌΠ° ΡΠ°ΠΌΠΎ Π΅Π΄ΠΈΠ½ ΡΠ»Π΅Π½ βΠΠ°ΠΉ-Π΄ΠΎΠ±ΡΠΎΡΠΎ ΠΎΡ 2019 Π³. Π² Tech TalksβΠΌΠΎΠΆΠ΅ Π΄Π° Π²ΠΈ ΡΠΏΠ΅ΡΡΠΈ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΏΠΎΡΠΈΠ²Π½ΠΈ Π΄Π½ΠΈ, Π½ΠΎ Π΄Π° Π²ΠΈ ΠΎΡΡΠ°Π²ΠΈ ΡΠ°ΡΡΠ»ΠΈΠ²ΠΈ. ΠΠ° Hydra 2020 Π‘ΠΈΠ½Π΄ΠΈ ΡΠ΅ Π²ΠΈ ΠΊΠ°ΠΆΠ΅ ΠΊΠ°ΠΊ ΡΠ΅ΡΡΠ²Π°ΠΉΡΠ΅ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ, Π΄ΠΎΡΠΈ Π°ΠΊΠΎ ΡΡΡ
ΡΠ°Π½ΡΠ²Π°Ρ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅.
ΠΠ°ΠΉΠΊΡΠ» Π‘ΠΊΠΎΡ (ΠΠ°ΠΉΠΊΡΠ» Π‘ΠΊΠΎΡ) β ΠΈΠ·ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π» ΠΎΡ Π£Π½ΠΈΠ²Π΅ΡΡΠΈΡΠ΅ΡΠ° Π½Π° Π ΠΎΡΠ΅ΡΡΡΡ, ΠΏΠΎΠ·Π½Π°Ρ Π½Π° Π²ΡΠΈΡΠΊΠΈ Java ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ ΠΊΠ°ΡΠΎ ΡΡΠ·Π΄Π°ΡΠ΅Π» Π½Π° Π½Π΅Π±Π»ΠΎΠΊΠΈΡΠ°ΡΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈ ΠΈ ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΠΈ ΠΎΠΏΠ°ΡΠΊΠΈ ΠΎΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π°ΡΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π½Π° Java. Π Π°Π·Π±ΠΈΡΠ° ΡΠ΅, Ρ Π½Π°Π³ΡΠ°Π΄Π°ΡΠ° ΠΠ΅ΠΉΠΊΡΡΡΠ° Π·Π° βΠΠ»Π³ΠΎΡΠΈΡΠΌΠΈ Π·Π° ΠΌΠ°ΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠ° ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ Π½Π° ΠΌΡΠ»ΡΠΈΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ ΡΡΡ ΡΠΏΠΎΠ΄Π΅Π»Π΅Π½Π° ΠΏΠ°ΠΌΠ΅Ρ"ΠΈ ΠΏΡΠΈΡΠ΅ΠΆΠ°Π²Π°ΠΌ Π‘ΡΡΠ°Π½ΠΈΡΠ° Π² Π£ΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΡ. ΠΠΈΠ½Π°Π»Π°ΡΠ° Π³ΠΎΠ΄ΠΈΠ½Π° ΠΠ°ΠΉΠΊΡΠ» Π½Π°ΠΏΡΠ°Π²ΠΈ Π½Π°ΠΉ-Π΄ΠΎΠ±ΡΠΈΡ (ΡΠΏΠΎΡΠ΅Π΄ Π²Π°Ρ) Π΄ΠΎΠΊΠ»Π°Π΄ Π·Π° Hydra on Π΄Π²ΠΎΠΉΠ½ΠΈ ΡΡΡΡΠΊΡΡΡΠΈ ΠΎΡ Π΄Π°Π½Π½ΠΈ, Π° ΡΠ΅Π³Π° ΡΠΎΠΉ ΡΠ΅ Π³ΠΎΠ²ΠΎΡΠΈ Π·Π° ΠΏΡΠΎΠ΅ΠΊΡ Π₯ΠΎΠ΄ΠΎΡ ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½Π° ΡΠ°Π±ΠΎΡΠ° ΡΡΡ ΡΠΏΠΎΠ΄Π΅Π»Π΅Π½Π° ΠΏΠ°ΠΌΠ΅Ρ, Π΄ΠΎΡΡΡΠΏΠ½ΠΈ Π·Π° ΠΏΠ°ΡΠ°Π»Π΅Π»Π½ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ.
Π₯Π°ΠΉΠ΄ΠΈ Π₯Π°ΡΡΡΠ΄ (Π₯Π°ΠΉΠ΄ΠΈ Π₯Π°ΡΡΡΠ΄) - ΠΈΠ·ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π» Π½Π° Π£Π½ΠΈΠ²Π΅ΡΡΠΈΡΠ΅ΡΠ° Π² ΠΠ΅ΠΉΠΌΠ±ΡΠΈΠ΄ΠΆ, ΠΈΠ·Π²Π΅ΡΡΠ΅Π½ ΡΡΡ ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΠΊΠΎΠ½ΡΠ΅Π½ΡΡΡΠ΅Π½ Π°Π»Π³ΠΎΡΠΈΡΡΠΌ ΠΡΠ²ΠΊΠ°Π² Paxos, ΠΊΠ°ΠΊΡΠΎ ΠΈ ΡΠ°Π±ΠΎΡΠ° ΠΏΠΎ ΠΎΠ±ΠΎΠ±ΡΠ°Π²Π°Π½Π΅ Π½Π° Flexible Paxos ΠΈ ΠΡΡΠ· ΠΠ°ΠΊΡΠΎΡ. ΠΠΈΠ½Π°Π»Π°ΡΠ° Π³ΠΎΠ΄ΠΈΠ½Π° Π₯Π°ΠΉΠ΄ΠΈ ΡΠ°Π·ΠΊΠ°Π·Π° ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠΈ ΠΈ ΡΠ°Π±ΠΎΡΠΈ Π‘Π΅ΠΌΠ΅ΠΉΡΡΠ²ΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈ Paxos (Π΅Π΄ΠΈΠ½ ΠΎΡ Π½Π°ΠΉ-Π΄ΠΎΠ±ΡΠΈΡΠ΅ Π΄ΠΎΠΊΠ»Π°Π΄ΠΈ), Π° ΡΠ΅Π³Π° ΡΠ΅ ΡΠ΅ ΠΎΠΏΠΈΡΠ°ΠΌ Π΄Π° Π²ΡΡΠ²Ρ ΠΏΠΎ ΡΡΠ½ΡΠΊ Π»Π΅Π΄ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΡ
ΠΡΠ±ΠΈΡΠ΅Π»ΠΈΡΠ΅ Π½Π° Paxos ΠΈ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ½ΠΈΡΠΈΡΠ΅ Π½Π° Raft β ΠΈ Π΄Π° ΡΠΏΠΎΠ΄Π΅Π»ΠΈ ΠΌΠ½Π΅Π½ΠΈΠ΅ΡΠΎ ΡΠΈ ΠΊΠΎΠΉ Π°Π»Π³ΠΎΡΠΈΡΡΠΌ Π΅ ΠΏΠΎ-Π΄ΠΎΠ±ΡΡ.
ΠΠ°ΡΡΠΈΠ½ ΠΠ»Π΅ΠΏΠΌΠ°Π½ (ΠΠ°ΡΡΠΈΠ½ ΠΠ»Π΅ΠΏΠΌΠ°Π½) Π΅ ΠΌΠΎΠΆΠ΅ Π±ΠΈ ΠΎΡΠ΅ ΠΏΠΎ-ΠΈΠ·Π²Π΅ΡΡΠ΅Π½ ΠΈΠ·ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π» ΠΎΡ ΡΠ½ΠΈΠ²Π΅ΡΡΠΈΡΠ΅ΡΠ° Π² ΠΠ΅ΠΉΠΌΠ±ΡΠΈΠ΄ΠΆ ΠΈ Π±ΠΈΠ²Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΈ Π·Π° Π³ΠΎΠ»Π΅ΠΌΠΈ Π΄Π°Π½Π½ΠΈ, ΠΊΠΎΠΉΡΠΎ Π½Π°ΠΏΠΈΡΠ° ΠΈΠ·Π½Π΅Π½Π°Π΄Π²Π°ΡΠΎ ΡΡΠ½Π° ΠΈ ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎ ΡΠ½ΠΈΠΊΠ°Π»Π½Π° ΠΊΠ½ΠΈΠ³Π° Π·Π° ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠΈ "ΠΡΠΎΠ΅ΠΊΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ ΠΈΠ½ΡΠ΅Π½Π·ΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ" ΠΠΈΠ½Π°Π»Π°ΡΠ° Π³ΠΎΠ΄ΠΈΠ½Π° ΠΠ°ΡΡΠΈΠ½ ΡΠΏΠΎΠ΄Π΅Π»ΠΈ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈΡΠ΅ Π½Π° ΡΡΡ
Π½ΠΎΡΠΎ ΠΈΠ·ΡΠ»Π΅Π΄Π²Π°Π½Π΅ CRDT ΠΈ ΠΊΠ°ΠΊΠ²ΠΎ ΡΠ΅ Π²ΠΈ ΠΊΠ°ΠΆΠ΅ΠΌ ΡΠ΅Π³Π° ΡΠ΅ ΠΎΠ±ΡΠ²ΠΈΠΌ ΠΏΠΎ-ΠΊΡΡΠ½ΠΎ.
ΠΠΈΠΊΠΈΡΠ° ΠΠΎΠ²Π°Π» (ΠΠΈΠΊΠΈΡΠ° ΠΠΎΠ²Π°Π») Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π½Π° ΡΡΡΡΡΠΈΠ½Π° Π² Π΅ΠΊΠΈΠΏΠ° Π½Π° Kotlin, ΠΏΡΠ΅ΠΏΠΎΠ΄Π°Π²Π°ΡΠ΅Π» Π½Π° ΠΊΡΡΡ ΠΏΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠ½ΠΈΡΠΊΠΎΠ²ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π½Π΅ Π² ITMO ΠΈ ΡΠ»Π΅Π½ Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ½ΠΈΡ ΠΊΠΎΠΌΠΈΡΠ΅Ρ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΡΡΠ° Hydra (Π΄Π°, ΡΠΎΡΠ½ΠΎ ΡΠ°Π·ΠΈ, Π·Π° ΠΊΠΎΡΡΠΎ Π΅ ΡΠ°Π·ΠΈ ΡΡΠ°ΡΠΈΡ). ΠΠΈΠ½Π°Π»Π°ΡΠ° Π³ΠΎΠ΄ΠΈΠ½Π° ΠΠΈΠΊΠΈΡΠ° Π³ΠΎΠ²ΠΎΡΠΈ Π·Π° ΡΠ΅ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΌΠ½ΠΎΠ³ΠΎΠ½ΠΈΡΠΊΠΎΠ²ΠΈ ΡΡΡΡΠΊΡΡΡΠΈ ΠΎΡ Π΄Π°Π½Π½ΠΈ Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° JVM Lin-Check, Π° Π½Π° Hydra 2020 ΡΠΎΠΉ ΡΠ΅ ΡΠ°Π·Π±Π΅ΡΠ΅ ΠΎΡΠ½ΠΎΡΠ½ΠΎ SegmentQueueSynchronizer - ΠΏΠΎΡΠ²ΡΡΠ΄Π΅Π½ΠΎ ΡΡΠ΅Π· Π Π°ΠΌΠΊΠ° Π½Π° ΠΈΡΠΈΡΠ° Π·Π° Π΄ΠΎΠΊΠ°Π·Π°ΡΠ΅Π» Coq Π°Π±ΡΡΡΠ°ΠΊΡΠΈΡ Π·Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠΈΠΌΠΈΡΠΈΠ²ΠΈ Π·Π° ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ.
Π‘Π»Π΅Π΄Π²Π°ΠΉΡΠ΅ Π½Π°ΡΠΈΡΠ΅ Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΠΈ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ: ΠΎΠ±ΡΠΎ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΡΡΠ° ΡΠ΅ ΠΈΠΌΠ° ΠΎΠΊΠΎΠ»ΠΎ ΡΡΠΈ Π΄ΡΠ·ΠΈΠ½ΠΈ Π΄ΠΎΠΊΠ»Π°Π΄Π°, ΡΠΊΠΎΡΠΎ ΡΠ΅ Π²ΠΈ ΡΠ°Π·ΠΊΠ°ΠΆΠ΅ΠΌ Π·Π° ΠΎΡΡΠ°Π½Π°Π»ΠΈΡΠ΅. Π‘ΡΡΠΎ ΡΠ°ΠΊΠ°, ΡΠ°Π·Π±ΠΈΡΠ° ΡΠ΅, Π½Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΡΡΠ° ΡΠ΅ ΠΈΠΌΠ° Π΄ΠΈΡΠΊΡΡΠΈΠΎΠ½Π½ΠΈ Π·ΠΎΠ½ΠΈ, ΠΊΡΠ΄Π΅ΡΠΎ Π΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° ΡΠ΅ ΡΠ΅ΡΡΠ²Π°Ρ Π»Π΅ΠΊΡΠΎΡΠΈΡΠ΅ Ρ Π²ΡΠΏΡΠΎΡΠΈ Π² Π΅Π΄Π½Π° ΠΈΠ»ΠΈ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΡΠ΅ΠΌΠΈ, Π΄ΠΎΠΊΠ°ΡΠΎ ΡΠ΅ ΠΏΠΎΡΡΠΈΠ³Π½Π΅ ΠΎΠ±Ρ ΠΊΠΎΠ½ΡΠ΅Π½ΡΡΡ.
Π Π°ΠΊΠΎ ΠΈΠΌΠ°ΡΠ΅ ΠΊΡΡΠΌΠ΅Ρ, ΠΠ°ΡΡΠΈΠ½ ΠΠ»Π΅ΠΏΠΌΠ°Π½ ΡΠ΅ ΠΏΠΎΠ΄ΠΏΠΈΡΠ΅ ΠΊΠ½ΠΈΠ³Π°ΡΠ° Π²ΠΈ.
ΠΠ°, ΠΏΡΠ΅Π΄ΠΈ ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΡΡΠ° Hydra 2020, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ 6-9 ΡΠ»ΠΈ, ΡΠ΅ ΠΈΠΌΠ° SPTDC 2020 Π³ β ΡΡΠ΅ΡΠΎΡΠΎ Π»ΡΡΠ½ΠΎ ΡΡΠΈΠ»ΠΈΡΠ΅ ΠΏΠΎ ΡΠ΅ΠΎΡΠΈΡ ΠΈ ΠΏΡΠ°ΠΊΡΠΈΠΊΠ° Π½Π° ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡΠ΅ ΠΈΠ·ΡΠΈΡΠ»Π΅Π½ΠΈΡ. Π©Π΅ Π²ΠΈ Π΄Π°Π΄Π΅ ΡΡΠ΅ΡΠ°Π½ΠΈΡ, ΠΊΠΎΠΈΡΠΎ Π΅ ΡΡΡΠ΄Π½ΠΎ Π΄Π° ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΡ, ΡΠ°ΠΊΠ° ΡΠ΅ ΡΠ΅ Π³ΠΎΠ²ΠΎΡΠΈΠΌ Π·Π° ΡΡΠΈΠ»ΠΈΡΠ΅ΡΠΎ Π² ΠΎΡΠ΄Π΅Π»Π½Π° ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΡ.
Π‘Π΅Π³Π° ΠΊΠ°ΠΊΠ²ΠΎ? ΠΡΡΠ²ΠΎ ΡΠ»Π΅Π΄Π΅ΡΠ΅ Π½ΠΎΠ²ΠΈΠ½ΠΈΡΠ΅ Π½Π° Π₯Π°Π±ΡΠ΅ ΠΈ Π² ΡΠΎΡΠΈΠ°Π»Π½ΠΈΡΠ΅ ΠΌΡΠ΅ΠΆΠΈ (Facebook, VKontakte, Twitter).
ΠΡΠΎΡΠΎ, Π°ΠΊΠΎ Π²Π΅ΡΠ΅ ΠΈΠ·ΠΏΠΈΡΠ²Π°ΡΠ΅ Π½Π΅ΠΏΡΠ΅ΠΎΠ΄ΠΎΠ»ΠΈΠΌΠΎ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ Π΄Π° ΠΏΡΠΈΡΡΡΡΠ²Π°ΡΠ΅ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΡΡΠ°, ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΉΡΠ΅ ΡΠ΅Π±ΡΠ°ΠΉΡΠ°, Π²Π΅ΡΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΊΡΠΏΡΠ²Π°Π½Π΅ Π½Π° Π±ΠΈΠ»Π΅ΡΠΈ.
Π’ΡΠ΅ΡΠΎ, Π½Π΅ ΠΏΡΠΎΠΏΡΡΠΊΠ°ΠΉΡΠ΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π΄Π° ΡΠ°Π·Π³ΠΎΠ²Π°ΡΡΡΠ΅ Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ½ΠΈΡ ΠΊΠΎΠΌΠΈΡΠ΅Ρ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΡΡΠ° Hydra 2020 Π² ΠΊΠΎΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ΅. Π§Π»Π΅Π½ΠΎΠ²Π΅ΡΠ΅ Π½Π° PC ΡΠ΅ ΡΠ΅ ΡΠ°Π΄Π²Π°Ρ Π΄Π° Π³ΠΎΠ²ΠΎΡΡΡ Ρ Π²Π°Ρ Π·Π° Π±ΡΠ΄Π΅ΡΠΈ ΡΠ΅ΠΌΠΈ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΡΡΠ°.
Π©Π΅ ΡΠ΅ Π²ΠΈΠ΄ΠΈΠΌ Π² Hydra!
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: www.habr.com