"A solicitude está atrasada": Alexey Fedorov sobre unha nova conferencia sobre sistemas distribuídos

"A solicitude está atrasada": Alexey Fedorov sobre unha nova conferencia sobre sistemas distribuídos

Hai pouco houbo anunciado dous eventos á vez sobre o desenvolvemento de sistemas multiprocesos e distribuídos: unha conferencia hidra (11-12 de xullo) e escola SPTDC (8-12 de xullo). As persoas que están preto deste tema entenden que chegar a Rusia Leslie Lampport, Maurice Herlihy и Michael Scott - o evento máis importante. Pero xurdiron outras preguntas:

  • Que esperar da conferencia: "académica" ou "produción"?
  • Como están relacionados a escola e a conferencia? A quen vai dirixido isto e aquelo?
  • Por que se solapan nas datas?
  • Serán útiles para aqueles que non dedicaron toda a súa vida a sistemas distribuídos?

Todo isto sábeo ben a persoa que deu vida a Hydra: o noso director Alexei Fedorov (23derevo). Respondeu a todas as preguntas.

Formato

— Unha pregunta introdutoria para aqueles que están lonxe dos sistemas distribuídos: de que tratan ambos eventos?

— O reto global é que ao noso redor hai servizos con grandes volumes de operacións e tarefas informáticas complexas que non se poden facer nun só ordenador. Isto significa que debe haber varios coches. E entón xorden preguntas relacionadas con como sincronizar correctamente o seu traballo e que facer en condicións de non a máxima fiabilidade (porque o equipo avaría e a rede se desprende).

Cantas máis máquinas hai, máis puntos de fallo hai. Que facer se diferentes máquinas producen resultados diferentes para os mesmos cálculos? Que facer se a rede desaparece durante algún tempo e parte dos cálculos queda illado, como podes combinalo todo? En xeral, hai un millón de problemas asociados a isto. Novas solucións - novos problemas.

Neste ámbito hai áreas completamente aplicadas, e hai outras máis científicas, algo que aínda non se converteu en corrente. Gustaríame falar do que está a suceder tanto na práctica como na ciencia, e o máis importante, no seu cruce. Isto é do que tratará a primeira conferencia Hydra.

— Gustaríame entender que hai unha conferencia, e que hai unha escola de verán. Como se relacionan? Se se fai un desconto para os participantes da escola para asistir á conferencia, entón por que se solapan nas datas, de xeito que é imposible asistir a todo á vez sen perder?

— A escola é un evento de cámara para entre 100 e 150 persoas, onde os principais expertos de todo o mundo veñen dar conferencias durante cinco días. E xorde unha situación cando luminarias de clase mundial reúnense en San Petersburgo durante cinco días, dispostas a contar algo. E neste caso, xorde a decisión de organizar non só unha escola de cámara, senón tamén unha conferencia a maior escala.

É posible realizar unha escola deste tipo só no verán, en xullo, porque entre estes especialistas hai profesores universitarios actuais, e simplemente non están preparados noutro momento: teñen estudantes, diplomas, conferencias, etc. O formato escolar é de cinco días laborables. Sábese que no verán as fins de semana á xente gústalle ir a algún sitio. Isto significa que non podemos realizar unha conferencia nin a fin de semana antes da escola nin a fin de semana despois da escola.

E se o estendes un par de días máis antes ou despois da fin de semana, entón máxicamente os cinco días de estancia dos especialistas en San Petersburgo convértense en nove. E non están preparados para iso.

Polo tanto, a única solución que atopamos foi simplemente realizar a conferencia en paralelo co colexio. Si, isto xera algúns problemas. Hai xente que quere ir á escola e a unha conferencia, e terá que perderse algunha charla aquí ou alí. A boa noticia é que todo isto terá lugar en salas veciñas, podes correr de ida e volta. E outra cousa boa é a dispoñibilidade de gravacións de vídeo, nas que despois podes ver con tranquilidade o que che perdeches.

— Cando ocorren dous eventos en paralelo, a xente pregúntase "cal necesito máis?" Que debe esperar exactamente de cada un e cales son as diferenzas?

— A escola é un evento puramente académico, unha escola científica clásica durante varios días. Calquera persoa que estivo involucrada na ciencia e teña algo que ver coa escola de posgrao ten unha idea do que é unha escola académica.

"A solicitude está atrasada": Alexey Fedorov sobre unha nova conferencia sobre sistemas distribuídos

