"La solicitud ha madurado": Alexei Fedorov sobre una nueva conferencia sobre sistemas distribuidos



Recientemente, se anunciaron dos eventos a la vez sobre el desarrollo de sistemas multiproceso y distribuidos: la conferencia Hydra (11-12 de julio) y la escuela SPTDC (8-12 de julio). Las personas cercanas a este tema entienden que la llegada a Rusia de Leslie Lamport , Maurice Herliha y Michael Scott es un evento importante. Pero surgieron otras preguntas:

  • ¿Qué esperar de la conferencia: "académico" o "producción"?
  • ¿Cómo se comparan las escuelas y las conferencias? ¿Para quién está diseñado?
  • ¿Por qué se cruzan en las fechas?
  • ¿Serán útiles para aquellos que no han dedicado toda su vida a los sistemas distribuidos?

Todo esto es bien conocido por la persona gracias a quien apareció Hydra: a nuestro director Alexei Fedorov ( 23derevo ). Él respondió a todas las preguntas.

Formato


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

- El desafío global es que hay servicios a nuestro alrededor con grandes volúmenes de operaciones y tareas computacionales complejas que no se pueden hacer en una computadora. Entonces, debería haber varios autos. Y luego surgen preguntas sobre cómo sincronizar correctamente su trabajo y qué hacer en condiciones de no la más alta confiabilidad (porque el equipo se descompone y la red se cae).

Cuantos más autos, más puntos de falla. ¿Qué pasa si diferentes máquinas producen resultados diferentes para los mismos cálculos? ¿Qué hacer si durante algún tiempo la red ha desaparecido y algunos de los cálculos quedan aislados? ¿Cómo se puede combinar todo esto? En total, un millón de problemas relacionados. Nuevas soluciones, nuevos problemas.

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

- Me gustaría entender que hay una conferencia y hay una escuela de verano. ¿Cómo se comparan? Si se hace un descuento por asistir a una conferencia para los participantes de la escuela, ¿por qué se cruzan de acuerdo con las fechas, para que no pueda visitar todo sin perder de una vez?

- Una escuela es un evento de cámara para 100-150 personas, donde expertos líderes de todo el mundo vienen y dan conferencias durante cinco días. Y surge una situación cuando las luminarias de clase mundial se reúnen en San Petersburgo durante cinco días, listas para contar algo. Y en este caso, la decisión sugiere organizar no solo una escuela de cámara, sino también una conferencia más grande.

Dicha escuela solo se puede realizar en el verano, en julio, porque entre estos especialistas hay profesores universitarios activos, y simplemente no están listos en otros momentos: tienen estudiantes, diplomas, conferencias, etc. El formato de la escuela es de cinco días de la semana. Se sabe que en el verano los fines de semana a la gente le gusta ir a algún lado. Esto significa que no podemos hacer una conferencia el fin de semana antes de la escuela, o el fin de semana después de la escuela.

Y si todavía se extiende por un par de días antes o después del fin de semana, entonces mágicamente los cinco días que los especialistas permanecen en San Petersburgo se convierten en nueve. Y no están listos para esto.

Por lo tanto, la única solución que encontramos fue simplemente celebrar una conferencia paralela a la escuela. Sí, esto causa algunos problemas. Hay personas que quieren asistir a la escuela y a la conferencia, y tendrán que saltarse parte de las conferencias aquí o allá. La buena noticia es que todo esto tendrá lugar en los pasillos vecinos, puede correr de un lado a otro. Y un lado bueno más es la disponibilidad de videos en los que luego puedes ver tranquilamente lo que te perdiste.

- Cuando dos eventos se llevan a cabo en paralelo, las personas tienen la pregunta "¿cuál necesito?" ¿Qué 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. Quien se dedicaba a la ciencia y tenía algo que ver con la escuela de posgrado, representa lo que es una escuela académica.



Típicamente, tales eventos académicos no están bien organizados debido a la falta de experiencia en eventos en las personas que hacen esto. Pero todavía tenemos mucha experiencia, por lo que podemos hacer todo de manera bastante competente. Creo que desde el punto de vista de la organización, el SPTDC estará por encima de cualquier escuela científica o práctica que hayas visto.

La escuela SPTDC es un formato en el que cada gran conferencia se imparte en dos pares: "una hora y media, un descanso, una hora y media". Debe entenderse que por primera vez puede ser difícil para el participante: cuando esta escuela se celebró por primera vez hace dos años, yo mismo era inusual, apagué varias veces en medio de una doble conferencia, y luego fue difícil entender lo que estaba sucediendo. Pero depende mucho del profesor: un buen profesor habla de manera muy interesante durante tres horas.

