“La solicitud está atrasada”: Alexey Fedorov sobre una nueva conferencia sobre sistemas distribuidos

“La solicitud está atrasada”: Alexey Fedorov sobre una nueva conferencia sobre sistemas distribuidos

Recientemente hubo Anunciado dos eventos a la vez sobre el desarrollo de sistemas distribuidos y multiproceso: una conferencia Hydra (11-12 de julio) y escuela SPTDC (8-12 de julio). Las personas cercanas a este tema entienden que venir a Rusia Leslie Lamport, Mauricio Herlihy и michael scott - el evento más importante. Pero surgieron otras preguntas:

  • ¿Qué esperar de la conferencia: “académica” o “de producción”?
  • ¿Cómo se relacionan la escuela y la conferencia? ¿A quién va dirigido esto y aquello?
  • ¿Por qué se superponen en fechas?
  • ¿Serán útiles para quienes no han dedicado toda su vida a los sistemas distribuidos?

Todo esto lo sabe bien quien dio vida a Hydra: nuestro director. Alexéi Fedorov (23derevo). Respondió todas las preguntas.

Formato

— Una pregunta introductoria para quienes están lejos de los sistemas distribuidos: ¿de qué se tratan ambos eventos?

— El desafío global es que a nuestro alrededor existen servicios con grandes volúmenes de operaciones y tareas informáticas complejas que no se pueden realizar en una sola computadora. Esto significa que debe haber varios coches. Y luego surgen preguntas relacionadas con cómo sincronizar adecuadamente su trabajo y qué hacer en condiciones que no son las más altas (porque el equipo se estropea y la red se cae).

Cuantas más máquinas haya, más puntos de fallo habrá. ¿Qué hacer si diferentes máquinas producen resultados diferentes para los mismos cálculos? ¿Qué hacer si la red desaparece por un tiempo y parte de los cálculos queda aislado? ¿Cómo combinarlo todo? En general, hay un millón de problemas asociados con esto. Nuevas soluciones, nuevos problemas.

En este ámbito hay áreas completamente aplicadas y otras más científicas, algo que aún no se ha generalizado. Me gustaría hablar de lo que está sucediendo tanto en la práctica como en la ciencia y, lo más importante, en su confluencia. De esto se tratará la primera conferencia de Hydra.

— Me gustaría entender el hecho de que hay una conferencia y una escuela de verano. ¿Cómo se relacionan? Si se hace un descuento para que los participantes de la escuela asistan a la conferencia, ¿por qué se superponen las fechas, de modo que es imposible asistir a todo a la vez sin pérdidas?

— La escuela es un evento de cámara para 100 a 150 personas, donde los principales expertos de todo el mundo vienen y dictan conferencias durante cinco días. Y surge una situación cuando luminarias de talla mundial se reúnen en San Petersburgo durante cinco días, dispuestas a contar algo. Y en este caso surge la decisión de organizar no sólo una escuela de cámara, sino también una conferencia a mayor escala.

Es posible celebrar una escuela de este tipo sólo en el verano, en julio, porque entre estos especialistas hay profesores universitarios actuales, y simplemente no están preparados en ningún otro momento: tienen estudiantes, diplomas, conferencias, etc. El formato escolar es de cinco días laborables. Se sabe que en verano los fines de semana a la gente le gusta ir a algún lado. Esto significa que no podemos realizar una conferencia ni el fin de semana antes de la escuela ni el fin de semana después de la escuela.

Y si lo prolongamos un par de días más antes o después del fin de semana, mágicamente los cinco días de estancia de los especialistas en San Petersburgo se convierten en nueve. Y no están preparados para esto.

Por lo tanto, la única solución que encontramos fue simplemente celebrar la conferencia en paralelo con la escuela. Sí, esto crea algunos problemas. Hay personas que quieren ir a la escuela y a una conferencia, y tendrán que perderse algunas conferencias aquí o allá. La buena noticia es que todo esto se llevará a cabo en las salas vecinas, puedes correr de un lado a otro. Y otra cosa buena es la disponibilidad de grabaciones de vídeo, en las que luego podrás ver tranquilamente lo que te perdiste.

— Cuando dos eventos ocurren en paralelo, la gente se pregunta “¿cuál necesito más?” ¿Qué debe esperar exactamente de cada uno y cuáles son las diferencias?

— La escuela es un evento puramente académico, una escuela científica clásica durante varios días. Cualquiera que haya estado involucrado en la ciencia y haya tenido algo que ver con la escuela de posgrado tiene una idea de lo que es una escuela académica.

“La solicitud está atrasada”: Alexey Fedorov sobre una nueva conferencia sobre sistemas distribuidos