Normalmente, estes eventos académicos non están moi ben organizados debido á falta de coñecementos sobre eventos entre as persoas que o fan. Pero aínda somos rapaces con bastante experiencia, polo que podemos facer todo con bastante competencia. Creo que desde o punto de vista organizativo, SPTDC estará por riba de calquera escola académica ou baseada na investigación que teña visto.

Escola SPTDC - Este é un formato no que cada conferencia grande se le en dúas parellas: "unha hora e media - un descanso - unha hora e media". Debes entender que pode non ser doado para un participante por primeira vez: cando esta escola se celebrou por primeira vez hai dous anos, eu mesmo era inusual, apagueime varias veces aproximadamente no medio dunha dobre conferencia e entón era difícil entender o que estaba a pasar. Pero isto depende moito do profesor: un bo profesor fala de xeito moi interesante durante as tres horas.

Conferencia Hydra - un evento máis práctico. Serán varias luminarias da ciencia que viñeron a dar charlas á Escola: de Leslie Lampport, cuxo traballo subxace na propia teoría dos sistemas multifíos e distribuídos, para Maurice Herlihy, un dos autores do famoso libro de texto sobre concorrencia "The Art of Multiprocessor Programming". Pero na conferencia trataremos de falar de como se implementan certos algoritmos na realidade, que problemas se enfrontan os enxeñeiros na práctica, quen ten éxito e quen falla, por que uns algoritmos se usan na práctica e outros non. E por suposto, imos falar do futuro do desenvolvemento de sistemas multiprocesos e distribuídos. É dicir, daremos tal vangarda: de que fala a ciencia mundial agora, en que xiran os pensamentos dos principais enxeñeiros e como encaixa todo.

— Dado que a conferencia é máis aplicada, ¿non só haberá luminarias académicas, senón tamén relatores da “produción”?

- Definitivamente. Estamos tentando mirar todos os "grandes": Google, Netflix, Yandex, Odnoklassniki, Facebook. Hai problemas específicos divertidos. Por exemplo, todo o mundo din: "Netflix é un sistema distribuído, case a metade do tráfico dos Estados Unidos, moi xenial", e cando comezas a mirar os seus informes, artigos e publicacións reais, aparece unha lixeira decepción. Porque, aínda que este é certamente de clase mundial e hai un egde de corte, hai menos do que parece a primeira vista.

Xorde un dilema interesante: podes chamar a representantes de grandes empresas eminentes ou podes chamar a alguén que xa coñecemos. En realidade, a experiencia existe aquí e alí. E máis ben tratamos de sacar non "xente de marcas moi grandes", senón especialistas moi grandes, persoas específicas.

Por exemplo, estará Martin Kleppmann, que no seu momento fixo un chapuzón en LinkedIn e tamén lanzou bo libro — quizais un dos libros básicos no campo dos sistemas distribuídos.

- Se unha persoa non traballa en Netflix, senón nunha empresa máis sinxela, pode preguntarse: "¿Debo ir a unha conferencia deste tipo, ou hai todo tipo de Netflixes falando entre eles, pero non teño nada que facer?"

— Vou dicir isto: cando traballei en Oracle durante algo máis de tres anos, escoitei as cousas máis sorprendentes e interesantes na cociña e nos fumadores, cando os compañeiros reuníanse alí facendo certas partes da plataforma Java. Estes poden ser persoas da máquina virtual, ou do departamento de probas, ou de concorrencia de rendemento, por exemplo, Lyosha Shipilev e Seryozha Kuksenko.

Cando empezaban a discutir algo entre eles, normalmente só escoitaba coa boca aberta. Para min eran cousas incribles e inesperadas nas que nin sequera pensaba. Naturalmente, ao principio non entendín o 90% do que falaban. Entón o 80% fíxose incomprensible. E despois de facer os deberes e ler algúns libros, este número baixou ata o 70%. Aínda non entendo moito do que falan entre eles. Pero mentres me sentaba na esquina cunha cunca de café e escoitaba, comecei a entender un pouco o que estaba a pasar.

Polo tanto, cando Google, Netflix, LinkedIn, Odnoklassniki e Yandex falan entre eles, isto non significa que sexa algo incomprensible e pouco interesante. Pola contra, hai que escoitar con atención, porque este é o noso futuro.