La Conferencia Hydra es un evento más aplicado. Habrá varias luminarias de la ciencia que vinieron a dar conferencias en la Escuela: desde Leslie Lamport , cuyo trabajo subyace en la teoría de sistemas multiproceso y distribuidos, hasta Maurice Herlichi , uno de los autores del famoso libro de texto de concurrencia "El arte de la programación multiprocesador". Pero en la conferencia trataremos de hablar sobre cómo estos o esos algoritmos se realizan en realidad, qué problemas enfrentan los ingenieros en la práctica, quién obtiene lo que sucede y no funciona, por qué algunos algoritmos se aplican en la práctica y otros no. Y, por supuesto, hablemos sobre el desarrollo futuro de sistemas multiproceso y distribuidos. Es decir, daremos una vanguardia: de qué está hablando la ciencia mundial ahora, en torno a la cual giran los pensamientos de los principales ingenieros, y cómo encaja todo.

- Dado que la conferencia es más aplicada, ¿habrá no solo luminarias académicas, sino también oradores "de producción"?

- Definitivamente Estamos tratando de ver todos los "grandes": Google, Netflix, Yandex, Odnoklassniki, Facebook. Hay problemas divertidos específicos. Por ejemplo, todos dicen: "Netflix es un sistema distribuido, casi la mitad del tráfico de EE. UU. Es muy bueno", y cuando comienzas a mirar sus informes, artículos y publicaciones reales, hay una ligera decepción. Porque, aunque ciertamente es un nivel de clase mundial y hay un egde de corte, está menos allí de lo que parece a primera vista.

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

Por ejemplo, habrá Martin Kleppman, que una vez hizo ruido en LinkedIn, y también lanzó un buen libro , quizás uno de los libros básicos en el campo de los sistemas distribuidos.

- Si una persona no trabaja en Netflix, pero en una empresa es más fácil, puede pensar: "¿Debo ir a una conferencia de este tipo, o hay alguna netflix hablando entre sí, pero no tengo nada que hacer?"

- Diré esto: cuando trabajé con Oracle durante más de tres años, escuché las cosas más sorprendentes e interesantes en la cocina y en las salas de fumadores cuando mis colegas se reunieron allí, haciendo ciertas piezas de la plataforma Java. Podrían ser personas de una máquina virtual, o del departamento de pruebas, o de concurrencia de desempeño, por ejemplo, Lesha Shipilev y Seryozha Kuksenko.

Cuando comenzaron a discutir algo entre ellos, generalmente solo escuchaba con la boca abierta. Para mí, estas fueron cosas sorprendentes e inesperadas en las que ni siquiera pensé. Naturalmente, al principio no entendía el 90% de lo que estaban hablando. Luego se volvió incomprensible el 80%. Y después de hacer mi tarea y leer varios libros, este número se redujo al 70%. Todavía no entiendo mucho de lo que están hablando entre ellos. Pero, sentado en la esquina con una taza de café y escuchando a escondidas, comencé a entender un poco lo que estaba sucediendo.

Por lo tanto, cuando Google, Netflix, LinkedIn, Classmates y Yandex están hablando entre sí, esto no significa que sea algo incomprensible y poco interesante. Por el contrario, debemos escuchar con atención, porque este es nuestro futuro.

Por supuesto, hay personas que no necesitan todo esto. Si no desea desarrollar este tema, no tiene que ir a esta conferencia, simplemente perderá tiempo allí. Pero si el tema es interesante, pero no comprende nada en él, o simplemente mira de cerca, significa que tiene que venir, porque no encontrará nada parecido en ningún otro lado. Y creo que no solo en Rusia, sino también en el mundo. Estamos tratando de hacer una conferencia que no solo sea un líder en este tema en Rusia, sino que generalmente sea la número uno en el mundo.

Esta no es una tarea fácil, pero cuando tenemos una gran oportunidad de reunir oradores fuertes de todo el mundo, estoy listo para dar mucho para que esto suceda. Por supuesto, algunos de los que llamamos para la primera Hydra no podrán venir. Pero diré esto: nunca comenzamos una nueva conferencia con una lista tan poderosa. Excepto, quizás, el primer JPoint hace seis años.

- Quiero desarrollar las palabras "este es nuestro futuro": ¿el tema tocará más tarde a aquellos que no piensan en ello hoy?

"Sí, estoy seguro de eso". Por lo tanto, me parece muy correcto comenzar a discutirlo lo más rápido posible. Por ejemplo, la teoría del subprocesamiento múltiple apareció hace bastante tiempo (en los años 70, el trabajo ya estaba en su apogeo), pero durante mucho tiempo fueron muchos especialistas, hasta que apareció la primera computadora de doble núcleo de usuario a principios de la década de 2000. Y ahora todos tenemos servidores de múltiples núcleos, computadoras portátiles e incluso teléfonos, y esta es la corriente principal. Tomó alrededor de 10 años para que esto se generalizara, para que la gente entendiera que este discurso no es un grupo reducido de especialistas.

