“O pedido está atrasado”: ​​Alexey Fedorov sobre uma nova conferência sobre sistemas distribuídos

“O pedido está atrasado”: ​​Alexey Fedorov sobre uma nova conferência sobre sistemas distribuídos

Recentemente houve anunciado dois eventos ao mesmo tempo sobre o desenvolvimento de sistemas multithread e distribuídos: uma conferência Hydra (11 a 12 de julho) e escola SPTDC (8 a 12 de julho). Pessoas próximas a este assunto entendem que vir para a Rússia Leslie Lamport, Maurice Herlihy и Michael Scott - o evento mais importante. Mas surgiram outras questões:

  • O que esperar da conferência: “acadêmica” ou “produção”?
  • Como a escola e a conferência estão relacionadas? A quem se destina isto e aquilo?
  • Por que eles se sobrepõem nas datas?
  • Serão úteis para aqueles que não dedicaram toda a sua vida aos sistemas distribuídos?

Tudo isso é bem conhecido de quem deu vida à Hydra: nosso diretor Alexei Fedorov (23derevo). Ele respondeu todas as perguntas.

Formato

— Uma pergunta introdutória para quem está longe dos sistemas distribuídos: do que se tratam os dois eventos?

— O desafio global é que à nossa volta existem serviços com grandes volumes de operações e tarefas informáticas complexas que não podem ser realizadas num único computador. Isso significa que deve haver vários carros. E então surgem questões relacionadas a como sincronizar adequadamente seu trabalho e o que fazer em condições de não a maior confiabilidade (porque o equipamento quebra e a rede cai).

Quanto mais máquinas existem, mais pontos de falha existem. O que fazer se máquinas diferentes produzirem resultados diferentes para os mesmos cálculos? O que fazer se a rede desaparecer por algum tempo e parte dos cálculos ficar isolada, como combinar tudo isso? Em geral, há um milhão de problemas associados a isso. Novas soluções – novos problemas.

Nesta área existem áreas totalmente aplicadas e existem mais científicas - algo que ainda não se tornou mainstream. Gostaria de falar sobre o que está acontecendo tanto na prática quanto na ciência e, o mais importante, na sua junção. É disso que tratará a primeira conferência Hydra.

— Gostaria de compreender o facto de haver uma conferência e uma escola de verão. Como eles se relacionam? Se é feito um desconto para os participantes das escolas participarem da conferência, então por que eles se sobrepõem nas datas, de modo que é impossível assistir a tudo de uma vez sem prejuízo?

— A escola é um evento de câmara para 100 a 150 pessoas, onde os principais especialistas de todo o mundo vêm e dão palestras durante cinco dias. E surge uma situação quando luminares de classe mundial se reúnem em São Petersburgo por cinco dias, prontos para contar algo. E neste caso surge a decisão de organizar não só uma escola de câmara, mas também uma conferência de maior dimensão.

Só é possível fazer essa escola no verão, em julho, porque entre esses especialistas estão atuais professores universitários, e eles simplesmente não estão preparados em nenhum outro momento: têm alunos, diplomas, palestras e assim por diante. O formato escolar é de cinco dias úteis. É sabido que no verão nos finais de semana as pessoas gostam de ir a algum lugar. Isto significa que não podemos realizar uma conferência nem no fim de semana antes das aulas, nem no fim de semana depois das aulas.

E se você estender mais alguns dias antes ou depois do fim de semana, magicamente os cinco dias de permanência dos especialistas em São Petersburgo se transformarão em nove. E eles não estão prontos para isso.

Portanto, a única solução que encontramos foi simplesmente realizar a conferência em paralelo com a escola. Sim, isso cria alguns problemas. Tem gente que quer ir para a escola e para uma conferência, e vai ter que perder algumas palestras aqui ou ali. A boa notícia é que tudo isso acontecerá em salões vizinhos, você pode correr de um lado para o outro. E outra coisa boa é a disponibilidade de gravações de vídeo, nas quais você poderá depois assistir com calma o que perdeu.

— Quando dois eventos acontecem em paralelo, as pessoas se perguntam “de qual deles eu preciso mais?” O que exatamente você deve 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. Qualquer pessoa que tenha se envolvido com ciências e tenha alguma relação com a pós-graduação tem uma ideia do que é uma escola acadêmica.

“O pedido está atrasado”: ​​Alexey Fedorov sobre uma nova conferência sobre sistemas distribuídos