Por suposto, hai xente que non precisa de todo isto. Se non queres desenvolverte neste tema, non necesitas ir a esta conferencia, só perderás o tempo alí. Pero se o tema é interesante, pero non entendes nada ao respecto ou só o estás mirando, deberías vir, porque non atoparás nada semellante en ningún lado. Ademais, creo que non só en Rusia, senón tamén no mundo. Estamos tentando facer unha conferencia que non só sexa a líder sobre este tema en Rusia, senón que en xeral sexa a número un do mundo.

Esta non é a tarefa máis fácil, pero cando temos unha oportunidade tan incrible de reunir oradores fortes de todo o mundo, estou disposto a dar moito para que isto suceda. Por suposto, algúns dos que invitamos á primeira Hydra non poderán vir. Pero vou dicir isto: nunca comezamos unha nova conferencia cunha formación tan potente. Excepto, quizais, o primeiro JPoint hai seis anos.

— Gustaríame ampliar as palabras “este é o noso futuro”: afectará despois o tema a quen hoxe non o pensa?

- Si, estou seguro diso. Polo tanto, paréceme moi acertado comezar a discutilo canto antes. Por exemplo, a teoría do multithreading apareceu hai moito tempo (nos anos 70, os traballos xa se publicaban en pleno apoxeo), pero durante moito tempo foron o grupo de especialistas estreitos, ata que apareceu o primeiro ordenador de dobre núcleo do usuario. a principios dos anos 10. E agora todos temos servidores multinúcleo, portátiles e incluso teléfonos, e este é o principal. Pasou uns XNUMX anos para que isto se xeneralizase, para que a xente entendese que este discurso non é competencia dun círculo estreito de especialistas.

E agora estamos a ver aproximadamente o mesmo cos sistemas distribuídos. Porque solucións básicas como a distribución de cargas, a tolerancia a fallos e similares levan xa bastante tempo, pero moi pouca xente sabe o que é, por exemplo, o consenso distribuído ou Paxos.

Un dos obxectivos máis importantes que me propoño para este evento é mergullar aos enxeñeiros cada vez máis nesta discusión. Debes entender que nas conferencias non só se discuten algúns temas e solucións, senón que tamén xorde un tesauro: un aparello conceptual unificado.

Considero a miña tarefa crear unha plataforma onde todos poidan discutir todo isto, compartir experiencias e opinións. Para que ti e eu entendamos en común o que fai un algoritmo, o que fai outro, cal é mellor en que condicións, como se relacionan entre si, etc.

Unha cousa moi interesante está relacionada co mesmo multithreading. Cando os nosos amigos de Oracle (principalmente Lesha Shipilev e Sergey Kuksenko) comezaron a falar activamente sobre o rendemento e, en particular, sobre o multithreading, literalmente dous ou tres anos despois estas preguntas comezaron a facerse nas entrevistas nas empresas, a xente comezou a discutilo en salas de fumadores. É dicir, unha cousa que era a cantidade de especialistas estreitos de súpeto converteuse en corrente principal.

E isto é moi correcto. Paréceme que axudamos a estes rapaces a popularizar todo este tema, que é realmente importante, útil e interesante. Se antes ninguén pensaba en como un servidor Java procesa as solicitudes en paralelo, agora a xente ten polo menos un certo nivel de comprensión de como funciona todo. E iso é xenial.

A tarefa que vexo agora é facer aproximadamente o mesmo cos sistemas distribuídos. Para que todo o mundo entenda a groso modo o que é, de onde vén, que tarefas e problemas hai, para que isto tamén se faga corrente.

As empresas teñen unha gran demanda de persoas que entendan algo sobre isto, e hai poucas persoas deste tipo. Canto máis creamos ao redor deste contido e a oportunidade de aprender del, máis oportunidades damos á xente para facer preguntas que están no aire, máis probabilidades teremos de movernos nesa dirección dalgún xeito.

prehistoria

— A conferencia celébrase por primeira vez, pero non é a primeira vez para o colexio. Como xurdiu e se desenvolveu todo isto?

- Esta é unha historia interesante. Hai dous anos, en maio de 2017, sentámonos en Kiev con Nikita Koval (ndkoval), un experto no campo do multithreading. E díxome que se celebraría en San Petersburgo "Escuela de verán na práctica e a teoría da computación simultánea".

O tema da programación multiproceso foi fantásticamente interesante nos últimos tres anos da miña carreira de enxeñeiro. E entón resultou que no verán chegan a San Petersburgo xente moi, moi famosa, os mesmos Maurice Herlihy e Nir Shavit, segundo contan. libro de texto que estudei. E moitos dos meus amigos tiveron algo que ver con isto, por exemplo, Roma Elizarov (elizarov). Decateime de que simplemente non podía perderme un evento así.