Y casi lo mismo que ahora estamos viendo con los sistemas distribuidos. Debido a que las decisiones básicas como el equilibrio de carga, proporcionar tolerancia a fallas y similares se han tomado durante mucho tiempo, pero muy pocas personas saben qué, por ejemplo, consenso distribuido o Paxos.

Una de las tareas más importantes que establecí para este evento es sumergir a los ingenieros cada vez más en esta discusión. Debe entenderse que en las conferencias no solo se discuten algunos temas y soluciones, sino que también surge un tesauro: un solo aparato conceptual.

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

Una cosa muy interesante está relacionada con el mismo subprocesamiento múltiple. Cuando nuestros amigos de Oracle (en primer lugar, Lyosha Shipilev y Sergey Kuksenko) comenzaron a hablar activamente sobre el rendimiento y, en particular, sobre el subprocesamiento múltiple, literalmente después de dos o tres años, estas preguntas comenzaron a hacerse en entrevistas en empresas, la gente comenzó a discutir esto en las habitaciones para fumadores. Es decir, lo que era la gran cantidad de especialistas limitados, de repente se convirtió en corriente principal.

Y es muy correcto. Me parece que ayudamos a estos muchachos a popularizar todo este tema, que es realmente importante, útil e interesante. Si nadie había pensado alguna vez en cómo un servidor Java maneja las solicitudes en paralelo, ahora las personas tienen, al menos en algún nivel, una comprensión de cómo funciona todo esto. Y esto es maravilloso.

La tarea que veo ahora es casi lo mismo que hacer con los sistemas distribuidos. Para que todos entiendan aproximadamente qué es, de dónde crecen las piernas, qué tareas y problemas hay, para que esto también se convierta en la corriente principal.

Las empresas tienen una gran demanda de personas que entiendan algo sobre esto, pero hay pocas de esas personas. Cuanto más creamos en torno a este contenido y la oportunidad de aprenderlo, más le damos a las personas la oportunidad de hacer preguntas que están en el aire, más posibilidades tenemos de avanzar en esta dirección.

Antecedentes


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

- Esta es una historia interesante. Hace dos años, en mayo de 2017, estábamos en Kiev con Nikita Kovale ( ndkoval ), especialista en subprocesos múltiples . Y me dijo que la Escuela de Verano en práctica y teoría de la computación concurrente se llevará a cabo en San Petersburgo.

El tema de la programación multiproceso en los últimos tres años de mi carrera de ingeniería ha sido fantásticamente interesante. Y luego resultó que personas muy, muy famosas vienen a San Petersburgo en el verano, los mismos Maurice Herlihi y Nir Shavit, cuyo libro de texto estudié. Y muchos de mis amigos se relacionaron con esto, por ejemplo, Roma Elizarov ( elizarov ). Me di cuenta de que no puedo perderme tal evento.

Cuando quedó claro que el programa escolar de 2017 será genial, surgió la idea de que las conferencias se deben grabar en video. En JUG.ru Group, teníamos una comprensión completa de cómo deberían grabarse tales conferencias. Y encajamos en el SPTCC como los chicos que hicieron el video para la escuela. Como resultado, todas las conferencias de la escuela están en nuestro canal de YouTube.

Comencé a comunicarme con Peter Kuznetsov, quien era el principal ideólogo y organizador de esta escuela, y con Vitaly Aksyonov, quien ayudó organizativamente a hacer todo esto en San Petersburgo. Me di cuenta de que es fantásticamente saludable e interesante y, probablemente, muy malo, que solo 100 participantes pueden tocar lo hermoso.

Cuando Peter pensó en la necesidad de volver a la escuela (en 2018 no hubo tiempo ni esfuerzo, por lo que decidió hacerlo en 2019), quedó claro que podemos ayudarlo simplemente eliminando todas las cosas organizativas de él. Y así es ahora, Peter está involucrado en el contenido, y todos somos el resto. Y este parece ser el esquema correcto: Peter probablemente esté más interesado en el programa que "dónde y cuándo almorzarán todos". Y somos buenos trabajando con pasillos, lugares, etc.

Esta vez, en lugar de SPTCC, la escuela se llama SPTDC, no "computación concurrente", sino "computación distribuida". En consecuencia, la diferencia es acerca de esto: la última vez que la escuela no habló sobre sistemas distribuidos, pero sobre esto hablaremos activamente sobre ellos.

- Como la escuela no es la primera vez, ya es posible sacar algunas conclusiones del pasado. ¿Qué pasó la vez anterior?