Normalmente, esses eventos acadêmicos não são muito bem organizados devido à falta de experiência das pessoas que os realizam. Mas ainda somos caras bastante experientes, então podemos fazer tudo com bastante competência. Penso que, do ponto de vista organizacional, o SPTDC estará muito acima de qualquer escola académica ou de investigação que alguma vez tenha visto.

Escola SPTDC - este é um formato onde cada grande palestra é lida em dois pares: “uma hora e meia - um intervalo - uma hora e meia”. Você deve entender que pode não ser fácil para um participante pela primeira vez: quando esta escola foi realizada pela primeira vez há dois anos, eu mesmo fui incomum, desliguei várias vezes aproximadamente no meio de uma palestra dupla, e então foi difícil entender o que estava acontecendo. Mas isso depende muito do palestrante: um bom palestrante fala de maneira muito interessante durante as três horas.

Conferência Hidra - um evento mais prático. Vários luminares da ciência virão dar palestras na Escola: de Leslie Lamport, cujo trabalho fundamenta a própria teoria dos sistemas multithread e distribuídos, para Maurice Herlihy, um dos autores do famoso livro sobre concorrência “The Art of Multiprocessor Programming”. Mas na conferência tentaremos falar sobre como certos algoritmos são implementados na realidade, quais problemas os engenheiros enfrentam na prática, quem tem sucesso e quem falha, por que alguns algoritmos são usados ​​na prática e outros não. E, claro, vamos falar sobre o futuro do desenvolvimento de sistemas distribuídos e multithread. Ou seja, daremos uma visão tão inovadora: sobre o que a ciência mundial está falando agora, em torno do que giram os pensamentos dos principais engenheiros e como tudo isso se encaixa.

— Como a conferência é mais aplicada, não haverá apenas luminares acadêmicos, mas também palestrantes da “produção”?

- Definitivamente. Estamos tentando olhar para todos os “grandes”: Google, Netflix, Yandex, Odnoklassniki, Facebook. Existem problemas engraçados específicos. Por exemplo, todo mundo diz: “O Netflix é um sistema distribuído, quase metade do tráfego dos EUA, muito legal”, e quando você começa a olhar seus relatórios, artigos e publicações reais, uma leve decepção se instala. Porque, embora isto seja certamente de classe mundial e haja vanguarda, há menos do que parece à primeira vista.

Surge um dilema interessante: você pode ligar para representantes de grandes empresas eminentes ou pode ligar para alguém que já conhecemos. Na realidade, a experiência existe aqui e ali. E estamos tentando retirar não “pessoas de marcas muito grandes”, mas especialistas muito grandes, pessoas específicas.

Por exemplo, haverá Martin Kleppmann, que certa vez causou impacto no LinkedIn e também divulgou bom livro — talvez um dos livros básicos na área de sistemas distribuídos.

— Se uma pessoa não trabalha na Netflix, mas em uma empresa mais simples, ela pode se perguntar: “Devo ir a uma conferência dessas ou tem todo tipo de Netflix conversando entre si, mas não tenho nada para fazer?”

— Vou dizer o seguinte: quando trabalhei na Oracle por pouco mais de três anos, ouvia as coisas mais incríveis e interessantes na cozinha e nas salas de fumo, quando colegas ali se reuniam fazendo certas partes da plataforma Java. Podem ser pessoas da máquina virtual, do departamento de testes ou da simultaneidade de desempenho - por exemplo, Lyosha Shipilev e Seryozha Kuksenko.

Quando eles começavam a discutir algo entre si, eu geralmente apenas ouvia de boca aberta. Para mim foram coisas incríveis e inesperadas nas quais eu nem tinha pensado. Naturalmente, no início não entendi 90% do que estavam falando. Então 80% ficaram incompreensíveis. E depois que fiz minha lição de casa e li alguns livros, esse número caiu para 70%. Ainda não entendo muito do que eles falam entre si. Mas enquanto estava sentado no canto com uma xícara de café e escutando, comecei a entender um pouco o que estava acontecendo.

Portanto, quando Google, Netflix, LinkedIn, Odnoklassniki e Yandex conversam entre si, isso não significa que seja algo incompreensível e desinteressante. Pelo contrário, devemos ouvir com atenção, porque este é o nosso futuro.