Cando quedou claro que o programa da escola 2017 sería xenial, xurdiu a idea de que as conferencias se gravaran definitivamente en vídeo. Nós, en JUG.ru Group, tiñamos unha comprensión completa de como se deberían gravar este tipo de conferencias. E encaixámonos no SPTCC como os rapaces que fixeron un vídeo para a escola. Como resultado, todas as charlas escolares mentira na nosa canle de YouTube.

Comecei a comunicarme con Pyotr Kuznetsov, que foi o principal ideólogo e organizador desta escola, e con Vitaly Aksenov, que axudou a organizar todo isto en San Petersburgo. Decateime de que isto é fantástico e interesante e, probablemente, é moi malo que só 100 participantes poidan tocar a beleza.

Cando Peter pensou que necesitaba comezar de novo a escola (en 2018 non había enerxía nin tempo, polo que decidiu facelo en 2019), quedou claro que podíamos axudarlle simplemente quitándolle todas as cousas organizativas. Isto é o que está a pasar agora, Peter ocúpase do contido e nós facemos todo o demais. E este parece o esquema correcto: Peter probablemente estea máis interesado no programa que "onde e cando almorzarán todos". E somos bos traballando con salas, locais, etc.

Esta vez, en lugar de SPTCC, a escola chámase SPTDC, non "computación simultánea", senón "computación distribuída". En consecuencia, esta é aproximadamente a diferenza: a última vez na escola non falaron de sistemas distribuídos, pero esta vez falaremos activamente deles.

— Dado que a escola non se celebra por primeira vez, xa podemos sacar algunhas conclusións do pasado. Que pasou a última vez?

— Cando se creou a primeira escola hai dous anos, estaba previsto que tivese lugar un acto académico, fundamentalmente de interese para o alumnado. Ademais, estudantes de todo o mundo, porque a escola está só en inglés, e pensouse que viría un número importante de estudantes estranxeiros.

De feito, resultou que moitos enxeñeiros procedían de grandes empresas rusas como Yandex. Estaba Andrey Pangin (apanxin) de Odnoklassniki, había rapaces de JetBrains que traballan activamente neste tema. En xeral, alí había moitas caras coñecidas das nosas empresas colaboradoras. Non me sorprende nada, entendo perfectamente por que viñeron alí.

En realidade, os organizadores tiñan expectativas de que houbese persoas académicas na Escola, pero de súpeto veu xente do sector, e entón quedei claro que había demanda no sector.

Se un evento que apenas se promocionou en ningún lado, ao primeiro clic dun dedo, reuniu un público de adultos, significa que realmente hai interese. Paréceme que unha solicitude sobre este tema está atrasada.

"A solicitude está atrasada": Alexey Fedorov sobre unha nova conferencia sobre sistemas distribuídos
Maurice Herlihy na reunión de JUG.ru

— Ademais da escola, Maurice Herlihy falou en San Petersburgo na reunión JUG.ru en 2017, tendo contado sobre a memoria transaccional, e isto achégase un pouco máis ao formato da conferencia. Quen veu entón: a mesma xente que adoita acudir ás reunións de JUG.ru ou un público diferente?

— Foi interesante porque entendemos que Maurice tería un informe xeral, non específico de Java, e fixemos un anuncio un pouco máis amplo do que adoitamos facer para os nosos subscritores de noticias de JUG.

Moita xente que coñezo procedía de comunidades que non tratan en absoluto de Java: da multitude de .NET, da multitude de JavaScript. Porque o tema da memoria transaccional non se relaciona cunha tecnoloxía de desenvolvemento específica. Cando un especialista de clase mundial chega a falar da memoria transaccional, perder a oportunidade de escoitar a esa persoa e facerlle preguntas é simplemente un crime. Só causa unha poderosa impresión cando a persoa cuxo libro estás estudando chega a ti e che di algo. Simplemente fantástico.

—¿E cal foi o resultado? O enfoque foi demasiado académico e incomprensible para a xente do sector?

- As opinións sobre o informe de Herlihy foron boas. A xente escribiu que afirmou de forma moi sinxela e clara o que non se esperaba dun profesor académico. Pero hai que entender que o convidamos por un motivo, é un especialista mundialmente coñecido con ampla experiencia na fala e con formación dunha chea de libros e artigos. E, probablemente, fíxose famoso en moitos sentidos grazas á súa capacidade para transmitir material á xente. Polo tanto, isto non é sorprendente.

