
Recentemente, dois eventos foram
anunciados ao mesmo tempo sobre o desenvolvimento de sistemas multithread e distribuídos: a conferência
Hydra (11 a 12 de julho) e a escola
SPTDC (8 a 12 de julho). As pessoas que estão próximas desse tópico entendem que a chegada na Rússia de
Leslie Lamport ,
Maurice Herliha e
Michael Scott é um grande evento. Mas outras questões surgiram:
- O que esperar da conferência: "acadêmico" ou "produção"?
- Como as escolas e conferências se comparam? Para quem é projetado?
- Por que eles se cruzam em datas?
- Serão úteis para aqueles que não dedicaram a vida inteira a sistemas distribuídos?
Tudo isso é bem conhecido da pessoa graças a quem Hydra apareceu: ao nosso diretor
Alexei Fedorov (
23derevo ). Ele respondeu a todas as perguntas.
Formatar
- Uma pergunta introdutória para aqueles que estão longe de sistemas distribuídos: sobre o que são os dois eventos?- O desafio global é que existem serviços à nossa volta com grandes volumes de operações e tarefas computacionais complexas que não podem ser realizadas em um computador. Então, deve haver vários carros. E então surgem questões sobre como sincronizar corretamente seu trabalho e o que fazer em condições que não são de alta confiabilidade (porque o equipamento quebra e a rede cai).
Quanto mais carros, mais pontos de falha. E se máquinas diferentes produzem resultados diferentes para os mesmos cálculos? O que fazer se, por algum tempo, a rede desaparecer e alguns dos cálculos ficarem isolados, como então tudo isso pode ser combinado? No total, um milhão de problemas relacionados. Novas soluções - novos problemas.
Nesta área, existem áreas bastante aplicadas, mas existem mais científicas - algo que ainda não se tornou popular. Eu gostaria de falar sobre o que está acontecendo na prática e na ciência e, o que é mais importante, na junção deles. É sobre isso que será a primeira conferência Hydra.
- Gostaria de entender que há uma conferência e há uma escola de verão. Como eles se comparam? Se for feito um desconto para participar de uma conferência para os participantes da escola, por que eles se cruzam de acordo com as datas, para que você não possa visitar tudo sem perda de uma só vez?- Uma escola é um evento de câmara para 100-150 pessoas, onde especialistas de todo o mundo vêm e dão palestras por cinco dias. E surge uma situação em que luminares de classe mundial se reúnem em São Petersburgo por cinco dias, prontos para contar alguma coisa. E, neste caso, a decisão sugere-se organizar não apenas uma escola de câmara, mas também uma conferência maior.
Essa escola só pode ser realizada no verão, em julho, porque entre esses especialistas existem professores universitários ativos, e eles simplesmente não estão prontos em outros momentos: eles têm estudantes, diplomas, palestras e assim por diante. O formato da escola é de cinco dias úteis. Sabe-se que no verão, no fim de semana, as pessoas gostam de ir a algum lugar. Isso significa que não podemos fazer uma conferência no fim de semana antes da escola ou no fim de semana depois da escola.
E se ainda for prorrogado por alguns dias antes ou depois do fim de semana, magicamente os cinco dias em que os especialistas ficam em São Petersburgo se transformam em nove. E eles não estão prontos para isso.
Portanto, a única solução que encontramos foi simplesmente realizar uma conferência paralela à escola. Sim, isso causa alguns problemas. Existem pessoas que querem frequentar a escola e a conferência e terão que pular parte das palestras aqui ou ali. A boa notícia é que tudo isso acontecerá em salas vizinhas, você pode correr de um lado para o outro. E mais um lado bom é a disponibilidade de vídeos nos quais você poderá assistir mais tarde com calma o que perdeu.
- Quando dois eventos são realizados em paralelo, as pessoas têm a pergunta "de qual eu preciso?" O que exatamente esperar de cada um e quais são as diferenças?- A escola é um evento puramente acadêmico, uma escola científica clássica por vários dias. Quem esteve envolvido em ciências e teve algo a ver com a pós-graduação representa o que é uma escola acadêmica.