Por lo general, estos eventos académicos no están muy bien organizados debido a la falta de experiencia en eventos entre las personas que los realizan. Pero todavía somos gente bastante experimentada, por lo que podemos hacer todo de manera bastante competente. Creo que desde un punto de vista organizacional, SPTDC estará muy por encima de cualquier escuela académica o basada en la investigación que haya visto.

escuela SPTDC - este es un formato en el que cada conferencia importante se lee en dos pares: "una hora y media - un descanso - una hora y media". Debes entender que puede que no sea fácil para un participante por primera vez: cuando esta escuela se celebró por primera vez hace dos años, yo mismo era inusual, me desconecté varias veces aproximadamente en medio de una conferencia doble, y Entonces fue difícil entender lo que estaba pasando. Pero esto depende en gran medida del conferenciante: un buen conferenciante habla de manera muy interesante durante las tres horas.

Conferencia de hidra - un evento más práctico. Serán varias las luminarias de la ciencia que han venido a dar conferencias en la Escuela: desde Leslie Lamport, cuyo trabajo subyace a la teoría misma de los sistemas distribuidos y multiproceso, para Mauricio Herlihy, uno de los autores del famoso libro de texto sobre concurrencia "El arte de la programación multiprocesador". Pero en la conferencia intentaremos hablar sobre cómo se implementan en la realidad ciertos algoritmos, qué problemas enfrentan los ingenieros en la práctica, quién tiene éxito y quién fracasa, por qué algunos algoritmos se utilizan en la práctica y otros no. Y por supuesto, hablemos del futuro del desarrollo de sistemas distribuidos y multiproceso. Es decir, daremos esa vanguardia: de qué está hablando la ciencia mundial ahora, en qué giran los pensamientos de los principales ingenieros y cómo encaja todo.

— Dado que la conferencia es más aplicada, ¿habrá no sólo luminarias académicas, sino también ponentes de “producción”?

- Definitivamente. Estamos tratando de mirar a todos los "grandes": Google, Netflix, Yandex, Odnoklassniki, Facebook. Hay problemas divertidos específicos. Por ejemplo, todo el mundo dice: "Netflix es un sistema distribuido, casi la mitad del tráfico de EE. UU., muy bueno", y cuando empiezas a mirar sus informes, artículos y publicaciones reales, surge una ligera decepción. Porque, aunque esto es ciertamente de clase mundial y hay vanguardia, hay menos de lo que parece a primera vista.

Surge un dilema interesante: puede llamar a representantes de grandes empresas eminentes o puede llamar a alguien que ya conocemos. En realidad, la experiencia existe tanto aquí como allá. Y más bien estamos tratando de sacar no "personas de marcas muy grandes", sino grandes especialistas, personas específicas.

Por ejemplo, estará Martin Kleppmann, que en su momento causó sensación en LinkedIn y también publicó buen libro — quizás uno de los libros básicos en el campo de los sistemas distribuidos.

— Si una persona no trabaja en Netflix, sino en una empresa más sencilla, puede preguntarse: "¿Debería ir a una conferencia así, o hay todo tipo de Netflixes hablando entre sí, pero yo no tengo nada que hacer?"

— Diré esto: cuando trabajé en Oracle durante poco más de tres años, escuché las cosas más sorprendentes e interesantes en la cocina y en las salas de fumadores, cuando los colegas se reunían allí para hacer ciertas partes de la plataforma Java. Podrían ser personas de la máquina virtual, del departamento de pruebas o de la concurrencia de rendimiento, por ejemplo, Lyosha Shipilev y Seryozha Kuksenko.

Cuando empezaban a discutir algo entre ellos, normalmente yo simplemente los escuchaba con la boca abierta. Para mí fueron cosas sorprendentes e inesperadas en las que ni siquiera había pensado. Naturalmente, al principio no entendí el 90% de lo que hablaban. Entonces el 80% se volvió incomprensible. Y después de hacer mi tarea y leer algunos libros, este número cayó al 70%. Todavía no entiendo mucho de lo que hablan entre ellos. Pero mientras me sentaba en un rincón con una taza de café y escuchaba a escondidas, comencé a comprender un poco lo que estaba pasando.

Por tanto, cuando Google, Netflix, LinkedIn, Odnoklassniki y Yandex hablan entre sí, no significa que sea algo incomprensible y poco interesante. Al contrario, debemos escuchar con atención, porque ese es nuestro futuro.