Fala un inglés normal e comprensible e, por suposto, entende moi ben do que fala. É dicir, podes facerlle absolutamente calquera pregunta. Basicamente, a xente queixábase de que lle demos pouco tempo a Maurice para o seu informe: dúas horas non son suficientes para tal cousa, fai falta polo menos dúas máis. Ben, conseguimos facer o que conseguimos en dúas horas.

Motivación

- Normalmente JUG.ru Group trata eventos a gran escala, pero este tema parece máis altamente especializado. Por que decidiches asumilo? Hai vontade de realizar un evento máis pequeno, ou poden reunirse moitos espectadores sobre tal tema?

— De feito, cando realizas un evento e estableces un certo nivel de discusión, sempre xorde a pregunta de que tan estendida está esta discusión. Cantas persoas -dez, cen ou mil- están interesadas nisto? Hai unha compensación entre masa e profundidade. Esta é unha pregunta completamente normal, e todos a resolven de forma diferente.

Neste caso, quero facer o evento "para min". Aínda entendo algo sobre o multithreading (dei conferencias sobre este tema en conferencias, e díxenlle algo aos estudantes varias veces), pero son un novato no que se refire aos sistemas distribuídos: lin algúns artigos e vin varias conferencias, pero non ata un só libro completo leo.

Contamos cun comité do programa formado por expertos na materia que poden avaliar a precisión dos informes. E pola miña banda, estou tentando que este evento sexa un ao que, coa miña falta de coñecementos, me gustaría ir. Se será posible interesar ao público masivo, non o sei. Esta probablemente non sexa a tarefa máis importante deste evento neste momento. Agora é máis importante crear o programa máis forte en pouco tempo.

Probablemente, agora fixen ao equipo non a tarefa de "reunir mil persoas a primeira vez", senón de "facer aparecer a conferencia". Isto pode non parecer moi empresarial e algo inxenuo, aínda que non son un altruísta en absoluto. Pero ás veces podo permitirme algunhas liberdades.

Hai cousas máis importantes que o diñeiro e máis aló do diñeiro. Xa realizamos un gran número de eventos interesantes a gran escala para mil persoas ou máis. As nosas conferencias de Java superan dende hai tempo o milleiro de persoas, e agora outros eventos están saltando por riba deste bar. É dicir, a pregunta de que nos convertimos en organizadores experimentados e famosos xa non vale. E, probablemente, o que gañamos con estes eventos dános a oportunidade de reinvestir no que nos interesa, e neste caso, a min persoalmente.

Facendo este evento, vou contra algúns dos principios da nosa organización. Por exemplo, adoitamos preparar as conferencias con moita antelación, pero agora temos uns prazos moi axustados, e finalizamos o programa só un mes antes do propio evento.

E este evento será 70-80% en lingua inglesa. Tamén aquí sempre xorde unha discusión sobre se hai que estar máis preto da xente (que o entende mellor cando a maioría das reportaxes están en ruso) ou do mundo enteiro (porque o mundo técnico é de fala inglesa). Adoitamos tentar facer moitos informes en ruso. Pero non neste momento.

Ademais, tamén lle pediremos a algúns dos nosos falantes de ruso que falen en inglés. Este é, en certo sentido, un enfoque absolutamente antiusuario e inhumano. Pero debemos entender que actualmente non hai literatura en ruso sobre este tema, e calquera persoa que estea interesada nisto vese obrigada a ler en inglés. Isto significa que, dalgún xeito, é capaz de entender o inglés. Se no caso de JavaScript, Java ou .NET hai moita xente que non sabe moi ben o inglés, pero ao mesmo tempo pode programar ben, entón, probablemente, os sistemas distribuídos son un ámbito no que simplemente non hai outro forma de aprender agora.

Realmente quero levar a cabo este experimento: como vai ser percibido polo público en Rusia un evento en lingua inglesa do 70-80%. Entrará ou non? Non o sabemos de antemán porque nunca o fixemos. Pero por que non facelo? Digamos que este é un gran experimento que non podo evitar probar.

O programa escolar SPTDC xa está publicado enteiramente, e no caso de Hydra xa coñecido unha parte salientable, e en breve publicaremos unha análise de todo o programa das xornadas.

Fonte: www.habr.com

Engadir un comentario