Claro, existem pessoas que não precisam de tudo isso. Se você não quer se desenvolver nesse tema, não precisa ir a essa conferência, só vai perder tempo lá. Mas se o assunto é interessante, mas você não entende nada sobre ele ou está apenas olhando, então deveria vir, porque não encontrará nada parecido em lugar nenhum. Além disso, acho que não só na Rússia, mas também no mundo. Estamos tentando fazer uma conferência que não seja apenas a líder neste tópico na Rússia, mas que seja geralmente a número um no mundo.

Esta não é a tarefa mais fácil, mas quando temos uma oportunidade tão incrível de reunir oradores fortes de todo o mundo, estou disposto a dar muito para que isso aconteça. É claro que alguns dos que convidamos para a primeira Hydra não poderão comparecer. Mas direi o seguinte: nunca iniciamos uma nova conferência com uma formação tão poderosa. Exceto, talvez, o primeiro JPoint há seis anos.

— Gostaria de aprofundar as palavras “este é o nosso futuro”: o tema afetará mais tarde aqueles que não pensam nele hoje?

- Sim, tenho certeza disso. Por conseguinte, parece-me muito correcto começar a discutir o assunto o mais rapidamente possível. Por exemplo, a teoria do multithreading surgiu há muito tempo (na década de 70, os trabalhos já estavam sendo publicados a todo vapor), mas por muito tempo eles foram muitos especialistas restritos, até que apareceu o primeiro computador usuário dual-core apareceu no início dos anos 10. E agora todos nós temos servidores multi-core, laptops e até telefones, e isso é o mainstream. Demorou cerca de XNUMX anos para que isso se generalizasse, para que as pessoas entendessem que este discurso não é domínio de um círculo restrito de especialistas.

E agora estamos vendo aproximadamente a mesma coisa com sistemas distribuídos. Porque soluções básicas como distribuição de carga, tolerância a falhas e similares já são feitas há muito tempo, mas muito poucas pessoas sabem o que é, por exemplo, consenso distribuído ou Paxos.

Um dos objetivos mais importantes que estabeleci para este evento é envolver cada vez mais os engenheiros nesta discussão. É preciso entender que nas conferências alguns tópicos e soluções não são apenas discutidos, mas também surge um tesauro - um aparato conceitual unificado.