Por supuesto, hay gente que no necesita todo esto. Si no quieres desarrollarte en este tema, no necesitas ir a esta conferencia, simplemente perderás el tiempo allí. Pero si el tema es interesante, pero no entiendes nada o simplemente lo estás mirando, entonces deberías venir, porque no encontrarás nada parecido en ningún lado. Además, creo que no sólo en Rusia, sino también en el mundo. Estamos tratando de organizar una conferencia que no sólo sea la líder en este tema en Rusia, sino en general la número uno en el mundo.

Esta no es la tarea más fácil, pero cuando tenemos una oportunidad tan increíble de reunir oradores destacados de todo el mundo, estoy dispuesto a dar mucho para que esto suceda. Por supuesto, algunos de los que invitamos a la primera Hydra no podrán venir. Pero diré esto: nunca habíamos iniciado una nueva conferencia con una programación tan poderosa. Excepto, quizás, el primer JPoint de hace seis años.

— Me gustaría ampliar las palabras “este es nuestro futuro”: ¿el tema afectará más adelante a quienes no piensan en él hoy?

- Sí, estoy seguro. Por tanto, me parece muy acertado empezar a discutirlo lo antes posible. Por ejemplo, la teoría del subproceso múltiple apareció hace bastante tiempo (en los años 70, el trabajo ya se estaba publicando en pleno apogeo), pero durante mucho tiempo fueron especialistas limitados, hasta que apareció la primera computadora de doble núcleo para el usuario. a principios de la década de 10. Y ahora todos tenemos servidores multinúcleo, computadoras portátiles e incluso teléfonos, y esto es lo común. Fueron necesarios unos diez años para que esto se generalizara y para que la gente comprendiera que este discurso no es competencia de un círculo reducido de especialistas.

Y ahora estamos viendo aproximadamente lo mismo con los sistemas distribuidos. Porque las soluciones básicas como la distribución de carga, la tolerancia a fallas y similares se han implementado durante bastante tiempo, pero muy pocas personas saben qué es, por ejemplo, el consenso distribuido o Paxos.

Uno de los objetivos más importantes que me propuse para este evento es sumergir cada vez más a los ingenieros en esta discusión. Es necesario comprender que en las conferencias no sólo se discuten algunos temas y soluciones, sino que también surge un tesauro: un aparato conceptual unificado.

Considero que mi tarea es crear una plataforma donde todos puedan discutir todo esto, compartir experiencias y opiniones. Para que usted y yo tengamos un entendimiento común de lo que hace un algoritmo, lo que hace otro, cuál es mejor en qué condiciones, cómo se relacionan entre sí, etc.

Algo muy interesante está relacionado con el mismo subproceso múltiple. Cuando nuestros amigos de Oracle (principalmente Lesha Shipilev y Sergey Kuksenko) comenzaron a hablar activamente sobre el rendimiento y, en particular, sobre subprocesos múltiples, literalmente dos o tres años después, estas preguntas comenzaron a plantearse en entrevistas en empresas, la gente comenzó a discutirlo en habitaciones para fumadores. Es decir, algo que era propiedad de especialistas limitados de repente se convirtió en algo común.

Y esto es muy correcto. Me parece que ayudamos a estos chicos a popularizar todo este tema, que es realmente importante, útil e interesante. Si antes nadie pensaba en cómo un servidor Java procesa solicitudes en paralelo, ahora la gente comprende al menos hasta cierto punto cómo funciona todo. Y eso es genial.

La tarea que veo ahora es hacer aproximadamente lo mismo con los sistemas distribuidos. Para que todos entiendan a grandes rasgos qué es, de dónde viene, qué tareas y problemas existen, para que esto también se convierta en algo común.

Las empresas tienen una gran demanda de personas que entiendan algo sobre esto, y esas personas son pocas. Cuanto más creamos en torno a este contenido y la oportunidad de aprender de él, cuanto más le damos a la gente oportunidades para hacer preguntas que están en el aire, más probabilidades tendremos de avanzar de alguna manera en esta dirección.

Prehistoria

— La conferencia se celebra por primera vez, pero no es la primera vez en la escuela. ¿Cómo surgió y se desarrolló todo esto?

- Esta es una historia interesante. Hace dos años, en mayo de 2017, nos sentamos en Kiev con Nikita Koval (ndkoval), un experto en el campo de subprocesos múltiples. Y me dijo que se celebraría en San Petersburgo. “Escuela de Verano en práctica y teoría de la computación concurrente”.

El tema de la programación multiproceso ha sido increíblemente interesante en los últimos tres años de mi carrera de ingeniería. Y luego resultó que en verano vienen a San Petersburgo personajes muy, muy famosos, los mismos Maurice Herlihy y Nir Shavit, según libro de texto que estudié. Y muchos de mis amigos tuvieron algo que ver con esto, por ejemplo, Roma Elizarov (elizarov). Me di cuenta de que simplemente no podía perderme un evento así.

