áááŸá
áºá á
ááá·áºáá®áá¬á
áááºááŸá¬ ááŸááá²á·áááºá ááááá¯á¶áž Hydra áá®áá¬áá¶á¡ááŒáá¯ááºááŸáá·áº ááŒáá·áºáá±ááŸá¯á
áá
áºáá»á¬ážá¡ááœáẠáááºá
á°ážáá«áááºá áá¯ááŸááºáá»á¬áž ááááºáááºááœá²áá»á¬áž ááŒá¯áá¯ááºáá²á·áááºá Dijkstra áá¯áá»á¬áž О Turing áá¯áá»á¬áž (Leslie Lamport, Maurice Herlihy О ááá¯ááºáááºá
áá±á¬á·) á compilers ááŸáá·áº programming languages ââáá»á¬ážáááºáá®ážáá°áá»á¬áž (C++á Goá Javaá Kotlin)á ááŒáá·áºáá±áá¬ážáá±á¬ databases áá»á¬áž developer (Cassandraá CosmosDBá Yandex Database) ááá¯á·á¡ááŒáẠalgorithms ááŸáá·áº data structures áá»á¬ážááᯠáááºáá®ážáá°áá»á¬ážááŸáá·áº áá¯áá±áá®áá»á¬áž (CRDTá Paxosá ááá
á±á¬áá·áºáá«á - á¡ááá²á·áá±áá¬ááœá²á·á
ááºážáá¯á¶áá»á¬áž) á áá±áá°áá»á¡á¬ážááŒáá·áºá á€á¡áá»áááºá áááºááẠá¡á¬ážáááºáááºááᯠáá°ááŒá®ážááŒá®á IDE áááºážááá¯ážááᯠáá»áŸá±á¬á·áá»ááá¯ááºáááºá YouTube ááœáẠáá®áá»ááºážá
á¬áááºážááᯠááœáá·áºáá« á¡áá±á¬ááºážáá¯á¶ážá¡á
á®áááºáá¶á
á¬áá»á¬áž Hydra 2019 - á¡áá¯ááºáá»áááºááá¬ážááœá²áá°ááᯠááá
á±á¬áá·áºáá«á
áá±áá°áá»á¡á¬ážááŒáá·áºáá±á¬á· áá®ááá¯áá®áá¬áá¶áá»áá¯áž áááºáá±á¬á·á០áááŒá
áºáá²á·áááᯠá¡áá¯áááºáž áááºááŒá
áºáŠážááŸá¬áá«á á¡ááºá¹áááááºááᯠá¡á
á®áááºáá¶áá»ááºááœá±áá²á· ááŒááºáááºáparallel ááŸáá·áº distribution computing á¡ááŒá±á¬ááºážááŒá±á¬ááẠááá¯ááá¯áá±á¬ááºážááœááºáá±á¬áá¬áá¬á
áá¬ážáááŸááá±á¬ááŒá±á¬áá·áºááŒá
áºáááºá áá°ááá¯ááºá 10 áááºááŸáá·áº 11 áááºáá»á¬ážááœááºááœá±áá¬áá®ááá
áºáááºá¥ááá¬á¡á¬ážááŒáá·áº Cambridgeá Rochester ááŸáá·áº St. Petersburg ááá¹áááá¯ááºáá»á¬ážááœáẠáá¯áá±ááááŸáá·áº áááºááŒá¬ážááẠá¡áá»áááºááŸááá±á¬ááŒá±á¬áá·áº á
áá®áá¬áá»á¬ážá¡áá±ááŸáá·áº áá
áºááŸá
áºáá¬á á¡ááŒá¬ážá¡áá»áááºáá»á¬ážááẠáááºážááá¯á·á¡ááœáẠááá¯ááºáá«á
ááá¯á·áá±á¬áº ááá¯á¡ááŒááẠHydra ááẠáá±á¬áºá
ááá¯ááœáẠáá»ááºážááááºááŒá
áºáááºááá®áá¬áá¶áááºáá±á¬ááºáá°á¡áá»á¬ážá
á¯ááẠááŒáá·áºáá±áá¬ážáá±á¬ á¡áá»á¬ážááá¹áááŸáá·áº á¡áá±á¬ááºážá¡áááºááŸááºáá¬ááºááá¯ááºáᬠá¡á
á®áááºáá¶á
á¬áá»á¬ážááᯠáá¬ážáá±á¬ááºááẠááááºááŸá
áºá áá¬áá±á¬ááºáá²á·ááŒáá«áááºá Hydra á¡áá
áºááœáẠááá¯ááá¯ááŸá¯ááºááœá±ážáá±á¬ áááá¯ááááºáá
áºáá¯á ááááºááŸá
áºá áá°áá²áá±á¬ááºážáá»á¬ážááŸáá·áºá¡áá° á
áá®áá¬á¡áá
áºáá»á¬ážá áááºážááá¯á¶ážáá¯ááŸá áá«áááºáá°áá»á¬ážááŒá¬ážááœáẠá¡ááŒáá¯áẠhardcore ááŒáá·áºáá±ááŒááºážá á
áááºááŸá¯ááºááŸá¬ážááŸá¯ááᯠáááºážááŸá®ážááŒá®ážáá¬ážááŒá
áºáá±á¬ áá¶á
á¬ážáá»ááºááá¯á·áá«ááŸááááºá
Byzantine á
á
áºááá¯ááºáá»á¯ááºáá»á¬áž áá»ááºááŸá¬áá»ááºážááá¯ááºáᬠáááºááŒá¬ážáá
áºáá»ááºááᯠá
á¬ážááœá²áá±á«áºááœáẠáá»ááºáá»ááºážáááºááá¯ááºááŒáá«á
áá¯á· - 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
áá®áá¬áá¶áá
áºáá¯áá²á· á¡á
á®á¡á
ááºááŸá¬ áá«ááœá±á¡á¬ážáá¯á¶ážááᯠáááºááá¯ááŒá±á¬ááá²á áá±á¬ááºááŒá±á¬ááºáá±á¬ ááŒáá·áºáá±á
ááá¯ážááá¯ááºá¡áá
áºááœáẠáááºáááºáá±á¬ááºááœááºááŸá¯áá»á¬ážá linearizability ááᯠá
ááºážáááºááŒááºážááẠáááºážááẠááá¯ážááŸááºážááŒááºážáááŸááááºááŸá¬ áá±áá»á¬áá«áááºá Jepsenáá«áá±ááá·áº áá«ááá¯á·ááŒáá¯ážá
á¬ážáááºá
áá®á¡á
á®á¡á
ááºááŸá¬ áááºáá°ááœá± áá«áááºáá±ááŒá®áá² á
Cindy Sridharan (Cindy Sridharan) - áááºááááºá
á
á¹á
ááá¯á០ááŒáá·áºáá±áá±á¬ á
áá
áºáá»á¬ážááŒá¯á
á¯áá°á á
á¬á¡á¯ááºá¡ááá¯ááᯠáá±ážáá¬ážáá° ááŒáá·áºáá±áá¬ážáá±á¬ á
áá
áºáá»á¬ážááᯠááŒáá·áºááŸá¯ááá¯ááºááŸá¯ (áá° á¡ááá²á·á¡á®áááºááá±á¬áá
áºáá±á¬áºáá®) áá°ááŒáá¯ááºáá»á¬ážáááºá ááá±á¬á·ááºáá±á¬ááºážáá«ážáá
áºáá¯áá²ááŸááá±á¬á·áTech Talks ááœáẠ2019 áá¯ááŸá
áºá á¡áá±á¬ááºážáá¯á¶áž"áááºážááᯠá¡á¬ážáááºáááºááŸá
áºáááºááá± áááºáááºááá¯ááºáá±ááá·áº áááºážáá»á±á¬áºá¡á±á¬ááºáá¬ážááá¯ááºáá«á Hydra 2020 ááœááºá Cindy á ááá·áºá¡á¬áž áááºááá¯á·ááŒá±á¬áááºáááºážá á
ááºážáááºááŒáá·áºáá±ááŸá¯á
áá
áºáá»á¬ážááá¯ááŸá®ážáá»áŸááºáááºáž ááŒááºáááºá
ááá¯ááºáááºá
áá±á¬á· (Michael Scott) - áá¯áá±áá®ááá¯á·á០Rochester ááá¹áááá¯ááºááŸáááºáá®ážáá°á¡ááŒá
ẠJava developer áá»á¬ážá¡á¬ážáá¯á¶áž ááááŒáááºá ááááºááá¯á·ááŒááºážááá¯ááºáá±á¬ algorithms ááŸáá·áº synchronous áááºážá
á®áá»á¬áž Java Standard Library á០áá¯ááºáá«áááºá Dijkstra Prize áá²á· "shared-memory áá»á¬ážá
áœá¬áá±á¬ áááá¯áááºáá¬áá»á¬ážáá±á«áºááœáẠá¡ááœááºá¡á
á¬áž áá»áááºááá¯ááºááá¯ááºáá±á¬ áááºáá°ááŒá¯ááŒááºážá¡ááœáẠá¡ááºáááá¯áá®áááºáá»á¬áž"ááŒá®ážáá±á¬á· ááá¯ááºáááºá áá®áá®áá®ážáá®ážáá¬áž á
á¬áá»ááºááŸá¬. ááŒá®ážáá²á·áá±á¬ááŸá
áºááœááºá ááá¯ááºáááºááẠHydra on ááŸáá·áºáááºáááºááá·áº á¡áá±á¬ááºážáá¯á¶ážá¡á
á®áááºáá¶á
á¬ááᯠáá±ážáá²á·áááºá áá±áá¬áááºáá±á¬ááºáá¯á¶ááŸá
áºáá¯á á¡áᯠáá°á¡ááŒá±á¬ááºážááŒá±á¬áááºá ááá±á¬áá»áẠHodor О áá»áŸáá±áá¬ážáá±á¬ááŸááºáá¬ááºááŒáá·áº áá¯á¶ááŒá¯á¶á
áœá¬á¡áá¯ááºáá¯ááºáá«ááá»ááºážááŒáá¯áẠáá¯ááºáááºážá
ááºáá»á¬áž á¡ááœáẠáááŸáááá¯ááºáá«áááºá
Heidi Howard (Heidi Howard) - áá¯áá±áá® á០áááºážááá
áºááá¹áááá¯ááºááŒáá·áºáá±áá¬ážáá±á¬ á¡áá»á¬ážááá¹á á¡ááºáááá¯áá®áááºááᯠáááºáá®ážááŒááºážááŒá±á¬áá·áº áá°áááá»á¬ážáááºá ááŒá±á¬ááºážááœááºááŒááºááœáẠPaxosá¡ááŒáẠFlexible Paxos ááŸáá·áº áá±áá°áá»á¡á¬ážááŒáá·áº áá¯ááºáá±á¬ááºáá«á á¡ááŒáẠPaxos. áááŸá
áºáá¯ááºážá Heidi á áááºááá¯á¡áá¯ááºáá¯ááºáááºá áááºááá¯á¡áá¯ááºáá¯ááºáááºááá¯áá¬ááᯠááŒá±á¬ááŒáááºá Paxos áááá¬ážá
ᯠalgorithms (á¡áá±á¬ááºážáá¯á¶ážá¡á
á®áááºáá¶á
á¬áá»á¬ážáá²ááŸáá
áºáá¯) ááŸáá·áºááá¯áá»áœááºá¯ááºáááºáá«ážááœáŸá¬áá±á¬áá±áá²ááŒá¬ážááœááºáááºážáá»áŸá±á¬ááºáááºááŒáá¯ážá
á¬ážáááá·áºáááºá Paxos áá»á
áºáá°áá»á¬ážááŸáá·áº Raft áá±á¬ááºáá¶áá°áá»á¬áž â ááŸáá·áº áááºááá·áº algorithm ááá¯áá±á¬ááºážáááºááᯠáá°ááááºááŒááºáá»ááºááᯠáá»áŸáá±áá«á
Martin Kleppmann (Martin Kleppmann) ááẠááááºážááá
áºáá»áºááá¹áááá¯ááºá០áááºááŸá¬ážáá»á±á¬áºááŒá¬ážáá±á¬ áá¯áá±áá®áá
áºáŠážááŒá
áºáá±á¬ááºážááŒá
áºááá¯ááºáááᯠááŒá®ážáá¬ážáá±á¬áá±áá¬á
áá
áºáá»á¬ážááᯠáá®ááœááºáá°áááºážááŒá
áºá á¡á¶á·ááŒá
áá¬áá±á¬ááºážáá±á¬ááºá¡á±á¬áẠááŸááºážááŸááºážáááºážáááºážááŸáá·áº áá°ážááŒá¬ážáááºážáá
áºáá±á¬ ááŒáá·áºáá±á
áá
áºááá¯ááºáᬠá
á¬á¡á¯ááºáá
áºá¡á¯ááºááᯠáá±ážáá¬ážáá²á·áá°áData-Intensive Application áá»á¬ážááᯠáá®ááá¯ááºážááœá²ááŒááºážáâ áááŸá
áºá áá¬ááẠááááºáá»á¬ážááá¯áá»áŸáá±áá²á·áááºá áááºážááá¯á·á CRDT áá¯áá±ááááŸáá·áº ááᯠáá»áœááºá¯ááºááá¯á· ááŒá±á¬ááŒááá·áºá¡áᬠáá±á¬ááºááŸááŒá±ááŒá¬áá«áááºá.
Nikita Koval (Nikita Koval) ááẠKotlin á¡ááœá²á·ááœáẠáá¯á¶ááŸáẠdeveloper áá
áºáŠážááŒá
áºááŒá®áž ITMO ááœáẠmulti-threaded programming áááºáááºážá០ááá¬áá
áºáŠážááŒá
áºááŒá®áž Hydra ááœááºáááá·áºá áááá¯ááááºáá±á¬áºááá®á¡ááœá²á·ááẠ(áá¯ááºáá«áááºá á€áá±á¬ááºážáá«ážááẠá¡ááŒá±á¬ááºážááŒá
áºáááº)á ááŒá®ážáá²á·ááá·áºááŸá
áºá Nikita ááẠJVM ááááºáá±á¬ááºážáá±á«áºááœáẠMulti-threaded áá±áá¬áááºáá±á¬ááºáá¯á¶áá»á¬ážááá¯á
ááºážáááºááŒááºážá¡ááŒá±á¬ááºážááŒá±á¬áá²á·áááºá Lin-CheckááŸáá·áº Hydra 2020 ááœáẠáá° ááœá±á¬ááᯠSegmentQueueSynchronizer á¡ááŒá±á¬ááºáž - á¡áá¯á¶ážááŒá¯á á
á
áºáá±ážá¡áááºááŒá¯áá«áááºá áá»ááºáááºážáá±á¬áẠá¡ááœáẠProver Coq áááá¯ááááºážáááºážá áááºáá°ááŒá¯ááŸá¯ááá¯ááºáᬠááááááºáá¯á¶áá»á¬ážá¡ááœáẠá
áááºáá°ážáááºá
áá»áœááºá¯ááºááá¯á·á á¡áá®á¡áá»áŸ ááŒá±ááŒá¬áá»ááºáá»á¬ážááᯠááá¯ááºáá¬áá«- á
á¯á
á¯áá±á«ááºáž áá®áá¬áá¶ááœáẠá¡á
á®áááºáá¶áá»áẠáá¯á¶ážáá«áááºááá·áº ááŸááááºááŒá
áºááŒá®áž áá»ááºá¡áá¬áá»á¬ážááᯠáááŒá¬áá® ááŒá±á¬ááŒáá«áááºá ááá¯á·á¡ááŒááºá áá®áá¬áá¶ááœáẠáá±áá¯áá»ááá±á¬ááá¹ááááŒáá·áºáá®ááá»ááºáž ááá¹ááá
áºáᯠááá¯á·ááá¯áẠá¡áá»á¬ážá¡ááŒá¬ážááœáẠáá±ážááœááºážáá»á¬ážááŒáá·áº á
áá¬ážááŒá±á¬áá°áá»á¬ážááᯠá
ááºážáááºááẠááá¯á¡ááºááá·áº ááœá±ážááœá±ážááŸá¯áá¯ááºáá»á¬áž ááŸááááºááŒá
áºáááºá
áááºáá¶áá±á¬ááºážáá«á Martin Kleppmann ááẠááá·áºá
á¬á¡á¯ááºááᯠáááºááŸááºáá±ážááá¯ážáááºááŒá
áºáááºá
áá¯ááºáá²á·á áá°ááá¯ááºá 2020-6 áááºá Hydra 9 ááœááºáááá·áºáááá¯ááºáááºááŸá¬ ááŸááá«áááá·áºáááºá SPTDC 2020 - ááŒáá·áºáá±ááœááºáá»ááºááŸá¯ááá¯ááºáá¬áá®á¡áá¯áá®ááŸáá·áºá¡áá±á·á¡áá»áá·áºááá¯ááºáá¬ááááááœá±áá¬áá®áá»á±á¬ááºážá ááœááºáááá·áºááŸá¬ ááá²áá²á· áá¶á
á¬ážáá»ááºááœá±ááᯠáá±ážá
áœááºážááá¯ááºáá¬ááá¯á· áá®ážááŒá¬ážááá¯á·á
áºáá
áºáá¯ááŸá¬ áá»á±á¬ááºážá¡ááŒá±á¬ááºáž ááŒá±á¬ááŒáá«áááºá
á¡áᯠáá¬áá²? ááááŠážá
áœá¬ Habré ááŸáá·áºáá°ááŸá¯áá±ážááœááºáááºáá»á¬ážáá±á«áºááœááºááááºážááá¯ááá¯ááºáá¬áá« (Facebook á, VKontakte, ááœá
áºáá¬).
áá¯áááá¡áá±áá²á· áá®áá¬áá¶ááᯠáááºáá±á¬ááºááá¯áá²á·ááá¹áááᯠááá¶ááááºááá¯ááºááŒá
áºáá±ááŒá®ááá¯áááºáá±á¬á· áááºááá¯ááºááᯠá
á°ážá
ááºážáá±á·áá¬ááá¯ááºáá«áááºá áááºááŸááºáá»á¬ážáááºáá°áá«á.
ááááá ááŸááºáá»ááºáá»á¬ážááœáẠHydra 2020 áá®áá¬áá¶á¡á
á®á¡á
ááºáá±á¬áºááá®ááŸáá·áº á
áá¬ážááŒá±á¬áááºá¡ááœáá·áºá¡áá±ážááᯠáááºááœááºááá¶áá«ááŸáá·áºá PC á¡ááœá²á·áááºáá»á¬ážááẠá¡áá¬ááẠááœááºáááá·áº áá±á«ááºážá
ááºáá»á¬ážá¡ááŒá±á¬ááºáž áááºááŸáá·áº á
áá¬ážááŒá±á¬ááẠáá»á±á¬áºááœáŸááºáá«áááºá
Hydra ááŸá¬ááœá±á·áááºá
source: www.habr.com