Vejo como minha tarefa criar uma plataforma onde todos possam discutir tudo isso, compartilhar experiências e opiniões. Para que você e eu tenhamos um entendimento comum sobre o que um algoritmo faz, o que outro faz, qual deles é melhor em quais 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 (principalmente Lesha 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 quartos para fumantes. Ou seja, algo que pertencia a especialistas restritos de repente se tornou popular.

E isso é muito correto. Parece-me que ajudamos esses caras a popularizar todo esse assunto, que é muito importante, útil e interessante. Se antes ninguém pensava em como um servidor Java processa solicitações em paralelo, agora as pessoas têm, pelo menos em algum nível, uma compreensão de como tudo funciona. E isso é ótimo.

A tarefa que vejo agora é fazer aproximadamente a mesma coisa com sistemas distribuídos. Para que todos entendam aproximadamente o que é, de onde vem, quais são as tarefas e os problemas que existem, para que também isso se torne popular.

As empresas têm uma enorme demanda por pessoas que entendam algo sobre isso, e há poucas pessoas assim. Quanto mais criamos em torno desse conteúdo e da oportunidade de aprender com ele, quanto mais damos às pessoas oportunidades de fazer perguntas que estão no ar, maior a probabilidade de avançarmos de alguma forma nessa direção.

Pré-história

— A conferência é realizada pela primeira vez, mas não é a primeira vez na escola. Como tudo isso surgiu e se desenvolveu?

- Esta é uma história interessante. Há dois anos, em maio de 2017, estivemos em Kiev com Nikita Koval (ndkoval), um especialista na área de multithreading. E ele me disse que seria realizado em São Petersburgo “Escola de Verão na prática e teoria da computação concorrente”.

O tópico da programação multithread tem sido fantasticamente interessante nos últimos três anos da minha carreira de engenharia. E então descobriu-se que no verão pessoas muito, muito famosas vêm a São Petersburgo, os mesmos Maurice Herlihy e Nir Shavit, segundo livro didático que estudei. E muitos dos meus amigos tiveram algo a ver com isso - por exemplo, Roma Elizarov (Elizarov). Percebi que simplesmente não poderia perder tal evento.

Quando ficou claro que a programação da escola para 2017 seria ótima, surgiu a ideia de que as palestras deveriam ser gravadas em vídeo. Nós do Grupo JUG.ru tínhamos um entendimento completo de como essas palestras deveriam ser gravadas. E a gente se enquadra no SPTCC como a galera que fez um vídeo para a escola. Como resultado, todas as palestras escolares mentir em nosso canal no YouTube.

Comecei a me comunicar com Pyotr Kuznetsov, que foi o principal ideólogo e organizador desta escola, e com Vitaly Aksenov, que ajudou a organizar tudo isso em São Petersburgo. Percebi que isso é fantasticamente legal e interessante e, provavelmente, é muito ruim que apenas 100 participantes possam tocar na beleza.

Quando Peter pensou que precisava voltar à escola (em 2018 não havia energia e tempo, então ele decidiu fazer isso em 2019), ficou claro que poderíamos ajudá-lo simplesmente removendo dele todas as coisas organizacionais. É isso que está acontecendo agora, Peter cuida do conteúdo e nós fazemos todo o resto. E este parece ser o esquema certo: Peter provavelmente está mais interessado no programa do que em “onde e quando todos almoçarão”. E somos bons em trabalhar com salões, locais e assim por diante.

Desta vez, em vez de SPTCC, a escola se chama SPTDC, não “computação simultânea”, mas “computação distribuída”. Conseqüentemente, esta é aproximadamente a diferença: da última vez na escola eles não falaram sobre sistemas distribuídos, mas desta vez falaremos ativamente sobre eles.

— Como a escola não é a primeira vez, já podemos tirar algumas conclusões do passado. O que aconteceu da última vez?

— Quando a primeira escola foi criada, há dois anos, esperava-se que houvesse um evento acadêmico, principalmente de interesse dos alunos. Além disso, estudantes de todo o mundo, porque a escola é apenas em inglês, e pensava-se que viria um número significativo de estudantes estrangeiros.

Na verdade, muitos engenheiros vieram de grandes empresas russas como a Yandex. Havia Andrey Pangin (apangina) de Odnoklassniki, havia caras da JetBrains que estão trabalhando ativamente neste tópico. Em geral, havia muitos rostos conhecidos das nossas empresas parceiras. Não estou nada surpreso, entendo perfeitamente por que eles vieram para lá.

Na verdade, os organizadores tinham expectativas de que houvesse acadêmicos na Escola, mas de repente vieram pessoas da indústria e então ficou claro para mim que havia demanda na indústria.

Se um evento que dificilmente foi promovido em qualquer lugar, ao primeiro clique de um dedo, reuniu um público adulto, significa que de facto há interesse. Parece-me que um pedido sobre este tema está atrasado.

“O pedido está atrasado”: ​​Alexey Fedorov sobre uma nova conferência sobre sistemas distribuídos
Maurice Herlihy na reunião JUG.ru

— Além da escola, Maurice Herlihy falou em São Petersburgo na reunião JUG.ru em 2017, tendo contado sobre memória transacional, e isso está um pouco mais próximo do formato de conferência. Quem veio então - as mesmas pessoas que costumam comparecer aos encontros do JUG.ru ou um público diferente?

— Foi interessante porque entendemos que Maurice teria um relatório geral, não específico de Java, e fizemos um anúncio um pouco mais amplo do que normalmente fazemos para nossos assinantes de notícias do JUG.

Muitas pessoas que conheço vieram de comunidades que não têm nada a ver com Java: do pessoal do .NET, do pessoal do JavaScript. Porque o tema memória transacional não está relacionado a uma tecnologia de desenvolvimento específica. Quando um especialista de classe mundial vem falar sobre memória transacional, perder a oportunidade de ouvir tal pessoa e fazer-lhe perguntas é simplesmente um crime. Causa uma impressão poderosa quando a pessoa cujo livro você está estudando vem até você e lhe diz algo. Simplesmente fantástico.

— E qual foi o feedback resultante? A abordagem foi muito acadêmica e incompreensível para as pessoas do setor?

— As resenhas do relatório de Herlihy foram boas. As pessoas escreveram que ele afirmou de forma muito simples e clara o que não se esperava de um professor acadêmico. Mas devemos entender que o convidamos por um motivo: ele é um especialista mundialmente famoso, com vasta experiência em palestras e experiência em vários livros e artigos. E, provavelmente, ele se tornou famoso em grande parte graças à sua capacidade de transmitir material às pessoas. Portanto, isso não é surpreendente.

Ele fala um inglês normal e compreensível e, claro, entende muito bem o que está falando. Ou seja, você pode fazer absolutamente qualquer pergunta a ele. Basicamente, as pessoas queixaram-se de que demos muito pouco tempo ao Maurice para o seu relatório: duas horas não são suficientes para tal, são necessárias pelo menos mais duas. Bem, conseguimos fazer o que conseguimos em duas horas.

Motivação

— Normalmente o Grupo JUG.ru lida com eventos de grande escala, mas este tópico parece mais especializado. Por que você decidiu assumir isso? Existe vontade de realizar um evento menor ou muitos espectadores podem se reunir para discutir esse assunto?

— Na verdade, quando você realiza um evento e estabelece um determinado nível de discussão, surge sempre a questão de quão difundida está essa discussão. Quantas pessoas – dez, cem ou mil – estão interessadas nisso? Existe uma compensação entre massa e profundidade. Esta é uma questão completamente normal e cada pessoa a resolve de maneira diferente.

Nesse caso, quero fazer o evento “para mim”. Ainda entendo algo sobre multithreading (dei palestras sobre esse assunto em conferências e contei algo aos alunos várias vezes), mas sou um novato quando se trata de sistemas distribuídos: li alguns artigos e vi várias palestras, mas não até mesmo um único livro completo o leu.

Temos um comitê de programa formado por especialistas na área que podem avaliar a precisão dos relatórios. E da minha parte, estou tentando fazer deste evento um evento que eu, com a minha falta de conhecimento, gostaria de ir. Se será possível interessar o grande público, não sei. Esta provavelmente não é a tarefa mais importante deste evento nesta fase. Agora é mais importante criar o programa mais forte em pouco tempo.

Provavelmente, agora eu atribuí à equipe não a tarefa de “reunir mil pessoas pela primeira vez”, mas de “fazer a conferência aparecer”. Isto pode não parecer muito profissional e um tanto ingênuo, embora eu não seja um altruísta. Mas às vezes posso me permitir algumas liberdades.

Existem coisas mais importantes que o dinheiro e além do dinheiro. Já realizamos um grande número de eventos interessantes de grande escala para mil pessoas ou mais. Nossas conferências Java já ultrapassaram mil pessoas e agora outros eventos estão ultrapassando essa barreira. Ou seja, a questão de nos tornarmos organizadores experientes e famosos não vale mais a pena. E, provavelmente, o que ganhamos com esses eventos nos dá a oportunidade de reinvestir no que é interessante para nós e, neste caso, para mim pessoalmente.

Ao fazer este evento, estou contrariando alguns princípios da nossa organização. Por exemplo, normalmente tentamos preparar as conferências com bastante antecedência, mas agora temos prazos muito apertados e finalizamos o programa apenas um mês antes do evento em si.

E este evento será 70-80% em inglês. Também aqui surge sempre uma discussão sobre se precisamos de estar mais próximos das pessoas (que compreendem melhor quando a maioria dos relatórios são em russo) ou do mundo inteiro (porque o mundo técnico fala inglês). Geralmente tentamos fazer muitos relatórios em russo. Mas não neste momento.

Além disso, também pediremos a alguns dos nossos falantes de russo que falem em inglês. Esta é, em certo sentido, uma abordagem absolutamente anti-utilizador e desumana. Mas devemos compreender que atualmente não existe literatura em língua russa sobre este assunto, e qualquer pessoa que esteja interessada nisso é forçada a ler em inglês. Isso significa que ele é de alguma forma capaz de entender inglês. Se no caso de JavaScript, Java ou .NET há muitas pessoas que não sabem muito bem inglês, mas ao mesmo tempo conseguem programar bem, então, provavelmente, os sistemas distribuídos são uma área em que simplesmente não existe outra. maneira de aprender agora.

Eu realmente quero realizar esta experiência: como um evento com 70-80% de língua inglesa será percebido pelo público na Rússia. Vai entrar ou não? Não sabemos disso com antecedência porque nunca fizemos isso. Mas por que não fazer isso? Digamos apenas que este é um grande experimento que não posso deixar de tentar.

O programa escolar do SPTDC já está publicado inteiramente, e no caso de Hydra já é conhecido uma parte notável, e em breve publicaremos uma análise de todo o programa da conferência.

Fonte: habr.com

Adicionar um comentário