Cuando quedó claro que el programa de la escuela para 2017 sería fantástico, surgió la idea de que las conferencias deberían grabarse en vídeo. Nosotros en JUG.ru Group teníamos un conocimiento completo de cómo se debían grabar dichas conferencias. Y encajamos en SPTCC como los chicos que hicieron un vídeo para la escuela. Como resultado, todas las conferencias escolares. mentir en nuestro canal de YouTube.

Comencé a comunicarme con Pyotr Kuznetsov, que era el principal ideólogo y organizador de esta escuela, y con Vitaly Aksenov, que ayudó a organizar todo esto en San Petersburgo. Me di cuenta de que esto es increíblemente genial e interesante y, probablemente, es muy malo que sólo 100 participantes puedan tocar la belleza.

Cuando Peter pensó que necesitaba comenzar la escuela nuevamente (en 2018 no había energía ni tiempo, así que decidió hacerlo en 2019), quedó claro que podíamos ayudarlo simplemente quitándole todas las cosas organizativas. Esto es lo que está sucediendo ahora, Peter se ocupa del contenido y nosotros hacemos todo lo demás. Y este parece ser el esquema correcto: Peter probablemente esté más interesado en el programa que en “dónde y cuándo almorzarán todos”. Y somos buenos trabajando con salas, lugares, etc.

Esta vez, en lugar de SPTCC, la escuela se llama SPTDC, no “computación concurrente”, sino “computación distribuida”. En consecuencia, esta es aproximadamente la diferencia: la última vez en la escuela no hablaron de sistemas distribuidos, pero esta vez hablaremos activamente de ellos.

— Dado que la escuela no se celebra por primera vez, ya podemos sacar algunas conclusiones del pasado. ¿Qué pasó la última vez?

— Cuando se creó la primera escuela hace dos años, se esperaba que hubiera un evento académico, principalmente de interés para los estudiantes. Además, estudiantes de todo el mundo, porque la escuela sólo es en inglés, y se pensaba que vendría un número importante de estudiantes extranjeros.

De hecho, resultó que muchos ingenieros procedían de grandes empresas rusas como Yandex. Estaba Andrey Pangin (apagones) de Odnoklassniki, había chicos de JetBrains que están trabajando activamente en este tema. En general, allí se encontraban muchas caras conocidas de nuestras empresas asociadas. No me sorprende en absoluto, entiendo perfectamente por qué vinieron allí.

En realidad, los organizadores tenían expectativas de que habría gente académica en la escuela, pero de repente vino gente de la industria y entonces me quedó claro que había demanda en la industria.

Si un evento que apenas ha sido promocionado en ningún lado, con el primer clic de un dedo reúne a una audiencia de adultos, significa que realmente hay interés. Me parece que hace tiempo que se debe presentar una solicitud sobre este tema.

“La solicitud está atrasada”: Alexey Fedorov sobre una nueva conferencia sobre sistemas distribuidos
Maurice Herlihy en la reunión de JUG.ru

— Además de la escuela, Maurice Herlihy habló en San Petersburgo en la reunión de JUG.ru en 2017, habiendo dicho sobre memoria transaccional, y esto se acerca un poco más al formato de conferencia. ¿Quién vino entonces? ¿Las mismas personas que suelen venir a las reuniones de JUG.ru o una audiencia diferente?

— Fue interesante porque entendimos que Maurice tendría un informe general, no específico de Java, e hicimos un anuncio un poco más amplio de lo que solemos hacer para nuestros suscriptores de noticias JUG.

Mucha gente que conozco proviene de comunidades que no se ocupan en absoluto de Java: del grupo .NET, del grupo JavaScript. Porque el tema de la memoria transaccional no se relaciona con una tecnología de desarrollo específica. Cuando un especialista de talla mundial viene a hablar de memoria transaccional, perder la oportunidad de escuchar a esa persona y hacerle preguntas es simplemente un crimen. Simplemente causa una poderosa impresión cuando la persona cuyo libro estás estudiando se acerca a ti y te dice algo. Simplemente fantastico.

— ¿Y cuál fue la respuesta? ¿Era el enfoque demasiado académico e incomprensible para los profesionales del sector?

— Las críticas al informe de Herlihy fueron buenas. La gente escribió que afirmó de manera muy simple y clara lo que no se esperaba de un profesor académico. Pero debemos entender que lo invitamos por una razón: es un especialista de fama mundial con una amplia experiencia en oratoria y una gran cantidad de libros y artículos. Y, probablemente, se hizo famoso en muchos sentidos gracias a su capacidad para transmitir material a la gente. Por tanto, esto no es sorprendente.