- Cuando se creó la primera escuela hace dos años, se esperaba que hubiera un evento académico, principalmente interesante para los estudiantes. Además, estudiantes de todo el mundo, porque la escuela solo está en inglés, y se pensó que vendría un número significativo de estudiantes extranjeros.

De hecho, resultó que muchos ingenieros provenían de grandes compañías rusas como el mismo Yandex. Estaba Andrei Pangin ( apangin ) de Odnoklassniki, había muchachos de JetBrains que participan activamente en este tema. En general, había muchas caras conocidas de nuestras empresas asociadas. No estoy para nada sorprendido, entiendo perfectamente por qué vinieron allí.

En realidad, los organizadores tenían la expectativa de que habría académicos en la escuela, y de repente vinieron personas de la industria, y luego me di cuenta de que había una demanda en la industria.

Si el evento, que casi nunca se promocionó en ningún lado, la primera vez que un clic de los dedos reunió a una audiencia de adultos, entonces, de hecho, hay interés. Me parece que una solicitud sobre este tema ha madurado.


Maurice Herlichi en la reunión de JUG.ru

- Además de la escuela, Maurice Herlichi habló en la reunión de JUG.ru en San Petersburgo en 2017, hablando sobre la memoria transaccional, y esto está un poco más cerca del formato de la conferencia. ¿Quién vino entonces, las mismas personas que suelen venir a las reuniones de JUG.ru u otra audiencia?

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

Mucha gente que conocía provenía de comunidades que no hablaban de Java en absoluto: del hangout de .NET, del hangout de JavaScript. Porque el tema de la memoria transaccional no es una tecnología de desarrollo específica. Cuando llega un especialista de clase mundial para hablar sobre la memoria transaccional, perder la oportunidad de escuchar a esa persona y hacerle preguntas es simplemente un delito. Simplemente da una impresión poderosa cuando la persona cuyo libro estás estudiando viene a ti y te dice algo. Simplemente fantástico

- ¿Y cuál fue la retroalimentación basada en los resultados? ¿Fue el enfoque demasiado académico e incomprensible para la gente de la industria?

"Las críticas sobre el informe de Herlich fueron buenas". La gente escribió que él establece de manera muy simple y clara lo que no se esperaba de un profesor académico. Pero debemos entender que no solo lo llamamos, este es un especialista de fama mundial con una amplia experiencia en hablar y con antecedentes de una pila de libros y artículos. Y, probablemente, se hizo famoso en muchos aspectos debido a su capacidad para transmitir material a las personas. Por lo tanto, esto no es sorprendente.

Tiene un inglés normal y comprensible y, por supuesto, sabe mucho de lo que está hablando. Es decir, se le puede hacer absolutamente cualquier pregunta. Básicamente, la gente se quejó de que le dimos a Maurice muy poco tiempo para el informe: dos horas para esto no es suficiente, necesitamos al menos dos más. Bueno, eso lo lograron en dos horas, luego lo lograron.

Motivación


- Por lo general, el Grupo JUG.ru participa en eventos a gran escala, y este tema parece más especializado. ¿Por qué se decidió tomarlo? ¿Existe la voluntad de celebrar un evento más pequeño o pueden reunirse muchos espectadores sobre este tema?

- De hecho, cuando haces algún tipo de evento y preguntas un cierto nivel de discusión, siempre surge la pregunta de cuán masiva es esta discusión. Cuántas personas, diez, cien o mil, son interesantes. Hay una compensación entre masa y profundidad. Esta es una pregunta completamente normal, y todos lo deciden de manera diferente.

En este caso, quiero hacer el evento "para mí". En multihilo, todavía entiendo algo (en conferencias di conferencias sobre este tema, les dije a los estudiantes algo varias veces), pero en sistemas distribuidos soy un laico: leí algunos artículos y vi varias conferencias, pero ni siquiera tengo un libro completo Léelo.

Tenemos un comité de programa compuesto por expertos en este campo y capaces de evaluar la precisión de los informes. Y por mi parte, estoy tratando de hacer este evento de tal manera que me gustaría ir a mí mismo con mi falta de experiencia. Resultará interesar a la audiencia masiva, no lo sé. Probablemente, en esta etapa, esta no es la tarea principal de este evento. Ahora es más importante formar el programa más poderoso en poco tiempo.

, « », «, ». - , . .

. . Java- , . , , . , , , , , , — .

, . , , , .

70-80% . , ( , ) ( ). . .

, -. . , , , , -. , - . JavaScript, Java .NET , , , , , — , - .

: 70–80% . ? , . ? : , .

SPTDC , Hydra , .

Source: https://habr.com/ru/post/453952/


All Articles