Normalmente, esses eventos acadêmicos não são bem organizados devido à falta de conhecimento em pessoas que fazem isso. Mas ainda somos caras muito experientes, então podemos fazer tudo com bastante competência. Penso que, do ponto de vista organizacional, o SPTDC será um corte acima de qualquer escola científica ou prática que você já tenha visto.
A escola SPTDC é um formato em que cada grande palestra é
ministrada em dois pares: “uma hora e meia - um intervalo - uma hora e meia”. Deve-se entender que, pela primeira vez, pode ser difícil para o participante: quando a escola foi realizada pela primeira vez há dois anos, eu era incomum, várias vezes no meio de uma palestra dupla eu desliguei e, depois, foi difícil entender o que estava acontecendo. Mas depende muito do professor: um bom professor fala de maneira muito interessante por três horas.
A Conferência Hydra é um evento mais aplicado. Haverá várias luminárias da ciência que vieram dar palestras na escola: de
Leslie Lamport , cujo trabalho é subjacente à teoria dos sistemas multithread e distribuídos, a
Maurice Herlichi , um dos autores do famoso livro de concorrência "The Art of Multiprocessor Programming". Mas, na conferência, tentaremos falar sobre como esses algoritmos são realizados na realidade, quais problemas os engenheiros enfrentam na prática, quem consegue o que acontece e não funciona, por que alguns algoritmos são aplicados na prática e outros não. E, claro, vamos falar sobre o desenvolvimento futuro de sistemas multiencadeados e distribuídos. Ou seja, daremos uma vantagem tão avançada: sobre o que a ciência mundial está falando agora, em torno da qual os pensamentos dos principais engenheiros giram e como tudo se encaixa.
- Como a conferência é mais aplicada, haverá não apenas luminárias acadêmicas, mas também palestrantes “da produção”?Definitivamente. Estamos tentando analisar todos os "grandes": Google, Netflix, Yandex, Odnoklassniki, Facebook. Existem problemas divertidos específicos. Por exemplo, todo mundo diz: “O Netflix é um sistema distribuído, quase metade do tráfego nos EUA é muito legal” e, quando você começa a olhar para os verdadeiros relatórios, artigos e publicações, há uma pequena decepção. Porque, embora certamente seja um nível de classe mundial e haja um egde cortante, é menos lá do que parece à primeira vista.
Surge um dilema interessante: você pode chamar representantes de grandes empresas eminentes ou alguém já conhecido por nós. Na realidade, há experiência lá e ali. E estamos tentando atrair não “pessoas de marcas muito grandes”, mas especialistas muito grandes, pessoas específicas.
Por exemplo, haverá Martin Kleppman, que uma vez fez barulho no LinkedIn, e também lançou um
bom livro - talvez um dos livros básicos no campo de sistemas distribuídos.
- Se uma pessoa trabalha não na Netflix, mas em uma empresa mais fácil, ela pode pensar: "Devo ir a uma conferência ou há algum netflixes conversando entre si, mas não tenho nada para fazer?"- Vou dizer o seguinte: quando trabalhei com a Oracle por mais de três anos, ouvi as coisas mais surpreendentes e interessantes na cozinha e nas salas para fumantes quando meus colegas se reuniram lá, fazendo certas peças da plataforma Java. Podem ser pessoas de uma máquina virtual, do departamento de testes ou da concorrência de desempenho - por exemplo, Lesha Shipilev e Seryozha Kuksenko.
Quando eles começaram a discutir algo, eu geralmente apenas ouvia com a boca aberta. Para mim, essas eram coisas surpreendentes e inesperadas nas quais eu nem pensava. Naturalmente, no começo eu não entendi 90% do que eles estavam falando. Então ficou 80% incompreensível. E depois que eu fiz minha lição de casa e li vários livros, esse número foi reduzido para 70%. Ainda não entendo muito do que eles estão falando entre si. Mas, sentado no canto com uma xícara de café e ouvindo, comecei a entender um pouco o que estava acontecendo.
Portanto, quando Google, Netflix, LinkedIn, Colegas de classe e Yandex estão conversando, isso não significa que seja algo incompreensível e desinteressante. Pelo contrário, devemos ouvir atentamente, porque este é o nosso futuro.
Claro, existem pessoas que não precisam de tudo isso. Se você não quiser desenvolver esse tópico, não precisará ir a esta conferência, apenas perderá tempo lá. Mas se o tópico for interessante, mas você não entender nada, ou apenas olhar atentamente, significa que você tem que vir, porque não encontrará nada parecido em nenhum outro lugar. E acho que não apenas na Rússia, mas também no mundo. Estamos tentando fazer uma conferência que não será apenas líder neste tópico na Rússia, mas geralmente a número um no mundo.
Essa não é uma tarefa fácil, mas quando temos uma chance incrível de reunir palestrantes fortes de todo o mundo, estou pronto para dar muito para que isso aconteça. É claro que alguns daqueles que chamamos para a primeira Hydra não poderão vir. Mas vou dizer o seguinte: nunca iniciamos uma nova conferência com uma lista tão poderosa. Exceto, talvez, o primeiro JPoint há seis anos.
- Quero desenvolver as palavras “este é o nosso futuro”: o tópico será abordado posteriormente sobre quem não pensa sobre isso hoje?"Sim, eu tenho certeza disso." Portanto, parece-me muito certo começar a discuti-lo o mais rápido possível. Por exemplo, a teoria do multithreading apareceu há muito tempo (nos anos 70, o trabalho já estava em pleno andamento), mas por um longo tempo eles eram muitos especialistas, até o primeiro computador de núcleo duplo do usuário aparecer no início dos anos 2000. E agora todos nós temos servidores com vários núcleos, laptops e até telefones, e esse é o mainstream. Demorou cerca de 10 anos para que isso se tornasse generalizado, para que as pessoas entendessem que esse discurso não é um círculo restrito de especialistas.
E sobre a mesma coisa que estamos vendo agora com sistemas distribuídos. Como decisões básicas como balanceamento de carga, tolerância a falhas e similares foram tomadas há muito tempo, mas poucas pessoas sabem o que, por exemplo, distribuiu consenso ou Paxos.
Uma das tarefas mais importantes que estabeleci para este evento é imergir os engenheiros cada vez mais nesta discussão. Deve-se entender que nas conferências são discutidos não apenas alguns tópicos e soluções, mas também um tesauro - um único aparato conceitual.
Vejo como minha tarefa criar uma plataforma na qual todos possam discutir tudo isso, compartilhar experiências e opiniões. Para que você e eu tenhamos um entendimento comum do que um algoritmo faz, o que o outro faz, qual é o melhor em que condições, como eles estão relacionados entre si e assim por diante.
Uma coisa muito interessante está relacionada ao mesmo multithreading. Quando nossos amigos da Oracle (em primeiro lugar, Lyosha Shipilev e Sergey Kuksenko) começaram a falar ativamente sobre desempenho e, em particular, sobre multithreading, literalmente dois ou três anos depois, essas perguntas começaram a ser feitas em entrevistas em empresas, as pessoas começaram a discutir isso em salas para fumantes. Ou seja, a coisa que eram muitos especialistas restritos, de repente se tornou popular.
E isso é muito correto. Parece-me que ajudamos esses caras a popularizar toda essa questão, o que é realmente importante, útil e interessante. Se ninguém nunca pensou em como um servidor Java lida com solicitações em paralelo, agora as pessoas têm pelo menos em algum nível um entendimento de como tudo isso funciona. E isso é maravilhoso.
A tarefa que vejo agora é sobre a mesma coisa com sistemas distribuídos. Para que todos compreendam aproximadamente o que é, de onde crescem as pernas, quais tarefas e problemas existem, para que isso também se torne mainstream.
As empresas têm uma demanda enorme por pessoas que entendem algo sobre isso, mas existem poucas pessoas. Quanto mais criamos esse conteúdo e temos a oportunidade de aprender isso, mais oferecemos às pessoas a oportunidade de fazer perguntas que estão no ar, mais chances temos de avançar nessa direção.
Antecedentes
- A conferência está sendo realizada pela primeira vez, mas a escola não é a primeira vez. Como tudo isso surgiu e se desenvolveu?- Esta é uma história interessante. Há dois anos, em maio de 2017, estávamos em Kiev com Nikita
Kovale (
ndkoval ), especialista em multithreading. E ele me disse que a
Escola de Verão, na prática e na teoria da computação simultânea , será realizada em São Petersburgo.
O tópico da programação multithread nos últimos três anos da minha carreira em engenharia foi extraordinariamente interessante. E então aconteceu que pessoas muito, muito famosas vêm a São Petersburgo no verão, o mesmo Maurice Herlihi e Nir Shavit, cujo
livro eu estudei. E muitos dos meus amigos se relacionaram com isso - por exemplo, Roma Elizarov (
elizarov ). Percebi que não posso perder esse evento.
Quando ficou claro que o programa de 2017 da escola seria legal, surgiu a ideia de que as palestras deveriam ser gravadas em vídeo. No Grupo JUG.ru, tínhamos um entendimento completo de como essas palestras deveriam ser gravadas. E nos encaixamos no SPTCC como os caras que fizeram o vídeo para a escola. Como resultado, todas as palestras da escola
estão no nosso canal do YouTube.
Comecei a me comunicar com Peter Kuznetsov, que era o principal ideólogo e organizador dessa escola, e com Vitaly Aksyonov, que ajudou na organização a fazer tudo isso em São Petersburgo. Percebi que é fantasticamente saudável e interessante e, provavelmente, muito ruim, que apenas 100 participantes podem tocar o belo.
Quando Peter pensou na necessidade de voltar a estudar (em 2018, não havia tempo e esforço, então decidiu fazê-lo em 2019), ficou claro que podemos ajudá-lo, simplesmente removendo dele todas as coisas organizacionais. E assim é agora, Peter está envolvido em conteúdo, e nós somos o resto. E este parece ser o esquema certo: Peter provavelmente está mais interessado no programa do que "onde e quando todos almoçarão". E somos bons em trabalhar com salas, locais e assim por diante.
Desta vez, em vez de SPTCC, a escola é chamada SPTDC, não "computação simultânea", mas "computação distribuída". Portanto, a diferença é sobre isso: a última vez que a escola não falou sobre sistemas distribuídos, mas sobre isso, vamos falar ativamente sobre eles.
- Como a escola não é a primeira vez, já é possível tirar algumas conclusões do passado. O que aconteceu na hora anterior?- Quando a primeira escola foi criada, há dois anos, era esperado que houvesse um evento acadêmico, principalmente interessante para os alunos. Além disso, estudantes de todo o mundo, porque a escola é apenas em inglês, e pensava-se que um número significativo de estudantes estrangeiros viria.
De fato, muitos engenheiros vieram de grandes empresas russas como o mesmo Yandex. Havia Andrei Pangin (
apangin ) do Odnoklassniki, havia caras do JetBrains que estão ativamente envolvidos neste tópico. Em geral, havia muitos rostos familiares das empresas parceiras. Não estou nem um pouco surpreso, entendo perfeitamente por que eles chegaram lá.
Na verdade, os organizadores esperavam que houvesse pessoas acadêmicas na escola e, de repente, pessoas da indústria vieram, e então ficou claro para mim que havia uma demanda na indústria.
Se o evento, que quase nunca foi promovido em lugar algum, na primeira vez em que um clique dos dedos reuniu uma audiência de adultos, na verdade há interesse. Parece-me que um pedido sobre este tópico amadureceu.
Maurice Herlichi na reunião JUG.ru- Além da escola, Maurice Herlichi falou na reunião JUG.ru em São Petersburgo em 2017, falando sobre memória transacional, e isso é um pouco mais próximo do formato da conferência. Quem veio então - as mesmas pessoas que costumam ir às reuniões do JUG.ru ou outra audiência?- Foi interessante, porque entendemos que Maurice teria um relatório geral, e não específico para Java, e fez um anúncio um pouco mais amplo do que costumamos fazer para nossos assinantes de notícias do JUG.
Muitas pessoas que eu conhecia vieram de comunidades que não falavam sobre Java: do hangout .NET, do JavaScript. Porque o tópico da memória transacional não é uma tecnologia de desenvolvimento específica. Quando um especialista de classe mundial chega para falar sobre memória transacional, perder a oportunidade de ouvir essa pessoa e fazer perguntas é simplesmente um crime. Isso causa uma forte impressão quando a pessoa cujo livro você está estudando chega até você e lhe diz uma coisa. Simplesmente fantástico.
- E qual foi o feedback com base nos resultados? A abordagem foi muito acadêmica e incompreensível para as pessoas da indústria?"As críticas ao relatório de Herlich foram boas." As pessoas escreveram que ele expõe de maneira muito simples e clara o que não era esperado de um professor acadêmico. Mas devemos entender que não o chamamos apenas, este é um especialista mundialmente famoso, com vasta experiência em falar e com experiência em uma pilha de livros e artigos. E, provavelmente, ele se tornou famoso em muitos aspectos devido à sua capacidade de transmitir material para as pessoas. Portanto, isso não é surpreendente.
Ele tem um inglês normal e compreensível e, é claro, sabe muito sobre o que está falando. Ou seja, ele pode fazer absolutamente qualquer pergunta. Basicamente, as pessoas reclamaram que demos pouco tempo a Maurice para o relatório: duas horas para isso não basta, precisamos de pelo menos mais duas. Bem, eles conseguiram em duas horas, então eles conseguiram.
Motivação
- Normalmente, o grupo JUG.ru está envolvido em eventos de grande escala, e esse tópico parece mais especializado. Por que foi decidido levá-lo? Existe uma vontade de realizar um evento menor ou muitos espectadores podem se reunir sobre esse assunto?- De fato, quando você realiza algum tipo de evento e faz um certo nível de discussão, sempre surge a questão de quão massiva essa discussão é. Quantas pessoas - dez, cem ou mil - são interessantes. Há uma troca entre massa e profundidade. Essa é uma pergunta completamente normal e todos decidem de maneira diferente.
Nesse caso, quero fazer o evento "para mim". No multithreading, ainda entendo alguma coisa (em conferências dei palestras sobre esse tópico, contei aos alunos várias vezes), mas em sistemas distribuídos sou leigo: li alguns artigos e vi várias palestras, mas nem tenho um único livro completo leia.
Temos um comitê de programa composto por especialistas nesse campo e capaz de avaliar a precisão dos relatórios. E da minha parte, estou tentando fazer esse evento de forma que eu gostaria de ir para mim com a minha falta de conhecimento. Será que isso interessará ao público de massa, eu não sei. Provavelmente, nesta fase, essa não é a principal tarefa deste evento. Agora é mais importante formar o programa mais poderoso em pouco tempo.
, « », «, ». - , . .
. . Java- , . , , . , , , , , , — .
, . , , , .
70-80% . , ( , ) ( ). . .
, -. . , , , , -. , - . JavaScript, Java .NET , , , , , — , - .
: 70–80% . ? , . ? : , .
SPTDC , Hydra , .