Habla un inglés normal y comprensible y, por supuesto, comprende perfectamente de lo que habla. Es decir, puedes hacerle absolutamente cualquier pregunta. Básicamente, la gente se quejaba de que le habíamos dado a Maurice muy poco tiempo para su informe: dos horas no son suficientes para tal cosa, se necesitan al menos dos más. Bueno, logramos hacer lo que logramos en dos horas.

Motivación

— Normalmente el grupo JUG.ru se ocupa de eventos de gran escala, pero este tema parece más especializado. ¿Por qué decidiste asumirlo? ¿Existe la voluntad de celebrar un evento más pequeño o pueden reunirse muchos espectadores para tratar un tema así?

— De hecho, cuando se celebra un evento y se establece un cierto nivel de discusión, siempre surge la pregunta de hasta qué punto está extendida esta discusión. ¿Cuántas personas (diez, cien o mil) están interesadas en esto? Existe un equilibrio entre masa y profundidad. Esta es una pregunta completamente normal y cada uno la resuelve de forma diferente.

En este caso, quiero hacer el evento “para mí”. Todavía entiendo algo sobre subprocesos múltiples (di conferencias sobre este tema en conferencias y les dije algo a los estudiantes varias veces), pero soy un novato en lo que respecta a sistemas distribuidos: leí algunos artículos y vi varias conferencias, pero no incluso un solo libro completo lo lee.

Contamos con un comité de programa formado por expertos en la materia que pueden evaluar la exactitud de los informes. Y por mi parte, estoy tratando de que este evento sea uno al que a mí, con mi falta de experiencia, me gustaría asistir. No sé si será posible interesar al público en general. Probablemente esta no sea la tarea más importante de este evento en esta etapa. Ahora es más importante crear el programa más sólido en poco tiempo.

Probablemente, ahora le he asignado al equipo no la tarea de "reunir a mil personas la primera vez", sino "hacer que la conferencia surja". Puede que esto no suene muy profesional y algo ingenuo, aunque no soy altruista en absoluto. Pero a veces puedo permitirme algunas libertades.

Hay cosas más importantes que el dinero y más allá del dinero. Ya realizamos una gran cantidad de eventos interesantes a gran escala para mil personas o más. Nuestras conferencias de Java han superado durante mucho tiempo las mil personas y ahora otros eventos están saltando este listón. Es decir, la cuestión de que nos hemos convertido en organizadores experimentados y famosos ya no vale la pena. Y, probablemente, lo que ganamos con estos eventos nos da la oportunidad de reinvertir en lo que nos interesa a nosotros y, en este caso, a mí personalmente.

Al realizar este evento, voy en contra de algunos de los principios de nuestra organización. Por ejemplo, normalmente intentamos preparar las conferencias con mucha antelación, pero ahora tenemos plazos muy ajustados y finalizamos el programa apenas un mes antes del evento en sí.

Y este evento será 70-80% en inglés. Aquí también siempre surge una discusión sobre si debemos estar más cerca de la gente (que entiende mejor cuando la mayoría de los informes están en ruso) o del mundo entero (porque el mundo técnico es de habla inglesa). Normalmente intentamos hacer muchos reportajes en ruso. Pero no en este momento.

Además, también pediremos a algunos de nuestros hablantes de ruso que hablen en inglés. Esto es, en cierto sentido, un enfoque absolutamente antiusuario e inhumano. Pero debemos entender que actualmente no existe literatura en ruso sobre este tema, y ​​cualquier persona que esté interesada en esto se ve obligada a leer en inglés. Esto significa que de alguna manera es capaz de entender inglés. Si en el caso de JavaScript, Java o .NET hay muchas personas que no saben muy bien inglés, pero al mismo tiempo saben programar bien, entonces, probablemente, los sistemas distribuidos son un área en la que simplemente no hay otra. manera de aprender ahora.

Tengo muchas ganas de realizar este experimento: cómo percibirá el público en Rusia un evento en inglés en un 70-80%. ¿Entrará o no? No lo sabemos de antemano porque nunca lo hemos hecho. ¿Pero por qué no hacerlo? Digamos que este es un gran experimento que no puedo evitar intentar.

El programa escolar del SPTDC ya está publicado por por completo, y en el caso de Hydra ya conocido una parte destacable, y pronto publicaremos un análisis de todo el programa de la conferencia.

Fuente: habr.com

Añadir un comentario